51特殊功能寄存器詳解
一:中斷允許寄存器 IE
CPU對(duì)中斷系統(tǒng)所有中斷以及某個(gè)中斷源的開(kāi)放和屏蔽是由中斷允許寄存器IE控制的。
EX0 (IE.0),外部中斷0允許位;
ET0 (IE.1),定時(shí)/計(jì)數(shù)器T0中斷允許位;
EX1 (IE.2),外部中斷0允許位;
ET1 (IE.3),定時(shí)/計(jì)數(shù)器T1中斷允許位;
ES (IE.4),串行口中斷允許位;
EA (IE.7), CPU中斷允許(總允許)位。
IE寄存器可進(jìn)行位尋址,所以可單獨(dú)操作各個(gè)位 例如要操作第零位,直接給EX0賦值即可
二:中斷優(yōu)先級(jí)控制 IP
PX0(IP.0),外部中斷0優(yōu)先級(jí)設(shè)定位;
PT0(IP.1),定時(shí)/計(jì)數(shù)器T0優(yōu)先級(jí)設(shè)定位;
PX1(IP.2),外部中斷0優(yōu)先級(jí)設(shè)定位;
PT1(IP.3),定時(shí)/計(jì)數(shù)器T1優(yōu)先級(jí)設(shè)定位;
PS (IP.4),串行口優(yōu)先級(jí)設(shè)定位;
PT2 (IP.5) ,定時(shí)/計(jì)數(shù)器T2優(yōu)先級(jí)設(shè)定位。
80C52單片機(jī)有四個(gè)中斷優(yōu)先級(jí),即可實(shí)現(xiàn)四級(jí)中斷服務(wù)嵌套。每個(gè)中斷源的中斷優(yōu)先級(jí)由中斷優(yōu)先級(jí)寄存器IP和IPH中的相應(yīng)位的狀態(tài)來(lái)規(guī)定的。
PX0(IPH.0),外部中斷0優(yōu)先級(jí)設(shè)定位;
PT0(IPH.1),定時(shí)/計(jì)數(shù)器T0優(yōu)先級(jí)設(shè)定位;
PX1(IPH.2),外部中斷0優(yōu)先級(jí)設(shè)定位;
PT1(IPH.3),定時(shí)/計(jì)數(shù)器T1優(yōu)先級(jí)設(shè)定位;
PS (IPH.4),串行口優(yōu)先級(jí)設(shè)定位;
PT2 (IPH.5) ,定時(shí)/計(jì)數(shù)器T2優(yōu)先級(jí)設(shè)定位。
同一優(yōu)先級(jí)中的中斷申請(qǐng)不止一個(gè)時(shí),則有中斷優(yōu)先權(quán)排隊(duì)問(wèn)題。同一優(yōu)先級(jí)的中斷優(yōu)先權(quán)排隊(duì),由中斷系統(tǒng)硬件確定的自然優(yōu)先級(jí)形成,其排列如所示:
三:工作方式寄存器TMOD
工作方式寄存器TMOD用于設(shè)置定時(shí)/計(jì)數(shù)器的工作方式,低四位用于T0,高四位用于T1。其格式如下:
GATE:門(mén)控位。GATE=0時(shí),只要用軟件使TCON中的TR0或TR1為1,就可以啟動(dòng)定時(shí)/計(jì)數(shù)器工作;GATA=1時(shí),要用軟件使TR0或TR1為1,同時(shí)外部中斷引腳INT0/1也為高電平時(shí),才能啟動(dòng)定時(shí)/計(jì)數(shù)器工作。即此時(shí)定時(shí)器的啟動(dòng)條件,加上了INT0/1引腳為高電平這一條件。
C/T :定時(shí)/計(jì)數(shù)模式選擇位。 C/T=0為定時(shí)模式; C/T=1為計(jì)數(shù)模式。
M1M0:工作方式設(shè)置位。定時(shí)/計(jì)數(shù)器有四種工作方式,由M1M0進(jìn)行設(shè)置。
1、方式0
方式0為13位計(jì)數(shù),由TL0的低5位(高3位未用)和TH0的8位組成。TL0的低5位溢出時(shí)向TH0進(jìn)位,TH0溢出時(shí),置位TCON中的TF0標(biāo)志,向CPU發(fā)出中斷請(qǐng)求。
2、方式1 與方式0相似,只是位數(shù)不同
3、方式2:8位自動(dòng)重裝(區(qū)別于0,1有兩點(diǎn) 1:位數(shù) 2:溢出后自動(dòng)重裝,不用我們軟件重裝,TH充當(dāng)常數(shù)寄存器 )
4:方式3:T0有效,分成兩個(gè)獨(dú)立的8位定時(shí)器
四:控制寄存器TCON
TCON的低4位用于控制外部中斷,已在前面介紹。TCON的高4位用于控制定時(shí)/計(jì)數(shù)器的啟動(dòng)和中斷申請(qǐng)。其格式如下:
TF1(TCON.7):T1溢出中斷請(qǐng)求標(biāo)志位。T1計(jì)數(shù)溢出時(shí)由硬件自動(dòng)置TF1為1。CPU響應(yīng)中斷后TF1由硬件自動(dòng)清0。T1工作時(shí),CPU可隨時(shí)查詢TF1的狀態(tài)。所以,TF1可用作查詢測(cè)試的標(biāo)志。TF1也可以用軟件置1或清0,同硬件置1或清0的效果一樣。
TR1(TCON.6):T1運(yùn)行控制位。TR1置1時(shí),T1開(kāi)始工作;TR1置0時(shí),T1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時(shí)/計(jì)數(shù)器的啟動(dòng)與停止。
TF0(TCON.5):T0溢出中斷請(qǐng)求標(biāo)志位,其功能與TF1類(lèi)同。
TR0(TCON.4):T0運(yùn)行控制位,其功能與TR1類(lèi)同。
IT0(TCON.0),外部中斷0觸發(fā)方式控制位。
當(dāng)IT0=0時(shí),為電平觸發(fā)方式。
當(dāng)IT0=1時(shí),為邊沿觸發(fā)方式(下降沿有效)。
IE0(TCON.1),外部中斷0中斷請(qǐng)求標(biāo)志位。
IT1(TCON.2),外部中斷1觸發(fā)方式控制位。
IE1(TCON.3),外部中斷1中斷請(qǐng)求標(biāo)志位。
五:中斷標(biāo)志SCON
RI(SCON.0),串行口接收中斷標(biāo)志位。當(dāng)允許串行口接收數(shù)據(jù)時(shí),每接收完一個(gè)串行幀,由硬件置位RI。注意,RI必須由軟件清除。
TI(SCON.1),串行口發(fā)送中斷標(biāo)志位。當(dāng)CPU將一個(gè)發(fā)送數(shù)據(jù)寫(xiě)入串行口發(fā)送緩沖器時(shí),就啟動(dòng)了發(fā)送過(guò)程。每發(fā)送完一個(gè)串行幀,由硬件置位TI。CPU響應(yīng)中斷時(shí),不能自動(dòng)清除TI,TI必須由軟件清除。
編輯:admin 最后修改時(shí)間:2018-05-19