各位大師們 你們好,我將用定時(shí)器編寫一個(gè)5分鐘的定時(shí)程序,主循環(huán)中如果檢測(cè)到一個(gè) IO口為低電平的時(shí)候?qū)⑸暾?qǐng)中斷 由單片機(jī)的另一個(gè)IO口輸出5分鐘的高電平狀態(tài)
主循環(huán)如何編寫?如果是檢測(cè)到IO口為低電平時(shí)就要啟動(dòng)定時(shí)器,如何編程?謝謝高手們指點(diǎn)
MAIN: SETB _WDI;喂狗
NOP
NOP
MOV C,K1_IN;讀IO口狀態(tài)
JNC OPENRELAY;若=0證明是低電平
LJMP MAIN
OPENRELAY: SETB RELAY;打開繼電器
SETB TF1;?????該處如何申請(qǐng)中斷去延時(shí)這5分鐘???
LJMP MAIN
TIMER1: SETB _WDI
MOV TH1,#03CH ;賦初值
MOV TL1,#0B0H
DJNZ R3,EXT1 ;1s到了?沒有轉(zhuǎn)去EXT1
MOV R3,#20 ;1s到了,重新賦值
DEC R4 ;1S到了R4減1
CJNE R4,#0,EXT1 ;60s到了嗎,沒有到則轉(zhuǎn)去EXT1
MOV R4,#60 ;60S到了重新賦值
DEC R5 ;60S到了R5減1
CJNE R5,#0,EXT1 ;300s到了嗎,沒有到則轉(zhuǎn)去EXT1
MOV R5,#5 ;300s到了,重新賦值
closedrelay: CLR RELAY
SETB C
EXT1: RETI ;中斷返回
| 歡迎光臨 (http://m.raoushi.com/bbs/) | Powered by Discuz! X3.1 |