<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > PIC16 定時(shí)器與晶振計算

PIC16 定時(shí)器與晶振計算

作者: 時(shí)間:2016-11-13 來(lái)源:網(wǎng)絡(luò ) 收藏
PIC16定時(shí)器晶振計算

T=(256-A)*(4/F)*分頻比
T:是你要設定的時(shí)間.
A:是對應要賦的值(就是我要得到的值).

本文引用地址:http://dyxdggzs.com/article/201611/316235.htm

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

分頻器一般都是跟計數單元一起結合使用。

預分頻比是在計數單元值發(fā)生變化之前起作用(假如不用預分頻時(shí),計數器在每個(gè)上升沿到來(lái)時(shí)加1,而現在使用分頻比為1:2的預分頻器的話(huà),那么必須等到兩個(gè)上升沿的到來(lái),計數器才會(huì )加1)

后分頻器與預分頻器功能一樣,只不過(guò)是在計數器值發(fā)生改變后起作用。像TMR2的后分頻器,如果不使用,計數器一但發(fā)生溢出,將立即置位標志為T(mén)MR2IF,但是如果有1:2的后分頻器的話(huà),必須兩次溢出后才會(huì )置位。


關(guān)于PIC單片機的定時(shí)器精準計時(shí)的計算

在此用了16C711單片機的TMR0做定時(shí)中斷,希望實(shí)現精準計時(shí),在程序中,TMR0用了晶振的32分頻,初值#0FCH,因此POPBEAR兄弟計 算出每個(gè)定時(shí)中斷的計時(shí)時(shí)間為(256-X)*32*4/32768=0.015625秒。注意,問(wèn)題就在這里!實(shí)際上這個(gè)時(shí)間是TMR0的初值被置入后 兩個(gè)指令周期后(見(jiàn)PIC單片機定時(shí)器/計數器資料)到下一次中斷發(fā)生時(shí)的時(shí)間。如果要用到定時(shí)器的精準定時(shí),必須理解這一概念!

如采用32768Hz的晶振,每個(gè)指令周期為122us,在中斷處理程序中,到TMR0的初值被置入,共有7條指令,加上TMR0的初值被置入后兩個(gè)指令 周期,如果中斷處理程序不直接放在0004H地址而采用GOTO指令的兩個(gè)周期,一共為11個(gè)指令周期。也就是說(shuō),每個(gè)定時(shí)中斷發(fā)生的間隔為 0.015625秒+11*122us。程序中64次中斷為1秒,那么1秒誤差為64*11*122us=85.9375ms,1分鐘的誤差為 5.156s。


那么怎樣得到精準計時(shí)呢?這就要在對定時(shí)器的初值賦值上和中斷處理程序中做文章。




關(guān)鍵詞: PIC16定時(shí)器晶振計

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>