读书人

精确定时LED一秒闪烁 求指教解决方法

发布时间: 2012-04-20 15:27:03 作者: rapoo

精确定时LED一秒闪烁 求指教
我用的是铁牛单片机,晶振12MHz。在学习了小宋老师的定时器学习的教程之后,针对我的板子写了个定时一秒闪烁的程序。



但是闪烁频率好快,明显快于一秒了。求解答恩。

程序如下:


#include<stdio.h>
#include<reg52.h>
typedef unsigned char unit8;
typedef unsigned int unit16;


sbit led=P2^0;
main()
{
unit16 counter=0;
led=0;
TMOD=0x10;
TR1=1;
TH1=0x00;
TL1=0xe0;
while(1)
{
if(TF1==1)
{ TH1=0xfc;
TL1=0x67;
counter++;
TF1=0;}


if(counter==50)
{
led=~led;
counter=0;
}


}


}

[解决办法]
他用定时器T1,计数初值0FC67H,定时时间400微秒离20毫秒差远了,所以闪的快

读书人网 >单片机

热点推荐