匯編語言(微機)第六章.ppt_第1頁
匯編語言(微機)第六章.ppt_第2頁
匯編語言(微機)第六章.ppt_第3頁
匯編語言(微機)第六章.ppt_第4頁
匯編語言(微機)第六章.ppt_第5頁
已閱讀5頁,還剩55頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、1,主講教師:范新民,第六章:可編程并行接口芯片和串行接口芯片,2,主要內容:,3,6.1 并行接口與串行接口,并行接口: 是指數據的各位同時進行傳送,其特點是傳輸速度快,但當傳輸距離較遠、位數又多時,導致了通信線路復雜且成本提高。,串行接口: 是指一條信息的各位數據被逐位按順序傳送的通訊方式。其特點是數據按位傳送,最少只需一根傳輸線即可完成,成本低但傳送速度慢。,可編程并行接口芯片和串行接口芯片,4,串口與并口: 并口由于8位通道之間的互相干擾。傳輸時速度就受到了限制。而且當傳輸出錯時,要同時重新傳8個位的數據。串口沒有干擾,傳輸出錯后重發一位就可以了。所以串口速度非??臁?并行接口與串行接

2、口,5,一、可編程接口芯片的功能和電路組成 多數I/O接口具有如下功能及其電路單元: 輸入/輸出數據鎖存器和緩沖器,用以解決CPU與外設之間速度不匹配的矛盾,以及起隔離和緩沖的作用; 控制命令和狀態寄存器,以存放CPU對外設的控制命令,以及外設的狀態信息;,6.1.1 可編程接口芯片概述,地址譯碼器,用來選擇接口電路中的不同端口; 讀寫控制邏輯 中斷控制邏輯,并行接口與串行接口,6,二、可編程接口芯片的幾個概念 片選的概念 必須要有一個地址信號選中接口芯片后,才能使該接口芯片進入電路工作狀態,實現數據的輸入/輸出。 選通端CE(Chip Enable),又稱片選端CS (Chip Select

3、)。 CE端是控制接口芯片進入電路工作狀態的引腳端。,可編程接口芯片概述,7,讀/寫概念: 當地址信號穩定,讀信號和訪問I/O口控制信號有效時,片選信號穩定,CPU數據線和輸入口接通,進行讀操作。 當地址信號穩定,CPU輸出數據,寫信號和訪問I/O口控制信號有效時,片選信號穩定,數據寫入I/O口。,可編程接口芯片概述,8,可編程接口的概念 接口芯片大部分是多通道、多功能的。 多通道是指一個接口芯片一面與CPU連接,另一面可接幾個外設; 多功能是指一個接口芯片能實現多種接口功能,實現不同的電路工作狀態。接口芯片功能可由程序改變。,可編程接口芯片概述,9,“聯絡”的概念 接口芯片常常需要和外設間有

4、一定的“聯絡”信號,以保證信息的正常傳送。 通常采用兩個“聯絡”(Handhake)信號: (選通信號,strobe)和RDY(就緒信號,Ready)。,可編程接口芯片概述,10,8255A的結構和引腳功能 8255A的工作方式 8255A的初始化 8255A的應用舉例 16位系統中的并行接口,6.2 可編程并行接口芯片8255A,11,6.2.1 8255A的結構和引腳功能,1、8255A的內部結構,12,(1) 數據端口 端口A:PA0PA7,數據輸出鎖存器/緩存器和輸入鎖存器, 可用于數據雙向傳輸。 端口B:PB0PB7,數據輸出鎖存器/緩存器和輸入緩存器, B口作為輸出口時數據可得到鎖

5、存,做輸入口時, 外設輸入的數據必須維持到有效讀取為止。 端口C:PC0PC7,結構同B口,可作為兩個4位端口使用, 可配合A口或B口在數據傳輸時做控制、狀態和中斷 請求信號使用。,8255A的內部結構,13,(2)A組控制和B組控制 A口和高4位PC4PC7構成A組,B口和低4位PC0PC3構成B組。一組有一個控制寄存器接收CPU控制字,確定8255工作方式。 (3)數據總線緩沖器 八位三態雙向緩沖器,用于8255與CPU數據總線的接口。 (4)讀/寫控制邏輯 把接受來自CPU的地址和控制信號發送給兩個控制組。根據不同的信息進行不同的傳送。,8255A的內部結構,14,2、8255A的引腳及

6、其功能 (1)端口引腳 PA0PA7:端口A數據線,雙向,三態。 PB0PB7:端口B數據線,雙向,三態。 PC0PC7:端口C數據線,雙向,三態。,(2)和CPU連接的引腳 D7D0:數據線,與系統總線連接。 RD:讀信號,輸入,低電平有效,從8255A讀取數據 WR:寫信號,輸入,低電平有效,把數據寫入8255,8255A的引腳,15,CS:片選信號,輸入,低電平有效,決定芯片地址。 RESET:復位信號,輸入。將所有內部寄存器的內容清零, 3個數據端口設為輸入工作方式。 A0,A1:端口選擇信號,8255占四個端口地址:,根據RD、WR、CS、A0、A1的不同組合決定8255A的不同端口

7、的操作,8255A的引腳,16,6.2.2 8255A的工作方式,1、方式0基本輸入輸出,CPU可以采用無條件讀寫方式與8255A交換數據。 若把C口的兩個部分用作控制和狀態口,與外設的控制和狀態端相連,CPU也可通過對C口的讀寫,實現A口與B口的查詢方式工作。 輸出的數據被鎖存, 輸入的數據不鎖存,端口A、B和C都可工作于輸入或輸出。三個端口無必然聯系,各端口輸入輸出組合共有16種,可適用于多種用途。,17,2、方式1選通輸入輸出(應答式輸入輸出) 端口A和B輸入/輸出數據時,必須利用端口C提供聯絡信號(選通、應答信號)。 一般情況下,用中斷傳送數據方式(也可用查詢方式)。 這時: 通道A:

8、8位數據端口(A口),3位控制位(C口)。 通道B:8位數據端口(B口),3位控制位(C口) 。 這種配合固定,不可以用程序修改。,8255A的工作方式,18,特點: 端口A、B既可做輸入又可做輸出。 端口C引腳分別作為控制、狀態和中斷申請信號等。 若只有一個端口工作在方式1,則余下13位可工作在方式0。 若兩個端口都工作在方式1,則余下2位可由程序指定為輸入或輸出。,端口A、B工作于方式1的輸入或輸出時,端口C聯絡信號的引腳和意義都不同。,8255A的工作方式,19,(1)方式1的輸入傳送,A、B兩個口都設為方式1輸入方式,8255A的工作方式,20,INTR:中斷請求信號,輸出,高電平有效

9、,可向CPU申請中斷。,STB:輸入選通信號,輸入,低電平有效,表示外設輸入的數據送至8255A的輸入鎖存器中。,IBF:輸入緩沖區滿,輸出,高電平有效。通知外設輸入緩沖區滿,不要送新數據,由CPU讀取數據時(RD的上升沿)清除,表明輸入緩沖器可以接受新數據。,INTE:中斷允許,INTEA是C口輸出鎖存器的PC4,INTEB是C口輸出鎖存器的PC2,由它們分別控制A口和B口的中斷申請。 (可由C口置 /復位控制字將INTE置1 或復位為0),8255A的工作方式,21,方式1的輸入時序: 從工作在方式1下的輸入端口輸入數據時,有關信號的變化關系。,8255A的工作方式,22, 當外設數據準備

10、好,將數據送至端口線PA7PA0或PB7PB0 外設發出選通信號STB: 將數據鎖存在輸入端口內。 使IBF變高,表示輸入端口滿,可用于阻止外設輸入新數據。 如果INTE=1, STB的上升沿使INTR變高,發出中斷請求。 中斷處理程序中CPU 讀取數據,發出RD信號: (1) RD 的下降沿清除INTR (2) RD 的上升沿清除IBF (3) 端口內的數據進入CPU,以中斷方式輸入數據:,8255A的工作方式,23, 當外設數據準備好,將數據送至端口線PA7PA0或PB7PB0 外設發出選通信號STB: 將數據鎖存在輸入端口內。 使IBF變高,表示輸入端口滿,可用于阻止外設輸入新數據。 在

11、主程序中CPU查詢IBF,若其為高電平,讀取數據,發出RD 信號: RD 的上升沿清除IBF 端口內的數據進入CPU,以查詢方式輸入數據:,8255A的工作方式,24,查詢方法從8255的A口向CPU輸入數據: 程序如下: INPUT:INAL,PortC;讀方式1狀態信號 TESTAL,20H ;查A口的IBF JZINPUT ;IBF=0,數據未準備好 INAL,PortA ;IBF0,CPU讀入數據,方式1輸入時共用到C口6個引腳,剩余2個引腳PC6、PC7可做I/O位,或由C口置 /復位控制字決定其輸出。,8255A的工作方式,25,(2)方式1的輸出傳送,A口方式1輸出時相應的聯絡信

12、號,B口方式1輸出時相應的聯絡信號,8255A的工作方式,26,INTE:中斷允許,INTEA、INTEB分別控制A口和B口的中斷申請。(INTEA由PC6、INTEB由PC2控制),OBF:輸出緩沖器滿,輸出,表示CPU已將數據輸出到指定端口,通知外設可以將數據取走。,ACK:響應信號,輸入。外設通知8255已取走數據,并清除OBF,置INTR為“1”。,INTR:中斷請求信號,輸出。向CPU申請中斷,請求CPU輸出后續數據。(條件:OBFACKINTE=1),控制信號:,8255A的工作方式,27,方式1的輸出時序:,以中 斷方 式輸 出數 據:, CPU輸出數據 CPU發出WR: 數據寫

13、到 8255A的端口 使OBF有效,表示輸出端口滿, 清除中斷請求信號INTR 外設接受到數據后,發出ACK信號: (1) ACK的下降沿使OBF變高, (2) 當INTE=1, ACK的上升沿使INTR變高,請求CPU輸出新的數據,8255A的工作方式,28, CPU輸出數據 CPU發出WR: ()數據寫到 8255A的端口 () 使OBF有效,表示輸出端口滿,通知外設取數據。 外設接受到數據后,發出ACK信號: () ACK的下降沿使OBF變高, () 在主程序中CPU查詢OBF,若其為高電平,數據已 取走,端口可接受新的數據。,以查詢方式輸出數據:,8255A的工作方式,29,注意: 方

14、式1輸出時共用到C口6個引腳,剩余2個引腳PC4、PC5可做I/O位,或由C口置 /復位控制字決定其輸出。,查詢方法向8255的A口輸出數據: 程序如下: OUTPUT:IN AL,PortC;讀方式1狀態信號 TEST AL,80H ;查A口的OBF,設備空閑? JZ OUTPUT ;OBF=0,不空,等待。 MOV AL,DATAS OUT PortA,AL ;OBF=1,CPU輸出數據。,8255A的工作方式,30,3、方式2雙向選通輸入輸出,方式2只限于A組使用。 與方式0、方式1的單向傳送不同,工作在方式2下的端口A,具有雙向傳送功能。 端口工作在方式2時,C口的5根引腳作為端口的聯

15、絡信號;是方式1下A口輸入、輸出聯絡信號的組合。 C口未做聯絡信號的3條引腳,可作為B口在方式1下的聯絡線,也可和B口一樣工作在方式0。由方式控制字決定其輸入/輸出。,8255A的工作方式,31,方式2下的時序為方式1輸入/輸出兩者的組合。,8255A的工作方式,32,6.2.3 8255A的控制字及初始化 使用8255A,首先要由CPU對8255A寫入控制命令字。 有2種控制命令字: 方式選擇控制字; C口按位置位/復位控制字; 1、方式選擇控制字 (D7=1) 控制字可以使8255A的三個數據端口工作在不同的工作方式,將三個端口分為兩組來設定。,8255A的工作方式,33,8255A方式選

16、擇控制字,8255A的控制字,34,2、端口C按位置/復位控制字(D7=0) 可使8255作為位控接口,實現對外設的按位控制。,8255A的控制字,35,例:利用位復位和置位可使端口C PC5位產生方波。,程序如下: MOVCX,10 LOP:MOVAL,0AH OUTPOR-CL,AL ;置0 CALLDELAY MOVAL,0BH OUTPORT-CL,AL ;置1 CALLDELAY LOOP LOP,8255A的控制字,36,6.2.4 8255A的應用實例 1、初始化設置 例:一8088系統的8255A工作于方式0,端口A為輸入,端口B為輸出,若系統中8255A的口地址為80H-83

17、H。,方式控制字:,1001X00X,初始化程序:,MOVAL,90H OUT83H,AL,37,例6-2:開關接口 (8255端口地址:60H63H),實現如下功能:每隔5分鐘從PA口讀入8個開關的狀態存入2000H:3000H開始的數據區,工作10小時結束。,8255A的應用實例,38,MOV AX,2000H MOV DS,AX MOV BX,3000H MOV CX,120 MOV AL,10010000B(90H) OUT 63H,AL LOP:IN AL,60H MOV BX,AL INC BX CALL DELAY 5M LOOP LOP HLT,程序設計:,8255A的應用實例

18、,39,例6-3 LED接口,PA口做輸出數據口,采用方式0工作方式,無條件傳送。設8255A的端口地址為60H63H。要求每隔5分秒,發光燈向上移一個。,8255A的應用實例,40,MOV AL,10000000B(80H) OUT 63H,AL MOV CX,7200 MOV AL,7FH LOP:OUT 60H,AL ROR AL,01H CALL DELAY5S LOOP LOP MOV AH,4CH INT 21H,8255A的應用實例,41,例6-4打印機接口 (1) 并行接口標準(Centronice) 該標準規定了一個36芯的連接口。 STB:數據選通接口; DATA:數據信號

19、; ACK:響應信號; BUSY:忙信號。,8255A的應用實例,42,采用查詢控制方式(方式0)的接口 PA口作為向打印機輸出的數據口,PC0產生控制信號STB,PC7讀取外設狀態BUSY,端口地址為90H93H。從內存2000H:3000H開始取出100個數據送打印機打印的控制程序為:,8255A的應用實例,43,MOV AX,2000H MOV DS,AX MOV BX,3000H MOV CX,100 MOV AL,10001000B OUT 93H,AL LOP:INAL,92H TESTAL,80H JNZLOP,8255A的應用實例,44,MOVAL,BX OUT90H,AL M

20、OVAL,01H OUT92H,AL MOVAL,00H OUT92H,AL MOVAL,01H OUT92H,AL INCBX LOOPLOP MOVAH,4CH INT21H,8255A的應用實例,45,例6-5 鍵盤接口 兩類鍵盤:簡單鍵盤和矩陣結構鍵盤。 矩陣結構鍵盤又有編碼鍵盤和非編碼鍵盤。 編碼鍵盤能自動提供對應于被按鍵的編碼信息,如ASCII碼,并能同時產生一個選通脈沖通知微處理器。 非編碼鍵盤由一組開關組成,提供行和列的鍵盤矩陣。其全部工作,包括按鍵的識別、按鍵代碼的產生、防止串鍵和消去抖動等問題,都靠程序來實現。,8255A的應用實例,46,最簡單的線性結構鍵盤 每一個引腳連

21、接一個鍵 輸入0/1反映健是否高低, 簡易鍵盤的工作原理,8255A的應用實例,47,常用的矩陣結構鍵盤 每行連接一個引腳 每列連接一個引腳, 常用的矩陣結構鍵盤,8255A的應用實例,48,(1) 鍵盤輸入信息的過程: 檢測是否有鍵按下; 查出按下的是哪一個鍵; 將該鍵所代表的信息翻譯成計算機能識別的內部代碼,設有mn個鍵: m行由輸出口控制 n列由輸入口讀入,當某行輸出為低電平時: 有鍵按下某列輸入低電平 無鍵按下某列輸入高電平,8255A的應用實例,49,(2)非編碼鍵盤的鍵碼識別方法 為了識別鍵盤上的閉合鍵,常用的鍵碼識別方法有行掃描法。,8255A的應用實例,50,(3)8255A作

22、矩陣結構鍵盤接口的實例,8255A的應用實例,51,使用行掃描方式尋找按下鍵的編號(鍵號)的程序如下: PORTA EQU 0FFF8H PORTB EQU 0FFFAH PORTC EQU 0FFFCH PORTCN EQU 0FFFEH MOV DX,PORTCN MOV AL,10000010B OUT DX,AL WAITK: MOV DX,PORTA MOV AL,0 OUT DX,AL,8255A的應用實例,52,MOV DX,PORTB IN AL,DX CMPAL,0FFH JZ WAITK MOV BL,0 ;置鍵號初值 MOV BH,11111110B ;置行掃描初值 MOV CX,8 ;置掃描計數器初值 FNDRO

溫馨提示

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

評論

0/150

提交評論