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