標題: 主程序中如何申請中斷? [打印本頁]

作者: wanglema    時間: 2011-2-24 21:50
標題: 主程序中如何申請中斷?

各位大師們 你們好,我將用定時器編寫一個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