Serwisy partnerskie:
Close icon
Serwisy partnerskie

Projekt sterownika klawiatury matrycowej dla mikrokontrolerów wykorzystujący przerwania

Article Image
Elmax
W projekcie systemu wbudowanego, gdzie przewidziano blok mikrokontrolera sterującego, istnienie interfejsu użytkownika (IU) jest wymaganiem powszechnym i nieuniknionym. Prostym rozwiązaniem takiego interfejsu jest zastosowanie monochromatycznego wyświetlacza LCD jako urządzenia wyjściowego oraz klawiatury matrycowej przyjmującej dane od użytkownika. W praktyce, większość takich projektów wykorzystuje wyświetlacz tekstowy LCD 2×16 znaków, zgodny z kodem ASCII, np. JHD162A lub podobny oraz klawiatury matrycowe 4×4 lub 4×3.

Tutaj zaczniemy od opracowania procedur obsługi klawiatury matrycowej, zwykle pisanych w języku C dla systemów wbudowanych (dalej określonego w skrócie jako język C). Do projektu użyjemy ośmiobitowego mikrokontrolera AT89S52 (program zadziała równie dobrze z każdym innym MCU rodziny C51), który jest łatwo dostępny i którego architektura jest znana wielu z nas. 

Najpierw zaimplementujemy sterownik urządzenia do skanowania klawiszy, działający w trybie odpytywania i zobaczymy jak go wstępnie przetestować bez użycia wyświetlacza ciekłokrystalicznego (LCD).

Następnie zbadamy aspekty konwersji tego sterownika do wersji wykorzystującej zewnętrzne asynchroniczne przerwanie mikrokontrolera, w tym przypadku INT0 i przedstawimy szczegóły jego implementacji w języku C oraz testowania go w symulatorze programowym. Zaleca się przeprowadzanie dalszych czynności w  środowisku IDE μVision, w wersji 5, firmy Keil z kompilatorem skrośnym C51 (obsługującym starszą rodzinę mikrokontrolerów C51),  zainstalowanym na komputerze PC z systemem Windows 10 wraz z oprogramowaniem symulacyjnym, takim jak Proteus 7.7 lub nowszy, w celu weryfikacji stworzonego kodu. 

Red. EdW: Do symulacji wymagana jest pełna wersja oprogramowania Proteus. Bezpłatna wersja demonstracyjna pozwala tylko na symulację projektów dołączonych do niej i nie umożliwia zapisu własnych projektów. Pokazane schematy są wystarczające dla symulatora Proteus ale nie do realizacji rzeczywistego układu z mikrokontrolerem.

Projekt składa się z czterech części, w których program źródłowy (plik ‘App.C’) każdej z nich (Projekt1 do Projekt4), jest napisany w języku C dla systemów wbudowanych. Kod szesnastkowy wygenerowany przez IDE μVision służy do symulacji i weryfikacji projektu za pomocą oprogramowania Proteus. 

Zanim zagłębimy się w szczegóły techniczne, musimy poznać najpierw uzasadnienie potrzeby konwersji z trybu odpytywania na przerwaniowy. 

Aby przeczytać ten artykuł kup e-wydanie
Kup teraz
Firma:
Tematyka materiału: sterownik klawiatury matrycowej dla mikrokontrolerów wykorzystujący przerwania, JHD162A, LCD, Proteus, IDE μVision, AT89S52, C
AUTOR
Źródło
Elektronika dla Wszystkich listopad 2022
Udostępnij
Zobacz wszystkie quizy
Quiz weekendowy
Edukacja
1/10 Jak działa rezystor LDR?
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"