






Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Aprenda neste artigo a comunicar via PS2 com o microcontrolador PIC.
Tipologia: Manuais, Projetos, Pesquisas
1 / 10
Esta página não é visível na pré-visualização
Não perca as partes importantes!







WWW.cerne-tec.com.br
Vitor Amadeu Souza – [email protected]
Introdução
Os teclados são corriqueiramente utilizados nos dias de hoje no mundo dos PCs. Neste artigo, irei apresentar ao leitor como é feita a comunicação entre o teclado e um PC e apresentar uma aplicação onde o teclado poderá controlar o estado de um relé, comunicando desta forma com um microcontrolador PIC programado através do mikroBASIC.
A comunicação com um PC
Existem dois conectores de teclado, sendo um chamado de DIN e outro de mini-DIN. O primeiro pode ser visto na figura 1 e o segundo na figura 2.
Figura 1 – Conector DIN
Figura 2 – Conector mini-DIN
O conector DIN é caracterizado por conter 5 pinos e ser maior em relação ao mini-DIN que possui 6 pinos. Neste artigo, irei explorar o teclado que utilizado o conector mini-DIN, por ser o mais usual nos dias de hoje. Este tipo de conector também é chamado de PS2. A configuração dos pinos deste conector pode ser visualizada na figura 3.
WWW.cerne-tec.com.br
Figura 3 – Pinos do conector PS
Observe que dos 6 pinos deste conector, somente 4 são utilizados sendo 2 para alimentação e 2 para comunicação. A comunicação utilizada é síncrona e funciona de 10 kHz a 16kHz no nível TTL com 1 bit de start, 8 de dados, 1 de paridade e 1 de stop. O elemento que gera o sincronismo na rede é sempre o teclado. Verifique na figura 4 um gráfico apresentando a comunicação do dado
Figura 4 – Envio de Dados
Observe que a linha de dados somente muda de estado enquanto a linha de clock permanece em nível alto. Isto ocorre porque a transferência de dados é feita quando a linha de clock está em nível baixo.
Recursos de Hardware
CLOCK
DATA
WWW.cerne-tec.com.br
ps2 _key_read (VALOR, ESPECIAL, PRESSIONADO) Tabela 2 – Funções de comunicação com o teclado
A primeira função é utilizada para configurar a ligação dos pinos de dados e de clock do teclado ao microcontrolador. Através de PORTA devemos informar em que porta do microcontrolador está ligado os pinos de DATA e CLOCK do teclado e através de CLOCK e DATA informar em que pino do PORT os mesmos encontram-se conectados. De acordo com o esquema elétrico apresentado na figura 1, podemos observar que o PORT onde está ligado o teclado é o PORTC e o pino de clock é o RC1 e o de dados o RC2. Desta forma, este comando ficaria como o apresentado no box 1.
ps2_config (PORTC, 1, 2) 'Configura os pinos de comunicação com o teclado Box 1 – Configuração do teclado
Já o comando ps2_key_read (VALOR, ESPECIAL, PRESSIONADO) tem a função de verificar se alguma tecla foi pressionada e caso esteja, retornar o valor da tecla pressionado. Em valor, é retornado o caracter pressionado de acordo com a tabela ASCII caso seja pressionado algum caracter, número, pontuação e espaço. A tabela ASCII pode ser observada na tabela 3.
WWW.cerne-tec.com.br
Caso algum caracter diferente desses seja pressionado, como por exemplo o F1, o valor retornado será de acordo com o apresentado na tabela 4.
Tecla Valor retornado F1 1 F2 2 F3 3 F4 4 F5 5 F6 6 F7 7 F8 8 F9 9 F10 10 F11 11 F12 12 Enter 13 Page Up 14 Page Down 15 Backspace 16 Insert 17 Delete 18 Windows 19 Ctrl 20 Shift 21 Alt 22 Print Screen 23 Pause 24 Caps Lock 25 End 26
WWW.cerne-tec.com.br
Figura 2 – Fluxograma do exemplo
Início
Configura os pinos do PORTA de forma digital Configura o RA1 como saída Inicializa o teclado
Recebido algum caracter?
Recebeu o “a”?
Liga o relé Desliga o relé
WWW.cerne-tec.com.br
Programa
Primeiramente você deve criar um projeto no mikroBASIC para execução deste exemplo. Os passos são os mesmos do apresentado no artigo que relata a utilização de um display gráfico, mudando apenas o microcontrolador utilizado, que neste caso é o PIC18F452 e o configuration bit, que deve seguir a forma que está apresentada na tabela 5. Note que o restante que não é mencionado é irrelevante para este projeto.
Configuration Bit Descrição HSPLL_OSC_1H Seleciona a fonte de clock para o tipo cristal com PLL ativa, ou seja, ele irá multiplicar a frequência de entrada por 4 e processar internamente na mesma frequência do cristal que neste caso é de 10 MHz. WDT_OFF_2H Desliga o Watchdog LVP_OFF_4L Desliga a gravação em baixa tensão DEBUG_OFF_4L Desliga o modo de debugação
Tabela 5 – Ajuste dos Configurations bits
Como a PLL deste exemplo ficará ativa, internamente o microcontrolador irá funcionar a 40 MHz e processar 10 MIPS. Para finalizar, informe no parâmetro clock o valor de 40000000 (40 MHz). Feito isto, pressione ok. O código completo para execução deste exemplo está apresentado no box
program TecladoPS
Main: dim keydata, special, down as byte 'Define as variáveis auxiliares da função PS2_Key_Read ADCON1=7 'Desliga os ADs do pino do PORTA trisa.1=0 'Configura o RA1 como saída Ps2_config(PORTC,1,2) 'Configura os pinos de CLOCK e DATA do teclado
while true 'Loop While
if Ps2_Key_Read(keydata, special, down)=1 then 'Tem algum dado no buffer? if keydata="a" then 'Sim! É o "a"? porta.1=1 'Sim! Então liga o relé else porta.1=0 'Não... Então desliga o relé end if end if
wend end.
WWW.cerne-tec.com.br
estes hoje no mercado, tornado o seu uso bastante favorável em projetos que necessitem de algum ajuste de parâmetro.