嵌入式统及应用ex03.docxVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式统及应用ex03

实验三:外部中断/定时器实验 1.实验目的 掌握外部中断引脚功能设置及外部中断工作模式设置。 学习中断服务函数的编写。 掌握定时器外设的操作原理和编程。 2.实验设备 硬件:PC机一台 Mini2440 ARM实验板一套 J-link仿真器一套 软件:WindowsXP系统,Keil uVision 4.0集成开发环境 3.实验内容 (1)将GPIOG0设置为低电平触发外部中断;然后等待中断事件。中断服务程序利用计数器(R2)计算中断发生的次数。使用Keil uVision的调试功能单步、全速运行程序,设置断点,打开寄存器窗口监视寄存器,观察计数器的变化。 (2)使用GPIO读取Mini2440实验板上的按键状态,观察按键输入的抖动现象。 4.实验预习要求 (1)学习ARM中断工作原理和编程方法; (2)查阅S3C2440芯片手册,了解中断处理系统的结构和原理。 5.实验步骤 (一)外部中断实验: (1)开发板按键1连接到EINT8/GPIO0,见图3-1,本实验中该引脚被配置成外部中断输入功能。 图3-1 按键输入 (2)启动Keil uVision,新建一个工程ex03-1。不需要系统提供的Startup文件。建立汇编源文件ex03-1.s,编写实验程序,然后添加到工程中。设置工程选项,存储器映射。设置工程调试选项。建立仿真初始化文件RAM.ini。 具体步骤参考实验二。 (3)S3C2440中断控制器原理见图3-2。 图3-2 中断控制器原理 (4)实验程序分为三个部分: a)设置中断向量表; b)初始化ARM处理器、中断控制器、IO输入引脚的设置,允许中断发生和处理,然后主程序进入空循环,等待中断事件; c)准备中断处理程序,对中断事件进行相应的处理; (5) 编译链接工程。连接实验板电源、J-link仿真器,进行仿真调试。全速执行程序,按下按键1,然后暂停程序执行,观察计数值的变化。 参考:GPIOG控制寄存器 (二)定时器实验: (1) 本实验使用S3C2440片内定时器0,见图3-3。PCLK时钟经过预分频作为递减计数器的时钟,当计数器的值减小到0时,将触发中断事件。 图3-3 按键输入 (2)启动Keil uVision,新建一个工程ex03-2。不需要系统提供的Startup文件。建立汇编源文件ex03-1.s,编写实验程序,然后添加到工程中。设置工程选项,存储器映射。设置工程调试选项。建立仿真初始化文件RAM.ini。 具体步骤???考实验二。 (3)实验程序分为三个部分: a)设置中断向量表; b)初始化ARM处理器、中断控制器、定时器的设置,允许中断发生和处理,然后主程序进入空循环,等待中断事件; c)准备中断处理程序,对中断事件进行相应的处理; (5) 编译链接工程。连接实验板电源、J-link仿真器,进行仿真调试。全速执行程序,然后暂停程序执行,观察计数值的变化。 参考:定时器控制寄存器 6.实验参考程序 GPIO输出实验的参考程序见程序清单3.1。GPIO输入实验的参考程序见程序清单2.2。 程序清单3.1 外部中断实验参考程序 NOINT EQU 0x80 ; 1000 0000 BIT_EINT8_23 EQU (0x15) EINT8 EQU (0x18) GPGCON EQU 0 ;Port G control register EXTINT1 EQU 0x5600008c ;External interrupt control register 1 INTMSK EQU 0x4a000008 ;Interrupt mask control EINTMASK EQU 0x560000a4 ;External interrupt mask SRCPND EQU 0x4a000000 ;Interrupt request status INTPND EQU 0x4a000010 ;Interrupt request status EINTPEND EQU 0x560000a8 ;External interrupt pending AREA RESET, CODE, READONLY ;声明代码段RESET ENTRY ;表示程序入口 CODE32 ;声明32位ARM指令 b Reset Undef b Undef ;handler for Undefined mode SWI b SWI ;handler for SWI interrupt Pabort b Pabort ;handler for

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档