版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、1第七章 第七章 可編程外圍接口芯片8255A及其應用 7.1 8255A的工作原理 一、8255A的結(jié)構(gòu)和功能 二、8255A的控制字及初始化編程 三、8255A工作方式和C口狀態(tài)字 7.2 8255A的應用舉例 教材第九章內(nèi)容 2第七章 7.1 8255A的工作原理 u8255A是一種通用的可編程并行I/O接口芯片,一 般不需附加外部邏輯電路就可直接為CPU與外設之 間提供數(shù)據(jù)通道; u通過對它進行編程,可為CPU與外設之間的通信提 供無條件、有條件和中斷方式的接口電路,因此 應用較廣泛。 8255A綜述 3第七章 1、外形 u40引腳的芯片; u雙列直插式封裝; 一、8255A的結(jié)構(gòu)和功
2、能 8255A的引腳圖 4第七章 u管腳小結(jié): (1)與外設連接的管腳 8255A有三個數(shù)據(jù)端口,每個端口是8位的,由此 與外設相連接的管腳共有24位。 A口有八個I/O引腳 PA7-PA0 B口有八個I/O引腳 PB7-PB0 C口有八個I/O引腳 PC7-PC0 5第七章 (2)與CPU連接的管腳 數(shù)據(jù)線D7-D0; 讀寫控制線RD#、WR#; 片選信號CS#; 端口地址控制線A0和A1; 復位線RESET。 (3)電源線和地線 電源線VCC ,一般取5V ; 電源地線GND。 6第七章 數(shù)據(jù)總線數(shù)據(jù)總線 D7D0 A 組組 控控 制制 數(shù)據(jù)數(shù)據(jù) 總線總線 緩沖器緩沖器 B 組組 控控 制
3、制 讀讀/寫寫 控制控制 邏輯邏輯 端口端口A (8位)位) 端口端口C (高高4位位) 端口端口B (8位)位) 端口端口C (低低4位位) 內(nèi)部數(shù)據(jù)總線內(nèi)部數(shù)據(jù)總線 (8 8位)位) RD WR A1 A0 RESET CS PA7PA0 PC7PC4 PC3PC0 PB7PB0 C P U 外外 設設 CPU接口接口內(nèi)部邏輯內(nèi)部邏輯外設接口外設接口 A A 組組 B B 組組 2、內(nèi)部結(jié)構(gòu) 7第七章 8255A與系統(tǒng)的連接示意圖 8第七章 3、各部分功能簡介 u數(shù)據(jù)端口 A、B、C:可用來和外設傳送信息;每 個端口8位,通過編程設定其為輸入口或輸出口; 8255數(shù)據(jù)端口功能表 工作方式A
4、口B口C口 0 1 2 基本輸入輸出 輸出鎖存 輸入三態(tài) 應答式輸入輸出 輸入輸出均鎖存 應答雙向輸入輸出 輸入輸出均鎖存 基本輸入輸出 輸出鎖存 輸入三態(tài) 基本輸入輸出 輸出鎖存 輸入三態(tài) 應答式輸入輸出 輸入輸出均鎖存 作為A口、B口的 控制位及狀態(tài)位 作為A口、B口的 控制位及狀態(tài)位 9第七章 8255A的基本操作 10第七章 u8255A的初始化編程,通過輸出指令讓CPU對8255A 控制字寄存器寫數(shù)據(jù),來設置8255A的初始狀態(tài) u8255A有兩類控制字 1、方式選擇控制字: 選擇各端口的工作方式及操作類型(輸入輸出) 2、置位復位控制字: 對C端口的任一位進行置位或復位操作 二、8
5、255A的控制字及初始化編程 11第七章 1、方式選擇控制字 12第七章 u通過對8255A的控制口寫入置位/復位控制字,可 使端口C的任意一個引腳的輸出單獨置1或清0。 2、置位復位控制字 13第七章 例1:設8255A的各端口地址為90H93H,若要求各端 口的工作狀態(tài)如下:應怎樣對8255A進行初始化編程? A口:方式0輸出; B口:方式0輸入; 上C口:方式0輸入;下C口:方式0輸出; 分析:控制口地址:93H 工作方式控制字為:1000 1010B 即8AH 初始化程序片斷: MOV AL,8AH OUT 93H,AL 14第七章 例2:設一片8255A的端口地址為60H63H,要求
6、從 PC5的引腳輸出一個正脈沖。 分析:先將PC5清零,再將其置1,最后再清零 MOVAL, 00001010B OUT 63H, AL MOVAL, 00001011B OUT 63H, AL MOVAL, 00001010B OUT 63H, AL 15第七章 思考:例2中若要求輸出方波信號,則程序片段為: AGAIN:MOV AL,00001011B OUT 63H,AL CALL DELAY ;調(diào)用延時子程序 MOV AL,00001010B OUT 63H,AL CALL DELAY ;調(diào)用延時子程序 JMP AGAIN 16第七章 u8255A有3種工作方式: 方式0:基本的輸入輸
7、出方式 方式1:選通輸入輸出方式 方式2:雙向總線I/O方式 u各端口的工作方式,是通過編程向控制口寫入方 式選擇控制字設置的。 uA口可工作在方式0、方式1、方式2下; B口:方式0和方式1; C口:方式0或作為A口、B口的狀態(tài)或控制信號。 三、8255A工作方式和C口狀態(tài)字 17第七章 1、方式 0(稱為基本輸入/輸出工作方式) u適用場合:不需要用應答信號的無條件數(shù)據(jù)傳送。 如:讀一組開關(guān)狀態(tài),控制一組指示燈 u方式0的基本功能: 具有兩個8位口(A口和B口),兩個4位口(上口C和 下C口) 任意端口都可作為輸入或輸出,但不能同時實現(xiàn)輸入 及輸出 設置為輸出口時有鎖存能力,設置為輸入口時
8、無鎖存 能力。 方式0舉例 18第七章 2、方式 1(稱為選通輸入輸出工作方式) u適用場合:查詢方式或中斷方式的數(shù)據(jù)傳送。 如:與打印機的接口 u方式1的主要功能: 兩個選通的8位數(shù)據(jù)端口,可輸入或輸出 ; 每個端口有三條控制線(C口提供,固定指定的,不 能用程序改變) 若只有一個口工作在方式1,余下的13位可工作在方 式0; 方式1的兩個8位數(shù)據(jù)口的輸入、輸出數(shù)據(jù)都能鎖存。 19第七章 (1)選通輸入方式 A口、B口都工作在選通輸入方式 u其端口控制字、狀態(tài)、聯(lián)絡信號如下圖所示。 選通輸入/輸出方式可以分為3種情況 PA7PA0 IBFA RD STBA D0D1D2D3D4D5D6D7
9、1/01101 控制字控制字 INTRA I/O INTE APC4 PC5 PC3 PC6,7 PC6,7 1=輸入輸入 0=輸出輸出 方式方式1 A口口 中斷允許信號中斷允許信號 選通信號選通信號 緩沖器滿信號緩沖器滿信號 中斷請求信號中斷請求信號 標志位標志位 A口方式口方式1 A口輸入口輸入 20第七章 PB7PB0 IBFB RD STBB D0D1D2D3D4D5D6D7 111 控制字控制字 INTRB INTE BPC2 PC1 PC0 方式方式1 B口口 中斷允許信號中斷允許信號 選通信號選通信號 緩沖器滿信號緩沖器滿信號 中斷請求信號中斷請求信號 B口方式口方式1 B口輸入
10、口輸入 【注意】 由于INTE A、INTE B無外部引出腳,因此當PC4或PC2腳上出現(xiàn) 高電平或低電平信號時,不會改變中斷允許觸發(fā)器的狀態(tài)。 21第七章 22第七章 (2)選通輸出方式 A口、B口都工作在選通輸出方式 u其端口控制字、狀態(tài)、聯(lián)絡信號如下圖所示。 選通輸入/輸出方式可以分為3種情況 D0D1D2D3D4D5D6D7 1/00101 控制字控制字 PC5,4 1=輸入輸入 0=輸出輸出 PA7PA0 WR INTRA I/O INTE A PC7 PC6 PC3 PC4,5 方式方式1 A口口 OBFA ACKA 輸出緩沖器滿輸出緩沖器滿 外設回答信號外設回答信號 23第七章
11、D0D1D2D3D4D5D6D7 011 控制字控制字 PB7PB0 WR INTRB INTE B PC1 PC2 PC0 方式方式1 B口口 OBFB ACKB (2)選通輸出方式(續(xù)) 24第七章 25第七章 (3)選通輸入/輸出方式 8255A工作于方式1時,允許對A口和B口分別定義,一 個端口作輸入,另一個端口作輸出。 選通輸入/輸出方式可以分為3種情況 D0D1D2D3D4D5D6D7 011/01101 控制字控制字 PC6,7 1=輸入輸入 0=輸出輸出 PA7PA0 WR INTRA I/O PC4 PC5 PC6,7 OBFB ACKB RD PC3 STBA IBFA P
12、B7PB0 PC1 PC2 PC0 INTRB 26第七章 (3)選通輸入/輸出方式(續(xù)) D0D1D2D3D4D5D6D7 111/00101 控制字控制字 PC5,4 1=輸入輸入 0=輸出輸出 PA7PA0 RD INTRA I/O PC7 PC6 PC4,5 STBB ACKA WR PC3 OBFA IBFB PB7PB0 PC2 PC1 PC0 INTRB 27第七章 3、方式 2(稱為雙向總線方式) u適用場合:查詢方式或中斷方式的數(shù)據(jù)傳送。 如:在主機和軟盤驅(qū)動器交換數(shù)據(jù)時 u方式2的主要功能: 只有A口可以工作于這種方式。 在這種方式下,CPU與外設交換數(shù)據(jù)時,可在單一的8
13、位端口數(shù)據(jù)線PA7PA0上進行,既可以通過A口把數(shù)據(jù) 傳送到外設,又可以從A口接收從外設送過來的數(shù)據(jù), 而且輸入和輸出數(shù)據(jù)均能鎖存。 輸入和輸出過程不能同時進行。 28第七章 注意:輸入輸出共用一個INTR,有效時,CPU需通過查詢 PC7( )和PC5( )判斷是輸入還是輸出引起的中斷。 A OBF A IBF B組方式組方式:1=方式方式1 0=方式方式0 D0D1D2D3D4D5D6D7 控制字控制字 111/01/01/0 B口口:1=輸入輸入, 0=輸出輸出 PC20:1=輸入輸入, 0=輸出輸出 IBFA I/O OBFA ACKA PA7PA0 WR INTE 1 PC20 RD
14、 PC3 PC7 PC6 PC4 PC5 INTE 2 STBA INTRA 29第七章 4、C口狀態(tài)字 u當8255A工作于方式0時,C口各位作輸入輸出用。 u當8255A工作于方式1和方式2時,C口產(chǎn)生或接收 與外設間的聯(lián)絡信號。此時,讀取C口的內(nèi)容可使 編程人員測試或檢查外設的狀態(tài),用輸入指令對C 口進行讀操作就可讀取C口的狀態(tài), 即:IN AL,PC口 30第七章 C口的狀態(tài)字有以下幾種格式: (1)方式1狀態(tài)字 輸入狀態(tài)字: 輸出狀態(tài)字: 31第七章 (2)方式2狀態(tài)字 方式1舉例 32第七章 例1:在某一系統(tǒng)中,有8個開關(guān)K7K0,要求每隔1S檢測 它們的通斷狀態(tài),并隨時在發(fā)光二極
15、管LED7LED0上顯 示出來。要求:開關(guān)斷開,相應的LED點亮;開關(guān)合上 ,LED熄滅 硬件電路設計圖 7.2 8255A的應用舉例 33第七章 分析: u確定各端口地址 A口:F0H B口:F2H C口:F4H 控制口:F6H u控制字: A口工作于方式0輸入,B口為方式0輸出,C口未 用,控制字中與C口對應的位可以被置為0,寫入 控制端口F6H的控制字為:10010000B u要求功能的實現(xiàn): 從A口讀入的數(shù)據(jù)直接輸出至B口即可滿足要求 34第七章 參考程序片斷: MOV AL, 10010000B ; 控制字 OUT 0F6H, AL ; 寫入控制字 LP: IN AL, 0F0H ;
16、 從A口讀入開關(guān)狀態(tài) OUT 0F2H, AL ; B口控制LED,指示開關(guān)狀態(tài) CALL DELAY1S JMP LP 思考: u若地址大于FFH,則程序應該怎么改? u若要“開關(guān)斷開,相應的LED熄滅”,程序怎么改 ? 35第七章 【小結(jié)】 (1)CPU與8255A之間數(shù)據(jù)傳輸以BYTE為單位; (2)8255A的方式0使用步驟: 確定地址; 寫控制字(初始化); 輸入輸出操作 36第七章 1、七段LED的工作原理和接口電路 dpgfedcba 01101101 例2:數(shù)碼管與8255A接口舉例 37第七章 十六進制數(shù)字七段顯示碼 十六進制數(shù)字七段顯示碼 03FH87FH 106H96FH
17、 25BHA77H 34FHb7CH 466HC39H 十六進制數(shù)共陰極的七段顯示碼表 56DHd5EH 67DHE79H 707HF71H 38第七章 (1)靜態(tài)顯示方式 I/O(1) I/O(2) I/O(3) I/O(4) 2、數(shù)碼管的顯示方式 39第七章 這種方式的共陰極或共陽極點連在一起,接地 或接+5V,每一個數(shù)碼管與一個并行口相連。所以 在同一時間內(nèi),每個數(shù)碼管可以顯示不同的內(nèi)容。 但每個數(shù)碼管都需要一個8位的I/O口,占用I/O太 多,成本高。 40第七章 (2)動態(tài)顯示方式 41第七章 這種方式數(shù)碼管的數(shù)據(jù)端與一個I/O口并連, 而每個數(shù)碼管的控制端(公共端)分別與另一個 I
18、/O口的某一位相連,可通過程序控制,使得在某 一時間段內(nèi)只讓某個數(shù)碼管顯示,下一時間段內(nèi) 讓另一個數(shù)碼管顯示,這樣讓4個數(shù)碼管輪流顯示 ,只要輪流的速度快,人眼不會感到閃爍,好像 在同時顯示。 42第七章 設計一接口電路,要求從8255A的A口輸入由8個 開關(guān)組成的數(shù)據(jù)信息,用2位16進制數(shù)表示,并通過B 口輸出至數(shù)碼管顯示。 要求編寫完整的源程序?qū)崿F(xiàn)數(shù)據(jù)的輸入和輸出顯示 。這里,8255的端口地址為:60H、62H、64H、 66H ,數(shù)碼管采用共陰極接法。 3、接口電路設計 43第七章 A2 A1 44第七章 編程思路: (1)建立一個0F的數(shù)碼顯示表; (2)讀A口數(shù)據(jù)(8位),分成低4
19、位和高4位,然 后分別到表中查找出對應的數(shù)碼,通過B口送出; (3)由于2個數(shù)碼管數(shù)據(jù)端連接的都是B口,所以 當想讓低位數(shù)碼管亮時,必須先讓高位數(shù)碼管滅; 同樣,當想讓高位數(shù)碼管亮時,必須先讓低位數(shù)碼 管滅。 4、程序設計 45第七章 DATA SEGMENT TAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H PORTA EQU 60H PORTB EQU 62H PORTC EQU 64H CWR EQU 66H FSZ EQU 90H ;8255A為方式0,A口輸入,B口輸出 參考程序 46第
20、七章 ;C口位控方式輸出 PC7L EQU 0000 1110 B ;PC7 輸出低電平 PC7H EQU 0000 1111 B ;PC7 輸出高電平 PC6L EQU 0000 1100 B ;PC6 輸出低電平 PC6H EQU 0000 1101 B ;PC6 輸出高電平 DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE 參考程序 47第七章 START: MOV AX,DATA MOV DS, AX MOV AL ,F(xiàn)SZ ;設8255的工作方式 OUT CWR,AL MOV BX, OFFSET TAB ;設段選碼表首地址 S1: IN A
21、L,PORTA ;從8255 A口輸入數(shù)據(jù) MOV CL, AL ;暫存數(shù)據(jù) AND AL,0FH ;取數(shù)據(jù)的低4位 XLAT ;查表,得段選碼 MOV AH, AL ;暫存低位顯示 MOV AL,PC6H OUT CWR,AL ;滅高位數(shù)碼管 參考程序 48第七章 MOV AL, AH OUT PORTB ,AL ;送至8255 B口 MOV AL,PC7L OUT CWR,AL ;點亮低位數(shù)碼管 MOV AL,CL AND AL,0F0H ;取數(shù)據(jù)高4位 MOV CL,4 SHR AL,CL ;高4位移至低4位 XLAT ;查表得高位數(shù)的段選碼 MOV AH,AL ;暫存數(shù)據(jù) MOV AL
22、,PC7H OUT CWR,AL ;滅低位數(shù)碼管 參考程序 49第七章 MOV AL,AH OUT PORTB,AL ;送至8255B口 MOV AL, PC6L OUT CWR ,AL ;點亮高位數(shù)碼管 JMP S1 ;繼續(xù)掃描 MOV AH,4CH INT 21H CODE ENDS END START 參考程序 50第七章 設計CPU(8086)與打印機的接口電路。 要求: 使用8255A作為接口芯片,并用A口作為輸出口, 這里,8255A的基地址為:340H。 編寫完整的源程序,實現(xiàn)將內(nèi)存某一段單元中的 內(nèi)容送到打印機進行打印。 例3:打印機與8255接口舉例 51第七章 (1)打印機
23、接口信號 并行打印機接口中除8位數(shù)據(jù)線外,還應有選通、 忙碌、應答、出錯、缺紙等信號。這些信號有打印 機輸出的狀態(tài)信息,也有計算機發(fā)出的信息。 常用的有: DATA1DATA8:8位并行數(shù)據(jù),輸入。 STROB#:選通信號,低有效,輸入;有效時將8位 并行數(shù)據(jù)送到打印機的輸入緩沖器中。 52第七章 ACK#:應答信號,低有效,輸出。有效時,表示數(shù) 據(jù)已被接受,打印機準備接收下一個數(shù)據(jù)。 BUSY:忙信號,高有效,輸出。有效時表示打印機 不能接收數(shù)據(jù) 下列情況BUSY為高: 數(shù)據(jù)輸入期間 打印機操作期間 脫機狀態(tài) 打印機出錯狀態(tài) 53第七章 (2)8255與打印機的連接電路 54第七章 DATA
24、 SEGMENT PORTA EQU 340H PORTB EQU 342H PORTC EQU 344H CWR EQU 346H Pstrings DB This is a sample of printer DB interface using 8255A;要打印的字符串 COUNT EQU $-Pstrings DATA ENDS (3)參考程序 55第七章 CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,0A8H ;8255 A口方式1輸出,C口上半部輸入 MOV DX,CWR OUT DX,AL MOV CX,COUNT ;打印字符的個數(shù) MOV BX,OFFSET Pstrings 56第七章 LP1: MOV DX,PORTC LP2: IN AL,DX ;讀C口狀態(tài) AND AL,00010000B ;屏蔽無關(guān)位 JNZ LP2 ;BUSY=1,等待,直到不忙 MOV AL,BX MOV DX,PORTA OUT DX,AL ;送一個字符到8255A口 INC BX ;準備輸出下一個字符 LOOP LP1 MOV AH,4CH INT 21H CODE ENDS END START 5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年掌控中考復習配套課件:第九單元溶液
- 《老人與海》課件
- 2024年阿壩職業(yè)學院單招職業(yè)適應性測試題庫及答案解析
- 單位管理制度集合大全【人力資源管理篇】
- 單位管理制度分享合集【人員管理】十篇
- 單位管理制度范文大合集【員工管理】十篇
- 單位管理制度呈現(xiàn)大全【人事管理篇】十篇
- 《詩五首》教案設計
- 第7單元 工業(yè)革命和國際共產(chǎn)主義運動的興起(高頻選擇題50題)(解析版)
- UFIDAU培訓課程委托代銷
- 電力電子技術(shù)(廣東工業(yè)大學)智慧樹知到期末考試答案章節(jié)答案2024年廣東工業(yè)大學
- 2024年中國移動甘肅公司招聘筆試參考題庫含答案解析
- 反面典型案例剖析材料范文(通用6篇)
- 機械設計外文文獻翻譯、中英文翻譯、外文翻譯
- 美標漸開線花鍵計算程序2014.8
- 英格索蘭空壓機操作規(guī)程
- 風動送樣手冊
- 績效考核評分標準
- 電力建設施工技術(shù)管理
- NB∕T 32004-2018 光伏并網(wǎng)逆變器技術(shù)規(guī)范
- 股權(quán)投資郵箱
評論
0/150
提交評論