Página 1 de 1

KBI - Interrupcao para teclado

MensagemEnviado: 04 Ago 2009 15:11
por c.alexandre.ferri
Ola pessoal.

Estou desenvolvendo meu TCC com o MC9S08AC32.
Ele possui 8 pinos com o sistema KBI para interrupcao por teclado. Nao sei muito bem como usa-lo, se cada porta coloco uma chave ou se posso usar teclado matricial. Preciso que este micro me disponibilize 15 entradas para chave com interrupcao, sendo assim, o melhor seria se desse para usar o teclado matricial.

Poderiam me informar como funciona essa interrupcao (KBI), pois ja tentei ler o manual, mas nao entendi muita coisa. Qual o melhor metodo de se usar essa interrupcao (KBI).

Agradeco a toda ajuda..

MensagemEnviado: 07 Ago 2009 15:18
por leoabubauru
- Desabilite as interrupções de KBI (IKBIMASK bit);
- Programe os pinos que deverão ser interrompidos (ex. b4 até b7, pois b0 a b3 seriam os pinos de varredura)
- selecione a borda de subida para estes pinos;
- Habilite as interrupções de KBI (IKBIMASK bit);


Depois comece a fazer a varredura nos bits b0 a b3. Quando houver interrupção você sabera qual tecla foi pressionada.

MensagemEnviado: 08 Ago 2009 00:49
por msamsoniuk
jah os pinos da KBI tem pull-up interno, nao seria melhor programar borda de descisa e comutar as chaves ativas para GND na varredura? tipo 4 inputs KBI x 4 outputs...

MensagemEnviado: 11 Ago 2009 20:45
por c.alexandre.ferri
Bom, fiz como o Marcelo disse. Configurei 4 portas como entrada e 4 como saida (telado matricial de 4x4 dando 16 teclas). Ativei as interrupcoes KBI das 4 portas de entrada e ativei pullup internos destas portas. Criei um codigo q ao ser acionado uma das quatro interrupcoes faz-se uma varredura pelas outras 4 portas configuradas como saida.
Obrigado pela ajuda pessoal.

até mais