问一下各位大神一个简单的51单片机定时器计数初值的问题

问一下各位大神一个简单的51单片机定时器计数初值的问题
设单片机晶振频率f=6MHz,使用定时器1以方式0产生周期为600us的等宽方波脉冲,并由p1.7输出,以查询方式完成。
N的求法如下:
(8192-N)*2=300
这里为何要乘以2?这是课本的解法,下面说说我自己的想法,有问题的也请大神们指出。
我的想法是,这里要定时300us,所以我直接TH0=(8192-300)/32,TL0=(8192-300)%32
显然课本的N为8042,而我的为7892。
召唤芙蓉 1年前 已收到1个回答 举报

32475847 种子

共回答了15个问题采纳率:86.7% 举报

周期为600us的等宽方波脉冲,那么高低电平持续时间就是300US,所以那里会乘以2。晶振为6MHz,则一个机器周期为2US,600US就是300个机器周期
(8192-N)*2=300这里的300说的是300个机器周期。课本是对的

1年前

8
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 2.003 s. - webmaster@yulucn.com