99问答网
所有问题
51单片机定时器问题 TMOD=0x00; 初值算完是4192 我想问TH0 = ? TL0 = ?
就是不知道该怎么算,如果是模式1就直接转换16进制,但是如果是模式0,不知道该如何赋初值
举报该问题
推荐答案 2013-01-16
在51单片机中,模式0为13位C/T,最大定时/计数值为8192。它由TL0的低5位和TH0的8个位组成13位定时器/计数器TL0的5个位最大为0x1f,也就是十进制的31。那么同样可以用模式1那样的公式来计算初始值,只需要把因子改成32即可:
#define CNT XXXX //XXXX为需要定时的值
//假定1个机器周期 = 1us
TH0 = (8192 - CNT) / 32;
TL0 = (8192 - CNT) % 32;
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/BW7jBXOvW.html
其他回答
第1个回答 2013-01-23
楼上不懂别害人好不好,4192先换算成16进制是1060H,对应二进制是1000,0000,0110,,0000.其中最低五位赋给TL0,接着八位给TH0,所以TL0=00H,TH0=03H
第2个回答 2013-01-15
4192换算成二进制是1000001100000,也就是 1,0000,0110,0000
因为你工作在方式0,方式是用了TH0的全部和TL0的低五位,所以,把上述二进制的低五倍给TL0
,高8位给TH0
所以 TH0 = 0x83;TL0 = 0
本回答被提问者和网友采纳
第3个回答 推荐于2017-10-16
TMOD=0x00; 初值算完是4192
TH0=初值 % 32;
TL0=初值 /32;
本回答被网友采纳
相似回答
大家正在搜
51单片机定时器50ms初值
51单片机定时器初值怎样计算
51单片机定时器初值计算公式
单片机定时器最大定时时间计算
51单片机定时器定时1秒
单片机定时器方式0的初值
51单片机定时器初始化程序
51单片机定时器1
51单片机有几个定时器
相关问题
单片机C51C程序问题,求翻译成单片机编程语言
单片机编程用汇编好还是C语言好?
单片机和C语言有什么关系吗
怎么采用C语言编程序通过单片机的I/O端口点亮一个LED灯?
51单片机c语言编程中for循环里数一下需多少秒?
用什么语言可以给单片机编程
求一份关于篮球计分器的51单片机C语言程序
C语言编程单片机