




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1主要內容:主要內容: 介紹介紹I/OI/O的基本概念、的基本概念、I/OI/O數據傳遞方式,中數據傳遞方式,中斷的基本概念,串行通信基本概念。主要介紹單斷的基本概念,串行通信基本概念。主要介紹單片機中斷系統結構、特點及使用方法;片內定時片機中斷系統結構、特點及使用方法;片內定時器器/ /計數器結構、原理及使用;片內串行口結構、計數器結構、原理及使用;片內串行口結構、原理以及雙機和多機通信實現方法;原理以及雙機和多機通信實現方法;PCPC機與單片機與單片機通信實現方法。機通信實現方法。2 4.1.14.1.1輸入輸入/ /輸出的基本概念輸出的基本概念 輸入輸入/ /輸出設備又稱為計算機外圍設輸
2、出設備又稱為計算機外圍設備;簡稱外設或備;簡稱外設或I IO O設備。單片機應用系設備。單片機應用系統常用的輸入設備有按鈕、鍵盤、各種傳統常用的輸入設備有按鈕、鍵盤、各種傳感器等。常用的輸出設備有感器等。常用的輸出設備有LED(LED(發光二極發光二極管顯示器管顯示器) )、LCD(LCD(液晶顯示器液晶顯示器) )等。等。一、輸入一、輸入/ /輸出設備輸出設備3 三、輸入三、輸入/ /輸出接口與端口輸出接口與端口 輸入輸入/ /輸出設備與主機的連接部分稱為輸入輸出設備與主機的連接部分稱為輸入/ /輸出接口,簡稱輸出接口,簡稱I IO O接口。接口。 輸入輸入/ /輸出接口的作用是:輸出接口的
3、作用是: 2.2.鎖存與緩沖作用:一鎖存與緩沖作用:一般用般用D D觸發器進行鎖存。觸發器進行鎖存。 1.1.隔離與尋址作用:例隔離與尋址作用:例如右圖用三態門組成的接口。如右圖用三態門組成的接口。3.3.信號電平或形式變換:信號電平或形式變換:例如例如A/DA/D、D/AD/A、232/485232/485的變換。的變換。4 通常接口電路中可編址并能進行讀寫操作的寄存器稱通常接口電路中可編址并能進行讀寫操作的寄存器稱為端口或簡稱口。一個接口電路中可能包括多個口,例如為端口或簡稱口。一個接口電路中可能包括多個口,例如數據口、狀態口、控制口,即包含有多個口地址。同一單數據口、狀態口、控制口,即包
4、含有多個口地址。同一單片機系列中,片內集成的片機系列中,片內集成的I/OI/O模塊各有不同,當片內模塊各有不同,當片內I/OI/O不不能滿足實際需求時,可擴展外部能滿足實際需求時,可擴展外部I/OI/O。 四、四、I/OI/O的分類的分類 按照信號的傳遞方式,可將按照信號的傳遞方式,可將I/OI/O分為串行和并行兩類。分為串行和并行兩類。 按照按照I/OI/O連接的信號大致可分為模擬量、數字量、脈沖連接的信號大致可分為模擬量、數字量、脈沖量量I/OI/O三類。三類。 五、數據總線隔離技術五、數據總線隔離技術 為了正確地進行數據的為了正確地進行數據的I/OI/O傳遞,必須解決數據總線傳遞,必須解
5、決數據總線的隔離問題,即在任一時刻,的隔離問題,即在任一時刻,CPUCPU只對一個只對一個I/OI/O進行操作。進行操作。為此,對輸出設備的接口電路要使用鎖存器,對輸入設備為此,對輸出設備的接口電路要使用鎖存器,對輸入設備的接口電路,使用三態緩沖器。的接口電路,使用三態緩沖器。 5六、單片機六、單片機I/OI/O編址方式編址方式 每一個每一個I/OI/O都需要編址,以便都需要編址,以便CPUCPU分別進行尋址。常分別進行尋址。常用的用的I/OI/O編址方式有兩種:獨立編址方式和統一編址方式。編址方式有兩種:獨立編址方式和統一編址方式。 獨立編址方式獨立編址方式: : I/O I/O和存儲器分開
6、編址,有各自獨立和存儲器分開編址,有各自獨立的地址空間,采用不同的控制總線,使用不同的指令分別的地址空間,采用不同的控制總線,使用不同的指令分別尋址。尋址。 統一編址方式統一編址方式: : I/O I/O與數據存儲器在同一地址空間編與數據存儲器在同一地址空間編址,尋址方式相同,采用相同的地址、數據、控制總線,址,尋址方式相同,采用相同的地址、數據、控制總線,使用相同的指令尋址。使用相同的指令尋址。6 單片機系統中有不同類型的單片機系統中有不同類型的I/OI/O設備,由于設備,由于I/OI/O所連接所連接的外設或的外設或I/OI/O接口本身的速度與接口本身的速度與CPUCPU的處理速度相比,通常
7、的處理速度相比,通常低于低于CPUCPU的速度,為了實現數據的正確傳輸,的速度,為了實現數據的正確傳輸,CPUCPU通常采用通常采用三種控制方式,即無條件傳送方式、查詢方式和中斷控制三種控制方式,即無條件傳送方式、查詢方式和中斷控制方式。方式。一、無條件傳送方式一、無條件傳送方式 I/OI/O或與或與I/OI/O連接的外設隨時都處于準備好狀態,這時連接的外設隨時都處于準備好狀態,這時CPUCPU不需要測試外設狀態,隨時直接對其進行操作。不需要測試外設狀態,隨時直接對其進行操作。 7 Y N 查詢狀態 就緒? 輸入/輸出 查詢方式流程圖 二、查詢方式二、查詢方式 查詢方式是指查詢方式是指CPUC
8、PU在執行輸入在執行輸入輸出指令之前,先對外圍設備的輸出指令之前,先對外圍設備的狀態進行檢測,以判別外設是否狀態進行檢測,以判別外設是否準備就緒。如果已經準備就緒,準備就緒。如果已經準備就緒,CPUCPU就可以執行輸入輸出指令。如就可以執行輸入輸出指令。如果還沒有準備就緒,必須繼續查果還沒有準備就緒,必須繼續查詢(如右圖所示)。詢(如右圖所示)。 查詢方式的特點:實現簡單,查詢方式的特點:實現簡單,通用性強,適合各種設備數據的通用性強,適合各種設備數據的輸入輸入/ /輸出;其缺點是需要占用輸出;其缺點是需要占用CPUCPU的時間,外設速度較慢時,效的時間,外設速度較慢時,效率較低。率較低。 8
9、三、中斷方式三、中斷方式 中斷方式下外設的狀態信號以中斷申請方式輸入中斷方式下外設的狀態信號以中斷申請方式輸入CPUCPU。 CPUCPU響應中斷,暫停正在執行的程序,轉而執行中斷服務響應中斷,暫停正在執行的程序,轉而執行中斷服務程序,在中斷服務程序中對外設進行輸入程序,在中斷服務程序中對外設進行輸入/ /輸出操作,中輸出操作,中斷返回后,再繼續執行被中斷的程序。斷返回后,再繼續執行被中斷的程序。 中斷方式可提高單片機系統的效率。中斷方式可提高單片機系統的效率。9 當當CPUCPU正在處理某件事正在處理某件事情的時候,內部或外部發生情的時候,內部或外部發生的某一事件的某一事件( (如一個電平的
10、如一個電平的變化,一個脈沖沿的發生或變化,一個脈沖沿的發生或定時器計數溢出等定時器計數溢出等) )請求請求CPUCPU迅速去處理,于是,迅速去處理,于是,CPUCPU暫暫時中止當前的工作,轉去處時中止當前的工作,轉去處理所發生的事件。處理完該理所發生的事件。處理完該事件以后,再回到原來被中事件以后,再回到原來被中止的地方,繼續原來的工作,止的地方,繼續原來的工作,這樣的過程稱為這樣的過程稱為中斷中斷。 請求 主程序 主程序 中斷服務 返回 響應 中斷流程 10一、中斷源一、中斷源 中斷源是指中斷源是指向向CPUCPU申請中斷的事件來源申請中斷的事件來源。例如。例如外部輸入輸出設備,定時外部輸入
11、輸出設備,定時/ /計數器,串行接口都可計數器,串行接口都可以作為中斷源。以作為中斷源。二、中斷優先權二、中斷優先權 中斷優先權也叫中斷排序,是用戶根據中斷中斷優先權也叫中斷排序,是用戶根據中斷源的性質和重要性自行排列的先后次序。在多個源的性質和重要性自行排列的先后次序。在多個中斷源同時提出申請時,保證優先權高的中斷源中斷源同時提出申請時,保證優先權高的中斷源首先得到響應,縱使首先得到響應,縱使CPUCPU正在處理一個中斷,也要正在處理一個中斷,也要暫時停止較低級的中斷。響應優先權更高的中斷暫時停止較低級的中斷。響應優先權更高的中斷源請求。這個過程稱為源請求。這個過程稱為中斷嵌套中斷嵌套或或多
12、重中斷多重中斷。 優先權排序可以用軟件也可以用硬件實現。優先權排序可以用軟件也可以用硬件實現。11三、中斷系統的功能:三、中斷系統的功能:(1)(1)可實現高速可實現高速CPU CPU 與慢速外設之間的配合。與慢速外設之間的配合。因為許多外圍設因為許多外圍設備的速度比備的速度比CPUCPU慢,二者間無法同步地進行數據交換。為此慢,二者間無法同步地進行數據交換。為此可通過中斷方式實現可通過中斷方式實現CPUCPU與外圍設備之間的協調工作。與外圍設備之間的協調工作。 (2)(2)可實現實時處理。可實現實時處理。實時處理是自動控制系統對計算機提出實時處理是自動控制系統對計算機提出的要求,各控制參量可
13、以隨時向的要求,各控制參量可以隨時向CPUCPU發出中斷申請,而發出中斷申請,而CPUCPU也必須做出快速響應和及時處理,以便使被控對象總保也必須做出快速響應和及時處理,以便使被控對象總保持在最佳工作狀態。持在最佳工作狀態。(3) (3) 實現故障的緊急處理。實現故障的緊急處理。當外圍設備或計算機出現故障時,當外圍設備或計算機出現故障時,可以利用中斷系統請求可以利用中斷系統請求CPUCPU及時處理這些故障。及時處理這些故障。(4)(4)便于人機聯系。便于人機聯系。操作人員可以利用鍵盤中斷等,實現人機操作人員可以利用鍵盤中斷等,實現人機聯系,完成人的干預。聯系,完成人的干預。12 四、中斷響應過
14、程四、中斷響應過程 1)1)尋找中斷源。(尋找中斷源。(中斷識別中斷識別) 2)2)將當前將當前PCPC值值( (下一條指令的下一條指令的地址地址) )壓入堆棧壓入堆棧( (即即保護斷點保護斷點),以),以便中斷返回時使用。便中斷返回時使用。 3)3)尋找中斷入口,以便轉向執尋找中斷入口,以便轉向執行中斷服務程序。行中斷服務程序。 4)4)保護現場。保護現場。 5)5)執行中斷服務程序(執行中斷服務程序(中斷處中斷處理理)。)。 6)6)執行完中斷服務程序后執行完中斷服務程序后, ,恢恢復現場并返回主程序(復現場并返回主程序(中斷返中斷返回回)。)。13一、中斷源與中斷標志位一、中斷源與中斷標
15、志位8051/80318051/8031型單片機提供了型單片機提供了5 5個中斷源:兩個外部中斷個中斷源:兩個外部中斷源和三個內部中斷源。每一個中斷源都有一個中斷申請標源和三個內部中斷源。每一個中斷源都有一個中斷申請標志,但串行口占兩個中斷標志位,一共六個中斷標志,下志,但串行口占兩個中斷標志位,一共六個中斷標志,下表給出了它們各自的名稱。表給出了它們各自的名稱。分分 類類中斷源名稱中斷源名稱中斷申請標志中斷申請標志觸發方式觸發方式中斷入口地址中斷入口地址外部中斷外部中斷外部中斷外部中斷0 0IE0(TCON.1)IE0(TCON.1)INT0(P3.2)INT0(P3.2)引腳上的低引腳上的
16、低電平電平/ /下降沿引起的中斷下降沿引起的中斷0003H0003H內部中斷內部中斷T0T0定時器定時器/ /計數器計數器0 0中斷中斷IF0(TCON.5)IF0(TCON.5)T0T0計數器溢出后引起的計數器溢出后引起的中斷中斷000BH000BH外部中斷外部中斷外部中斷外部中斷1 1IE1(TCON.3)IE1(TCON.3)INT1(P3.3)INT1(P3.3)引腳上的低引腳上的低電平電平/ /下降沿引起的中斷下降沿引起的中斷0013H0013H內部中斷內部中斷T1T1定時器定時器/ /計數器計數器1 1中斷中斷IF1(TCON.7)IF1(TCON.7)T1T1計數器溢出后引起的計
17、數器溢出后引起的中斷中斷001BH001BH內部中斷內部中斷串口中斷串口中斷RI (SCON.0)RI (SCON.0)TI ( SCON.1)TI ( SCON.1)串行口接收完成或發送串行口接收完成或發送完一幀數據后引起的中完一幀數據后引起的中斷斷0023H0023H中斷源和中斷申請標志中斷源和中斷申請標志14MCS - 51MCS - 51中斷系統中斷系統MCS - 51MCS - 51中斷系統結構框圖中斷系統結構框圖 中斷源中斷源中斷選擇中斷選擇中斷標志中斷標志15 1.1.中斷源中斷源(1) 1) 外部中斷外部中斷0 0請求,由請求,由P3.2P3.2引腳輸入。可由用戶引腳輸入。可由
18、用戶設定為兩種觸發方式,(電平觸發方式還是邊沿觸設定為兩種觸發方式,(電平觸發方式還是邊沿觸發方式)。一旦輸入信號有效,則向發方式)。一旦輸入信號有效,則向CPUCPU申請中斷,申請中斷,并且將中斷標志并且將中斷標志IE0IE0置置1 1。(2) 2) 外部中斷外部中斷1 1請求,由請求,由P3.3P3.3引腳輸入。亦可由用引腳輸入。亦可由用戶設定為電平觸發方式還是邊沿觸發方式。一旦輸戶設定為電平觸發方式還是邊沿觸發方式。一旦輸人信號有效,則向人信號有效,則向CPUCPU申請中斷,并將中斷標志申請中斷,并將中斷標志IE1IE1置置1 1。 (3 3)片內定時器)片內定時器T0T0溢出中斷請求。
19、當定時器溢出中斷請求。當定時器T0T0產生產生溢出時,溢出時,T0T0中斷請求標志中斷請求標志TF0 TF0 置置1 1,請求中斷處理。,請求中斷處理。 (4)4)片內定時器片內定時器T1T1溢出中斷請求。當定時器溢出中斷請求。當定時器T1T1產生溢產生溢出時,出時,T1T1中斷請求標志中斷請求標志TF1TF1置置l l,請求中斷處理。,請求中斷處理。 (5)5)片內串行口發送接收中斷請求。當通過串行口片內串行口發送接收中斷請求。當通過串行口發送或接收完一幀串行數據時,串行口中斷請求標志發送或接收完一幀串行數據時,串行口中斷請求標志TITI或或RIRI置置1 1,請求中斷處理。,請求中斷處理。
20、 INT0 IE0 INT1 IE1 TF0 TF1 RI TI 圖 10、 8051中 斷 源 16因此,與中斷有關的特殊功能寄存器有:因此,與中斷有關的特殊功能寄存器有: 中斷允許控制寄存器中斷允許控制寄存器(IE) (IE) 定時器定時器/ /計數器控制寄存器計數器控制寄存器(TCON) (TCON) 中斷優先級控制寄存器中斷優先級控制寄存器(IP) (IP) 串行口控制寄存器串行口控制寄存器(SCON )(SCON ) MCS-51 MCS-51單片機的中斷系統中,使用何種中斷,采用單片機的中斷系統中,使用何種中斷,采用何種觸發方式,可通過定時器何種觸發方式,可通過定時器/ /計數器控
21、制寄存器計數器控制寄存器TCONTCON和串行口控制寄存器和串行口控制寄存器SCONSCON的有關位來規定。只要根據這的有關位來規定。只要根據這些位的狀態就能確定有無中斷請求及中斷的來源。些位的狀態就能確定有無中斷請求及中斷的來源。 在中斷源與在中斷源與CPUCPU之間有二級中斷允許控制邏輯電路,之間有二級中斷允許控制邏輯電路,一級為總允許,第二級為源允許,由一級為總允許,第二級為源允許,由IEIE控制。控制。 中斷優先級由中斷優先級由IPIP控制。控制。172.2.中斷請求標志中斷請求標志 (1)TCON(1)TCON的中斷標志的中斷標志 TCONTCON是專用寄存器,字節地址為是專用寄存器
22、,字節地址為88H88H,它鎖存了外部中,它鎖存了外部中斷請求標志及斷請求標志及T0T0和和T1T1的溢出中斷請求標志。的溢出中斷請求標志。TCONTCOND7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0TF1TF1TR1TR1TF0TF0TR0TR0IE1IE1IT1IT1IE0IE0IT0IT0 IT0/IT0/ IT1 IT1: 外部中斷請求的觸發方式選擇位:外部中斷請求的觸發方式選擇位: =0=0:在:在INT0/INT1INT0/INT1端申請中斷的信號低電平有效端申請中斷的信號低電平有效; ; =1 =1:在:在INT0/INT1INT0/INT1端申請中斷的信號負
23、跳變有效端申請中斷的信號負跳變有效. . IE0/IE1 IE0/IE1:外部中斷申請標志位:外部中斷申請標志位: =0=0:沒有外部中斷申請;:沒有外部中斷申請; =1=1:有外部中斷申請。:有外部中斷申請。 TF0/TF1TF0/TF1:定時器溢出中斷申請標志位:定時器溢出中斷申請標志位: =0=0:定時器未溢出;:定時器未溢出; =1=1:定時器溢出申請中斷,進中斷后自動清零。:定時器溢出申請中斷,進中斷后自動清零。 TR0/TR1TR0/TR1:定時器運行啟停控制位:定時器運行啟停控制位: =0=0:定時器停止運行;:定時器停止運行; =1=1:定時器啟動運行。:定時器啟動運行。18(
24、2)SCON(2)SCON的中斷標志的中斷標志 SCONSCON是串行口控制寄存器,與中斷有關的是它的低兩位是串行口控制寄存器,與中斷有關的是它的低兩位TITI和和RIRI。 TITI(SCON.1SCON.1):串行口發送中斷標志位。每發送完一個):串行口發送中斷標志位。每發送完一個串行幀,由硬件置位串行幀,由硬件置位TITI。CPUCPU響應中斷時,不能清除響應中斷時,不能清除TITI,TITI必須由軟件清除。必須由軟件清除。 RIRI(SCON.0)(SCON.0):串行口接收中斷標志位,當允許串行口:串行口接收中斷標志位,當允許串行口接收數據時,每接收完一個串行幀,由硬件置位接收數據時
25、,每接收完一個串行幀,由硬件置位RIRI。同樣,。同樣,RIRI必須由軟件清除。必須由軟件清除。SCONSCON RIRI TITIRB8RB8RB8TB8TB8TB8RENRENRENSM2SM2SM2SM1SM1SM1SM0SM0SM019二、二、MCSMCS5151的中斷管理的中斷管理 1 1、中斷允許寄存器、中斷允許寄存器IEIE中斷的允許與開放中斷的允許與開放 0:關INT 中斷01:開INT 中斷00:關T 中斷1:開T 中斷001:開T 中斷0:關T 中斷0:關INT 中斷1:開INT 中斷11110:關T 中斷1:開T 中斷221:開所有中斷0:關所有中斷1:開串行口中斷0:關
26、串行口中斷位地址IEEAAFADETACESABETAAEXA9ETA8EX00112 在中斷源與在中斷源與CPUCPU之間有兩級中斷允許控制邏輯電路,一之間有兩級中斷允許控制邏輯電路,一級為總允許,第二級為源允許,由級為總允許,第二級為源允許,由IEIE控制。控制。 202 2中斷優先級寄存器中斷優先級寄存器IPIP 中斷優先級控制中斷優先級控制 內部自然優先級:內部自然優先級: 入口地址入口地址 INT0 高高 0003H T0 000BH INT1 0013H T1 001BH TI/RI 低低 0023H213.3.同一級中的同一級中的5 5個中斷源的優先順序個中斷源的優先順序 /IN
27、T0/INT0中斷中斷 T0T0溢出中斷溢出中斷 /INT1/INT1中斷中斷 T1T1溢出中斷溢出中斷 串口中斷串口中斷 高高低低自然優先級自然優先級中斷優先原則:中斷優先原則:(概括為四句話)(概括為四句話)1)1)低級不中斷高級低級不中斷高級2)2)高級不睬低級高級不睬低級3)3)同級不能打斷同級不能打斷4)4)同級、同時中斷,按同級、同時中斷,按自然優先級自然優先級22MCS - 51MCS - 51中斷系統中斷系統MCS - 51MCS - 51中斷系統結構框圖中斷系統結構框圖 中斷源中斷源中斷選擇中斷選擇中斷標志中斷標志23 中斷處理過程一般分為三個階段,即中斷處理過程一般分為三個
28、階段,即中斷響應、中斷處中斷響應、中斷處理理和和中斷返回中斷返回。 三、中斷三、中斷響應響應的條件及過程的條件及過程 1.1.中斷響應中斷響應(1 1)中斷響應的條件:)中斷響應的條件: 1 1)有中斷源發出請求信號)有中斷源發出請求信號 2 2)中斷是開放的(總允許、源允許)中斷是開放的(總允許、源允許) 3 3)沒有封鎖(受阻),受阻情況是:)沒有封鎖(受阻),受阻情況是: CPUCPU正在執行同級或高一級的中斷服務程序;正在執行同級或高一級的中斷服務程序; 現行機器周期不是正在執行的指令的最后一個機器周期,現行機器周期不是正在執行的指令的最后一個機器周期,即現行指令完成前不響應任何中斷請
29、求;即現行指令完成前不響應任何中斷請求; 當前正在執行的是中斷返回指令當前正在執行的是中斷返回指令RETIRETI或訪問專用寄存器或訪問專用寄存器IEIE或或IPIP的指令。也就是說,在執行的指令。也就是說,在執行RETIRETI或是訪問或是訪問IEIE、IPIP的指令的指令后,至少需要再執行一條其他指令,才會響應中斷請求。后,至少需要再執行一條其他指令,才會響應中斷請求。24 (2 2)中斷響應過程)中斷響應過程 進入中斷響應周期。進入中斷響應周期。CPUCPU在中斷響應周期要完成下列操作:在中斷響應周期要完成下列操作: 1) 1) 根據中斷請求源的優先級高低,使相應的優先級狀態根據中斷請求
30、源的優先級高低,使相應的優先級狀態觸發器置觸發器置1 1。 2) 2) 清相應中斷請求標志位清相應中斷請求標志位IE0IE0、IE1IE1、TF0TF0或或TF1TF1。 3) 3) 保留斷點,把保留斷點,把PCPC內容壓入堆棧保存。內容壓入堆棧保存。 4) 4) 把被響應的中斷源的服務把被響應的中斷源的服務程序入口地址送入程序入口地址送入PCPC,轉入相應的,轉入相應的中斷服務程序。中斷服務程序。25(3 3)中斷響應時間)中斷響應時間 從查詢中斷請求標志位到轉向中斷服務入口地址所需的機從查詢中斷請求標志位到轉向中斷服務入口地址所需的機器周期數。器周期數。1 1)最快響應時間)最快響應時間
31、以外部中斷的電平觸發為最快。以外部中斷的電平觸發為最快。 從查詢中斷請求信號到中斷服務程序需要三個機器周期:從查詢中斷請求信號到中斷服務程序需要三個機器周期: 1 1個周期(查詢)個周期(查詢)2 2個周期(長調用個周期(長調用LCALLLCALL)2 2)最長時間)最長時間 若當前指令是若當前指令是RETRET、RETIRETI和和IPIP、IEIE指令,緊接著下一條是乘指令,緊接著下一條是乘除指令發生,則最長為除指令發生,則最長為8 8個周期:個周期: 2 2個周期執行當前指令(其中含有個周期執行當前指令(其中含有1 1個周期查詢)個周期查詢)4 4個周期個周期乘除指令乘除指令2 2個周期
32、長調用個周期長調用8 8個周期。個周期。262.2.中斷處理(服務)與返回中斷處理(服務)與返回 在編寫中斷服務程序時加在編寫中斷服務程序時加注意注意的幾點:的幾點:(1)(1)因各入口地址之間只相隔因各入口地址之間只相隔8 8個字節,所以通常在中斷入口個字節,所以通常在中斷入口地址單元處存放一條無條件轉移指令,使中斷服務程序靈活地址單元處存放一條無條件轉移指令,使中斷服務程序靈活地安排在地安排在64KB64KB程序存儲器的任何空間。程序存儲器的任何空間。(2)(2)若要在執行當前中斷程序時禁止更高優先級中斷,可先用若要在執行當前中斷程序時禁止更高優先級中斷,可先用軟件關閉軟件關閉CPUCPU
33、中斷(全局中斷),或禁止某中斷源中斷中斷(全局中斷),或禁止某中斷源中斷(局局部中斷部中斷),在中斷返回前再開放中斷。,在中斷返回前再開放中斷。(3)(3)注意保護現場和恢復現場。注意保護現場和恢復現場。(4(4)中斷服務程序的最后一條是返回指令)中斷服務程序的最后一條是返回指令RETIRETI,該指令將,該指令將清清除響應中斷時被置位的優先級狀態觸發器除響應中斷時被置位的優先級狀態觸發器,然后自動將斷點,然后自動將斷點地址從棧頂彈出,裝入地址從棧頂彈出,裝入PCPC,使程序返回到被中斷處,繼續向,使程序返回到被中斷處,繼續向下執行。下執行。 27 關中斷 保護現場 開中斷 中斷服務 關中斷
34、恢復現場 開中斷 中斷返回 中斷服務程序流程圖中斷服務程序流程圖283.3.中斷請求的撤除中斷請求的撤除 CPUCPU響應中斷請求后,在中斷返回響應中斷請求后,在中斷返回(RETI)(RETI)前,該中斷請求前,該中斷請求信號必須撤除,否則會引起另外一次中斷。信號必須撤除,否則會引起另外一次中斷。注意:注意:(1)(1)采用采用邊沿觸發邊沿觸發的外部中斷標志的外部中斷標志IE0IE0或或IElIEl和定時器中斷標和定時器中斷標志志TF0TF0或或TFlTFl,CPUCPU響應中斷后能用響應中斷后能用硬件自動情除硬件自動情除; ;(2)(2)在在電平觸發電平觸發時,時,IE0IE0或或IElIE
35、l受外部引腳中斷信號的直接控受外部引腳中斷信號的直接控制,制,CPUCPU無法控制無法控制IE0IE0或或IElIEl,需要另外考慮撤除中斷請求信,需要另外考慮撤除中斷請求信號的措施,如通過號的措施,如通過外加硬件電路外加硬件電路(見下頁所示),(見下頁所示),并配合軟并配合軟件來解決件來解決;(3)(3)串行口中斷請求串行口中斷請求標志標志TITI和和RIRI也不能由硬件自動清除,需也不能由硬件自動清除,需要在中斷服務程序中,要在中斷服務程序中,用軟件來清除用軟件來清除相應的中斷請求標志相應的中斷請求標志. .。 29 并并在中斷服務程序在中斷服務程序中增加如下指令,使得的中增加如下指令,使
36、得的/INT0/INT0輸入變輸入變為高電平。為高電平。ORLORLP1P1,#01H#01HANLANLP1P1,#0FEH#0FEH 外部中斷為電平觸發時,如果中斷響應后,外部中斷為電平觸發時,如果中斷響應后, 管腳仍為低電平,則會重新置位中斷請求,為此可以管腳仍為低電平,則會重新置位中斷請求,為此可以在系統中增加輔助電路解決。在系統中增加輔助電路解決。 0(1)INTINT301.1.在在CPUCPU已經開放了外部中斷允許的前提下;已經開放了外部中斷允許的前提下;2.2.在在INT0/INT1INT0/INT1引腳輸入一個引腳輸入一個負脈沖負脈沖或或低電平低電平; 3.3.TCONTCO
37、N寄存器中的寄存器中的IE0/IE1IE0/IE1標志位自動變標志位自動變“1”1”;4.4.檢測到檢測到IE0/IE1IE0/IE1變變“1”1”后后, ,將產生指令:將產生指令: LCALL 0003H(/0013H)LCALL 0003H(/0013H)執行中斷服務程序;執行中斷服務程序;4 4并將并將IE0/IE1IE0/IE1標志位自動清標志位自動清“0”0”或用或用硬件電路撤硬件電路撤除中斷請求信號除中斷請求信號, ,以備下次申請。以備下次申請。外部中斷外部中斷(INT0,INT1)(INT0,INT1)申請過程:申請過程:31 AFH ACH ABH AAH A9H A8H IE
38、 (A8H) EA ES ET1 EX1 ET0 EX0 例例1 1 假設允許片內定時器假設允許片內定時器/ /計數器中斷,禁止其他中斷。計數器中斷,禁止其他中斷。試根據假設條件設置試根據假設條件設置IEIE的相應值。的相應值。解:解:根據題目要求,要允許內部定時器中斷,就需要根據題目要求,要允許內部定時器中斷,就需要將將IEIE寄存器的寄存器的EAEA、ET1ET1、ET0ET0置置1 1,其他位清,其他位清0 0,可分別,可分別通過字節尋址或者位尋址進行。通過字節尋址或者位尋址進行。(1) (1) 用字節操作指令:用字節操作指令: MOV IEMOV IE,#8AH #8AH 或或 MOV
39、 A8HMOV A8H,#8AH#8AH(2)(2)用位操作指令:用位操作指令: SETBSETBET0 ET0 ; ;定時器定時器/ /計數器計數器0 0允許中斷允許中斷 SETBSETBET1 ET1 ; ;定時器定時器/ /計數器計數器1 1允許中斷允許中斷 SETBSETBEA EA ;CPU;CPU開中斷開中斷32 BCH BBH BAH B9H B8H IP (B8H) PS PT1 PX1 PT0 PX0 例例2 2 系統要求設定系統要求設定80518051的片外中斷為高優先級中斷,片的片外中斷為高優先級中斷,片內中斷為低優先級。請寫出相應的指令。內中斷為低優先級。請寫出相應的指
40、令。解:解:根據題目要求,需要將根據題目要求,需要將80518051的外部中斷優先級控制的外部中斷優先級控制位位PX0PX0、PX1PX1設置為設置為1 1,而內部中斷優先級控制位,而內部中斷優先級控制位PT0PT0、PT1PT1、PSPS清為清為0 0。(1)(1)用字節操作指令:用字節操作指令: MOV IPMOV IP,#05H#05H(2)(2)用位操作指令:用位操作指令: SETB PX0SETB PX0 SETB PX1 SETB PX1 CLR PS CLR PS CLR PT0 CLR PT0 CLR PT1 CLR PT1334.34.3 MCS-51 MCS-51單片機的定
41、時器單片機的定時器/ /計數器計數器u定時器定時器/ /計數器計數器的結構的結構u定時器定時器/ /計數器計數器的工作方式的工作方式u定時器定時器/ /計數器計數器應用應用34 實現定時或延時控制有三種方法:實現定時或延時控制有三種方法:軟件定時、不可編程軟件定時、不可編程硬件定時器、可編程硬件定時器。硬件定時器、可編程硬件定時器。 可編程的硬件定時器就是其工作方式、定時值和定時范可編程的硬件定時器就是其工作方式、定時值和定時范圍可以很方便地由軟件來確定和改變。通常,一個可編程定圍可以很方便地由軟件來確定和改變。通常,一個可編程定時時/ /計數器的主要用途有:計數器的主要用途有: 以均勻分布的
42、時間間隔中斷分時操作系統,以便切換程序。以均勻分布的時間間隔中斷分時操作系統,以便切換程序。 向向I/OI/O設備輸出精確的定時信號,該信號的周期由程序控制。設備輸出精確的定時信號,該信號的周期由程序控制。 用作可編程波特率或速率發生器。用作可編程波特率或速率發生器。 檢測外部事件發生的頻率或周期。檢測外部事件發生的頻率或周期。 統計外部事件處理過程中某一事件發生的次數。統計外部事件處理過程中某一事件發生的次數。 在定時或計數達到編程規定的值之后,產生輸出信號,向在定時或計數達到編程規定的值之后,產生輸出信號,向CPUCPU申請中斷。申請中斷。 35 51 51系列單片機有兩個系列單片機有兩個
43、1616位的定時器位的定時器/ /計數器:計數器:T0T0和和T1T1。T0T0由兩個由兩個8 8位的定時寄存器位的定時寄存器TH0TH0和和TL0TL0構成構成1616位寄存器,同位寄存器,同樣,樣,T1T1由兩個由兩個8 8位的定時寄存器位的定時寄存器TH1TH1和和TL1TL1構成構成1616位寄存器,位寄存器,它們分別映射在特殊功能寄存器中。它們分別映射在特殊功能寄存器中。TH0TH0、TL0TL0的地址分別的地址分別為為8CH8CH、8AH8AH,TH1TH1和和TL1TL1的地址分別為的地址分別為8DH8DH和和8BH8BH。 其內部還有其內部還有2 2個個8 8位的專用寄存器位的
44、專用寄存器TMODTMOD(88H88H)和)和TCON TCON (89H89H) 。其中。其中TMODTMOD是定時器的工作方式寄存器,是定時器的工作方式寄存器,TCONTCON是是控制寄存器,主要用于定時控制寄存器,主要用于定時/ /計數器管理與控制。計數器管理與控制。 4.3.1 4.3.1 定時器定時器/ /計數器的結構計數器的結構36CPUTH1TL1P3.5溢出啟動中斷TCON(88H)TH0TL0溢出啟動TMOD(89H)模式模式P3.44480518051單片機的定時器結構單片機的定時器結構T0T137一、定時器一、定時器/ /計數器的定時和計數功能計數器的定時和計數功能 在
45、在TMODTMOD中,各有一個控制位(中,各有一個控制位(C CT T),分別用于控制),分別用于控制定時定時器器/ /計數器計數器T0T0和和T1T1是工作在是工作在定時器定時器方式還是方式還是計數器計數器方式。方式。1. 1. 定時功能定時功能-計數輸入信號是內部時鐘脈沖,每個計數輸入信號是內部時鐘脈沖,每個機機器周期器周期使寄存器的值加使寄存器的值加1 1。所以,計數頻率是振蕩頻率的。所以,計數頻率是振蕩頻率的1/121/12。2. 2. 計數功能計數功能-計數脈沖來自相應的計數脈沖來自相應的外部輸入引腳,外部輸入引腳,T0T0為為P3.4P3.4,T1T1為為P3.5P3.5。即。即對
46、由對由T0/T1T0/T1引腳輸入的引腳輸入的負脈沖負脈沖進行進行加法計數。加法計數。 定時定時器器/ /計數器的核心部件是計數器的核心部件是二進制加二進制加1 1計數器計數器(TH0(TH0、TL0TL0或或TH1TH1、TL1) TL1) 。其輸入的計數脈沖有其輸入的計數脈沖有兩個來源兩個來源(內部時內部時鐘脈沖和鐘脈沖和外部輸入引腳外部輸入引腳)。當加到計數器為全)。當加到計數器為全“1”1”時,再時,再輸入一個脈沖,就使計數器回零,同時產生溢出脈沖使輸入一個脈沖,就使計數器回零,同時產生溢出脈沖使TCONTCON中溢出中斷標志中溢出中斷標志TF0TF0或或TF1TF1置置1 1,并可向
47、,并可向CPUCPU申請中斷。申請中斷。38二、定時器計數器的控制寄存器二、定時器計數器的控制寄存器 與定時器計數器有關的控制寄存器有:與定時器計數器有關的控制寄存器有:1 1定時器控制寄存器定時器控制寄存器TCONTCOND7D6D5D4D3D2D1D0TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0中斷請求標志中斷請求標志觸發方式選擇觸發方式選擇啟動定時器啟動定時器/ /計數器計數器0 0 低電平低電平1 1 下降沿下降沿0 0 停止停止1 1 啟動啟動392 2工作方式控制寄存器工作方式控制寄存器TMODTMOD T1T1控制控制T0T0控制控制M0M1C/TGATEM0M
48、1C/TGATED0D1D2D3D4D5D6D7GATEGATE門控位門控位C/TC/T計數計數/ /定時選擇定時選擇M1 M0M1 M0工作方式選擇工作方式選擇用于選定定時用于選定定時/ /計數器的工作方式、啟動方式等。計數器的工作方式、啟動方式等。40 TMOD TMOD的高的高4 4位用于位用于T1T1控制,低控制,低4 4位用于位用于T0T0控制,符號的控制,符號的定義如下:定義如下: (1) (1) GATEGATE:門控位。門控位。GATEGATE和軟件控制位和軟件控制位TRTR、外引腳(、外引腳(/INT0/INT0、/INT1/INT1)的狀態,共同控制定時器)的狀態,共同控制
49、定時器/ /計數器的啟動和停止。計數器的啟動和停止。 GATE = 0 GATE = 0 普通用法普通用法 TimerTimer的啟的啟/ /停由軟件對停由軟件對TRxTRx位寫位寫“1”/“0”1”/“0”控制。控制。 GATE = 1 GATE = 1 門控用法門控用法 TimerTimer的啟的啟/ /停由軟件對停由軟件對TRxTRx位寫位寫“1”/“0” 1”/“0” 和在和在INTxINTx引腳引腳上出現的信號的高上出現的信號的高/ /低共同控制。低共同控制。(2) (2) C/TC/T:定時定時/ /計數器方式選擇位。計數器方式選擇位。 C/T C/T 1 1為計數方式;為計數方式
50、; C/T C/T 0 0為定時方式。為定時方式。(3) (3) M1 M0M1 M0:工作方式選擇位。工作方式選擇位。 M1 M0M1 M00000;方式;方式0 0 M1 M0 M1 M00101;方式;方式1 1 M1 M0 M1 M01010;方式;方式2 2 M1 M0 M1 M01111;方式;方式3 3。41一、一、 方式方式0 0 定時定時/ /計數器工作于計數器工作于方式方式0 0時為一個時為一個1313位的計數器位的計數器。選擇定時器選擇定時器(T0(T0或或T1)T1)的高的高8 8位和低位和低5 5位組成的一個位組成的一個1313位定位定時器計數器。下圖是時器計數器。下
51、圖是T0T0在方式在方式0 0時的邏輯電路結構。時的邏輯電路結構。T1T1的模式的模式0 0電路結構與電路結構與T0T0相同。相同。定時器定時器T0T0的方式的方式0 0邏輯電路邏輯電路 MCS-51 MCS-51單片機內部的定時單片機內部的定時/ /計數器是一種可編程器計數器是一種可編程器件,可設置為四種工作方式,由兩個件,可設置為四種工作方式,由兩個8 8位專用寄存器位專用寄存器TMODTMOD和和TCONTCON進行管理與控制。進行管理與控制。 注:注:此時,此時,/INT0/INT0(須為(須為1 1)不是外部中斷請求信號,而不是外部中斷請求信號,而只是只是對定時對定時/ /計數器的計
52、數器的一個一個附加控制信號。附加控制信號。42(1 1)加加1 1計數器為計數器為1313位。位。TL0=5TL0=5位,位,TH0=8TH0=8位位(2 2)(GATE+INT0)(GATE+INT0)TR0TR0為真則啟動定時器。為真則啟動定時器。(3 3)C/T=1C/T=1為計數工作方式,計數脈沖由為計數工作方式,計數脈沖由T0T0引腳輸入。引腳輸入。 計數個數計數個數 N=N=( 2 21313初值)初值)(4 4)C/T=0C/T=0為定時工作方式,時鐘頻率為為定時工作方式,時鐘頻率為fosc/12fosc/12。 定時時間定時時間t=t=(2 21313初值)初值)* *時鐘周期
53、時鐘周期* *1212 顯然:顯然:在機器周期固定的情況下,定時時間的長短與計在機器周期固定的情況下,定時時間的長短與計數器事先裝入的初值有關,裝入的數器事先裝入的初值有關,裝入的初值越大,定時越短。初值越大,定時越短。 (5 5)計數器溢出,計數器溢出,TF0TF0置置1 1。由硬件申請中斷。由硬件申請中斷。43二、方式二、方式1 1 定時定時/ /計數器工作于方式計數器工作于方式1 1時為一個時為一個1616位的計數器位的計數器。其邏。其邏輯結構、操作及運行控制幾乎與方式輯結構、操作及運行控制幾乎與方式0 0完全完全樣,差別僅在樣,差別僅在于計數器的位數不同。于計數器的位數不同。 在方式在
54、方式1 1中中TL0TL0和和TH0TH0均為均為8 8位,位,TL0TL0和和TH0TH0一起構成了一起構成了l6l6位位計數器。計數器。定時工作方式定時工作方式1 1時,定時時間為:時,定時時間為:定時時間定時時間 t t(2(21616計數初值計數初值) )機器周期機器周期用于計數器工作方式時:用于計數器工作方式時:最大計數值最大計數值為為: 2: 216166553665536。44定時器定時器T0T0的方式的方式1 1邏輯電路邏輯電路45三、三、 方式方式2 2 定時定時/ /計數器工作于方式計數器工作于方式2 2時,將兩個時,將兩個8 8位計數器位計數器THxTHx、TLxTLx分
55、成獨立的兩部分,組成一個分成獨立的兩部分,組成一個可自動重裝載的可自動重裝載的8 8位定時位定時/ /計數計數器器。其邏輯結構如下圖所示。其邏輯結構如下圖所示。 方式方式2 2的控制運行與方式的控制運行與方式0 0、方式、方式1 1相同。相同。 用于定時工作方式時,用于定時工作方式時,定時時間定時時間t t為:為: t t(2(28 8-計數初值計數初值X)X)機器周期機器周期 方式方式2 2用于計數工作方式時,最大計數值用于計數工作方式時,最大計數值( (初值初值0 0時時) )是是2 28 8。方式方式2 2特別適合于特別適合于用作較精確的定時和脈沖信號發生器用作較精確的定時和脈沖信號發生
56、器。還常。還常用作用作串行口波特率發生器串行口波特率發生器 。46四、方式四、方式3 3 方式方式3 3只適用于定時器只適用于定時器T0T0。在方式。在方式3 3下,下,T0T0被分成兩個相被分成兩個相互獨立的互獨立的8 8位計數器位計數器TL0TL0和和TH0TH0,如下圖所示,如下圖所示 。(1 1)TH0TH0和和TL0TL0變成變成2 2個分開的獨立計數器。個分開的獨立計數器。(2 2)TL0TL0占用了全部的定時器控制位(占用了全部的定時器控制位(C/T,GATE,TR0,TF0C/T,GATE,TR0,TF0)。)。(3 3)TH0TH0只能用于定時方式,運行控制位和溢出標志位則借
57、用定只能用于定時方式,運行控制位和溢出標志位則借用定 時器時器1 1的的TR1TR1和和TF1TF1。此時的定時器。此時的定時器1 1用于串行口波特率發生器。用于串行口波特率發生器。 注:注:在在T0T0設置為方式設置為方式3 3工作工作時時,一般是,一般是將定時器將定時器T1T1作為串行口作為串行口波特率發生器,或用于不需要中斷的場合。波特率發生器,或用于不需要中斷的場合。 47定時器定時器T0T0的方式的方式3 3(a)T0(a)T0方式方式3 3時的時的T1T1方式方式0 0(b)T0(b)T0方式方式3 3時的時的T1T1方式方式1 1484.3.3 4.3.3 定時器定時器/ /計數
58、器應用計數器應用一、定時器一、定時器/ /計數器的計數初始化計數器的計數初始化1. 1. 定時器計數器的初始化方法定時器計數器的初始化方法 初始化的主要內容是對初始化的主要內容是對TCONTCON和和TMODTMOD編程,計算和裝載編程,計算和裝載T0T0和和T1T1的計數初值。的計數初值。(1 1)確定相關參數確定相關參數1 1)分析定時器計數器的工作方式,將方式字寫入)分析定時器計數器的工作方式,將方式字寫入TMODTMOD寄存器;寄存器;( 即確定:定即確定:定/ /計、內計、內/ /外啟動、工作方式)外啟動、工作方式)2)2)計算計算T0T0或或T1T1中的計數初值,并將其寫入中的計數
59、初值,并將其寫入TH0TH0、TL0TL0或或TH1TH1、TL1TL1;3)3)根據需要開放根據需要開放CPUCPU和定時器計數器的中斷,即對和定時器計數器的中斷,即對IEIE和和IPIP寄存寄存器編程;器編程;4)4)啟動定時器計數器工作:若要求用軟件啟動,編程時對啟動定時器計數器工作:若要求用軟件啟動,編程時對TCONTCON中的中的TR0TR0或或TR1TR1置位即可啟動;若由外部中斷引腳電平啟動,則對置位即可啟動;若由外部中斷引腳電平啟動,則對TCONTCON中的中的TR0TR0或或TR1TR1置位后,還需給外部引腳加啟動電平。置位后,還需給外部引腳加啟動電平。49(2 2)計算定時
60、器計算定時器/ /計數器計數器的的初值初值1 1)計數器計數器方式時的方式時的計數初值計數初值 TCTC2 2M MN N (M M為計數器位數,為計數器位數,N N為要求的計數值)為要求的計數值) 方式方式0 0:M M1313,計數器的最大計數值,計數器的最大計數值2 213138192;8192;方式方式1 1:M M1616,計數器的最大計數值,計數器的最大計數值2 216166553665536;方式方式2 2:M M8 8,計數器的最大計數值,計數器的最大計數值2 28 8256256; 方式方式3 3同方式同方式2 2。 例如,設例如,設T0T0工作在計數器方式工作在計數器方式2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商丘市重點中學2025屆初三下學期第二次段考化學試題試卷含解析
- 蘇州健雄職業技術學院《建筑環境前沿技術》2023-2024學年第二學期期末試卷
- 遼寧省撫順德才高級中學2025年高三高考適應性月考(一)化學試題含解析
- 咸寧職業技術學院《大學體育-乒乓球》2023-2024學年第一學期期末試卷
- 模電 1.3 晶體三極管學習資料
- 內蒙古自治區鄂爾多斯市達標名校2025年初三下學期聯合語文試題含解析
- 南京視覺藝術職業學院《康復體操》2023-2024學年第二學期期末試卷
- 西藏大學《臨床基本技能學2》2023-2024學年第二學期期末試卷
- 清華大學中學2025屆高三下學期第二次質量測試物理試題含解析
- 豫章師范學院《室內專題設計1》2023-2024學年第一學期期末試卷
- (二模)2025年深圳市高三年級第二次調研考試地理試卷(含標準答案)
- 學生心理健康一生一策檔案表
- 2025年陜西省公民科學素質大賽考試題(附答案)
- 植物拓染非物質文化遺產傳承拓花草之印染自然之美課件
- 馬克思主義與社會科學方法論(研究生政治課程)復習重點
- 酒店最全基本服務標準
- 基于PLC的變頻中央空調溫度控制系統的畢業設計
- 門禁系統調試報告(共4頁)
- 北師大版一年級英語下冊期中測試卷
- 檔案學概論重點知識梳理
- 地下連續墻鋼筋籠起重吊裝專項施工方案
評論
0/150
提交評論