ตัวอย่างการทำงานของ Timer0 ในการวัดคาบเวลา  
   
  - การทดสอบการทำงานของ Timer0 โดยให้แสดงเวลาผ่านทาง RS232 (soft ware TX=RA0,RX=RA1)
 
     
   ตัวอย่างโปรแกรม  
 
//#include <16F628.h>
#include <16F648A.h>
#use delay(clock=4000000)
#define  TxD         PIN_A0   
#define  RxD         PIN_A1   
#use rs232(baud=9600, xmit=TxD,rcv=RxD) 
#fuses XT,PUT,BROWNOUT,MCLR,NOWDT,NOPROTECT,NOLVP


void main(void) 
{
long time;

  //Set Timer0 intertal clock No Prescaler 
   setup_timer_0(RTCC_INTERNAL | RTCC_DIV_1);
   printf("*** Timer0 ***\r\n");
   
   set_timer0(0);
   delay_us(10);
   time = get_timer0();
   printf("Time1: %lu us\r\n",time);

   set_timer0(0);
   delay_us(255);
   time = get_timer0();
   printf("Time2: %lu us\r\n",time);

   while(1);    //Loop here
}
 
     
  เมื่อโปรแกรมเริ่มทำงาน  
 
*** Timer0 ***
Time1: 8 us
Time2: 253 us
 
     
   - เมื่อใช้สัญญาณนาฬิกา 4 MHz  
  การหน่วงเวลา 10 us อ่านได้ 8 us  
  การหน่วงเวลา 255 us อ่านได้ 253 us  
     
  จะเห็นได้ว่าฟังก์ชัน set_timer0(); จะทำให้ Timer0 หยุดไป 2 cycle เมื่อใช้ Timer0 ในการวัดคาบเวลา จะต้อง บวกค่าเวลาไปอีก 2 cycle จึงจะได้เวลาที่ถูกต้อง