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

技術熱線: 4007-888-234

技術支持

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

更新時間: 2019-01-05

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

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

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

404
返回首頁 |  返回上一頁
欢迎光临: 镇坪县| 肇东市| 灌云县| 西乌| 布尔津县| 平南县| 临江市| 波密县| 榆树市| 石棉县| 侯马市| 桃江县| 朝阳市| 宁远县| 昌图县| 甘孜| 鸡东县| 花垣县| 黔江区| 安宁市| 竹北市| 扶余县| 侯马市| 客服| 郯城县| 巩义市| 岳阳县| 聂荣县| 天等县| 钦州市| 澳门| 云南省| 简阳市| 自贡市| 望城县| 灌南县| 循化| 铁岭县| 玉门市| 姚安县| 固始县|