Hola, necesito hacer un programa en lenguaje C para el pic16f84a, pero no entiendo como hacerlo, en base a lo que he leido, investigado y otros codigos que he visto hice el mio propio pero no funciona y no entiendo como hacerlo.
El programa consiste en introducir una clave de 8 digitos por medio del teclado matricial (3x4 en este caso) para asi poder accesar, no necesito mostrar el lcd.
En fin aqui les dejo mi codigo por si alguien puede ayudarme, estoy usando el PCW
El programa consiste en introducir una clave de 8 digitos por medio del teclado matricial (3x4 en este caso) para asi poder accesar, no necesito mostrar el lcd.
En fin aqui les dejo mi codigo por si alguien puede ayudarme, estoy usando el PCW
Código:
#Device PIC16F84A
#fuses XT,NOWDT,PUT,NOPROTECT
#include <16F84A.h>
#use delay (clock=4000000)
#include <stdlib.h>
#use fast_io(a)
#use fast_io(b)
#byte puerto_a = 0x08
#byte puerto_b = 0x09
#rom 0x2100={'0','1','1','0','4','1','2','7'}
char keyport at PORTB;
main()
{
char k;
int i;
char data[8],clave[8];
set_tris_a(0x00);
set_tris_b(0xF0);
Keypad_Init();
port_b_pullups(TRUE);
output_low(PIN_A4);
while(TRUE)
{
i=0;
while(i<=7)
{
k=Keypad_Key_Click();
if(k!=0)
{
data[i]=k;
i++;
}
}
for (i=0;i<=7;i++)
{
clave[i]=read_eeprom(i);
}
if((data[0]==clave[0])&&(data[1]==clave[1])&&(data[2]==clave[2])&&(data[3]==clave[3])&&(data[4]==clave[4])&&(data[5]==clave[5])&&(data[6]==clave[6])&&(data[7]==clave[7]))
{
output_high(PIN_A4);
delay_ms(5000);
output_low(PIN_A4);
}
}
}
Última edición: