[PIC16F723] Timer0 인터럽트 테스트
PIC16F723 타이머 구조
OPTION레지스터를 이용하여 Timer0관련 클럭 설정을 할 수 있다.
PIC16F723 타이머 초기화
void InitTimer0(void)
{
// TMR0 Associate Registers Initial
PS0 = 1 // Prescaler 1:4
TMR0 = INTERVAL_1mS; // Initial TMR0
// Interrupt Associate Registers Initial
T0IF = 0; //Clear TMR0 Interrupt Flag
T0IE = 1; //Enable TMR0 Interrupt
GIE = 1; //Enable Global Interrupt
}
PIC16F723 타이머 인터럽트 핸들러(HTC)
//인터럽트 핸들러
interrupt ServiceRoutine()
{
// Timer0 Interrupt 발생하면
if(T0IF)
{
TMR0 = INTERVAL_1mS; // Initial TMR0
T0IF = 0; // Clear Interrupt Flag
}
}
반응형