Mam mały problem z moim układem. Wykonałem sobie odbiornik kodu Rc5 na procesorze ATMEGA8. Pod piny od PC.5 do PC.0 podpiąłem wyświetlacz LCD, do nóżki PD.2 (INT0), podpiąłem odbiornik podczerwieni i oczywiście do XT1 i XT2 rezonator kwarcowy 8MHz, a do niego równolegle kondensatory 27p. Słowem typowy przykład z noty katalogowej TFMS5360 i ATMEGA8 - nic poza tym. Identyczny schemat jak w książce Marcina Wiązani "Programowanie mikrokontrolerów AVR w języku BASCOM". Program jest też identyczny i wygląda tak:
Kod: Zaznacz cały
$regfile = "m8def.dat"
$crystal = 8000000
Config Lcd = 16*2
Config Lcdpin = pin , Db4 = Portc.3 , Db5 = Portc.2 ,
Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 ,
Rs = Portc.5
Config Rc5 = Pind.2
Dim Address As Byte , Command As Byte
Enable Interrupts
Do
Getrc5(Address , Command)
Command = Command And &B01111111
Cls
Lcd "Adres: " ; Address
Lowerline
Lcd "Komenda: " ; Command
Waitms 100
Loop
End
Adres: 255
Komenda: 127
Gdy przycisnę jakiś klawisz z pilota działającego w standardzie Rc5, na wyświetlaczu widać jego adres i komendę tylko na czas przytrzymania klawisza na pilocie i to z opóźnieniem (niektórych klawiszy w ogóle nie da się wyświetlić, lub trzeba bardzo długo trzymać klawisz pilota).Potem na wyświetlaczu znów pojawia się:
Adres: 255
Komenda: 127
Czy ktoś ma jakiś pomysł co może być nie tak, bo mi się już skończyły:(
Dzięki za pomoc Pozdrawiam robson.