报警产生器.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 + -
显示快捷键?