Odczytywanie busy flag z wyswietlacza HD44780

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
y0yster
-
Posty: 15
Rejestracja: 04 lut 2007, 14:17
Lokalizacja: Nysa
Kontakt:

Odczytywanie busy flag z wyswietlacza HD44780

Post autor: y0yster » 23 cze 2007, 17:05

Witam.

Od niedawna zacząłem się bawić wyświetlaczem lcd, na standardowym sterowniku jaki jest wymieniony w temacie postu. Do tej pory wykorzystywałem opóźnienia aby komunikować się z ekranikiem i wysyłać do niego polecenia oraz dane. Postanowiłem przesiąść się jednak na odczytywanie flagi zajętości. W tym momencie pojawiły się schody. Kiedy podłączam zasilanie na wyświetlaczu jest tylko zczarniały górny pasek (używam lcd 2x16).

Nie wiem co teraz mam zrobić procedura odczytu wydaje się być dobra, pozostawiam to waszej ocenie. Dołączam kod, który zobrazuje działanie programu.

Pozdrawiam i proszę o pomoc.

Dodam, że program jest pisany w asemblerze.
Załączniki
main.zip
Kod programu.
(1.6 KiB) Pobrany 302 razy

Awatar użytkownika
gaweł
Użytkownik
Posty: 651
Rejestracja: 05 kwie 2004, 8:38
Lokalizacja: Białystok
Kontakt:

Post autor: gaweł » 23 cze 2007, 19:03

Na pytania odpowie ci lektura: https://elportal.pl/index.php?module=Co ... y&ceid=354
więcej różnych wariantów na: https://elportal.pl/index.php?module=Co ... y&ceid=319
oraz gotowce na różne warianty w książce: http://www.btc.pl/?id_prod=10680

y0yster
-
Posty: 15
Rejestracja: 04 lut 2007, 14:17
Lokalizacja: Nysa
Kontakt:

Post autor: y0yster » 26 cze 2007, 14:35

Niestety to mi nie pomogło.

Co należało zrobić aby wszystko działało. Jak w dokumentacji sterownika należało przesyłać tylko podczas inicjalizacji starsze połówki bajtu.
Druga rzecz to dodanie opóźnienia pomiędzy wysyłaniem połówek bajtów podczas zapisu.

ZbeeGin

Post autor: ZbeeGin » 26 cze 2007, 19:52

Ale ty w załączonym programie używasz 8-bitowej transmisji... Skąd więc nagle transmisja 4-bitowa?

Czyżbyś załączył nie ten kod źródłowy?

ODPOWIEDZ