微機原理第八章_第1頁
微機原理第八章_第2頁
微機原理第八章_第3頁
微機原理第八章_第4頁
微機原理第八章_第5頁
已閱讀5頁,還剩57頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第8章輸入/輸出接口本章學習目標:輸入輸出接口的功能與組成并行通信與串行通信的基本概念可編程并行通信接口芯片8255A可編程串行通信接口芯片8251A8.1I/O接口概述功能:1、CPU與外設信號線不兼容2、CPU與外設工作速度不兼容3、提高CPU的效率4、使外設的硬件結構獨立于CPU組成:1、數據緩沖寄存器2、命令寄存器3、狀態寄存器4、端口地址譯碼電路8.1.1輸入輸出接口交換的信息

CPU與I/O設備之間交換的信息可分為數據信息、狀態信息和控制信息三類。

1.數據信息數據信息又分為數字量、模擬量和開關量三種形式。

1)數字量數字量是計算機可以直接發送、接收和處理的數據。 例如:由鍵盤、顯示器、打印機及磁盤等I/O外設與CPU交換的信息,它們是以二進制形式表示的數或以ASCII碼表示的數符。

2)模擬量 這些模擬量必須先經過模擬量向數字量的轉換(A/D轉換)后才能輸入計算機。反過來,計算機輸出的控制信號都是數字量,也必須先經過數字量向模擬量的轉換(D/A轉換),把數字量轉換成模擬量才能去控制現場。

3)開關量 這些開關量通常要經過相應的電平轉換才能與計算機連接。開關量只要用一位二進制數即可表示。

2.狀態信息狀態信息作為CPU與外設之間交換數據時的聯絡信息,反映了當前外設所處的工作狀態,是外設通過接口送往CPU的。CPU通過對外設狀態信號的讀取,可得知輸入設備的數據是否準備好、輸出設備是否空閑等情況。因此,狀態信息能夠保障CPU與外設正確地進行數據交換。

3.控制信息控制信息是CPU通過接口傳送給外設的,CPU通過發送控制信息設置外設(包括接口)的工作模式、控制外設的工作。如外設的啟動信號和停止信號就是常見的控制信息。實際上,控制信息往往隨著外設的具體工作原理不同而含義不同。

8.1.2輸入輸出的控制方式

1程序傳送方式1)無條件傳送方式認為輸入設備已隨時準備好向CPU提供數據,而輸出設備也隨時準備好接收CPU送來的數據,這樣,在CPU需要同外設交換信息時,不必查詢外設的狀態而直接進行信息傳輸。2.查詢傳送方式查詢傳送也稱為條件傳送,是指在執行輸入指令(IN)或輸出指令(OUT)前,要先查詢相應設備的狀態,當輸入設備處于準備好狀態,輸出設備處于空閑狀態時,CPU才執行輸入/輸出指令與外設交換信息。為此,接口電路中既要有數據端口,還要有狀態端口。

圖7.6查詢傳送方式的流程圖

查詢傳送方式的主要優點:是能保證主機與外設之間協調同步地工作,且硬件線路比較簡單,程序也容易實現。查詢傳送方式突出的缺點:浪費CPU時間,實時性差。2中斷傳送方式

中斷傳送方式是指當外設需要與CPU進行信息交換時,由外設向CPU發出請求信號,使CPU暫停正在執行的程序,轉去執行數據的輸入/輸出操作,數據傳送結束后,CPU再繼續執行被暫停的程序。

3直接存儲器存取(DMA)傳送方式

DMA傳送方式是在存儲器和外設之間、存儲器和存儲器之間直接進行數據傳送(如磁盤與內存間交換數據、高速數據采集、內存和內存間的高速數據塊傳送等),傳送過程無需CPU介入,直接在DMA控制器操縱下進行。并行通信與串行通信串行通信:把一個字符的各數位用一條線一位一位進行傳輸。并行通信:把一個字符的各數位用幾條線同時進行傳輸。速度快、需要的傳輸導線多速度慢、需要的傳輸導線少8.2并行通信與并行接口8.3可編程并行通信接口芯片8255A1.8255芯片內部結構及其功能1.3個并行輸入/輸出端口(A口、B口、C口)2. A組和B組控制部件3.數據總線緩沖存儲器4.讀/寫控制部件組成:A1A0=00——端口AA1A0=01——端口BA1A0=10——端口CA1A0=11——控制字寄存器端口地址:片內占用四個端口地址方式0方式1方式2工作方式:只有PA口可用PA、PB、PC口都可用8.3.2 8255A芯片的控制字及其工作方式1.控制字(1)定義工作方式控制字:它可以使8255A的三個端口工作于不同的工作方式。(2)置位/復位控制字:它可以使C口中的任何一位進行置“1”或置“0”操作。2.工作方式(1)工作方式0

基本輸入/輸出方式。不提供固定的聯絡信號適合輸入輸出設備隨時準備就緒的場合(2)工作方式1

選通型(應答式)輸入/輸出方式。提供固定的聯絡信號由PC口端線提供1.工作方式1下輸入:STB——選通信號,由外部輸入IBF——輸入緩沖器滿信號,向外部輸出INTR——中斷請求信號,向CPU輸出1.工作方式1下輸出:0BF——輸出緩沖器滿信號,向外部輸出ACK——外部應答信號,外部輸入INTR——中斷請求信號,向CPU輸出(3)工作方式2

帶選通的雙向傳送方式,用來在兩臺處理機之間實現雙向并行通信。只允許A口工作于方式2。8.3.38255A應用舉例

利用8255A作為輸出設備打印機的接口。其連接方法如圖所示。A口:工作于方式0輸出B口:不用。C口:PC3~PC0:為輸入方式PC7~PC4:為輸出方式端口A:0380H端口B:0381H端口C:0382H控制寄存器端口:0383H打印機驅動程序流程圖 ;8255初始化程序

BEGIN:MOVAL,10000001B

MOVDX,0383H OUTDX,AL

;送工作方式選擇控制字至控制寄存器 ;A、B、C口均為工作方式0。 ;A口、B口為輸出方式。PC4~PC7為輸出,PC0~PC3為輸入。

MOVAL,00001101B ;送C口置1/置0控制字,置PC6=1。

OUTDX,AL ;使STB初始狀態為高電平。 ;下面為控制程序,設欲打印的字符已存于CL中, ;經8255A的A口輸出至打印機。

CONP:MOVDX,0382H LPST:INAL,DX ;

讀入C口值。

ANDAL,04H ;

保留PC2(Busy)狀態。

JNZLPST ;若Busy=1,則等待,等于0則向下執行。

MOVAL,CL ;

將(CL)字符送A口。

MOVDX,0380H OUTDX,AL MOVAL,0CH

MOVDX,0383HOUTDX,ALMOVCX,XXH;為使寬度≥1μs,送延時程序。EDLAY:DECCXJNZDELAYMOVAL,0DH;再使為高電平。 ;地址指向控制口。

OUTDX,AL

;向下執行后續程序。 …8.4串行通信及串行接口串行通信:數據一位一位地依次傳輸,每一位數據占據 一個固定的時間長度。8.4.1串行通信線路的工作方式:單工方式:只允許一個方向傳輸數據。半雙工方式:允許兩個方向傳輸數據,但不能同時傳輸。全雙工方式:允許兩個方向同時進行數據傳輸。串行通信中數據的傳送模式(a)單工通信模式;(b)半雙工通信模式;(c)全雙工通信模式

8.4.2串行通信數據的收發方式:

在數據通信中為使收、發信息準確,收發兩端的動作必須相互協調配合。這種協調收發之間動作的措施稱為“同步”。在串行通信中數據傳送的同步方式有異步傳送和同步傳送兩種。

1異步傳送所謂異步傳送,是指發送設備和接收設備在約定的波特率(每秒鐘傳送的位數)下,以事先確定的數據格式來傳輸數據。在進行異步傳送時必須確定波特率及數據格式。

波特率:每秒傳送數據的位數。

① 起始位。每個字符的開始必須是持續一個比特時間的邏輯“0”電 平,標志著每一個字符的開始。數據格式:② 數據位。有5-8位,緊跟著起始位之后,是字符中的有效數據位。傳 送數據時,先送低位,后送高位數據。④停止位。1位或1.5位,或2位。并規定為邏輯“1”狀態。

奇偶校驗位。2同步傳送所謂同步傳送,就是以字符塊為信息單位,而每幀信息包括成百上前個字符。這種通信方式對時鐘同步要求非常嚴格,因此收/發兩端必須使用同一時鐘來控制。(a)單同步數據格式;(b)雙同步數據格式;(c)SDLC數據格式;(d)HDLC數據格式;(e)外同步格式8.4可編程串行通信接口芯片8251A

8.4.18251A的結構其功能:

1.內部模塊功能:

(1)發送器及發送控制。該模塊的功能是從CPU接收并行數據,自動加上適當的成幀信號并轉換成串行數據后從TXD引腳發送出去。

(2)接收器及接收控制。該模塊的功能是從RXD引腳接收串行數據,按指定的方式裝配成并行數據。

(3)數據總線緩沖器。8251A與CPU相互交換的數據和控制字就存放在這里,共有三個緩沖器。

①狀態字緩沖器。它用來存放8251A內部的工作狀態,供CPU查詢、測試之用;②接收數據緩沖器。用來存放接收器已經裝配完畢的字符,準備CPU來讀取;③發送數據/命令緩沖器。用來寄存CPU送入8251A的數據或命令。

(4)讀/寫控制邏輯。該模塊的功能是接收CPU的控制信號,控制數據的傳送方向。

(5)調制解調器控制。該模塊提供和調制解調器的聯絡信號。2.8251A與CPU及外設的連接

1)與CPU之間的接口引腳

(1)數據信號D0D7:與CPU的數據總線對應連接

(2)讀/寫控制信號:

RD——讀選通信號輸入線,低電平有效。

WR——寫選通信號輸入線,低電平有效。

C/D——信息類型信號輸入線。低電平時傳送的是數 據,高電平時傳送的是控制字或狀態信息,通常將該引 腳與CPU地址總線A0引腳相連,以實現對8251A內部寄存 器的尋址。C/D、WR、RD三者的控制編碼與相應的操作功 能如表8.5所示。CPU對8251A的讀/寫控制

(3)收發聯絡信號:

TXRDY(TransmitterReady)——發送準備好信號,輸出,高電平有效。當發送寄存器空閑且允許發送(CTS為低電平、命令字中TXEN位為1)時,TXRDY輸出為高電平,以通知CPU當前8251A已做好發送準備,CPU可以向8251A傳送一個字符。當CPU將要發送的數據寫入8251A后,TXRDY恢復為低電平。TXRDY可作為8251A向CPU發送的中斷請求信號。

TXEMPTY(TransmitterEmpty)——發送器空信號,輸出,高電平有效。TXE=1時,表示發送器中沒有要發送的字符,當CPU把要發送的數據寫入8251A中后,TXE自動變為低電平。

RXRDY(ReceiverReady)——接收器準備好信號,輸出,高電平有效。RXRDY=1時,表明8251A已經從串行輸入線接收了一個字符,正等待CPU將此數據取走。因此,在中斷方式時,RXRDY可作為向CPU申請中斷的請求信號;在查詢方式時,RXRDY的狀態供CPU查詢之用。

SYNDET(SynchronousDetect)——同步檢測信號。用于內同步狀態輸出或外同步信號輸入。此線僅對同步方式有意義。(4)片選信號CS,低電平有效,它由CPU的地址信號譯碼而形成。CS低電平有效,8251A被CPU選中。

2)8251A與外部設備(調制解調器)之間的接口信號。DTR(DataTerminalReady)——數據終端準備好。輸出、低電平有效。這是當CPU對8251A輸出命令字使控制寄存器D1位置“1”,從而使DTR變為低電平,以通知外設,CPU當前已準備就緒。RTS(RequestToSend)——請求發送。輸出、低電平有效。此信號等效于DTR,CPU通過將控制寄存器的D5置“1”,可使RTS低電平有效,用于通知外設(調制解調器),CPU已準備好發送。

TxD(TransmitterData)——發送器發送數據傳輸線。

DSR(DataSetReady)——數據裝置準備好。輸入、低電平有效。這是由外設(或調制解調器)送入8251A的信號,用以表示調制解調器或外設的數據已準備好。當DSR端出現低電平時會在8251A的狀態寄存器的D7位反映出來。CPU可通過對狀態寄存器進行讀取操作,可查詢D7位即DSR狀態。CTS(CleartoSend)——清除發送。輸入、低電平有效。這是由外設(或調制解調器)送往8251A的低電平有效信號。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論