Bezpłatna biblioteka techniczna ENCYKLOPEDIA RADIOELEKTRONIKI I INŻYNIERII ELEKTRYCZNEJ Jak rozszerzyć możliwości joysticka. Encyklopedia elektroniki radiowej i elektrotechniki Encyklopedia radioelektroniki i elektrotechniki / Telewizja Wiele gier komputerowych wymaga sterowania nie tylko za pomocą joysticka, ale także za pomocą wprowadzania poleceń z klawiatury. Jednak trzymanie obu tych urządzeń przy sobie podczas gry jest bardzo niewygodne. Wykorzystując programowalną tablicę logiczną (PLM) 556PT1, autor rozwiązał problem, zastępując polecenia „klawiaturowe” kombinacjami naciśnięć przycisków joysticka. Programy gier na komputer ZX-Spectrum są z reguły budowane w taki sposób, że po uruchomieniu nie wchodzą automatycznie w tryb sterowania joystickiem; aby to zrobić, musisz nacisnąć kilka klawiszy. Konieczność korzystania z klawiatury czasami pojawia się w trakcie gry. Na przykład, aby rozpocząć nową sesję, wymienić grę, należy nacisnąć przycisk początkowej instalacji. A to oznacza, że gracz nie może na dłużej odejść od komputera z joystickiem w dłoniach, usiąść na krześle czy położyć się na sofie. Aby wcisnąć jeden lub dwa klawisze, musisz dość często podchodzić do komputera. Niektóre gry w ogóle nie są zaprojektowane do sterowania za pomocą joysticka. Trzeba intensywnie korzystać z klawiatury, co szybko się od tego psuje. Ponadto klawisze sterujące kierunkiem poruszania się postaci i strzelania są źle dobrane (na przykład znajdują się na klawiaturze w rzędzie), co często wpływa na wynik. Kusiłoby, aby bez zmiany programów przenieść sterowanie takimi grami na joystick. Obecnie najpopularniejsze joysticki „przyciskowe” mają pięć wygodnie rozmieszczonych przycisków wskazujących cztery kierunki ruchu i strzelania. Aby wykonać inne operacje (wprowadzić symbole sterowania grą), możesz użyć wszelkiego rodzaju kombinacji naciśnięć przycisków. Jednak rozwiązanie tego problemu w tradycyjny sposób za pomocą mikroukładów o małym i średnim stopniu integracji prowadzi do powstania zbyt drogiego i skomplikowanego urządzenia. W sprzęcie przemysłowym, do tej pory mało znanym radioamatorom, szeroko stosowane są mikroukłady PLA, które są specjalnie zaprojektowane do realizacji złożonej logiki kombinacyjnej. Jeden z nich - 556PT1 - może jednocześnie obliczać 8 funkcji logicznych z 16 zmiennych wejściowych, a te ostatnie mogą być zawarte w wyrażeniach logicznych w 48 różnych kombinacjach. W swojej konstrukcji jest podobny do PROM z tej samej serii 556. Aby zaimplementować pożądane funkcje, topliwe zworki na chipie mikroukładu są spalane za pomocą programatora. Metodykę programowania, schematy funkcjonalne programistów oraz schematy ich bloków można znaleźć w [1-8]. Schemat finalizacji komputera ZX-Spectrum pokazano na rysunku. Joystick (poprzez falowniki układu DD3) i klawiatura pozostają podłączone do komputera w zwykły sposób i nadal spełniają swoje funkcje. Styki przycisków joysticka SB 1-SB5 są dodatkowo podłączone do wejść A1-A5. oraz linie A8-A15 szyny adresowej procesora - z wejściami A7-A14 PLM 556RT1 (002). Wejście A6 jest wolne. Wyjścia układu 0D2 (otwarty kolektor) są podłączone równolegle do portu klawiatury (KL0-KL4) oraz do linii instalacji początkowej. Należy mieć na uwadze, że w wielu wariantach komputera ZX-Spectrum szyna adresowa procesora jest przeciążona. Dlatego zaleca się podłączenie do niej klawiatury i dodatkowego obciążenia (wejścia PLM) poprzez sterownik magistrali KR580VA86 (DD1). Czasami jest już na komputerze, na przykład, jeśli jest do niego podłączony dysk. Taki bufor zwiększy niezawodność klawiatury. Faktem jest, że w celu zmniejszenia obciążenia magistrali adresowej twórcy komputerów podłączyli wejścia portu klawiatury do źródła zasilania za pomocą rezystorów o dużej wartości (15 kOhm). W efekcie po zwolnieniu klawisza pojemności pasożytnicze ładują się zbyt wolno, co skutkuje błędnymi odczytami stanu klawiatury. W niektórych grach wada ta objawia się chaotycznym ruchem kursora na ekranie i spontanicznym przełączaniem trybów. Po zainstalowaniu sterownika magistrali i zmniejszeniu rezystorów obciążenia do 1 kOhm, takie zjawiska są całkowicie eliminowane. Gdy przełącznik SA1 jest rozwarty, wyjścia PLA są w stanie wysokiej impedancji i nie wpływa to na działanie komputera. Zamykając SA1, kombinacje wciśniętych przycisków joysticka mogą powielać działania niektórych klawiszy. Wynika to z faktu, że funkcja logiczna „przewodowa” w PLA powtarza stan jednego z bitów adresu na odpowiednim wejściu portu klawiatury, symulując w ten sposób połączenie tych obwodów ze stykami wciśniętego klawisza. Program firmware PLM przedstawiono w tabeli. jeden. Z dostępnych w matrycy 48 elementów 16I wykorzystano 30. Przykład przygotowania kodów programowych dla elementu symulującego naciśnięcie klawisza „C” przedstawiono w tabeli. 2. Wymagane jest wysłanie sygnału z linii A8 magistrali danych (wejście A14 PLM) na linię KL3 portu klawiatury (wyjście B4 PLM), jeżeli przyciski są ustawione „w prawo”. „W lewo” i „Strzelaj” są naciśnięte razem. W niezaprogramowanym PLA każde z wejść A1-A16 jest połączone z odpowiednim wejściem elementu 16I za pomocą dwóch zworek topikowych, aw obwodzie jednego z nich znajduje się falownik. Jeśli spalisz zworkę „odwrotną”, argument trafi bezpośrednio na wejście elementu AND, a jeśli „bezpośrednio” - odwróconą. Przepalenie obu zworek generalnie wyklucza ten argument z zaimplementowanej funkcji. W cyfrach binarnych kodów programowania zworki do usunięcia oznaczane są jako logiczna 1. W naszym przypadku wciśnięte przyciski joysticka odpowiadają logicznemu 0 na podłączonych do nich wejściach PLA. Aby zaimplementować funkcję AND, należy je odwrócić. usuwając „proste” zworki. A w bitach związanych z przyciskami, które nie są wciskane w tej kombinacji, te „odwrotne” są usuwane. Następnie określana jest linia magistrali adresowej, która ma być używana. Ponieważ aktywny poziom logiczny na nim jest niski, zworka „bezpośrednia” jest również usuwana w odpowiednim bicie kodu, pozostawiając zworkę „odwrotną”. Pozostaje wyłączyć nieużywane wejścia poprzez zdjęcie obu zworek w ich bitach. Macierz OR składa się z ośmiu (po jednym dla każdego wyjścia) elementów 48OR, których wejścia są połączone zworkami z wyjściami macierzy AND. Zatem na wyjściu każdego z elementów 16I znajduje się osiem zworek, przez które przepala się odłączyć go od odpowiedniego elementu 48OR, co oznacza, że i od wyjścia PLM. Wyjście B1 odpowiada najmniej znaczącej, a B8 najbardziej znaczącej cyfrze kodu programującego. Aby opuścić potrzebne nam połączenie z wyjściem B4, ustaw kod 0F7H. W przypadku popełnienia błędu podczas programowania lub konieczności zastąpienia jednej funkcji inną, wszystkie zworki są przepalone (kod 0FFH). całkowite odłączenie zbędnego elementu AND od wyjść. Zamiast tego programowany jest jeden z pozostałych nieużywanych programów. Dopóki istnieją takie elementy, operację można wielokrotnie powtarzać, ulepszając i uzupełniając algorytm działania joysticka. Zwróć uwagę, że przycisk „W lewo” symuluje naciśnięcie klawisza „5”, niezależnie od stanu przycisku „W górę”. Podobnie przycisk „W górę” symuluje naciśnięcie klawisza „7”, niezależnie od stanu przycisku „W lewo”. Dlatego jednoczesne wciśnięcie tych przycisków dla komputera jest równoznaczne z takim samym wciśnięciem wspomnianych klawiszy. Dotyczy to również przycisków „W dół” i „W prawo”, które naśladują klawisze „6” i „8”. Kombinacja klawiszy „0” i „5” wymagała po dwa elementy AND i OR. Jest to konieczne, aby sygnał A0 nie dostał się do obwodu KL11, a sygnał A4 do obwodu KL12. Łatwo zauważyć, że po naciśnięciu określonych klawiszy, nieokreślone są wolne, a wybrana linia magistrali adresowej ma logiczne 0. Na wyjściu PLA zamiast wymaganego logicznego 0 pojawi się 1. Jest jednak możliwość odwrócenia sygnałów wyjściowych poprzez przepalenie zworek macierzy NOT. W naszym przypadku należy to zrobić, usuwając je wszystkie. Podobnie możesz zaprogramować PLA do pracy z joystickiem, który ma styki normalnie zwarte. W razie potrzeby można go użyć do podłączenia klawiatury do komputera, którego wewnętrzne połączenia między klawiszami nie odpowiadają „standardowemu” ZX-Spectrum (na przykład klawiatura „Electronics MS 7007”). Korzystając z zaawansowanych funkcji joysticka należy pamiętać, że czasami wraz z wybranym klawiszem symuluje on naciśnięcie kilku innych. Wynika to z faktu, że niemożliwe jest naciśnięcie wszystkich niezbędnych przycisków jednocześnie, a wszystkie stany pośrednie, które pojawiają się na krótko w procesie wpisywania kombinacji, mogą być odbierane jako naciskanie odpowiednich klawiszy. Na szczęście wiele programów do gier nie reaguje na to. Jeśli w żaden sposób nie możesz wprowadzić wymaganego znaku, spróbuj nacisnąć przyciski w żądanej kombinacji przy otwartym przełączniku SA1. Następnie trzymając je zamknij przełącznik. literatura
Autor: W.Solonin, Konotop, Ukraina Zobacz inne artykuły Sekcja Telewizja. Czytaj i pisz przydatne komentarze do tego artykułu. Najnowsze wiadomości o nauce i technologii, nowa elektronika: Sztuczna skóra do emulacji dotyku
15.04.2024 Żwirek dla kota Petgugu Global
15.04.2024 Atrakcyjność troskliwych mężczyzn
14.04.2024
Inne ciekawe wiadomości: ▪ Napędy Silicon Power Armor A80 ▪ Satelita do drukowania paneli słonecznych w kosmosie ▪ Moralność, dobroczynność i religia ▪ Najlepszy czas na zdrowy sen ▪ Lampa na bakterie bioluminescencyjne Wiadomości o nauce i technologii, nowa elektronika
Ciekawe materiały z bezpłatnej biblioteki technicznej: ▪ sekcja serwisu Obliczenia radia amatorskiego. Wybór artykułu ▪ artykuł Ezhe pisah, pisah. Popularne wyrażenie ▪ artykuł Jak ślimak buduje swoją skorupę? Szczegółowa odpowiedź ▪ artykuł Dokumentacja dotycząca ochrony pracy w miejscu pracy ▪ artykuł Silniki piezoelektryczne. Encyklopedia elektroniki radiowej i elektrotechniki
Zostaw swój komentarz do tego artykułu: Wszystkie języki tej strony Strona główna | biblioteka | Artykuły | Mapa stony | Recenzje witryn www.diagram.com.ua |