51单片机中采用定时器中断的思路1

1.开全局中断     EA = 1
2.对应中断使能 比如定时器1 ET1 = 1、定时器0 ET0 = 1
3.定时器工作方式配置: 有三种方式 双8位定时 16位定时 还有捕捉方式 定时器2有4种 ,具体不介绍了 TMOD 是定时器0和定时器1方式配置的寄存器 TMOD = 0x01,定时器0工作在方式1(16位计数)
4.打开定时器 TR0 = 1;定时器1打开是 TR1 = 1;
5.中断服务程序:就是定时时间到,你要处理的事务。
例子://50ms定时
void main(void)
{
TMOD = 0x01; //配置方式
TH0 = 0x3C; //计数时间
TL0 = 0xB0;
TR0 = 1; //开启定时器
EA = 1; //全局中断打开
ET0 = 1; //定时器0中断打开
for(;;)
}

void Timer0_ISR(void) intterupt 1 //中断服务程序
{
TH0 = 0x3C; //计数时间
TL0 = 0xB0;

P1 = 0x11; //定时到,要执行的动作
}

猜你喜欢

转载自blog.csdn.net/yd401316240/article/details/79978460