1、首先用串口模块将一个从PC机发来的串行数据转换成并行数据存放到数据输出选择模块的DOUT口,至于这个八位数据是输入到控制寄存器还是从PA/PB/PC口输出,就由另一个输入输出逻辑判断模块来控制。
2、逻辑判断模块根据A0-A1,WR,RD,还有控制字来判断三个端口处于什么工作方式,并将数据发送(接收)至A口、B口、C口的缓冲区。
3、通过PA输出模块、PA输入模块、PB输出模块、PB输入模块、PC输出模块将缓存区中的数据根据不同的工作方式进行输入输出。
8个模块的作用:
1、串口通信模块(Rs232RefComp):由于8255端口众多,而fpga板载I/O口不够用,所以采用串口输入的方式来给8255提供所需的数据(D0-D7)。
2、数据输出选择模块(dout_mux):8255A有3个8位数据端口,即端口A、端口B和端口C,通过数据输出选择模块来最终判断选择哪个端口输出。
3、数据输入输出逻辑判断模块(cntl_log):8255A的三个端口,还有一个控制寄存器,通过数据输出输入逻辑判断模块来判断8255处于何种工作方式。
4、PA口输出模块(portaout):用来控制PA的缓存区的八位数据输出到PA口。
5、PA口输入模块(portain):用来控制PA口读到的数据放到PA的缓存区。
6、PB口输出模块(portbout):用来控制PB的缓存区的八位数据输出到PB口。
7、PB口输入模块(portbin):用来控制PB口读到的数据放到PB的缓存区。
8、PC口输出模块(portcout):用来控制PC口的位输出。
1. 可编程并行接口芯片8255A面向I/O设备一侧的端口有几个?其中C口的使用有哪些特点?
8255A面向I/O设备一侧有3个8位的端口:A口、B口和C口,或者说有2个8位的端口(A口、B口)和2个4位的端口(C上、C下)。
其中,C口比较特殊,它的特点主要有:作为数据口,可分为两个独立的4位口(C上、C下)使用;1方式和2方式时,C口的部分引脚作为A、B口的固定联络信号线;1方式和2方式时,C口作为状态口使用;C口的引脚可以用按位置/复位命令字进行按位控制。
2. 可编程并行接口芯片8255A的编程命令有哪两个?试分别说明它们的作用及其命令格式中每位的含义是什么?
8255A有两个编程命令:方式命令字和C口按位置/复位命令字。
方式命令字:用于对8255A进行初始化编程,设定A、B、C口的工作方式及传送方向,其命令格式及各位含义如下:
C口按位置/复位命令字:用于对8255A进行动态控制,在应用过程中,需要对C口的某个引脚进行按位操作时使用,对已设定好的工作方式无影响,其命令字格式及各位含义如下:
4. 如何对8255A进行初始化编程?
对8255A进行初始化编程主要是写入方式字,设置所使用的每个数据口的工作方式及传送方向。另外,如果有必要,在初始化时还要写入将PC某个引脚置1或清0的命令字(C口按位置/复位命令字)。
5. 可编程并行接口芯片8255A有哪几种工作方式?各自的特点何在?
8255A有3种工作方式,其中A口可工作于方式0、方式1和方式2;B口只能工作于方式0和方式1。
方式0的特点:①是基本输入/输出方式,输出有锁存功能,输入有缓冲功能,采用无条件方式或查询方式与CPU交换信息;②2个8位口和2个4位口,24根I/O信号线全部由用户控制;③无专用联络信号线;无固定时序;无确定的状态字;④单向I/O
方式1的特点:①是选通(应答)输入/输出方式,输入、输出都具有锁存功能,采用查询方式或中断方式与CPU交换信息;②A、B口作为数据口,C口部分引脚作专用联络信号线,这些信号线用户不能指定为其他用途;③有专用联络信号线;有固定时序;有确定的状态字;④单向I/O
方式2的特点:①A口为双向选通(应答)输入/输出方式,采用查询方式或中断方式与CPU交换信息;②有专用联络信号线;有固定时序;有确定的状态字;联络线定义、时序及状态字都是方式1输入和输出的组合。
8255控制字D7=1时,D6~D0为口模式控制,D7=0时控制字为PC口的位操作模式,如控制字=00H,PC0复位;控制字=01H,PC0置位;控制字=0EH,PC7复位;控制字=0FH,PC7置位;其中D6~D4没定义,D3~D1从000B~111B分别指定PC0~PC7脚,D0位为相应的电平高低,0为低电平,1为高电平。
难道你想让回答者,把几页书的内容,都写这里吗?
建议回去好好看看书,重点看 8255 的控制字。
如果,书上,有看不懂的地方,再来提问。
你自己瞎编的问题,就不要来提问了。
也建议百度知道的“专家”,最好找些优质问题,来让大家挑战优质答案。