问题1:
mov dx,93h ;控制端口地址
mov al,10010000B ;控制字,A口输入,B口输出,均为方式0,C口没用上,随便设置
out dx,al ;控制字送控制端口
;mov dx,90h ;A口地址
;in al,dx ;读取A口开关状态
;(按照题目要求,貌似跟开关状态无关吧,注释掉)
mov dx,91h ;B口地址
continue:
mov al,01010101B ;PB0,PB2,PB4,PB6低电平,PB1,PB3,PB5,PB7高电平,LED1,3,5,7亮
out dx,al ;数据送至B口
;(这里可以调用延时子程序,你自己可以按需要设定延时,即LED灯显示多久再转换,我省略了哦)
not al ;求反,即使PB0,PB2,PB4,PB6为高电平,PB1,PB3,PB5,PB7为低电平,LED2,4,6,8亮
out dx,al ;数据送至B口
jmp continue ;循环显示
问题2:
mov dx,93h ;控制端口地址
mov al,10010000B ;控制字,A口输入,B口输出,均为方式0,C口没用上,随便设置
out dx,al ;控制字送控制端口
mov al,01111111B ;初始化PB0低电平,其它位高电平,LED1亮
mov dx,91h ;B口地址
continue:
out dx,al ;数据送至B口
;(调用延时子程序)
ROR al,1 ;循环右移1位,使LED依次亮
jmp continue ;循环显示
A口的开关没用上,按我的理解就是这样,如果理解有所偏差,抱歉!
温馨提示:答案为网友推荐,仅供参考