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

📄 alarm.asm

📁 多个仿真例子
💻 ASM
字号:
;本程序是一个以89C51为核心的声光报警器控制程序
;系统的晶振频率12MHz,外界报警触发脉冲接至INT0,报警复位按钮接P1.2,喇叭接P1.1
;当外界报警脉冲触发报警后,LED(接P1.0)以1Hz的频率闪动,同时喇叭种发出"Wu,Wa......"的警笛声
;该声音由1kHz和500Hz方波以0.5秒为间隔交替发声
;值班人员按动报警复位钮后声光报警停止。
HISOUND	BIT	00H	;高音标志
LED	BIT	P1.0	;驱动LED接口
SPEAKER	BIT	P1.1	;喇叭
STOP	BIT	P1.2	;复位按钮
BR2	EQU	0AH	;1区R2
	ORG	0
	LJMP	START
	ORG	3
	LJMP	ALARM
	ORG	0BH
	LJMP	T0S
	ORG	1BH
	LJMP	T1S
	ORG	30H
START:	MOV	SP,#60H
	MOV	BR2,#10
	SETB	IT0
	SETB	ET0
	SETB	ET1
	SETB	EX0
	SETB	PT0
	SETB	EA
	SETB	HISOUND
	SETB	LED	;熄灭LED
	CLR	SPEAKER
	MOV	TMOD,#11H
	MOV	TH0,#0FEH
	MOV	TL0,#0CH
	MOV	TH1,#3CH
	MOV	TL1,#0B0H
	SETB	STOP	;允许报警复位按钮输入
LOOP:	JB	STOP,LOOP
	LCALL	DELAY	;消除开关抖动
	JB	STOP,LOOP
	CLR	TR0
	CLR	TR1
	SETB	LED	;熄灭LED
	CLR	SPEAKER
	SJMP	LOOP
ALARM:	SETB	TR0
	SETB	TR1
	RETI
T0S:	CLR	TR0
	JB	HISOUND,T0S1
	MOV	TH0,#0FCH
	MOV	TL0,#18H
	SJMP	T0S2
T0S1:	MOV	TH0,#0FEH
	MOV	TL0,#0CH
T0S2:	SETB	TR0
	CPL	SPEAKER
	RETI
T1S:	PUSH	PSW
	SETB	RS0
	CLR	RS1
	CLR	TR1
	MOV	TH1,#3CH
	MOV	TL1,#0B0H
	SETB	TR1
	DJNZ	R2,T1S1
	MOV	R2,#10
	CPL	HISOUND
	CPL	LED
T1S1:	POP	PSW
	RETI
DELAY:	MOV	R6,#20
L1:	MOV	R7,#250
L2:	NOP
	NOP
	DJNZ	R7,L2
	DJNZ	R6,L1
	RET
	END

⌨️ 快捷键说明

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