004-定时器的使用
定时器的使用
- 功能:实现定时器的使用
方案一:
#include<reg52.h>
sbit LED = P2^0;
void main()
{
unsigned char cnt = 0;
TMOD = 0x01; //设置定时器工作方式为一
TH0 = 0xB1; //晶振频率12Mhz,设置定时20ms
TL0 = 0xE0;
TR0 = 1; //启动定时器
while(1)
{
if(TF0 == 1) //监测是否溢出,为1溢出
{
TF0 = 0; //监测复位
TH0 = 0xB1; //重置定时
TL0 = 0xE0;
cnt++; //20ms计数一次,50次为1s
if(cnt == 50) //1s时间到
{
cnt = 0;
LED = ~LED; //小灯状态改变一次
}
}
}
}
方案二:
#include<reg52.h>
sbit LED = P2^0;
void main()
{
unsigned char cnt = 0;
TMOD = 0x10; //设置定时器工作方式
TH1 = 0xB1; //晶振频率12Mhz,设置定时20ms
TL1 = 0xE0;
TR1 = 1; //启动定时器
while(1)
{
if(TF1 == 1) //监测是否溢出,为1溢出
{
TF1 = 0; //监测复位
TH1 = 0xB1; //重置定时
TL1 = 0xE0;
cnt++; //20ms计数一次,50次为1s
if(cnt == 50) //1s时间到
{
cnt = 0;
LED = ~LED; //小灯状态改变一次
}
}
}
}
本文来自博客园,作者:shihao_Yang,转载请注明原文链接:https://www.cnblogs.com/Yang-shihao/p/14352268.html