《微機原理與接口技術-唐彥》第七章常用數(shù)字接口電路pa_第1頁
《微機原理與接口技術-唐彥》第七章常用數(shù)字接口電路pa_第2頁
《微機原理與接口技術-唐彥》第七章常用數(shù)字接口電路pa_第3頁
《微機原理與接口技術-唐彥》第七章常用數(shù)字接口電路pa_第4頁
《微機原理與接口技術-唐彥》第七章常用數(shù)字接口電路pa_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、,2. 內(nèi)部結構和工作原理 1)計數(shù)器(0、1、2) 2)控制寄存器 3)數(shù)據(jù)總線緩沖器 4)讀寫控制邏輯,計數(shù)器工作方式一覽表,8253必須先初始化才能正常工作,每個計數(shù)通道可分別初始化 CPU通過指令將控制字寫入可編程定時器8253的控制寄存器,從而確定3個計數(shù)器分別工作于何種工作方式下。 8253的控制字具有固定的格式,7.2.3 8253的控制字,例如,已知某個8253的計數(shù)器0、1、2和控制端口依次為40H43H。要求設置其中的計數(shù)器0為方式0,采用二進制計數(shù),先低字節(jié)后高字節(jié)寫入計數(shù)值。初始化程序段如下: MOV AL, 30H OUT 43H, AL 計數(shù)器0寫入計數(shù)初值1024

2、(=400H),初始化程序為: MOV AX, 1024 OUT 40H, AL MOV AL, AH OUT 40H, AL,1. 8253與系統(tǒng)的連接 8253共占用4個端口地址 信號CS、A0、A1與讀信號/RD、寫信號/WR配合,可以實現(xiàn)對8253的各種讀寫操作。,7.2.4 8253的應用,8253連接到系統(tǒng)總線的連接圖:,2. 8253的編程 也稱為對8253進行初始化。包括兩個部分: 寫各計數(shù)器的方式控制字 設置計數(shù)初值。 初始化的方法有兩種: (1)以計數(shù)器為單位逐個進行初始化 (2)先寫所有計數(shù)器的方式字,再裝入各計數(shù)器的計數(shù)值,例7-1, 在IBM PC系統(tǒng)板上使用了一塊8

3、253定時/計數(shù)器,其計數(shù)器0(CNT0)用于為系統(tǒng)的電子鐘提供時間基準,它的輸出端作為系統(tǒng)的中斷源接到8259的IR0端;計數(shù)器1(CNT1)用于DRAM的定時刷新;計數(shù)器2(CNT2)主要用作機內(nèi)揚聲器的音頻信號源,可輸出不同視頻的方波信號。圖7-16是簡化了的IBM PC內(nèi)8253的連接圖,其接口地址采用部分譯碼方式,占用的設備端口地址為40H5FH。以下編程中,使用了地址中的40H43H。,1. 定時中斷 通過閱讀系統(tǒng)ROM-BIOS的初始化編程,結合硬件連接圖分析計數(shù)器0的作用。,MOV AL, 36H OUT 43H, AL MOV AL, 0 OUT 40H, AL OUT 40

4、H, AL,2. 定時刷新:,MOV AL, 54H OUT 43H, AL MOV AL, 18 OUT 41H, AL,3. 揚聲器控制:,MOV AL, 0B6H OUT 43H, AL MOV AX, 1190 OUT 42H, AL MOV AL, AH OUT 42H, AL IN AL, 61H MOV AH, AL OR AL, 03 OUT 61H, AL MOV AL, AH OUT 61H, AL,例7-2,寫出圖7-13中8253的初始化程序,其中,3個CLK頻率均為2MHZ,計數(shù)器0在定時100微秒后產(chǎn)生中斷請求,計數(shù)器1用于產(chǎn)生周期為10微秒的對稱方波;計數(shù)器2每1

5、毫秒產(chǎn)生1個負脈沖。,7.1 并行通信與串行通信,7.1.1 并行通信 特點 以計算機的字長,通常是8位、16位或32位為傳輸單位,一次傳送一個字長的數(shù)據(jù) 適合于外部設備與微機之間進行近距離、大量和快速的信息交換 與實際傳送位數(shù)無關 對傳送的信息不要求固定格式 微機系統(tǒng)中最基本的信息交換方法 例如:系統(tǒng)板上各部件之間,接口電路板上各部件之間。,分類 輸入和輸出 單向和雙向 數(shù)字和模擬 簡單接口和可編程接口,具有多種功能的可編程并行接口電路芯片 最基本的接口電路:三態(tài)緩沖器和鎖存器 與CPU間、與外設間的接口電路:狀態(tài)寄存器和控制寄存器 還有端口的譯碼和控制電路、中斷控制電路 共24個外設引腳,

6、分3個端口、2組控制; 共3種輸入輸出工作方式 方式0基本輸入輸出 方式1選通輸入輸出 方式2雙向選通輸入輸出,7.3 可編程并行接口8255,7.3.1 8255的引線及結構 1. 外部引線及結構 引腳含義 D0D7:雙向數(shù)據(jù)信號線 /RD:讀信號線,低電平有效 /WR:寫信號線:低電平有效 /CS:片選信號,低電平有效 A0、A1:輸入寄存器選通信號 RESET:復位輸入信號 PA0PA7:A口的8條輸入/輸出信號線 PB0PB7:B口的8條輸入/輸出信號線 PC0PC7:C口的8條輸入/輸出信號線,2內(nèi)部結構 1)數(shù)據(jù)端口 2)A組和B組控制電路 3)讀寫控制邏輯 4)數(shù)據(jù)總線緩沖器,端

7、口A:PA0PA7 A組,支持工作方式0、方式1、方式2 常作數(shù)據(jù)端口,功能最強大 端口B:PB0PB7 B組,支持工作方式0、方式1 常作數(shù)據(jù)端口 端口C:PC0PC7 僅支持工作方式0 A組控制PC4PC7,B組控制PC0PC3 分成兩個4位端口 可作數(shù)據(jù)、狀態(tài)和控制端口 控制最靈活,最難掌握,3種基本工作方式:方式0、方式1、方式2 方式0:基本輸入輸出方式 適用于無條件傳送和查詢方式的接口電路 方式1:選通輸入輸出方式 適用于查詢和中斷方式的接口電路 方式2:雙向選通傳送方式 適用于雙向傳送數(shù)據(jù)的外設 適用于查詢和中斷方式的接口電路,7.3.2 8255的工作方式,1. 方式0基本輸入

8、輸出方式 24條I/O線全部由用戶分配功能 端口信號線之間無固定的時序關系 輸出鎖存,輸入只有緩沖能力而無鎖存能力 單向I/O,一次初始化只能指定某一端口作輸入或作輸出,不能使該端口同時既作輸入又作輸出。 分成彼此獨立的兩個8位和兩個4位并行口 只能把C口的高4位為一組或低4位為一組同時輸入或輸出。 C口有按位進行置位和復位的能力,方式0輸入時序,方式0輸出時序,2. 方式1選通輸入輸出 A口、B口可以工作在方式1,C口不行 PA和PB為數(shù)據(jù)口,而PC口的大部分引腳分配做聯(lián)絡信號用,用戶對這些引腳不能再指定其他用途 設置專用的中斷請求和聯(lián)絡信號線。 數(shù)據(jù)的輸入輸出都有鎖存能力 各聯(lián)絡信號線之間

9、有固定的時序關系,傳送數(shù)據(jù)時要嚴格按照時序進行。 輸入/輸出操作產(chǎn)生確定的狀態(tài)字,這些狀態(tài)信息可作為查詢或中斷請求用。,2. 方式1 選通輸入/輸出方式。A口和B口仍作為數(shù)據(jù)的輸出口或輸入口,但數(shù)據(jù)的輸入/輸出要在選通信號控制下來完成。這些選通信號利用C口的某些位來提供。 1)A口、B口均為輸出: 利用C口的6條線作為選通控制信號線。A口使用PC3、PC6和PC7,而B口使用PC0、PC1和PC2。,/OBF輸出緩沖器滿信號,低電平有效 8255A輸出給外設的控制信號 當其有效時,表示CPU已把數(shù)據(jù)輸出給指定的端口,外設可以取走 /ACK響應信號,低電平有效 外設的響應信號,指示8255A的端

10、口數(shù)據(jù)已由外設接收 INTR中斷請求信號,高電平有效 當輸出設備已接收數(shù)據(jù)后,8255A輸出此信號向CPU提出中斷請求,要求CPU繼續(xù)提供數(shù)據(jù)。,A口B口均為輸出時的輸出過程 系統(tǒng)在/IOW信號有效期間將數(shù)據(jù)輸入到A端口或B端口 接口輸出緩沖器滿信號/OBF通知外設,在規(guī)定的端口上已有一個有效數(shù)據(jù),外設可以從該端口讀走數(shù)據(jù)。 外設在該端口讀走數(shù)據(jù)后,發(fā)出響應信號/ACK,同時使/OBF=1 外設取走一個數(shù)據(jù)后,其/ACK信號的上升沿產(chǎn)生有效的INTR信號,該信號用于通知CPU可以再輸入下一個數(shù)據(jù)。INTR的有效條件為/OBF=1,/ACK=1,INTE=1 8255內(nèi)部有一個中斷觸發(fā)器,當中斷

11、允許狀態(tài)INTE為高電平,且/OBF也變高時,產(chǎn)生有效的INTR信號。INTE由PC6或PC2的置位/復位控制,2)A口、B口均為輸入: 利用C口的6條線作為選通控制信號線。A口使用PC3、PC4和PC5,而B口依然使用PC0、PC1和PC2。,/STB選通信號,低電平有效 由外設提供的輸入信號 當其有效時,將輸入設備送來的數(shù)據(jù)保存至8255A的輸入緩沖器 IBF輸入緩沖器滿信號,高電平有效 8255A輸出的聯(lián)絡信號 有效時,表示數(shù)據(jù)已保存在輸入緩沖器。 INTR中斷請求信號,高電平有效 8255A輸出的信號,可用于向CPU提供中斷請求,要求CPU讀取外設數(shù)據(jù),A口B口均為輸入時的輸出過程 外

12、部設備發(fā)出/STB信號,并在/STB信號有效期間將數(shù)據(jù)鎖存于輸入數(shù)據(jù)緩沖器中 接口輸入緩沖器滿信號IBF,它作為/STB的應答信號,表示8255的緩沖器中有一個數(shù)據(jù)尚未被CPU讀走。 當/STB=1時會使內(nèi)部中斷觸發(fā)器INTE和IBF均為高電平,產(chǎn)生有效的INTR信號,向CPU發(fā)出中斷請求 INTR信號可用于通過8259向CPU發(fā)出中斷請求,要求CPU從8255的端口上讀取數(shù)據(jù)。CPU響應中斷并讀取數(shù)據(jù)后使/IBF和INTR變?yōu)闊o效。,3. 方式2 方式2將方式1的選通輸入輸出功能組合成一個雙向數(shù)據(jù)端口,使外設能利用8位數(shù)據(jù)線與CPU進行雙向通信 只有A口可以工作在這種方式下。需要利用端口C的

13、5根信號線來提供雙向傳輸所需的控制信號,其作用與方式1相同。 時序關系基本上是方式1下輸入和輸出兩種操作的組合。 A口工作于方式2下時的各信號定義如圖,1. 控制字 包括用于設定3個端口工作方式的方式控制字。,7.3.3 8255的控制字及狀態(tài)字,2. 狀態(tài)字 反映了C端口各位當前的狀態(tài)。,8255A的編程 初始化編程:設置工作方式,方式控制字 采用控制I/O地址:A1A0=11 工作過程中:讀寫數(shù)據(jù)端口 數(shù)據(jù)讀寫利用端口A、B和C的I/O地址,A1A0依次為00、01、10 IBM PC/XT機上,端口A、B、C和控制端口的I/O地址為60H、61H、62H和63H。,例如,要把A端口指定為

14、方式1輸入,C端口上半部分指定為輸出,B端口指定為方式0輸出,C端口下半部分指定為輸入。 方式控制字:10110001B或B1H 初始化的程序段 MOV DX, 63H; 假設控制端口的地址為63H MOV AL, 0B1H; OUT DX, AL,初始化編程后: 當數(shù)據(jù)端口作為輸入接口時,執(zhí)行輸入IN指令得到外設數(shù)據(jù) 當數(shù)據(jù)端口作為輸出接口時,執(zhí)行輸出OUT指令將數(shù)據(jù)送給輸出設備 8255A具有鎖存輸出的能力 對輸出方式的端口同樣可以輸入; 但不是讀取外設數(shù)據(jù),而是讀取上次CPU給外設的數(shù)據(jù) 例如:要求對輸出端口B的PB7位置位,假設端口B的地址為301H. MOV DX, 301H IN

15、AL, DX; 讀出B端口原輸出內(nèi)容 OR AL, 80H; 使PB7=1 OUT DX, AL; 輸出新的內(nèi)容,讀寫端口C: C端口被分成兩個4位端口 這兩個端口只能以方式0工作,可分別選擇輸入或輸出 C端口高4位和A端口編為A組 C端口低4位和B端口編為B組 當A和B端口工作在方式1或方式2時,C端口的部分或全部引腳將被征用 未被征用的引腳仍可設定工作在方式0,對C端口的數(shù)據(jù)輸出有兩種方法: 通過端口C的I/O地址 向C端口直接寫入字節(jié)數(shù)據(jù) 數(shù)據(jù)被寫進C端口的輸出鎖存器,并從輸出引腳輸出,但對設置為輸入的引腳無效 通過控制端口 向C端口寫入按位置位/復位控制字,使C端口的某個引腳輸出1或0

16、 例如,要把PC2引腳置高,則編程 MOV DX, 303H; 設控制寄存器端口地址為303H MOV AL, 00000101B OUT DX, AL,讀取C端口的數(shù)據(jù)有兩種情況: 未被A和B端口征用的引腳 將從定義為輸入的端口讀到引腳輸入信息 將從定義為輸出的端口讀到輸出鎖存器中的信息 被A和B端口征用的引腳 將讀到反應8255A狀態(tài)的狀態(tài)字 例如,在方式1輸入下,若允許PA口輸入中斷請求,則必須設置INTE=1,即置PC4=1 MOV DX, 303H; 設控制寄存器端口地址為303H MOV AL, 00001001B; PC4=1,允許中斷請求 OUT DX, AL,作為通用的并行接

17、口電路芯片,825A具有廣泛的應用 應用在IBM PC/XT微機上 應用于打印機接口電路 連接簡易鍵盤 驅(qū)動LED數(shù)碼管 ,7.3.4 8255的應用,1. 8255與系統(tǒng)的連接 8255內(nèi)部包括A、B、C共3個端口和一個控制寄存器,共占4個外設地址。 對8255內(nèi)部的每一個端口都可以分別進行讀寫操作。,2. 軟件設計 對于8255克編程接口,軟件設計包括初始化程序設計和實現(xiàn)數(shù)據(jù)傳輸?shù)目刂瞥绦蛟O計兩部分。 3. 應用實例,8255A在IBM PC/XT上的應用 端口A為方式0輸入,用來讀取鍵盤掃描碼 端口B工作于方式0輸出,例如控制揚聲器等 端口C為方式0輸入,讀取系統(tǒng)狀態(tài)和配置,例7-3用8255A方式0與打印機接口 選用A口作為數(shù)據(jù)輸出,向打印機輸出數(shù)據(jù); 利用C口的PC6輸出/STORE鎖存信號,PC1作為BUSY信號的輸入,INIT:

溫馨提示

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

評論

0/150

提交評論