您的位置 首页 制造

PIC16 定时器与晶振核算

PIC16定时器与晶振计算T=(256-A)*(4/F)*分频比T:是你要设定的时间.A:是对应要赋的值(就是我要得到的值).F:晶振频率Tmax=256*(4/F)*分频比ma…

PIC16守时器晶振核算

T=(256-A)*(4/F)*分频比
T:是你要设定的时刻.
A:是对应要赋的值(便是我要得到的值).

F:晶振频率
Tmax=256*(4/F)*分频比max
T:单位是US
1S=1000MS=1000000US

分频器一般都是跟计数单元一同结合运用。

预分频比是在计数单元值产生变化之前起效果(假设不必预分频时,计数器在每个上升沿到来时加1,而现在运用分频比为1:2的预分频器的话,那么有必要比及两个上升沿的到来,计数器才会加1)

后分频器与预分频器功用相同,只不过是在计数器值产生改动后起效果。像TMR2的后分频器,假如不运用,计数器一但产生溢出,将当即置位标志为TMR2IF,可是假如有1:2的后分频器的话,有必要两次溢出后才会置位。

关于PIC单片机的守时器精准计时的核算

在此用了16C711单片机的TMR0做守时中止,期望完成精准计时,在程序中,TMR0用了晶振的32分频,初值#0FCH,因而POPBEAR兄弟计 算出每个守时中止的计时时刻为(256-X)*32*4/32768=0.015625秒。留意,问题就在这儿!实际上这个时刻是TMR0的初值被置入后 两个指令周期后(见PIC单片机守时器/计数器材料)到下一次中止产生时的时刻。假如要用到守时器的精准守时,有必要了解这一概念!

如选用32768Hz的晶振,每个指令周期为122us,在中止处理程序中,到TMR0的初值被置入,共有7条指令,加上TMR0的初值被置入后两个指令 周期,假如中止处理程序不直接放在0004H地址而选用GOTO指令的两个周期,一共为11个指令周期。也便是说,每个守时中止产生的距离为 0.015625秒+11*122us。程序中64次中止为1秒,那么1秒差错为64*11*122us=85.9375ms,1分钟的差错为 5.156s。

那么怎样得到精准计时呢?这就要在对守时器的初值赋值上和中止处理程序中做文章。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/zhizao/272627.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部