Autor Tema: manejo de teclado matricial problema  (Leído 4674 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jo-fe-ar

  • PIC10
  • *
  • Mensajes: 24
manejo de teclado matricial problema
« en: 25 de Abril de 2009, 03:15:40 »
Hola pues disculpenme tengo un problema, quiero empezar por que cuando presione una tecla, un led se encienda un determinado numero de veces, es decir si presiono la tecla "6", se enciana 6 vces el led

Mi problema es que, por mas que intento detectar la tecla presionada, cuando conecto mi circuito, el led empieza a parpadear por sí solo, y no me reconoce ninguna tecla, realmente creo que estoy mal, ojala me puedan hechar la mano con el código, el teclado matricial es un 4x4, y lo tengo conectado al puertob, el PIC que utilizo es un PIC16F648A,

nota: el programador esta bien, tambien el pic, y tambien el led, ya programe el simple codigo de encender y apagar el led, y funciono perfectamente.

Por favor ayudenme con el código para detectar una tecla.

desde ya gracias

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: manejo de teclado matricial problema
« Respuesta #1 en: 25 de Abril de 2009, 03:33:19 »
Pega aquí tu programa y tu esquema.

Desconectado jo-fe-ar

  • PIC10
  • *
  • Mensajes: 24
Re: manejo de teclado matricial problema
« Respuesta #2 en: 25 de Abril de 2009, 13:14:22 »
oK, ESPERO QUE ME PUEDAN AYUDAR,(realmente creo que estoy remal a la hora de checar que tecla fue pulsada no tengo mucha idea por eso ayudenme porfavor :shock:) aqui esta la coneccion del teclado matricial y mas abajo el codigo (pic basic pro 2.46):

1----------2--------3--------A   >>fila1
4----------5--------6--------B   >>fila2
7----------8--------9--------C   >>fila3
*----------0--------#--------D   >>fila4
___       ___       ___        ___
col1------col2-----col3-----col4

pines del teclado|corresponden a:
______________________________
1                      | fila 2
2                      |fila3
3                      |col1
4                      |fila4
5                      |col2
6                      |col3
7                      |col4
8                      |fila1

el teclado esta conectado al pic asi:

pines de teclado | pines del pic
___________________________
1                     |   portb.0
2                     |   portb.1
3                     |   portb.2
4                     |   portb.3
5                     |   portb.4
6                     |   portb.5
7                     |   portb.6
8                     |   portb.7






DEVICE=16F648A
CONFIG INTRC_OSC_NOCLKOUT,WDT_OFF,PWRTE_ON,CP_OFF,BODEN_OFF,LVP_OFF,MCLRE_OFF
LED VAR PORTA.0
FILA1 VAR PORTB.7
FILA2 VAR PORTB.0
FILA3 VAR PORTB.1
COL1 VAR PORTB.2
COL2 VAR PORTB.4
COL3 VAR PORTB.5

FILA1 = 0
FILA2 = 0
FILA3 = 0
COL1 = 0
COL2 = 0
COL3 = 0
LOW LED

ANALIZADOR:
IF (FILA1 = 1) AND (COL1 = 1) THEN TECLA1
IF (FILA1 = 1) AND (COL2 = 1) THEN TECLA2
IF (FILA1 = 1) AND (COL3 = 1) THEN TECLA3
IF (FILA2 = 1) AND (COL1 = 1) THEN TECLA4
IF (FILA2 = 1) AND (COL2 = 1) THEN TECLA5
IF (FILA2 = 1) AND (COL3 = 1) THEN TECLA6
IF (FILA3 = 1) AND (COL1 = 1) THEN TECLA7
IF (FILA3 = 1) AND (COL2 = 1) THEN TECLA8
IF (FILA3 = 1) AND (COL3 = 1) THEN TECLA9
GOTO ANALIZADOR

TECLA1:
HIGH LED
PAUSE 300
LOW LED
GOTO ANALIZADOR

TECLA2:
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
GOTO ANALIZADOR

TECLA3:
HIGH LED
PAUSE 300
LOW LED
PAUSE 300HIGH LED
PAUSE 300
LOW LED
PAUSE 300HIGH LED
PAUSE 300
LOW LED
GOTO ANALIZADOR

TECLA4:
HIGH LED
PAUSE 300
LOW LED
PAUSE 300HIGH LED
PAUSE 300
LOW LED
PAUSE 300HIGH LED
PAUSE 300
LOW LED
PAUSE 300HIGH LED
PAUSE 300
LOW LED
GOTO ANALIZADOR

TECLA5:
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
GOTO ANALIZADOR

TECLA6:
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
GOTO ANALIZADOR

TECLA7:
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
GOTO ANALIZADOR

TECLA8:
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
GOTO ANALIZADOR

TECLA9:
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
PAUSE 300
HIGH LED
PAUSE 300
LOW LED
GOTO ANALIZADOR





Desconectado BLACKPIC

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 129
Re: manejo de teclado matricial problema
« Respuesta #3 en: 26 de Abril de 2009, 11:12:27 »
Hola amigo mira un ejemplo sencillo aqui de como puedes usar el teclado espero que te sirva de algo, y tambien te comento que en el foro hay vastante informacion, tienes que aprende a buscar el buscador del foro y si no encuetras dato puedes preguntar sin problema oh si tienes alguna duda tambien...

http://todopic.mforos.com/8826/4180638-contar-10-pulsos-y-encender-led/?pag=4#24562539
Saludo desde Rep.Dom ( BLACKPIC )..
La ciencia es el arte del ensayo y el error, su producto más importante es la razón...