P16F877A ile Timer0 Kesmesi
 timer0 8 bitlik sayıcıdır.  timer0 zaman hesaplaması = timercounter*(256 -TMR0(baslangıc degeri))*Prescalerdegeri*(4/fosc)  Tımer0 kesmesinde  kullanılan registarlar OPTION_REG,INTCON registerlarıdır.  Sayacsız maksimum kesmenın gelmesi için gecen zaman = (256-0)*256*(4/4)=65.536  µs    ben burada timer0 baslangıc degerinı 6,sayacımı 50,frekansım 8Mhz  formulu kullanırsak = 50*(256-6)*64*(4/8)=400000  µs =400 ms =0,4 sn   programın kodlamasıda su sekildir :   list p = 16F877A  #include <P16F877A.inc>  __CONFIG H'3F31'  timercounter EQU 0X21  org 0X00  goto Start  org 0X04  interrupt   BCF INTCON,TMR0IF   ;timer0 kesmesinin tasma oldugunu gösteren bitini sifirla   MOVLW D'6'    ;timer0'a (256-250)=6 degerini ver.250 saysin   MOVWF TMR0     DECF timercounter,1   ;(SAYACI 1 AZALTIP TMR0SAYACI NA YAZAR)     BTFSS STATUS,Z   ;timer0 sayaci 0'lanmis mi?   RETFIE     MOVLW D'50'    ;timer0 sayaci 0'lanmissa 50 degerini yeniden yükle   MOVWF timercoun...