資源描述:
《外部中斷及中斷請求的撤除》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、5.1I/O概述5.2輸入/輸出傳送方式5.3MCS-51單片機(jī)的中斷系統(tǒng)5.4定時(shí)/計(jì)數(shù)器5.5串行通信接口第5章輸入/輸出、中斷、定時(shí)與串行通信5.1I/O概述5.1.1I/O接口電路的作用一個(gè)計(jì)算機(jī)系統(tǒng)的組成,除了CPU、存儲(chǔ)器外,還必須有外部設(shè)備。計(jì)算機(jī)通過輸入/輸出設(shè)備和外界進(jìn)行通信。計(jì)算機(jī)所用的數(shù)據(jù)以及現(xiàn)場采集的各種信息都要通過輸入設(shè)備送到計(jì)算機(jī);而計(jì)算的結(jié)果和計(jì)算機(jī)產(chǎn)生的各種控制信號(hào)又需通過輸出設(shè)備輸出到外部設(shè)備。計(jì)算機(jī)的I/O操作,即CPU和外部設(shè)備之間的數(shù)據(jù)傳送卻十分復(fù)雜。主要表現(xiàn)在以下幾個(gè)方面:(1)外部設(shè)備的工作速度與計(jì)算機(jī)相比要低得多
2、。(2)外部設(shè)備的種類繁多,有機(jī)械式、機(jī)電式及電子式等等。(3)外部設(shè)備的數(shù)據(jù)信號(hào)是多種多樣的,既有電壓信號(hào),也有電流信號(hào);既有數(shù)字量,還有模擬量。(4)外部設(shè)備的數(shù)據(jù)傳送有近距離的,也有遠(yuǎn)距離的;有的使用并行數(shù)據(jù)傳送,而有的則使用串行傳送數(shù)據(jù)。具體說來,接口電路主要有以下幾項(xiàng)功能:(1)速度協(xié)調(diào)。(2)數(shù)據(jù)鎖存。(3)三態(tài)緩沖。(4)數(shù)據(jù)轉(zhuǎn)換。5.1.2接口與端口“接口”一詞是從英文interface翻譯過來的,具有界面、相互聯(lián)系等含義。接口這個(gè)術(shù)語在計(jì)算機(jī)領(lǐng)域中應(yīng)用十分廣泛,本章所講述的接口則特指計(jì)算機(jī)與外設(shè)之間在數(shù)據(jù)傳送方面的聯(lián)系,其功能主要是通過電路實(shí)
3、現(xiàn)的,因此稱之為接口電路,簡稱接口。5.1.3I/O的編址方式在計(jì)算機(jī)中,凡需進(jìn)行讀寫操作的設(shè)備都存在著編址問題。具體說來在計(jì)算機(jī)中有兩種需要編址的器件:一種是存儲(chǔ)器,另一種就是接口電路。存儲(chǔ)器是對存儲(chǔ)單元進(jìn)行編址,而接口電路則是對其中的端口進(jìn)行編址。對端口編址是為I/O操作而進(jìn)行的,因此也稱為I/O編址。常用的I/O編址有兩種方式:獨(dú)立編址方式和統(tǒng)一編址方式。1.獨(dú)立編址方式2.統(tǒng)一編址方式5.2輸入/輸出傳送方式5.2.1無條件傳送方式無條件傳送也稱為同步程序傳送,類似于CPU和存儲(chǔ)器之間的數(shù)據(jù)傳送。只有那些一直為數(shù)據(jù)I/O傳送作好準(zhǔn)備的外部設(shè)備,才能使用
4、無條件傳送方式。這種傳送方式不需要測試外部設(shè)備的狀態(tài),可以根據(jù)需要隨時(shí)進(jìn)行數(shù)據(jù)傳送操作。無條件傳送方式適用于以下兩類外部設(shè)備的輸入輸出:http://www.jfsgy.com(1)外設(shè)的工作速度非常快,足以和CPU同步工作。(2)具有常駐的或變化緩慢的數(shù)據(jù)信號(hào)的外設(shè)。5.2.2查詢傳送方式查詢傳送又稱為條件傳送,即數(shù)據(jù)的傳送是有條件的。在輸入/輸出之前,先要檢測外設(shè)的狀態(tài),以了解外設(shè)是否已為數(shù)據(jù)輸入輸出作好了準(zhǔn)備,只有在確認(rèn)外設(shè)已“準(zhǔn)備好”的情況下,CPU才能執(zhí)行數(shù)據(jù)輸入/輸出操作。通常把通過程序?qū)ν庠O(shè)狀態(tài)的檢測稱之為“查詢”,所以這種有條件的傳送方式又叫做
5、程序查詢方式。查詢的流程圖如圖5―1所示。http://www.jfsgy.com圖5―1查詢方式流程圖5.2.3中斷傳送方式由于查詢傳送方式為CPU主動(dòng)要求傳送數(shù)據(jù),而它又不能控制外設(shè)的工作速度,因此只能用等待的方式來解決配合的問題。中斷方式則是在外設(shè)為數(shù)據(jù)傳送作好準(zhǔn)備之后,就向CPU發(fā)出中斷請求信號(hào)(相當(dāng)于通知CPU),CPU接收到中斷請求信號(hào)之后立即作出響應(yīng),暫停正在執(zhí)行的原程序(主程序),而轉(zhuǎn)去為外設(shè)的數(shù)據(jù)輸入輸出服務(wù),待服務(wù)完之后,程序返回,CPU再繼續(xù)執(zhí)行被中斷的原程序。由于CPU的工作速度很快,傳送1次數(shù)據(jù)(包括轉(zhuǎn)入中斷和退出中斷)所需的時(shí)間很
6、短。對外設(shè)來講,似乎是對CPU發(fā)出數(shù)據(jù)傳送請求的瞬間,CPU就實(shí)現(xiàn)了;對主程序來講,雖然中斷了1個(gè)瞬間,但由于時(shí)間很短,也不會(huì)有什么影響。5.3MCS-51單片機(jī)的中斷系統(tǒng)5.3.1中斷的概念計(jì)算機(jī)暫時(shí)中止正在執(zhí)行的主程序,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,并在中斷服務(wù)程序執(zhí)行完了之后能自動(dòng)回到原主程序處繼續(xù)執(zhí)行,這個(gè)過程叫做“中斷”。中斷需要解決兩個(gè)主要問題:一是如何從主程序轉(zhuǎn)到中斷服務(wù)程序;二是如何從中斷服務(wù)程序返回主程序。大體說來,采用中斷系統(tǒng)改善了計(jì)算機(jī)的性能,主要表現(xiàn)在以下幾個(gè)方面:(1)有效地解決了快速CPU與慢速外設(shè)之間的矛盾,可使CPU與外設(shè)并行工作,大大
7、提高了工作效率。(2)可以及時(shí)處理控制系統(tǒng)中許多隨機(jī)產(chǎn)生的參數(shù)與信息,即計(jì)算機(jī)具有實(shí)時(shí)處理的能力,從而提高了控制系統(tǒng)的性能。(3)使系統(tǒng)具備了處理故障的能力,提高了系統(tǒng)自身的可靠性。5.3.2中斷源所謂中斷源就是引起中斷的事件,亦即是什么部件要求中斷。對于各種計(jì)算機(jī)來說,其中斷源的允許數(shù)目是不一樣的,例如Z80允許128個(gè)中斷源(不包括非屏蔽中斷),而8086/8088則允許256個(gè)中斷源。MCS-51單片機(jī)相對來說較為簡單,只提供了5個(gè)中斷源:2個(gè)外部中斷請求和個(gè)片內(nèi)定時(shí)器/計(jì)數(shù)器T0和T1的溢出中斷請求TF0和TF1及串行口中斷請求TI或RI(合為一個(gè)中斷
8、源)。MCS-51單片機(jī)5個(gè)中斷源的中