您的位置:首页 > 其它

以查询方式实现1s定时

2014-03-15 14:01 169 查看
以查询控制器的控制位状态来实现1s定时。

#include <reg52.h>

sbit LED = P0^2;
unsigned int vT = 0;

void main ()
{
LED = 0;         // 点亮
TMOD = 0x01;     // 定时模式1 16位定时计数器
TR0 = 1;         // 启动定时器0
TH0 = 0x3C;         // 计数初值 15536 (65536-15536=50000 * 1us = 50ms)
TL0 = 0xB0;
while(1)
{
if (TF0 == 1)
{
TF0 = 0;            // 清除标志位
vT++;
if (vT == 20)    // 20 * 50 = 1000ms = 1s
{
vT = 0;
TH0 = 0x3C;     // 计数初值 15536
TL0 = 0xB0;
LED = !LED;     // 溢出后切换led状态
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: