Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 31 lip 2025, o 12:10


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 15 gru 2015, o 15:33 
Offline
Nowy

Dołączył(a): 15 lis 2015
Posty: 2
Pomógł: 0

Witam!
Mam do zrealizowania zadanie w którym muszę obsługiwać klawiaturę matrycową w przerwaniu od INT0.
Klawiaturę mam podłączoną następująco:
Do starszych bitów portu D wiersze klawiatury
Do młodszych bitów kolumny.

Teraz czas na problem otóż muszę tę klawiaturę skanować w przerwaniu INT0.
Nie wiem jak podłączyć kolumny i wiersze klawiatury aby uzyskać sygnał wywołujący przerwaniue.
Próbowałem z wykorzystaniem bramki AND 4 wejściowej- podłączyłem wiersze czyli starsze bity portu do bramki a wyjście bramki na diodę i wciskając klawisze nie gaszę diody. Przecież skanując ustawaim 0 na kolumny i sprawdzam czy jest 0 na którymś z wierszy więc nie rozumiem dlaczego przy wciśnięci przycisku na nóżce odpowiadającej danemu wierszowi nie uzyskuję 0 logicznego.
Proszę o pomoc w podłączeniu, a może jakiś błąd programowy ?

AVR to atmega 32.
P.S
Przerwanie powinno być wyzwalane zboczem opadającym

Pozdrawiam



Ostatnio edytowano 15 gru 2015, o 21:46 przez dandi13, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 gru 2015, o 16:19 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27416
Lokalizacja: Szczecin
Pomógł: 1043

Panie kolego jesteś nowy na forum dlatego przypominam - kod w postach należy formatować w ten sposób: topic7402.html - proszę to poprawić jeśli wątek ma pozostać na forum ok? - mirekk36

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 gru 2015, o 18:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Dobrze kombinujesz, lecz pewnie coś nie tak zrobiłeś.
Wiersze podpinasz do pinów z pull-upami, na kolumny cyklicznie po jednym podajesz masę - najlepiej zrealizować na timerze. Wiersze dodatkowo zANDujesz i podpinasz to na INT0 (można to zrobić na 4 diodach).
Możesz też na początek dać na stałe na kolumnach wystawiane 0. A dopiero jak coś naciśniesz i wyzwoli Ci się przerwanie, to wtedy przelatujesz po jednej kolumnie by sprawdzić na której nastąpiło naciśnięcie klawisza.

Wklej schemat oraz kod.

--
Pozdrawiam,
Robert


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 gru 2015, o 21:48 
Offline
Nowy

Dołączył(a): 15 lis 2015
Posty: 2
Pomógł: 0

Udało się rozwiązać problem :D
Dziękuję za pomoc rskup
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO