Zeichen
Manchmal braucht man Zeichen, wie helle Kästen o.a.. Im Lüfter Multiple soll die Anzeige die Stellung eines Wertes
simulieren. Also eine Art Schieberegler.
Für den "Schieberegler" habe ich die Nummer 165 (kleines gefülltes Quadrat) verwendet. Es passten auch die
219 = offenes Viereck und die 255 = ganzes Feld dicht. Die ersten 15 Ziffern, also 0..15, markieren vier Querstriche.
C
void
LCD_Strobe(
void
)
{
// Bei Problemen ggf. Pause gemäß Datenblatt des LCD Controllers einfügen
//Entprell(LCDDelayStrobe);
PortLCDRsEn |= (1<<LCD_EN);
Entprell(LCDDelayStrobe); // kurze Pause
// Bei Problemen ggf. Pause gemäß Datenblatt des LCD Controllers verlängern
PortLCDRsEn &= ~(1<<LCD_EN);
//Entprell(LCDDelayStrobe);
}
// sendet ein Datenbyte an das LCD
void
DatenRaus
uint8_t
a)
{
PortLCDData &= 0x0F;
// Löschen 0x0F = 0000 1111
PortLCDData |= (a & 0xF0);
// Setzen 1111 0000 und a = 1011 0010 = 1011 0000
LCD_Strobe();
// 2. Hälfte des Bytes
PortLCDData &= 0x0F;
// Löschen
PortLCDData |= (a<<4);
// setzen
LCD_Strobe();
Entprell(LCDDelay);
}
void
LCD_TxData(
uint8_t
a)
{
PortLCDRsEn |= (1<<LCD_RS);
// RS auf 1 setzen
DatenRaus(a);
}
void
LCD_Command(
uint8_t
a)
{
PortLCDRsEn &= ~(1<<LCD_RS);
// RS auf 0 setzen
DatenRaus(a);
}