Jag kan skriva ut en text på rad ett sen när jag ska byta till rad två och skriva ut en text där så försvinner texten på rad ett.
I detta exemplet är tanken att B skall skrivas på rad ett och C på rad två. Tyvärr kommer bara C ut på rad två.
Kod: Markera allt
main call init ;Initiering PIC
call init_lcd ;Initiering LCD
call to_row_1 ;byter rad till rad 1
movlw 'B'
movwf CHAR
call to_row_2 ;byter rad till rad 2
movlw 'C'
movwf CHAR
call put_data
end_loop goto end_loop
;Byter rad till rad 1
to_row_1 bcf RS ;Anger att det är en instruktion
movlw 0x80 ;Adress till första platsen på 1:a raden
movwf CHAR
call put_data
bsf RS
return
;Byter rad till rad 2
to_row_2 bcf RS ;Anger att det är en instruktion
movlw 0xC0 ;Adress till första platsen på 2:a raden
movwf CHAR
call put_data
bsf RS
return
Tog inte med subrutinen put_data men det den gör är att skicka data (det värde som ligger i CHAR) till LCD:n och ge Dataöverföringspuls.