Witam Mam problem z odczytem bitu zajętności w wyswietlaczu na sterowniku HD44780. Gdy nie kożystam z tej funkcji (odpowiednie czasy opiznien) to wsyztsko dziala... ale chyba za wolno. Podczas pisania na ekranie widac ze literki pojawiaja sie z lewej do prawej, a nie ze pojawiaja sie jednoczesnie na ekranie. Stosuje opoznienie 1 ms przed zapisem kolejnej litery do pamieci ram wyswietlacza. Wiem ze to duzo, ale reszte programu mam dopasowana wlasnie do tego czasu, wiec chyba sprawdzanie bitu zajetosci bylo by dobrym rozwiazaniem.
A obie to tak (dla avar)
(poprzednio port D w stan wyjsciowy ddrd=0b11111111)
cbic portd,4 ; zeruje linie DB4 wyswietlacza (1) cbic portd,5 ; zeruje linie DB6 wyswietlacza (2) cbic portd,6 ; zeruje linie DB6 wyswietlacza (3) cbic portd,7 ; zeruje linie DB7 wyswietlacza (4) nop nop nop cbi ddrd,7 ; pin 7 podtu D jako wejscie (5) sbi portd,7 ; wlaczenie rezystora podciagającego (6) nop nop nop cbic portd,rs ; pin RS wyswietlacza w stan niski (7) sbic portd,rw ; pin RW w stan wysoki (8) nop nop nop wait1: sbic pind,7 ; (9) rjmp wait1 ; (10) nop nop wait2: sbic pind,7 ; (11) jrmp wait2 ; (12)
Niestety to mi nie dziala. Na lini DB7 po wykonaniu "chyba" instrukcji (7) mam caly czas stan wysoki. Jakim cudem???? P.S. To "chyba" dlatego ze wczoraj o 2 w nocy już mi sie literki przed oczami mieniły :)
Prosze o jakies sugestie