Display + teclado + pic

Hola un gran favor necesito conectar 2 display a un teclado que tiene 4 patas que sacan en binario en numero que se pulso ejemplo se apieto el 1 saldria '0001' esto tengo que hacerlo mediante un pic16f84a , mi problema es que no me ubico como hacer algo asi, si alguien tiene algun codigo parecido o me podria guiar como hacerlo , se agradeceria mucho estoy programando en ASM.
 
Sergio Ureña dijo:
Hola un gran favor necesito conectar 2 display a un teclado que tiene 4 patas que sacan en binario en numero que se pulso ejemplo se apieto el 1 saldria '0001' esto tengo que hacerlo mediante un pic16f84a , mi problema es que no me ubico como hacer algo asi, si alguien tiene algun codigo parecido o me podria guiar como hacerlo , se agradeceria mucho estoy programando en ASM.

Hola, revise este link http://www.x-robotics.com/downloads/rutinas/teclado.txt, e sun arutina para leer el teclado.

Es usted Francisco Ureña???

Saludos
 
Tu teclado esta muy interesante, eso te facilita las cosas. Los display son de 7 segmentos? si es así te aconsejo esto: ingresas el valor en binario por el puerto A, luego en tu programa para el 16F84, haces q el micro chequee mediante un bucle a cada momemto ese puerto, y si existe un dato lo guarde y mediante una tabla donde estarán los codigos de 7 segmentos obtenga el valor correspondiente, y finalmente lo saque por el puerto B; ahora como son 2 display el micro debe multiplexar constantemente entre los 2 para eso puedes usar el ultimo pin del puerto B ya que el dispaly necesita solo 7; puedes haga ambas tareas (rebisar PA y multiplexar en PB) en el mismo bucle y si existe un dato nuevo llamar a una subrutina.
Cuando se ingrese un dato nuevo deberás también desplazar el dato anterior al otro display (de derecha a izquierda como en las calculadoras)
Ojala te sirva de algo la idea.
Salu2:
BRAULIO
 
amigo aqui

caballero mira a ver si pudes hacer este.

LO DEMAS........................................................

#INCLUDE<P16F84A.INC>

;DECLARACION DE VARIABLES
NUMERO EQU 20
REG1 EQU 21
REG2 EQU 22
REG3 EQU 23
RESTA EQU 24
ORG 00
GOTO INICIO




TABLA
ADDWF PCL,1
RETLW B'11000000' ;ANODO COMUN
RETLW B'11111001'
RETLW B'10100100'
RETLW B'10110000'
RETLW B'10011001'
RETLW B'10010010'
RETLW B'10000010'
RETLW B'11111000'
RETLW B'10000000'
RETLW B'10011000'
RETLW B'10111111'
INICIO
BSF STATUS,5
MOVLW H'00'
MOVWF PORTB
MOVLW B'01111'
MOVWF PORTA
BCF STATUS,5
CLRF PORTB
CLRF PORTA
GER
YYYYY MOVF PORTA,0
movwf NUMERO
GOTO DECODIFICAR


VISUALIZACION
MOVF UNIDAD,W
CALL TABLA
BCF PORTA,4
MOVWF PORTB
CALL RETARDO
BSF PORTA,4
MOVF DECENAS,W
CALL TABLA
MOVWF PORTB
BCF PORTB,7
CALL RETARDO
BSF PORTB,7
RETURN


DECODIFICAR
MOVF NUMERO,W
MOVWF RESTA
CLRF DECENAS
MOVLW .10
RE SUBWF RESTA,1
BTFSC STATUS,0
GOTO INCREME
ADDWF RESTA,1
MOVF RESTA,W
MOVWF UNIDAD
CALL VISUALIZACION
GOTO YYYY
INCREME INCF DECENAS,1
GOTO RE


SALUDOS
 
Atrás
Arriba