char txt[7];
int sayac=0;
void interrupt(){ // kesme alt fonksiyonu
if(portb.f1)
sayac--;
else
sayac++;
INTCON.INT0IF=0; // kesme bayrağı sıfırlandı
}
void init(){
INTCON.GIE=1; // tüm kesmelere izin verildi
INTCON.INT0IE=1; // INT0 kesmesi aktifleştirildi
INTCON2.INTEDG0=1; // INT0 için yükselen kenar seçildi
INTCON.INT0IF=0; // kesme bayrağı temizlendi.
trisb.f1=1;
trisb.f0=1;
}
void main(){
init();
UART1_Init(9600); // USART haberleşme ayarları yapıldı.
delay_ms(100);
while(1){
IntToStr(sayac,txt); // sayac değişkenini USART tan gönderebilmek için int değişkeni Stringe çerildi.
if(UART1_Data_Ready()){
UART1_Write_Text(txt); // txt değişkeni ekrana yazdırıldı.
UART1_Write(8);
}
}
}