人狗畜禽COMPANY LIMITED|全是肉的高H文〈男男〉|全篇肉高H秘书被C办公室四爱|全黄H全肉共妻|全黄H全肉短篇禁乱NP慕浅浅|全黄H全肉短篇N男男

技術熱線: 4007-888-234
設計開發(fā)

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應用測試 完善的開發(fā)代碼案例庫分享

技術支持

從全面的產(chǎn)品導入到強大技術支援服務 全程貼心伴隨服務,創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

新聞中心

提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)

MICROCHIP單片機的定時器精準計算

更新時間: 2019-01-05
閱讀量:3098

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

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

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

阳春市| 潼关县| 上思县| 寿阳县| 色达县| 靖安县| 东乌珠穆沁旗| 海原县| 儋州市| 新巴尔虎右旗| 合阳县| 峡江县| 高雄市| 胶南市| 乌兰浩特市| 孝昌县| 会同县| 屯门区| 苍南县| 万盛区| 宁武县| 四川省| 新泰市| 连江县| 阿巴嘎旗| 德格县| 南郑县| 华亭县| 泾川县| 仁布县| 象州县| 东源县| 秭归县| 柘城县| 靖远县| 革吉县| 苍山县| 葵青区| 泾阳县| 永定县| 喀什市|