Mam przed sobą dziwnie zachowujący się port we/wy... Jest to dosyć popularny układ 8255 w wersji CMOS firmy Intersil - pełne oznaczenie IP82C55A
Klawiatura ma 3 kolumny i 4 rzędy. Druty od rzędów są podpięte do bitów 0-3 portu A, skonfigurowanego jako wejścia i spiętego z masą rezystorami 10kohm. Druty kolumn klawiatury sterowane są przez diody z portu C do którego jest łatwy dostęp bitowy...
Idea prosta ale układ mój zachowuje się dziwnie. Mianowicie sonda podłączona do portu A wykazuje, że pojawia się tam 5V gdy odpowiedni przycik jest wciśnięty ale gdy przycisk zwalniamy, napiecie nie wraca do zera lecz zostaje zawieszone jakby w połowie, na poziomie około 2V. Układ czyta to jako logiczne 1 i uznaje, że klawisz się zaciął, mimo iż to nie wina klawiatury... Klawiaturę można z gniazda wypiąć a tam dalej siedzi 2V mimo iż pin portu A ustawony jest jako wejście i zbocznikowany jest do masy rezystorem 10k czyli nie wisi w powietrzu...
Układ 8255 zbocznikowałem dodatkowo kondensatorem
100nF bezpośrednio na podstawce, licząc na to, ze może się dziad jakoś wzbudza albo co, ale to nic nie pomogło... Sytuacja wygląda jakby wejście portu A miało jakiś dziwny zatrzask podtrzymujący to co się podało na wejście mimo iż wejście jest już niesterowane i zwarte do masy rezystorem 10k...Przyznaję, że trochę niepokojąco brzmi opis portu A na stronie 4 danych technicznych, a zwłaszcza to wyjście inwertera trójstanowego wpięte prosto do pinu i sterowane sygnałem INPUT MODE. Dlaczego układ miałby coś wystawiać na swojej nodze ustawionej jako wejście? Poza tym, jeśli są to słabe pull-up/pull-down to chyba nie mają na tyle wydajności aby wysterować rezystor 10k na ponad 2V? Jeśli ma ktoś jakiś pomysł lub sugestię to zapraszam i dziękuję za zainteresowanie.