PIC16F877单片机定时器0的中断方式调试程序
#include<pic.h>
#define uchar unsigned char
#define uint unsigned int
__CONFIG(0x3B31);
void init(void);
uint intnum;
void main(void)
{
init();
while(1)
{
if(intnum >= 20)//1S到时
{
intnum = 0;
RD0 = !RD0;
}
}
}
void init(void)
{
TRISD = 0; //PORTD引脚为输出
PORTD = 0; //PORTD引脚为低电平
OPTION = 0x07; //定时器0分频256
INTCON = 0xa0; //总中断、T0中断
TMR0 = 61; //TMR0 = (256-195);
//TR//定时器0没有启停位
}
void interrupt time0(void)
{
T0IF = 0; //定时器溢出清零
TMR0 = 61; //重装初值
intnum++; //累加器,主程序中累加到20*50ms
}