Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Comunicação PS2, Manuais, Projetos, Pesquisas de Engenharia Elétrica

Aprenda neste artigo a comunicar via PS2 com o microcontrolador PIC.

Tipologia: Manuais, Projetos, Pesquisas

Antes de 2010

Compartilhado em 27/06/2009

vitor-amadeu-souza-7
vitor-amadeu-souza-7 🇧🇷

4.3

(4)

57 documentos

1 / 10

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
WWW.cerne-tec.com.br
1
Comunicando com um teclado PS2
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.
pf3
pf4
pf5
pf8
pf9
pfa

Pré-visualização parcial do texto

Baixe Comunicação PS2 e outras Manuais, Projetos, Pesquisas em PDF para Engenharia Elétrica, somente na Docsity!

WWW.cerne-tec.com.br

Comunicando com um teclado PS

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

  1. Veja que a soma de todos os bits é par e como a paridade utilizada é impar, este bit no protocolo de comunicação fica em nível alto para que toda a soma agora resulte em um número impar. Note também que a comunicação sempre começa pelo bit LSB do dado a ser transmitido.

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.

  1. 32 [space] 64 @ 96 `
  2. 33! 65 A 97 a
  3. 34 " 66 B 98 b
  4. 35 # 67 C 99 c
  5. 36 $ 68 D 100 d
  6. 37 % 69 E 101 e
  7. 38 & 70 F 102 f
  8. 39 ' 71 G 103 G 8 * * 40 ( 72 H 104 H 9 * * 41 ) 73 I 105 I 10 * * 42 * 74 J 106 j
  9. 43 + 75 K 107 kl
  10. 44 , 76 L 108 l 13 * * 45 - 77 M 109 m
    1. 78 N 110 n
  11. 47 / 79 O 111 o
  12. 48 0 80 P 112 p
  13. 49 1 81 Q 113 q
  14. 50 2 82 R 114 r
  15. 51 3 83 S 115 s
  16. 52 4 84 T 116 t

WWW.cerne-tec.com.br

  1. 53 5 85 U 117 u
  2. 54 6 86 V 118 v
  3. 55 7 87 W 119 w
  4. 56 8 88 X 120 x
  5. 57 9 89 Y 121 y
  6. 58 : 90 Z 122 z
  7. 59 ; 91 [ 123 {
  8. 60 < 92 \ 124 |
  9. 61 = 93 ] 125 }
  10. 62 > 94 ^ 126 ~
  11. 63? 95 _ 127. Tabela 3 – Tabela ASCII

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?

N

S

Recebeu o “a”?

Liga o relé Desliga o relé

S N

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.