下載手機汽配人

單片機40ms定時器初值怎么設置?。?/h1>

MAIN: MOV R3,#25 MOV TMOD,#01H MOV TH0,#70H ;置定時器初值(定時40ms) MOV TL0,#00H SETB TR0 ;啟動定時器0 LP1: JBC TF0,LP2 ;查詢計數(shù)溢出 SJMP LP1 ;未到40 ms繼續(xù)計數(shù) LP2: MOV TH0,#0B8H ;重新置定時器初值 MOV TL0,#00H 要計時40ms,如果用12M晶振的話應該是 MOV TH0,#63H ;置定時器初值(定時40ms) MOV TL0,#0C0H 才對,而且重裝的第二次初值怎么會和前次不同呢?此程序用來產生1s的計時時間用來讀取ds1302上的數(shù)據(jù),為什么要1s讀一次呢?請大家?guī)臀医獯?,謝謝。
提問者:網(wǎng)友 2017-08-19
最佳回答
晶振不是12MHz,應該是6MHz~7MHz之間的晶振。由于第二次設定初值和以后的設定初值考慮到每兩次設定初值之間存在若干指令會消耗一定的時間,所以會把指令的執(zhí)行時間也算在內,因此第二次初值和后續(xù)的初值就會比第一次的初值要大一點; 由于ds1302的反應時間是大概1s轉換一次數(shù)據(jù),所以定時器理應設置為1s讀一次。
回答者:網(wǎng)友
產品精選
搜索問答
還沒有汽配人賬號?立即注冊

我要提問

汽配限時折扣

本頁是網(wǎng)友提供的關于“單片機40ms定時器初值怎么設置?。俊钡慕獯?,僅供您參考,汽配人網(wǎng)不保證該解答的準確性。