51单片机-定时器中断
- 开源代码
- 2025-08-23 16:06:02

1、使用定时器,该做哪些工作
初始化程序应完成如下工作:
对TMOD赋值,以确定T0和T1的工作方式。计算初值,并将其写入TH0、TL0或TH1、TL1。中断方式时,则对EA赋值,开发定时器中断。使用TR0或TR1置为,启动定时/计数器定时或计数。 #include "reg52.h" typedef unsigned char u8; typedef unsigned int u16; sbit led = P2^0; /** 初始定时器 定时1ms=1000us 2^16-1000+1,0xFC18 */ void Timer0Init() { TMOD |= 0X01; // 0000 0001 TH0=0XFC; TL0=0X18; ET0=1; // IE寄存器打开T0的中断 EA=1; //打开总中断 TR0=1; //开始定时器中断 } void main() { while(1) { Timer0Init(); while(1) { } } } void Time0() interrupt 1 { static u16 i; // 方式一:需要重新装载,方式二:不需要 TH0=0XFC; TL0=0X18; i++; //每次经过1ms,进行累加 if(i==1000){ //1s i=0; //就要清零,防止溢出 led=~led; } }51单片机-定时器中断由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“51单片机-定时器中断”