




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、本章分為三節(jié),主要介紹:5.1 80C51的中斷系統(tǒng)的中斷系統(tǒng)5.2 80C51的中斷處理過程的中斷處理過程5.3 80C51的定時的定時/5.1 80C51的中斷系統(tǒng) 5.1.1 80C515.1.1 80C51的中斷系統(tǒng)結構的中斷系統(tǒng)結構一、中斷的概念一、中斷的概念 CPUCPU在處理某一事件在處理某一事件A A時,發(fā)生了另一事件時,發(fā)生了另一事件B B請請求求CPUCPU迅速去處理(中斷發(fā)生);迅速去處理(中斷發(fā)生); CPUCPU暫時中斷當前的工作,轉去處理事件暫時中斷當前的工作,轉去處理事件B B(中(中斷響應和中斷服務);斷響應和中斷服務); 待待CPUCPU將事件將事件B B處理
2、完畢后,再回到原來事件處理完畢后,再回到原來事件A A被被中斷的地方繼續(xù)處理事件中斷的地方繼續(xù)處理事件A A(中斷返回),這一過(中斷返回),這一過程稱為中斷程稱為中斷 。引起引起CPU中斷的根源,稱為中斷源。中斷源向中斷的根源,稱為中斷源。中斷源向CPU提出的中斷請求。提出的中斷請求。CPU暫時中斷原來的事務暫時中斷原來的事務A,轉去處,轉去處理事件理事件B。對事件。對事件B處理完畢后,再回到原來被中斷的處理完畢后,再回到原來被中斷的地方(即斷點),稱為中斷返回。實現(xiàn)上述中斷功能的地方(即斷點),稱為中斷返回。實現(xiàn)上述中斷功能的部件稱為中斷系統(tǒng)(中斷機構)。部件稱為中斷系統(tǒng)(中斷機構)。 隨
3、著計算機技術的應用,人們發(fā)現(xiàn)中斷技隨著計算機技術的應用,人們發(fā)現(xiàn)中斷技術不僅解決了快速主機與慢速術不僅解決了快速主機與慢速I/O設備的數(shù)據(jù)設備的數(shù)據(jù)傳送問題,而且還具有如下優(yōu)點:傳送問題,而且還具有如下優(yōu)點: 分時操作。分時操作。CPU可以分時為多個可以分時為多個I/O設備服設備服務,提高了計算機的利用率;務,提高了計算機的利用率;實時響應。實時響應。CPU能夠及時處理應用系統(tǒng)的隨能夠及時處理應用系統(tǒng)的隨機事件,系統(tǒng)的實時性大大增強;機事件,系統(tǒng)的實時性大大增強;可靠性高。可靠性高。CPU具有處理設備故障及掉電等具有處理設備故障及掉電等突發(fā)性事件能力,從而使系統(tǒng)可靠性提高。突發(fā)性事件能力,從而
4、使系統(tǒng)可靠性提高。二、二、80C51中斷系統(tǒng)的結構中斷系統(tǒng)的結構 80C51的中斷系統(tǒng)有的中斷系統(tǒng)有5個中斷源,個中斷源,2個優(yōu)先級,個優(yōu)先級,可實現(xiàn)二級中斷嵌套可實現(xiàn)二級中斷嵌套 。5.1.2 80C515.1.2 80C51的中斷源的中斷源 一、中斷源一、中斷源INT0INT1 2 2、 (P3.3P3.3)??捎桑?捎蒊T1(TCON.2)IT1(TCON.2)選擇其為選擇其為低電平有效還是下降沿有效。當?shù)碗娖接行н€是下降沿有效。當CPUCPU檢測到檢測到P3.3P3.3引 腳 上 出 現(xiàn) 有 效 的 中 斷 信 號 時 , 中 斷 標 志引 腳 上 出 現(xiàn) 有 效 的 中 斷 信 號
5、 時 , 中 斷 標 志IE1(TCON.3)IE1(TCON.3)置置1,1,向向CPUCPU申請中斷。申請中斷。 1 1、 (P3.2P3.2)。可由)。可由IT0(TCON.0)IT0(TCON.0)選擇其為選擇其為低電平有效還是下降沿有效。當?shù)碗娖接行н€是下降沿有效。當CPUCPU檢測到檢測到P3.2P3.2引 腳 上 出 現(xiàn) 有 效 的 中 斷 信 號 時 , 中 斷 標 志引 腳 上 出 現(xiàn) 有 效 的 中 斷 信 號 時 , 中 斷 標 志IE0(TCON.1)IE0(TCON.1)置置1 1,向,向CPUCPU申請中斷。申請中斷。 3 3、TF0TF0(TCON.5TCON.5
6、),片內定時),片內定時/ /計數(shù)器計數(shù)器T0T0溢出中斷請求標志。當定時溢出中斷請求標志。當定時/ /計數(shù)器計數(shù)器T0T0發(fā)生發(fā)生溢出時,置位溢出時,置位TF0TF0,并向,并向CPUCPU申請中斷。申請中斷。 4 4、TF1TF1(TCON.7TCON.7),片內定時),片內定時/ /計數(shù)器計數(shù)器T1T1溢出中斷請求標志。當定時溢出中斷請求標志。當定時/ /計數(shù)器計數(shù)器T1T1發(fā)生發(fā)生溢出時,置位溢出時,置位TF1TF1,并向,并向CPUCPU申請中斷。申請中斷。 5 5、RIRI(SCON.0SCON.0)或)或TITI(SCON.1SCON.1),串行口),串行口中斷請求標志。當串行口
7、接收完一幀串行數(shù)中斷請求標志。當串行口接收完一幀串行數(shù)據(jù)時置位據(jù)時置位RIRI或當串行口發(fā)送完一幀串行數(shù)據(jù)或當串行口發(fā)送完一幀串行數(shù)據(jù)時置位時置位TITI,向,向CPUCPU申請中斷。申請中斷。 二、中斷請求標志二、中斷請求標志1、TCON的中斷標志的中斷標志IT0(TCON.0),外部中斷),外部中斷0觸發(fā)方式控制位。觸發(fā)方式控制位。當當IT0=0時,為電平觸發(fā)方式。時,為電平觸發(fā)方式。當當IT0=1時,為邊沿觸發(fā)方式(下降沿有效)。時,為邊沿觸發(fā)方式(下降沿有效)。IE0(TCON.1),外部中斷),外部中斷0中斷請求標志位。中斷請求標志位。IT1(TCON.2),外部中斷),外部中斷1觸
8、發(fā)方式控制位。觸發(fā)方式控制位。IE1(TCON.3),外部中斷),外部中斷1中斷請求標志位。中斷請求標志位。TF0(TCON.5),定時),定時/計數(shù)器計數(shù)器T0溢出中斷請求標志位。溢出中斷請求標志位。TF1(TCON.7),定時),定時/計數(shù)器計數(shù)器T1溢出中斷請求標志位。溢出中斷請求標志位。 2、SCON的中斷標志的中斷標志RI(SCON.0),串行口接收中斷標志位。當允),串行口接收中斷標志位。當允許串行口接收數(shù)據(jù)時,每接收完一個串行幀,由許串行口接收數(shù)據(jù)時,每接收完一個串行幀,由硬件置位硬件置位RI。同樣,。同樣,RI必須由軟件清除。必須由軟件清除。TI(SCON.1),串行口發(fā)送中斷
9、標志位。當),串行口發(fā)送中斷標志位。當CPU將一個發(fā)送數(shù)據(jù)寫入串行口發(fā)送緩沖器時,將一個發(fā)送數(shù)據(jù)寫入串行口發(fā)送緩沖器時,就啟動了發(fā)送過程。每發(fā)送完一個串行幀,由硬就啟動了發(fā)送過程。每發(fā)送完一個串行幀,由硬件置位件置位TI。CPU響應中斷時,不能自動清除響應中斷時,不能自動清除TI,TI必須由軟件清除。必須由軟件清除。 一、中斷允許控制一、中斷允許控制 CPU對中斷系統(tǒng)所有中斷以及某個中斷源的開放和屏對中斷系統(tǒng)所有中斷以及某個中斷源的開放和屏蔽是由中斷允許寄存器蔽是由中斷允許寄存器IE控制的??刂频?。5.1.3 80C515.1.3 80C51中斷的控制中斷的控制 EX0(IE.0),外部中斷,
10、外部中斷0允許位;允許位;ET0(IE.1),定時,定時/計數(shù)器計數(shù)器T0中斷允許位;中斷允許位; EX1(IE.2),外部中斷,外部中斷0允許位;允許位;ET1(IE.3),定時,定時/計數(shù)器計數(shù)器T1中斷允許位;中斷允許位;ES(IE.4),串行口中斷允許位;,串行口中斷允許位;EA (IE.7), CPU中斷允許(總允許)位。中斷允許(總允許)位。二、中斷優(yōu)先級控制二、中斷優(yōu)先級控制 80C51單片機有兩個中斷優(yōu)先級,即可實現(xiàn)二單片機有兩個中斷優(yōu)先級,即可實現(xiàn)二級中斷服務嵌套。每個中斷源的中斷優(yōu)先級都是由級中斷服務嵌套。每個中斷源的中斷優(yōu)先級都是由中斷優(yōu)先級寄存器中斷優(yōu)先級寄存器IP中的
11、相應位的狀態(tài)來規(guī)定的中的相應位的狀態(tài)來規(guī)定的 。PX0(IP.0),外部中斷),外部中斷0優(yōu)先級設定位;優(yōu)先級設定位;PT0(IP.1),定時),定時/計數(shù)器計數(shù)器T0優(yōu)先級設定位;優(yōu)先級設定位;PX1(IP.2),外部中斷),外部中斷0優(yōu)先級設定位;優(yōu)先級設定位;PT1(IP.3),定時),定時/計數(shù)器計數(shù)器T1優(yōu)先級設定位;優(yōu)先級設定位;PS (IP.4),串行口優(yōu)先級設定位。),串行口優(yōu)先級設定位。 同一優(yōu)先級中的中斷申請不止一個時,則有中同一優(yōu)先級中的中斷申請不止一個時,則有中斷優(yōu)先權排隊問題。同一優(yōu)先級的中斷優(yōu)先權排隊,斷優(yōu)先權排隊問題。同一優(yōu)先級的中斷優(yōu)先權排隊,由中斷系統(tǒng)硬件確定
12、的自然優(yōu)先級形成,其排列如由中斷系統(tǒng)硬件確定的自然優(yōu)先級形成,其排列如所示:所示:80C51單片機的中斷優(yōu)先級有三條原則:單片機的中斷優(yōu)先級有三條原則:CPU同時接收到幾個中斷時,首先響應優(yōu)先級別最同時接收到幾個中斷時,首先響應優(yōu)先級別最高的中斷請求。高的中斷請求。正在進行的中斷過程不能被新的同級或低優(yōu)先級的正在進行的中斷過程不能被新的同級或低優(yōu)先級的中斷請求所中斷。中斷請求所中斷。正在進行的低優(yōu)先級中斷服務,能被高優(yōu)先級中斷正在進行的低優(yōu)先級中斷服務,能被高優(yōu)先級中斷請求所中斷。請求所中斷。 為了實現(xiàn)上述后兩條原則,中斷系統(tǒng)內部設有兩為了實現(xiàn)上述后兩條原則,中斷系統(tǒng)內部設有兩個用戶不能尋址的
13、優(yōu)先級狀態(tài)觸發(fā)器。其中一個置個用戶不能尋址的優(yōu)先級狀態(tài)觸發(fā)器。其中一個置1,表示正在響應高優(yōu)先級的中斷,它將阻斷后來所有表示正在響應高優(yōu)先級的中斷,它將阻斷后來所有的中斷請求;另一個置的中斷請求;另一個置1,表示正在響應低優(yōu)先級中,表示正在響應低優(yōu)先級中斷,它將阻斷后來所有的低優(yōu)先級中斷請求。斷,它將阻斷后來所有的低優(yōu)先級中斷請求。5.2 80C51單片機中斷處理過程 一、中斷響應條件一、中斷響應條件 中斷源有中斷請求;中斷源有中斷請求; 此中斷源的中斷允許位為此中斷源的中斷允許位為1; CPU開中斷(即開中斷(即EA=1)。)。同時滿足時,同時滿足時,CPU才有可能響應中斷。才有可能響應中斷
14、。5.2.1 5.2.1 中斷響應條件和時間中斷響應條件和時間 中斷服務的進入:中斷服務的進入: CPU執(zhí)行程序過程中,在每個機器周期執(zhí)行程序過程中,在每個機器周期的的S5P2期間,中斷系統(tǒng)對各個中斷源進行期間,中斷系統(tǒng)對各個中斷源進行采樣。這些采樣值在下一個機器周期內按采樣。這些采樣值在下一個機器周期內按優(yōu)先級和內部順序被依次查詢。優(yōu)先級和內部順序被依次查詢。 如果某個中斷標志在上一個機器周期的如果某個中斷標志在上一個機器周期的S5P2時被置成了時被置成了1,那么它將于現(xiàn)在的查,那么它將于現(xiàn)在的查詢周期中及時被發(fā)現(xiàn)。接著詢周期中及時被發(fā)現(xiàn)。接著CPU便執(zhí)行一便執(zhí)行一條由中斷系統(tǒng)提供的硬件條由
15、中斷系統(tǒng)提供的硬件LCALL指令,轉指令,轉向被稱作中斷向量的特定地址單元,進入向被稱作中斷向量的特定地址單元,進入相應的中斷服務程序。相應的中斷服務程序。 遇以下任一條件,硬件將受阻,不產生遇以下任一條件,硬件將受阻,不產生LCALL指令:指令:CPU正在處理同級或高優(yōu)先級中斷;正在處理同級或高優(yōu)先級中斷;當前查詢的機器周期不是所執(zhí)行指令的最后一個機當前查詢的機器周期不是所執(zhí)行指令的最后一個機器周期。即在完成所執(zhí)行指令前,不會響應中斷,從器周期。即在完成所執(zhí)行指令前,不會響應中斷,從而保證指令在執(zhí)行過程中不被打斷;而保證指令在執(zhí)行過程中不被打斷;正在執(zhí)行的指令為正在執(zhí)行的指令為RET、RET
16、I或任何訪問或任何訪問IE或或IP寄寄存器的指令。即只有在這些指令后面至少再執(zhí)行一條存器的指令。即只有在這些指令后面至少再執(zhí)行一條指令時才能接受中斷請求。指令時才能接受中斷請求。 若由于上述條件的阻礙中斷未能得到響應,當條件若由于上述條件的阻礙中斷未能得到響應,當條件消失時該中斷標志卻已不再有效,那么該中斷將不被消失時該中斷標志卻已不再有效,那么該中斷將不被響應。就是說,中斷標志曾經有效,但未獲響應,查響應。就是說,中斷標志曾經有效,但未獲響應,查詢過程在下個機器周期將重新進行。詢過程在下個機器周期將重新進行。二、中斷響應時間二、中斷響應時間某中斷的響應時序如圖:某中斷的響應時序如圖:若若M1
17、周期的周期的S5P2前某中斷生效,在前某中斷生效,在S5P2期間其中期間其中斷請求被鎖存到相應的標志位中去;斷請求被鎖存到相應的標志位中去;M2恰逢指令的恰逢指令的最后一個機器周期,且該指令不是最后一個機器周期,且該指令不是RETI或訪問或訪問IE、IP的指令。于是,的指令。于是,M3和和M4便可以執(zhí)行硬件便可以執(zhí)行硬件LCALL指令,指令,M5周期將進入了中斷服務程序。周期將進入了中斷服務程序。80C51的中斷響應時間(從標志置的中斷響應時間(從標志置1到進入相應的中到進入相應的中斷服務),至少要斷服務),至少要3個完整的機器周期。個完整的機器周期。 將相應的優(yōu)先級狀態(tài)觸發(fā)器置將相應的優(yōu)先級
18、狀態(tài)觸發(fā)器置1(以阻斷(以阻斷后來的同級或低級的中斷請求)。后來的同級或低級的中斷請求)。執(zhí)行一條硬件執(zhí)行一條硬件LCALL指令,即把程序計數(shù)指令,即把程序計數(shù)器器PC的內容壓入堆棧保存,再將相應的中的內容壓入堆棧保存,再將相應的中斷服務程序的入口地址送入斷服務程序的入口地址送入PC。執(zhí)行中斷服務程序。執(zhí)行中斷服務程序。5.2.2 5.2.2 中斷響應過程中斷響應過程 中斷響應過程的前兩步是由中斷系統(tǒng)內中斷響應過程的前兩步是由中斷系統(tǒng)內部自動完成的,而中斷服務程序則要由用部自動完成的,而中斷服務程序則要由用戶編寫程序來完成。戶編寫程序來完成。 5.2.3 5.2.3 中斷返回中斷返回RETI指
19、令的具體功能是:指令的具體功能是:將中斷響應時壓入堆棧保存的斷點地址從棧將中斷響應時壓入堆棧保存的斷點地址從棧頂彈出送回頂彈出送回PC,CPU從原來中斷的地方繼續(xù)從原來中斷的地方繼續(xù)執(zhí)行程序;執(zhí)行程序; 將相應中斷優(yōu)先級狀態(tài)觸發(fā)器清將相應中斷優(yōu)先級狀態(tài)觸發(fā)器清0,通知中,通知中斷系統(tǒng),中斷服務程序已執(zhí)行完畢。斷系統(tǒng),中斷服務程序已執(zhí)行完畢。 注意,不能用注意,不能用RET指令代替指令代替RETI指令。在中指令。在中斷服務程序中斷服務程序中PUSH指令與指令與POP指令必須成對指令必須成對使用,否則不能正確返回斷點使用,否則不能正確返回斷點 。 若外部中斷定義為電平觸發(fā)方式,中斷標志位若外部中斷
20、定義為電平觸發(fā)方式,中斷標志位的狀態(tài)隨的狀態(tài)隨CPU在每個機器周期采樣到的外部中斷在每個機器周期采樣到的外部中斷輸入引腳的電平變化而變化,這樣能提高輸入引腳的電平變化而變化,這樣能提高CPU對對外部中斷請求的響應速度。但外部中斷源若有請外部中斷請求的響應速度。但外部中斷源若有請求,必須把有效的低電平保持到請求獲得響應時求,必須把有效的低電平保持到請求獲得響應時為止,不然就會漏掉;而在中斷服務程序結束之為止,不然就會漏掉;而在中斷服務程序結束之前,中斷源又必須撤消其有效的低電平,否則中前,中斷源又必須撤消其有效的低電平,否則中斷返回之后將再次產生中斷。斷返回之后將再次產生中斷。 電平觸發(fā)方式適合
21、于外部中斷輸入以低電平輸電平觸發(fā)方式適合于外部中斷輸入以低電平輸入且中斷服務程序能清除外部中斷請求源的情況。入且中斷服務程序能清除外部中斷請求源的情況。例如,并行接口芯片例如,并行接口芯片8255的中斷請求線在接受讀的中斷請求線在接受讀或寫操作后即被復位,因此,以其去請求電平觸發(fā)或寫操作后即被復位,因此,以其去請求電平觸發(fā)方式的中斷比較方便。方式的中斷比較方便。 若外部中斷定義為邊沿觸發(fā)方式,在相繼連續(xù)的若外部中斷定義為邊沿觸發(fā)方式,在相繼連續(xù)的兩次采樣中,一個周期采樣到外部中斷輸入為高電兩次采樣中,一個周期采樣到外部中斷輸入為高電平,下一個周期采樣到為低電平,則在平,下一個周期采樣到為低電平
22、,則在IE0或或IE1中中將鎖存一個邏輯將鎖存一個邏輯1。即便是。即便是CPU暫時不能響應,中暫時不能響應,中斷申請標志也不會丟失,直到斷申請標志也不會丟失,直到CPU響應此中斷時才響應此中斷時才清零。這樣,為保證下降沿能被可靠地采樣到,外清零。這樣,為保證下降沿能被可靠地采樣到,外中斷引腳上的高低電平(負脈沖的寬度)均至少要中斷引腳上的高低電平(負脈沖的寬度)均至少要保持一個機器周期(若晶振為保持一個機器周期(若晶振為12MHz時,為時,為1微微秒)。秒)。 邊沿觸發(fā)方式適合于以負脈沖形式輸入的外部中邊沿觸發(fā)方式適合于以負脈沖形式輸入的外部中斷請求,如斷請求,如ADC0809的轉換結束標志信
23、號的轉換結束標志信號EOC為為正脈沖,經反相后就可以作為正脈沖,經反相后就可以作為80C51的中斷輸入。的中斷輸入。5.2.4 5.2.4 中斷程序舉例中斷程序舉例 ORG 0000HSTART:LJMP MAIN ;跳轉到主程序;跳轉到主程序 ORG 0003H LJMP INTO ;轉向中斷服務程序;轉向中斷服務程序 ORG 0030H ;主程序;主程序 MAIN:CLR IT0 ;設為電平觸發(fā)方式;設為電平觸發(fā)方式 SETB EA ;CPU開放中斷開放中斷 SETB EX0 ;允許中斷;允許中斷 MOV DPTR,#1000H ;設置數(shù)據(jù)區(qū)地址指針;設置數(shù)據(jù)區(qū)地址指針 ORG 0200H
24、 ;中斷服務程序;中斷服務程序 INT0:PUSH PSW ;保護現(xiàn)場;保護現(xiàn)場 PUSH ACC CLR P3.0 ;由;由P3.0輸出輸出0 NOP NOP SETB P3.0 ;由;由P3.0輸出輸出1,撤除,撤除 MOV A,P1 ;輸入數(shù)據(jù);輸入數(shù)據(jù) MOVX DPTR,A ;存入數(shù)據(jù)存儲器;存入數(shù)據(jù)存儲器 INC DPTR ;修改數(shù)據(jù)指針,指向下一個單元;修改數(shù)據(jù)指針,指向下一個單元 POP ACC ;恢復現(xiàn)場;恢復現(xiàn)場 POP PSW RETI ;中斷返回;中斷返回 例例 多外部中斷源的系統(tǒng)示例。多外部中斷源的系統(tǒng)示例。 設有設有5個外部中斷源,中斷優(yōu)先級排隊順序為:個外部中斷源
25、,中斷優(yōu)先級排隊順序為:XI0、XI1、XI2、XI3、XI4。試設計它們與。試設計它們與80C51單單片機的接口。片機的接口。 ORG 0003H LJMP INSE0 ;轉外部中斷;轉外部中斷0服務程序入口服務程序入口 ORG 0013H LJMP INSE1 ;轉外部中斷;轉外部中斷1服務程序入口服務程序入口 INSE0: PUSH PSW ;XI0中斷服務程序中斷服務程序 PUSH ACC POP ACC POP PSW RETI INSE1:PUSH PSW ;中斷服務程序;中斷服務程序 PUSH ACC JB P1.0,DV1 ;P1.0為為1,轉,轉XI1中斷服務程序中斷服務程序
26、 JB P1.1,DV2 ;P1.1為為1,轉,轉XI2中斷服務程序中斷服務程序 JB P1.2,DV3 ;P1.2為為1,轉,轉XI3中斷服務程序中斷服務程序 JB P1.3,DV4 ;P1.3為為1,轉,轉XI4中斷服務程序中斷服務程序INRET:POP ACC POP PSW RETI DV1: ;XI1中斷服務程序中斷服務程序 AJMP INRET DV2: ;XI2中斷服務程序中斷服務程序 AJMP INRET DV3: ;XI3中斷服務程序中斷服務程序 AJMP INRET DV4: ;XI4中斷服務程序中斷服務程序 AJMP INRET5.3 80C51的定時/計數(shù)器 實現(xiàn)定時功
27、能,比較方便的辦法是利用單實現(xiàn)定時功能,比較方便的辦法是利用單片機內部的定時片機內部的定時/計數(shù)器。也可以采用下面三計數(shù)器。也可以采用下面三種方法:種方法:軟件定時:軟件定時不占用硬件資源,但占用了軟件定時:軟件定時不占用硬件資源,但占用了CPU時間,降低了時間,降低了CPU的利用率。的利用率。采用時基電路定時:例如采用采用時基電路定時:例如采用555電路,外接必要電路,外接必要的元器件(電阻和電容),即可構成硬件定時電路。的元器件(電阻和電容),即可構成硬件定時電路。但在硬件連接好以后,定時值與定時范圍不能由軟但在硬件連接好以后,定時值與定時范圍不能由軟件進行控制和修改,即不可編程。件進行控
28、制和修改,即不可編程。采用可編程芯片定時:這種定時芯片的定時值及定采用可編程芯片定時:這種定時芯片的定時值及定時范圍很容易用軟件來確定和修改,此種芯片定時時范圍很容易用軟件來確定和修改,此種芯片定時功能強,使用靈活。在單片機的定時功能強,使用靈活。在單片機的定時/計數(shù)器不夠用計數(shù)器不夠用時,可以考慮進行擴展。時,可以考慮進行擴展。5.3.1 5.3.1 定時定時/ /計數(shù)器的結構和工作原理計數(shù)器的結構和工作原理 一、定時一、定時/計數(shù)器的結構計數(shù)器的結構 定時定時/計數(shù)器的實質是加計數(shù)器的實質是加1計數(shù)器(計數(shù)器(16位),由高位),由高8位和低位和低8位兩個寄存器組成。位兩個寄存器組成。TM
29、OD是定時是定時/計數(shù)器的工作方式寄存計數(shù)器的工作方式寄存器,確定工作方式和功能;器,確定工作方式和功能;TCON是控制寄存器,控制是控制寄存器,控制T0、T1的啟動和停止及設置溢出標志的啟動和停止及設置溢出標志。 二、定時二、定時/計數(shù)器的工作原理計數(shù)器的工作原理 加加1計數(shù)器輸入的計數(shù)脈沖有兩個來源計數(shù)器輸入的計數(shù)脈沖有兩個來源,一個是由一個是由系統(tǒng)的時鐘振蕩器輸出脈沖經系統(tǒng)的時鐘振蕩器輸出脈沖經12分頻后送來;一個分頻后送來;一個是是T0或或T1引腳輸入的外部脈沖源。每來一個脈沖引腳輸入的外部脈沖源。每來一個脈沖計數(shù)器加計數(shù)器加1,當加到計數(shù)器為全,當加到計數(shù)器為全1時,再輸入一個脈時,
30、再輸入一個脈沖就使計數(shù)器回零,且計數(shù)器的溢出使沖就使計數(shù)器回零,且計數(shù)器的溢出使TCON中中TF0或或TF1置置1,向,向CPU發(fā)出中斷請求(定時發(fā)出中斷請求(定時/計數(shù)計數(shù)器中斷允許時)。如果定時器中斷允許時)。如果定時/計數(shù)器工作于定時模計數(shù)器工作于定時模式,則表示定時時間已到;如果工作于計數(shù)模式,式,則表示定時時間已到;如果工作于計數(shù)模式,則表示計數(shù)值已滿。則表示計數(shù)值已滿。 可見,由溢出時計數(shù)器的值減去計數(shù)初值才是加可見,由溢出時計數(shù)器的值減去計數(shù)初值才是加1計數(shù)器的計數(shù)值。計數(shù)器的計數(shù)值。 設置為定時器模式時,加設置為定時器模式時,加1計數(shù)器是對內部機器周期計數(shù)器是對內部機器周期計數(shù)
31、(計數(shù)(1個機器周期等于個機器周期等于12個振蕩周期,即計數(shù)頻率個振蕩周期,即計數(shù)頻率為晶振頻率的為晶振頻率的1/12)。計數(shù)值)。計數(shù)值N乘以機器周期乘以機器周期Tcy就就是定時時間是定時時間t 。設置為計數(shù)器模式時,外部事件計數(shù)脈沖由設置為計數(shù)器模式時,外部事件計數(shù)脈沖由T0或或T1引腳輸入到計數(shù)器。在每個機器周期的引腳輸入到計數(shù)器。在每個機器周期的S5P2期間采期間采樣樣T0、T1引腳電平。當某周期采樣到一高電平輸入,引腳電平。當某周期采樣到一高電平輸入,而下一周期又采樣到一低電平時,則計數(shù)器加而下一周期又采樣到一低電平時,則計數(shù)器加1,更,更新的計數(shù)值在下一個機器周期的新的計數(shù)值在下一
32、個機器周期的S3P1期間裝入計數(shù)期間裝入計數(shù)器。由于檢測一個從器。由于檢測一個從1到到0的下降沿需要的下降沿需要2個機器周期,個機器周期,因此要求被采樣的電平至少要維持一個機器周期。當因此要求被采樣的電平至少要維持一個機器周期。當晶振頻率為晶振頻率為12MHz時,最高計數(shù)頻率不超過時,最高計數(shù)頻率不超過1/2MHz,即計數(shù)脈沖的周期要大于即計數(shù)脈沖的周期要大于2 s。 5.3.2 定時定時/計數(shù)器的控制計數(shù)器的控制 80C51單片機定時單片機定時/計數(shù)器的工作由兩個特殊功計數(shù)器的工作由兩個特殊功能寄存器控制。能寄存器控制。TMOD用于設置其工作方式;用于設置其工作方式;TCON用于控制其啟動和
33、中斷申請。用于控制其啟動和中斷申請。一、工作方式寄存器一、工作方式寄存器TMOD 工作方式寄存器工作方式寄存器TMOD用于設置定時用于設置定時/計數(shù)器的計數(shù)器的工作方式,低四位用于工作方式,低四位用于T0,高四位用于,高四位用于T1。其格式。其格式如下:如下:GATE:門控位。:門控位。GATE0時,只要用軟件使時,只要用軟件使TCON中的中的TR0或或TR1為為1,就可以啟動定時,就可以啟動定時/計數(shù)器工作;計數(shù)器工作;GATA1時,時,要用軟件使要用軟件使TR0或或TR1為為1,同時外部中斷引腳或也為高電,同時外部中斷引腳或也為高電平時,才能啟動定時平時,才能啟動定時/計數(shù)器工作。即此時定
34、時器的啟動條計數(shù)器工作。即此時定時器的啟動條件,加上了或引腳為高電平這一條件。件,加上了或引腳為高電平這一條件。 :定時定時/計數(shù)模式選擇位。計數(shù)模式選擇位。 0為定時模式;為定時模式; =1為計數(shù)模式。為計數(shù)模式。M1M0:工作方式設置位。定時:工作方式設置位。定時/計數(shù)器有四種工作方式,計數(shù)器有四種工作方式,由由M1M0進行設置。進行設置。C/TC/TC/T 二、控制寄存器二、控制寄存器TCON TCON的低的低4位用于控制外部中斷位用于控制外部中斷,已在前面介紹。已在前面介紹。TCON的高的高4位用于位用于控制定時控制定時/計數(shù)器的啟動和中斷申請。其格式如下:計數(shù)器的啟動和中斷申請。其格
35、式如下:TF1(TCON.7):):T1溢出中斷請求標志位。溢出中斷請求標志位。T1計數(shù)溢出時由硬件自計數(shù)溢出時由硬件自動置動置TF1為為1。CPU響應中斷后響應中斷后TF1由硬件自動清由硬件自動清0。T1工作時,工作時,CPU可隨時查詢可隨時查詢TF1的狀態(tài)。所以,的狀態(tài)。所以,TF1可用作查詢測試的標志??捎米鞑樵儨y試的標志。TF1也可也可以用軟件置以用軟件置1或清或清0,同硬件置,同硬件置1或清或清0的效果一樣。的效果一樣。TR1(TCON.6):):T1運行控制位。運行控制位。TR1置置1時,時,T1開始工作;開始工作;TR1置置0時,時,T1停止工作。停止工作。TR1由軟件置由軟件置
36、1或清或清0。所以,用軟件可控制定時。所以,用軟件可控制定時/計數(shù)器的啟動與停止。計數(shù)器的啟動與停止。TF0(TCON.5):):T0溢出中斷請求標志位,其功能與溢出中斷請求標志位,其功能與TF1類同。類同。TR0(TCON.4):):T0運行控制位,其功能與運行控制位,其功能與TR1類同。類同。 5.3.3 定時定時/計數(shù)器的工作方式計數(shù)器的工作方式 一、方式一、方式0 方式方式0為為13位計數(shù),由位計數(shù),由TL0的低的低5位(高位(高3位未用)和位未用)和TH0的的8位組成。位組成。TL0的低的低5位溢出時向位溢出時向TH0進位,進位,TH0溢出時,溢出時,置位置位TCON中的中的TF0標
37、志,向標志,向CPU發(fā)出中斷請求。發(fā)出中斷請求。定時器模式時有定時器模式時有:Nt/ Tcy 計數(shù)初值計算的公式為:計數(shù)初值計算的公式為:定時器的初值還可以采用計數(shù)個數(shù)直接取補法獲得。定時器的初值還可以采用計數(shù)個數(shù)直接取補法獲得。計數(shù)模式時,計數(shù)脈沖是計數(shù)模式時,計數(shù)脈沖是T0引腳上的外部脈沖。引腳上的外部脈沖。13X=2 -N門控位門控位GATE具有特殊的作用。當具有特殊的作用。當GATE=0時,經反相后使時,經反相后使或門輸出為或門輸出為1,此時僅由,此時僅由TR0控制與門的開啟,與門輸出控制與門的開啟,與門輸出1時,控制開關接通,計數(shù)開始;當時,控制開關接通,計數(shù)開始;當GATE=1時,
38、由外中斷引時,由外中斷引腳信號控制或門的輸出,此時控制與門的開啟由外中斷引腳信號控制或門的輸出,此時控制與門的開啟由外中斷引腳信號和腳信號和TR0共同控制。當共同控制。當TR0=1時,外中斷引腳信號引腳時,外中斷引腳信號引腳的高電平啟動計數(shù),外中斷引腳信號引腳的低電平停止計的高電平啟動計數(shù),外中斷引腳信號引腳的低電平停止計數(shù)。這種方式常用來測量外中斷引腳上正脈沖的寬度。數(shù)。這種方式常用來測量外中斷引腳上正脈沖的寬度。 16X=2 -N二、方式二、方式1 方式方式1的計數(shù)位數(shù)是的計數(shù)位數(shù)是16位,由位,由TL0作為低作為低8位、位、TH0作為高作為高8位,組成了位,組成了16位加位加1計數(shù)器計數(shù)
39、器 。計數(shù)個數(shù)與計數(shù)初值的關系為:計數(shù)個數(shù)與計數(shù)初值的關系為: 8X=2 -N三、方式三、方式2 方式方式2為自動重裝初值的為自動重裝初值的8位計數(shù)方式。位計數(shù)方式。 工作方式2特別適合于用作較精確的脈沖信號發(fā)生器。 計數(shù)個數(shù)與計數(shù)初值的關系為計數(shù)個數(shù)與計數(shù)初值的關系為: 四、方式四、方式3 方式方式3只適用于定時只適用于定時/計數(shù)器計數(shù)器T0,定時器,定時器T1處于方式處于方式3時相當時相當于于TR1=0,停止計數(shù)。,停止計數(shù)。 工作方式工作方式3將將T0分成為兩個獨立的分成為兩個獨立的8位計數(shù)器位計數(shù)器TL0和和TH0 。 5.3.4 定時定時/計數(shù)器用于外部中斷擴展計數(shù)器用于外部中斷擴展
40、 擴展方法是,將定時擴展方法是,將定時/計數(shù)器設置為計數(shù)器方式,計數(shù)初值計數(shù)器設置為計數(shù)器方式,計數(shù)初值設定為滿程,將待擴展的外部中斷源接到定時設定為滿程,將待擴展的外部中斷源接到定時/計數(shù)器的外部計數(shù)器的外部計數(shù)引腳。從該引腳輸入一個下降沿信號,計數(shù)器加計數(shù)引腳。從該引腳輸入一個下降沿信號,計數(shù)器加1后便產后便產生定時生定時/計數(shù)器溢出中斷。計數(shù)器溢出中斷。例如,利用例如,利用T0擴展一個外部中斷源。將擴展一個外部中斷源。將T0設置為計數(shù)器方設置為計數(shù)器方式,按方式式,按方式2工作,工作,TH0、TL0的初值均為的初值均為0FFH,T0允許中允許中斷,斷,CPU開放中斷。其初始化程序如下:開放中斷。其初始化程序如下: MOV TMOD,#06H ;置;置T0為計數(shù)器方式為計數(shù)器方式2 MOV TL0,#0FFH ;置計數(shù)初值;置計數(shù)初值 MOV TH0,#0FFH SETB TR0 ;啟動;啟動T0工作工作 SETB EA ;CPU開中斷開中斷 SETB ET0 ;允許;允許T0中斷中斷 5.3.5 定時定時/計數(shù)器應用舉例計數(shù)器應用舉例 初始化程序應完成如下工作:初始化程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Module 6 Unit 3 language in use 教學設計 2024-2025學年外研版八年級英語上冊
- 舊市場修復工程項目可行性研究報告-老舊市場設施老化修復改造需求迫切
- 2024年12月漯河市行政審批和政務信息管理局所屬事業(yè)單位招才引智引進人才公開招聘2人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 第 7 單元 第二十章第二節(jié) 生物圈是生物的共同家園2023-2024學年八年級上冊生物同步教學設計(蘇教版)
- 第18章 生物圈中的微生物教學設計2023-2024學年北師大版生物八年級上冊
- 3-2《哦香雪》(教學設計)高一語文同步高效課堂(統(tǒng)編版 必修上冊)
- 新能源汽車理論模擬習題及答案
- 第13課《 湖心亭看雪》教學設計2024-2025學年統(tǒng)編版語文九年級上冊
- 2025年鉛及鉛合金材合作協(xié)議書
- 4《地球 我們的家園》《環(huán)境問題敲響了警鐘》教學設計-2023-2024學年道德與法治六年級下冊統(tǒng)編版
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蝕工程施工及驗收規(guī)范
- 小學科學冀人版六年級下冊全冊同步練習含答案
- 精神發(fā)育遲滯的護理查房
- 初中人音版音樂七年級下冊.第二單元長江之歌.(14張)ppt課件
- 繪本閱讀《鐵絲網上的小花》
- NancyDrew分析
- 離心式排風機安裝施工方案及技術措施
- 字號大小樣式設計參照表
- 理想信念主題班會ppt課件
- 風險和機遇評估分析表
- 五年級下冊勞動教案(最新完整版)
評論
0/150
提交評論