定时器的应用

时间:2021-01-06 00:22:03

定时器的应用,查询方式。让8个LED灯,左右各4个来回亮

 

代码:

 /**********************
查询方式是主程序不断的查询是否中断,而不需要准备子程序
**********************
*/
#include
<reg51.h>

#define LED P1
#define COUNT 50000 // 50000 * 1us = 0.05s 50000计数次
#define TH_M1 (65536-COUNT)%256 //MODE 1 余数赋值给高4位
#deefine TL_M2 (
65536-COUNT)/256 //MODE 1 商赋值给低4位

main()
{
int i;
TMOD
=0x01; //方式1 启动 T0中断
LED=0xf0; // 1111,0000 右边4个灯亮 共阳极
while(1)
{
for(i=0;i<5;i++) //定时中断5次
{
TH0
= TH_M1; //溢出后重新赋初值
TL0 = TH_M1;
TR0
= 1; //启动T0
while(TF0==0) // time flag 定时标志 TF==0说明溢出,等待溢出
TF0 = 0; //清除TF0 ,关闭T0
}
LED
=~LED; //LED反相
}
}