完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
PIC单片机定时器初值计算方法
PIC的指令周期是4个震荡周期,在没有使用分频器的情况下,TMR0 会在每个指令周期信号(等于晶体振荡器产生的主时钟周期的 4 倍)到来时自动加 1。在配置了分频器的情况下,TMR0 会在每次收到由分频器将指令周期信号分频一个固定倍数后产生的信号时自动加 1。如果 TMR0在累加计数的过程中,CPU 执行一条往 TMR0 中写入数据的指令,则累加计数器的加 1 操作将被推迟两个指令周期,重新开始计数。这两个指令周期的偏差在用户编写时间精度要求较高的程序时应引起注意,可以通过在每次写入 TMR0 时给一个调整值的方法来解决。 假设的是时钟频率为 4MHz。因此,一个指令周期就是一个微秒(μs)的时间。 ,也就是计数一次时间是1us。 没有分频比定时器的初值计算公式:T0=256-Tc+2 其中TC是想得到的次数。加2的原因是写值的时候要消耗两个指令周期。 如果分频器给了定时器,最好不要再读写TMR0了,不然会照成误差。 假设分频器是16,晶振是4Mhz,一次由00到FF的时间是16*256=4096us。假设50ms的时间 在中断每次加上4096, 主程序检查是不是超过50000,超过了就减掉50000,这样算是50ms就得到了。 |
|
|
|
只有小组成员才能发言,加入小组>>
求解外围电路实现的是4脚给持续低电平复位并正常工作,高电平不工作的原因
2084 浏览 1 评论
3629 浏览 3 评论
PIC1946程序有一个变量在运行过程中恢复初始值其他变量保持不变
2336 浏览 2 评论
2763 浏览 0 评论
PIC16F1825的RC5引脚,在主程序中操作无效,在中断中可以改变是为什么?
4027 浏览 5 评论
973浏览 0评论
用XC8编译PIC18F25K80时提示下面Error,求怎么解决这个问题
6360浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-3 23:40 , Processed in 0.585573 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号