#include <16f877a.h>
#fuses HS, NOWDT, NOPROTECT, NOBROWNOUT, NOLVP, NOPUT, NOWRT, NODEBUG, NOCPD
#use delay (clock=4000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#use fast_io(b)
#define use_portb_lcd TRUE
#include <lcd.c>
unsigned char rData;
int1 IsReaded=FALSE;
int32 cnt=0;
#int_RDA
void RDA_isr(void)
{
rData=getc();
IsReaded=TRUE;
cnt++;
}
void main(void)
{
setup_psp(PSP_DISABLED); // PSP birimi devre dışı
setup_timer_1(T1_DISABLED); // T1 zamanlayıcısı devre dışı
setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
setup_adc_ports(NO_ANALOGS); // ANALOG giriş yok
setup_adc(ADC_OFF); // ADC birimi devre dışı
clear_interrupt(INT_RDA);
enable_interrupts(INT_RDA);
set_tris_b(0x00);
IsReaded=FALSE;
cnt=0;
rData=0;
lcd_init();
lcd_putc("\f");
lcd_gotoxy(1,1);
printf(lcd_putc,"indirilen: %03u",cnt);
lcd_gotoxy(1,2);
printf(lcd_putc,"Gelen Veri: %c",rData);
while(1)
{
if(IsReaded)
{
lcd_putc("\f");
lcd_gotoxy(1,1);
printf(lcd_putc,"indirilen: %03u",cnt);
lcd_gotoxy(1,2);
printf(lcd_putc,"Gelen Veri: %c",rData);
}
}
}