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

📄 io.asm

📁 多个仿真例子
💻 ASM
字号:
;单片机每50ms从扩展的外部输入口读取开关的状态
;单片机将开关的状态以1Hz的闪动频率显示出来
;开关闭合时LED闪烁
IO	EQU	8000H	;扩展的I/O口地址
BUF	EQU	30H	;开关状态缓冲区
FLASH	BIT	00H
	ORG	0
	LJMP	START
	ORG	0BH
	LJMP	TS
	ORG	30H
START:	MOV	SP,#60H
	MOV	TMOD,#1
	MOV	TH0,#3CH
	MOV	TH1,#0B0H	;定时50ms
	SETB	ET0
	SETB	EA
	MOV	R2,#10		;定时500ms计数
	MOV	BUF,#0		;清开关状态缓冲区
	CLR	FLASH		;清闪烁标志
	SETB	TR0
LOOP:	LCALL	DISP		;显示开关状态
	SJMP	LOOP
;============================================
;显示程序
;功能:根据闪烁标志FLASH将开关缓冲区内容送显
;============================================
DISP:	MOV	DPTR,#IO
	JB	FLASH,DISP1	;FLASH=1则将开关缓冲区内容送显
	CLR	A		;否则熄灭所有LED
	MOVX	@DPTR,A
	RET
DISP1:	MOV	A,BUF
	MOVX	@DPTR,A
	RET
;============================================
;50ms中断服务程序
;功能:读取开关状态并存到开关缓冲区
;      每500ms将闪烁标志取反。
;============================================
TS:	CLR	TR0
	MOV	TH0,#3CH
	MOV	TL0,#0B0H
	SETB	TR0
	MOV	DPTR,#IO
	MOVX	A,@DPTR		;读开关状态
	CPL	A
	MOV	BUF,A		;存开关状态
	DJNZ	R2,TS1
	MOV	R2,#10
	CPL	FLASH
TS1:	RETI
	END

⌨️ 快捷键说明

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