2022年嵌入式实验中断实验报告 .pdf

上传人:Che****ry 文档编号:35754094 上传时间:2022-08-23 格式:PDF 页数:9 大小:54.06KB
返回 下载 相关 举报
2022年嵌入式实验中断实验报告 .pdf_第1页
第1页 / 共9页
2022年嵌入式实验中断实验报告 .pdf_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《2022年嵌入式实验中断实验报告 .pdf》由会员分享,可在线阅读,更多相关《2022年嵌入式实验中断实验报告 .pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、嵌 入 式 实 验 报 告中断实验报告指导教师:高金山实验者: 13410801 房皓13410802 张耀荣一、实验目的 : 1.理解中断向量表的结构2.理解中断处理的过程3.学习编写中断处理程序的方法二、实验要求 : 1.修改源程序,通过中断方式响应按键,当1-16 键按下时,数码管显示0-F 。2.提高内容:以 FIQ 方式,替代IRQ方式,实现按下任何一个键,数码管显示按键号的功能。三、实验内容:1.设计主程序,使8 个 LED以一定的时间间隔从右到左依次点亮,循环显示;(实验一的内容)2.当有键按下时,在七段数码管上,显示对应的16 个键盘编码值 0-9 a-f (实验二、三的内容)

2、四、程序编辑:;boot.s IMPORT postDelay IMPORT osStack ;IMPORT post_initStack IMPORT init_Stack IMPORT post_initGpio IMPORT post_initMem IMPORT post_initKey IMPORT dummyOs IMPORT FIQ_Handler IMPORT ICMR IMPORT init_ICMR 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9

3、页 - - - - - - - - - IMPORT FIQ IMPORT init_FIQ ;IMPORT PSSR AREA boot ,CODE ,READONLY ENTRY B Reset_Handler B Undefined_Handler B SWI_Handler B Prefetch_Handler B DataAbort_Handler NOP B Reset_Handler B FIQ_Handler Undefined_Handler B Undefined_Handler SWI_Handler B SWI_Handler Prefetch_Handler B Pr

4、efetch_Handler DataAbort_Handler B DataAbort_Handler IRQ_Handler B IRQ_Handler ;Defined by yourself Reset_Handler ;* ;Check if run in the SDRAM ;* MOV R0,PC CMP R0,#0 x0000003C BNE Stack ;* 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - ;I

5、nit Memory ;* mov r14,pc ;ldr pc,=init_Memory ldr pc,=post_initMem ;* ;Init Stack ;* Stack mov r14,pc ldr pc,=init_Stack ;ldr pc,=post_initStack ;* ;Init Gpio ;* mov r14, pc ldr pc, =post_initGpio ;* ;Enable & Set Interrupt ;* mrs r1, CPSR bic r1, r1,#0 x40 msr CPSR_c, r1 ldr r1, =ICMR ldr r2, =init

6、_ICMR str r2,r1 ldr r1, =FIQ ldr r2, =init_FIQ str r2, r1 ;* ;Init Keypad ;* mov r14,pc ldr pc,=post_initKey ;* 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - ;Power Manager Sleep Status Register ;* ;ldr r1, =PSSR ;mov r2, #0 x30 ;str r2,

7、r1 ;* ;Loop ;* ldr r0,=postDelay postLoop sub r0,r0,#0 x1 cmp r0,#0 x0 bne postLoop ldr pc,=dummyOs END ;handler_IRQ.s IMPORT IRQ_Function ;IMPORT ICMR EXPORT FIQ_Handler AREA FIQ_Handler,CODE,READONLY ;* SUB LR, LR, #0 x4 STMFD SP!,R0-R12,LR BL IRQ_Function LDR R0,=0 x41500000; by gao LDR R1,R0 ;by

8、 gao LDMFD SP!,R0-R12,PC ;* END ;keypad.c #include #include register_variant.h #define LED_CS2 (*(volatile unsigned short int *)(0 x10300000)/LED1 and LED2 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - #define LED_CS3 (*(volatile unsigned

9、 short int *)(0 x10400000)/LED3 and LED4 #define KPDK_VALUE (*(volatile unsigned char *)(0 x41500008) /Direct Keypad #define KPMK_VALUE (*(volatile unsigned char *)(0 x41500020) /Matrix Keypad #define LED_CS4 (*(volatile unsigned char *)(0 x10500000) #define LED_VALUE (0 xff) void IRQ_Function(void)

10、 char i,j; /j by gao unsigned short int kbd_buff; i = KPDK_VALUE; switch (i) case 0 x40: /key-press 1 LED_CS2 = 0 x8079; break; case 0 x02: /key-press 2 LED_CS2 =0 x8024; break; case 0 x04: /key-press 3 LED_CS2 = 0 x8030; break; case 0 x20: /key-press 4 LED_CS2 =0 x8019; break; default: kbd_buff=0 x

11、8F8F; break; i = KPMK_VALUE ; switch (i) case 0 x00: /key-press 5 LED_CS2 =0 x8012; break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - - - case 0 x01: /key-press 6 LED_CS2 = 0 x8002; break; case 0 x02: /key-press 7 LED_CS2 =0 x8078; break;

12、case 0 x05: /key-press 8 LED_CS2 =0 x8000; break; case 0 x10: /key-press 9 LED_CS2 =0 x8010; break; case 0 x11: /key-press 10 LED_CS2 = 0 x4079; break; case 0 x12: /key-press 11 LED_CS2 =0 x7979; break; case 0 x15: /key-press 12 LED_CS2 =0 x2479; break; case 0 x20: /key-press 13 LED_CS2 =0 x3079; br

13、eak; case 0 x21: /key-press 14 LED_CS2 = 0 x1979; break; case 0 x22: /key-press * 15 LED_CS2 =0 x1279; break; case 0 x25: /key-press # 16 LED_CS2 =0 x0279; break; default: break; /int i; void Delay(unsigned int x) unsigned int i, j, k; for (i =0; i =x; i+) for (j = 0; j 0 xff; j+) for (k = 0; k 0 xf

14、f; k+); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - void button_statusFetch(void) char i = 0; unsigned short int kbd_buff; i = KPDK_VALUE ; switch (i) case 0 x40: /key-press 1 LED_CS2 = 0 x8079; break; case 0 x02: /key-press 2 LED_CS2 =

15、0 x8024; break; case 0 x04: /key-press 3 LED_CS2 = 0 x8030; break; case 0 x20: /key-press 4 LED_CS2 =0 x8019; break; default: kbd_buff=0 x8F8F; break; void button_statusFetch1(void) char i = 0; /unsigned short int kbd_buff; i = KPMK_VALUE ; switch (i) case 0 x00: /key-press 5 LED_CS2 =0 x8012; break

16、; case 0 x01: /key-press 6 LED_CS2 = 0 x8002; break; case 0 x02: /key-press 7 LED_CS2 =0 x8078; break; case 0 x05: /key-press 8 LED_CS2 =0 x8000; break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 9 页 - - - - - - - - - case 0 x10: /key-press 9 LED_CS2 =0 x80

17、10; break; case 0 x11: /key-press 10 LED_CS2 = 0 x4079; break; case 0 x12: /key-press 11 LED_CS2 =0 x7979; break; case 0 x15: /key-press 12 LED_CS2 =0 x2479; break; case 0 x20: /key-press 13 LED_CS2 =0 x3079; break; case 0 x21: /key-press 14 LED_CS2 = 0 x1979; break; case 0 x22: /key-press * 15 LED_

18、CS2 =0 x1279; break; case 0 x25: /key-press # 16 LED_CS2 =0 x0279; break; default: break; void dummyOs(void) /int led_sharp; int temp=0; int i; LED_CS2 = temp; LED_CS3 = temp; while(1) LED_CS4 = 0 xff; for (i = 0; i 8; i+) LED_CS4 = (LED_VALUE i) -1; Delay(5); /button_statusFetch(); /Delay(10); 名师资料

19、总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 9 页 - - - - - - - - - / button_statusFetch1(); / Delay(10); 五、实验结果 : 程序运行时, 实验箱上的八个LED灯在自左向右闪烁,当按下键盘上的按钮时,七段数码管吗会显示出对应的编码六、实验总结:通过本次实验, 我锻炼了自己的操作能力,加深了对理论知识的理解,并对对中断工作方式有了初步的认识,理解了通过IRQ和 FIQ 两种不同的中断方式控制程序的运行的方法。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁