06-10-2016, 08:32 AM
Zeljo,
4-bitna magistra LCD-a (na LCD-u mora da se koristi gornji nibble DB4-DB7, dok se donji nibble povezuje na GND ili VCC, to pise u DS od LCD-a). Bilo bi nalbolje da moze da se poveze u nizu, zbog lakseg pisanja programa. Ovde imas malo egzibicija tipa:
unsigned char LCD_Data; // Podatak za ispis na LCD
void Send_Byte_To_LCD(unsigned char LCD_Data)
{ if(LCD_Data & 0x80){PORTD.B2 = 1;}
else {PORTD.B2 = 0;}
if(LCD_Data & 0x40){PORTD.B1 = 1;}
else {PORTD.B1 = 0;}
if(LCD_Data & 0x20){PORTC.B2 = 1;}
else {PORTC.B2 = 0;}
if(LCD_Data & 0x10){PORTC.B1 = 1;}
else {PORTC.B1 = 0;}
// Sada ide sekvenca sa RS i EN i odgovarajucim tajminzima i onda se gornji deo koda kopira, samo se ispituje donji nibble
}
Pozdrav
4-bitna magistra LCD-a (na LCD-u mora da se koristi gornji nibble DB4-DB7, dok se donji nibble povezuje na GND ili VCC, to pise u DS od LCD-a). Bilo bi nalbolje da moze da se poveze u nizu, zbog lakseg pisanja programa. Ovde imas malo egzibicija tipa:
unsigned char LCD_Data; // Podatak za ispis na LCD
void Send_Byte_To_LCD(unsigned char LCD_Data)
{ if(LCD_Data & 0x80){PORTD.B2 = 1;}
else {PORTD.B2 = 0;}
if(LCD_Data & 0x40){PORTD.B1 = 1;}
else {PORTD.B1 = 0;}
if(LCD_Data & 0x20){PORTC.B2 = 1;}
else {PORTC.B2 = 0;}
if(LCD_Data & 0x10){PORTC.B1 = 1;}
else {PORTC.B1 = 0;}
// Sada ide sekvenca sa RS i EN i odgovarajucim tajminzima i onda se gornji deo koda kopira, samo se ispituje donji nibble
}
Pozdrav