ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:409KB ,
资源ID:7353839      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7353839.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ARM中断编程实验.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ARM中断编程实验.docx

1、ARM中断编程实验ARM中断编程实验D 实验箱上按键位置2、编程流程去除 GPX1_2、 GPX1_2, GPX3_2 内部上下拉属性,配置为中断模式 。GPIO 控制器中关闭屏蔽、使能中断; 在 GIC 中断控制器中使能中断; 设置中断优先级; 使能 GIC; 选择中断发送给 CPU0; 等待中断产生,然后进入中断处理函数; 清除中断源。 五实验内容(1)连接好开发板与计算机之间的串口线和 BL-JTAG 仿真器 (2)连接好开发板的交流电源线(3)接下来利用计算机演示集成开发环境的使用,以及LED灯的控制实验软硬件仿真流程,打开Eclipse,导入工程Key_Int,进行相应代码编写,编译

2、,配置相关debug信息,装载程序,按下KEY1,KEY2,KEY3在putty串口终上查看相应的信息输出以及可以看到LED1和LED2和LED3亮灭情况。六实验步骤 根据实验一步骤,连接仿真器、串口线,打开Eclipse,导入工程Key_Int,进行相应代码编写,编译,配置相关debug信息,装载程序,按下KEY1,KEY2,在putty串口终端上查看相应的信息输出以及可以看到LED1和LED1亮灭情况。 修改代码,完成扩展实验 K3中断签需要配置的寄存器GPX3.PUD 4-5位设为0GPX3.CON 8-11位设为0XFEXT_INT43_CON 8-11位设置为0x2EXT_INT43

3、_MASK 第2位设为0ICDISER.ICDISER2 第0位设为1K3中断服务程序中需要配置的寄存器GPX1.DAT 第3位和第5位为0 GPL1.DAT 第1位为1EXT_INT43_PEND 第2位设为1ICDICPR.ICDICPR2 第0位设为0七实验结果可以看到按下K1对应的按键第一颗灯亮第二颗和第三颗灯灭可以看到按下K2对应的按键第二颗灯亮第一颗和第三颗灯灭可以看到按下K3对应的按键第三颗灯亮第一颗和第二颗灯灭代码分析(主要对LED3的代码分析,LED1与LED2的编写基本类似):/Interrupt GPX3_2: Turn off LED1, turn off LED2,

4、turn on LED3 /此处编写LED相关处理 GPL1.DAT |= 0x1 1; /turn on LED3 GPX1.DAT &= (0x1 5); GPX1.DAT &= (0x1 3);/Turn off LED1, turn off LED2 EXT_INT43_PEND |= 0x1 2; /EXT_INT43_PEND 第2位设为1 ICDICPR.ICDICPR2 &= (0x1 0);/ICDICPR.ICDICPR2 第0位设为0 printf(PWRON3(GPX1_1:XEINT09) IRQ interrupt ! Turn on LED1, turn off

5、LED2, turn off LED3n); /Clear Pend /此处清除K3对应的中断标志位 break;这段代码是扩展实验的代码,该段执行的是当按下K3按键时cpu检测到相应中断源产生,进入switch选择,LED3常亮,关闭LED1,LED2/在此处添加K3的相关寄存器配置GPX3.PUD = GPX3.PUD & (0x3 (2*2); / GPX3.PUD 4-5位设为0GPX3.CON = (GPX3.CON & (0xF (2*4) | (0xF (2*4); /GPX1_3: 8-11位设为0XFEXT_INT43_CON = (EXT_INT43_CON & (0x7

6、(2*4) | 0x2 (2*4);/EXT_INT43_CON 8-11位设置为0x2EXT_INT43_MASK = (EXT_INT43_MASK & (0x1 2); / 第2位设为0/配置K3对应的ICDISER.ICDISER2ICDISER.ICDISER2 |= 0x1 0; /第0位设为1结果分析 在完成扩展实验的代码并烧录进去后,LED4是不断闪烁的,按下K1时,LED1灯常亮 LED2 LED3熄灭,当按下K2时,LED2常亮 LED1 LED3熄灭,当按下K3时,LED3常亮而LED1 LED2熄灭。达到了实验要求 源程序先配置寄存器去除上拉电阻以及配置GPIO为中断属

7、性,配置中断触发方式等一系列的配置操作进行中断代码的配置初始化,然后再在中断函数中写入中断函数的代码进行配置,在main()函数中,通过不断配置GPL2.DAT寄存器让LED4不断进行闪烁的操作。在中断函数中通过按下按键,亮起对应的LED灯达到实验要求心得体会通过这次实验,我们进一步了解了中断代码的程序编写以及对这款芯片的使用,在以前的课程学习中我们接触过基础的51系列单片机中断程序的编写,中断程序的编写思路基本一致,都是在main函数中进行寄存器相关的配置,在中断函数中写入中断代码等待中断函数的执行。但是对不同类型的芯片具体的使用过程就会有所不同,这款芯片比起最基础的51系列要复杂一些所以初始化寄存器的配置过程要繁琐一些,对于寄存器的使用要更复杂,中断函数并没有像以前的那样专门有interrupt的注释,初次接受感觉难以适应。实验的过程中因为仿真器的问题代码无法烧录进去和其他繁琐的操作导致实验过程中出现了一些小障碍,起初并不能达到要求的结果,但出现了问题及时发现问题的所在之处能够更快的帮助我们提高自己处理问题的能力并让我们对这次实验的体会也更加深刻。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1