e seu aspecto fisico:
este dispositivo é composto de 3 colunas e 4 linhas
uma forma de se ler qual tecla foi precionada esta descrita no roteiro abaixo:
roteiro
para identificar que tecla foi utilizada usaremos
RA0-RA1-RA2 como saida para alterar o nivel logico
da coluna 1-2-3 e
RB0-RB1-RB2-RB3 como entrada para ler a tecla
primeiro colocamos todas as colunas em nivel alto
(RA0-1-2-3)
lembrando que devemos colocar resistores de pull-down
no (RA0-1-2)
depois colocamos coluna 1 em nivel baixo (0)
e escaneamos RB0-RB1-RB2-RB3
lembrando que devemos colocar resistores de pull-up
nos portosRB0-RB1-RB2-RB3
quando o sistema estiver nesta condição a entrada que estiver em nivel baixo
sera considerado uma tecla precinada da coluna 1
temos 4 condições possiveis
PRIMEIRA
1=1
4=0
7=0
#=0
SEGUNDA
1=0
4=1
7=0
#=0
TERCEIRA
1=0
4=0
7=1
#=0
QUARTA
1=0
4=0
7=0
#=1
viram como é simples e isto se repete para as outras colunas
abaixo tem um trecho de um codigo em assembly
;**************************************VARREDURA C1******************************************
BCF C1 ;COLUNA1 EM NIVEL BAIXO
BSF C2 ;COLUNA2 EM NIVEL ALTO
BSF C3 ;COLUNA3 EM NIVEL ALTO
NOP
BTFSS L1
GOTO S1
NOP
BTFSS L2
GOTO S2
NOP
BTFSS L3
GOTO S3
NOP
BTFSS L4
GOTO S4
;**************************************VARREDURA C2******************************************
BSF C1 ;COLUNA1 EM NIVEL ALTO
BCF C2 ;COLUNA2 EM NIVEL BAIXO
BSF C3 ;COLUNA3 EM NIVEL ALTO
NOP
BTFSS L1
GOTO S5
NOP
BTFSS L2
GOTO S6
NOP
BTFSS L3
GOTO S7
NOP
BTFSS L4
GOTO S8
NOP
;**************************************VARREDURA C3******************************************
BSF C1 ;COLUNA1 EM NIVEL ALTO
BSF C2 ;COLUNA2 EM NIVEL ALTO
BCF C3 ;COLUNA3 EM NIVEL BAIXO
NOP
BTFSS L1
GOTO S9
NOP
BTFSS L2
GOTO S10
NOP
BTFSS L3
GOTO S11
NOP
BTFSS L4
GOTO S12
NOP
GOTO S13
AGORA VAMOS FAZER UMA PERGUNTA NÃO SERIA MAIS FACIL COLOCARMOS UMA ENTRADA PARA CADA TECLA?
vamos analisar :
temos 12 tecla
seria nescessario 12 entradas usando o sistema de matricial usamos
apenas 4 bits do portb e nos resta mais 4 bits do portb para usarmos
como entrada de sensores ou saida para acionamentos
de cargas via rele
bom pessoal é isso ai qualquer duvida é só comentar
os links estão off ou postar para
ResponderExcluirflavioeter@ibest.com.br