XinHao EQU P1.0 Light EQU P2.0 ORG 0000H AJMP MAIN ------------------MAIN----------------- MAIN: CLR light ;初始時(shí)燈泡熄滅 Check: SETB XinHao JNB XinHao,yanshi ;檢測(cè)是否有信號(hào) LJMP Check yanshi: LCALLdelay ;延時(shí)防信號(hào)抖動(dòng) SETB XinHao JNB XinHao,dianliang ;有,點(diǎn)亮燈泡 LJMP Check -------------------dianliang-------------------- dianliang: SETB light ;點(diǎn)亮燈泡 LOOP: SETB XinHao JB XinHao,yanshi1 ;判斷是否無(wú)信號(hào) LJMP LOOP yanshi1: LCALLdelay ;延時(shí)防抖動(dòng) SETB XinHao JB XinHao,yanshi8 ;再次確定無(wú)信號(hào) LJMP LOOP yanshi2: LCALL delay1 ;利用定時(shí)器延時(shí)兩分鐘 CLR light ;熄滅燈泡 RET --------------------delay------------------- Delay: MOV R0, #100 D1: MOV R1, #100 D2: DJNZ R1, D2 DJNZ R0, D1 RET ----------定時(shí)器延時(shí)兩分鐘---------- 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 ;定時(shí)是否溢出 JMP LOOP1 LOOP2: DJNZ R2, LOOP0 MOV TMOD, #00H CLR TR0 CLR TF0 RET ---------------------END--------------------- END
|