完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好!我正在做一个项目,我想把定时器0设置为定时器,把它作为延迟来使用“高”一个简单的引脚,但是,我不能正确地理解如何使用寄存器设置。我像往常一样跟踪数据表,MCU是PIC16F15313,我计划也与CC一起工作。P作为捕获模式,接下来我要介绍timer1。在第260页中,讨论定时器0模式,并讨论:“TMR0L的值与每个时钟周期上的周期缓冲区(TMR0H的副本)的值进行比较。当两个值匹配时,会发生以下事件:·TMR0_out对于一个预缩放的时钟周期变高·TMR0L被复位·TMR0H的内容被复制到周期缓冲区8位模式,TMR0L和TMR0H寄存器都是直接可读和可写的。TMR0L寄存器被清除在任何设备复位,而TMR0H寄存器初始化FFH。预缩放计数器和后缩放计数器在以下事件中都被清除:·对TMR0L寄存器的写入·对T0CON0或T0CON1寄存器的写入·任何设备复位-开机复位(POR)、MCLR复位、看门狗定时器复位(WDTR)或·布朗-out复位(BOR)“但我不能理解”以及如何正确地工作,我希望看看我是否能从你们那里得到帮助。我的问题是:如何设置定时器0以8MHz作为时钟源,以及如何设置一个适当的值给寄存器,比如TMR0L&TMR0H?我如何计算所需的时间?哪一个公式对这个有用?这将是与其他PIC MCU相同的公式吗?我的目标时间是1.5毫秒和1ms。谢谢你们的时间,我希望能尽快得到你们的帮助。这是我当前的代码设置
|
|
相关推荐
3个回答
|
|
在8位模式下,TMR0L递增每个预分频器时钟周期。TMR0H类似于TMR2上的PR寄存器,并且当TMR0L匹配时导致TMR0L重置为0。因此,TMR0L从0到PR进行计数。因此,翻转频率是clk/(预缩放器*(PR+1)*后缩放器)(或者对于周期,反算)。因此,对于1ms周期=>1KHz=8MHz/(预缩放器*(TMR0H+1)*后缩放器),有许多组合可以做到这一点,但是您可以选择pre=32,post=1,然后8e6/(32*(249+1)*1=1KHz(或1ms周期)或者换个角度来看待它:1.5ms(1500us)=>;(pre*(TMR0H+1)*post)/8e6=(pre*(TMR0H+1)*post)*0.125usso pre*(TMR0H+1)*post=12000你可以选择pre=16,TMR0H=249,post=3
|
|
|
|
在这种情况下,TMR0H是我需要设置的寄存器来计算所需的时间。对吗?
|
|
|
|
是的,但是8位除法(TMR0H)可能是不够的,所以预分频器和/或后标器可能需要1个以外。
|
|
|
|
只有小组成员才能发言,加入小组>>
5166 浏览 9 评论
2000 浏览 8 评论
1928 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3174 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2226 浏览 5 评论
733浏览 1评论
615浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
505浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
631浏览 0评论
528浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 04:11 , Processed in 1.142843 second(s), Total 82, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号