微處理器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)-第六章_計(jì)算機(jī)接口技術(shù)_第1頁
微處理器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)-第六章_計(jì)算機(jī)接口技術(shù)_第2頁
微處理器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)-第六章_計(jì)算機(jī)接口技術(shù)_第3頁
微處理器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)-第六章_計(jì)算機(jī)接口技術(shù)_第4頁
微處理器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)-第六章_計(jì)算機(jī)接口技術(shù)_第5頁
已閱讀5頁,還剩74頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、l6.1 接口基礎(chǔ)接口基礎(chǔ): 功能、結(jié)構(gòu)、編址功能、結(jié)構(gòu)、編址l6.2 接口地址譯碼接口地址譯碼l6.3 接口信息傳輸方式:接口信息傳輸方式: 程序控制、中斷、程序控制、中斷、DMA、通道、通道l6.4 并行接口并行接口l6.5串行接口串行接口為什么要設(shè)置接口為什么要設(shè)置接口lCPU與外設(shè)兩者的信號(hào)不兼容,在信號(hào)類型、功能定義與外設(shè)兩者的信號(hào)不兼容,在信號(hào)類型、功能定義、邏輯定義和時(shí)序關(guān)系上都不一致。如:信號(hào)類型有機(jī)、邏輯定義和時(shí)序關(guān)系上都不一致。如:信號(hào)類型有機(jī)械的、物理的、電信號(hào)等,信號(hào)形式有脈沖、模擬量或械的、物理的、電信號(hào)等,信號(hào)形式有脈沖、模擬量或數(shù)字量等;數(shù)字量等;l兩者的工作速度

2、不匹配,兩者的工作速度不匹配,CPU速度高,外設(shè)速度低速度高,外設(shè)速度低 ;l數(shù)據(jù)傳輸方式不同,有并行、串行之分。數(shù)據(jù)傳輸方式不同,有并行、串行之分。 外設(shè)不能與外設(shè)不能與CPU直接相連直接相連,必須經(jīng)過中間必須經(jīng)過中間I/O接口電路接口電路相連。相連。簡單簡單I/O接口框圖接口框圖l與與CPU相關(guān)的:數(shù)據(jù)總線、相關(guān)的:數(shù)據(jù)總線、I/O選擇(地址線)、選擇(地址線)、I/O讀寫讀寫l與外設(shè)相關(guān)的:數(shù)據(jù)寄存器、控制寄存器、狀態(tài)與外設(shè)相關(guān)的:數(shù)據(jù)寄存器、控制寄存器、狀態(tài)寄存器寄存器-端口端口4 4數(shù)據(jù)緩存寄存器數(shù)據(jù)緩存寄存器端口端口A寄存器寄存器端口端口B寄存器寄存器控制寄存器控制寄存器狀態(tài)寄存器

3、狀態(tài)寄存器CSRS1RS0RDWR時(shí)序控制電路時(shí)序控制電路數(shù)據(jù)總線數(shù)據(jù)總線I/O數(shù)據(jù)數(shù)據(jù)控制控制I/O數(shù)據(jù)數(shù)據(jù)狀態(tài)狀態(tài)I/O選擇選擇寄存器選擇寄存器選擇I/O讀讀I/O寫寫接口分類接口分類5 5并行接口:一次傳輸多個(gè)數(shù)據(jù)位并行接口:一次傳輸多個(gè)數(shù)據(jù)位串行接口:一次只有一位數(shù)據(jù)串行接口:一次只有一位數(shù)據(jù)傳輸方式傳輸方式同步接口:同步總線相連,并同步傳輸同步接口:同步總線相連,并同步傳輸異步接口:無共同的基準(zhǔn)時(shí)鐘異步接口:無共同的基準(zhǔn)時(shí)鐘時(shí)序控制方式時(shí)序控制方式程序查詢方式:程序的執(zhí)行實(shí)現(xiàn)程序查詢方式:程序的執(zhí)行實(shí)現(xiàn)程序中斷方式:傳輸時(shí)由中斷請(qǐng)求信號(hào)觸發(fā)程序中斷方式:傳輸時(shí)由中斷請(qǐng)求信號(hào)觸發(fā)存儲(chǔ)器

4、直接存取訪問方式(存儲(chǔ)器直接存取訪問方式(DMA)通道控制器,通道控制器,I/O處理機(jī)處理機(jī)傳輸控制方式傳輸控制方式外圍接口:與外設(shè)無關(guān),是系統(tǒng)的一部分外圍接口:與外設(shè)無關(guān),是系統(tǒng)的一部分外設(shè)接口:用于連接外設(shè)的接口外設(shè)接口:用于連接外設(shè)的接口工作對(duì)象工作對(duì)象存儲(chǔ)器與存儲(chǔ)器與I/O接口接口6 6作用:信息存儲(chǔ)作用:信息存儲(chǔ)操作模式:字節(jié)的整數(shù)倍操作模式:字節(jié)的整數(shù)倍器件種類:少器件種類:少速度時(shí)序:速度時(shí)序:CPU相當(dāng)、匹配相當(dāng)、匹配存儲(chǔ)器存儲(chǔ)器作用:與外設(shè)間的信息交換作用:與外設(shè)間的信息交換操作模式:位、字節(jié)、多字節(jié)操作模式:位、字節(jié)、多字節(jié)器件種類:多器件種類:多速度時(shí)序:差異很大、時(shí)序不

5、同速度時(shí)序:差異很大、時(shí)序不同接口接口 為了區(qū)分接口電路的各個(gè)寄存器,系統(tǒng)為為了區(qū)分接口電路的各個(gè)寄存器,系統(tǒng)為它們各自分配了一個(gè)地址,稱為它們各自分配了一個(gè)地址,稱為I/O端口地址端口地址,以,以便對(duì)它們便對(duì)它們進(jìn)行尋址進(jìn)行尋址并與并與存儲(chǔ)器地址存儲(chǔ)器地址相區(qū)別相區(qū)別 I/O端口有兩種編址方式:端口有兩種編址方式: 存儲(chǔ)器映像方式、存儲(chǔ)器映像方式、 I/O獨(dú)立編址方式獨(dú)立編址方式 8 8存儲(chǔ)存儲(chǔ)單元單元地址地址00000H00001HFF0FFHFF100HFF101HFFFFFH0000H0001HFF00HI/O端口端口地址地址FFFFH特點(diǎn):特點(diǎn):系統(tǒng)視端口和存儲(chǔ)單元為系統(tǒng)視端口和存儲(chǔ)

6、單元為不同的對(duì)象不同的對(duì)象。 優(yōu)點(diǎn):優(yōu)點(diǎn):系統(tǒng)中存儲(chǔ)單元和系統(tǒng)中存儲(chǔ)單元和I/OI/O端口的數(shù)量可端口的數(shù)量可達(dá)到最大達(dá)到最大。缺點(diǎn):缺點(diǎn):需需專門信號(hào)專門信號(hào)來指示系統(tǒng)地址線上出現(xiàn)的是來指示系統(tǒng)地址線上出現(xiàn)的是存儲(chǔ)單存儲(chǔ)單元地址還是端口地址元地址還是端口地址;需要專用的端口操作指令;需要專用的端口操作指令;9 9 存儲(chǔ)器 1 接口 2 接口 1 CPU 外設(shè) 1 三總線 AB DB CB 存儲(chǔ)器 2 接口 3 外設(shè) 2 外設(shè) 3 存儲(chǔ)器讀寫 I/O 讀寫 獨(dú)立端口編址總線結(jié)構(gòu)獨(dú)立端口編址總線結(jié)構(gòu)1010存儲(chǔ)單存儲(chǔ)單元地址元地址00000H00001HFF0FFHI/O端端口地址口地址FF10

7、0HFF101HFFFFFH 特點(diǎn):特點(diǎn):將將端口看作存儲(chǔ)單端口看作存儲(chǔ)單元元,僅以,僅以地址范圍的不同地址范圍的不同來來區(qū)分兩者。區(qū)分兩者。 優(yōu)點(diǎn):優(yōu)點(diǎn):對(duì)對(duì)端口的操作和對(duì)端口的操作和對(duì)存儲(chǔ)單元的操作存儲(chǔ)單元的操作完全一樣完全一樣,因此系統(tǒng)簡單,并且對(duì)端口因此系統(tǒng)簡單,并且對(duì)端口操作的指令種類較多操作的指令種類較多 缺點(diǎn):缺點(diǎn):CPUCPU對(duì)存儲(chǔ)單元和對(duì)存儲(chǔ)單元和I/OI/O端口的實(shí)際尋址空間都端口的實(shí)際尋址空間都小于其最大尋址小于其最大尋址空間空間10/10011 11 存儲(chǔ)器 1 接口 2 接口 1 CPU 外設(shè) 1 三總線 AB DB CB 存儲(chǔ)器 2 接口 3 外設(shè) 2 外設(shè) 3 統(tǒng)

8、一編址總線結(jié)構(gòu)統(tǒng)一編址總線結(jié)構(gòu)12126.2 接口地址譯碼接口地址譯碼l全譯碼全譯碼全部高位地址全部高位地址線都參與譯碼形成片選線都參與譯碼形成片選信號(hào)信號(hào)l部分譯碼部分譯碼只有只有部分高位地址部分高位地址線參與譯碼形成片線參與譯碼形成片選信號(hào)選信號(hào)l線譯碼線譯碼每組芯片使用每組芯片使用一根地址一根地址線作片選線作片選l固定譯碼,可變譯碼固定譯碼,可變譯碼地址信號(hào)不完全地址信號(hào)不完全確定,所以存在確定,所以存在地址重疊問題,地址重疊問題,浪費(fèi)尋址空間,浪費(fèi)尋址空間,并可能導(dǎo)致誤操并可能導(dǎo)致誤操作;作;接口信息傳輸方式接口信息傳輸方式-程序控制方式程序控制方式 1. 1. 特點(diǎn):特點(diǎn):要求外設(shè)數(shù)

9、據(jù)變化緩慢,操作時(shí)間固定,可以被認(rèn)為始終處于要求外設(shè)數(shù)據(jù)變化緩慢,操作時(shí)間固定,可以被認(rèn)為始終處于 就緒狀態(tài),如一組開關(guān)或就緒狀態(tài),如一組開關(guān)或LEDLED顯示管。顯示管。 2. 2. 優(yōu)點(diǎn):優(yōu)點(diǎn):簡單,簡單, CPUCPU隨時(shí)可無條件讀隨時(shí)可無條件讀/ /寫數(shù)據(jù)。寫數(shù)據(jù)。 3. 3. 缺點(diǎn):缺點(diǎn):無法保證數(shù)據(jù)總是有效,適用面窄。無法保證數(shù)據(jù)總是有效,適用面窄。 1.1.特點(diǎn):特點(diǎn):CPUCPU主動(dòng)、外設(shè)被動(dòng)。執(zhí)行主動(dòng)、外設(shè)被動(dòng)。執(zhí)行I/OI/O操作時(shí)操作時(shí)CPUCPU總要先查詢外設(shè)狀態(tài);總要先查詢外設(shè)狀態(tài); 若傳輸條件不滿足時(shí),若傳輸條件不滿足時(shí),CPUCPU等待直到條件滿足。等待直到條件滿

10、足。 2.2.優(yōu)點(diǎn):優(yōu)點(diǎn):解決了解決了CPUCPU與外設(shè)之間的同步問題,可靠性高。與外設(shè)之間的同步問題,可靠性高。 3.3.缺點(diǎn):缺點(diǎn):CPUCPU利用率低,低優(yōu)先級(jí)外設(shè)可能無法及時(shí)得到服務(wù)。利用率低,低優(yōu)先級(jí)外設(shè)可能無法及時(shí)得到服務(wù)。 1414無條件控制方式舉例無條件控制方式舉例 輸出 設(shè)備 輸入 設(shè)備 輸出鎖存器 輸入緩沖器 端口譯碼電路 1 DB AB M/IO WR RD 1 VCC G1 G2 L1 L2 L8 K1 K2 K8 1515條件程序控制(程序查詢)接口條件程序控制(程序查詢)接口數(shù)據(jù)緩沖器數(shù)據(jù)緩沖器(輸入端口輸入端口)狀態(tài)緩沖器狀態(tài)緩沖器(輸入端口)(輸入端口)鎖鎖存存

11、器器輸輸入入設(shè)設(shè)備備數(shù)據(jù)端口讀選通數(shù)據(jù)端口讀選通狀態(tài)端口讀選通狀態(tài)端口讀選通輸入選通輸入選通輸入數(shù)據(jù)輸入數(shù)據(jù)RQD5VDB(數(shù)據(jù)、狀態(tài))(數(shù)據(jù)、狀態(tài))READY(1bit)數(shù)據(jù)鎖存器數(shù)據(jù)鎖存器(輸出端口)(輸出端口)狀態(tài)緩沖器狀態(tài)緩沖器(輸入端口輸入端口)輸輸出出設(shè)設(shè)備備輸出選通輸出選通RQD5VDB(數(shù)據(jù)、狀態(tài))(數(shù)據(jù)、狀態(tài))BUSY(1bit)ACK狀態(tài)端口讀選通狀態(tài)端口讀選通數(shù)據(jù)端口寫選通數(shù)據(jù)端口寫選通 接口避免了對(duì)端接口避免了對(duì)端口的口的“盲讀盲讀”、“盲寫盲寫” ,數(shù)據(jù)傳送,數(shù)據(jù)傳送的可靠性高,且硬的可靠性高,且硬件接口相對(duì)簡單。件接口相對(duì)簡單。 外設(shè)應(yīng)具有必要的外設(shè)應(yīng)具有必要的聯(lián)絡(luò)

12、(握手)信號(hào)聯(lián)絡(luò)(握手)信號(hào)如如READY、ACK等;等; 缺點(diǎn)缺點(diǎn)是是CPU工作效工作效率低,率低,I/O響應(yīng)速度響應(yīng)速度慢;在有多個(gè)外設(shè)的慢;在有多個(gè)外設(shè)的系統(tǒng)中,系統(tǒng)中,CPU的查詢的查詢順序由外設(shè)的優(yōu)先級(jí)順序由外設(shè)的優(yōu)先級(jí)確定,實(shí)時(shí)性差。確定,實(shí)時(shí)性差。1616 數(shù)據(jù) 端口 狀態(tài) 端口 數(shù)據(jù)緩 沖器 狀態(tài) 檢測(cè) 譯碼電路 觸發(fā)信號(hào) 狀態(tài)信號(hào) D2 數(shù)據(jù)總線 地址總線 控制總線78H 7AH 打印機(jī) 接口電路 程序查詢方式的打印機(jī)接口程序查詢方式的打印機(jī)接口狀態(tài)位為狀態(tài)位為0,則表明先前送出的數(shù)據(jù)已被打印,可以再送下一,則表明先前送出的數(shù)據(jù)已被打印,可以再送下一個(gè)數(shù)據(jù);若狀態(tài)位為個(gè)數(shù)據(jù);

13、若狀態(tài)位為1,則表明先前送出的數(shù)據(jù)還沒打印,就,則表明先前送出的數(shù)據(jù)還沒打印,就不能再送數(shù)據(jù)出去不能再送數(shù)據(jù)出去1717并行接口握手并行接口握手時(shí)序圖時(shí)序圖BUSY數(shù)據(jù)有效數(shù)據(jù)有效DATA數(shù)據(jù)有效數(shù)據(jù)有效ACK5sSTROB5s1. 發(fā)送方查詢發(fā)送方查詢BUSY狀態(tài)信號(hào)狀態(tài)信號(hào)2. 當(dāng)當(dāng)BUSY“0”時(shí),發(fā)送方發(fā)送數(shù)據(jù)時(shí),發(fā)送方發(fā)送數(shù)據(jù)3.發(fā)送方用控制信號(hào)發(fā)送方用控制信號(hào)/STROB鎖存數(shù)據(jù),該信號(hào)至少維持鎖存數(shù)據(jù),該信號(hào)至少維持5s4. /STROB信號(hào)導(dǎo)致信號(hào)導(dǎo)致BUSY信號(hào)變?yōu)楦唠娖叫盘?hào)變?yōu)楦唠娖?.接收方用接收方用/ACK狀態(tài)信號(hào)表示數(shù)據(jù)收到,該信號(hào)至少維持狀態(tài)信號(hào)表示數(shù)據(jù)收到,該信號(hào)

14、至少維持5s6. /ACK信號(hào)導(dǎo)致信號(hào)導(dǎo)致BUSY信號(hào)變?yōu)榈碗娖叫盘?hào)變?yōu)榈碗娖?818什么是中斷什么是中斷l(xiāng)硬件層面硬件層面:“中斷中斷”是外設(shè)是外設(shè)給出的信號(hào),它告訴微處理給出的信號(hào),它告訴微處理器已發(fā)生了某種需要特別處器已發(fā)生了某種需要特別處理的事件,需要去處理或?yàn)槔淼氖录枰ヌ幚砘驗(yàn)槠浞?wù)其服務(wù)l軟件層面軟件層面:中斷,是指:中斷,是指CPU在執(zhí)行正常程序時(shí),為處理在執(zhí)行正常程序時(shí),為處理一些緊急發(fā)生的情況,暫時(shí)一些緊急發(fā)生的情況,暫時(shí)中止當(dāng)前程序,轉(zhuǎn)而對(duì)該緊中止當(dāng)前程序,轉(zhuǎn)而對(duì)該緊急事件進(jìn)行處理,并在處理急事件進(jìn)行處理,并在處理完后返回正常程序的過程完后返回正常程序的過程中斷服中斷

15、服務(wù)程序務(wù)程序1中斷服務(wù)中斷服務(wù)程序程序 2非預(yù)料事非預(yù)料事件件1非預(yù)料非預(yù)料事件事件 21919非預(yù)料事件非預(yù)料事件是指事件發(fā)生的時(shí)間無法預(yù)知,是指事件發(fā)生的時(shí)間無法預(yù)知,即中即中斷源何時(shí)產(chǎn)生中斷不確定,是隨機(jī)的。斷源何時(shí)產(chǎn)生中斷不確定,是隨機(jī)的。中斷源產(chǎn)生中斷的隨機(jī)性,使中斷服務(wù)程序的執(zhí)行中斷源產(chǎn)生中斷的隨機(jī)性,使中斷服務(wù)程序的執(zhí)行也具有隨機(jī)性,也具有隨機(jī)性,即何時(shí)執(zhí)行中斷服務(wù)程序不是在程序即何時(shí)執(zhí)行中斷服務(wù)程序不是在程序中安排好的。中安排好的。中斷的隨機(jī)性、不可預(yù)料性中斷的隨機(jī)性、不可預(yù)料性u(píng)中斷系統(tǒng)是計(jì)算機(jī)中實(shí)現(xiàn)中斷功能的各種軟、硬中斷系統(tǒng)是計(jì)算機(jī)中實(shí)現(xiàn)中斷功能的各種軟、硬件的總稱件的

16、總稱u中斷系統(tǒng)一般包括中斷系統(tǒng)一般包括CPU內(nèi)部相應(yīng)的中斷邏輯、接內(nèi)部相應(yīng)的中斷邏輯、接口中的中斷控制電路及各類中斷服務(wù)子程序口中的中斷控制電路及各類中斷服務(wù)子程序中斷的相關(guān)概念中斷的相關(guān)概念u中斷源:中斷源:引起中斷的事件,或發(fā)出中斷請(qǐng)求的來源引起中斷的事件,或發(fā)出中斷請(qǐng)求的來源可屏蔽中斷可屏蔽中斷 (INTR)不可屏蔽中斷不可屏蔽中斷 (NMI)外部中斷外部中斷(硬件中斷)(硬件中斷)內(nèi)部中斷內(nèi)部中斷(軟件中斷)(軟件中斷)(執(zhí)行指令所引起的)執(zhí)行指令所引起的)一、外部硬件中斷主要有以下幾種:一、外部硬件中斷主要有以下幾種: 1.I/O設(shè)備:鍵盤、打印機(jī)等。設(shè)備:鍵盤、打印機(jī)等。 2.數(shù)據(jù)

17、通道:軟盤、硬盤、光盤等。數(shù)據(jù)通道:軟盤、硬盤、光盤等。 3.實(shí)時(shí)時(shí)鐘:如外部的定時(shí)電路等。實(shí)時(shí)時(shí)鐘:如外部的定時(shí)電路等。 4.用戶故障源:如掉電、奇偶校驗(yàn)錯(cuò)誤等。用戶故障源:如掉電、奇偶校驗(yàn)錯(cuò)誤等。 二、二、產(chǎn)生于產(chǎn)生于CPU內(nèi)部的軟件中斷源有幾種:內(nèi)部的軟件中斷源有幾種: 1.由由CPU得運(yùn)行結(jié)果產(chǎn)生:如除數(shù)為得運(yùn)行結(jié)果產(chǎn)生:如除數(shù)為0、結(jié)果溢出、單步執(zhí)行等。、結(jié)果溢出、單步執(zhí)行等。 2.非法操作或指令引起異常處理。非法操作或指令引起異常處理。 2121中斷的相關(guān)概念中斷的相關(guān)概念 執(zhí)行中斷指令 INT N、INTO 等 中 斷 控 制 邏 輯 自動(dòng)產(chǎn)生的中斷 除法錯(cuò)中斷 單步中斷 斷點(diǎn)中

18、斷 溢出中斷等 系統(tǒng)掉電 INTR 引腳 中斷控制器 NMI 引腳 內(nèi)存奇偶校驗(yàn)錯(cuò) 中斷接口電路 鍵盤 打印機(jī) 串行口 CPU 內(nèi)部 2222u中斷向量:中斷向量:中斷向量即中斷服務(wù)子程序的入口中斷向量即中斷服務(wù)子程序的入口地址,也就是中斷服務(wù)子程序的第一條指令的地地址,也就是中斷服務(wù)子程序的第一條指令的地址在存儲(chǔ)器中的存放位置址在存儲(chǔ)器中的存放位置u斷點(diǎn)斷點(diǎn): 是指是指CPU執(zhí)行的現(xiàn)行程序被中斷時(shí)的下執(zhí)行的現(xiàn)行程序被中斷時(shí)的下一條指令的地址,又稱斷點(diǎn)地址一條指令的地址,又稱斷點(diǎn)地址u中斷現(xiàn)場(chǎng)中斷現(xiàn)場(chǎng): 是指是指CPU轉(zhuǎn)去執(zhí)行中斷服務(wù)程序前轉(zhuǎn)去執(zhí)行中斷服務(wù)程序前的運(yùn)行狀態(tài),包括的運(yùn)行狀態(tài),包括

19、CPU內(nèi)部內(nèi)部各寄存器、斷點(diǎn)地各寄存器、斷點(diǎn)地址址等。等。中斷的相關(guān)概念中斷的相關(guān)概念中斷向量中斷向量內(nèi)內(nèi) 存存 MOV R1, #0 x60 MOV R2, #0 x10 ADD R0, R1,R2 0053H打印機(jī)子程序打印機(jī)子程序0FFFH中斷向量表中斷向量表0000H 鍵盤子程序鍵盤子程序中斷向量中斷向量10E2H中斷向量中斷向量1000:150H 、 、 、 、 、MOV AX, 0ADD AX, DXMOV DI , AX、 PUSH AX 、 、 IRETCPU在執(zhí)行此指令時(shí),在執(zhí)行此指令時(shí),某中斷源發(fā)申請(qǐng)中斷某中斷源發(fā)申請(qǐng)中斷;CPU在執(zhí)行完該指令后,在執(zhí)行完該指令后,轉(zhuǎn)去執(zhí)行

20、中斷子程轉(zhuǎn)去執(zhí)行中斷子程地址地址1000:150H為斷點(diǎn)為斷點(diǎn)斷點(diǎn)概念斷點(diǎn)概念中斷系統(tǒng)相關(guān)概念中斷系統(tǒng)相關(guān)概念u中斷優(yōu)先級(jí)中斷優(yōu)先級(jí):在系統(tǒng)中多個(gè)中斷源可能同時(shí)提出中在系統(tǒng)中多個(gè)中斷源可能同時(shí)提出中斷請(qǐng)求時(shí),需要按中斷的輕重緩急給每個(gè)中斷源指定斷請(qǐng)求時(shí),需要按中斷的輕重緩急給每個(gè)中斷源指定一個(gè)優(yōu)先級(jí)別。一個(gè)優(yōu)先級(jí)別。u中斷嵌套中斷嵌套: 當(dāng)當(dāng)CPU正在進(jìn)行某一級(jí)別中斷源的中斷處正在進(jìn)行某一級(jí)別中斷源的中斷處理時(shí),若有理時(shí),若有更高級(jí)別的新中斷源更高級(jí)別的新中斷源發(fā)出請(qǐng)求,且新中斷發(fā)出請(qǐng)求,且新中斷源源滿足響應(yīng)條件滿足響應(yīng)條件,則,則CPU應(yīng)應(yīng)中止當(dāng)前的中斷服務(wù)程序中止當(dāng)前的中斷服務(wù)程序,保護(hù)此

21、程序的斷點(diǎn)和現(xiàn)場(chǎng),轉(zhuǎn)而保護(hù)此程序的斷點(diǎn)和現(xiàn)場(chǎng),轉(zhuǎn)而響應(yīng)高級(jí)中斷響應(yīng)高級(jí)中斷。這種。這種多級(jí)(重)中斷的處理方式稱為多級(jí)(重)中斷的處理方式稱為“嵌套嵌套”。 現(xiàn)行主程序 中斷服務(wù)子程序1 斷點(diǎn)1 中斷服務(wù)子程序2 斷點(diǎn)2 IRET IRET 非預(yù)料事件非預(yù)料事件1 1非預(yù)料事件非預(yù)料事件2中斷嵌套過程示意圖中斷嵌套過程示意圖中斷嵌套必須具備的幾個(gè)條件中斷嵌套必須具備的幾個(gè)條件l正處于響應(yīng)狀態(tài)的中斷服務(wù)程序中,應(yīng)開放正處于響應(yīng)狀態(tài)的中斷服務(wù)程序中,應(yīng)開放總中斷(總中斷(IF位置位置1)l新中斷應(yīng)具有比原中斷有新中斷應(yīng)具有比原中斷有高的優(yōu)先級(jí)高的優(yōu)先級(jí);同級(jí)同級(jí)或低級(jí)均不能嵌套或低級(jí)均不能嵌套l為

22、保護(hù)各級(jí)中斷服務(wù)程序的數(shù)據(jù)不被破壞,為保護(hù)各級(jí)中斷服務(wù)程序的數(shù)據(jù)不被破壞,所有服務(wù)程序中均應(yīng)有所有服務(wù)程序中均應(yīng)有保護(hù)現(xiàn)場(chǎng)、恢復(fù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)、恢復(fù)現(xiàn)場(chǎng)的指令的指令l每個(gè)中斷服務(wù)程序末尾必須有每個(gè)中斷服務(wù)程序末尾必須有IRET指令指令以示以示結(jié)束,從而返回被中斷的程序地址處結(jié)束,從而返回被中斷的程序地址處中斷系統(tǒng)相關(guān)概念中斷系統(tǒng)相關(guān)概念l中斷屏蔽中斷屏蔽:在某些情況下,在某些情況下,CPU可能不對(duì)中斷請(qǐng)求信號(hào)作可能不對(duì)中斷請(qǐng)求信號(hào)作出響應(yīng)或處理,這就是中斷屏蔽。出響應(yīng)或處理,這就是中斷屏蔽。l屏蔽情況屏蔽情況中斷屏蔽標(biāo)志中斷屏蔽標(biāo)志系統(tǒng)在處理優(yōu)先級(jí)別較高的中斷請(qǐng)求時(shí),不會(huì)處理后來系統(tǒng)在處理優(yōu)先級(jí)

23、別較高的中斷請(qǐng)求時(shí),不會(huì)處理后來的級(jí)別較低的中斷請(qǐng)求的級(jí)別較低的中斷請(qǐng)求 。中斷處理過程中斷處理過程 l中斷請(qǐng)求及檢測(cè)中斷請(qǐng)求及檢測(cè) lCPU內(nèi)部硬件自動(dòng)完成內(nèi)部硬件自動(dòng)完成 l中斷判優(yōu)中斷判優(yōu)多個(gè)中斷源同時(shí)提出中斷申請(qǐng),哪個(gè)優(yōu)先級(jí)更高多個(gè)中斷源同時(shí)提出中斷申請(qǐng),哪個(gè)優(yōu)先級(jí)更高, CPU內(nèi)部硬件自動(dòng)完成內(nèi)部硬件自動(dòng)完成 l中斷響應(yīng)中斷響應(yīng)CPU內(nèi)部硬件自動(dòng)完成內(nèi)部硬件自動(dòng)完成 l中斷處理服務(wù)中斷處理服務(wù) 中斷服務(wù)是根據(jù)用戶自行編制的指令順序完成各中斷服務(wù)是根據(jù)用戶自行編制的指令順序完成各項(xiàng)操作的。項(xiàng)操作的。 l中斷返回中斷返回中斷系統(tǒng)的功能中斷系統(tǒng)的功能一、實(shí)現(xiàn)中斷及返回一、實(shí)現(xiàn)中斷及返回l中

24、斷源發(fā)出中斷請(qǐng)求,中斷源發(fā)出中斷請(qǐng)求,CPU決定是否響應(yīng),決定是否響應(yīng),若響應(yīng)若響應(yīng),則,則保保護(hù)斷點(diǎn)和現(xiàn)場(chǎng)護(hù)斷點(diǎn)和現(xiàn)場(chǎng),轉(zhuǎn)入相應(yīng)中斷服務(wù)程序,轉(zhuǎn)入相應(yīng)中斷服務(wù)程序,中斷服務(wù)結(jié)束中斷服務(wù)結(jié)束后后,恢復(fù)現(xiàn)場(chǎng)和斷點(diǎn)恢復(fù)現(xiàn)場(chǎng)和斷點(diǎn),繼續(xù)執(zhí)行原程序。,繼續(xù)執(zhí)行原程序。CPU執(zhí)行流程執(zhí)行流程中斷服務(wù)程序中斷服務(wù)程序1 1非預(yù)料事件非預(yù)料事件1 1中斷系統(tǒng)的功能中斷系統(tǒng)的功能二、能實(shí)現(xiàn)優(yōu)先權(quán)排隊(duì)二、能實(shí)現(xiàn)優(yōu)先權(quán)排隊(duì)l按各中斷請(qǐng)求的重要程度排列按各中斷請(qǐng)求的重要程度排列CPU響應(yīng)的次序稱響應(yīng)的次序稱為為中斷優(yōu)先級(jí)中斷優(yōu)先級(jí)。l即同時(shí)有多個(gè)中斷請(qǐng)求到來時(shí),即同時(shí)有多個(gè)中斷請(qǐng)求到來時(shí),CPU會(huì)會(huì)首先響應(yīng)首先響應(yīng)

25、和處理優(yōu)先級(jí)別最高的中斷請(qǐng)求和處理優(yōu)先級(jí)別最高的中斷請(qǐng)求。l中斷優(yōu)先級(jí)的實(shí)現(xiàn)可以中斷優(yōu)先級(jí)的實(shí)現(xiàn)可以用軟件或硬件用軟件或硬件設(shè)置設(shè)置3232簡單中斷接口中的軟硬件功能簡單中斷接口中的軟硬件功能SRCPDQ外設(shè)發(fā)出的中外設(shè)發(fā)出的中斷請(qǐng)求信號(hào)斷請(qǐng)求信號(hào)CPU中斷請(qǐng)求中斷請(qǐng)求復(fù)位信號(hào)復(fù)位信號(hào)5V送至總線的中送至總線的中斷請(qǐng)求引腳斷請(qǐng)求引腳CPU中斷請(qǐng)求中斷請(qǐng)求允許信號(hào)允許信號(hào)硬件需完成的功能:硬件需完成的功能:可產(chǎn)生穩(wěn)定的中斷請(qǐng)求信號(hào)可產(chǎn)生穩(wěn)定的中斷請(qǐng)求信號(hào)可屏蔽該中斷請(qǐng)求信號(hào)可屏蔽該中斷請(qǐng)求信號(hào)可清除該中斷請(qǐng)求信號(hào)可清除該中斷請(qǐng)求信號(hào)軟件需完成的功能:軟件需完成的功能:產(chǎn)生中斷請(qǐng)求允許信號(hào)產(chǎn)生中斷

26、請(qǐng)求允許信號(hào)產(chǎn)生中斷請(qǐng)求復(fù)位信號(hào)產(chǎn)生中斷請(qǐng)求復(fù)位信號(hào)裝載中斷服務(wù)子程序裝載中斷服務(wù)子程序?qū)⒂脩糁袛喾?wù)子程序的將用戶中斷服務(wù)子程序的 入口地址放入中斷向量表入口地址放入中斷向量表3333中斷的軟件判優(yōu)法中斷的軟件判優(yōu)法至至CPU的的INTR引腳引腳+由外設(shè)設(shè)置的由外設(shè)設(shè)置的中斷請(qǐng)求寄存器中斷請(qǐng)求寄存器1 2 3 4 5 6 7 8可由程序設(shè)置的可由程序設(shè)置的中斷允許寄存器中斷允許寄存器1 2 3 4 5 6 7 8 設(shè)備優(yōu)先級(jí)由軟設(shè)備優(yōu)先級(jí)由軟件查詢流程確定。件查詢流程確定。3434中斷優(yōu)先權(quán)編碼電路中斷優(yōu)先權(quán)編碼電路 8-3編編碼碼器器A2A1A0B2B1B0比比較較器器AB12中斷請(qǐng)求信號(hào)

27、中斷請(qǐng)求信號(hào)+至至CPU的的INTR引腳引腳優(yōu)先權(quán)失效信號(hào)優(yōu)先權(quán)失效信號(hào)+優(yōu)先優(yōu)先權(quán)寄權(quán)寄存器存器CPU 1 2 3 4 5 6 7 8可由程序設(shè)置的可由程序設(shè)置的中斷允許寄存器中斷允許寄存器由外設(shè)設(shè)置的由外設(shè)設(shè)置的中斷請(qǐng)求寄存器中斷請(qǐng)求寄存器1 2 3 4 5 6 7 8 設(shè)備優(yōu)先級(jí)由編碼設(shè)備優(yōu)先級(jí)由編碼器連接方式確定。器連接方式確定。3535 設(shè)備優(yōu)先級(jí)由鏈?zhǔn)皆O(shè)備優(yōu)先級(jí)由鏈?zhǔn)诫娐愤B接順序確定。電路連接順序確定。菊花鏈?zhǔn)脚抨?duì)電路菊花鏈?zhǔn)脚抨?duì)電路B1 B1 B2B2H1 H1 H2 H2 G1 G1 G2 G2 CPU的中斷響的中斷響應(yīng)信號(hào)應(yīng)信號(hào)INTA到設(shè)備到設(shè)備1的中斷的中斷響應(yīng)信號(hào)輸出響

28、應(yīng)信號(hào)輸出到到設(shè)備設(shè)備2的中斷的中斷響應(yīng)信號(hào)輸出響應(yīng)信號(hào)輸出到到設(shè)備設(shè)備7的中斷的中斷響應(yīng)信號(hào)輸出響應(yīng)信號(hào)輸出到到設(shè)備設(shè)備8的中斷的中斷響應(yīng)信號(hào)輸出響應(yīng)信號(hào)輸出1 2 3 4 5 6 78可由程序設(shè)置的可由程序設(shè)置的中斷允許寄存器中斷允許寄存器由外設(shè)設(shè)置的由外設(shè)設(shè)置的中斷請(qǐng)求寄存器中斷請(qǐng)求寄存器至至CPU的的INTR引腳引腳+1 2 3 4 5 6 78A1 A1 A2 A2 3636 端口 譯碼 三態(tài) 緩沖器 輸入 鎖存器 中斷 請(qǐng)求 Q D R 中斷屏蔽 觸發(fā)器 Q1 輸入設(shè)備 數(shù)據(jù)總線 地址總線 數(shù)據(jù) +5VRD INTA INT 選通信號(hào) 接口的程序中斷方式接口的程序中斷方式程序中斷與

29、子程序調(diào)用的區(qū)別程序中斷與子程序調(diào)用的區(qū)別 l子程序的執(zhí)行是程序員事先安排好的(由調(diào)用子程序的執(zhí)行是程序員事先安排好的(由調(diào)用子程序的指令轉(zhuǎn)入);中斷服務(wù)子程序的執(zhí)行子程序的指令轉(zhuǎn)入);中斷服務(wù)子程序的執(zhí)行一般由隨機(jī)的中斷事件引發(fā)。一般由隨機(jī)的中斷事件引發(fā)。l子程序的執(zhí)行受到主程序或上層子程序的控制子程序的執(zhí)行受到主程序或上層子程序的控制;中斷服務(wù)子程序一般與被中斷的現(xiàn)行程序無;中斷服務(wù)子程序一般與被中斷的現(xiàn)行程序無關(guān)。關(guān)。l不存在同時(shí)調(diào)用多個(gè)子程序的情況,因此子程不存在同時(shí)調(diào)用多個(gè)子程序的情況,因此子程序不需要進(jìn)行優(yōu)先級(jí)排隊(duì);而不同中斷源則可序不需要進(jìn)行優(yōu)先級(jí)排隊(duì);而不同中斷源則可能同時(shí)向能

30、同時(shí)向CPU提出服務(wù)請(qǐng)求。提出服務(wù)請(qǐng)求。程序查詢和程序中斷程序查詢和程序中斷方式方式的特點(diǎn)的特點(diǎn)l程序查詢傳送方式的特點(diǎn)程序查詢傳送方式的特點(diǎn)電路簡單電路簡單不能實(shí)時(shí)響應(yīng)不能實(shí)時(shí)響應(yīng)適用于簡單的無實(shí)時(shí)性要求的場(chǎng)合適用于簡單的無實(shí)時(shí)性要求的場(chǎng)合需要需要CPU參與參與l程序中斷傳送方式的特點(diǎn)程序中斷傳送方式的特點(diǎn)實(shí)時(shí)響應(yīng),需要中斷控制電路實(shí)時(shí)響應(yīng),需要中斷控制電路適用于傳輸數(shù)據(jù)量較少,而要求實(shí)時(shí)性較高的場(chǎng)合適用于傳輸數(shù)據(jù)量較少,而要求實(shí)時(shí)性較高的場(chǎng)合需要需要CPU參與參與6.3.3 直接存儲(chǔ)器訪問(直接存儲(chǔ)器訪問(DMA)方式)方式l程序查詢傳送方式的特點(diǎn)程序查詢傳送方式的特點(diǎn)電路簡單電路簡單不能

31、實(shí)時(shí)響應(yīng)不能實(shí)時(shí)響應(yīng)適用于簡單的無實(shí)時(shí)性要求的場(chǎng)合適用于簡單的無實(shí)時(shí)性要求的場(chǎng)合需要需要CPU參與參與l程序中斷傳送方式的特點(diǎn)程序中斷傳送方式的特點(diǎn)實(shí)時(shí)響應(yīng),需要中斷控制電路實(shí)時(shí)響應(yīng),需要中斷控制電路適用于傳輸數(shù)據(jù)量較少,而要求實(shí)時(shí)性較高的場(chǎng)合適用于傳輸數(shù)據(jù)量較少,而要求實(shí)時(shí)性較高的場(chǎng)合需要需要CPU參與參與lDMA方式方式解決一次性傳輸大量數(shù)據(jù)解決一次性傳輸大量數(shù)據(jù)一般用于存儲(chǔ)器與一般用于存儲(chǔ)器與I/O之間,之間,CPU不參與傳輸而運(yùn)行其他程不參與傳輸而運(yùn)行其他程序序39394040數(shù)據(jù)緩數(shù)據(jù)緩沖器沖器地址緩地址緩沖器沖器數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線時(shí)序控時(shí)序控制邏輯制邏輯IOR MEM

32、RMEMW片選片選IOWCLK計(jì)數(shù)指示計(jì)數(shù)指示總線請(qǐng)求總線請(qǐng)求復(fù)位復(fù)位總線仲總線仲裁邏輯裁邏輯DMA控控制邏輯制邏輯地址寄地址寄存器存器計(jì)數(shù)寄計(jì)數(shù)寄存器存器狀態(tài)寄狀態(tài)寄存器存器總線響應(yīng)總線響應(yīng)DMA響應(yīng)響應(yīng)DMA應(yīng)答應(yīng)答DMA控制器結(jié)構(gòu)控制器結(jié)構(gòu)外設(shè)申請(qǐng)外設(shè)申請(qǐng)DMA操作操作CPU響響應(yīng)應(yīng)DMADMAC初始化初始化DMAC傳輸傳輸DMAC具備的功能具備的功能l向向CPU發(fā)出總線請(qǐng)求信號(hào)發(fā)出總線請(qǐng)求信號(hào)HOLD。l當(dāng)當(dāng)CPU允許出讓總線控制權(quán)時(shí),能夠接收允許出讓總線控制權(quán)時(shí),能夠接收CPU發(fā)出的發(fā)出的總線應(yīng)答信號(hào)總線應(yīng)答信號(hào)HLDA,并接管總線進(jìn)入,并接管總線進(jìn)入DMA方式。方式。l具有尋址功能

33、,對(duì)存儲(chǔ)器及具有尋址功能,對(duì)存儲(chǔ)器及I/O尋址并修改地址指針。尋址并修改地址指針。l具有控制邏輯,能發(fā)出讀具有控制邏輯,能發(fā)出讀/寫控制信號(hào)。寫控制信號(hào)。l決定傳輸?shù)淖止?jié)數(shù),并判斷決定傳輸?shù)淖止?jié)數(shù),并判斷DMA是否結(jié)束。是否結(jié)束。l發(fā)出發(fā)出DMA結(jié)束信號(hào),交出總線權(quán),使結(jié)束信號(hào),交出總線權(quán),使CPU恢復(fù)正常工恢復(fù)正常工作狀態(tài)作狀態(tài)4141DMA和中斷和中斷l(xiāng)DMA方式主要是直接依靠硬件實(shí)現(xiàn)單純的數(shù)據(jù)傳送方式主要是直接依靠硬件實(shí)現(xiàn)單純的數(shù)據(jù)傳送,不運(yùn)行程序,不能處理較復(fù)雜的事件,不能完全,不運(yùn)行程序,不能處理較復(fù)雜的事件,不能完全取代中斷方式取代中斷方式l當(dāng)某事件處理不是單純的數(shù)據(jù)傳送時(shí),還須采

34、用中當(dāng)某事件處理不是單純的數(shù)據(jù)傳送時(shí),還須采用中斷方式斷方式l當(dāng)當(dāng)DMA方式傳送完一批數(shù)據(jù)后,常常采用中斷方式方式傳送完一批數(shù)據(jù)后,常常采用中斷方式通知通知CPU進(jìn)行結(jié)束處理進(jìn)行結(jié)束處理4343存儲(chǔ)器存儲(chǔ)器CPUDMACI/O地址總線地址總線AB總線請(qǐng)求總線請(qǐng)求總線響應(yīng)總線響應(yīng)DMA請(qǐng)求請(qǐng)求DMA響應(yīng)響應(yīng)數(shù)據(jù)總線數(shù)據(jù)總線DB控制總線控制總線CBDMA傳送過程傳送過程I/ODMA請(qǐng)求請(qǐng)求DMAC總線請(qǐng)求總線請(qǐng)求CPU總線響應(yīng)總線響應(yīng)存儲(chǔ)器存儲(chǔ)器CPUDMACI/O地址總線地址總線AB數(shù)據(jù)總線數(shù)據(jù)總線DB控制總線控制總線CBDMA響應(yīng)響應(yīng)n可在可在I/O設(shè)備和存儲(chǔ)器之間直接傳送數(shù)據(jù)。設(shè)備和存儲(chǔ)器之

35、間直接傳送數(shù)據(jù)。n傳送時(shí),源和目的均直接由硬件指定。傳送時(shí),源和目的均直接由硬件指定。n傳輸?shù)臄?shù)據(jù)塊長度需要指定,計(jì)數(shù)由硬件自動(dòng)進(jìn)行。傳輸?shù)臄?shù)據(jù)塊長度需要指定,計(jì)數(shù)由硬件自動(dòng)進(jìn)行。n在一批數(shù)據(jù)傳輸完成后,一般通過中斷方式通知在一批數(shù)據(jù)傳輸完成后,一般通過中斷方式通知CPU進(jìn)行后續(xù)處理。進(jìn)行后續(xù)處理。nCPU和和I/O設(shè)備能在一定程度上并行工作,效率高。設(shè)備能在一定程度上并行工作,效率高。n一般用于高速批量數(shù)據(jù)的傳輸一般用于高速批量數(shù)據(jù)的傳輸 44446.4 并行接口并行接口l無握手并行接口無握手并行接口4545 按鍵接口按鍵接口(1)(1)l線性鍵盤線性鍵盤每一個(gè)按鍵需要占用每一個(gè)按鍵需要占用

36、I/O端口的一根口線端口的一根口線并并行行端端口口VCC4646 按鍵接口按鍵接口(2)(2)l矩陣鍵盤矩陣鍵盤所有按鍵按行、列排列,較節(jié)約所有按鍵按行、列排列,較節(jié)約I/O口線口線非編碼鍵盤:非編碼鍵盤:主主CPU處理按鍵的操作,降低了主處理按鍵的操作,降低了主CPU的效率的效率編碼鍵盤編碼鍵盤:使用專用的:使用專用的CPU(單片機(jī))處理按鍵操作,緩減主(單片機(jī))處理按鍵操作,緩減主CPU的的負(fù)擔(dān)負(fù)擔(dān) 8 位并行輸入端口 8 位并行輸出端口 +5V 10k 10k 10k 10k 第 0 行 第 1 行 第 2 行 第 8 行 第 0 列 第 1 列 第 2 列 第 3 列 第 8 列 第一

37、步:判斷是否有鍵按下第一步:判斷是否有鍵按下 輸出端口的各位都為低電平,即各列都為輸出端口的各位都為低電平,即各列都為0 讀取輸入端口數(shù)據(jù),如果輸入不等于讀取輸入端口數(shù)據(jù),如果輸入不等于FFH,則有鍵被按下則有鍵被按下 第二步:確定按鍵號(hào)第二步:確定按鍵號(hào)確定按鍵的列數(shù):令輸出端口的每一列依次為確定按鍵的列數(shù):令輸出端口的每一列依次為低電平低電平,其,其它列為高電平;讀取它列為高電平;讀取該列對(duì)應(yīng)該列對(duì)應(yīng)的輸入端口的輸入端口值,直到有行線值,直到有行線處于低電平處于低電平 確定按鍵的行數(shù):低電平確定按鍵的行數(shù):低電平0 0對(duì)應(yīng)的那一位。對(duì)應(yīng)的那一位。行掃描法行掃描法4848行掃描法程序流程行掃

38、描法程序流程 是否有一行接地?是否有一行接地?鍵盤鍵盤命令命令處理處理是是進(jìn)位位為進(jìn)位位為0?否否掃描值循環(huán)左移一位,掃描值循環(huán)左移一位,使下一列為低電平使下一列為低電平鍵號(hào)鍵號(hào) +8,計(jì)數(shù)值,計(jì)數(shù)值 -1否否讀進(jìn)行值讀進(jìn)行值行值循環(huán)右移一位行值循環(huán)右移一位是是結(jié)束結(jié)束是是全部掃描完?全部掃描完?否否設(shè)鍵號(hào)設(shè)鍵號(hào) =0,計(jì)數(shù)器,計(jì)數(shù)器 =列數(shù)列數(shù)行掃描初值行掃描初值 =11111110B輸出掃描值,使某一行為低電平輸出掃描值,使某一行為低電平鍵值鍵值+1+14949數(shù)碼管顯示數(shù)碼管顯示共陰結(jié)構(gòu)共陰結(jié)構(gòu):輸入控制:輸入控制端為高電平時(shí),對(duì)應(yīng)端為高電平時(shí),對(duì)應(yīng)的的LED亮亮共陽結(jié)構(gòu)共陽結(jié)構(gòu):輸入控

39、制:輸入控制端為低電平時(shí),對(duì)應(yīng)端為低電平時(shí),對(duì)應(yīng)的的LED亮亮多位數(shù)碼管組成的多位數(shù)碼管組成的數(shù)碼顯示屏可以有數(shù)碼顯示屏可以有動(dòng)態(tài)和靜態(tài)動(dòng)態(tài)和靜態(tài)兩種顯兩種顯示方式示方式5050數(shù)碼屏顯示方式數(shù)碼屏顯示方式l靜態(tài)顯示靜態(tài)顯示:顯示位數(shù)少時(shí)使用:顯示位數(shù)少時(shí)使用各各位位(8段)輸入控制端分別與接口電路的輸出端相連;段)輸入控制端分別與接口電路的輸出端相連;各各段段(LED)恒定地導(dǎo)通或截止;)恒定地導(dǎo)通或截止;占用占用I/O口:口:8*Nl動(dòng)態(tài)顯示動(dòng)態(tài)顯示:顯示位數(shù)多時(shí)使用:顯示位數(shù)多時(shí)使用各位共享輸入控制端;各位共享輸入控制端;需同時(shí)進(jìn)行需同時(shí)進(jìn)行位選位選(選中被點(diǎn)亮的位)和(選中被點(diǎn)亮的位)

40、和段選段選(輸入控制(輸入控制端確定各端確定各LED的發(fā)光情況)的發(fā)光情況)各位輪流顯示一遍的總時(shí)間不能過長各位輪流顯示一遍的總時(shí)間不能過長(不大于不大于20ms占用占用I/O口口:8N515168數(shù)碼顯示屏動(dòng)態(tài)顯示接口數(shù)碼顯示屏動(dòng)態(tài)顯示接口5252并行輸出端口(帶鎖存功能)并行輸出端口(帶鎖存功能)D0D7D7D6D5D4D3D2D1D0D5D4D3D2D1D0位0位1位2位3位4位5D0D7段選段選位選位選圖 6 個(gè)數(shù)碼管的顯示接口電路6.4.2 帶握手信號(hào)的并行接口帶握手信號(hào)的并行接口l輸入設(shè)備發(fā)出的選通信號(hào)輸入設(shè)備發(fā)出的選通信號(hào)lCPU讀接口中的狀態(tài)緩沖寄存器,以確定外設(shè)是否準(zhǔn)備好讀接

41、口中的狀態(tài)緩沖寄存器,以確定外設(shè)是否準(zhǔn)備好l若若READY=1,說明外設(shè)已將數(shù)據(jù)送到接口,說明外設(shè)已將數(shù)據(jù)送到接口,CPU讀數(shù)據(jù)端口,同時(shí)數(shù)據(jù)讀數(shù)據(jù)端口,同時(shí)數(shù)據(jù)端口的讀信號(hào)將接口中的端口的讀信號(hào)將接口中的D觸發(fā)器清零,完成本次數(shù)據(jù)傳送。觸發(fā)器清零,完成本次數(shù)據(jù)傳送。53536.4.2 帶握手信號(hào)的并行接口帶握手信號(hào)的并行接口l若若BUSY=0,CPU向數(shù)據(jù)端口寫入需發(fā)送的數(shù)據(jù),同時(shí)將接口中的向數(shù)據(jù)端口寫入需發(fā)送的數(shù)據(jù),同時(shí)將接口中的D觸觸發(fā)器置發(fā)器置1,即令,即令BUSY=1l輸出設(shè)備從接口的數(shù)據(jù)鎖存器中讀出數(shù)據(jù);輸出設(shè)備從接口的數(shù)據(jù)鎖存器中讀出數(shù)據(jù);l輸出設(shè)備發(fā)出響應(yīng)信號(hào)輸出設(shè)備發(fā)出響應(yīng)信

42、號(hào)ACK將接口中的將接口中的D觸發(fā)器清零,即令觸發(fā)器清零,即令BUSY=0,完成本次數(shù)據(jù)傳送。完成本次數(shù)據(jù)傳送。5454nCPU讀接口讀接口中的狀態(tài)緩沖中的狀態(tài)緩沖寄存器,并檢寄存器,并檢查狀態(tài)信息以查狀態(tài)信息以確定外設(shè)是否確定外設(shè)是否可以接收數(shù)據(jù);可以接收數(shù)據(jù);雙向傳輸接口雙向傳輸接口5555 D0D7 DIR AEN IOR A0A9 IOW IRQ 復(fù)位 寫數(shù)據(jù) 讀數(shù)據(jù) 寫控制 讀控制 讀狀態(tài) 數(shù)據(jù)線 控制線 狀態(tài)線 5 4 8 4 輸出數(shù)據(jù) 寄存器 數(shù)據(jù)收發(fā)器 命令譯碼器 輸入數(shù)據(jù) 緩沖器 控制寄存器 狀態(tài)寄存器B 狀態(tài)寄存器A 集電極驅(qū)動(dòng)器 打 印 機(jī) 逐次比較;逐次比較; 8路輸入

43、;路輸入;8位輸出(分辨率);位輸出(分辨率);8位精度;時(shí)鐘位精度;時(shí)鐘640kHz時(shí)時(shí)轉(zhuǎn)換時(shí)間轉(zhuǎn)換時(shí)間100s; 通道選擇地址及數(shù)據(jù)均已內(nèi)部鎖存,可直接與微機(jī)接口;通道選擇地址及數(shù)據(jù)均已內(nèi)部鎖存,可直接與微機(jī)接口;ADC 0809的內(nèi)部結(jié)構(gòu)及基本功能的內(nèi)部結(jié)構(gòu)及基本功能八位三八位三態(tài)輸出態(tài)輸出鎖存鎖存通道地通道地址鎖存址鎖存與譯碼與譯碼控制控制八路八路模擬模擬通道通道選擇選擇開關(guān)開關(guān)比較比較器器逐次逼逐次逼近寄存近寄存器器SARD/AIN0IN1IN7AADCALEREF+REF-EOCD07AADAAADBOESTART轉(zhuǎn)換結(jié)束信號(hào)(高電平有效)轉(zhuǎn)換結(jié)束信號(hào)(高電平有效) A0 地 址

44、譯 碼 器 A1 A2 IO W A3 A0 IO R 8086 D7 D0 D7 D0 E O C A D C 0809 O E STA RT A LE A D DC A D DB A D DA 9 地址譯 碼器 +5V D7D0 IOR A0A9 IOW IRQX D7D0 VCC REF+ IN0 CLOCK OE ADC0809 START ADDA ADDB ADDC ALE REF- GND EOC 1. 8路輪流采樣;路輪流采樣;2.ALE、START、OE信號(hào)信號(hào)3. EOC作為狀態(tài)作為狀態(tài)輸入,供輸入,供CPU查詢查詢使用;使用;1. 只有只有1路采樣;路采樣;2.ALE、S

45、TART、OE與地址譯碼有與地址譯碼有關(guān);關(guān);3. EOC為中斷請(qǐng)為中斷請(qǐng)求信號(hào),求信號(hào),CPU在在中斷中斷服務(wù)程序服務(wù)程序中讀結(jié)果數(shù)據(jù);中讀結(jié)果數(shù)據(jù);CSCSCPUCPU查詢方式查詢方式中斷方式中斷方式6.4.3可編程并行接口可編程并行接口intel-8255l允許用戶通過寫入不同的允許用戶通過寫入不同的控制字控制字改變其工作方式改變其工作方式58585959工作方式控制字工作方式控制字1D7D6D5D4D3D2D1D00 輸出輸出1 輸入輸入PC3PC0B口口0 輸出輸出1 1 輸入輸入0 方式方式01 方式方式1B口工作方式口工作方式PC7PC40 輸出輸出1 輸入輸入A口口0 輸出輸出

46、1 輸入輸入特征位,特征位,D7=1表示是方式控制字表示是方式控制字A口工作方式口工作方式00 方式方式001 方式方式11x 方式方式260600D7D6D5D4D3D2D1D00 復(fù)位復(fù)位1 置位置位設(shè)置內(nèi)容設(shè)置內(nèi)容特征位,特征位,D7=0表示是表示是C口按位口按位置位置位/復(fù)位控制字復(fù)位控制字無意義無意義選擇操作位選擇操作位C口置口置/復(fù)位控制字復(fù)位控制字D3 D2 D1C端口位端口位0 0 0PC00 0 1PC10 1 0PC20 1 1PC31 0 0PC41 0 1PC51 1 0PC61 1 1PC7方式方式1聯(lián)絡(luò)信號(hào)聯(lián)絡(luò)信號(hào)lA、B端口均可工作于方式端口均可工作于方式1,C口

47、線需要作為口線需要作為A/B的聯(lián)絡(luò)信的聯(lián)絡(luò)信號(hào)號(hào)l未使用的未使用的C口線,可作為普通口線,可作為普通I/O使用使用6161方式方式1帶聯(lián)絡(luò)信號(hào)的并行單向輸入或輸出帶聯(lián)絡(luò)信號(hào)的并行單向輸入或輸出PA7PA0PC4PC5PC3INTEA與門與門IBFASTBAINTRARDD7D0A口方式口方式1輸入輸入B口方式口方式1輸入輸入IBFBSTBBINTRBPB7PB0PC2PC1PC0INTEB與門與門RDD7D0一、輸入接口信號(hào)的定義一、輸入接口信號(hào)的定義1011/01/01/01/0X控制字控制字方式方式1輸入引腳定義輸入引腳定義lSTB和IBF信號(hào)用于與外設(shè)進(jìn)行聯(lián)絡(luò),INTR用于向CPU發(fā)出中

48、斷請(qǐng)求。lSTB:選通輸入。信號(hào)有效時(shí),外設(shè)使通道A或B上的數(shù)據(jù)選通并進(jìn)入對(duì)于的輸入鎖存器中l(wèi)IBF:輸入緩沖器滿。由PC5(通道A)或PC1(通道B)發(fā)出,由STB信號(hào)自動(dòng)置位,表示輸入緩沖器已經(jīng)有新數(shù)據(jù)可供CPU讀??;當(dāng)CPU讀取數(shù)據(jù)后(RD信號(hào))對(duì)其復(fù)位。查詢方式下,CPU即通過讀取IBF值判斷是否有輸入數(shù)據(jù)。lINTR:是中斷請(qǐng)求信號(hào),由IBF和INTE信號(hào)共同決定能否產(chǎn)生中斷請(qǐng)求;當(dāng)CPU讀取數(shù)據(jù)后(RD信號(hào))對(duì)其復(fù)位。lINTE:中斷允許信號(hào)。對(duì)PC4、PC2的置位/復(fù)位操作是用來控制通道A、B的INTE信號(hào)的,完全是對(duì)8255的內(nèi)部寄存器的操作,而與PC4、PC2對(duì)應(yīng)的外部引腳上

49、電平的高低、輸入/輸出方向無關(guān)。 PB7PB0PA7PA0STBIBFINTRRD 中斷服務(wù)程序中中斷服務(wù)程序中CPU從從A口或口或B口口讀讀取外設(shè)輸入的取外設(shè)輸入的數(shù)據(jù)數(shù)據(jù)8255的工作方式的工作方式1(中斷控制)(中斷控制)輸入輸入時(shí)序時(shí)序A口方式口方式1輸出時(shí)相輸出時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)應(yīng)的聯(lián)絡(luò)信號(hào)B口方式口方式1輸出時(shí)相輸出時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)應(yīng)的聯(lián)絡(luò)信號(hào)PA7PA0PC7PC6PC3INTEAINTEA與門與門ACKAOBFAINTRAWRD7D0PB7PB0PC1PC2PC0INTEBINTEB與門與門ACKBOBFBINTRBWRD7D0二、輸出接口信號(hào)定義二、輸出接口信號(hào)定義1. OBF

50、為低通知外設(shè)讀取數(shù)據(jù),為低通知外設(shè)讀取數(shù)據(jù),ACK通知通知8255數(shù)據(jù)已經(jīng)讀走,且將數(shù)據(jù)已經(jīng)讀走,且將OBF置位。置位。2. A口和口和B口可以分別工作在輸入或輸出方式,相互沒有關(guān)聯(lián)口可以分別工作在輸入或輸出方式,相互沒有關(guān)聯(lián)方式方式1輸出引腳定義輸出引腳定義lOBF和和ACK信號(hào)用于與外設(shè)進(jìn)行聯(lián)絡(luò),信號(hào)用于與外設(shè)進(jìn)行聯(lián)絡(luò),INTR用于向用于向CPU發(fā)出中斷請(qǐng)發(fā)出中斷請(qǐng)求。求。lOBF:輸出緩沖器滿。由:輸出緩沖器滿。由8255通過通過PC7(通道(通道A)或)或PC1(通道(通道B)送出給外設(shè),通知外設(shè)讀取數(shù)據(jù)。查詢方式下,送出給外設(shè),通知外設(shè)讀取數(shù)據(jù)。查詢方式下,CPU即通過讀取即通過讀取

51、OBF值判斷是否可以往外設(shè)寫數(shù)據(jù)。值判斷是否可以往外設(shè)寫數(shù)據(jù)。lACK:響應(yīng)輸入。該信號(hào)由外設(shè)送入:響應(yīng)輸入。該信號(hào)由外設(shè)送入PC6(通道(通道A)或)或PC2(通道(通道B)通知)通知8255數(shù)據(jù)已經(jīng)讀走。該信號(hào)使數(shù)據(jù)已經(jīng)讀走。該信號(hào)使OBF置位。置位。lINTR:是中斷請(qǐng)求信號(hào),表明外設(shè)已經(jīng)讀走數(shù)據(jù),:是中斷請(qǐng)求信號(hào),表明外設(shè)已經(jīng)讀走數(shù)據(jù),CPU可以繼續(xù)可以繼續(xù)輸出數(shù)據(jù)。當(dāng)輸出數(shù)據(jù)。當(dāng)CPU向接口寫數(shù)據(jù)后(向接口寫數(shù)據(jù)后(WR信號(hào))對(duì)其復(fù)位。由信號(hào))對(duì)其復(fù)位。由OBF和和INTE信號(hào)共同決定能否產(chǎn)生中斷請(qǐng)求。信號(hào)共同決定能否產(chǎn)生中斷請(qǐng)求。lINTE:中斷允許信號(hào)。與通道:中斷允許信號(hào)。與通

52、道A、B方式方式1輸入時(shí)相同輸入時(shí)相同。三、數(shù)據(jù)傳輸特點(diǎn)三、數(shù)據(jù)傳輸特點(diǎn)1.最多可提供兩個(gè)最多可提供兩個(gè)8位端口位端口2.所有端口均為所有端口均為單向單向傳輸(即只能做輸入或輸出)傳輸(即只能做輸入或輸出)3.可實(shí)現(xiàn)固定聯(lián)絡(luò)信號(hào)(可實(shí)現(xiàn)固定聯(lián)絡(luò)信號(hào)(C口)的口)的查詢傳送或中斷傳送查詢傳送或中斷傳送,未定,未定義的義的C口信號(hào)線可自行定義使用??谛盘?hào)線可自行定義使用。4. A、B通道和輸入、輸出可以組合成四種使用方式。通道和輸入、輸出可以組合成四種使用方式。CPU8255打印機(jī)并行接口打印機(jī)并行接口PA07PC7PC6D07STBDBPC3ACKOBFINTRPC0送往外設(shè)的數(shù)據(jù)寫入相應(yīng)端口送

53、往外設(shè)的數(shù)據(jù)寫入相應(yīng)端口WROBFINTRACK當(dāng)當(dāng)INTE=1時(shí)時(shí) PB7PB0PA7PA0中斷服務(wù)程序中中斷服務(wù)程序中CPU向向A口或口或B口口寫入寫入輸出給外設(shè)的輸出給外設(shè)的數(shù)據(jù)數(shù)據(jù)8255的工作方式的工作方式1中斷方式中斷方式輸出輸出時(shí)序時(shí)序方式方式2聯(lián)絡(luò)信號(hào)聯(lián)絡(luò)信號(hào)l只有只有A端口可工作于方式端口可工作于方式2,C口線需要作為口線需要作為其聯(lián)絡(luò)信號(hào)其聯(lián)絡(luò)信號(hào)lA/B工作方式可獨(dú)立設(shè)置,不相關(guān)聯(lián)工作方式可獨(dú)立設(shè)置,不相關(guān)聯(lián)69698255的外部特性及端口地址的確定的外部特性及端口地址的確定PA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7P

54、C0PC1PC2PC3PC4PC5PC6PC7 D0D1D2D3D4D5D6D734 433 332 231 130 4 029 3 92 8 3 827 3 7 18199 208 216 225 2 336 2 435 2514151617132 6 1 27 11108255面面向向CPU面面向向外外設(shè)設(shè)操操 作作CSA0A100011011讀讀/寫端口寫端口A讀讀/寫端口寫端口B讀讀/寫端口寫端口C寫控制寄存器寫控制寄存器數(shù)據(jù)總線三態(tài)數(shù)據(jù)總線三態(tài)1XX0000A0A1/CS/RD/WRRSTVCCGND注意:注意:Intel8255的兩個(gè)控制字共用同一個(gè)地址。的兩個(gè)控制字共用同一個(gè)地址。如何區(qū)分是哪一個(gè)控制字?如何區(qū)分是哪一個(gè)控制字?(控制位最高位控制位最高位)D7D6D5D4D3D2D1D0控制控制字字例:某例:某8255A占用端口地址范圍占用端口地址范圍0F00F3H 1) 確定各端口地址。確定各端口地址。 2) 編程設(shè)置編程設(shè)置8255A:A口方式口方式0輸入,輸入,B口方式口方式0輸出,輸出, PC7PC4輸出,輸出,PC3PC0輸入輸入結(jié)論:結(jié)論:A口地址口地址0F0H,B口地口地 址址0F1H,C口地址口地址

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論