ORG 0000H
LJMP SYS
ORG 000BH
1----》 RETI
SYS:
MOV IE,#0FFH
MOV TMOD,#01H
;MOV TL0,#01EH
;MOV TH0,#02FH
SETB TR0
JMP $
;RETI
END
以上代碼是測試定時(shí)器1代碼,我在1處打斷點(diǎn),當(dāng)隨機(jī)連續(xù)取兩個(gè)斷點(diǎn)的時(shí)間差是0.065536是,改變TL0,TH0的值,但是這時(shí)間差仍然不變,為什么計(jì)時(shí)器的計(jì)時(shí)值不改變?!
定時(shí)時(shí)間的計(jì)算公式為不是:
(216—計(jì)數(shù)初值)╳晶振周期╳12
為什么改變計(jì)數(shù)初值TH0,TL0怎么不見效啊?!
請哪位大俠解釋一下啊?!
很明顯,你的用法不對。
你想,當(dāng)程序走到哪里會(huì)停下呢,當(dāng)然是走到JMP $,那就一直在等待了,進(jìn)入中斷后,你開始計(jì)時(shí),那中斷返回到哪里呢,當(dāng)然還是JMP $,這個(gè)期間,你根本沒有給定時(shí)器重新賦值,所以它只能從0開始加,然后再進(jìn)入中斷,然后再返回JMP $,無限循環(huán)了.....
歡迎光臨 (http://www.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |