Autor Tema: INKEY  (Leído 2235 veces)

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

Desconectado neosud

  • PIC12
  • **
  • Mensajes: 51
INKEY
« en: 21 de Marzo de 2005, 18:11:00 »
HOLA AMIGOS DEL FORO, RECIBAN EL SALUDO DE SU AMIGO NEOSUD.
ESTOY UN TANTO PREOCUPADO, HACE POCO EMPECE A REALIZAR UNA APLICACION DONDE UTILIZABA UN TECLADO HEXADECIMAL, UN PIC16F877 Y 6 DISPLAY CATODO COMUN.
LO Q DESEABA HACER ERA INGRESAR POR EL TECLADO UN DETERMINADO VALOR SIENDO ESTE COMO MAXIMO 999999 PERO PODRIA SER UN NUMERO DE 1 DIGITO, 2 O MAS SIENDO COMO MAX. 6 DIGITOS. PARA LUEGO PRESIONAR ENTER EN EL TECLADO E INICIAR LA LECTURA DE UN PULSADOR NORMALMENTE ABIERTO, Q CADA VEZ Q INGRESARA UNA SEÑAL BAJA EL NUMERO EXPRESADO EN LOS DISPLAY DISMINUYERA EN 1 Y ASI SUCESIVAMENTE HASTA LLEGAR A CERO ENVIANDOSE EN ESE MOMENTO UNA SEÑAL PARA ACTIVAR UN RELE.
EL PROBLEMA Q TENGO ES Q UTILICE LA INSTRUCCION INKEY Y NO PUEDO LEER NINGUNA DE LAS 4 TECLAS DE LA PRIMERA COLUMNA, ESTUVE REVISANDO LA AYUDA DEL SOFTWARE PBASIC PLUS Y DICE Q LEE TECLADO DE 4X3 PERO HACIENDO LA CONEXION DE RB7 SE LEE UN TECLADO DE 4X4, REALMENTE NO SE Q ESTA PASANDO YA Q HE SEGUIDO LA CONEXION SUGERIDA EN LA AYUDA Y EL EJEMPLO Q ALLI PRESENTAN.

EL TECLADO  Q UTILIZO SACAN AL EXTERIOR 9 PINES, LOS 4 PRIMEROS SON PARA LAS FILAS, LOS OTROS 4 SON LAS COLUMNAS Y EL ULTIMO ESTA CONECTADO A UNA PARTE METALICA DEL TECLADO, YA HE REALIZADO ALGUNAS APLICACIONES CON ESTE MISMO TECLADO EN ASM PERO ESTA VEZ DECIDI HACERLO EN PBPLUS POR LA FACILIDAD DE MANEJO DE MULTIPLICACIONES Y VARIABLES DE 32 BITS.

COMO SOLUCIONAR ESTE DILEMA, PODRIAN AYUDARME PLEASE, ALGUIEN YA PASO POR ESTO?

PROGRAMA INICIAL REALIZADO PARA LA IDENTIFICACION DE LAS TECLAS PULSADAS:

DEVICE 16F877
XTAL=20

DIM VAR1 AS BYTE

OUTPUT PORTB

MAIN:
VAR1=INKEY
DELAYMS 50
PORTB=VAR1
GOTO MAIN

NOTA: CONECTE A LAS LINEAS RB0,RB1,RB2,RB3 LAS RESISTENCIAS DE 470 OHM A LAS FILAS DEL TECLADO Y LAS DEMAS LAS CONECTE DIRECTO A LAS COLUMNAS DEL TECLADO, ESTO ES CORRECTO O ES AL CONTRARIO, RESISTORES A COLUMNAS Y FILAS VAN DIRECTO?


Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: INKEY
« Respuesta #1 en: 23 de Abril de 2005, 18:29:00 »
Lo único que veo que no has puesto en el programa es:

 DECLARE KEYPAD_PORT PORTB

El resto de cosas está bien.

También has omitido poner las R pull up del puerto B. Comprueba estas dos cosas y la linea que va a RB7 que no está cortada en algún punto.

Yo no he usado ese comando pero debería ir bien.


Saludos.
Ricky

Desconectado neosud

  • PIC12
  • **
  • Mensajes: 51
RE: INKEY
« Respuesta #2 en: 29 de Abril de 2005, 10:26:00 »
EN LA AYUDA DEL COMANDO INKEY HAY UN ESQUEMATICO, NO ME QUEDA MUY CLARO SI LOS PINES RBO,RB1,RB2 Y RB3 SE CONECTAN A LAS FILAS O COLUMNAS DEL TECLADO, EN MI HARDWARE ESTAN CONECTADOS A LAS FILAS, ELLO ES DEBERIA SER ASI.ME QUEDA DUDAS EN CUANTO A ELLO
UNA CNSULTA ADICIONAL, LAS RESISTENCIAS PULL-UP INTERNAS DE LA PUERTA B SE ENCUENTRAN EN TODOS SUS PINES O SOLO EN LOS 4 MAS SIGNIFICATIVOS.

GRACIAS RLG POR SU AYUDA, LO VOY A PROBAR Y HABER Q SUCEDE, SALUDOS

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: INKEY
« Respuesta #3 en: 01 de Mayo de 2005, 00:10:00 »
Cada uno de los pines del B tiene una resistencia de pullup.

Las líneas más significativas son columnas y las de menos peso son filas.

sALUDOS
Ricky