报警产生器.asm

来自「AT89S52单片机程序50例(00-50)」· 汇编 代码 · 共 32 行

ASM
32
字号
;报警产生器
;P1.0接蜂鸣器,P3.0接按键。

      FLAG BIT 00H  
;频率转换标志,FLAG=0时,输出500Hz频率信号;FLAG=1时,输出1KHz频率信号。

      ORG 0000H

START:JB P3.0,START  ;按键为1时,跳转至START
      JNB FLAG,NEXT  ;按键为0且FLAG=0时,跳转至NEXT,输出500Hz频率信号
      MOV R2,#200  ;按键为0且FLAG=1时,R2=200,输出1KHz频率信号

   DV:CPL P1.0
      LCALL DELY500  ;延时1ms
      LCALL DELY500
      DJNZ R2,DV
      CPL FLAG

 NEXT:MOV R2,#200  ;按键为0且FLAG=1时,R2=200,输出1KHz频率信号
  DV1:CPL P1.0
      LCALL DELY500  ;延时0.5ms
      DJNZ R2,DV1
      CPL FLAG
      SJMP START

;0.5ms延时子程序
DELY500:MOV R7,#250
   LOOP:NOP
        DJNZ R7,LOOP
   RET
END

⌨️ 快捷键说明

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