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口的位输出。
有贴切题目的回答吗?不要这么复制黏贴啊。没有到点子上的答案,。
来自:求助得到的回答本回答被网友采纳