ENCICLOPÉDIA DE RÁDIO ELETRÔNICA E ENGENHARIA ELÉTRICA Como expandir as capacidades do joystick. Enciclopédia de rádio eletrônica e engenharia elétrica Enciclopédia de eletrônica de rádio e engenharia elétrica / TV Muitos jogos de computador requerem controle não apenas com um joystick, mas também com a introdução de comandos do teclado. No entanto, manter esses dois dispositivos com você durante o jogo é muito inconveniente. Usando uma matriz lógica programável (PLM) 556PT1, o autor resolveu o problema substituindo os comandos do "teclado" por combinações de pressionamentos de botão do joystick. Os programas de jogo para o computador ZX-Spectrum são construídos, via de regra, de forma que, após o início, não entrem automaticamente no modo de controle do joystick; para fazer isso, você deve pressionar algumas teclas. A necessidade de usar o teclado às vezes surge durante o jogo. Por exemplo, para iniciar uma nova sessão, substituir o jogo, você precisa pressionar o botão de instalação inicial. E isso significa que o jogador não pode ficar muito tempo longe do computador com um joystick nas mãos, sentar em uma cadeira ou deitar em um sofá. Para pressionar uma ou duas teclas, você precisa se aproximar do computador com bastante frequência. Alguns jogos não são projetados para serem controlados com um joystick. Você tem que usar o teclado intensivamente, o que quebra rapidamente com isso. Além disso, as teclas que controlam a direção do movimento das figuras e do tiro são mal escolhidas (por exemplo, estão localizadas no teclado em sequência), o que muitas vezes afeta o resultado. Seria tentador, sem alterar os programas, transferir o controle desses jogos para o joystick. Hoje, os joysticks de "botão" mais comuns têm cinco botões convenientemente posicionados para indicar as quatro direções de movimento e disparo. Para realizar outras operações (inserir símbolos de controle do jogo), você pode usar todos os tipos de combinações de pressionamentos de botão. Mas resolver esse problema da maneira tradicional com a ajuda de microcircuitos de pequeno e médio grau de integração leva à criação de um dispositivo excessivamente caro e complexo. Em equipamentos industriais, até agora pouco conhecidos pelos radioamadores, são amplamente utilizados microcircuitos PLA, especialmente projetados para implementar lógica combinacional complexa. Um deles - 556PT1 - pode calcular simultaneamente 8 funções lógicas a partir de 16 variáveis de entrada, e as últimas podem ser incluídas em expressões lógicas em 48 combinações diferentes. Em seu design, é semelhante ao PROM da mesma série 556. Para implementar as funções desejadas, os jumpers fusíveis no chip do microcircuito são queimados usando o programador. A metodologia de programação, diagramas funcionais dos programadores e diagramas esquemáticos de seus blocos podem ser encontrados em [1-8]. O esquema para finalizar o computador ZX-Spectrum é mostrado na figura. O joystick (através dos inversores do chip DD3) e o teclado permanecem conectados ao computador da maneira usual e continuam realizando suas funções. Os contatos dos botões do joystick SB 1-SB5 são conectados adicionalmente às entradas A1-A5. e linhas A8-A15 do barramento de endereço do processador - com entradas A7-A14 PLM 556RT1 (002). A entrada A6 fica livre. As saídas do chip 0D2 (coletor aberto) são conectadas à porta do teclado (KL0-KL4) em paralelo com o último e à linha de instalação inicial. Deve-se ter em mente que em muitas variantes do computador ZX-Spectrum, o barramento de endereço do processador está sobrecarregado. Portanto, é recomendável conectar o teclado e a carga adicional (entradas PLM) a ele através do driver de barramento KR580VA86 (DD1). Às vezes, já está no computador, por exemplo, se uma unidade de disco estiver conectada a ele. Esse buffer aumentará a confiabilidade do teclado. O fato é que, para reduzir a carga no barramento de endereços, os desenvolvedores de computador conectaram as entradas da porta do teclado à fonte de alimentação por meio de resistores de alto valor (15 kOhm). Como resultado, depois que a tecla é liberada, as capacitâncias parasitas são recarregadas muito lentamente, resultando em falsas leituras do estado do teclado. Em alguns jogos, esse defeito se manifesta na forma de movimento caótico do cursor na tela e troca espontânea de modos. Depois de instalar um driver de barramento e reduzir os resistores de carga para 1 kOhm, tais fenômenos são completamente eliminados. Quando a chave SA1 está aberta, as saídas do PLA estão em um estado de alta impedância e isso não afeta a operação do computador. Ao fechar o SA1, as combinações dos botões pressionados do joystick podem duplicar as ações de algumas teclas. Isso se deve ao fato da função lógica "wired" no PLA repetir o estado de um dos bits de endereço na entrada correspondente da porta do teclado, simulando assim a conexão desses circuitos com os contatos da tecla pressionada. O programa de firmware do PLM é fornecido na Tabela. 1. Dos 48 elementos 16I disponíveis na matriz, foram utilizados 30. Um exemplo de preparação de códigos de programação para um elemento que simula o pressionamento da tecla "C" é mostrado na Tabela. 2. É necessário enviar um sinal da linha A8 do barramento de dados (entrada A14 PLM) para a linha KL3 da porta do teclado (saída B4 PLM), se os botões estiverem "Direito". "Esquerda" e "Atirar" são pressionadas juntas. Em um PLA não programado, cada uma das entradas A1-A16 é conectada à entrada correspondente do elemento 16I por meio de dois jumpers fusíveis, sendo que no circuito de um deles existe um inversor. Se você queimar o jumper "inverso", o argumento irá para a entrada do elemento AND diretamente, e se o "direto" - invertido. Gravar ambos os jumpers geralmente exclui esse argumento da função implementada. Nos dígitos binários dos códigos de programação, os jumpers a serem removidos são designados como lógico 1. No nosso caso, os botões pressionados do joystick correspondem a 0 lógico nas entradas PLA conectadas a eles. Para implementar a função AND, eles devem ser invertidos. removendo os jumpers "retos". E nos bits associados aos botões que não são pressionados nesta combinação, os "inversos" são removidos. Em seguida, a linha do barramento de endereço a ser usada é especificada. Como o nível lógico ativo nele é baixo, o jumper "direto" também é removido no bit correspondente do código, deixando o jumper "inverso". Resta desabilitar as entradas não utilizadas removendo os dois jumpers em seus bits. A matriz OR consiste em oito (um para cada saída) elementos 48OR, cujas entradas são conectadas por meio de jumpers às saídas da matriz AND. Assim, na saída de cada um dos elementos 16I existem oito jumpers, queimando através dos quais desconecte-o do elemento 48OR correspondente, o que significa que e da saída do PLM. A saída B1 corresponde ao menos significativo e B8 - o dígito mais significativo do código de programação. Para sair da conexão que precisamos com a saída B4, defina o código 0F7H. Se ocorrer algum erro durante a programação ou for necessário substituir uma função por outra, todos os jumpers são queimados (código 0FFH). desconectando completamente o elemento desnecessário E das saídas. Em vez disso, um dos programas restantes não utilizados é programado. Enquanto houver tais elementos, a operação pode ser repetida repetidamente, melhorando e complementando o algoritmo de operação do joystick. Observe que o botão "Esquerda" simula o pressionamento da tecla "5", independentemente do estado do botão "Para cima". Da mesma forma, o botão "Para cima" simula o pressionamento da tecla "7", independentemente do estado do botão "Esquerdo". Portanto, o pressionamento simultâneo desses botões para o computador equivale ao mesmo pressionamento das teclas mencionadas. Isso também se aplica aos botões "Para baixo" e "Direita", que imitam as teclas "6" e "8". A combinação de teclas "0" e "5" exigia dois elementos AND e OR cada. Isso é necessário para que o sinal A0 não entre no circuito KL11 e o sinal A4 não entre no circuito KL12. É fácil ver que quando as teclas especificadas são pressionadas, as não especificadas ficam livres e a linha do barramento de endereço selecionada tem um 0 lógico. Na saída PLA, em vez do 0 lógico necessário, aparecerá 1. No entanto, é possível inverter os sinais de saída queimando os jumpers da matriz NOT. No nosso caso, isso deve ser feito excluindo todos eles. Da mesma forma, você pode programar o PLA para funcionar com um joystick que normalmente tem contatos fechados. Se necessário, pode ser usado para conectar um teclado ao computador, cujas conexões internas entre as teclas não correspondem ao ZX-Spectrum "padrão" (por exemplo, o teclado "Electronics MS 7007"). Usando os recursos avançados do joystick, você deve ter em mente que, às vezes, junto com a tecla desejada, ele simula o pressionamento de várias outras. Isso se deve ao fato de que é impossível pressionar todos os botões necessários ao mesmo tempo, e todos os estados intermediários que ocorrem brevemente no processo de digitação de uma combinação podem ser percebidos como pressionando as teclas correspondentes. Felizmente, muitos programas de jogos não respondem a isso. Se você não conseguir inserir o caractere necessário de forma alguma, tente pressionar os botões na combinação desejada com a chave SA1 aberta. Então, enquanto os segura, feche o interruptor. Literatura
Autor: V.Solonin, Konotop, Ucrânia Veja outros artigos seção TV. Leia e escreva útil comentários sobre este artigo. Últimas notícias de ciência e tecnologia, nova eletrônica: Máquina para desbastar flores em jardins
02.05.2024 Microscópio infravermelho avançado
02.05.2024 Armadilha de ar para insetos
01.05.2024
Outras notícias interessantes: ▪ Músculos são desenvolvidos que reagem à luz de um determinado comprimento de onda ▪ O gerador eólico funciona em qualquer clima ▪ Os fones de ouvido sem fio Vernte substituirão o smartphone Feed de notícias de ciência e tecnologia, nova eletrônica
Materiais interessantes da Biblioteca Técnica Gratuita: ▪ seção do site Parâmetros, análogos, marcação de componentes de rádio. Seleção de artigos ▪ artigo É impossível para nós. expressão popular ▪ artigo Que obra literária é erroneamente atribuída a Hemingway? Resposta detalhada ▪ artigo Especialista em Treinamento de Pessoal. Descrição do trabalho ▪ artigo Diminuição das horas. Segredo do Foco
Deixe seu comentário neste artigo: Todos os idiomas desta página Página principal | Biblioteca | Artigos | Mapa do Site | Revisões do site www.diagrama.com.ua |