Ayuda con Teclado y PIC

Hola a todos,

Tenfo un problema con un programita que hice para usar un teclado; me aparece un error y no logro indentificar porque aqui pego el codigo.
Gracias

#include <16f876.h>
#fuses XT, NOWDT, NOPROTECT,NOLVP
#use delay(clock=4000000)
#use standard_io(a)

#include <lcd.c>
#include <kbd.c>
#include <stdlib.h>

#rom 0x2100={'7','2','3'} //posicion 0,1,2 = 7,2,3

void main(){

char k, data[3], clave[3];
int i;
lcd_init();
kbd_init();
port_b_pullups(TRUE);
while(TRUE){
i=0;
printf(lcd_putc,"\fPulsar tecla 1\n");
while (i<=2){
k=kbd_getc(); // leer teclado
if (k!=0){ // se ha pulsado una tecla
data=k;
i++;
printf(lcd_putc,"\fPulsar tecla %u\n",i+1); //sgte dato
}
}
for (i=0;i<=2;i++){
clave=read_eeprom(i);
if((data[0]==clave[0])&&(data[1]==clave[1])&&(data[2]==clave[2])){
printf(lcd_putc,"\fPuerta Abierta");
output_high (PIN_A0);
delay_ms(500);
output_low (PIN_A0);}
else
printf(lcd_putc,"\fPuerta Cerrada"); //Clave erronea
delay_ms(1000);
}

}
}
 

Adjuntos

  • Dibujo1.JPG
    Dibujo1.JPG
    85.5 KB · Visitas: 17
Los errores que te está dando el programa son de los archivos que estas incluyendo, es decir los errores están en los archivos lcd.c y kbd.c. Abrí estos dos programas y fijate que te dice la linea del código en la que está detectando el error. Fijate que la configuración del puerto d esté bien hecha y fijate si en tu programa principal no tenes que incluir una libreria para que te reconozca la instrucción que te está produciendo el error (set_tris_d ó algo así)
 
Estas aseguro qeu estas utilizando el 16F876?.
En los esquemas que veo de este veo que no tiene puerto D, por eso la funcion set_tris_d no funciona-

Saludos!
 
Atrás
Arriba