Sunteți pe pagina 1din 4

Universitatea de Medicină și Farmacie “G.T.

Popa”, Iași

Facultatea de Bioinginerie Medicală

Specializarea Bioinginerie

Disciplina Arhitecturi cu microprocesor

PROIECT

REALIZAT DE: Branea Iulia-Cătălina, Chirilă Andreea, Pălăduță Angela

AN: 2

GRUPA: 3
INTRODUCERE : Acest proiect a constat în programarea unui microcontroller pentru a putea
afișa informații alfanumerice pe un afișor LCD.

CODUL PENTRU PROGRAMAREA MICROCONTROLLER-ULUI:

// LCD module connections

sbit LCD_RS at RB4_bit;

sbit LCD_EN at RB5_bit;

sbit LCD_D4 at RB0_bit;

sbit LCD_D5 at RB1_bit;

sbit LCD_D6 at RB2_bit;

sbit LCD_D7 at RB3_bit;

sbit LCD_RS_Direction at TRISB4_bit;

sbit LCD_EN_Direction at TRISB5_bit;

sbit LCD_D4_Direction at TRISB0_bit;

sbit LCD_D5_Direction at TRISB1_bit;

sbit LCD_D6_Direction at TRISB2_bit;

sbit LCD_D7_Direction at TRISB3_bit; // End LCD module connections

char txt1[] = "Buna Ziua";

char txt2[] = "Acesta este proiectul nostru";

char txt3[] = "Va multumim!";

char i; // Loop variable

void Move_Delay() { // Functie folosita pentru miscare text

Delay_ms(500); // Functie folosita pentru viteza derulare text


}

void main() {

ANSEL = 0; // Configurare pini AN in format digital I/O

ANSELH = 0;

C1ON_bit = 0; // Dezactivare comparatoare

C2ON_bit = 0;

Lcd_Init(); // Initializare LCD

Lcd_Cmd(_LCD_CLEAR); // Stergere afisare LCD

Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor oprit

Lcd_Out(1,1,txt1); // Afisare text pe primul rand

Lcd_Out(2,1,txt2); // Afisare text pe al doilea rand

Delay_ms(3000);

Lcd_Cmd(_LCD_CLEAR);

Lcd_Cmd(_LCD_CURSOR_OFF);

Lcd_Out(1,1,txt3);

Delay_ms(2000);

for(i=0; i<4; i++) { // Miscare text la dreapta de 4 ori

Lcd_Cmd(_LCD_SHIFT_RIGHT);

Move_Delay();

while(1) { // Bucla continua

for(i=0; i<8; i++) { // Miscare text spre stanga de 7 ori


Lcd_Cmd(_LCD_SHIFT_LEFT);

Move_Delay();

for(i=0; i<8; i++) { // Miscare text spre dreapta de 7 ori

Lcd_Cmd(_LCD_SHIFT_RIGHT);

Move_Delay();

S-ar putea să vă placă și