GOGOGO高清完整国语,GOGOGO在线观看免费观看完整版高清,GOGOGO免费高清完整,GOGOGO高清在线观看免费视频,GOGOGO日本高清国语完整,GOGOGO免费高清完整版

技術熱線: 4007-888-234
設計開發

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

開發工具

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

技術支持

從全面的產品導入到強大技術支援服務 全程貼心伴隨服務,創造無限潛能!

新品推廣

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

新聞中心

提供最新的單片機資訊,行業消息以及公司新聞動態

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

更新時間: 2019-03-26
閱讀量:2819

在此用了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


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


欢迎光临: 漳平市| 右玉县| 黄浦区| 社旗县| 平遥县| 九龙县| 封丘县| 清远市| 长武县| 舟曲县| 都匀市| 济阳县| 南溪县| 陵川县| 高青县| 新闻| 遂川县| 台安县| 翼城县| 石林| 浑源县| 河西区| 东丽区| 高密市| 浦县| 永清县| 桐梓县| 文安县| 科技| 宝清县| 观塘区| 四会市| 庄河市| 曲麻莱县| 三门县| 罗源县| 洪江市| 江安县| 方山县| 施秉县| 江西省|