8255可編程并行介面
內部結構

(1)資料總線緩沖器
(2)3個8位埠PA/PB/PC
(3)A組和B組控制電路
(4)讀寫控制邏輯
四個埠:PA口,PB口,PC口,控制口,
8255引腳功能
比較簡單這里就不浪費筆墨了
8255作業方式
方式0 基本輸入輸出
- 每一個埠都定義為輸入口或輸出口
- 埠C可作為兩個獨立的4位埠使用,并可定義為輸入口或輸出口
方式1 選通輸入輸出
- 埠A和埠B可作業在方式1,每一個埠都定義為輸入口或輸出口;
- 埠C的某些引腳分別作為埠A和埠B的聯絡信號,有確定的意義,不能用軟體重定義,
輸入(以pa口為例,pb口對應PC2 PC1 PC0)

S
T
B
 ̄
\overline{STB}
STB:輸入選通信號,有效時,將輸入的資料信號送入A口的資料暫存器(通俗一點就是,我只是把數字送上來了,但是你接沒接收就不管我的事了)
I
B
F
IBF
IBF:輸入緩沖器滿信號,有效時,通知外設輸入的資料已經寫入到輸入暫存器,
I
N
T
R
INTR
INTR:中斷請求信號,當
S
T
B
 ̄
\overline{STB}
STB,
I
B
F
IBF
IBF,
I
N
T
E
INTE
INTE都為高電平時,使得
I
N
T
R
INTR
INTR為高電平,CPU回應中斷,回應中斷時,
R
D
 ̄
\overline{RD}
RD下降沿自動使
I
N
T
R
INTR
INTR復位(轉為低電平),
R
D
 ̄
\overline{RD}
RD上升沿自動使
I
B
F
IBF
IBF復位(轉為低電平),此時外設得知輸入緩沖器為空,可進行下一個位元組的傳輸,
I
N
T
E
INTE
INTE:中斷允許信號,A口為
P
C
4
PC_4
PC4?,B口為
P
C
2
PC_2
PC2?
輸入程序:當外設準備好資料后,送出資料的同時,送出一個選通信號 S T B  ̄ \overline{STB} STB,8255的A口資料鎖存器在 S T B  ̄ \overline{STB} STB的下降沿下將資料鎖存,向外設送出高電平IBF,表示鎖存資料已完成,不要再送資料,如果 P C 4 PC_4 PC4?為1,這時就會使得 I N T R INTR INTR為高電平,向CPU發出中斷請求,執行IN指令時, R D  ̄ \overline{RD} RD開始時的下降沿清除中斷請求,而 R D  ̄ \overline{RD} RD結束時的上升沿使得IBF復位到零,外設檢測到 I B F IBF IBF為0可進行下一個位元組的傳輸,
輸出(pa口為例,pb口對應PC2,PC1,PC0)

O
B
F
 ̄
\overline{OBF}
OBF:輸出緩沖器滿信號,有效時表明CPU已經將資料送到的外設(外設接沒接收同樣不管我事)
A
C
K
 ̄
\overline{ACK}
ACK:回應信號,外設送來,有效時表明8255的資料已經被外設所接受,
I
N
T
R
INTR
INTR:中斷請求信號,向CPU發出中斷請求
I
N
T
E
INTE
INTE:中斷允許信號,A口為
P
C
6
PC_6
PC6?設定,B口為
P
C
2
PC_2
PC2?設定
輸出程序:可類比輸入程序,
方式2 雙向選通輸入輸出
為方式1輸入輸出的組合

控制字
方式選擇控制字
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
|---|---|---|---|---|---|---|---|
| 1 | a口作業方式 | a口作業方式 | a口輸入輸出 | c口高8位輸出輸出 | b口作業方式 | b口輸入輸出 | c口低8位輸出輸出 |
C口按位置/復位控制字
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
|---|---|---|---|---|---|---|---|
| 0 | 無效 | 無效 | 無效 | c口位選擇 | c口位選擇 | c口位選擇 | 置位1/復位0 |
8251可編程串行介面
功能特點
- 可用于同步或異步傳送,
- 同步傳送5~8位/字符,能自動插入同步字符,
- 異步傳送5~8位/字符,波特率可調,
- 可產生1位、1.5位以及2位的停止位,
- 全雙工、雙緩沖發送和接收器,
- 具有奇偶、溢位和幀格式錯誤檢測功能,
內部結構

發送命令緩沖器:用于存放CPU送來的資料/命令,
接收輸出緩沖器:用來存放8251A收到的資料,
接收器:接收串行資料,并按照相應的格式將串行資料變成并行資料,經內部總線送到接收資料緩沖器,
發送器:將CPU送來的資料轉換成串行資料并發送出去,
引腳功能
modem控制信號
D
T
R
 ̄
\overline{DTR}
DTR:輸出,資料終端準備好信號,向外設輸出表示CPU準備就緒,
D
S
R
 ̄
\overline{DSR}
DSR:輸入,表示資料裝置準備好,
R
T
S
 ̄
\overline{RTS}
RTS:輸出,請求發送信號
C
T
S
 ̄
\overline{CTS}
CTS:輸入,清除發送信號
發送器有關信號
T
X
D
T_XD
TX?D:發送資料,
T
X
R
D
Y
T_XRDY
TX?RDY:發送器準備好信號
T
X
E
T_XE
TX?E:發送器緩沖空標志
T
X
C
 ̄
\overline{T_XC}
TX?C?:輸入控制發送器資料速率的時鐘,
接收器有關信號
R
X
D
R_XD
RX?D:接收資料
R
X
R
D
Y
R_XRDY
RX?RDY:接收器準備好標志
R
X
C
 ̄
\overline{R_XC}
RX?C?:接受時鐘輸入端
S
Y
N
D
E
T
/
B
R
K
D
E
T
SYNDET/BRKDET
SYNDET/BRKDET:同步和間斷檢測
作業原理
接收器
異步
- 通過RxD檢測起始位,
- 接收器采樣并裝配字符,
- 將并行資料送至接收資料緩沖器,
同步
- 接收器實作同步,
- 接收器采樣并裝配字符,
- 將并行資料送至接收資料緩沖器,
發送器
異步
按照規定加上起始位、奇偶校驗位和停止位,形成一楨,逐位從TxD線上發送出去,
同步
在發送資料前插入1~2個同步字符,然后在TxD線上發送資料塊,
匯編就送大家到這里了,感覺寫這個還是很費時間,而且我可能要復習不完了
多寫多練程式可以的,
8253可編程定時器




數模(0832)/模數(0809)轉換器
0832

0809

8259中斷控制器



8237可編程DMA控制器

雜項
補充資料:鎖存器、觸發器、暫存器和緩沖器的區別
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/244741.html
標籤:其他
上一篇:再多的非標電氣設計也不怕了
