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