版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、MCS-51單片機(jī)內(nèi)部功能部件MCS-51系統(tǒng)擴(kuò)展MCS-51功能擴(kuò)展MCS-51單片機(jī)內(nèi)部功能部件第6章 中斷系統(tǒng)第7章 定時(shí)/計(jì)數(shù)器第8章 串行通信接口中斷的概念中斷的概念 現(xiàn)代的計(jì)算機(jī)都具有實(shí)時(shí)處理功能,能對(duì)外部發(fā)現(xiàn)代的計(jì)算機(jī)都具有實(shí)時(shí)處理功能,能對(duì)外部發(fā)生的事件如人工干預(yù)、外部事件及意外故障做出及時(shí)生的事件如人工干預(yù)、外部事件及意外故障做出及時(shí)的響應(yīng)或處理,這是依靠計(jì)算機(jī)的中斷系統(tǒng)來實(shí)現(xiàn)的。的響應(yīng)或處理,這是依靠計(jì)算機(jī)的中斷系統(tǒng)來實(shí)現(xiàn)的。在在MCS51應(yīng)用系統(tǒng)中,經(jīng)常需要處理如下問題:應(yīng)用系統(tǒng)中,經(jīng)常需要處理如下問題: 1定時(shí)器問題定時(shí)器問題 在溫度控制系統(tǒng)中,需對(duì)受控對(duì)象的溫度進(jìn)行定
2、在溫度控制系統(tǒng)中,需對(duì)受控對(duì)象的溫度進(jìn)行定時(shí)采樣,兩次采樣之間的時(shí)間間隔是固定的,如每秒時(shí)采樣,兩次采樣之間的時(shí)間間隔是固定的,如每秒一次。在電機(jī)恒速控制系統(tǒng)中,需對(duì)受控電機(jī)的轉(zhuǎn)速一次。在電機(jī)恒速控制系統(tǒng)中,需對(duì)受控電機(jī)的轉(zhuǎn)速進(jìn)行定時(shí)采樣,兩次采樣之間的時(shí)間間隔也是固定的,進(jìn)行定時(shí)采樣,兩次采樣之間的時(shí)間間隔也是固定的,如每秒兩次。為了定時(shí)采樣,就必須使用定時(shí)器。當(dāng)如每秒兩次。為了定時(shí)采樣,就必須使用定時(shí)器。當(dāng)CPU啟動(dòng)定時(shí)器后,就要等待定時(shí)器的定時(shí)超時(shí)標(biāo)志,啟動(dòng)定時(shí)器后,就要等待定時(shí)器的定時(shí)超時(shí)標(biāo)志,然后就進(jìn)行采樣,周而復(fù)始,循環(huán)不止。然后就進(jìn)行采樣,周而復(fù)始,循環(huán)不止。 2鍵盤按鍵問題鍵盤
3、按鍵問題 鍵盤是計(jì)算機(jī)系統(tǒng)操作者對(duì)系統(tǒng)進(jìn)行參數(shù)設(shè)置和狀態(tài)鍵盤是計(jì)算機(jī)系統(tǒng)操作者對(duì)系統(tǒng)進(jìn)行參數(shù)設(shè)置和狀態(tài)控制的常用設(shè)備,操作者何時(shí)對(duì)鍵盤進(jìn)行操作是無法事先確控制的常用設(shè)備,操作者何時(shí)對(duì)鍵盤進(jìn)行操作是無法事先確定的。單片機(jī)應(yīng)快速響應(yīng)鍵盤操作。定的。單片機(jī)應(yīng)快速響應(yīng)鍵盤操作。3串行通信問題串行通信問題 一個(gè)單片機(jī)控制系統(tǒng)可能與另一個(gè)計(jì)算機(jī)系統(tǒng)有聯(lián)系,它一個(gè)單片機(jī)控制系統(tǒng)可能與另一個(gè)計(jì)算機(jī)系統(tǒng)有聯(lián)系,它們之間的數(shù)據(jù)交換是通過異步串行通信接口們之間的數(shù)據(jù)交換是通過異步串行通信接口RS-232C進(jìn)行的。進(jìn)行的。MCS51單片機(jī)有一個(gè)串行通信控制器,當(dāng)單片機(jī)有一個(gè)串行通信控制器,當(dāng)CPU將要發(fā)送的將要發(fā)送的
4、一個(gè)字節(jié)數(shù)據(jù)提交給串行通信控制器后,需要等串行通信控一個(gè)字節(jié)數(shù)據(jù)提交給串行通信控制器后,需要等串行通信控制器把這個(gè)字節(jié)數(shù)據(jù)發(fā)送完畢,才能發(fā)送下一個(gè)字節(jié)數(shù)據(jù)。制器把這個(gè)字節(jié)數(shù)據(jù)發(fā)送完畢,才能發(fā)送下一個(gè)字節(jié)數(shù)據(jù)。這時(shí),這時(shí),CPU要等待串行通信控制器的一個(gè)標(biāo)志,表明串行通要等待串行通信控制器的一個(gè)標(biāo)志,表明串行通信控制器的發(fā)送緩沖器空閑,才能把下一個(gè)要發(fā)送字節(jié)數(shù)據(jù)信控制器的發(fā)送緩沖器空閑,才能把下一個(gè)要發(fā)送字節(jié)數(shù)據(jù)提交給串行通信控制器。提交給串行通信控制器。CPU除了發(fā)送數(shù)據(jù)之外,還要接收除了發(fā)送數(shù)據(jù)之外,還要接收對(duì)方發(fā)送來的數(shù)據(jù),而對(duì)方什么時(shí)候要發(fā)送數(shù)據(jù)是無法確定對(duì)方發(fā)送來的數(shù)據(jù),而對(duì)方什么時(shí)候
5、要發(fā)送數(shù)據(jù)是無法確定的。的。MCS51單片機(jī)的串行通信控制器會(huì)自動(dòng)處理數(shù)據(jù)接收,單片機(jī)的串行通信控制器會(huì)自動(dòng)處理數(shù)據(jù)接收,一旦接收到一個(gè)字節(jié)的數(shù)據(jù),串行通信控制器會(huì)設(shè)置數(shù)據(jù)接一旦接收到一個(gè)字節(jié)的數(shù)據(jù),串行通信控制器會(huì)設(shè)置數(shù)據(jù)接收完成標(biāo)志,收完成標(biāo)志,CPU檢測(cè)到該標(biāo)志后,就從串行通信控制器中檢測(cè)到該標(biāo)志后,就從串行通信控制器中將數(shù)據(jù)讀出。將數(shù)據(jù)讀出。 上述三個(gè)問題中,一個(gè)共性的問題是:上述三個(gè)問題中,一個(gè)共性的問題是:CPU需要對(duì)需要對(duì)一個(gè)標(biāo)志進(jìn)行檢測(cè)判斷,以決定是否進(jìn)行一項(xiàng)預(yù)定的工一個(gè)標(biāo)志進(jìn)行檢測(cè)判斷,以決定是否進(jìn)行一項(xiàng)預(yù)定的工作(即執(zhí)行一個(gè)特定的程序段)。對(duì)一個(gè)可能作(即執(zhí)行一個(gè)特定的程序
6、段)。對(duì)一個(gè)可能隨機(jī)出現(xiàn)隨機(jī)出現(xiàn)的標(biāo)志的標(biāo)志進(jìn)行檢測(cè)判斷,可以采用兩種方法:查詢進(jìn)行檢測(cè)判斷,可以采用兩種方法:查詢/中斷。中斷。 查詢是指查詢是指CPU在程序流程中循環(huán)判斷標(biāo)志的改變。在程序流程中循環(huán)判斷標(biāo)志的改變。如:?jiǎn)?dòng)定時(shí)器時(shí),定時(shí)器的定時(shí)超時(shí)標(biāo)志如:?jiǎn)?dòng)定時(shí)器時(shí),定時(shí)器的定時(shí)超時(shí)標(biāo)志TF為為0,定,定時(shí)間隔到時(shí),定時(shí)器將定時(shí)超時(shí)標(biāo)志時(shí)間隔到時(shí),定時(shí)器將定時(shí)超時(shí)標(biāo)志TF置為置為1,程序中,程序中CPU用循環(huán)結(jié)構(gòu)判斷該標(biāo)志是否為用循環(huán)結(jié)構(gòu)判斷該標(biāo)志是否為1等待定時(shí)結(jié)束:等待定時(shí)結(jié)束: while(TF = = 0);); TF = 1; 調(diào)用采樣函數(shù),調(diào)用采樣函數(shù), (TF定時(shí)到標(biāo)志)定
7、時(shí)到標(biāo)志) 或者在主函數(shù)的流程中按順序判斷各個(gè)標(biāo)志或者在主函數(shù)的流程中按順序判斷各個(gè)標(biāo)志的狀態(tài),以確定要做的工作。的狀態(tài),以確定要做的工作。 while(1) if(TI) 調(diào)用發(fā)送函數(shù);調(diào)用發(fā)送函數(shù); if(RI) 調(diào)用接受函數(shù);調(diào)用接受函數(shù); if(keypress)調(diào)用按鍵處理函數(shù);調(diào)用按鍵處理函數(shù); 這里,這里,TI、RI、keypress分別為定時(shí)到標(biāo)分別為定時(shí)到標(biāo)志、發(fā)送緩沖器空標(biāo)志、接收緩沖器滿標(biāo)志和有志、發(fā)送緩沖器空標(biāo)志、接收緩沖器滿標(biāo)志和有鍵按下標(biāo)志。鍵按下標(biāo)志。所謂中斷是指,單片機(jī)內(nèi)部有一個(gè)所謂中斷是指,單片機(jī)內(nèi)部有一個(gè)中斷管理系統(tǒng)中斷管理系統(tǒng),它對(duì)內(nèi)部的定時(shí)器事件、串行通
8、信的發(fā)送和接收事它對(duì)內(nèi)部的定時(shí)器事件、串行通信的發(fā)送和接收事件及外部事件(如鍵盤按鍵動(dòng)作)等件及外部事件(如鍵盤按鍵動(dòng)作)等進(jìn)行自動(dòng)的檢進(jìn)行自動(dòng)的檢測(cè)測(cè)判斷,判斷,當(dāng)有某個(gè)事件產(chǎn)生時(shí),中斷管理系統(tǒng)會(huì)置當(dāng)有某個(gè)事件產(chǎn)生時(shí),中斷管理系統(tǒng)會(huì)置位相應(yīng)標(biāo)志位相應(yīng)標(biāo)志通知通知CPU,請(qǐng)求請(qǐng)求CPU迅速去處理。迅速去處理。CPU檢測(cè)到某個(gè)標(biāo)志時(shí),會(huì)停止當(dāng)前正在處理的程序流檢測(cè)到某個(gè)標(biāo)志時(shí),會(huì)停止當(dāng)前正在處理的程序流程,轉(zhuǎn)去處理所發(fā)生的事件(針對(duì)發(fā)生的事件,調(diào)程,轉(zhuǎn)去處理所發(fā)生的事件(針對(duì)發(fā)生的事件,調(diào)用某一特定的函數(shù),稱為該事件的用某一特定的函數(shù),稱為該事件的中斷服務(wù)函數(shù)中斷服務(wù)函數(shù)),),處理完以后,再回
9、到原來被中斷的地方,繼續(xù)執(zhí)行處理完以后,再回到原來被中斷的地方,繼續(xù)執(zhí)行原來的程序。這個(gè)過程稱為原來的程序。這個(gè)過程稱為中斷中斷。(。(CPU對(duì)中斷標(biāo)對(duì)中斷標(biāo)志的檢測(cè)是在程序指令執(zhí)行的周期中順帶進(jìn)行的,志的檢測(cè)是在程序指令執(zhí)行的周期中順帶進(jìn)行的,不影響指令的連續(xù)執(zhí)行。不影響指令的連續(xù)執(zhí)行。 ) 注:程序中的一般函數(shù)是由主函數(shù)或其它函數(shù)調(diào)用注:程序中的一般函數(shù)是由主函數(shù)或其它函數(shù)調(diào)用的,而中斷服務(wù)函數(shù)不能被其它函數(shù)調(diào)用,它的執(zhí)的,而中斷服務(wù)函數(shù)不能被其它函數(shù)調(diào)用,它的執(zhí)行完全是隨機(jī)的。行完全是隨機(jī)的。 中斷管理系統(tǒng)可以處理的事件稱為中斷管理系統(tǒng)可以處理的事件稱為中斷源中斷源。一。一般計(jì)算機(jī)系統(tǒng)允
10、許有多個(gè)中斷源,當(dāng)幾個(gè)中斷源同般計(jì)算機(jī)系統(tǒng)允許有多個(gè)中斷源,當(dāng)幾個(gè)中斷源同時(shí)向時(shí)向CPU請(qǐng)求中斷,要求為它們服務(wù)的時(shí)候,就存請(qǐng)求中斷,要求為它們服務(wù)的時(shí)候,就存在在CPU優(yōu)先響應(yīng)哪一個(gè)中斷請(qǐng)求源的問題,一般根優(yōu)先響應(yīng)哪一個(gè)中斷請(qǐng)求源的問題,一般根據(jù)中斷源(所發(fā)生的實(shí)時(shí)事件)的輕重緩急排隊(duì),據(jù)中斷源(所發(fā)生的實(shí)時(shí)事件)的輕重緩急排隊(duì),優(yōu)先處理最緊急事件的中斷請(qǐng)求,于是規(guī)定每一個(gè)優(yōu)先處理最緊急事件的中斷請(qǐng)求,于是規(guī)定每一個(gè)中斷源都有自己的中斷源都有自己的中斷優(yōu)先級(jí)別中斷優(yōu)先級(jí)別。 當(dāng)當(dāng)CPU正在處理一個(gè)中斷源請(qǐng)求時(shí),又發(fā)生了正在處理一個(gè)中斷源請(qǐng)求時(shí),又發(fā)生了另一個(gè)優(yōu)先級(jí)比它高的中斷請(qǐng)求,如果另一個(gè)
11、優(yōu)先級(jí)比它高的中斷請(qǐng)求,如果CPU能夠暫能夠暫時(shí)中止執(zhí)行當(dāng)前的中斷服務(wù)程序,轉(zhuǎn)而去處理優(yōu)先時(shí)中止執(zhí)行當(dāng)前的中斷服務(wù)程序,轉(zhuǎn)而去處理優(yōu)先級(jí)更高的中斷請(qǐng)求,待處理完以后,再繼續(xù)執(zhí)行原級(jí)更高的中斷請(qǐng)求,待處理完以后,再繼續(xù)執(zhí)行原來的低級(jí)中斷處理程序,這樣的過程稱為來的低級(jí)中斷處理程序,這樣的過程稱為中斷嵌套中斷嵌套,這樣的中斷系統(tǒng)稱為多級(jí)中斷系統(tǒng)。沒有中斷嵌套這樣的中斷系統(tǒng)稱為多級(jí)中斷系統(tǒng)。沒有中斷嵌套功能的中斷系統(tǒng)稱為單級(jí)中斷系統(tǒng)。功能的中斷系統(tǒng)稱為單級(jí)中斷系統(tǒng)。 中斷系統(tǒng)要解決的問題CPU在不斷的執(zhí)行指令中,是如何檢測(cè)到隨機(jī)發(fā)生的中斷請(qǐng)求中斷能夠人為控制嗎(允許中斷或禁止中斷)中斷是隨機(jī)產(chǎn)生的,
12、不能用一般的子程序調(diào)用,那么如何處理中斷處理子程序呢當(dāng)有多個(gè)中斷時(shí)怎么處理中斷服務(wù)完畢,如何正確回到原斷點(diǎn)處MCS51中斷系統(tǒng)中斷系統(tǒng) MCS51系列中不同型號(hào)單片機(jī)的中斷源數(shù)量系列中不同型號(hào)單片機(jī)的中斷源數(shù)量是不同的(是不同的(511個(gè)),最典型的個(gè)),最典型的8051單片機(jī)有單片機(jī)有5個(gè)中斷源(外部中斷個(gè)中斷源(外部中斷0、1,內(nèi)部定時(shí)器中斷,內(nèi)部定時(shí)器中斷0、1,串口中斷),具有兩個(gè)中斷優(yōu)先級(jí)串口中斷),具有兩個(gè)中斷優(yōu)先級(jí)。與中斷系統(tǒng)有。與中斷系統(tǒng)有關(guān)的特殊功能寄存器有中斷允許寄存器關(guān)的特殊功能寄存器有中斷允許寄存器IE、中斷優(yōu)中斷優(yōu)先級(jí)控制寄存器先級(jí)控制寄存器IP、中斷控制寄存器中斷控
13、制寄存器TCON和和SCON中有關(guān)位。中有關(guān)位。MCS51單片機(jī)基本的中斷系統(tǒng)結(jié)構(gòu)如單片機(jī)基本的中斷系統(tǒng)結(jié)構(gòu)如圖圖41所示。所示。 外部中斷請(qǐng)求0內(nèi)部定時(shí)器0外部中斷請(qǐng)求1內(nèi)部定時(shí)器1 內(nèi)部 T串行口 R中斷請(qǐng)求標(biāo)志寄存器源允許總允許允許中斷寄存器中斷優(yōu)先級(jí)寄存器中斷源標(biāo)識(shí)符中斷源標(biāo)識(shí)符高優(yōu)先級(jí)中斷請(qǐng)求中斷矢量低優(yōu)先級(jí)中斷請(qǐng)求中斷矢量T發(fā)送R接收INT0INT1查詢硬件圖41 MCS51的中斷系統(tǒng)1中斷源與中斷標(biāo)志中斷源與中斷標(biāo)志 MCS51中典型的中典型的8051單片機(jī)有單片機(jī)有5個(gè)個(gè)中斷源:中斷源:兩個(gè)外部?jī)蓚€(gè)外部中斷:(中斷:(P3.2 INT0、P3.3 INT1)上上輸入輸入的外部中
14、斷源,低電平或負(fù)跳變有效,置位的外部中斷源,低電平或負(fù)跳變有效,置位TCON中的中的IE0和和IE1中斷請(qǐng)求標(biāo)志位;中斷請(qǐng)求標(biāo)志位;三個(gè)內(nèi)部三個(gè)內(nèi)部中斷源:定時(shí)器計(jì)數(shù)器中斷源:定時(shí)器計(jì)數(shù)器T0、T1的溢出中斷的溢出中斷源和串行口的發(fā)送源和串行口的發(fā)送/接收中斷。對(duì)接收中斷。對(duì)T0和和T1中斷,當(dāng)定中斷,當(dāng)定時(shí)計(jì)數(shù)回時(shí)計(jì)數(shù)回0溢出時(shí),由硬件自動(dòng)置位溢出時(shí),由硬件自動(dòng)置位TCON中的中的TF0或或TF1中斷請(qǐng)求標(biāo)志位;對(duì)串行接收發(fā)送中斷,當(dāng)中斷請(qǐng)求標(biāo)志位;對(duì)串行接收發(fā)送中斷,當(dāng)完成一串行完成一串行幀幀的接收發(fā)送時(shí),由硬件自動(dòng)置的接收發(fā)送時(shí),由硬件自動(dòng)置SCON中的中斷請(qǐng)求標(biāo)志位中的中斷請(qǐng)求標(biāo)志位T
15、I(發(fā)送)或發(fā)送)或RI(接收),必須接收),必須由用戶在中斷服務(wù)程序中復(fù)位由用戶在中斷服務(wù)程序中復(fù)位TI或或RI。 中斷控制寄存器中斷控制寄存器TCON的各位(可位尋址):的各位(可位尋址):IE0:外部中斷外部中斷0請(qǐng)求源(請(qǐng)求源(INT0)標(biāo)志。標(biāo)志。 IE01,外部中斷外部中斷0正在向正在向CPU請(qǐng)求中斷,當(dāng)請(qǐng)求中斷,當(dāng) CPU響應(yīng)該中斷時(shí)由硬件清零響應(yīng)該中斷時(shí)由硬件清零IE0(邊沿觸發(fā)方式)。邊沿觸發(fā)方式)。IT0:外部中斷源外部中斷源 INT0 觸發(fā)方式控制位。觸發(fā)方式控制位。IT0 0,外部中斷外部中斷0程控為程控為電平觸發(fā)方式電平觸發(fā)方式,當(dāng),當(dāng)P3.2輸入低電平時(shí),置位輸入低
16、電平時(shí),置位IE0。IT0 1,外部中斷外部中斷0程程控為控為邊沿觸發(fā)方式邊沿觸發(fā)方式,相繼的兩次采樣,一個(gè)周期中,相繼的兩次采樣,一個(gè)周期中采樣到為高電平,接著的下個(gè)周期中采樣到為低電采樣到為高電平,接著的下個(gè)周期中采樣到為低電平,則置平,則置1 IE0。D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0IE1:外部中斷外部中斷1請(qǐng)求(請(qǐng)求(INT1,P3.3)標(biāo)志。標(biāo)志。 IE1 1外部中斷外部中斷1向向 CPU請(qǐng)求中斷,當(dāng)請(qǐng)求中斷,當(dāng) CPU響應(yīng)響應(yīng)外部中斷時(shí),由硬件清外部中斷時(shí),由硬件清0 IE1(邊沿觸發(fā)方式)。邊沿觸發(fā)方式)。IT1:外部中斷外部中斷1
17、觸發(fā)方式控制位。觸發(fā)方式控制位。 IT1 0,外部中斷外部中斷1程控為電平觸發(fā)方式,程控為電平觸發(fā)方式,IT1 1,外部中斷外部中斷1為邊沿觸發(fā)方式。其功能和為邊沿觸發(fā)方式。其功能和IT0類似。類似。TR0:定時(shí)計(jì)數(shù)器定時(shí)計(jì)數(shù)器T0運(yùn)行控制位。運(yùn)行控制位。(啟動(dòng)(啟動(dòng)/停止)停止)TF0:定時(shí)計(jì)數(shù)器定時(shí)計(jì)數(shù)器T0溢出中斷標(biāo)志位,溢出中斷標(biāo)志位,CPU執(zhí)行中執(zhí)行中斷服務(wù)程序時(shí)由硬件復(fù)位。斷服務(wù)程序時(shí)由硬件復(fù)位。TR1:定時(shí)計(jì)數(shù)器定時(shí)計(jì)數(shù)器T1運(yùn)行控制位。運(yùn)行控制位。TF1:定時(shí)計(jì)數(shù)器定時(shí)計(jì)數(shù)器T1溢出中斷標(biāo)志位,溢出中斷標(biāo)志位,CPU執(zhí)行中執(zhí)行中斷服務(wù)程序時(shí)由硬件復(fù)位。斷服務(wù)程序時(shí)由硬件復(fù)位。
18、串行口中斷:串行口的接收中斷標(biāo)志串行口中斷:串行口的接收中斷標(biāo)志RI(SCON.0)和發(fā)送中斷標(biāo)志和發(fā)送中斷標(biāo)志TI(SCON.1)邏輯或以后作為內(nèi)邏輯或以后作為內(nèi)部的一個(gè)中斷源。當(dāng)串行口發(fā)送完一個(gè)字符由內(nèi)部部的一個(gè)中斷源。當(dāng)串行口發(fā)送完一個(gè)字符由內(nèi)部硬件置位發(fā)送中斷標(biāo)志硬件置位發(fā)送中斷標(biāo)志TI,接收到一個(gè)字符后也由接收到一個(gè)字符后也由內(nèi)部硬件置位接收中斷標(biāo)志內(nèi)部硬件置位接收中斷標(biāo)志RI。應(yīng)該注意,應(yīng)該注意,CPU響響應(yīng)串行口的中斷時(shí),并不清應(yīng)串行口的中斷時(shí),并不清0 TI和和RI中斷標(biāo)志,中斷標(biāo)志,TI和和RI必須由軟件清必須由軟件清0(中斷服務(wù)程序中必須有清(中斷服務(wù)程序中必須有清 TI、
19、RI的指令)。的指令)。SCON:串行通信控制寄存器:串行通信控制寄存器2中斷控制中斷控制(1)中斷允許寄存器)中斷允許寄存器IEMCS51的的CPU對(duì)中斷源的開放或屏蔽,即每一個(gè)對(duì)中斷源的開放或屏蔽,即每一個(gè)中斷源是否被允許中斷,是由內(nèi)部的中斷允許寄存中斷源是否被允許中斷,是由內(nèi)部的中斷允許寄存器器IE(IE為特殊功能寄存器,它的字節(jié)地址為特殊功能寄存器,它的字節(jié)地址A8H,可位尋址)控制的,其格式如下:可位尋址)控制的,其格式如下:EA:CPU的中斷開放標(biāo)志。的中斷開放標(biāo)志。 EA 1,CPU開放中斷;開放中斷; EA 0,CPU屏蔽所有的中斷申請(qǐng)。屏蔽所有的中斷申請(qǐng)。EX0:外部中斷外部
20、中斷0中斷允許位。中斷允許位。 EX0 1,允許中斷;允許中斷;EX0 0,禁止中斷。禁止中斷。 D7D6D5D4D3D2D1D0EA ESET1EX1ET0EX0ET0:T0的溢出中斷允許位。的溢出中斷允許位。 ET0 1,允許允許T0中斷;中斷; ET0 0,禁止禁止T0中斷。中斷。EX1:外部中斷外部中斷1中斷允許位。中斷允許位。 EX1 1,允許外部中斷允許外部中斷1中斷;中斷; EX1 0,禁止外部中斷禁止外部中斷1中斷。中斷。ET1:定時(shí)器計(jì)數(shù)器定時(shí)器計(jì)數(shù)器 T1的溢出中斷允許位。的溢出中斷允許位。 ET1 1,允許允許T1中斷;中斷; ET1 0禁止禁止T1中斷。中斷。ES: 串
21、行口中斷允許位。串行口中斷允許位。 ES 1,允許串行口中斷;允許串行口中斷; ES 0禁止串行口中斷。禁止串行口中斷。 (2)中斷優(yōu)先級(jí)控制)中斷優(yōu)先級(jí)控制MCS51有兩個(gè)中斷優(yōu)先級(jí),每一中斷請(qǐng)求源可編程為有兩個(gè)中斷優(yōu)先級(jí),每一中斷請(qǐng)求源可編程為高優(yōu)先級(jí)中斷或低優(yōu)先級(jí)中斷,實(shí)現(xiàn)二級(jí)中斷嵌套。一高優(yōu)先級(jí)中斷或低優(yōu)先級(jí)中斷,實(shí)現(xiàn)二級(jí)中斷嵌套。一個(gè)正在被執(zhí)行的低優(yōu)先級(jí)中斷服務(wù)程序能被高優(yōu)先級(jí)中個(gè)正在被執(zhí)行的低優(yōu)先級(jí)中斷服務(wù)程序能被高優(yōu)先級(jí)中斷所中斷,斷所中斷,但不能被另一個(gè)同級(jí)的或低優(yōu)先級(jí)中斷源所但不能被另一個(gè)同級(jí)的或低優(yōu)先級(jí)中斷源所中斷。中斷。若若CPU正在執(zhí)行高優(yōu)先級(jí)的中斷服務(wù)程序,則不正在執(zhí)
22、行高優(yōu)先級(jí)的中斷服務(wù)程序,則不能被任何中斷源所中斷,一直執(zhí)行到結(jié)束,遇到返回指能被任何中斷源所中斷,一直執(zhí)行到結(jié)束,遇到返回指令令RETI,返回主程序后再執(zhí)行一條指令才能響應(yīng)新的中返回主程序后再執(zhí)行一條指令才能響應(yīng)新的中斷源申請(qǐng)。斷源申請(qǐng)。*為了實(shí)現(xiàn)上述功能,為了實(shí)現(xiàn)上述功能,MCS51的中斷系統(tǒng)有兩個(gè)不可尋的中斷系統(tǒng)有兩個(gè)不可尋址的優(yōu)先級(jí)狀態(tài)觸發(fā)器,一個(gè)指出址的優(yōu)先級(jí)狀態(tài)觸發(fā)器,一個(gè)指出CPU是否正在執(zhí)行高是否正在執(zhí)行高優(yōu)先級(jí)中斷服務(wù)程序,另一個(gè)指出優(yōu)先級(jí)中斷服務(wù)程序,另一個(gè)指出CPU是否正在執(zhí)行低是否正在執(zhí)行低級(jí)中斷服務(wù)程序。這兩個(gè)觸發(fā)器的級(jí)中斷服務(wù)程序。這兩個(gè)觸發(fā)器的1狀態(tài)分別屏蔽狀態(tài)分
23、別屏蔽所有的中斷申請(qǐng)和同一優(yōu)先級(jí)的其他中斷源申請(qǐng)。所有的中斷申請(qǐng)和同一優(yōu)先級(jí)的其他中斷源申請(qǐng)。另外,另外,MCS51的片內(nèi)有一個(gè)中斷優(yōu)先級(jí)寄存器的片內(nèi)有一個(gè)中斷優(yōu)先級(jí)寄存器IP(IP為特殊功能寄存器,它的字節(jié)地址為為特殊功能寄存器,它的字節(jié)地址為B8H,可位尋址),可位尋址),其格式如下:其格式如下: PX0:外部中斷外部中斷0中斷優(yōu)先級(jí)控制位。中斷優(yōu)先級(jí)控制位。 PX0 1,外部中斷外部中斷0中斷定義為高優(yōu)先級(jí)中斷;中斷定義為高優(yōu)先級(jí)中斷; PX0 0,外部中斷外部中斷0中斷定義為低優(yōu)先級(jí)中斷。中斷定義為低優(yōu)先級(jí)中斷。PT0:定時(shí)器定時(shí)器T0中斷優(yōu)先級(jí)控制位。中斷優(yōu)先級(jí)控制位。 PT0 1,
24、定時(shí)器定時(shí)器T0中斷定義為高優(yōu)先級(jí)中斷;中斷定義為高優(yōu)先級(jí)中斷; PT0 0,定時(shí)器定時(shí)器T0中斷定義為低優(yōu)先級(jí)中斷。中斷定義為低優(yōu)先級(jí)中斷。PX1:外部中斷外部中斷1中斷優(yōu)先級(jí)控制位。中斷優(yōu)先級(jí)控制位。 PX1 = 1,外部中斷外部中斷1中斷定義為高優(yōu)先級(jí)中斷;中斷定義為高優(yōu)先級(jí)中斷; PX1 0,外部中斷外部中斷1中斷定義為低優(yōu)先級(jí)中斷。中斷定義為低優(yōu)先級(jí)中斷。PT1:定時(shí)器定時(shí)器T1中斷優(yōu)先級(jí)控制位。中斷優(yōu)先級(jí)控制位。 PT1 1,定時(shí)器定時(shí)器T1中斷定義為高優(yōu)先級(jí)中斷;中斷定義為高優(yōu)先級(jí)中斷; PT1 0,定時(shí)器定時(shí)器T1中斷定義為低優(yōu)先級(jí)中斷。中斷定義為低優(yōu)先級(jí)中斷。 D7D6D5D
25、4D3D2D1D0 PSPT1PX1PT0PX0PS:串行口中斷優(yōu)先級(jí)控制位。串行口中斷優(yōu)先級(jí)控制位。 PS 1,串行口中斷定義為高優(yōu)先級(jí)中斷;串行口中斷定義為高優(yōu)先級(jí)中斷; PS 0,行口中斷定義為低優(yōu)先級(jí)中斷。行口中斷定義為低優(yōu)先級(jí)中斷。在在 CPU接收到接收到同樣優(yōu)先級(jí)同樣優(yōu)先級(jí)的幾個(gè)中斷請(qǐng)求源時(shí),的幾個(gè)中斷請(qǐng)求源時(shí),一個(gè)內(nèi)部的硬件查詢序列確定優(yōu)先服務(wù)于哪一個(gè)中一個(gè)內(nèi)部的硬件查詢序列確定優(yōu)先服務(wù)于哪一個(gè)中斷申請(qǐng),這樣在同一個(gè)優(yōu)先級(jí)里,由查詢序列確定斷申請(qǐng),這樣在同一個(gè)優(yōu)先級(jí)里,由查詢序列確定了優(yōu)先級(jí)結(jié)構(gòu),其優(yōu)先級(jí)別排列如下:了優(yōu)先級(jí)結(jié)構(gòu),其優(yōu)先級(jí)別排列如下: 外部中斷外部中斷0 最高最高
26、 定時(shí)器定時(shí)器T0中斷中斷 外部中斷外部中斷1 定時(shí)器定時(shí)器T1中斷中斷 串行口中斷串行口中斷 最低最低# MCS51復(fù)位以后,特殊功能寄存器復(fù)位以后,特殊功能寄存器IE、IP的內(nèi)容均為的內(nèi)容均為0,由初始化程序?qū)?,由初始化程序?qū)E、IP編程,以開編程,以開放中央處理器放中央處理器CPU中斷、允許某些中斷源中斷和改中斷、允許某些中斷源中斷和改變中斷的優(yōu)先級(jí)。變中斷的優(yōu)先級(jí)。 *3中斷響應(yīng)過程中斷響應(yīng)過程 MCS51的的CPU在每一個(gè)機(jī)器周期順序檢查每一在每一個(gè)機(jī)器周期順序檢查每一個(gè)中斷源。在個(gè)中斷源。在機(jī)器周期的機(jī)器周期的S6采樣采樣并按優(yōu)先級(jí)處理所并按優(yōu)先級(jí)處理所有被激活的中斷請(qǐng)求,如果沒
27、有被下述條件所阻止,有被激活的中斷請(qǐng)求,如果沒有被下述條件所阻止,將在下一個(gè)機(jī)器周期的狀態(tài)將在下一個(gè)機(jī)器周期的狀態(tài)S1響應(yīng)激活了的最高級(jí)響應(yīng)激活了的最高級(jí)中斷請(qǐng)求。中斷請(qǐng)求。CPU正在處理相同的或更高優(yōu)先級(jí)的中斷;正在處理相同的或更高優(yōu)先級(jí)的中斷;現(xiàn)行的機(jī)器周期不是所執(zhí)行指令的最后一個(gè)機(jī)器周現(xiàn)行的機(jī)器周期不是所執(zhí)行指令的最后一個(gè)機(jī)器周期;期; 正在執(zhí)行的指令是中斷返回指令(RETI)或者是對(duì)IE、IP的寫操作指令(執(zhí)行這些指令后至少再執(zhí)行一條指令后才會(huì)響應(yīng)中斷)。 *如果上述條件中有一個(gè)存在,CPU將丟棄中斷查詢的結(jié)果;若一個(gè)條件也不存在,將在緊接著的下一個(gè)機(jī)器周期執(zhí)行中斷查詢的結(jié)果。處理器響
28、應(yīng)中斷時(shí),先置位相應(yīng)的優(yōu)先級(jí)狀態(tài)觸發(fā)器(該觸發(fā)器指出CPU開始處理的中斷優(yōu)先級(jí)別),然后執(zhí)行一條硬件子程序調(diào)用,清0中斷請(qǐng)求源申請(qǐng)標(biāo)志(TI和RI除外)。接著把程序計(jì)數(shù)部PC的內(nèi)容壓入堆棧(但不保護(hù)PSW),將被響應(yīng)的中斷服務(wù)程序的入口地址送程序計(jì)數(shù)器PC,各中斷源服務(wù)程序的入口地址為: 外部中斷00003H定時(shí)器T0000BH外部中斷10013H定時(shí)器T1001BH串行口中斷0023H通常在中斷入口,安排一條跳轉(zhuǎn)指令,以轉(zhuǎn)移到用戶設(shè)計(jì)的中斷處理程序入口。CPU執(zhí)行中斷處理程序一直到RETI指令為止。RETI指令是表示中斷服務(wù)程序的結(jié)束,CPU執(zhí)行完這條指令后,清0響應(yīng)中斷時(shí)所置位的優(yōu)先級(jí)狀態(tài)
29、觸發(fā)器,然后從堆棧中彈出頂上的兩個(gè)字節(jié)到程序計(jì)數(shù)器 PC,CPU從原來打斷處重新執(zhí)行被中斷的程序。由此可見,用戶的中斷服務(wù)程序末尾必須安排一條返回指令RETI,CPU現(xiàn)場(chǎng)的保護(hù)和恢復(fù)必須由用戶的中斷服務(wù)程序?qū)崿F(xiàn)。 * *一、中斷處理過程一、中斷處理過程 中斷處理過程分為四個(gè)階段:中斷請(qǐng)求,中斷處理過程分為四個(gè)階段:中斷請(qǐng)求,中斷響應(yīng),中斷處理、中斷返回。中斷響應(yīng),中斷處理、中斷返回。MCSMCS5151系列單系列單 片機(jī)的中斷過程流程如圖片機(jī)的中斷過程流程如圖6.26.2所示。所示。 NNYYYN執(zhí)執(zhí) 行行 指指 令令中斷標(biāo)志中斷標(biāo)志1?(中斷請(qǐng)求中斷請(qǐng)求?) 指令指令最后一個(gè)最后一個(gè)T周期周
30、期?EA=1?允允 許許 位位 = 1?CPU 判判 別優(yōu)別優(yōu) 先權(quán)先權(quán) ,響響 應(yīng)優(yōu)應(yīng)優(yōu) 先權(quán)高先權(quán)高 的中斷的中斷斷點(diǎn)的斷點(diǎn)的PC進(jìn)棧進(jìn)棧, 中斷服務(wù)入口地址送中斷服務(wù)入口地址送PC撤撤 除除 中中 斷斷 標(biāo)標(biāo) 志志中中 斷斷 服服 務(wù)務(wù)中中 斷斷 返返 回回, 斷斷 點(diǎn)點(diǎn) 出出 棧棧 送送 PC 中斷請(qǐng)求中斷請(qǐng)求.中斷響應(yīng)中斷響應(yīng)中斷服務(wù)中斷服務(wù)中斷返回中斷返回中斷請(qǐng)求、中斷響應(yīng)過程由硬件完成。中斷請(qǐng)求、中斷響應(yīng)過程由硬件完成。中斷服務(wù)程序應(yīng)根據(jù)需要進(jìn)行編寫。程序中要注意保護(hù)中斷服務(wù)程序應(yīng)根據(jù)需要進(jìn)行編寫。程序中要注意保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)。現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)。中斷返回是通過執(zhí)行一條中斷返回是通
31、過執(zhí)行一條RETIRETI中斷返回指令,使堆棧中中斷返回指令,使堆棧中被壓入的斷被壓入的斷 點(diǎn)地址送點(diǎn)地址送PCPC,從而返回主程序的斷點(diǎn)繼續(xù)執(zhí),從而返回主程序的斷點(diǎn)繼續(xù)執(zhí)行主程序。另外行主程序。另外RETIRETI還有恢復(fù)優(yōu)先級(jí)狀態(tài)觸發(fā)器還有恢復(fù)優(yōu)先級(jí)狀態(tài)觸發(fā)器 的作用,的作用,因此不能以因此不能以RETRET指令代替指令代替“RETIRETI”指令。指令。 * *二、中斷請(qǐng)求的撤除二、中斷請(qǐng)求的撤除 CPUCPU響應(yīng)中斷后,應(yīng)撤除該中斷請(qǐng)求標(biāo)志,否則響應(yīng)中斷后,應(yīng)撤除該中斷請(qǐng)求標(biāo)志,否則會(huì)再次中斷。會(huì)再次中斷。u對(duì)定時(shí)計(jì)數(shù)器對(duì)定時(shí)計(jì)數(shù)器T0、T1的溢出中斷,的溢出中斷,CPU響應(yīng)中斷后,硬
32、件響應(yīng)中斷后,硬件自動(dòng)清除中斷請(qǐng)求標(biāo)志自動(dòng)清除中斷請(qǐng)求標(biāo)志TF0 TF1。u 對(duì)邊沿觸發(fā)的外部中斷對(duì)邊沿觸發(fā)的外部中斷INT1和和INT0,CPU響應(yīng)中斷后硬件響應(yīng)中斷后硬件自動(dòng)清除中斷請(qǐng)求標(biāo)志自動(dòng)清除中斷請(qǐng)求標(biāo)志IE0和和IE1。u 對(duì)于串行口中斷,對(duì)于串行口中斷,CPU響應(yīng)中斷后,沒有用硬件清除中斷請(qǐng)響應(yīng)中斷后,沒有用硬件清除中斷請(qǐng)求標(biāo)志求標(biāo)志TI、RI,即這些中斷標(biāo)志,即這些中斷標(biāo)志 不會(huì)自動(dòng)清除,必須用軟件清不會(huì)自動(dòng)清除,必須用軟件清除,這是在編串行通信中斷服務(wù)中應(yīng)該注意的。除,這是在編串行通信中斷服務(wù)中應(yīng)該注意的。u 對(duì)電平觸發(fā)的外部中斷,對(duì)電平觸發(fā)的外部中斷,CPU在響應(yīng)中斷時(shí)也不
33、會(huì)自動(dòng)清除在響應(yīng)中斷時(shí)也不會(huì)自動(dòng)清除中斷標(biāo)志,因此,在中斷標(biāo)志,因此,在CPU響應(yīng)中斷后應(yīng)立即撤除響應(yīng)中斷后應(yīng)立即撤除INT1或或INT0的的低電平信號(hào)。低電平信號(hào)。*4外部中斷響應(yīng)時(shí)間INT0和INT1電平在每一個(gè)機(jī)器周期的S5P2被采樣并鎖存到IE0、IE2中,這個(gè)新置入的IE0、IEI狀態(tài)等到下一個(gè)機(jī)器周期才被查詢電路查詢到。如果中斷被激活,并且滿足響應(yīng)條件,CPU接著執(zhí)行一條硬件子程序調(diào)用指令以轉(zhuǎn)到相應(yīng)的服務(wù)程序入口,該調(diào)用指令本身需兩個(gè)機(jī)器周期。這樣,在產(chǎn)生外部中斷請(qǐng)求到開始執(zhí)行中斷服務(wù)程序的第一條指令之間,最少需要三個(gè)完整的機(jī)器周期。如果中斷請(qǐng)求被前面列出的三個(gè)條件之一所阻止,則需
34、要更長(zhǎng)的響應(yīng)時(shí)間。如果已經(jīng)在處理同級(jí)或更高級(jí)中斷,額外的等待時(shí)間明顯地取決于別的中斷服務(wù)程序的處理過程。當(dāng)沒有處理同級(jí)或更高級(jí)中斷時(shí),如果正在處理的指令沒有執(zhí)行到最后的機(jī)器周期,所需的額外等待時(shí)間不會(huì)多于3個(gè)機(jī)器周期,因?yàn)樽铋L(zhǎng)的指令(乘法指令MUL和除法指令 DIV)也只有 4個(gè)機(jī)器周期,如果正在執(zhí)行的指令為IE、IP的指令,額外的等待時(shí)間不會(huì)多于 5個(gè)機(jī)器周期(最多需一個(gè)周期完成正在處理的指令,完成下一條指令(設(shè)MUL或DIV)4個(gè)機(jī)器周期)。這樣,在一個(gè)單一中斷優(yōu)先級(jí)的系統(tǒng)里,外部中斷響應(yīng)時(shí)間總是在38個(gè)機(jī)器周期之間。 *外部中斷觸發(fā)方式選擇1電平觸發(fā)方式 若外部中斷定為電平觸發(fā)方式,外部
35、引腳中斷輸入必須有效(保持低電平),直到CPU實(shí)際響應(yīng)該中斷時(shí)為止,同時(shí)在中斷服務(wù)程序返回之前,外部中斷輸入必須無效(高電平),否則CPU返回后會(huì)再次引起中斷。所以電平觸發(fā)方式適合于外部中斷輸入以低電平輸入的、而且中斷服務(wù)程序能清除外部中斷輸入請(qǐng)求信號(hào)的情況。在用戶系統(tǒng)中,可將中斷輸入信號(hào)經(jīng)一個(gè)D觸發(fā)器接入,并使D觸發(fā)器的D端接地,當(dāng)外部中斷請(qǐng)求的正脈沖信號(hào)出現(xiàn)在D觸發(fā)器的CLK端時(shí),D觸發(fā)器的Q端產(chǎn)生負(fù)電平,INTx有效,發(fā)出中斷請(qǐng)求,CPU執(zhí)行中斷服務(wù)程序時(shí),利用一根口線,如P1.0,輸出一負(fù)電平脈沖使D觸發(fā)器置位,撤消中斷請(qǐng)求。 2邊沿觸發(fā)方式外部中斷若定義為邊沿觸發(fā)方式,外部中斷申請(qǐng)觸
36、發(fā)器能鎖存外部中斷輸入線上的負(fù)跳變,即使CPU暫時(shí)不能響應(yīng),中斷申請(qǐng)標(biāo)志也不會(huì)丟失。在這種方式里,如果相繼連續(xù)兩次采樣,一個(gè)周期采樣到外部中斷輸入為高電平,下個(gè)周期采樣到低電平,則置位中斷申請(qǐng)觸發(fā)器,直到CPU響應(yīng)此中斷時(shí)才清0。這樣不會(huì)丟失中斷,但輸入的脈沖寬度至少保持12個(gè)時(shí)鐘周期(若晶振頻率為6MHz,即 2S)才能被CPU采樣到。外部中斷的邊沿觸發(fā)方式適合于以脈沖形式輸入的外部輸入請(qǐng)求,如ADC0809的AD轉(zhuǎn)換結(jié)果的標(biāo)志信號(hào)EOC為正脈沖,取反后連到8031的INTx,就可以中斷方式讀取AD的轉(zhuǎn)換結(jié)果。 中斷服務(wù)程序及例程使用MCS51的中斷,要為使用到的中斷源編寫中斷服務(wù)程序。C5
37、1為中斷服務(wù)程序的編寫提供了方便的方法。C51的中斷服務(wù)程序是一種特殊的函數(shù),它的說明形式為:void 函數(shù)名(void) interrupt n using m 函數(shù)體語句 這里,interrupt和using是為編寫C51中斷服務(wù)程序而引入的關(guān)鍵字,interrupt表示該函數(shù)是一個(gè)中斷服務(wù)函數(shù),interrupt后的整數(shù)n表示該中斷服務(wù)函數(shù)是對(duì)應(yīng)哪一個(gè)中斷源。 每個(gè)中斷源都有系統(tǒng)指定的中斷編號(hào): 中 斷 源 中 斷 編 號(hào)外部中斷00定時(shí)器T01外部中斷12定時(shí)器T13串行口中斷4using指定該中斷服務(wù)程序要使用的工作寄存器組號(hào),m為03。關(guān)鍵字interrupt和using只能用于中
38、斷服務(wù)函數(shù)的說明而不能用于其它函數(shù)。程序中的任何函數(shù)都不能調(diào)用中斷服務(wù)函數(shù),中斷服務(wù)函數(shù)是由系統(tǒng)調(diào)用的。例:例:INT0端口接一開關(guān),端口接一開關(guān),P1.0接一發(fā)光二極管。接一發(fā)光二極管。開關(guān)閉合(接地)時(shí),發(fā)光二極管改變一次狀態(tài)。開關(guān)閉合(接地)時(shí),發(fā)光二極管改變一次狀態(tài)。#include “reg51.h”#include “intrins.h”Sbit P10=P10void delay(void) int a = 5000; while(a) _nop_( ); /*INTRINS.H中說明的內(nèi)部函數(shù)中說明的內(nèi)部函數(shù)*/P1.0INT0void int0_srv(void) inter
39、rupt 0 using 1 delay()(); if(INT0 = 0) P10 = !P10 ; while(INT0 = 0 ); void main()() P10 = 0; 初始化初始化TCON、IE、IP EA = 1; IT0=0; EX0 = 1; while(1); &+5V+5VP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.789C51EA&INT011111K 41K 2300 4圖6.、例6-1例如,對(duì)本節(jié)的例例如,對(duì)本節(jié)的例1用用C語言編程語言編程#includeint0() interrupt 0 /*INT0中斷函數(shù)中斷函數(shù)*/
40、P1=0 x0f; /*輸入端先置輸入端先置1,燈滅,燈滅*/ P1=4; /* 讀入開關(guān)狀態(tài),并左移四位,讀入開關(guān)狀態(tài),并左移四位, 使開關(guān)反映在發(fā)光二極管上使開關(guān)反映在發(fā)光二極管上*/ main() EA=1; /*開中斷總開關(guān)開中斷總開關(guān)*/ EX0=1; /*允許允許INT0中斷中斷*/ IT0=1; /*下降沿產(chǎn)生中斷下降沿產(chǎn)生中斷*/ while(1); /*等待中斷等待中斷*/ P1.189C51P1.0P1.2P1.4P1.3P1.5P1.6&1K 2INT1驅(qū)動(dòng)器+5Vag圖6.EA*法法1:在主程序中控制中斷次數(shù):在主程序中控制中斷次數(shù)#includechar i;
41、code char tab16= 0 x3f,0 x06,0 x5b, 0 x4F,0 x66,0 x6d,0 x7d, 0 x07, 0 x7f,0 x6f,0 x77, 0 x7c,0 x39, 0 x5e,0 x79,0 x71;int( ) interrupt 2i+; /*計(jì)中斷次數(shù)計(jì)中斷次數(shù)*/ P1=tabi; /*查表,次數(shù)送顯示查表,次數(shù)送顯示*/ main() EA=1; EX1=1; IT1=1; ap5: P1=0 x3f; /*顯示顯示“0”*/ for(i=0;i16;); /*當(dāng)當(dāng)I16等待中斷等待中斷*/ goto ap5; /*當(dāng)當(dāng)i=16重復(fù)下重復(fù)下 一輪一
42、輪16次中次中*/法二:在中斷服務(wù)程序中控制中斷次數(shù)法二:在中斷服務(wù)程序中控制中斷次數(shù)#includechar i;code char tab16= 0 x3f,0 x06, 0 x5b,0 x4F0 x66, 0 x6d,0 x7d,0 x07, 0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e, 0 x79,0 x71;int() interrupt 2 i+ if (i16)P1=tabi; elsei=0;P1=0 x3f;main() EA=1;EX1=1; IT1=1; P1=0 x3f; while(1); /*等待中斷等待中斷*/ 89C51P1.0P1.
43、7INT1+5V作業(yè):中斷控制流水燈定時(shí)定時(shí)/計(jì)數(shù)器計(jì)數(shù)器定時(shí)定時(shí)/計(jì)數(shù)器控制寄存器計(jì)數(shù)器控制寄存器定時(shí)定時(shí)/計(jì)數(shù)器運(yùn)行控制計(jì)數(shù)器運(yùn)行控制定時(shí)定時(shí)/計(jì)數(shù)器工作方式計(jì)數(shù)器工作方式通常實(shí)現(xiàn)定時(shí)通常實(shí)現(xiàn)定時(shí)/計(jì)數(shù)有計(jì)數(shù)有3種主要方法種主要方法:軟件定時(shí),軟件定時(shí),即讓機(jī)器執(zhí)行一個(gè)程序段,這段程序本身沒即讓機(jī)器執(zhí)行一個(gè)程序段,這段程序本身沒有具體的執(zhí)行目的,只是為了磨時(shí)間。執(zhí)行這段程序所有具體的執(zhí)行目的,只是為了磨時(shí)間。執(zhí)行這段程序所需要的時(shí)間就是延時(shí)時(shí)間。這種程序前面已設(shè)計(jì)過。這需要的時(shí)間就是延時(shí)時(shí)間。這種程序前面已設(shè)計(jì)過。這種方法定時(shí)占用種方法定時(shí)占用CPU執(zhí)行時(shí)間,降低了執(zhí)行時(shí)間,降低了CPU利
44、用率。利用率。數(shù)字電路硬件定時(shí):數(shù)字電路硬件定時(shí):采用小規(guī)模集成電路器件如采用小規(guī)模集成電路器件如555,外接定時(shí)部件外接定時(shí)部件(電阻和電容電阻和電容)構(gòu)成。這樣的定時(shí)電路簡(jiǎn)單,構(gòu)成。這樣的定時(shí)電路簡(jiǎn)單,但要改變定時(shí)范圍,必須改變電阻和電容,這種定時(shí)電但要改變定時(shí)范圍,必須改變電阻和電容,這種定時(shí)電路在硬件連接好以后,修改不方便。路在硬件連接好以后,修改不方便。可編程定時(shí)可編程定時(shí)/計(jì)數(shù)器計(jì)數(shù)器是為方便微型計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)和是為方便微型計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)和應(yīng)用而研制的,它是硬件定時(shí),又很容易地通過軟件來應(yīng)用而研制的,它是硬件定時(shí),又很容易地通過軟件來確定和改變它的定時(shí)值,通過初始化編程,能夠滿
45、足各確定和改變它的定時(shí)值,通過初始化編程,能夠滿足各種不同的定時(shí)和計(jì)數(shù)要求,因而在嵌入式系統(tǒng)的設(shè)計(jì)和種不同的定時(shí)和計(jì)數(shù)要求,因而在嵌入式系統(tǒng)的設(shè)計(jì)和應(yīng)用中得到廣泛的應(yīng)用。(基本原理)應(yīng)用中得到廣泛的應(yīng)用。(基本原理)8051型有兩個(gè)型有兩個(gè)十六位十六位定時(shí)定時(shí)/計(jì)數(shù)器計(jì)數(shù)器T0、T1,有四種工有四種工作方式。作方式。 MCS51系列單片機(jī)的定時(shí)系列單片機(jī)的定時(shí)/計(jì)數(shù)器有幾計(jì)數(shù)器有幾個(gè)相關(guān)的特殊功能寄存器:個(gè)相關(guān)的特殊功能寄存器:方式控制寄存器方式控制寄存器TMOD;加法計(jì)數(shù)寄存器加法計(jì)數(shù)寄存器TH0、TH1 (高八位)(高八位) TL0、TL1 (低八位);低八位);定時(shí)定時(shí)/計(jì)數(shù)到標(biāo)志計(jì)數(shù)到
46、標(biāo)志TF0、TF1(中斷控制寄存器中斷控制寄存器TCON)定時(shí)定時(shí)/計(jì)數(shù)器啟停控制位計(jì)數(shù)器啟??刂莆籘R0、TR1(TCON)定時(shí)定時(shí)/計(jì)數(shù)器中斷允許位計(jì)數(shù)器中斷允許位ET0、ET1(中斷允許寄存中斷允許寄存IE)定時(shí)定時(shí)/計(jì)數(shù)器中斷優(yōu)先級(jí)控制位計(jì)數(shù)器中斷優(yōu)先級(jí)控制位PT0、PT1(中斷優(yōu)中斷優(yōu)IP) 1. 定時(shí)工作方式定時(shí)工作方式 設(shè)置為定時(shí)工作方式時(shí),定時(shí)器計(jì)數(shù)的脈沖是由設(shè)置為定時(shí)工作方式時(shí),定時(shí)器計(jì)數(shù)的脈沖是由51單片機(jī)片內(nèi)單片機(jī)片內(nèi)振蕩器經(jīng)振蕩器經(jīng)12分頻后產(chǎn)生的。分頻后產(chǎn)生的。 每經(jīng)過一個(gè)機(jī)器周期定時(shí)器每經(jīng)過一個(gè)機(jī)器周期定時(shí)器(T0或或T1)的數(shù)值加的數(shù)值加1直至計(jì)數(shù)滿產(chǎn)生直至計(jì)數(shù)滿
47、產(chǎn)生溢出。溢出。如:當(dāng)如:當(dāng)8051采用采用12MHz晶體時(shí),每個(gè)機(jī)器周期為晶體時(shí),每個(gè)機(jī)器周期為1s,計(jì),計(jì)5 個(gè)機(jī)器個(gè)機(jī)器周期即為周期即為5 s,即定時(shí),即定時(shí)5 s 。 2. 計(jì)數(shù)工作方式計(jì)數(shù)工作方式 設(shè)置為計(jì)數(shù)工作方式時(shí),定時(shí)設(shè)置為計(jì)數(shù)工作方式時(shí),定時(shí)/計(jì)數(shù)器對(duì)引腳計(jì)數(shù)器對(duì)引腳 P3.4 (T0)和和P3.5 (T1)輸入的外部脈沖信號(hào)計(jì)數(shù)。輸入的外部脈沖信號(hào)計(jì)數(shù)。 當(dāng)輸入脈沖信號(hào)產(chǎn)生由當(dāng)輸入脈沖信號(hào)產(chǎn)生由1至至0的下降沿時(shí),定時(shí)器的值的下降沿時(shí),定時(shí)器的值 加加 1。測(cè)。測(cè)量過程是:量過程是: CPU前一個(gè)機(jī)器周期采樣脈沖值為高,下一個(gè)機(jī)器周前一個(gè)機(jī)器周期采樣脈沖值為高,下一個(gè)機(jī)器周
48、期采樣脈沖值為低,則計(jì)數(shù)器加期采樣脈沖值為低,則計(jì)數(shù)器加 1。 由于檢測(cè)一個(gè)由于檢測(cè)一個(gè)1 1至至0 0的跳變需要二個(gè)機(jī)器周期,故最高計(jì)數(shù)的跳變需要二個(gè)機(jī)器周期,故最高計(jì)數(shù)頻率為振蕩頻率的二十四分之一。頻率為振蕩頻率的二十四分之一。 雖然對(duì)輸入信號(hào)的占空比無特殊要求,但為了確保某個(gè)電平雖然對(duì)輸入信號(hào)的占空比無特殊要求,但為了確保某個(gè)電平在變化之前至少被采樣一次,要求電平保持時(shí)間至少是一個(gè)完整在變化之前至少被采樣一次,要求電平保持時(shí)間至少是一個(gè)完整的機(jī)器周期。的機(jī)器周期。 無論是定時(shí)還是計(jì)數(shù),當(dāng)軟件設(shè)定了定時(shí)無論是定時(shí)還是計(jì)數(shù),當(dāng)軟件設(shè)定了定時(shí)/計(jì)數(shù)器的工作方式,計(jì)數(shù)器的工作方式,啟動(dòng)以后,定時(shí)
49、啟動(dòng)以后,定時(shí)/計(jì)數(shù)器就按規(guī)定的方式工作,不占用計(jì)數(shù)器就按規(guī)定的方式工作,不占用CPU的操作的操作時(shí)間,此時(shí)時(shí)間,此時(shí)CPU可執(zhí)行其他程序,到了計(jì)滿規(guī)定的時(shí)間或規(guī)定的可執(zhí)行其他程序,到了計(jì)滿規(guī)定的時(shí)間或規(guī)定的個(gè)數(shù)(定時(shí)個(gè)數(shù)(定時(shí)/計(jì)數(shù)器溢出),定時(shí)計(jì)數(shù)器溢出),定時(shí)/計(jì)數(shù)器會(huì)給出溢出標(biāo)志,你可以計(jì)數(shù)器會(huì)給出溢出標(biāo)志,你可以通過查詢或中斷方式通過查詢或中斷方式了解是否溢出。這種工作的方式如同人帶的了解是否溢出。這種工作的方式如同人帶的手表,人在工作或睡覺,而手表依然滴滴答答行走,你可以通過手表,人在工作或睡覺,而手表依然滴滴答答行走,你可以通過看表或設(shè)鬧鐘方式,到了規(guī)定的時(shí)間,干你想干的事??幢?/p>
50、或設(shè)鬧鐘方式,到了規(guī)定的時(shí)間,干你想干的事。定時(shí)計(jì)數(shù)器定時(shí)計(jì)數(shù)器方式控制方式控制寄存器寄存器TMOD 定時(shí)計(jì)數(shù)器的工作方式由定時(shí)計(jì)數(shù)器的工作方式由TMOD的各位控制,的各位控制,TMOD的格式為:的格式為: TMOD的低四位為的低四位為T0的方式字,高四位為的方式字,高四位為T1的方的方式字。式字。TMOD不能位尋址,必須整體賦值不能位尋址,必須整體賦值。TMOD各各位的含義如下位的含義如下:1. 工作方式選擇位工作方式選擇位M1、M0 M1、M0的狀態(tài)決定定時(shí)器的工作方式:的狀態(tài)決定定時(shí)器的工作方式:D7D6D5D4D3D2D1D0GATEC/T M1 M0GATEC/TM1M02. 定時(shí)和
51、外部事件計(jì)數(shù)方式選擇位定時(shí)和外部事件計(jì)數(shù)方式選擇位C/T C/T0為定時(shí)器方式。在該方式中,以振蕩器輸出時(shí)為定時(shí)器方式。在該方式中,以振蕩器輸出時(shí)鐘脈沖鐘脈沖(fosc)的十二分頻信號(hào)(即機(jī)器周期)作為計(jì)數(shù)信號(hào),的十二分頻信號(hào)(即機(jī)器周期)作為計(jì)數(shù)信號(hào),也就是每一個(gè)機(jī)器周期也就是每一個(gè)機(jī)器周期,定時(shí)器加定時(shí)器加1,若晶振為,若晶振為12MHz,則定時(shí)器計(jì)數(shù)頻率為則定時(shí)器計(jì)數(shù)頻率為1MHz,計(jì)數(shù)的脈沖周期為計(jì)數(shù)的脈沖周期為1S。定時(shí)器從初值開始加定時(shí)器從初值開始加1計(jì)數(shù)直至定時(shí)器溢出。計(jì)數(shù)直至定時(shí)器溢出。M1M0 功功 能能 說說 明明 00110101方式方式0,為,為13位的定時(shí)計(jì)數(shù)器位的定
52、時(shí)計(jì)數(shù)器方式方式1,為,為16位的定時(shí)計(jì)數(shù)器位的定時(shí)計(jì)數(shù)器方式方式2,為常數(shù)自動(dòng)重裝入的,為常數(shù)自動(dòng)重裝入的8位定時(shí)計(jì)數(shù)器位定時(shí)計(jì)數(shù)器方式方式3,T0分分為兩個(gè)為兩個(gè)8位定時(shí)計(jì)數(shù)器,位定時(shí)計(jì)數(shù)器, T1在該方式時(shí)停止在該方式時(shí)停止 C/T1為外部事件計(jì)數(shù)器方式,這種方式為外部事件計(jì)數(shù)器方式,這種方式將外部引腳(將外部引腳(T0為為P3.4、T1為為P3.5)上的輸上的輸入脈沖作為計(jì)數(shù)脈沖。(下降沿進(jìn)行計(jì)數(shù))入脈沖作為計(jì)數(shù)脈沖。(下降沿進(jìn)行計(jì)數(shù)) 外部事件計(jì)數(shù)時(shí)最高計(jì)數(shù)頻率為晶振頻外部事件計(jì)數(shù)時(shí)最高計(jì)數(shù)頻率為晶振頻率的二十四分之一,外部輸入脈沖高電平和率的二十四分之一,外部輸入脈沖高電平和低電平
53、時(shí)間必須在一個(gè)機(jī)器周期以上。低電平時(shí)間必須在一個(gè)機(jī)器周期以上。 對(duì)外部輸入脈沖計(jì)數(shù)的目的通常是為了對(duì)外部輸入脈沖計(jì)數(shù)的目的通常是為了測(cè)試脈沖的周期、頻率或?qū)斎氲拿}沖數(shù)進(jìn)測(cè)試脈沖的周期、頻率或?qū)斎氲拿}沖數(shù)進(jìn)行累加。行累加。3. 門控位門控位GATE GATE與與TR0、TR1配合決定定時(shí)配合決定定時(shí)/計(jì)數(shù)器的啟停。計(jì)數(shù)器的啟停。 GATE = 0時(shí),定時(shí)器時(shí),定時(shí)器/計(jì)數(shù)器的啟停只受定時(shí)器計(jì)數(shù)器的啟停只受定時(shí)器運(yùn)行控制位(運(yùn)行控制位(TR0、TR1)的控制。的控制。 (軟件啟動(dòng)) GATE = 1時(shí),定時(shí)器時(shí),定時(shí)器/計(jì)數(shù)器的啟停除受計(jì)數(shù)器的啟停除受TR0、 TR1控制外,還受外部引腳(控制
54、外,還受外部引腳(INT0、 INT1)輸入電輸入電平的控制(平的控制(為高為高)。即)。即TR0和和INT0控制控制T0的運(yùn)行,的運(yùn)行,TR1和和INT1控制控制T1的運(yùn)行的運(yùn)行 (軟硬啟動(dòng))定時(shí)器運(yùn)行控制位定時(shí)器運(yùn)行控制位在特殊功能寄存器在特殊功能寄存器 TCON中存放著定時(shí)器的運(yùn)行控制位中存放著定時(shí)器的運(yùn)行控制位和溢出標(biāo)志位。和溢出標(biāo)志位。1定時(shí)器定時(shí)器T0運(yùn)行控制位運(yùn)行控制位TR0TR0(TCON.4)由軟件置位和清零。由軟件置位和清零。 當(dāng)當(dāng)GATE=0時(shí),時(shí),T0的計(jì)數(shù)僅由的計(jì)數(shù)僅由TR0控制,控制,TR0=1時(shí)允許時(shí)允許T0計(jì)計(jì)數(shù),數(shù),TR0=0時(shí)禁止時(shí)禁止T0計(jì)數(shù),這時(shí),定時(shí)器
55、僅由軟件控制。計(jì)數(shù),這時(shí),定時(shí)器僅由軟件控制。 當(dāng)當(dāng)GATE=1時(shí),僅當(dāng)時(shí),僅當(dāng)TR0=1且且P3.2的輸入信號(hào)為的輸入信號(hào)為高電平高電平時(shí)時(shí)T0才計(jì)數(shù),當(dāng)才計(jì)數(shù),當(dāng)TR0為為0或或P3.2的輸入為低電平時(shí)都禁止的輸入為低電平時(shí)都禁止T0計(jì)數(shù),這計(jì)數(shù),這時(shí),若置時(shí),若置TR0為為1,則定時(shí)器僅由引腳信號(hào)的狀態(tài)控制啟停,因,則定時(shí)器僅由引腳信號(hào)的狀態(tài)控制啟停,因而是硬件控制的。用而是硬件控制的。用TR0和和INT0一起控制定時(shí)器的啟停,則為一起控制定時(shí)器的啟停,則為軟、硬件配合控制。軟、硬件配合控制。2定時(shí)器定時(shí)器 T1運(yùn)行控制位運(yùn)行控制位TR1 定時(shí)定時(shí)/計(jì)數(shù)器的工作方式計(jì)數(shù)器的工作方式MCS
56、51的定時(shí)器有方式的定時(shí)器有方式0、方式、方式1、方式、方式2和和方式方式3這這4種工作方式。種工作方式。1.方式方式0當(dāng)當(dāng)M1M0=00時(shí),定時(shí)器工作于方式時(shí),定時(shí)器工作于方式0。12振蕩器T0端TR0GATEINT0端C/T = 0C/T = 1TL0(5位)TH0(8位)TF0中斷控制 定時(shí)計(jì)數(shù)器0工作方式0與 方式方式 0為為13位的計(jì)數(shù)器,由位的計(jì)數(shù)器,由TL0的低的低5位和位和TH0的的8位位組成,組成,TL0低低5位計(jì)數(shù)溢出時(shí)向位計(jì)數(shù)溢出時(shí)向TH0進(jìn)位,進(jìn)位,TH0計(jì)數(shù)溢出時(shí)計(jì)數(shù)溢出時(shí)置位溢出標(biāo)志置位溢出標(biāo)志TF0。若若T0工作于定時(shí)方式,設(shè)計(jì)數(shù)初值為工作于定時(shí)方式,設(shè)計(jì)數(shù)初值為
57、a,晶振頻率為晶振頻率為12MHz,則則T0從初值開始計(jì)數(shù)到溢出的定從初值開始計(jì)數(shù)到溢出的定時(shí)時(shí)間為時(shí)時(shí)間為 t(213a)1S。2. 方式方式1當(dāng)當(dāng)M1M0=01時(shí),定時(shí)器工作于方式時(shí),定時(shí)器工作于方式1。12振蕩器T1端TR1GATEINT1端C/T = 0C/T = 1TL1(8位)TH1(8位)TF1中斷控制 定時(shí)計(jì)數(shù)器工作方式1T1工作于方式工作于方式1時(shí),由時(shí),由TH1作為高作為高8位,位,TL1作為低作為低8位,構(gòu)成一個(gè)十六位的計(jì)數(shù)器。若位,構(gòu)成一個(gè)十六位的計(jì)數(shù)器。若T1工作于定時(shí)方式工作于定時(shí)方式1,計(jì)數(shù)初值為計(jì)數(shù)初值為 a,晶振頻率為晶振頻率為12MHz,則則T1從計(jì)數(shù)初值計(jì)
58、從計(jì)數(shù)初值計(jì)數(shù)到溢出的定時(shí)時(shí)間為數(shù)到溢出的定時(shí)時(shí)間為t =(216a)S。3. 方式方式2M1M0=10時(shí),定時(shí)器計(jì)數(shù)器工作于方式時(shí),定時(shí)器計(jì)數(shù)器工作于方式2,方式,方式2為自動(dòng)恢復(fù)初值的為自動(dòng)恢復(fù)初值的 8位計(jì)數(shù)器。位計(jì)數(shù)器。TL1作為作為8位計(jì)數(shù)器,位計(jì)數(shù)器,TH1作為計(jì)數(shù)初值寄存器。作為計(jì)數(shù)初值寄存器。 t =(28a)S。 12振蕩器T1端TR1GATEINT1端C/T = 0C/T = 1TL1(8位)TH1(8位)TF1中斷控制 定時(shí)/計(jì)數(shù)器工作方式2重新裝入*4.方式方式3 M1M0=11時(shí),被設(shè)置為方式時(shí),被設(shè)置為方式3。12foscT0端TR0GATEINT0端C/T = 0
59、C/T = 1TL0(8位)TF0中斷控制定時(shí)/計(jì)數(shù)器工作方式31/12 fosc1/12 foscTR1TF1中斷1/12 foscTH0(8位)控制 若若T1設(shè)置為工作方式設(shè)置為工作方式3時(shí),則使時(shí),則使T1停止計(jì)數(shù)。停止計(jì)數(shù)。若若T0被設(shè)置為方式被設(shè)置為方式3,則,則T0分為兩個(gè)獨(dú)立的分為兩個(gè)獨(dú)立的8位計(jì)數(shù)位計(jì)數(shù)器器TL0和和TH0。 TL0可作為八位定時(shí)可作為八位定時(shí)/計(jì)數(shù)器,可使用計(jì)數(shù)器,可使用T0的所有的所有狀態(tài)控制位(狀態(tài)控制位(GATE、TR0、INT0(P3.2)、)、T0(P3.4)、)、TF0等),等),TL0計(jì)數(shù)溢出時(shí)置位溢出標(biāo)計(jì)數(shù)溢出時(shí)置位溢出標(biāo)志志TF0,TL0計(jì)數(shù)
60、初值必須由軟件每次設(shè)定。計(jì)數(shù)初值必須由軟件每次設(shè)定。 TH0只能作為一個(gè)只能作為一個(gè)8位定時(shí)器,并使用位定時(shí)器,并使用T1的狀態(tài)控的狀態(tài)控制位制位TR1、TF1。TRl為為1時(shí),允許時(shí),允許TH0計(jì)數(shù),計(jì)數(shù),當(dāng)當(dāng)TH0計(jì)數(shù)溢出時(shí),置計(jì)數(shù)溢出時(shí),置1溢出標(biāo)志溢出標(biāo)志TF1。 一般只有當(dāng)一般只有當(dāng)T1用于串行口的波特率發(fā)生器時(shí),用于串行口的波特率發(fā)生器時(shí),T0才在需要時(shí)用于方式才在需要時(shí)用于方式3,以增加一個(gè)計(jì)數(shù)器。這,以增加一個(gè)計(jì)數(shù)器。這時(shí)時(shí)T1的啟停也受的啟停也受TR1控制,當(dāng)控制,當(dāng)T1計(jì)數(shù)溢出時(shí)不置計(jì)數(shù)溢出時(shí)不置位位TF1。定時(shí)定時(shí)/計(jì)數(shù)器應(yīng)用舉例計(jì)數(shù)器應(yīng)用舉例使用使用MCS51單片機(jī)的定時(shí)單片機(jī)的定時(shí)/計(jì)數(shù)器
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑行業(yè)工資集體合同范本
- 幼兒園自制食品管理標(biāo)準(zhǔn)
- 托班公交安全
- 阿司匹林致消化道出血護(hù)理
- 機(jī)場(chǎng)防雷應(yīng)急預(yù)案
- 推普周教育培訓(xùn)總結(jié)
- 項(xiàng)目安全培訓(xùn)試題完整答案
- 金融期權(quán)市場(chǎng)
- 高校學(xué)術(shù)不端行為扣分制度
- 親子活動(dòng)策劃與執(zhí)行方案
- 粉絲見面會(huì)策劃方案
- 主機(jī)改造方案圖解
- 紅外物理與技術(shù)(第2版)楊風(fēng)暴課后習(xí)題解答
- 小說閱讀的方法和技巧課件
- 入戶申請(qǐng)審批表(正反面,可直接打印)
- 倒數(shù)的認(rèn)識(shí)分層作業(yè)設(shè)計(jì)
- 盾構(gòu)法施工超前地質(zhì)預(yù)報(bào)初探
- 23秋國(guó)家開放大學(xué)《植物病蟲害防治基礎(chǔ)》形考任務(wù)1-4參考答案
- 學(xué)校校園網(wǎng)絡(luò)及信息安全管理制度(7篇)
- 貴州省醫(yī)療服務(wù)項(xiàng)目收費(fèi)標(biāo)準(zhǔn)4170項(xiàng)
- 小學(xué)英語外研版三起點(diǎn)五年級(jí)上冊(cè)-Module-1-單元整體教學(xué)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論