資源描述:
《2012.03.31嵌入式系統(tǒng)原理與設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、6.優(yōu)先級(jí)寄存器(PRIORITY)6543210......RINT0871920ARB_MODE6ARB_SEL6ARB_SEL031282722211615109430REQ4~REQ1REQ5~REQ0REQ5~REQ0REQ5~REQ0REQ5~REQ0REQ4~REQ1664664ARBITER5ARBITER4ARBITER3ARBITER2ARBITER1ARBITER0REQ5REQ4REQ3REQ2REQ1REQ0ARBIIER6ARB_MODE設(shè)置仲裁器工作模式0:ARB_SEL不變(表示設(shè)置仲裁器工作模式屏蔽)1:ARB_S
2、EL自動(dòng)變化ARB_SEL高→低00REQ0>1>2>3>4>501REQ0>2>3>4>1>510REQ0>3>4>1>2>511REQ0>4>1>2>3>5已被服務(wù)的REQxARB_SEL新值REQ0/REQ5不變REQ101REQ210REQ311REQ4007.INTPND寄存器經(jīng)中斷優(yōu)先級(jí)仲裁器選出優(yōu)先級(jí)最高的中斷后,這個(gè)中斷在INTPND相應(yīng)位置1,隨后CPV進(jìn)入中斷模式處理。EINT012362423152831寫“1”清“0”UART0ADCUART1UART28-234-7某一時(shí)刻最多有一位為18.INTOFFSET偏移寄存器(只
3、讀)讀寄存器可獲得INTPND寄存器哪位被置1(0~31)9.外部中斷請(qǐng)求寄存器EINTPND2341:請(qǐng)求0:未發(fā)10.外部中斷屏蔽寄存器EINTMSK2341:屏蔽0:使能11.EXTINTnn∈{0,2}EXTINT0:設(shè)EINT0~7觸發(fā)方式——E7:30...28E6:26...24E5:22...20E4:18...16E3:14...12E2:10...8E1:6...4EINT0:2...0——000:低電平出發(fā)——001:高電平出發(fā)——01X:下降沿出發(fā)——10X:上升沿出發(fā)——11X:上升/下降均出發(fā)GPG11GPG3GPF2G
4、PF03.3VK1K2K3K4S3C2410EINT19EINT11EINT2EINT0GPB5GPB6GPB7GPB8LED1LED2LED3LED43.3VS3C2410四、程序:使用中斷實(shí)現(xiàn)按鍵控制LED燈//中斷初始化voidinit_irq(){GPFCON=GPF0_EINT
5、GPF2_EINT;//設(shè)置中斷引腳GPGCON=GPG3_EINT
6、GPG11_EINT;EINTMSK&=(~(1<<11))&(~(1<<19));//開(kāi)中斷EINT11、EINT19INTMSK&=(~(1<<0))&(~(1<<2))&(~(1<<5))
7、;//開(kāi)中斷EINT0、//EINT2、EINT11與EINT19PRIORITY&=~(1<<0
8、3<<7);//設(shè)定優(yōu)先級(jí)K4>K3>K1,K2}//中斷處理函數(shù)voidEINT_Handle(){unsignedlongoft=INTOFFSET;unsignedlongval;switch(oft){case0://K4被按下GPBDAT
9、=(0x0F<<5);//所有LED熄滅GPBDAT&=~(1<<8);//點(diǎn)亮LED4break;case2://K3被按下GPBDAT
10、=(0x0F<<5);GPBDAT&=~(1<<7);//點(diǎn)亮L
11、ED3break;case5://K1或K2被按下GPBDAT
12、=(0x0F<<5);//全滅val=EINTPND;//判斷是K1還是K2被按下,或K1,//K2同時(shí)被按下if(val&(1<<11))GPBDAT&=~(1<<6);//K2被按下,點(diǎn)亮LED2if(val&(1<<19))GPBDAT&=~(1<<5);//K1被按下,點(diǎn)亮LED1break;}//清除中斷fi(oft==5){EINTPND
13、=(1<<11)
14、(1<<19);SRCPND
15、=1<16、=1<17、方式EXTINT2:設(shè)EINT16~23觸發(fā)方式神裝工作站