[求助] 频率的计数值的计算问题

shaorc   2019-6-24 10:33 楼主
悬赏 2 分 芯积分已解决

如图,是一段设置PWM波频率和占空比的函数程序

函数中的形参fr代表要设定的PWM频率 , dc代表每个周期的占空比

其中51单片机的晶振是11.0592MHz

不明白为什么函数内第二条程序表示的是一个周期所需的计数值呢?

11059200/12代表的是一个机器周期所对应的频率

那么对于目标频率fr来说,要计算他的计数值,为什么是11059200/12/fr?

11059200/12代表频率 频率再除以频率表示什么?

 

QQ截图20190624102439.jpg

回复评论 (3)

纠正一下,11059200/12指的是一个指令周期的频率不是机器周期,机器周期就是11059200;这里的51应该是一个12分频的。

 

定时器的工作是在单指令周期内进行递增或者递减。

 

假设这里系统指令周期是约等于1M,pwm频率是100K的话,1M / 100K = 10,意思就是系统需要经过10个指令周期后,pmw刚好走了一个周期。。所以用11059200/12/fr来计算,一个pwm周期等于几个指令周期,也就是定时器需要设置多大

坐而言不如起而行
点赞  2019-6-24 11:22
引用: wsmysyn 发表于 2019-6-24 11:22 纠正一下,11059200/12指的是一个指令周期的频率不是机器周期,机器周期就是11059200;这里的51应该是一个1 ...

谢谢

 

 

点赞  2019-6-24 11:42

再帮我看看这个问题

这是一段设置蜂鸣器按照多少频率发声的程序

其中TH0和TL0设置成如图的初值(方框中所示),解释是说,把它们的初值设置的大一些,可以让程序在打开中断后,经过两个机器周期直接进入中断,这里怎么理解?

 

QQ截图20190624102439.jpg

点赞  2019-6-24 11:46
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复