🇩🇪
void LCD_gotoxy(uint8_t spalte, uint8_t zeile)
{
uint8_t Adresse;
akt_pos.spalte_nok = spalte; //hier Spalte gleich merken, wird verändert
akt_pos.zeile = zeile;
letzte_pos.nok =1; //letzte position nicht mehr gültig
// 2: Zeile 0..3
// 3: Spalte 0..39
// Zeile 0: 0x00
// Zeile 1: 0x40
// Zeile 2: 0x00+Zeilenlänge
// Zeile 3: 0x40+Zeilenlänge
if (zeile>1) //Zeile2, 3
{
spalte += 20; //LCD_spalten;
}
Adresse = ((zeile & 0x01) * 0x40) + spalte;
writeLCDCmd(Adresse | 0x80);
wait_1us (25);//_ff testweise org. 25us
}
bcf PORTC, LcdRs; ist nicht unbedingt nötig da schon gelöscht.
movlw adresse; (0x40)
movwf LcdDaten
bsf LCDDaten,7; (0xc0) bit 7 setzen, kann auch mit oder 0x80 gesetzt werden
call OutLcdControl