Hola qué tal, pues como dice el asunto tengo una inquietud, sucede que he estado haciendo el algoritmo del programa para incrementar el valor que visualiza el display de acuerdo al número de veces que he pulsado una tecla, pero no funciona!. La idea es que p.ej: si pulso la tecla '3' dos veces; en un display me muestre el numero 2, o si la pulso una vez entonces me muestre en ese mismo display el número 1.
Si alguno de ustedes tiene una solución la agradeceré.
Los que quieran saber lo qué he hecho hasta ahora ha sido esto:
#include <16f877a.h>
#use delay(clock=200000000)
#fuses XT,NOLVP
#include <kbd.c>
int cont=0,koka=0;
char display[5];
int valor,valor2,valor3;
void main() {
display[0]=0b11111111;
display[1]=0b11111111;
display[2]=0b11111111;
display[3]=0b11111111;
display[4]=0b11111111;
for(;{
kbd_init();
valor=kbd_getc();
if (valor=='3'){
koka++;
if (koka==1){
display[0]=0b11000000;
output_d(display[0]);
delay_ms(3.33);
}
if (Koka==2){
display[1]=0b11000001;
output_d(display[1]);
delay_ms(3.33);
}
if (Koka==3){
display[2]=0b11000010;
output_d(display[2]);
delay_ms(3.33);
}
if (Koka==4){
display[3]=0b11000011;
output_d(display[3]);
delay_ms(3.33);
}
if (koka==10){
koka==0;
display[4]=0b11000000;
}
}
//if (valor=='A'){
//goto inicio;
//}
}
}
Si alguno de ustedes tiene una solución la agradeceré.
Los que quieran saber lo qué he hecho hasta ahora ha sido esto:
#include <16f877a.h>
#use delay(clock=200000000)
#fuses XT,NOLVP
#include <kbd.c>
int cont=0,koka=0;
char display[5];
int valor,valor2,valor3;
void main() {
display[0]=0b11111111;
display[1]=0b11111111;
display[2]=0b11111111;
display[3]=0b11111111;
display[4]=0b11111111;
for(;{
kbd_init();
valor=kbd_getc();
if (valor=='3'){
koka++;
if (koka==1){
display[0]=0b11000000;
output_d(display[0]);
delay_ms(3.33);
}
if (Koka==2){
display[1]=0b11000001;
output_d(display[1]);
delay_ms(3.33);
}
if (Koka==3){
display[2]=0b11000010;
output_d(display[2]);
delay_ms(3.33);
}
if (Koka==4){
display[3]=0b11000011;
output_d(display[3]);
delay_ms(3.33);
}
if (koka==10){
koka==0;
display[4]=0b11000000;
}
}
//if (valor=='A'){
//goto inicio;
//}
}
}