




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
存档资料存档资料 成绩 成绩 华东交通大学理工学院华东交通大学理工学院 课课 程程 设设 计计 报报 告告 书书 课程名称课程名称 嵌入式系统原理及应用嵌入式系统原理及应用 题题 目目 ARM9 I O 口控制口控制 LED 流水灯程序设计流水灯程序设计 分分 院院 电电 信信 分分 院院 专业班级专业班级 通信工程通信工程 2008 2 学学 号号 20080210420224 学生姓名学生姓名 骆骆 玉玉 春春 指导教师指导教师 徐徐 涢涢 基基 2012 年年 12 月月 30 日日 华东交通大学理工学院课程设计报告 1 华东交通大学理工学院华东交通大学理工学院 课课 程程 设设 计计 任任 务务 书书 专专 业业 通信工程通信工程 班班 级级 2008 级级 2 班班 姓名姓名 骆玉春骆玉春 一 课程设计题目一 课程设计题目 ARM9 I O 口控制口控制 LED 流水灯想设计流水灯想设计 二 课程设计工作 自二 课程设计工作 自 2011 年年 12 月月 28 日起至日起至 2012 年年 1 月月 2 日止 日止 三 课程设计的内容要求 三 课程设计的内容要求 1 了解了解 ARM9的的 I O 口的工作原理 口的工作原理 2 基于基于 arm920T 的内核 在开发板或者实验箱上 实现的内核 在开发板或者实验箱上 实现 LED 的流的流 水控制 水控制 3 了解了解 I O 口怎么控制口怎么控制 LED 的输出 的输出 4 掌握设置掌握设置 I O 口的状态需要设置的寄存器口的状态需要设置的寄存器 GPBCON GPBDAT GPBUP 5 掌握在掌握在 ADS 环境下建立工程 用环境下建立工程 用 H JTAG 来调试程序 生成来调试程序 生成 HEX 文件 文件 6 总结本次课程设计的知识点 总结本次课程设计的知识点 学生签名学生签名 201 年年 月月 日日 华东交通大学理工学院课程设计报告 2 课程设计评阅意见课程设计评阅意见 评阅人评阅人 职称职称 20 年年 月月 日日 等 级 序号项 目 优秀良好中等及格不及格 1课程设计态度评价 2出勤情况评价 3任务难度评价 4工作量饱满评价 5任务难度评价 6设计中创新性评价 7论文书写规范化评 价 8综合应用能力评价 综合评定等级 华东交通大学理工学院课程设计报告 3 目目 录录 课程设计任务书课程设计任务书 2 第第 1 章章 课程设计目的课程设计目的 4 第第 2 章章 S3C2440 的的 I O 口配置口配置 5 第第 3 章章 S3C2440 的的 I O 口寄存器口寄存器 6 第第 4 章章 课程设计过程课程设计过程 9 4 1 设计步骤设计步骤 9 4 2 部分原理图部分原理图 9 4 3 源程序源程序 10 4 4 编译调试结果编译调试结果 17 第第 8 章章 课程设计心得课程设计心得 19 参考文献参考文献 20 华东交通大学理工学院课程设计报告 4 第第 1 章章 课程设计目的课程设计目的 这学期开了嵌入式这门课程 之前就了解到嵌入式系统是当前最热门最有 发展前途的 IT 应用领域之一 嵌入式系统用在一些特定专用设备上 通常这 些设备的硬件资源 如处理器 存储器等 非常有限 并且对成本很敏感 有 时对实时响应要求很高等 特别是随着消费家电的智能化 嵌入式更显重要 像我们平常常见到的手机 可视电话 PDA 电子字典 VCD DVD MP3 Player 机顶盒 Set Top Box 数字相机 DC 数字摄像机 DV 高清电视 HDTV 游戏机 智能玩具 交换机 路由器 数控设备或仪表 汽车电子 家电控制系统 医疗仪器 航天航空设备等等都是典型的嵌入式系统 随着社会的发展 嵌入式在未来的应用会越来越广泛 随着物联网的时代 的到来 电器将会与互联网 移动电话成为一体 通过无线通信技术以及互联 网技术将可以使人们在任何时候控制电器等的工作 通过这次课程设计使我们了解基本的嵌入式编程方法以及培养我们对嵌入 式编程的兴趣 与此同时 我们还能巩固一下 C 编程和汇编编程基础 为将来 的嵌入式学习和工作做好充足的准备 华东交通大学理工学院课程设计报告 5 第第 2 章章 S3C2440 的的 I O 口配置口配置 在 S3C2440 的 CPU 中有 130 多个多功能的输入输出引脚 分为 8 个端口 如下所示 Port A GPA 25 output port Port B GPB 11 input out port Port C GPC 16 input output port Port D GPD 16 input output port Port E GPE 16 input output port Port F GPF 8 input output port Port G GPG 16 input output port Port H GPH 9 input output port Port J GPJ 13 input output port 每个端口可以很容易地通过软件配置 以满足不同的系统配置和设计要求 如果引脚不用于复用功能 则引脚可配置为普通的 I O 口 它们的寄存器是相 似的 GPxCON 用于选择引脚功能 GPxDAT 用于都 写引脚数据 GPxUP 用 于确定是否使用内部上拉电阻 x 为 A B H J 注意没有 GPAUP 1 GPxCON 中每两位控制一根引脚 00 表示输入 01 表示输出 10 表示特殊功能 11 保持不用 其中 GPBCON 中共有 22 位来管理 GPB 的功能设置 每两位来管理一个口的功能设 置 两位共有四种状态 当 GPB 中的两位值为 00 时 配置为输入功能 配置 为 01 时 是输出功能 10 为复用功能 11 为保留状态 2 GPxDAT 用于读 写引脚 当引脚设为输入时 读此寄存器可知相应引脚的状态是高是低 当引脚设为输出时 写此寄存器相应位可令此引脚输出低电平或高电平 3 GpxUP GPBUP 宫 11 位 每一位代表一个管脚的上拉功能 某位为 0 时 相应引 脚上拉功能被使能 为 1 时 相应引脚被禁止使用上拉功能 华东交通大学理工学院课程设计报告 6 第第 3 章章 S3C2440 的的 I O 口寄存器口寄存器 LED 灯是接在某一个 I O 上的 点亮或者熄灭 LED 灯其实就是对 I O 寄存 器的操作 ARM 的 I O 口寄存器主要包括端口配置寄存器 GPXCON 端口数 据寄存器 GPXDAT 端口上拉电阻使能寄存器 GPXUP MISCELLANEOUS 控 制寄存器和外部中断寄存器五种 其中 X 为芯片的 I O 口字母 在这个课程设 计我们只用前三个寄存器 下面就对着三个寄存器进行简单的介绍 对于 ARM 芯片来说 它的寄存器很多 为了区分不同的寄存器 系统给 每个寄存器都分配了一个固定的地址 地址就像每个人的身份证一样 是唯一 的 那么当你使用这个地址的时候 ARM 就知道你要使用哪个寄存器了 所以 在编程的时候 首先要声明待操作的寄存器地址 下表就是本次课程设计要用 到的寄存器的地址和位定义 RegisterAddressR WDescriptionReset Value GPBCON0 x56000010R WConfigures the pins of port B0 x0 GPBDAT0 x56000014R WThe data register for port BUndefined GPBUP0 x56000018R WPull up disable register for port B 0 x0 Reserved0 x5600001c ReservedUndefined ARM 芯片找到相应寄存器后 也先要设置端口配置寄存器 GPBCON 也就是 告诉寄存器做好接收数据或者输出数据或者响应外部中断的准备 下表为它的 功能描述 GPBCONBitDescription GPB10 21 20 00 Input 01 Output 10 nXDREQ0 11 reserved GPB9 19 18 00 Input 01 Output 10 nXDACK0 11 reserved GPB8 17 16 00 Input 01 Output 10 nXDREQ1 11 Reserved 华东交通大学理工学院课程设计报告 7 GPB7 15 14 00 Input 01 Output 10 nXDACK1 11 Reserved GPB6 13 12 00 Input 01 Output 10 nXBREQ 11 reserved GPB5 11 10 00 Input 01 Output 10 nXBACK 11 reserved GPB4 9 8 00 Input 01 Output 10 TCLK 0 11 reserved GPB3 7 6 00 Input 01 Output 10 TOUT3 11 reserved GPB2 5 4 00 Input 01 Output 10 TOUT2 11 reserved GPB1 3 2 00 Input 01 Output 10 TOUT1 11 reserved GPB0 1 0 00 Input 01 Output 10 TOUT0 11 reserved ARM 设置完 I O 口状态后 就准备读 写数据了 这个功能可以通过设置 数据寄存器 GPBDAT 来实现 下表即为它的功能描述 GPBDATBitDescription GPB 10 0 10 0 When the port is configur ed as input port the corre sponding bit is the pins state When the port is configured as output port the pin state is the sameas the corresponding bit When the port is config gu red as functional pin theundefined value will be read ARM 设置完 I O 口状态后 就准备读 写数据了 这个功能可以通过设置 华东交通大学理工学院课程设计报告 8 数据寄存器 GPBDAT 来实现 下表即为它的功能描述 设置完前两个寄存器后 还要设置上拉电阻使能寄存器 GPBUP 顾名思义 它的作用就是告诉 ARM 这个端口要不要配置上拉电阻 上拉电阻 下拉电阻 的作用在于 当 IO 引脚处于第三态 即不是高电平 也不是低电平 而是高阻 态 相当于没接芯片 时 它的电平状态由上拉电阻 下拉电阻确定 下表为 它的功能描述 当为 0 时 上拉电阻是允许的 反之 则上拉电阻是被禁止的 到此 需要的寄存器就配置完成了 那么接下来介绍下 LED 在开发板上的 电路原理图 GPBUPBitDescription GPB 10 0 10 0 0 The pull up function attached to the corrrespond ing port pin is enabled 1 The pull up function is disabled 华东交通大学理工学院课程设计报告 9 第第4章章 课程设计过程课程设计过程 4 1 设计步骤设计步骤 1 连接好实验环境 将仿真器的一端通过并口连接到 PC 机 将仿真器的另 一端通过 JTAG 先连接到开发板 JTAG 接口 2 将串口线一端接到 PC 机 另一端接到 S3C2440 的 UART0 接口 打开串 口超级终端 设置串口属性为 COM1 串口波特率 Baudrout 为 115200 校 验位无 数据位为 8 停止位为 1 检查连接是否可靠 可靠后 接入电源线 给系统上电 同时按住空格键 进入 VIVI 状态 3 打开 ADS codeWarrior 在 ADS codeWarrior 中创建工程编写代码 并对工 程进行编译 4 使用 H JTAG 进行调试 5 打开 ARM 的开发环境 AXD Debugger 在 AXD Debugger 中加载可执行映 像文件 LED TEXT axf 6 在 ADS 调试环境处下 全速运行映像文件 观察 LED 灯 LED1 LED2 LED3 LED4 的闪亮情况 轮流闪烁 4 2部分原理图部分原理图 华东交通大学理工学院课程设计报告 10 图图 a 图图 b 上图 a b 是实验的部分原理图 可以看出我们通过 GPB5 GPB6 GPB7 GPB8 来分别控制 LED1 LED2 LED3 LED4 4 3 源程序 源程序 1 main c define rGPBCON volatile unsigned 0 x56000010 prot B contorl define rGPBDAT volatile unsigned 0 x56000010 prot B data define rGPBUP volatile unsigned 0 x56000010 pull up control B void xmain void ChangeClockDivider 3 1 设置时钟分频比 1 3 6 ChangeMPllValue 127 2 1 设置主时钟频 405MHZ Port Init 端口初始化 华东交通大学理工学院课程设计报告 11 Isr Init 中断初始化 Uart Init 0 115200 串口初始化 Uart Select 0 Uart Printf the main is running n 向超级终端打印 the main is running rGPBCON rGPBCON 将 GPB5 11 10 两位设置为 01 即 output 状态 GPB6 13 12 两位设置 为 01 即 output 状态 rGPBCON rGPBCON 将 GPB7 15 14 两位设置为 01 即 output 状态 GPB8 17 16 两位设置 为 01 即 output 状态 rGPBUP rGPBUP 将 GPB5 GPB6 GPB7 GPB8 上拉电阻设置为 disabled while 1 rGPBDAT rGPBDAT 0 xF 5 点亮 LED1 Delay 10000000 延时 rGPBDAT rGPBDAT 0 xF 5 点亮 LED2 Delay 10000000 延时 rGPBDAT rGPBDAT 0 xF 5 点亮 LED3 Delay 10000000 延时 rGPBDAT rGPBDAT 0 xF 5 点亮 LED4 Delay 10000000 延时 rGPBDAT rGPBDAT 0 xF 5 点亮 LED3 Delay 10000000 延时 rGPBDAT rGPBDAT 0 xF 5 点亮 LED2 Delay 10000000 延时 rGPBDAT rGPBDAT 0 xF 5 点亮 LED1 Delay 10000000 延时 华东交通大学理工学院课程设计报告 12 2 2440lib c File Name 2440lib c Function S3C2440 PLL Uart LED Port Init Date 2011 22 28 Version 0 1 include def h include option h include 2440addr h include 2440lib h include 2440slib h include include include include include extern char Image RW Limit void mallocPt Image RW Limit static int delayLoopCount void Delay int time 延时函数 int i adjust 0 if time 0 华东交通大学理工学院课程设计报告 13 time 200 adjust 1 delayLoopCount 800 rWTCON PCLK 1000000 1 8 2 3 rWTDAT 0 xffff rWTCON PCLK 1000000 1 8 2 3 1 0 time for i 0 i delayLoopCount i if adjust 1 rWTCON PCLK 1000000 1 8 2 64us 200 800 cycle runtime 64 i us delayLoopCount 16000000 i 64 200 800 64 i 1 x 100 x 160000 100 64 i void Port Init void I O 口初始化 rGPACON 0 x7fffff rGPBCON 0 x155555 rGPBUP 0 x7ff The pull up function is disabled GPB 10 0 rGPCCON 0 xaaaaaaaa rGPCUP 0 xffff The pull up function is disabled GPC 15 0 rGPDCON 0 xaaaaaaaa rGPDUP 0 xffff The pull up function is disabled GPD 15 0 rGPECON 0 xaaaaaaaa 华东交通大学理工学院课程设计报告 14 rGPEUP 0 xffff The pull up function is disabled GPE 15 0 rGPFCON 0 x55aa rGPFUP 0 xff The pull up function is disabled GPF 7 0 rGPGCON 0 xff95ffba rGPGUP 0 xffff The pull up function is disabled GPG 15 0 rGPHCON 0 x2afaaa rGPHUP 0 x7ff The pull up function is disabled GPH 10 0 rGPJDAT 1 12 0 11 rGPJCON 0 x016aaaa rGPJUP 0 12 1 11 rGPJDAT 0 12 0 11 rGPJCON 0 x016aaaa rGPJUP 0 x1fff 1 12 1 11 rEXTINT0 0 x22222222 EINT 7 0 rEXTINT1 0 x22222222 EINT 15 8 rEXTINT2 0 x22222222 EINT 23 16 static int whichUart 1 void Uart Init int pclk int baud 串口初始化 设置时钟 波特率 if pclk 0 pclk PCLK rUFCON0 0 x0 UART channel 0 FIFO control register FIFO disable rUFCON1 0 x0 UART channel 1 FIFO control register FIFO disable rUFCON2 0 x0 UART channel 2 FIFO control register FIFO disable rUMCON0 0 x0 UART chaneel 0 MODEM control register AFC disable rUMCON1 0 x0 UART chaneel 1 MODEM control register AFC disable UART0 rULCON0 0 x3 Line control register Normal No parity 1 stop 8 bit rUCON0 0 x245 Control register 华东交通大学理工学院课程设计报告 15 rUBRDIV0 0 x34 UART1 rULCON1 0 x3 rUCON1 0 x245 rUBRDIV1 int pclk 16 baud 0 5 1 UART2 rULCON2 0 x3 rUCON2 0 x245 rUBRDIV2 int pclk 16 baud 0 5 1 Uart TxEmpty whichUart void Uart Select int ch whichUart ch void Uart TxEmpty int ch if ch 0 while rUTRSTAT0 Wait until tx shifter is empty else if ch 1 while rUTRSTAT1 Wait until tx shifter is empty else if ch 2 while rUTRSTAT2 Wait until tx shifter is empty void Uart SendString char pt while pt 华东交通大学理工学院课程设计报告 16 Uart SendByte pt void Led Display int data LED 显示 rGPFDAT rGPFDAT void Timer Start int divider 0 16us 1 32us 2 64us 3 128us rWTCON PCLK 1000000 1 8 divider 3 Watch dog timer control register rWTDAT 0 xffff Watch dog timer data register rWTCNT 0 xffff Watch dog count register rWTCON rWTCON int Timer Stop void rWTCON PCLK 1000000 1 8 return 0 xffff rWTCNT void ChangeMPllValue int mdiv int pdiv int sdiv rMPLLCON mdiv 12 pdiv 4 sdiv void ChangeUPllValue int mdiv int pdiv int sdiv rUPLLCON mdiv 12 pdiv 4 sdiv void Isr Init void 中断初始化 pISR UNDEF unsigned HaltUndef 华东交通大学理工学院课程设计报告 17 pISR SWI unsigned HaltSwi pISR PABORT unsigned HaltPabort pISR DABORT unsigned HaltDabort rINTMOD 0 x0 All IRQ mode rINTMSK BIT ALLMSK All interrupt is masked rINTSUBMSK BIT SUB ALLMSK 4 4 编译调试结果编译调试结果 华东交通大学理工学院课程设计报告 18 华东交通大学理工学院课程设计报告 19 华东交通大学理工学院课程设计报告 20 第第 5 章章 课程设计心得课程设计心得 通过本次课程设计 使我对 S3C2440 体系结构理解更加深刻
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025河南许昌市建安区招聘公益性岗位人员13人模拟试卷及完整答案详解1套
- 2025广西百色市第三人民医院(百色市应急医院)公开招聘5人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025年宁波市鄞州区面向社会公开招聘社区专职工作者55人模拟试卷及一套答案详解
- 2025平煤集团国际贸易公司面向集团内部招聘1人笔试题库历年考点版附带答案详解
- 2025年枣庄市立医院公开招聘备案制工作人员(36人)考前自测高频考点模拟试题参考答案详解
- 2025湖南新宁县招聘教师30人模拟试卷及答案详解1套
- 2025昆明市官渡区司法局辅助人员招聘(1人)考前自测高频考点模拟试题带答案详解
- 2025江西吉安市青原区青鸾文化传媒有限公司招聘5人模拟试卷及答案详解(夺冠)
- 2025安徽皖岳信合项目管理有限公司招聘9人笔试题库历年考点版附带答案详解
- 2025河南许昌市消防救援支队招聘政府专职队员50人考前自测高频考点模拟试题及答案详解(易错题)
- 门诊护理质量持续改进方案
- 养殖险的理赔培训课件
- DB51T 3149-2023 四川省电力用户受电设施及配电设施运维检修服务管理规范
- 临床前药代动力学指导原则
- 生物大分子的分离纯化和鉴定
- 轮胎拆装机的安全操作规程
- 社保退休的调档函格式
- prs7910数据网关机技术使用说明书
- GB/T 3810.4-2016陶瓷砖试验方法第4部分:断裂模数和破坏强度的测定
- 手术室进修护士结业理论考试题附答案
- 组织行为学MBA全套课件
评论
0/150
提交评论