ATmega8 + LCD (podłączenie i konfiguracja)
Po świeżo nabytych doświadczeniach z podłączeniem wyświetlacza LCD do mikroprocesora ATmega8 (powinno na większości AVR wyglądać to podobnie, jak nie identycznie) – postanowiłem opisać całość tutaj. Mam nadzieję, że ktoś na tym skorzysta!
0. Składamy elektronikę
Uwzględniam, że każdy z Was ma już pojęcie jak zasilać mikroprocesor – dlatego na schemacie tego nie ma.
W tym może pomóc Wam schemat, który robiłem dla znajomego. Umieszczam go poniżej:
Ja z racji braku potencjometru, podłączyłem nóżkę CONTRAST wyświetlacza do GND. Nie powinno to zaszkodzić Naszemu wyświetlaczowi
1. Tworzymy projekt i konfigurujemy piny między LCD, a ATmegą.
Otwieramy nowy projekt w Bascomie i przystępujemy do konfiguracji pinów łączących wyświetlacz i uC (mikroprocesor). Można to rozwiązać na dwa sposoby – programowo albo ustawić w kompilatorze.
Ja preferuję drugą opcję, chociaż obie są proste i skuteczne. Kiedy już stworzyliśmy projekt i widzimy startowy kod, wchodzimy w górne menu OPTIONS -> Compiler -> LCD. Przystępujemy do konfiguracji.
Te ustawienia zależą od tego jak w kroku 0 podłączyliśmy wyświetlacz do mikroprocesora!
Poniżej umieszczam przykładowe – moje.
2. Program
Po tym całym bajzlu z konfiguracją, czas na programowanie. Jako, że bascom jest niezwykle prostym językiem nie będę się tu rozpisywał i dam Wam do wglądu mój okomentowany kod:
$regfile = "m8def.dat" 'plik dat dla ATmega8
$crystal = 4000000 'oscylator, ja ustawilem moj na 4MHz
Do 'petla glowna
Cls 'ta komenda inicjalizuje obsluge LCD i go czysci
Upperline 'ustaw kursor w gornej linii
Lcd "pi1er pozdrawia!" 'w miejscu ustawienia kursora wyswietl tekst
Lowerline 'ustaw kursor w dolnej linii
Lcd "www.dioda.com.pl" 'w miejscu kursora wyswietl tekst
Wait 1 'poczekaj 1 sekunde (bez tego LCD bedzie nam mrugalo)
Loop 'zapetlaj
End
Ten program wymaga ustawienia Fusebitów mikroprocesora na wewnętrzny oscylator (chyba, że stosujecie inny) 4MHz!
Viola! Wszystko gotowe, czas przetestować!


