alarm.asm

来自「ap89170 的语音报警系统」· 汇编 代码 · 共 101 行

ASM
101
字号
        SMM1 BIT P1.3
        SMM2 BIT P1.2
        SMM3 BIT P1.1
        SBT  BIT P3.7
        JDG  BIT P1.5
        DOG  BIT P1.7
        STOP BIT P1.4
        ORG  0000H
        AJMP MAIN
        ORG  0030H
   MAIN:MOV  SP,#69H
        CLR  SBT
        JNB   STOP,$  
    MAY:SETB JDG
        CLR  SBT
        CALL BLOCK1      ;音段1
        CALL BLOCK2 
        CALL BLOCK3
        CALL BLOCK4
        CALL BLOCK5      ;音段2
        CALL BLOCK6      ;音段3
        CALL ALARM       ;报警
        SJMP MAY

BLOCK6: CLR  SBT
        SETB SMM1
        CLR  SMM2
        SETB SMM3         ;设置地址
        SETB SBT          ;语音开
        CALL DELAY
        CLR  SBT
        JNB  STOP,$         ;语音关
        CLR  SBT
        CALL DELAY
        RET
BLOCK5:
        CLR  SMM1
        CLR  SMM2
        SETB SMM3         ;设置地址
        SETB SBT          ;语音开
        CALL DELAY
        CLR  SBT          ;语音关
        JNB   STOP,$
        CALL DELAY
        RET
BLOCK4:
        SETB  SMM1
        SETB  SMM2
        CLR   SMM3
        SETB  SBT
        CALL DELAY
        CLR   SBT
        JNB   STOP,$
        CALL DELAY
        RET
BLOCK3: CLR  SMM1
        SETB SMM2
        CLR  SMM3
        SETB SBT
        CALL DELAY
        CLR  SBT
        JNB   STOP,$
        CALL DELAY
        RET
BLOCK2: SETB SMM1
        CLR  SMM2
        CLR  SMM3
        SETB SBT
        CALL DELAY
        CLR  SBT
       ; CALL DELAY
        JNB   STOP,$
        CALL DELAY
        RET
BLOCK1: CLR   SBT
        CLR  SMM1
        CLR  SMM2
        CLR  SMM3
        SETB SBT
        CALL DELAY
        CLR  SBT
        JNB   STOP,$
        CALL DELAY
        RET
ALARM:                     ;报警灯
        CLR JDG
        NOP
        RET
DELAY:
        MOV R7,#00
D3D6595:MOV R5,#00
	DJNZ R5,$
	DJNZ R7,D3D6595
	RET
        END





⌨️ 快捷键说明

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