24-08-2014, 3:25
To jest dobry model.
W Piligrimie za kierunek przesuwania kursora podczas wysyłania znaku odpowiada komenda o formacie:
(RS = 0; R/W = 0, dane = 000001IS)
określa tryb pracy kursora/okna wyświetlacza :
- dla S = 1 po zapisaniu znaku do wyświetlacza kursor nie zmienia położenia, natomiast przesuwa się cała zawartość wyświetlacza
- dla S = 0 po zapisaniu znaku do wyświetlacza kursor zmienia położenie, a przesuwanie okna jest wyłączone
- dla I = 1 kursor lub okno wyświetlacza przesuwa się w prawo (inkrementacja adresu znaku)
- dla I = 0 kursor lub okno wyświetlacza przesuwa się w lewo (dekrementacja adresu znaku)
jest to: 0000 0110
W wyświetlaczu Witka, w dokumentacji,
rozdzaiał 10. Instruction Table ... trzecia instrukcja od góry...
Entry Mode Set 00000001 I/D S Sets cursor move direction and specifies display shift. (These operations are performed during data write and read.)
z opisu:
5. R/L=Shift Right/Left
- R/L="1": Shift to the Right
- R/L="0": Shift to the Left
6. S/C=Display Shift/Cursor Move
- S/C="1": Display Shift
- S/C="0": Cursor Move
Tak samo !!!
Również instrukcja piąta od góry jest ważna.
(RS = 0, R/W = 0, dane = 0001SRxx)
dla S = 1 - przesuwana jest zawartość okna
dla S = 0 - przesuwany jest kursor
dla R = 1 - kierunek przesuwu w prawo
dla R = 0 - kierunek przesuwu w lewo
Można w kodzie Olega poszukać movlw B'0000 0110' i poeksperymentować, w heksie to będzie ... H'??' :-). Gdyby było kilka miejsc to trzeba trochę zdeasemblować ...
Podobnie z innymi komendami.
Jest jeszcze jeden problem ... adresów początków wiersza górnego i dolnego. w Piligrimie sterownik obsługuje chyba 2x20 a tu 2x40. Wyświetla się 16 ale da się wpisać w ten sam wiersz następne pozycje 17, 18 ... dopiero 21 wskoczy na początek dolnej linii. Trzeba poszukać komendy ustawiające adresy ...
Witku sprawdź jeszcze raz czy w tej kanapce linie nie są pomieszane.
Późno się zrobiło. Do jutra ...
W Piligrimie za kierunek przesuwania kursora podczas wysyłania znaku odpowiada komenda o formacie:
(RS = 0; R/W = 0, dane = 000001IS)
określa tryb pracy kursora/okna wyświetlacza :
- dla S = 1 po zapisaniu znaku do wyświetlacza kursor nie zmienia położenia, natomiast przesuwa się cała zawartość wyświetlacza
- dla S = 0 po zapisaniu znaku do wyświetlacza kursor zmienia położenie, a przesuwanie okna jest wyłączone
- dla I = 1 kursor lub okno wyświetlacza przesuwa się w prawo (inkrementacja adresu znaku)
- dla I = 0 kursor lub okno wyświetlacza przesuwa się w lewo (dekrementacja adresu znaku)
jest to: 0000 0110
W wyświetlaczu Witka, w dokumentacji,
rozdzaiał 10. Instruction Table ... trzecia instrukcja od góry...
Entry Mode Set 00000001 I/D S Sets cursor move direction and specifies display shift. (These operations are performed during data write and read.)
z opisu:
5. R/L=Shift Right/Left
- R/L="1": Shift to the Right
- R/L="0": Shift to the Left
6. S/C=Display Shift/Cursor Move
- S/C="1": Display Shift
- S/C="0": Cursor Move
Tak samo !!!
Również instrukcja piąta od góry jest ważna.
(RS = 0, R/W = 0, dane = 0001SRxx)
dla S = 1 - przesuwana jest zawartość okna
dla S = 0 - przesuwany jest kursor
dla R = 1 - kierunek przesuwu w prawo
dla R = 0 - kierunek przesuwu w lewo
Można w kodzie Olega poszukać movlw B'0000 0110' i poeksperymentować, w heksie to będzie ... H'??' :-). Gdyby było kilka miejsc to trzeba trochę zdeasemblować ...
Podobnie z innymi komendami.
Jest jeszcze jeden problem ... adresów początków wiersza górnego i dolnego. w Piligrimie sterownik obsługuje chyba 2x20 a tu 2x40. Wyświetla się 16 ale da się wpisać w ten sam wiersz następne pozycje 17, 18 ... dopiero 21 wskoczy na początek dolnej linii. Trzeba poszukać komendy ustawiające adresy ...
Witku sprawdź jeszcze raz czy w tej kanapce linie nie są pomieszane.
Późno się zrobiło. Do jutra ...
73 JERZY SQ9RFC

