Ⅰ 可编程并行接口8255中C口的按位操作是如何实现的
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口的位输出。
Ⅱ 如何确定可编程芯片8255的端口地址
可编程接口8255A端口地址是由其引脚决定的
A1A0=00,代表A端口地址
A1A0=01,代表B端口地址
A1A0=10,代表C端口地址
A1A0=11,代表控制字寄存器端口地址
补充:8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。 其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。