XinHao EQU P1.0 Light EQU P2.0 ORG 0000H AJMP MAIN ------------------MAIN----------------- MAIN: CLR light ;初始時燈泡熄滅 Check: SETB XinHao JNB XinHao,yanshi ;檢測是否有信號 LJMP Check yanshi: LCALLdelay ;延時防信號抖動 SETB XinHao JNB XinHao,dianliang ;有,點亮燈泡 LJMP Check -------------------dianliang-------------------- dianliang: SETB light ;點亮燈泡 LOOP: SETB XinHao JB XinHao,yanshi1 ;判斷是否無信號 LJMP LOOP yanshi1: LCALLdelay ;延時防抖動 SETB XinHao JB XinHao,yanshi8 ;再次確定無信號 LJMP LOOP yanshi2: LCALL delay1 ;利用定時器延時兩分鐘 CLR light ;熄滅燈泡 RET --------------------delay------------------- Delay: MOV R0, #100 D1: MOV R1, #100 D2: DJNZ R1, D2 DJNZ R0, D1 RET ----------定時器延時兩分鐘---------- delay1: MOV R2, #180 MOV IE, #00H MOV TMOD, #01H SETB TR0 CLR TF0 LOOP0: MOV TL0, #0FH MOV TH0, #00H LOOP1: JBC TF0,LOOP2 ;定時是否溢出 JMP LOOP1 LOOP2: DJNZ R2, LOOP0 MOV TMOD, #00H CLR TR0 CLR TF0 RET ---------------------END--------------------- END
|