![按鍵中斷顯示_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/10/e533fa28-acdb-4d94-8e1f-2e118f9b48e6/e533fa28-acdb-4d94-8e1f-2e118f9b48e61.gif)
![按鍵中斷顯示_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/10/e533fa28-acdb-4d94-8e1f-2e118f9b48e6/e533fa28-acdb-4d94-8e1f-2e118f9b48e62.gif)
![按鍵中斷顯示_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/10/e533fa28-acdb-4d94-8e1f-2e118f9b48e6/e533fa28-acdb-4d94-8e1f-2e118f9b48e63.gif)
![按鍵中斷顯示_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/10/e533fa28-acdb-4d94-8e1f-2e118f9b48e6/e533fa28-acdb-4d94-8e1f-2e118f9b48e64.gif)
![按鍵中斷顯示_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/10/e533fa28-acdb-4d94-8e1f-2e118f9b48e6/e533fa28-acdb-4d94-8e1f-2e118f9b48e65.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、按鍵中斷顯示 小組成員目錄1實驗內(nèi)容2初始化定義345中斷初始化中斷服務(wù)程序主函數(shù)實驗內(nèi)容f本實驗是一個測試鍵盤的實驗,運行程序依次按鍵1-8,數(shù)碼管依次顯示 70,中間鍵一一對應(yīng),任意按一鍵,其對應(yīng)的數(shù)碼管顯示不相應(yīng)的數(shù)字。設(shè)計流程圖中斷 中斷就是暫停正在執(zhí)行的程序,并進(jìn)入中斷服務(wù)程序(Interrupt Service Routine.ISR)。 DSP的中斷按中斷源分可分為硬件中斷和軟件中斷;按中斷是否可屏蔽分為可屏蔽中斷和非可屏蔽中斷。 初始化定義f#pragma CODE_SECTION(vect,vect)/設(shè)置中斷向量存放的代碼段 用于將一段目標(biāo)代碼vect鏈接與.text段不同
2、的存儲空間vect段vect是目標(biāo)代碼的起始地址funsigned int *pmem=0;f#define IMR *(pmem+0 x0000)/中斷屏蔽寄存器(各種中斷)f#define IFR *(pmem+0 x0001)/中斷標(biāo)志寄存器f#define PMST *(pmem+0 x001d)/處理器工作方式狀態(tài)寄存器 其中斷指針I(yè)PTR可進(jìn)行中斷向量重新定位指向程序寄存器內(nèi)中斷向量所在頁f#define SWCR *(pmem+0 x002b)/軟件等待狀態(tài)控制寄存器 地址2BHf#define SWWSR *(pmem+0 x0028)/軟件等待狀態(tài)寄存器 地址28Hf#def
3、ine CLKMD *(pmem+0 x0058)/時鐘方式寄存器 地址為58Hf#define ST1 *(pmem+0 x007)/ST1中的INTM位為總中斷控制位 #define PRD0 *(pmem+0 x0025) /* timer0 period register */f#define TCR0 *(pmem+0 x0026) /* timer0 control register */fioport unsigned portc001; /鍵盤地址fioport unsigned portc000; /數(shù)碼顯示地址f /數(shù)據(jù)線的高8位是位碼,低8位是段碼 與中斷相關(guān)的寄存器f1
4、.1 ST1-狀態(tài)寄存器1f第11位INTM:中斷方式位,從整體上屏蔽或開放中斷。fINTM=0 開放全部末加屏蔽的中斷。fINTM=1 關(guān)閉所有可屏蔽中斷。fSSBX INTM 置1,關(guān)閉總中斷fRSBX INTM 清0,打開總中斷f當(dāng)執(zhí)行一條RETE或RETF指令(從中斷返回)時,INTM清成0。f1.2 IMR中斷屏蔽寄存器f允許中斷,對應(yīng)位置1;屏蔽中斷,對應(yīng)位清0f如:IMR=0X010C即(0000 0001 0000 1100)Bf 為允許INT2、TINT、INT3申請中斷f1.3 IFR-中斷標(biāo)志寄存器f0發(fā)出中斷申請,1等待中斷以下4種情況會使中斷標(biāo)志清零:C54X復(fù)位;中
5、斷在中斷服務(wù)程序中得到處理,常用于中斷方式;將1寫到IFR中的相應(yīng)位,常用于查詢方式;使用適當(dāng)?shù)闹袛嗵枅?zhí)行INTR指令。f1.4 PMST處理器工作方式狀態(tài)寄存器f157位為IPTR,中斷向量指針。指向中斷向量所駐留的程序存儲器的位置。中斷向量地址計算fPMST=0XE8 - IPTR=OX001f本實驗芯片使用的是INT2中斷,向量號為0 x12,左移兩位為0 x48fINT2的中斷向量地址為f(0000 0000 1100 1000)B=(00C8)Hf在此采用混合編程方法 中斷初始化一般中斷的初始化包括以下步驟:關(guān)閉總中斷,清除中斷標(biāo)志寄存器IFR中的中斷標(biāo)志; asm(SSBX INT
6、M); IFR=0 x7FFF;設(shè)置中斷屏蔽寄存器IMR中的相應(yīng)屏蔽位為1,開放相應(yīng)的中斷; IMR=0 x010C;如果需要,重新設(shè)置處理器工作模式寄存器PMST中的中斷指針I(yè)PTR進(jìn)行中斷向量的重新定位; PMST=0 xE8;開放全部可屏蔽中斷。 asm(RSBX INTM);中斷初始化程序fvoid cpu_init() f asm( ssbx intm);/復(fù)位指令 禁止總中斷 INTM=1f asm( ssbx xf ); /外部擴展引腳 總清零f PMST=0 xe8;/f SWWSR=0 x7fff;/確保處理器初始化期間CPU能與外部 f /慢速器件正常通信f SWCR=0
7、x0001;/等待狀態(tài)數(shù)乘2f IMR=0 x010c; /允許INT2 TINT INT3中斷f IFR=0 xffff; /清除中斷請求寫1f CLKMD=0 x1000;/PLLNDIV=0 PLLDIV=X(0) f /PLLMUL=8 - PLL乘數(shù)為0.5f asm( rsbx xf ); /打開數(shù)據(jù)口f asm( rsbx intm); /開總中斷 INTM=0f按鍵1. 試驗箱上對應(yīng)的按鍵地址為:0 xc001,鍵值如 下:(從右至左,低電平有效低電平有效。)2. 對應(yīng)按鍵中斷為硬件中斷2。3. 數(shù)碼顯示地址為0 xc000h,其中,數(shù)據(jù)線的高8位是位碼,低8位是段碼。高電平有
8、效高電平有效。 如:按照實驗要求,按下鍵1,在最右邊一位顯示數(shù)字7則對應(yīng)語句為 case 0 xfe00: portc000=0 x8007中斷服務(wù)程序finterrupt void keyint0() /鍵盤測試 f f int a;f a=portc001; /取按鍵狀態(tài)f a=a&0 xff00; /取高8位f if(a!=0 xff00) /是否有鍵按下f f delay10ms(); /延時去抖f a=portc001; /再取按鍵狀態(tài)f a=a&0 xff00; f switch(a)f case 0 xfe00: portc000=0 x8007;/7f asm(
9、 nop);f break;f case 0 xfd00: portc000=0 x0407D;/6f asm( nop);f break;fcase 0 xfb00: portc000=0 x206D;/5 asm( nop);f break;fcase 0 xf700: portc000=0 x1066;/4f asm( nop);f break;f case 0 xef00: portc000=0 x084F;/3f asm( nop);f break;f case 0 xdf00: portc000=0 x045B;/2f asm( nop);f break;f case 0 xbf0
10、0: portc000=0 x0206;/1f asm( nop);f break;f case 0 x7f00: portc000=0 x013F;/0f break;f 主函數(shù)主函數(shù)fvoid main()f f cpu_init(); f for(;)f ;f命令文件f-c f-hftest.objf-m test.map f-l rts.libf-stack 0 x800fMEMORYff PAGE 0: PROG: origin = 080h, length = 4000hf PAGE 1: DATA: origin = 8000h, length = 4000hffSECTIONSff .text PROG PAGE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專賣店裝修項目承攬合同
- 倉儲物流行業(yè)居間存款協(xié)議
- 辦公區(qū)翻新合同
- 物業(yè)人員疏散方案
- 通遼管道非開挖施工方案
- 2025年度安全產(chǎn)品銷售代表市場拓展合同
- 大數(shù)據(jù)四下數(shù)學(xué)試卷
- 買鋼筋合同范例
- 完善中小學(xué)體育教師隊伍建設(shè)的策略與實施途徑
- 臨時聘用廚師合同范例
- 2024年同等學(xué)力人員申請碩士學(xué)位英語試卷與參考答案
- 臨床用血管理培訓(xùn)
- 介入手術(shù)室護(hù)理風(fēng)險
- 春季安全行車教育培訓(xùn)
- 2024年江蘇省公務(wù)員錄用考試《行測》題(A類)
- 工業(yè)自動化生產(chǎn)線操作手冊
- 《走進(jìn)神奇》說課稿
- 江蘇省無錫市2024年中考數(shù)學(xué)試卷(含答案)
- 2024年內(nèi)蒙古中考語文試卷五套合卷附答案
- 2024年保密知識測試試題及答案(奪冠)
- 湖南2024年湖南省衛(wèi)生健康委直屬事業(yè)單位招聘276人筆試歷年典型考題及考點附答案解析
評論
0/150
提交評論