Cześć,
mam takie zadanie do zrealizowania: Odczytanie stanu przycisków z klawiatury matrycowej.
Problem jaki mam to, że do każdego przycisku w szeregu jest dołączona dioda prostownicza. Dodaje zdjęcie dla uproszczenia z jednym przyciskiem.
Po przeanalizowaniu schematu uznałem, żeby odczytać stan klawisza należy PC0 ustawić jako wyjście z podciągnięciem pod VCC i monitorować stan PB0. PB0 ustawiłem jako wejście. W momencie naciśnięcia S1 pojawia się stan wysoki na PB0.
Problem jest taki, że jeśli ustawię PIN PB0 jako wejście to panuje na nim jakiś dziwny stan. Jest tam coś około 1V więc jeśli zrobię warunek sprawdzenia stanu wysokiego to bez wciśnięcia procesor odczytuje, że jest wciśnięty klawisz. Nie za bardzo wiem jako to ogarnąć
Poniżej mój kod:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
plik nagłówkowy .h
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
key.c
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.