版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、,,,7.1 概述,一、接口電路的分類和功能,外設必須通過接口電路與CPU相連接,,數據總線,,控制總線,,地址總線,,接口電路,外部設備,,數據線,,控制線,,狀態(tài)線,,一、接口電路的分類和功能,接口電路按通用性分為兩類:通用接口和專用接口通用接口:可供多種外部設備使用的標準接口,目的是使微機正常 工作通用接口通常制造成集成電路芯片,稱為接口芯片。最初的IBM-PC使用了6塊接口芯片:8284、8288、8255
2、、8259、8237、8253后來的微機將這些芯片集成為大規(guī)模集成電路芯片,稱為芯片組。如82430TX芯片組,由兩片芯片組成:北橋:82439TX南橋:82371AB,一、接口電路的分類和功能,,,一、接口電路的分類和功能,專用接口:為某種用途或某類外設而專門設計的接口電路,目的 在于擴充微機系統(tǒng)的功能。專用接口通常制造成接口卡,插在主板總線插槽上使用。通用接口和專用接口的界限并不嚴格。,按照可編程性,
3、接口芯片分成硬步線邏輯接口芯片和可編程接口芯片??删幊探涌谛酒墓δ芸梢杂芍噶顏砜刂?。,一、接口電路的分類和功能,接口電路的功能:1)緩沖鎖存數據2)地址譯碼3)傳遞命令4)碼制轉換5)電平轉換,P. 228,二、接口電路的基本結構,接口電路通常包含一組能夠與處理器交換信息的寄存器,稱為I/O端口寄存器,簡稱為I/O端口1)數據端口——存放數據信息2)狀態(tài)端口——存放狀態(tài)信息,即反映外設當前工作狀態(tài)的信息3)控制端
4、口——存放控制信息,狀態(tài)信息與控制信息可以廣義地看作數據信息,因此可以通過數據總線傳送,P. 196,三、I/O端口的編址方式,I/O端口與存儲單元統(tǒng)一編址I/O端口獨立編址PC系列機采用I/O端口獨立編址方式,,,,,,,,,Port 65535Port 255,Port 3Port 2Port 1Port 0,,,,Port 0(16位),Port 1(16位),Port 0 (32位),,,三、I/O端口的編址
5、方式,端口地址是一種重要資源,三、I/O端口的編址方式,端口的尋址把端口地址放在DX寄存器中,對該端口進行讀寫INAL, DXOUT DX, AL,P. 83,——可尋址的端口號為0~65535(FFFFH),端口地址小于或等于FFH(255),可以用立即數表示端口地址IN AL, 42HOUT 43H, AL,7.2 CPU與外設數據傳送的方式,程序傳送方式中斷傳送方式DMA傳送方式,無條件傳送程序查詢傳送(條件
6、傳送),,一、程序傳送方式,(一)無條件傳送,CPU與外設間的數據交換在程序控制下進行,不查詢外設狀態(tài),認為外設已經準備就緒,直接與外設傳送數據,外設準備就緒:對于輸入設備,已經把數據放入接口電路的數據輸入寄存器,CPU可以讀取;對于輸出設備,已經準備好接收數據(接口電路的數據輸出寄存器已空),CPU可以向它輸出數據,由于不查詢外設狀態(tài),接口電路不需要狀態(tài)寄存器,一、程序傳送方式,輸入緩存輸出鎖存無條件程序傳送的原理,P. 19
7、7,一、程序傳送方式,(二)程序查詢傳送,在執(zhí)行輸入輸出前,要先查詢接口中狀態(tài)寄存器的狀態(tài)。輸入時,狀態(tài)寄存器的狀態(tài)指示要輸入的數據是否已經準備就緒輸出時,狀態(tài)寄存器的狀態(tài)指示輸出設備是否空閑,P. 199,二、中斷傳送方式,使用查詢方式,CPU必須檢測接口電路的狀態(tài)寄存器,如果設備未準備好,CPU就要不斷地查詢,降低了CPU的運行效率中斷方式:當外設作好傳送準備后,主動向CPU請求中斷,CPU響應中斷后在中斷處理程序中與外設
8、交換數據。若外設未準備好,CPU可以執(zhí)行其他程序,提高了CPU的利用率每條指令完成后,CPU均可響應中斷,因此當設備準備好時,可及時與CPU交換數據,提高了實時性,三、DMA傳送方式,對于高速外設(如磁盤、高速A/D),中斷方式不能滿足數據傳輸速度的要求。DMA=Direct Memory Access——直接存儲器訪問DMA方式是一種由專門的硬件電路執(zhí)行I/O的數據傳送方式,它可以讓外設接口直接與內存進行高速的數據傳送,
9、而不必經過CPU。這種專門的硬件電路稱為DMA控制器,簡稱DMAC,7.3 可編程計時器/計數器8253,一、計數/定時的工作原理,計數/定時的功能對外部事件發(fā)生次數進行計數計算機系統(tǒng)經常用到定時信號,如DRAM刷新定時,計數和計時本質上是相同的,它們都是對一個輸入脈沖進行計數,如果輸入脈沖的頻率一定,那么記錄脈沖的個數與所需的時間是一一對應的關系。例如輸入脈沖頻率為2MHz,那么計數2?106 計時
10、1秒,,因此,使用同一個芯片,既能計數,又能計時——計時器/計數器,一、計數/定時的工作原理,,控制寄存器,,初始值寄存器,,計數器,,計數輸出寄存器,,狀態(tài)寄存器,,,CLK,,GATE,,OUT,組成:,控制寄存器——決定工作模式狀態(tài)寄存器——反應工作狀態(tài)初值寄存器——計數的初值計數輸出寄存器——CPU從中讀當前計數值計數器——執(zhí)行計數操作,CPU不能訪問,一、計數/定時的工作原理,工作原理:對CLK信號進行減1
11、計數首先,CPU把控制字寫入控制寄存器,計數初始值寫入初值寄存器計數從初值開始,每當CLK信號出現一次,計數值減1當計數值減到0,從OUT端輸出規(guī)定的信號CLK信號出現時,計數器是否減1,由門控信號GATE控制,一、計數/定時的工作原理,CLK是計數輸入信號,計數器對CLK端出現的脈沖個數進行計數CLK端可以輸入外部事件CLK端可以接入固定頻率的時鐘信號,從而實現計時OUT信號在計數結束時發(fā)生變化可將OUT作為外部
12、設備的控制信號可將OUT作為向CPU申請中斷的信號CPU可以從計數輸出寄存器讀出當前計數值。讀前,應向控制寄存器發(fā)送鎖存命令,二、8253的編程結構,1片8253內部有三個計數器,結構完全相同,8253的引腳、內部結構、尋址方式P. 229,每個計數器內部都有一個8位控制寄存器,三個控制寄存器使用相同的端口,在編程結構圖中畫為一個,8253沒有狀態(tài)寄存器,二、8253的編程結構,,8253控制字的格式,P. 230,每個計數
13、器的初值寄存器(CR)、輸出鎖存器(OL)都是16位的,但它們對應相同的一個8位端口地址,所以16位的CR、OL作為兩個8位寄存器讀寫,由控制寄存器控制讀寫高8位/低8位,三、8253的編程命令,初始化,1)寫入控制字2)按控制字要求寫入計數初值計數器初值計算:N=fCLK/fOUT,例:設三個計數器的CR/OL端口地址為70H、71H、72H,控制寄存器端口地址73H。計數器0,工作模式2,CR/OL僅使用低8位,初值為100,
14、計數值使用二進制,MOV AL, 14HOUT 73H, ALMOV AL, 100OUT 70H, AL,三、8253的編程命令,例:設三個計數器的CR/OL端口地址為70H、71H、72H,控制寄存器端口地址73H。計數器1,工作模式1,CR/OL使用16位,初值為1234,計數值使用BCD,MOV AL, 73HOUT 73H, ALMOV AX, 1234HOUT 71H, ALMOV AL, AHOUT 71H
15、, AL,三、8253的編程命令,讀出命令,1)發(fā)出鎖存命令,使當前計數值鎖存在OL中2)讀OL,獲得當前計數值,例:設三個計數器的CR/OL端口地址為70H、71H、72H,控制寄存器端口地址73H。讀出計數器0的當前計數值,放在BX中,MOV AL, 0HOUT 73H, ALIN AL, 70HMOV BL, ALIN AL, 70HMOV BH, AL,四、8253的工作模式,工作模式決定以下內容:1)門控信號的影
16、響高電平允許,當GATE=0,即使出現CLK,也不計數——模式0,2,3,4上升沿允許(上升沿觸發(fā))——模式1,52)OUT信號的狀態(tài)寫入控制字后, OUT的狀態(tài)計數過程中, OUT的狀態(tài)計數終了, OUT的狀態(tài)3)計數操作可否重復不可重復——模式0,4自動重復——模式2,3條件重復——模式1,5,四、8253的工作模式,六種工作模式P. 230,計數初值寫入初值寄存器后,要經過一個CLK輸入后才開始計數(
17、或,經過一個CLK后,計數初值才到達計數執(zhí)行部件)計數器在CLK的下降沿使計數值減1,四、8253的工作模式,方式0:計數初值寫入CR后,OUT由0到1跳變出現在n+1個時鐘脈沖之后延遲時間TD=(n+1)TCLK方式1:單脈沖寬度T=n TCLK方式2:對輸入端n個時鐘脈沖,在輸出端僅出現一個時鐘脈沖——N分頻計數器,四、8253的工作模式,方式3:例:計數器工作模式3,計數器初值15,時鐘脈沖頻率為2MHz,
18、確定OUT端輸出方波的特性。解:TCLK=1/2MHz=500ns計數器初值15為奇數,輸出分頻波高電平寬度 TCLK(N+1)/2=4?s輸出分頻波低電平寬度 TCLK(N-1)/2=3.5?s方式4、5:觸發(fā)后n+1個時鐘脈沖之后輸出端產生選通脈沖信號,四、8253的工作模式,例:計數器0工作模式4,初始化計數器,使裝入計數器10 ?s后產生選通信號(設時鐘頻率2MHz,8253端口地址為50H~53H)。
19、解:n+1=T/ TCLK=10/0.5=20 n=19=13HMOV AL, 18HOUT 53H, ALMOV AL, 13HOUT 50H, AL,五、8253的應用,1. PC機中8253的應用,計數器0:向系統(tǒng)日歷時鐘提供定時中斷模式3,控制字36H,計數器初始值0計數器1:動態(tài)RAM刷新模式2,控制字54H,計數器初始值18(12H)計數器2:控制揚聲器發(fā)聲模式3,控制字B6H,計數器初
20、始值1331(533H),PC機中,8253的端口地址為40H~43H,五、8253的應用,2. 揚聲器控制,設計一個程序,使揚聲器發(fā)出600Hz頻率的聲音,按下任意鍵聲音停止,PC機的發(fā)聲系統(tǒng)以計數器2為核心。CLK2的輸入頻率1.19MHz,改變計數器初值可以由OUT2得到不同頻率的方波輸出對于600Hz,計數初值1.19MHz/600Hz=1938,發(fā)聲系統(tǒng)受8255芯片B口的兩個輸出端線PB0、PB1的控制PB0為1,使G
21、ATE2為1,計數器2能正常計數PB1為1,打開輸出控制門,五、8253的應用,2. 揚聲器控制,CODE SEGMENT ASSUME CS:CODESTART: IN AL, 61H OR AL, 03H OUT 61H, AL MOVAX, 1983 OUT42H, AL MOVAL,
22、 AH OUT 42, AL MOVAH, 01H INT 21H INAl, 61H AND AL, 0FCH OUT 61H, AL MOVAH, 4CH INT 21HCODE ENDS END START,五、8253的應用,3. 以2MHz輸入825
23、3,實現每5秒定時中斷(設8253端口地址40H~43H),分析:8253最大初值65536,CLK=2MHz可實現最大時間間隔65536/(2?106)=32.769ms所以需要兩個計數器串聯,一個計數器的輸出作為另一個計數器的輸入,五、8253的應用,計數器1:模式2,OUT1每5ms輸出一個脈沖初值(2?106)/(1/0.005)=10000計數器0:模式2,OUT0每5s輸出一個脈沖初值(1/0.005)
24、/(1/5)=1000,,OUT0GATE0CLK0OUT1GATE1CLK1,,+5V,,+5V,,,2MHz,,每5秒產生一個脈沖,五、8253的應用,程序:,MOV AL, 74HOUT 43H, ALMOV AX, 10000OUT 41H, ALMOV AL, AHOUT 41H, ALMOV AL, 74H MOV AL, 34HOUT 43H, ALMOV AX, 1000OUT 40H,
25、 ALMOV AL, AHOUT 40H, AL,精品課件!,精品課件!,作業(yè),1.試述CPU與外設交換數據的方式及其特點2.設8253三個計數器的CR/OL端口地址為70H、71H、72H,控制寄存器端口地址73H。編寫程序片段,使:計數器0,工作模式1,使用16位,初值為1234,BCD計數計數器1,工作模式4,使用低8位,初值為100,二進制計數計數器2,工作模式2,使用16位,初值為65536,二進制計數3.設82
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論