naskrobane na szybko i sprawdzone na zestawie ATB 1.05a
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Garść instruktarzu:
W sekcji konfiguracja należy poustawiać sobie na jakich pinach uC mają być jakie sygnały:
(jako że posiadam ATB 1.05A obecna konfiguracja jest pod porty i piny które można zapiąć zworkami - zarówno dla wyświetlacza, jak i ledów, jedynie przyciski trzeba okablować do portu D0 - D4)
i tak pierwszy blok to piny podłączone do wyświetlacza, drugi blok to piny podłączone do ledów kontrolnych na których będzie pokazywany stan poszczególnych linii wyświetlacza (jako że ledy na zestawie ATB są podłączone anodami do Vcc więc ich zaświecenie następuje poprzez podanie "0" więc sygnały dla ledów są odwrócone w stosunku do sygnałów wyświetlacza tak by stan 1 pinu LCD sygnalizowany był zaświeceniem diody), natomiast trzeci ostatni blok to piny do których podłączamy pięć przycisków.
Przycisk N_D_UP służy do zwiększania zawartości buforka, który przechowuje stan panujący na pinach D4-D7 wyświetlacza, natomiast N_D_DOWN zmniejsza zawartość buforka. Przytrzymanie powyższych przycisków po około 0,6s powoduje automatyczne inkrementowanie/dekrementowanie zawartości bufora co 0,3s do czasu puszczenia przycisku.
Pozostałe przyciski mają blokadę, ich naciśnięcie zmienia stan danego pinu na przeciwny 1 raz, a następnie dopóki są trzymane cały program stoi.
Jako że program jest do celów dydaktycznych i dedykowany dla początkujących, eliminacja drgań styków przycisków zrobiona jest na delayach tak by nie gmatwać programu.
Natomiast makro:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
działa podobnie jak to z przykładu z BB odnośnie LCD tyle, że zostało zmienione tak by było uniwersalne i jednolite dla wszystkich rejestrów I/O (jedno i to samo dla PORT, PIN i DDR).
Teraz wystarczy rozpisać sobie wszystkie komendy LCD-ka tak by nie biegać po nocie i można się bawić w ręczne sterowanie
Daro69 wrcając do tematu wyświetlacza coś jest nie tak .
wszystko jest podłączone tak jak opisałeś , załączam wyświetlacz ,czysty wystarczy by nacisnąć E (enable ) i kursor na ekranie miga w pozycji 0,0 , problem w tym że ja nie zmieniałem stanu na liniach d4-d7 nie rozumiem ,
nie mam wglądu w to co już jest ustawione w samym wyświetlaczu na liniach danych nie moge tego rozgryść , wychodza różne głupoty , sprawdzisz to u siebie?
czy trzeba ustawić wyświetlacz w tryb 4 bitowej magistrali czy jest to nie istotne?
i wszystko działa prawidłowo i jest fajnie czytelnie szkoda że nie ma takiego interface-u dodałoby to czytelności , sprawdzałem stany na magistrali danych miernikiem ale szczerze to mi się poplątało ratunku.