标题:
51单片机定时器初值怎么精确计算?
[打印本页]
作者:
shgdd520com
时间:
2016-4-2 10:47
标题:
51单片机定时器初值怎么精确计算?
void main(void)
{
s1=1;
TMOD=0x01; //使用定时器T0的模式1
TH0=(65536-46083)/256; //定时器T0的高8位设置初值
TL0=(65536-46083)%256; //定时器T0的低8位设置初值
函数功能:定时器T0的中断服务函数
********************************************************/
void Time0(void ) interrupt 1 using 0 //定时器T0的中断编号为1,使用第1组工作寄存器
{
count++; //每产生1次中断,中断累计次数加1
if(count==20) //如果中断次数计满20次
count=0; //中断累计次数清0
s++; //秒加1
网络上阅读一段程序,定时器初值 46083 是怎么计算出来的? 一般我们如用 AT892051的话 定时50MS 就是 TH0=(65536-50000)/256;
猜想应该是使用的12M晶体 ,20次为1S.
作者:
xiao2003
时间:
2020-1-10 15:05
大哥,如果要把时间调一秒,或者几分钟,要怎样来?
作者:
baidi77
时间:
2020-1-11 19:51
xiao2003 发表于 2020-1-10 15:05
大哥,如果要把时间调一秒,或者几分钟,要怎样来?
秒s++60次=一分钟,自己定义一个变量分钟m.
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1