Autor Tema: TECLADO MATRICIAL 4X3 ERROR  (Leído 2287 veces)

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

Desconectado ALFREDOSKY

  • PIC16
  • ***
  • Mensajes: 118
TECLADO MATRICIAL 4X3 ERROR
« en: 25 de Septiembre de 2014, 20:12:43 »
Hola a todos, estoy intentando programar una aplicacion comun basado en teclado(ingresar un password y validarlo) para el pic 18f4550, pero tengo un comportamiento extraño de la funcion kbd_getc() al simularlo en PROTEUS, uso el compilador ccs como plugin de MPLABX, uso tambien la libreria KBD.C y he descomentado la linea para uso del puerto B, ya que en el puerto D funciona un LCD de 16x2, al correr el programa, sin que conecte nada a los pines del puerto B(pines al aire) la funcion kbd_getc() recibe caracteres y escribe en el lcd  '*' ,no se por que? este es el programa:

Código: [Seleccionar]
#include <18f4550.h>
#include <lcd.c>
#include <KBD.C>

#fuses  PUT,HS,NOPROTECT,NOWDT,NOLVP
#use delay(clock=10000000)

void main()
{
    char caracter;
    char pass[5];
    int i;
    lcd_init();
    kbd_init();
    delay_ms(100);
    //while(true){
    lcd_gotoxy(4,1);
    lcd_putc("Probando");
    lcd_gotoxy(2,2);
    lcd_putc("Teclado...");
    delay_ms(2000);
    lcd_clear();//}   
    i = 0;

    while(true)
    {       
        lcd_putc("Ingrese clave:");
        while(i <= 4)
        {
          caracter = kbd_getc();
          pass[i] = caracter;
          i++;
          lcd_gotoxy(i,2);
          lcd_putc('*');
          delay_ms(200);
        }

    }
}

demas esta decir que al conectar el teclado o switches al pic el programa se comporta igual, porfavor si me pueden asesorar sobre probables errores en el programa(debe ser el programa!, supongo)

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re: TECLADO MATRICIAL 4X3 ERROR
« Respuesta #1 en: 29 de Septiembre de 2014, 13:15:13 »
El archivo KBD.C configura el puerto donde está tu teclado matricial?
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: TECLADO MATRICIAL 4X3 ERROR
« Respuesta #2 en: 29 de Septiembre de 2014, 14:03:55 »
debes verificar el archivo kbd.c para saber como se debe conectar el teclado, creo que en el archivo se indica como se deben conectar los pines. 
El "*" que aparece en el lcd es normal de acuerdo al programa que has puesto. La funcion kbd_getc(); escanea el puerto en búsqueda de una tecla pulsada, sino se ha pulsado retorna caracter nulo \0, pero igual tu algoritmo sigue y guarda dicho caracter y muestra el "*" en el lcd.

Te recomiendo el libro Compilador C CSS y Simulador PROTEUS para Microcontroladores PIC, para iniciarse esta bien.
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA