ORG 0000H ; CLR P1.6 ; CLR P1.2 ; ACALL DYS ; SETB P1.6 ACALL YS ; SETB P1.2 ; CLR P1.3 ; CLR P1.6 ; ACALL DYS ; SETB P1.6 ; ACALL YS ; SETB P1.3 ; CLR P1.4 ; CLR P1.6 ; ACALL DYS ; SETB P1.6 ; ACALL YS ; SETB P1.4 ; CLR P1.5 ; CLR P1.6 ; ACALL DYS ; SETB P1.6 ; ACALL YS ; ; MOV P1, #0FFH ; MOV P3, #0FFH ; AGARN: MOV R6, #34H ; JB P3.6, TINDIAN ;檢查是否停電 JNB P3.0, AGARN ;是否有有效無線信號輸入 ACALL DYS ; JNB P3.0, AGARN ; MOV A, P3 ;讀入無線信號值 ANL A, #3CH ;0011,1100 CJNE A,#20H, XH ;20H=00(10,00)00 B ;撤防程序 CLR P3.1 ; CLR P1.6 ;撤防成功響應 CLR P1.4 ;指示燈 CLR P1.5 ; SETB P3.7 ; ACALL YS ; SETB P1.6 ; AJMP AGARN ; XH: CJNE A,#30H, ONE ;判斷是否為布防信號 SETB P3.1 ; CLR P1.6 ;布防成功響應 SETB P1.4 ;指示燈 SETB P1.5 ; SETB P3.7 ; ACALL YS ; SETB P1.6 ; AJMP AGARN ; ONE: JNB P3.1, AGARN ; CJNE A,#4H, TWO ;1H=00(00,01)00B MOV P1, #0FBH ; AJMP BJ ; TW CJNE A,#8H, THREE ;2H= 00(00,10)00B MOV P1, #0F7H ; AJMP BJ ; THREE: CJNE A,#0CH, FOUR ;3H=00(00,11)00B MOV P1, #0EFH ; AJMP BJ ; FOUR: CJNE A,#10H, FIVE ;00(01,00)00B MOV P1, #0DFH ; AJMP BJ ; FIVE: NOP ; NOP ; NOP ; AJMP AGARN ; BJ: CLR P3.7 ;啟動報警信號 ACALL YS ;延時34秒 JB P3.0, AGARN ; DJNZ R6, BJ ; SETB P3.7 ;關閉報警信號 AJMP AGARN ; TINDIAN: MOV P1, #0FFH ;停電程序 CLR P1.6 ; CLR P1.5 ; ACALL YS ; SETB P1.6 ; SETB P1.5 ; ACALL YS ; CLR P1.6 ; CLR P1.5 ; ACALL YS ; SETB P1.6 ; SETB P1.5 ; ACALL YS ; AJMP AGARN ; DYS: MOV R0, #14H ; L1: MOV R1, #0F1H ; L2: NOP ; NOP ; NOP ; DJNZ R1, L2 ; DJNZ R0, L1 ; RET YS: MOV R0, 0FFH ; L3: MOV R1, 0F1H ; L4: NOP ; NOP ; NOP ; DJNZ R1, L4 ; DJNZ R0, L3 ; RET ; END ; 這款無線報警主機對任何發射頻率為315M,編碼采用PT2262的無線探頭都可適用,如無線人體探測器,無線門磁傳感器、無線微波探測器等,由于實際使用的環境不同,所需主機與之相配套的設置也不同,網友可以根據自己的發輝,通過編寫不同的軟件,從而實現不同的功能,這里不再詳述。 |
評論