完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
比如一个中音DO(523Hz)周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。
计数脉冲值与频率的关系式是: N=fi÷2÷fr N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。 其计数初值T的求法如下: T=65536-N=65536-fi÷2÷fr 那么问题来了,那个65536是什么,怎么来的?还有不是每计数956次就反向输出吗,那这个计数初值又是拿来干什么的? 望大神答疑解惑 |
|
相关推荐
3个回答
|
|
求解啊!!!!
|
|
|
|
设定时器为 16 位,其时钟频率为 1 μs,计数溢出时产生中断。
如果定时器从 0 计数到 2^16 (65536 -> 0),共耗时 2^16 = 65536 μs。 如果定时器从 N 计数到 2^16 (65536 -> N),共耗时 2^16 - N = 65536 - N μs。 如需产生特定周期 T 的信号,则须每隔 T/2 产生一次中断,因为一个周期里有两次信号翻转的动作。 所以 T / 2 = 65536 - N,N = 65536 - T / 2 T = 1912 μs,N = 65536 - T / 2 = 64580 定时器从 64580 计数到 65536 (此时定时器产生中断,并把64580重新赋值给计数器 — 重装载) 共耗时 65536 - 64580 = 956 μs (半周期时间)。 【注】 重装载如果是由硬件完成,则这个过程不耗用机器时间;如果是由软件完成,则需耗用 C 个机器周期。而 N 值也需根据这个时间做相应调整。 假设 C 个机器周期对应 10 μs,则 N = 64580 + 10 = 64590。 |
|
|
|
65536是振荡器的工作频率,很精密的,而且温度的稳定性要很好。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
205 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1253 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
848 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
853 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1073 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12013 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 03:10 , Processed in 0.878428 second(s), Total 79, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号