要运用PIC的TIMER0,首要需求看数据手册,了解寄存器装备
这儿需求用到OPTION,INTCON的装备,还有TMR0计数值的预置。
典型应用程序:使用守时中止完成发光管一闪一闪功用。
源程序:
#include
#define uint unsigned int
#define LED1 RC0
///////////////////////初始化设置程序////////////////////////////////
void Init(void)
{
PORTA = 0B00000000;
PORTB = 0B00000000;
PORTC = 0B00000000;
TRISA = 0B00000000;//设置PORTA口为输出
TRISB = 0B00000001;//设置RB0为输入,作为按键口
TRISC = 0B00000000;//设置RC输出
ADCON1=0B11111111;//设置为数字I/O
counter=0;
OPTION=0B01010011;//装备中止和守时器0
TMR0=5;
T0IE=1;//使能守时器中止0
GIE=1; //大局中止使能
}
///////////////////////守时中止程序////////////////////////////////
void interrupt timer0_int(void)
{
T0IF=0;//铲除中止标志位
TMR0=5; //从头设置守时器时刻
counter++;
if(counter==250)
{
counter=0;
LED1=!LED1;
}
}
///////////////////////主程序////////////////////////////////
void main (void)
{
Init();//初始化程序
PORTC=0XFF;
PORTB=0XFF;
while(1);
}