#include <16F877A.h>#fuses XT,nowdt
#use delay (clock=4000000)
#use rs232 (baud=1200, uart, parity=N, stop=1)
#use fast_io(a)
#use fast_io(b)
#define display_1 pin_c1
#define display_2 pin_c2
char birler=0, onlar=0, sayi=0;
const int digit[10]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7C, 0x07, 0x7F, 0x6F};
int data;
int veri_al(){
if(kbhit())
return(getc());
else {
return(0);
}
}
void main ()
{
set_tris_c(0b10000000);
set_tris_b(0x00);
output_b(0x00);
output_low(display_1);
output_low(display_2);
while(1)
{
birler=sayi%10;
onlar=sayi/10;
output_high(display_2);
output_b(digit[birler]);
delay_ms(5);
output_low(display_2);
output_high(display_1);
output_b(digit[onlar]);
delay_ms(5);
output_low(display_1);
data=veri_al();
switch(data){
case 0b01100001:if(!(sayi==99))sayi++;break;
case 0b01100110:if(sayi>0)sayi--;break;
}
}
}