Página 1 de 1
Comunicação ps2 com pic

Enviado:
09 Jul 2009 21:36
por nois88
Ola amigos, estou pesquisando sobre um projeto que utiliza um teclado ps2(mini-dimm), achei muito simples a sua comunicação isto é bom, porém por equanto so estou programando em assembly e o exemplo que peguei é em "c" e tem 2 linhas de comando nele que não consegui achar como fazer em assembly, que são a ps2_config e ps2_key_read, são dois comandos de microc e não sei como utilizalos em assembly, se alguem puder me ajudar fico grato!!
olha o exeplo do programa ai:
program TecladoPS2
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.

Enviado:
11 Jul 2009 00:23
por Beto_s
Compila no Mikroc e vê o que ele vai gerar em assembly para ter uma idéia ( fica meio confuso se vc nao tem digamos... fluência em assembly...rsrsr)
Já fiz algumas rotinas em asm para ler um teclado que depois evoluiu para um leitor de codigo de barras , mas foi na unha mesmo , implementar a leitura serial ...
Comece pesquisando o protocolo do teclado para ter uma ideia do que vc vai ter que implementar ...
Tem bastante info na web...

Enviado:
11 Jul 2009 08:02
por MOR_AL
Olá nois88.
Esta linguagem não é em "c". Está me parecendo "MikroBasic".
As duas instruções "ps2_config e ps2_key_read" são rotinas. Pode-se criar instruções em assembly, mas sua conversão não é imediata.
Você pode compilar no MikroBasic e tentar converter as duas instruções para o assembly (caso o compilador faça a conversão de rotinas internas. Eu acho que não). Para usar o assembly, talvez você tenha que estudar sobre PS2 e começar do zero. Não sei se vale a pena. Certa ocasião fiz isso para o I2C. Deu um trabalhão e no final só funcionava para uma determinada frequência de clock.
De qualquer forma, boa sorte!
MOR_AL

Enviado:
11 Jul 2009 10:07
por Alesandro F Zagui
nois88
Eu acho mais facil voce desenvolver o codigo na unha mesmo.
É bem facil.
Eu fiz a minha rotina utilizando a interrupcao externa, liguei o clock do teclado ao pino PORTB,0. Entao cada bit transmitido pelo teclado gera um interrupcao.
http://renato.silva.nom.br/eletro/teclado.html
http://www.computer-engineering.org/ind ... =Main_Page
Alesandro F Zagui

Enviado:
11 Jul 2009 11:10
por fabim
noiz, apesar que.
A partir do momento que você ja aprendeu a manipular a aquitetura do pic, para pular para pascal basic ou mesmo C, é um pulinho.
O bom da historia é que você vai saber a melhorar o codigo fazendo uma salada de asm e C.
Pense nisso, vai ficar bom pra você.
Abraços
Fabim

Enviado:
11 Jul 2009 19:53
por vtrx
Olá,ja tem um tempo que fiz um projeto completo com 14 teclas(16F628A) e compativel com todos os Windows e Linux ja dando boot da bios.
Procure aqui no forum que vai achar uns links úteis que passei a alguem aqui no forum.
Meu código é em assembler mas é fechado,mas posso te dar umas dicas enquanto desenvolve o seu.
***********************************
Me confundí,o post com links é de outro forum,não sei se pode postar link de outro forum,mas se não puder é só apagar:
http://www.forumnow.com.br/vip/mensagens.asp?forum=41935&grupo=56847&topico=2998333&pag=1

Enviado:
13 Jul 2009 10:29
por tcpipchip
Como voce trata um pacote que a BIOS envia ao TECLADO para acender o NUMLOCK ???

Enviado:
13 Jul 2009 13:05
por vtrx
Não entendí sua pergunta?
Veja,a BIOS emvia esse comando mas o windows Xp e Linux tambem reiniciam e enviam novamente esse comando.
Voce precisa ler qual byte de status esta sendo enviado,se for 'ED',voce pula para rotina de tratamento para ver qual o estado do NumlOck.
Explique melhor sua dúvida.
QWERT TO DVORAK

Enviado:
13 Jul 2009 18:10
por tcpipchip
Voce conseguiria fazer um conversor de QWERT para DVORAK ?
Ou seja...fazer uma placa que fica entre o PC e teclado, que troca as teclas pressionadas ?
Eu comecei a fazer no AVR...mas...nao esta funcionando 100%...
TCPIPCHIP

Enviado:
13 Jul 2009 18:40
por vtrx
Olha,até da pra fazer mas muda completamente a programação do pic pois deste modo teremos que ler os códigos do teclado.
Tem certeza que vale a pena?
Achei este artigo:
http://oui.com.br/n/content.php?article.17
Ve se te interessa,mas acho muito trabalhoso fazer uma placa conversora.

Enviado:
13 Jul 2009 21:48
por nois88
o galera vlw pelas respostas!
vo estudar mais sobre o assunto e ver oque acontece, vou seguir a linha de dica de vcs, e ver no que da! hehehe
MUITO OBRIGADO A TODOS!


Enviado:
11 Jun 2012 22:45
por mhagnumdw
Opa!!
Alguém pode me dizer como é o procedimento para comunicar esse teclado numérico com o PIC? Acho que sabendo o protocolo e pinagem (quantos pinos vou precisar no PIC?), o resto dá pra desenrolar.
http://www.gertec.com.br/produto.aspx/p ... /36/TEC_12
Valeu!!
--
MhagnumDw

Enviado:
12 Jun 2012 12:18
por Milhoci
mhagnumdw escreveu:Opa!!
Alguém pode me dizer como é o procedimento para comunicar esse teclado numérico com o PIC? Acho que sabendo o protocolo e pinagem (quantos pinos vou precisar no PIC?), o resto dá pra desenrolar.
http://www.gertec.com.br/produto.aspx/p ... /36/TEC_12Valeu!!
--
MhagnumDw
https://www.google.com.br/search?sugexp ... 2+protocol
http://pcbheaven.com/wikipages/The_PS2_protocol/

Enviado:
21 Jun 2012 20:43
por mhagnumdw
O teclado chegou e ele é - na verdade - serial (DB9).
Já comuniquei com um PC e deu certo.
Já tenha no PIC um MAX232, então deve ser simples colocar o teclado no PIC. Nesse fds verei isso.
Valeu.