Ⅰ 可編程並行介面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可作為單片機與多種外設連接時的中間介面電路。