|
STC單片機擴展P4口的應用對于PQFP-44和PLCC-44封裝的STC89系列單片機增加了4個I/O口P4口,P4口在特殊功能寄存器中的地址為E8H,可以進行位尋址,用戶在使用P4口之前需要先定義地址,然后就像操作其它I/O口一樣操作P4口了。另外,P4口的P4.2和P4.3新增加了兩個外部中斷作為它們的第二功能,使用這兩個外部中斷時和使用P3.2和P3.3外部中斷方法相同,P4.2(INT2)的中斷向量入口地址為33H,中斷序號為6,P4.3(INT3)的中斷向量地址為3BH,中斷序號為7,P4口的外部中斷由另一個新增加的擴展中斷控制寄存器來設置,請看下一個知識點。
知識點:擴展中斷控制寄存器(XICON) STC89系列單片機擴展中斷控制寄存器在特殊功能寄存器中的字節(jié)地址為C0H,能位尋址,該寄存器用來管理擴展中斷開啟、關閉、及中斷優(yōu)先級設定。單片機復位時該寄存器全部被清0。其各位的定義如表1所示,51hei.com提供。
表1擴展中斷控制寄存器(XICON)
| 位序號 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
| 位符號 |
PX3 |
EX3 |
IE3 |
IT3 |
PX2 |
EX2 |
IE2 |
IT2 |
PX3:置位表明外部中斷3的優(yōu)先級為高,但優(yōu)先級最終由中斷優(yōu)先級寄存器IP,擴展中斷優(yōu)先級寄存器IPH,和擴展中斷控制寄存器XICON中的PX3、PX2共同決定,如:[PX3H,PX3]=[0,0];[0,1];[1,0];[1,1]代表不同的優(yōu)先級。 EX3:置1,允許外部中斷3中斷;清0,禁止外部中斷3中斷。 IE3:外部中斷3中斷請求標志位,中斷條件成立后,IE3=1,該位由硬件自動清零。 IT3:置1時,外部中斷3為下降沿觸發(fā)中斷;清0時,為低電平觸發(fā)中斷。 PX2:置位表明外部中斷2的優(yōu)先級為高,但優(yōu)先級最終由中斷優(yōu)先級寄存器IP,擴展中斷優(yōu)先級寄存器IPH,和擴展中斷控制寄存器XICON中的PX3、PX2共同決定,如:[PX2H,PX2]=[0,0];[0,1];[1,0];[1,1]代表不同的優(yōu)先級。 EX2:置1,允許外部中斷2中斷;清0,禁止外部中斷2中斷。 IE2:外部中斷2中斷請求標志位,中斷條件成立后,IE2=1,該位由硬件自動清零。 IT2:置1時,外部中斷2為下降沿觸發(fā)中斷;清0時,為低電平觸發(fā)中斷。 知識點:擴展中斷優(yōu)先級寄存器(IPH) STC89系列單片機擴展中斷優(yōu)先級寄存器在特殊功能寄存器中的字節(jié)地址為B7H,不能位尋址,該寄存器與中斷優(yōu)先級寄存器、擴展中斷控制寄存器XICON中的PX3、PX2位來共同決定單片機所有中斷的最終優(yōu)先級。單片機復位時該寄存器全部被清0。其各位的定義如表2所示。
表2擴展中斷優(yōu)先級寄存器(IPH)
| 位序號 |
D7 |
D7 |
D7 |
D7 |
D7 |
D7 |
D7 |
D7 |
| 位符號 |
PX3H |
PX2H |
PT2H |
PSH |
PT1H |
PX1H |
PT0H |
PX0H |
關于擴展中斷優(yōu)先級寄存器的用法是這樣的:假如設定[PX3H,PX3]=[1,,[PX2H,PX2]=[1,,其它中斷的組合均不是[1,,則這時外部中斷3、外部中斷2的優(yōu)先級為比其它中斷優(yōu)先級都高,因為不可能有兩個最高,所以再來看系統(tǒng)默認的優(yōu)先級,在軟件設置優(yōu)先級別相同時,外部中斷2的優(yōu)先級更高。用此方法可設置任一個中斷的優(yōu)先級。 使用P4口編寫C語言代碼時,在程序開始處加上如下語句,以后便可像操作其它I/O口一樣操作P4口。 sfr P4=0xe8;
|