![中斷實(shí)驗(yàn)課件_第1頁(yè)](http://file4.renrendoc.com/view/99123d37262d3647d74641a035560e1d/99123d37262d3647d74641a035560e1d1.gif)
![中斷實(shí)驗(yàn)課件_第2頁(yè)](http://file4.renrendoc.com/view/99123d37262d3647d74641a035560e1d/99123d37262d3647d74641a035560e1d2.gif)
![中斷實(shí)驗(yàn)課件_第3頁(yè)](http://file4.renrendoc.com/view/99123d37262d3647d74641a035560e1d/99123d37262d3647d74641a035560e1d3.gif)
![中斷實(shí)驗(yàn)課件_第4頁(yè)](http://file4.renrendoc.com/view/99123d37262d3647d74641a035560e1d/99123d37262d3647d74641a035560e1d4.gif)
![中斷實(shí)驗(yàn)課件_第5頁(yè)](http://file4.renrendoc.com/view/99123d37262d3647d74641a035560e1d/99123d37262d3647d74641a035560e1d5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、中斷實(shí)驗(yàn)程序介紹本實(shí)驗(yàn)以鍵盤中斷為例,介紹ARM微處理器中斷處理過(guò)程。實(shí)驗(yàn)現(xiàn)象:系統(tǒng)啟動(dòng)后,按12345678任意鍵,相應(yīng)的八段數(shù)碼管就會(huì)被點(diǎn)亮。AREA boot ,CODE ,READONLYENTRYB Reset_HandlerB Undefined_HandlerB SWI_HandlerB Prefetch_HandlerB DataAbort_HandlerNOPB IRQ_Handler B FIQ_HandlerUndefined_HandlerBUndefined_HandlerSWI_Handler BSWI_HandlerPrefetch_HandlerBPrefetc
2、h_HandlerDataAbort_HandlerBDataAbort_Handler;IRQ_Handler;BIRQ_FunctionFIQ_HandlerBFIQ_HandlerReset_Handler如果中斷處理程序所在的物理地址小于32MB,可使用B跳轉(zhuǎn)指令;當(dāng)跳轉(zhuǎn)范圍大于32MB時(shí),需使用LDR指令。對(duì)于程序中未使用的中斷,可使中斷異常跳轉(zhuǎn)到一個(gè)只含返回指令的啞函數(shù)或跳轉(zhuǎn)到自身標(biāo)號(hào)地址處,以防止中斷異常引起系統(tǒng)的混亂。NOP一定不能去掉,必須要保證中斷向量表正確建立。 中斷初始化過(guò)程處理器要對(duì)中斷進(jìn)行處理時(shí),需要對(duì)CPSR的IRQ和FIQ與ICMR(中斷控制器屏蔽寄存器)相應(yīng)的
3、中斷屏蔽位進(jìn)行正確的配置:即當(dāng)CPSR的IRQ 、FIQ 位為“0”時(shí),ARM 處理器可以響應(yīng)IRQ 、FIQ 中斷,如果為“1”時(shí),ARM 處理器將不響應(yīng)IRQ或FIQ中斷。同樣,當(dāng)ICMR 的相應(yīng)位為“1”時(shí),相應(yīng)的中斷被開啟,為”0”時(shí),相應(yīng)的中斷被屏蔽。IMPORT ICMRIMPORT init_ICMREXPORT Enableirq;*;Enable & Set Interrupt;*AREA Enableirq, CODE, READONLYENTRYmrs r1, CPSRbic r1, r1,#0 x80msr CPSR_c, r1ldr r1, =ICMRldr r2,
4、=init_ICMRstr r2,r1ENDInit.s鍵盤中斷開啟過(guò)程 ldr r1, =ICMR ;/讀取中斷控制屏蔽寄存器ldr r2, =init_ICMR; init_ICMR= x00000010str r2,r1; /開啟鍵盤中斷,屏蔽 其他所有中斷 LDR R1,=0 x40e00000 ;GAFR3_LLDR R0,=0 x020a9550 ;GPIO STR R0,R1,#0 x6C;GPDR3ldr R0,=0 x21380;GPIOSTR R0,R1,#0 x10c ldr r1,=0 x41500000;KPCldr r0,=0 x3FBFF9C3str r0,r1,
5、#0 x0ldr r0,=0 x707str r0,r1,#0 x48Init.s矩陣鍵盤接口電路四條行線分別對(duì)應(yīng):GPIO100、GPIO101、GPIO102、GPIO99四條列線分別對(duì)應(yīng):GPIO103、GPIO104GPIO105、GPIO96鍵盤掃描:先全部輸出“1”,確定行在逐列輸出“1”,確定列行輸入列輸出1031051049610110010299作為列線的GPIO引腳的復(fù)用功能作為行線的GPIO引腳的復(fù)用功能鍵盤控制寄存器第11位:矩陣鍵盤中斷使能-1第12位:矩陣鍵盤使能-1第13:20:位矩陣鍵盤掃描線設(shè)置,我們這里全列線設(shè)為掃描線。第23:25位:矩陣鍵盤列設(shè)置,可設(shè)為
6、最大值-111。第26:28位:矩陣鍵盤行設(shè)置,可設(shè)為最大值-111。第29位:自動(dòng)掃描設(shè)置-1鍵盤去抖寄存器KPKDI0 x707表示直入鍵盤和矩陣鍵盤的去抖時(shí)間都設(shè)為7ms主程序開始設(shè)置中斷向量表初始化內(nèi)存初始化堆棧初始化GPIO初始化中斷主程序等待中斷發(fā)生中斷發(fā)生跳轉(zhuǎn)到中斷向量表執(zhí)行中斷處理程序是否鍵盤中斷一旦外部中斷觸發(fā)時(shí),ARM處理器通過(guò)自己的硬件特性,執(zhí)行到中斷向量表,通過(guò)觸發(fā)的中斷類型來(lái)判斷到底執(zhí)行哪個(gè)中斷處理函數(shù),在這里只打開了鍵盤中斷,屬于外部中斷,因此當(dāng)鍵盤被按下時(shí),便產(chǎn)生鍵盤中斷,程序跳轉(zhuǎn)到IRQ_Handler 函數(shù)處運(yùn)行 Interrupt.c#include #de
7、fine LED_CS2 (*(volatile unsigned short int *)(0 x10300000) /LED1 and LED2#define LED_CS3 (*(volatile unsigned short int *)(0 x10400000) /LED3 and LED4#define KPAS_VALUE(*(volatile unsigned char *)(0 x41500020) /Matrix Keypad 自動(dòng)掃描寄存器int main(void) unsigned short int temp = 0 x8F8F;LED_CS2 = temp;LED
8、_CS3 = temp; while(1) /waiting for interruptreturn 0;Interrupt.cInterrupt.cvoid IRQ_Handler(void)IRQ_Function();void IRQ_Function(void)char i;unsigned short int kbd_buff;i = KPAS_VALUE;switch (i)case 0 x00:/key-press 1kbd_buff=0 x8F79;LED_CS2 = kbd_buff;LED_CS3 = 0 x8F8F;break;case 0 x01: /key-press 2kbd_buff=0 x248F;LED_CS2 = kbd_buff;LED_CS3 = 0 x8F8F;break; case 0 x12: /key-press 6kbd_buff=0 x028F;LED_CS2 = kbd_buff;LED_CS3 = 0 x8F8F; break;case 0 x20: /key-press 7kbd_buff=0 x8F78;LED_CS
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國(guó)彈性墻面涂料行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國(guó)無(wú)塑餐盒封口紙行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 山東省日照市莒縣高三上學(xué)期期末考試(語(yǔ)文)試卷(含答案)
- 吊車租賃合同范本參考
- 2025加盟合同書樣式
- 貨車包月合同范本
- 范文環(huán)保驗(yàn)收合同范本
- 裝修管理服務(wù)合同范本
- 搭棚施工承包合同
- 2025技術(shù)許可合同
- 數(shù)學(xué)六年級(jí)上冊(cè)《弧長(zhǎng)》課件
- 體檢科運(yùn)營(yíng)可行性報(bào)告
- 廣東省廣州市黃埔區(qū)2023-2024學(xué)年八年級(jí)上學(xué)期期末生物試卷+
- 北京市豐臺(tái)區(qū)市級(jí)名校2024屆數(shù)學(xué)高一第二學(xué)期期末檢測(cè)模擬試題含解析
- 設(shè)立項(xiàng)目管理公司組建方案
- 薪酬戰(zhàn)略與實(shí)踐
- 答案之書(解答之書)-電子版精選答案
- 中國(guó)古代文學(xué)史 馬工程課件(上)01總緒論
- GB/T 22085.1-2008電子束及激光焊接接頭缺欠質(zhì)量分級(jí)指南第1部分:鋼
- 上海中心大廈-介紹 課件
- 非酒精性脂肪性肝病防治指南解讀課件
評(píng)論
0/150
提交評(píng)論