Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięDurny problem. GetRc przyciski i diody
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
Witam.
mam taki durny problem.
przyciski na porcie C diody na Porcie A,
Wiem jak włączyć te diody przez program ,ale w ogóle nie moge ich włączyć za pomocą
przycisków!!
Napisałem podręcznikowy przykład - jak włączysz przycisk1 to dioda sie zapali-
a tu nie działa!!
Mam Atmega32 oraz LCD 2x16, działają- można wyświetlić zmienne.
ponadto nie moge równierz uzyskać GetRC.
Wszystko normalnie podłączone i nic.
mam taki durny problem.
przyciski na porcie C diody na Porcie A,
Wiem jak włączyć te diody przez program ,ale w ogóle nie moge ich włączyć za pomocą
przycisków!!
Napisałem podręcznikowy przykład - jak włączysz przycisk1 to dioda sie zapali-
a tu nie działa!!
Mam Atmega32 oraz LCD 2x16, działają- można wyświetlić zmienne.
ponadto nie moge równierz uzyskać GetRC.
Wszystko normalnie podłączone i nic.
Kod: Zaznacz cały
Config Portc = &B11111111 'wszystkie końcówki jako wyjścia
Portc = &B11111111 'wszędzie wpisz stan spoczynkowy 1
Config Portd= &B1111100 'dwa najmłodsze jako wejścia
Portd = &B1110111 'włączony T2, podciągnięte wejścia
Do 'pętla nieskończona
If PinC.4 = 0 Then Porta.4 = 0 'S1 - zaświeć lampkę
If PinC.5 = 0 Then Porta.4 = 1 'S2 - zgaś lampkę
Loop
End
Kod: Zaznacz cały
Config Portc = &B11111111 'wszystkie końcówki jako wyjścia
Kod: Zaznacz cały
If PinC.4 = 0
Kod: Zaznacz cały
Porta.4 = 1
a ten port nawet nie jest skonfigurowany więc też nie zadziała.
Bez konfiguracji portów też wyświetla same zera ,nie zależnie od
przycisków.
Lcd "" ; porta czy c
jest zawsze 0.
Robiłem również kombinacje if-then'ów - to samo.
przyciski mam na porcie PC.4 ,Diody na PA.4
Niech ktoś coś napisze żeby tępa dioda zapaliła sie jak wcisne przycisk.
Atmega32, przyciski do masy.
przycisków.
Lcd "" ; porta czy c
jest zawsze 0.
Robiłem również kombinacje if-then'ów - to samo.
przyciski mam na porcie PC.4 ,Diody na PA.4
Niech ktoś coś napisze żeby tępa dioda zapaliła sie jak wcisne przycisk.
Atmega32, przyciski do masy.
Nie napisze raczej jakiego próbowałem kodu - bo było ich dość dużo,
różne kobinacje config portów i takich tam.
Jaki LB zaznaczyć i jak w bascom;ie żeby uP nie spartolić i wyłączyć ten JTAG?
Ale np . takiego:
różne kobinacje config portów i takich tam.
Jaki LB zaznaczyć i jak w bascom;ie żeby uP nie spartolić i wyłączyć ten JTAG?
Ale np . takiego:
Kod: Zaznacz cały
$regfile = "m32def.dat"
$crystal = 1000000
Config Portc = &B11111111
Portc = &B11111111
Config Porta = &B11111111
Porta = &B11111111
Do
If Pinc.4 = 0 Then Porta.4 = 0
If Pinc.5 = 1 Then Porta.4 = 1
End If
Loop
End
Przyklad obslugi portow wejsciowych:
Config pinb.5 = output
Config pina.5 =input
'Do linii wejsciowej pina.5 nalezy dolaczyc wewnetrzny rezystor podciagajace jesli
'przycisk zwiera linie wejsciowa do masy.
Set porta.5
teraz mozna odczytywac stan przycisku
If pina.5=0 then
set port.5
else
reset port.5
end if
'Przepraszam za mala pomylke w programie.
'Jesli nacisnie sie przycisk na na linii b.5 pojawi sie stan wysoki, w przeciwnym razie niski.
Config pinb.5 = output
Config pina.5 =input
'Do linii wejsciowej pina.5 nalezy dolaczyc wewnetrzny rezystor podciagajace jesli
'przycisk zwiera linie wejsciowa do masy.
Set porta.5
teraz mozna odczytywac stan przycisku
If pina.5=0 then
set port.5
else
reset port.5
end if
'Przepraszam za mala pomylke w programie.
'Jesli nacisnie sie przycisk na na linii b.5 pojawi sie stan wysoki, w przeciwnym razie niski.
Ostatnio zmieniony 21 paź 2006, o 11:00 przez mw, łącznie zmieniany 1 raz.
Wpisałem wyżej wymienione JTAG na disabled -wszystko nadal ok z uP -nie
sknociłem go, ale program nie działa.
Po prostu.
Diody na PA, 4i5 - swiche na PC ,4i5
Jescze impulsator z myszy na D ,nie pamiętam które piny.
Jeszcze pokombinuje.
Wbiłem mu taki kod:
oczywiście pokazuje "1" na lcd lub "0" jak są zera w Port config.
ale nie reaguje na przyciski.
sknociłem go, ale program nie działa.
Po prostu.
Diody na PA, 4i5 - swiche na PC ,4i5
Jescze impulsator z myszy na D ,nie pamiętam które piny.
Jeszcze pokombinuje.
Wbiłem mu taki kod:
Kod: Zaznacz cały
$regfile = "m32def.dat"
$crystal = 1000000
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
Config Lcd = 16 * 2
Config Porta.4 = Input
Config Portc.4 = Output
Portc = &B11111111
Do
Cls
Cursor Off
Lcd "" ; Portc.4
Waitms 600
Loop
End
ale nie reaguje na przyciski.
Powtórzę to , o czym wspominał już mw Rejestrem , który odzwierciedla stany na końcówkach(pinach) portu , jest rejestr PINx , a nie PORTx.Pozostaw powyższy kod bez zmian , za wyjątkiem:...oczywiście pokazuje "1" na lcd lub "0" jak są zera w Port config.
ale nie reaguje na przyciski.
Kod: Zaznacz cały
LCD "" ; Portc.4
Kod: Zaznacz cały
LCD "" ; Pinc.4
Jeśli zaś chodzi o "nieszczęsnego" JTAG-a , to nie musimy koniecznie wyłączać go za pomocą fusebitu JTAGEN , bo można to zrobic programowo.W Bascomie np.
Kod: Zaznacz cały
$regfile="m32def.dat"
'...
Set Mcucsr.jtd
!out Mcucsr,r24
Piotrek
1. rezystor podciągający ma być włączony dla wejść
2. LCD pinc.4
3. Nawet gdybyś miał dobrze poprzednie punkty to nie bardzo widzę od czego miałby się zmienić stan wyjść? Chodzi o pętlę do-loop. Tam nic go nie zmienia - logika programu. - przepisz to co napisał MW.
4. No i jeszcze zawartość pętli:
4.1 po co tam jest cursor off
4.2 cls daj też przed pętlą, bo będzie migało, zamiast tego daj np. home
2. LCD pinc.4
3. Nawet gdybyś miał dobrze poprzednie punkty to nie bardzo widzę od czego miałby się zmienić stan wyjść? Chodzi o pętlę do-loop. Tam nic go nie zmienia - logika programu. - przepisz to co napisał MW.
4. No i jeszcze zawartość pętli:
4.1 po co tam jest cursor off
4.2 cls daj też przed pętlą, bo będzie migało, zamiast tego daj np. home
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 15 gości