資源描述:
《定時(shí)與中斷系統(tǒng)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、第五章單片機(jī)的中斷與定時(shí)系統(tǒng)中斷是一項(xiàng)重要的計(jì)算機(jī)技術(shù),采用中斷技術(shù)可以使多項(xiàng)任務(wù)共享一個(gè)資源,所以中斷技術(shù)實(shí)質(zhì)上就是一種資源共享技術(shù)。掌握內(nèi)容中斷源MCS-51是一個(gè)多中斷源的單片機(jī),以80C51為例,有三類共五個(gè)中斷源,分別是外部中斷兩個(gè),定時(shí)中斷兩個(gè)和串行中斷一個(gè)。1.外中斷外中斷是由外部原因引起的,共有兩個(gè)中斷源,即外部中斷0和外部中斷1。它們的中斷請(qǐng)求信號(hào)分別由引腳INTo(P3.2)和INTi(P3.3)引入。外部中斷請(qǐng)求有兩種信號(hào)方式,即電平方式和脈沖方式,可通過(guò)有關(guān)控制位進(jìn)行定義。1.定時(shí)中斷定時(shí)中
2、斷是為滿足定時(shí)或計(jì)數(shù)的需要而設(shè)置的。2.串行中斷串行中斷是為串行數(shù)據(jù)傳送的需要而設(shè)置的。中斷控制這里所說(shuō)的中斷控制是指提供給用戶使用的中斷控制手段,實(shí)際上就是一些專用寄存器。在MCS-51單片機(jī)中,用于此目的的控制寄存器共有四個(gè),即定時(shí)器控制寄存器、中斷允許控制寄存器、中斷優(yōu)先控制寄存器以及串行口控制寄存器。1.定時(shí)器控制寄存器(TCON)該寄存器用于保存外部中斷請(qǐng)求和以及定時(shí)器的計(jì)數(shù)溢出。寄存器地址88H,位地址8FH?88Ho號(hào)這個(gè)寄存器既有定時(shí)器/計(jì)數(shù)器的控制功能又有中斷控制功能,其中與中斷有關(guān)的控制位共六位
3、:IE。和IEi、IT。和ITi以及TFo和TFio1.中斷允許控制寄存器(IE)寄存器地址A8H,位地址AFH?A8H。位地址AFAEADAcABAAA9A8位符號(hào)EA//EsETIEXIEToExo其中與中斷有關(guān)的控制位共六位:EA、EX。和EXi、ET°和ETi、ES。2.中斷優(yōu)先級(jí)控制寄存器(IP)MCS-51的中斷優(yōu)先級(jí)控制只定義了高、低兩個(gè)優(yōu)先級(jí)。各中斷源的優(yōu)先級(jí)由優(yōu)先寄存器(IP)進(jìn)行設(shè)定。IP寄存器地址B8H,位地址為BFH?B8H。寄存器的內(nèi)容及位地址表示如下:位地BFBEBDBcBBBAB9B8
4、址位符號(hào)///pSpT1PXIpTOpXOPX0外部中斷0優(yōu)先級(jí)設(shè)定位PT0定時(shí)中斷0優(yōu)先級(jí)設(shè)定位PXi外部中斷1優(yōu)先級(jí)設(shè)定位PTi定時(shí)中斷1優(yōu)先級(jí)設(shè)定位PS串行中斷優(yōu)先級(jí)設(shè)定位為0的位優(yōu)先級(jí)為低;為1的位優(yōu)先級(jí)為高。中斷響應(yīng)中斷響應(yīng)就是對(duì)中斷源提出的中斷請(qǐng)求的接受,是在中斷查詢之后進(jìn)行的,當(dāng)查詢到有效的中斷請(qǐng)求時(shí),緊接著就進(jìn)行中斷響應(yīng)。中斷響應(yīng)的主要內(nèi)容是由硬件自動(dòng)生成一條長(zhǎng)調(diào)用指令LCALLo其格式為L(zhǎng)CALLaddrl6,這里的addrl6就是程序存儲(chǔ)器中斷區(qū)中相應(yīng)中斷的入口地址。在MCS-51單片機(jī)中,這些
5、入口地址已由系統(tǒng)設(shè)定。例如,對(duì)于外部中斷0的響應(yīng),產(chǎn)生的長(zhǎng)調(diào)用指令為:LCALL0003H生成LCALL指令后,緊接著就由CPU執(zhí)行。首先將程序計(jì)數(shù)器PC的內(nèi)容壓入堆棧以保護(hù)斷點(diǎn),再將中斷入口地址裝入PC,使程序執(zhí)行轉(zhuǎn)向相應(yīng)的中斷區(qū)入口地址。但由于各中斷區(qū)只有8個(gè)單元。一般情況下難以安排下一個(gè)完整的中斷服務(wù)程序。因此通??偸窃诟髦袛鄥^(qū)入口地址處放置一條無(wú)條件轉(zhuǎn)移指令,使程序執(zhí)行轉(zhuǎn)向在其它地址存放的中斷服務(wù)程序。中斷返回中斷響應(yīng)后就轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,完成所需要的操作。中斷服務(wù)程序的最后一條指令必須是中斷返回指令R
6、ETI,CPU執(zhí)行這條指令時(shí),把響應(yīng)中斷時(shí)置位的優(yōu)先級(jí)觸發(fā)器復(fù)位,再?gòu)亩褩V袕棾鰯帱c(diǎn)地址送入程序計(jì)數(shù)器PC,以便從斷點(diǎn)處重新執(zhí)行被中斷的主程序。MCS-51單片機(jī)的定時(shí)器/計(jì)數(shù)器MCS-51單片機(jī)共有兩個(gè)可編程的定時(shí)器/計(jì)數(shù)器,分別稱定時(shí)器/計(jì)數(shù)器0和定時(shí)器/計(jì)數(shù)器lo它們都是十六位加法計(jì)數(shù)結(jié)構(gòu),分別由TH0(地址8CH)和TL°(地址8AH)及TH】(地址8DH)和TL](地址8BH)兩個(gè)8位計(jì)數(shù)器組成。這四個(gè)計(jì)數(shù)器均屬專用寄存器之列。MCS-51的每個(gè)定時(shí)器/計(jì)數(shù)器都具有定時(shí)和計(jì)數(shù)兩種功能。1.計(jì)數(shù)功能所謂計(jì)數(shù)
7、是指對(duì)外部事件進(jìn)行計(jì)數(shù)。外部事件的發(fā)生以輸入脈沖表示,因此計(jì)數(shù)功能的實(shí)質(zhì)就是對(duì)外來(lái)脈沖進(jìn)行計(jì)數(shù)。2.定時(shí)功能定時(shí)功能也是通過(guò)計(jì)數(shù)器的計(jì)數(shù)來(lái)實(shí)現(xiàn)的。不過(guò)此時(shí)的計(jì)數(shù)脈沖來(lái)自單片機(jī)的內(nèi)部,即每個(gè)機(jī)器周期產(chǎn)生一個(gè)計(jì)數(shù)脈沖。也就是每個(gè)機(jī)器周期計(jì)數(shù)器加lo由于一個(gè)機(jī)器周期等于12個(gè)振蕩脈沖周期,因此計(jì)數(shù)頻率為振蕩頻率的l/12o定時(shí)器/計(jì)數(shù)器的控制寄存器與定時(shí)器/計(jì)數(shù)器應(yīng)用有關(guān)的控制寄存器有:1.定時(shí)器控制寄存器(TCON)TCON寄存器既參與中斷控制又參與定時(shí)控制。其中有關(guān)定時(shí)的控制位共有四位:TF0和TFi、TR0和TRi
8、。1.工作方式控制寄存器(TMOD)TMOD寄存器是一個(gè)專用寄存器,用于設(shè)定兩個(gè)定時(shí)器/計(jì)數(shù)器的工作方式。但TMOD寄存器不能位尋址,只能用字節(jié)傳送指令設(shè)置其內(nèi)容。各位定義如下:位序B76BB5B43BB2B1BO位符號(hào)AEGTE-GTM1MOGATE-GTM1MO定時(shí)/計(jì)數(shù)器1定時(shí)/計(jì)數(shù)器0從寄存器的位格式中可以看出,它的低半字節(jié)定義定時(shí)器/計(jì)數(shù)器0,高半