完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
假设我有“Fosc”作为我的MCU频率,并且我必须使用timer2模块在某个时间“t”生成中断,那么我应该如何计算所需的PR2值?有一个我可以使用的等式吗?我似乎不知道如何在PIC16F1937数据表中计算它。任何帮助都可以,谢谢!
|
|
相关推荐
3个回答
|
|
从数据表(图22-1)的框图中,您可以通过FOSC导出PR值、计时器所需的频率以及Pre和Post标度值。PR2将在定时器时钟的每一个边缘上增加(在这种情况下,这是FoCC/4)。使用Prescale位选择必须检测多少时钟边缘才能生成TMR寄存器的单个计数。Postscale位选择TMR2必须匹配PR2以产生Timer2中断的次数。000HzT.=(1/1000Hz)=0.001sFinput=(8000000Hz/4)=2000000HzTinput=(1/2000000Hz)=0.0000005sPrescale=4Postscale=1PR=0.001/(0.0000005*4*1)=500然而,PR2是一个8位寄存器,所以我们需要减小这个PR值。我们可以将Prescale设置为4,Postscale设置为2,以降低PR:PR=0.001/(0.0000005*4*2)=250,这适用于8位寄存器。
|
|
|
|
简单!只要按照数据表的图22.1@页面207中的时钟轨道操作。定时器时钟频率为:TmrClk=Fosc/(4*PrescallerRatio)。定时器周期为:TmrT=1/TmrClk=(4*PrescallerRatio)/Fosc.,如果结果超过定时器周期(TmrT),只需将期望的中断率除以定时器周期(TmrT)。s为最大PR2计数,可以调整“预调用器”和“后缩放器”以达到有效的PR2值(0-255)。示例:期望的中断重复率:1E-3秒(1ms)Fosc=4E6Hz(4MHz)预调用器速率=1:4Timer周期是:TmrT=0.000004msPR2=0.004msPR2=1e-3/0.004e-3=250I,使用扩展程序T的计算步骤一步一步,所以我可以测试/调整前围涎/后刮器的各种组合。要么手工制作,要么制作几个不同组合的表格。HIHEDIT:@KTrenholm:很抱歉,因为dup信息,但当你发布时我已经在编辑了。BTW:PR2是一个8位寄存器,所以500无效,但是你可以设置1:2的post scaller,并使PR2=250。
|
|
|
|
Hiit时不时地发生:同时,我的猫咪,你引用了一篇半编辑过的文章,这是由于你用鼠标点击了一下。盖子8位值
|
|
|
|
只有小组成员才能发言,加入小组>>
5250 浏览 9 评论
2037 浏览 8 评论
1958 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3218 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2266 浏览 5 评论
788浏览 1评论
680浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
609浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
685浏览 0评论
582浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 03:18 , Processed in 1.165073 second(s), Total 79, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号