地址范围 8CH~8FH
控制字为 10110011B=B3H
初始化程序 MOV DX,8FH
MOV AL,B3H
OUT DX,AL
为什么写入的是63h?
是因为8255的内部结构是有四个寄存器与cpu分别相连,相当于cpu传出来的数据可以放在8255的A寄存器 B寄存器 C寄存器 控制寄存器四个寄存器中,其中每个寄存器分配有单元地址,60对应A寄存器的地址入口,顺序下来就是63对应控制寄存器的地址入口,,既然是要把控制字存入寄存器,使8255按照控制字的指向工作的话,就是把控制字10010110B存入控制寄存器中,自然就是把63h的地址存入dx中咯,如果是60h的话不就是把控制字存入A寄存器了吗?
其实我们上周才上的微机原理,刚好讲这章,我的理解是这样~
A做输入,B做输出,工作方式可选择90H,由译码器和A1A0决定其端口地址:G1是高电平有效,由与门输出,则A8A7=11,G2A、G2B是低电平有效则A6A5=00,又由于译码器输出为Y2则A4A3A2=010,所以其A、B、C、控制端口地址分别是188H、189H、18AH、18BH。
源程序:
mov al,90h
out 18bh,al
mov dx,188h
in al,dx
mov dx,189h
out dx,al
以上就是关于8255A初始化题目全部的内容,包括:8255A初始化题目、假定8255A的地址为 0060H~0063H.试编写下列情况的初始化程序、如图 1)分析各端口地址2)A口,B口工作在什么方式3)写出8255A的初始化程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)