实训报告ARM教程.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实训报告ARM教程

河南工学院 学 生 实 验 报 告 实验课程名称 ARM嵌入式系统结构与编程 实验项目名称 带开关LED走马灯 系、部 计 科 系 年级 14 专业班级 计应用141 学 生 姓 名 李鑫 学 号 141010114 实 验 时 间 总 成 绩教师签名翟海庆 实验目的? 1、对本学期所学知识进行总结。 2、掌握GPIO IP核的工作原理和使用方法 3、掌握中断控制方式的IO接口设计原理 4、掌握中断程序设计方法 5、掌握IO接口程序控制方法 -------查询方式 -------延时方式 实验地点 计科系实验中心 实验内容 在CodeWarrior编译开发环境下,使用UCOS-II操作系统,编制程序实现如下功能:1、程序启动时,实验箱上的八个指示灯循环亮灭,灯亮和灯灭的时间均为1S。2、实验箱上的八个按键分别对应八个指示灯,按键按下时,对应的指示灯处于灭的状态,不再闪烁,当按键再次按下时,指示灯重新开始闪烁。3、所有的源代码均在加上详细的注释。4、画出程序流程图。 四、实验原理 硬件实现框图 如图所示: 五、硬件实现步骤 使用XPS创建一个基于AXI总线的最小计算机系统。 File – New BSB Project,如图: 修改时钟设置:将时钟产生器的时钟输入信号进行修改,修改为单一时钟源。修改后的结果如图: 添加GPIO IP核,设置LEDs_8Bits配置: 在IP Catalog标签中,双击下面图标创建GPIO IP核: 添加GPIO IP核后,将名字改为LED_8Bits,如图: 更改LED_8Bits配置窗口的属性,如图: 添加AXI Interrupt Controller IP核: 在IP Catalog标签中,双击下面图标创建INTC IP核: 添加axi_intc_0的中断源,如图: 将microblaze_0实例的INTERRUPT引脚选择axi_intc_0_INTERRUPT,如图: 产生外部GPIO连接: 选中LEDs_8Bits中的GPIO_IO_O,选择make external,生成外部连接端口;选中GPIO_IO,设置为“No connection”,取消其外部连接端口。结果如图: 在ports标签下,展开External Ports项,可看到LEDs_8Bits生成的LEDs_8Bits_GPIO_IO_PIN端口,如图: 添加timer IP核: 选择如图的IP核并双击,添加到工程: 中断信号的连接结果如图所示: 配置UCF文件: 在UCF文件中修改如图所示配置,配置LED连接电路约束: 创建工程过程完成后, 在主界面下选择Hardware-Generate Netlist; 在主界面下选择Hardware-Generate Bitstream; 单击Graphical Design View,可以看到系统的连接图,如下: 六、应用软件设置 中断方式实现走马灯 SDK提供的外设驱动以及应用程序 点击project-Expert Hardware Design to SDK…,点击ExportLaunch SDK: 在SDK中,点击file-new-board support package,如图: 点击file-new-application project,创建一个Empty Applicant工程,如图所示: 设计用户应用程序 用户应用程序的设计包括定时器配置、启动中断系统、设计中断服务程序。 中断服务程序:要求每产生一次中断led灯亮的位置向高位移动1位。 完整的程序代码如下,其中:main为主程序,timerCounterHandler为中断服务程序。该程序设置定时器初始值为0x5f5e100,表示计数100M个时钟脉冲,由于时钟为100MHz,因此1秒钟产生一次中断。设置定时器的工作方式为允许中断、自动装载、减计数模式。 源代码: 延时方式实现走马灯 延时方式的程序,没有中断和计时器部分,通过for循环来达到延时的目的。代码如下: 七、实验总结 通过用两种方式实现走马灯的实验,我掌握了GPIO IP核的工作原理和使用方法,同时也明白了中断控制方式的IO接口设计原理,在这基础上,又进一步学习到了中断程序设计方法以及IO接口程序控制方法(包括查询方式和延时方式)。 在实验的过程中,我遇到了一些挫折,但是通过跟同学交流和看书上的原理就成功解决了。譬如,在实验过程中

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档