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

📄 door bell.asm

📁 Proteus在MCS-51%26ARM7系统中的应用百例 Proteus在MCS-51%26ARM7系统中的应用百例
💻 ASM
字号:
KEY		BIT		P1.7
LCNT	EQU		30H
HCNT	EQU		31H
FLAG	EQU		33H						   	;计数标志
		ORG		00H
		SJMP	START
		ORG		0BH						   	;中断入口
		LJMP	INT_T0
START:	MOV		LCNT,#00H
		MOV		HCNT,#00H
		CLR		FLAG
		MOV		TMOD,#01H
		MOV		TH0,#(65536-700)/256		;定时0.7毫秒
		MOV		TL0,#(65536-700)MOD 256
S1:		JB		KEY,$						;等待按键
		LCALL	DELAY
		JB		KEY,$
		MOV		IE,#82H
		SETB	TR0
		SJMP	S1

INT_T0:	INC		LCNT
		MOV		A,LCNT
		CJNE	A,#100,I1
		MOV		LCNT,#00H
		INC		HCNT
		MOV		A,HCNT					 	
		CJNE	A,#05H,I1					;输出500个周期方波
		MOV		HCNT,#00H
		INC		FLAG						;计数标志加1
	I1:	CPL		P1.0
		MOV		A,FLAG
		CJNE	A,#00H,I2					
		LJMP	K1							;FLAG=0,发高频音
	I2:	MOV		A,FLAG
		CJNE	A,#01H,I3
		LJMP	K2							;FLAG=1,发低频音
	I3:	MOV		A,FLAG
		CJNE	A,#02H,I1
		MOV		FLAG,#00H
		CLR		TR0							;FLAG=2,关定时器
		LJMP	RETUNE
	K1:	MOV		TH0,#(65536-700)/256	 	;高频音
		MOV		TL0,#(65536-700)MOD 256
		LJMP	RETUNE
	K2:	MOV		TH0,#(65536-1000)/256		;低频音
		MOV		TL0,#(65536-1000)MOD 256
RETUNE:	RETI
DELAY:	MOV		R5,#20
D1:		MOV		R6,#250
		DJNZ	R6,$
		DJNZ	R5,D1
		RET
		END

⌨️ 快捷键说明

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