Witam.
Zwracam się z prośbą o pomoc.
Jestem nowicjuszem z zakresu programowania procesorów AVR.
Zakupiłem płytkę testową ZL2AVR dla procesorów ATmega8
Po skrupulatnym lutowaniu i sprawdzeniu połączeń postanowiłem rozpocząć
programowanie procesora (Programator STK200/300) i tu problem
Bascom rozpoznaje typ procesora, mogę zmieniać fuse bity, program jest
wgrtywany i weryfikowany poprawnie , ale po zaprogramowaniu wychodzą jakieś
głupoty wyświetlacz lcd nie działa wyjscie które ma być aktywne po przyciśnięciu
przycisku warjuje.
Sprawdziłem wiele razy ustawienia w Bascomie, fuse bity połączenia na płytce.
Może prosesor jest uszkodzony .
Proszę bardzo o pomoc ,jakąś wskazówkę .
Wczaśniej programowałem w Bascom 8051 tam nie było takich problemów
Pozdrawiam.
ps
dodaję program testowy może tu jest jakieś rozwiązanie.
$regfile = "m8def.dat"
$crystal = 8000000
Config Lcd = 16 * 2
Config Portb = Output
Config Portd = Input
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.5 , Rs = Portc.4
Sw Alias Pind.4
Sw1 Alias Pind.3
Cls
Cursor Off
Set Sw
Set Sw1
Set Portb.0
Do
Home
If Sw = 0 Then
Waitms 50
Set Portb.0
End If
If Sw1 = 0 Then
Waitms 30
Reset Portb.0
End If
Locate 1 , 1
Lcd "to ja atmega8"
Loop
Re: LCD
Prawdopodobnie temu to nie działa że próbujesz wbijac dane do LCD bezpośrednio w do loop. LCD nie ma szans tego wyrobic a jak nawet się to uda to bedziesz widział tylko smugę na LCD.
Wywal LCD z do loop i daj te dwa polecenia przed do loop
Wyreguluj kontrast potencjometrem, powinien byc przy LCD
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Re: LCD
tu się z Tobą Mireczku nie zgodzę. zobacz na kod w tym miejscu:
kolega cały czas odwołuje się do konkretnej lokalizacji na wyświetlaczu, więc to musialo by dzialać. sam robiłem tak wiele razy chcąc aktualizować coś na lcd bez ruszania czegokolwiek innego.
to jest nic innego jak nadpisanie danych na wyświetlaczu.
problemem może być konfiguracja
może być w niewłaściwej kolejności. jak pierwszy raz podpiąłem u siebie lcd i skonfigurowałem lcdpin dowolnie to też nie mogłem go bujnąć.
Moja strona w powijakach
RE : M8
Nie chodzi mi o to że powstanie: "to ja atmega8to ja atmega8to ja atmega8to ja atmega8to ja atmega8" tylko o to że wyswietlacz LCD nie wyświetli nic, bo wbijasz do niego dane z max częstotliwością jaką procesor daje radę i nie ma żadnego opóźnienia. Zrobiłem tak kiedyś i nic nie zdążyłem na LCD zobaczyć
Wywal wszystko z do loop i napisz to tak:
aby sprawdzic czy LCD wogóle działa, a potem będziemy się zastanawiać co dalej
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
kolejna sprawa
Witam.
Poradziłem sobie już z wyświetlaczem. Po n=krotnej zaminanie przewodow , konfiguracji,w końcu
pojawił się oczekiwany napis.
Ale mam jeszcze inny problem chodzi o właściwą konfiguracje portów.
Chcę aby np port b.0 był wyjściem, stosuje polecenie
i po wgraniu w procesor i uruchomieniu cały czas ten pin jest w stanie reset ( aktywna dioda świecąca)
Pin ten nie reaguje na zmiany typu
Proszę o pomoc i wyrozumiałość kolegów strony.
Pozdrawiam
do konfiguracji portu zawsze
do konfiguracji portu zawsze używa się portX, np.
jeżeli ustawiamy stan jakiegoś portu także używamy portX, np.
jeżeli odczytujemy stan portu używamy pinX, np.
nie lubię placków
Re: Piny
na końcówce będącej wejściem nie da się ustawić stanu logicznego w taki sposób aby coś wysterować, bo tranzystory wyjściowe wtedy nie działają. Można tylko czytać stan logiczny
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
wyjaśnienie
Witam. Dziękuje za pomoc,sugestie pomogły.
Proszę o wyjaśnienie mi jeszcze tego zapisu
port b jest skonfigurowany jako linia(0-2) wejście, a linia(3-7) wyjścia,
a ten zapis po dwukropku też się odnośi do portu b, ale jest skonfigurowany jako wszystkie wyjścia ?!
Re: wyjaśnienie
nie ten zapis ustawia pullup'y na pinach procka, czyli podciąga do plusa zasilania.
Moja strona w powijakach