微机原理上机4-IO接口拓展实验

程序修改

要求:开关闭合时,LED0~7依次循环点亮;开关打开,所有LED同时亮灭闪烁。

在原有的代码基础上,做出上述现象

修改代码如下

.MODEL	SMALL
.8086
.code
.startup

      	mov bl,0ffh
l:	mov dx,030h
	in al,dx
	test al,1
	jz N
	jnz N1
N:	mov al,bl
	out dx,al
    call delay10
	not bl        ;LED同时亮灭的代码
    jmp l
    ;LED循环亮灭的分支结构程序
	N1:
	xor bl,00000001b       ;LED循环点亮的代码
	rol bl,1
	mov al,bl
	out dx,al
	call delay10
	jmp l
	
delay10 proc
mov cx,40000
loop $
ret
delay10 endp

.data
.stack
END

修改建议:在对原有代码的基础上做出修改,首先的原则便是尽量少更改原有的代码。这里需要同时亮灭首先mov bl,0ffh和代码not bl便可以实现。LED代码循环点亮要修改或添加的代码过多,这里建议使用分支结构程序进行设计。这样既可以减少对原有代码的影响,又可以保持思路清晰

实验现象

io - Proteus 8 Professional

端口地址更改

 完成上述内容后,修改电路,将端口地址改成24H,并修改相应代码,重新仿真,搞清楚I/O端口译码电路端口地址之间得对应关系。

 

A7A6A5A4A3A2A1A0
30H00110000
24H00100100
68H01101000

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值