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

📄 b11-1.asm

📁 本文件包包括8051彻底研究书籍各章的实例源代码
💻 ASM
字号:
;PROGRAM NAME B11-1.ASM
MS10	EQU	9217	;APPROXIMATELY 10MS INTERRUPR
INTR_CNT EQU	30H	;CNT STORIAGE
;
SCOPE   REG	P3.3	;CHECK BY SCOPE
BUZZER  REG	P3.4
LED     REG	P3.7
;
	ORG	0000H
	JMP	START
	ORG	0003H	;[DISABLE]  EXTERNAL INT0 INTERRUPT
	RETI
	ORG	000BH	;[ENABLE]  TIMER0 OVERFLOW INTERRUPT
	JMP	T0_ISR
;
	ORG	0013H
	RETI		;[DISABLE] EXTERNAL INT1 INTERRUPT
	ORG	001BH
	RETI		;[DISABLE] TIMER1 OVERFLOW INTERRUPT
	ORG	0023H
	RETI		;[DISABLE] SERIAL INTERRUPT
;
	ORG	30H
START	MOV	R0,#00H
	DJNZ	R0,$	;DELAY A WHILE
	MOV	SP,#60H
	MOV	P1,#FFH
	MOV	P3,#FFH
	MOV	INTR_CNT,#00H
	CLR	BUZZER	;P3.4=0,BUZZER OFF
	CLR	LED	;P3.7=0,LED OFF
;
	CALL	SET_TMR0
$LOOP	SJMP	$LOOP
;
T0_ISR
	MOV	TH0,#(65536-MS10) / 256	;RELOAD TH0
	MOV	TL0,#(65536-MS10) .MOD. 256
	PUSH	A
	MOV	A,INTR_CNT
	CJNE	A,#10,$1
$1	JNC	$2
	SETB	BUZZER
	SJMP	$3
$2	CLR	BUZZER
$3	MOV	A,INTR_CNT
	INC	A
	MOV	INTR_CNT,A
	CJNE	A,#100,$T0_END
	MOV	INTR_CNT,#00H
	CPL	SCOPE
$T0_END	POP	A
	RETI
;
SET_TMR0
	MOV	A,#01H	;TIMER MODE 1
	MOV	TMOD,A
	MOV	TH0,#(65536-MS10) / 256	;RELOAD TH0
	MOV	TL0,#(65536-MS10) .MOD. 256
	CLR	TF0	;CLEAR TIMER0 FLAG
	SETB	TR0	;TIMER0 START COUNT
	SETB	ET0	;ENABLE TIMER0 INTERRUPT
	SETB	EA	;ENABLE SYSTEM INTERRUPT
	RET
;

⌨️ 快捷键说明

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