Przedstawiam prosty sposob na zbudowanie klawiatury (np. dla mikrokontrolera) o teoretycznie nieograniczonej liczbie klawiszy (w moim przypadku 64 klawisze = 6 pinów mikrokontrolera)!!
Dołączam schemat, opis, jak i zdjęcie praktycznie wykonanego układu.
Mam nadzieję, że się spodoba
Analizę układu rozpoczniemy od negatora 5/6 US1, który wraz z 4/6 US1, R1, C1 tworzy generator o częstotliwości taktowania 1/RC (w naszym przypadku około 10kHz). Jego sygnał podawany jest na układ US4 oraz poprzez inwenter 3/6 US1 na US3, które w swej strukturze zawierają po 8 bramek trójstanowych. Dzięki bramce 3/6 US1, w danej chwili, mogą być aktywne tylko jedne z bramek układów US4 lub US3.
Rozpatrzmy pierwszą linie pionu i poziomu: Załóżmy więc, że na wyjściu generatora mamy stan wysoki, z czego wynika, iż na wyjściu US4 pokazuje się stan „0”. Negator 2/6 US1 podaje na nóżkę 10 dekodera „1 z 8 na kod BCD” 74148 (US6) stan wysoki, co jednak nie powoduje żadnej zmiany (wejścia 74148 sterowane są poziomem niskim - podobnie rzecz się na do pozostałych linii poziomych). Jeżeli chodzi o pierwszą pionową linię, to jest ona odcięta, co oznacza, że wyjścia bramek US3, są w stanie wielkiej impedancji. Rezystory od R2 do R9 podają na linie stany wysokie, lecz i tu nie zachodzi żadna zmiana. Analogicznie rzecz się ma do momentu w którym to wyjścia bramek US3 są otwarte, a US4 w stanie wielkiej impedancji.
Zobaczmy, co stanie się, gdy zostanie naciśnięty przycisk łączący pierwszą pionową i poziomą linie. Załóżmy więc, że aktywne mamy bramki US4, i na linii poziomej jest stan „0”. Ze wcześniejszych analiz wynikało, że wyjścia układu US6 pozostaną bez zmian. Jednak przycisk, w chwili jego przyciśnięcia stanowi zwarcie, więc stan niski zostaje wpisany również na „odciętą” w tej chwili linię pionową. Powoduje to, iż na wyjściu układu US5, ustalają się stany 111 co oznacza, że na jego wejście „7” został podany stan niski. Układ 74148 charakteryzuje się tym, iż na jego wyjściu „EO” pojawi się stan wysoki, gdy jedno z jego wejść jest wysterowane. Tak więc, na wejściach C1, C2, C3, C4 układu US7 pojawia się stan wysoki, co powoduje przepisanie wejść (w tym przypadku 111) na wyjścia. Tak powstaje pierwsza część, sześciobitowego adresu pamięci.
Generator działa z taką szybkością, by w czasie jednego kliknięcia, wystąpiły przynajmniej dwa impulsy. Wynika z tego to, że każdy z układów US3 i US4, musi być przynajmniej raz aktywny. Tak więc, generator zmienia swój stan na przeciwny i teraz to układ US3 przepisuje na linie pionowe „1”, a US4 „odcina” swoje wyjścia. Na wyjściu „EO” układu US5 pojawia się stan niski, a zatrzaski zostają zamknięte. Przycisk nadal stanowi zwarcie, więc na pierwszej linii poziomej również pokazuje się stan wysoki. Negator 2/6 US1 sprawia, iż na wejście „0” układu US6 podany jest stan niski, a na wyjściach pokazują się stany 000 (A0, A1, A2) i 1 (OE). Tym razem to zatrzaski US8 przepisują na wyjścia swoje wejścia. Po kolejnej zmianie generatora, informacje te zostaję zatrzaśnięte. Tak powstaje druga część sześciobitowego adresu pamięci.
Po puszczeniu przycisku, wszystko wraca do sytuacji opisanej na początku. Na liniach pionowych mamy stan wysoki, a na poziomych niski. Tylko układy US7 i US8 pamiętają adresy.
Dołączam schemat, opis, jak i zdjęcie praktycznie wykonanego układu.
Mam nadzieję, że się spodoba
Analizę układu rozpoczniemy od negatora 5/6 US1, który wraz z 4/6 US1, R1, C1 tworzy generator o częstotliwości taktowania 1/RC (w naszym przypadku około 10kHz). Jego sygnał podawany jest na układ US4 oraz poprzez inwenter 3/6 US1 na US3, które w swej strukturze zawierają po 8 bramek trójstanowych. Dzięki bramce 3/6 US1, w danej chwili, mogą być aktywne tylko jedne z bramek układów US4 lub US3.
Rozpatrzmy pierwszą linie pionu i poziomu: Załóżmy więc, że na wyjściu generatora mamy stan wysoki, z czego wynika, iż na wyjściu US4 pokazuje się stan „0”. Negator 2/6 US1 podaje na nóżkę 10 dekodera „1 z 8 na kod BCD” 74148 (US6) stan wysoki, co jednak nie powoduje żadnej zmiany (wejścia 74148 sterowane są poziomem niskim - podobnie rzecz się na do pozostałych linii poziomych). Jeżeli chodzi o pierwszą pionową linię, to jest ona odcięta, co oznacza, że wyjścia bramek US3, są w stanie wielkiej impedancji. Rezystory od R2 do R9 podają na linie stany wysokie, lecz i tu nie zachodzi żadna zmiana. Analogicznie rzecz się ma do momentu w którym to wyjścia bramek US3 są otwarte, a US4 w stanie wielkiej impedancji.
Zobaczmy, co stanie się, gdy zostanie naciśnięty przycisk łączący pierwszą pionową i poziomą linie. Załóżmy więc, że aktywne mamy bramki US4, i na linii poziomej jest stan „0”. Ze wcześniejszych analiz wynikało, że wyjścia układu US6 pozostaną bez zmian. Jednak przycisk, w chwili jego przyciśnięcia stanowi zwarcie, więc stan niski zostaje wpisany również na „odciętą” w tej chwili linię pionową. Powoduje to, iż na wyjściu układu US5, ustalają się stany 111 co oznacza, że na jego wejście „7” został podany stan niski. Układ 74148 charakteryzuje się tym, iż na jego wyjściu „EO” pojawi się stan wysoki, gdy jedno z jego wejść jest wysterowane. Tak więc, na wejściach C1, C2, C3, C4 układu US7 pojawia się stan wysoki, co powoduje przepisanie wejść (w tym przypadku 111) na wyjścia. Tak powstaje pierwsza część, sześciobitowego adresu pamięci.
Generator działa z taką szybkością, by w czasie jednego kliknięcia, wystąpiły przynajmniej dwa impulsy. Wynika z tego to, że każdy z układów US3 i US4, musi być przynajmniej raz aktywny. Tak więc, generator zmienia swój stan na przeciwny i teraz to układ US3 przepisuje na linie pionowe „1”, a US4 „odcina” swoje wyjścia. Na wyjściu „EO” układu US5 pojawia się stan niski, a zatrzaski zostają zamknięte. Przycisk nadal stanowi zwarcie, więc na pierwszej linii poziomej również pokazuje się stan wysoki. Negator 2/6 US1 sprawia, iż na wejście „0” układu US6 podany jest stan niski, a na wyjściach pokazują się stany 000 (A0, A1, A2) i 1 (OE). Tym razem to zatrzaski US8 przepisują na wyjścia swoje wejścia. Po kolejnej zmianie generatora, informacje te zostaję zatrzaśnięte. Tak powstaje druga część sześciobitowego adresu pamięci.
Po puszczeniu przycisku, wszystko wraca do sytuacji opisanej na początku. Na liniach pionowych mamy stan wysoki, a na poziomych niski. Tylko układy US7 i US8 pamiętają adresy.
Fajne? Ranking DIY