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

技術(shù)熱線: 4007-888-234

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

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

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

技術(shù)支持

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

更新時間: 2019-03-26

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

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


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


404
返回首頁 |  返回上一頁
巴林右旗| 遵义县| 泗阳县| 舟山市| 饶阳县| 顺昌县| 万山特区| 调兵山市| 揭阳市| 宁国市| 临泉县| 松江区| 长治县| 南丰县| 壤塘县| 开平市| 合川市| 特克斯县| 拜泉县| 光山县| 揭东县| 陈巴尔虎旗| 观塘区| 湖南省| 青河县| 华坪县| 灯塔市| 安塞县| 崇州市| 彭山县| 西丰县| 孝感市| 广宗县| 洛扎县| 桐庐县| 长寿区| 临夏县| 崇州市| 习水县| 衡南县| 衡东县|