inter0-0.asm

来自「Proteus的8051仿真经典实例」· 汇编 代码 · 共 35 行

ASM
35
字号
	ORG 00H
	JMP MAIN
	ORG 03H		;INT0中断子程序起始地址
	JMP EXT0	;中断子程序
	ORG 30H
MAIN:	MOV	IE,#10000001B	;INT0中断使能
	MOV	IP,#00000001B	;INT0中断优先
	MOV	TCON,#00000000B	;INTO为电平触发
	MOV	SP,#70H		;设定堆栈指针
	MOV	R2,#00		;设置记数初值
;--------------------------------------------------
LOOP:	MOV	A,R2		;读取十进制记数值
	MOV	P2,A		;显示
	JMP	LOOP		;循环
EXT0:	PUSH	ACC		;压入堆栈
	PUSH	PSW		;
	MOV	A,R2		;
	ADD	A,#01H		;计数指针加1
	DA	A		;做十进制调整
	MOV	R2,A		;存入R2
	CALL	DELAY		;延时
	POP	PSW		;出栈
	POP	ACC		;
	RETI			;中断返回
;-----------------------------------------------
DELAY:	MOV	R5,#20		;延时程序
D1:	MOV	R6,#50		;
D2:	MOV	R7,#248		;
	DJNZ	R7,$		;
	DJNZ	R6,D2		;
	DJNZ	R5,D1		;
	RET
	END	

⌨️ 快捷键说明

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