⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 报警检测仪.asm

📁 基于单片机的报警检测asm源程序
💻 ASM
字号:
     ORG  0000H
     LJMP MAIN
     ORG  0150H
MAIN:MOV SP,#60H

     MOV DPTR,#0B000H
     MOV A,#03H
     MOVX @DPTR,A
     CLR  A
     MOV R0,#2AH
MP0: MOV @R0,A
     INC R0
     CJNE R0,#30H,MP0
     CLR  00H
     MOV  21H,#00H
DIS: LCALL DISP
     LCALL KS1
     JZ    MP2
MP1: LJMP SCAN
MP2: LJMP RUN

RUN: JNB 00H,RU1
     LJMP  DIS
RU1: LCALL  AD1
     MOV R3,A
     MOV 50H,A
     LCALL IBTD
     MOV 2DH,R4
     MOV A,R5
     ANL A,#0F0H
     SWAP A
     MOV 2EH,A
     MOV A,R5
     ANL A,#0FH
     MOV 2FH,A
     MOV 2AH,#10H
     MOV 2BH,#13H       ;---------(1)
     MOV 2CH,#13H	;---------(2)
     CLR C
     MOV A,50H
     SUBB A,51H
     JC RU2
     SETB P1.0
     LJMP DIS
RU2: CLR P1.0
     LJMP DIS

SCAN: LCALL KEYA
      CJNE A,#0BH,SC2
      CLR 00H
      MOV 21H,#00H
SC1:  LJMP SC9
SC2:  CJNE A,#0AH,SC3
      LJMP  SC1		;--------(3)
sc3:  SETB 00H
      MOV 2AH,#1EH
      MOV 2BH,#13H	;--------(4)
      MOV 2CH,#13H	;--------(5)
      MOV R4,A		;--------(6)
      INC 21H
sc4:  MOV A,21H		;--------(7)
      CJNE A,#01H,SC5
      MOV 2DH,R4	;--------(8)
      SJMP SC8
SC5:  CJNE A,#02H,SC6
      MOV 2EH,R4	;--------(9)
      SJMP SC8
SC6:  CJNE A,#03H,SC7
      MOV 2FH,R4	;--------(10)
      SJMP SC8
SC7:  MOV 21H,#01H
      SJMP SC4
SC8:  LCALL DTB
SC9:  LJMP DIS


DTB:  MOV B,#64H
      MOV A,2DH
      MUL AB
      MOV R6,A
      MOV A,B
      JZ DTB1
      SJMP DTB2
DTB1: MOV B,#0AH
      MOV A,2EH
      MUL AB
      ADD A,R6
      JC DTB2
      ADD A,2FH
      JC DTB2
      MOV 51H,A
      RET
DTB2: MOV 2AH,#1EH
      MOV 2BH,#11H
      MOV 2CH,#11H
      MOV 2DH,#11H
      MOV 2EH,#11H
      MOV 2FH,#11H
      RET

IBTD: CLR A
      MOV R4,A
      MOV R5,A
      MOV R7,#08H
LOP:  CLR C
      MOV A,R3
      RLC A
      MOV R3,A
      MOV A,R5
      ADDC A,R5
      DA A
      MOV R5,A
      MOV A,R4
      ADDC A,R4
      DA A
      MOV R4,A
      DJNZ R7,LOP
      RET

DISP: MOV  R0,#2AH
      MOV  R1,#0FEH
      MOV     DPTR,#0B001H
DLP:  INC     DPTR
      MOV     A,@R0
      ADD     A,#0FH
      MOVC    A,@A+PC
      MOVX    @DPTR,A
      MOV     DPTR,#0B001H
      MOV     A,R1
      MOVX    @DPTR,A
      ACALL   DIMS
      RL      A
      MOV     R1,A
      INC     R0
      CJNE    R0,#30H,DLP
      RET
DB      3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,73H,40H,58H,00H,0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH,77H
DIMS:  MOV     R7,#02H
DL1:   MOV   R6,#0FFH
DL2:   DJNZ   R6,DL2
       DJNZ       R7,DL1
       RET


KEYA:   LCALL   T12MS
        	LCALL   KS1
        	JNZ     LK1
        	SJMP    KND
	LK1:    MOV     R4,#00H
        	MOV     R2,#0FEH
	LK2:    MOV     DPTR,#0B001H
        	MOV     A,R2
        	MOVX    A,@DPTR
        	MOV     A,#03H
        	MOVX     @DPTR,A
        	MOV     A,R2
        	MOVX    @DPTR,A
        	INC     DPTR
        	CLR	A
		MOVX	@DPTR,A
		INC     DPTR
        	MOVX    A,@DPTR
        	JB      ACC.0,LONE
        	MOV     A,#00H
        	SJMP    LKP
	LONE:   JB      ACC.1,NEXT
        	MOV     A,#06H
	LKP:    ADD     A,R4
        	PUSH    ACC
	LK3:    LCALL   KS1  ;改
        	JZ      BACK ;
                LCALL   DISP ;
                SJMP    LK3  ;
        BACK:	POP     ACC  ;
	KND:    RET
	NEXT:   INC     R4
        	MOV     A,R2
        	JNB     ACC.5,KND
        	RL      A
        	MOV     R2,A
        	SJMP    LK2
	KS1:    MOV     DPTR,#0B001H
        	MOV     A,#00H
        	MOVX    @DPTR,A
        	INC     DPTR
        	CLR	A
		MOVX	@DPTR,A
		INC     DPTR
        	MOVX    A,@DPTR
        	CPL     A
        	ANL     A,#03H
        	RET
	T12MS:  MOV     R7,#18H
	TM:     MOV     R6,#0FFH
	TM6:    DJNZ    R6,TM6
        	DJNZ    R7,TM
        	RET

AD1: MOV DPTR,#5001H
     mov a ,#01h
     MOVX @DPTR,A
     MOV R2,#20H
DL:  DJNZ R2,DL
WEND: JB P3.3,WEND
     MOVX A,@DPTR
     MOV 50H,A
     RET


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -