SN8F5720 51单片机
最近在搞这个,惭愧,单片机还真没玩过,太不合格了。。。
笔记一点点记起来吧
定时器0的设置:
项目用的是32M的晶振,先来设置初值吧。用的mode1为16位计数器,溢出值为65535+1=65536,时钟周期1/32000000,机器周期为12/32000000,如果定时10ms,0.01s,则我们要计算的是 需要经过多少个机器周期可以达到0.01s:x*12/32000000 x=26667.也就是经过26667次计数我们让它溢出,就可以通过TF0检测到。那么初值=65536-26667=38869,16进制为0x97D5.我们设置初值高位TH0=0x97,低位TL0=0xD5即可。
代码片段如下:
TH0=0x97; //初值高位
TL0=0xD5; //初值低位
TMOD = 0x01; //设置 T0 为模式 1,选择16位计数器模式
TR0 = 1; //启动

这篇博客介绍了SN8F5720 51单片机的定时器0设置,使用32M晶振,详细计算了在mode1下16位计数器的溢出值和初值设定,以实现10ms定时。通过计算得出初值为0x97D5,并展示了相关代码片段。
最低0.47元/天 解锁文章
1052

被折叠的 条评论
为什么被折叠?



