嵌入式课程设计-电梯控制系统_第1页
嵌入式课程设计-电梯控制系统_第2页
嵌入式课程设计-电梯控制系统_第3页
嵌入式课程设计-电梯控制系统_第4页
嵌入式课程设计-电梯控制系统_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软软 件件 学学 院院 课程设计报告书课程设计报告书 课程名称 嵌入式系统 设计题目 模拟电梯控制系统 专业班级 学 号 姓 名 指导教师 2014 年年 6 月月 目录目录 1 设计时间 1 2 设计目的 1 3 设计任务 1 4 设计内容 1 4 1 总体方案设计 1 4 1 1 需求规定 2 4 1 2 核心部件选型 3 4 1 3 系统开发环境 4 4 2 硬件设计 4 4 2 1 硬件开发环境简介 4 4 2 2 硬件模块设计 4 4 3 软件设计 6 4 3 1 软件开发环境介绍 6 4 3 2 主程序设计及流程图 7 4 3 3 中断程序设计及流程图 7 4 3 4 软件设计 8 5 总结 10 参考文献 11 1 1 设计时间设计时间 2014 年 6 月 16 日 2014 年 6 月 23 日 2 设计目的设计目的 本课程设计是学习 嵌入式系统 课程后必要的实践教学环节 是检验学生是否 掌握相关专业课程知识的重要手段 以学生为主体 充分调动学生的积极性和创造性 重视学生实际动手能力的培养 课程设计通过使学生加深理解 巩固课堂教学和平时 实验内容 本次课程设计师利用嵌入式系统所学的知识 设计一个模拟电梯控制系统 3 设计任务设计任务 模拟电梯系统的设计要求如下 1 通过键盘输入层数 输入之后 LED 小灯从当前位置向上或向下运行 2 运行到对应的楼层 数码管显示楼层号 3 LED 灯表示运行楼层 4 数码管数字大小的增减表示向上 向下 4 设计内容设计内容 本文根据 AT89S51 单片机 利用键盘 开关 数码管和 LED 模拟实现八层电梯 的控制 并且有像电梯的运行功能 软件利用 C 语言 通过检测用户请求的按键信息 通过键盘输入层数 输入之后 LED 小灯从当前位置向上或向下运行 运行到对应的楼 层 数码管显示楼层号 LED 灯表示运行楼层 数码管数字大小的增减表示向上 向 下 硬件设计简单可靠 结合软件 基本实现了八层电梯运行的模拟 4 1 总体方案设计总体方案设计 通过使用电脑的软件 我们很方便的就可以通过电脑 AT89S51 单片机进行对其的 控制 然后并完成对 LED 灯 矩阵键盘 和显示器的控制 当按了电梯相应的层数时 小灯从当前位置上升或下降的过程 同时数码管显示相应的电梯层数 模拟电梯的运 动过程 步进电梯功能模块图如图 4 1 所示 2 电梯功能模块 按键 输入 模块 八段 数码 管模 块 中端 服务 模块 L E D 显示 模块 图 4 1 步进电梯功能模块图 4 1 1 需求规定 用键盘 按钮 八段码和 LED 模拟电梯工作过程 楼层设为 8 层 键盘数字键 1 8 用来键入希望停的楼层 8 个 LED 显示希望停的楼层 八段码指示电梯当前所在 楼层 按扭用来启 停电梯 电梯正常运行时以每 2 秒 1 层的速度上升或下降 要求 电梯 能按以下方式运行 1 设当前电梯停在某层 八段码显示相应楼层 8 个 LED 全灭 键入 1 8 数字键 如键入的数字与当前电梯停层同 则不发生任何动作 若不同则相应楼层的 LED 亮 如再按运行键 则电梯自动判别上升或下降 在运行过程中八段码显示楼层 变化 一直到达希望停的楼层 八段码显示该楼层 相应 LED 灭 2 设当前电梯正在上升或下降运行 此时八段码显示楼层变化 LED 指示希 望抵达的楼层 若键入新的希望停的楼层数字 相应的 LED 亮 则对同方向 上升 或下降 未到的楼层能停 对其他情况则先停原希望停的楼层 然后按运行键后继续 进行 如下几例 a 设电梯当前在 2 层 向上运行 LED 指示希望在 6 层停 此时 若键入 4 则电梯将在 4 层停 若再按运行键 则继续运行至 6 层停 b 同上情况 若键入的不是 4 而是 8 则电梯将先停在 6 层 再按运行键 运行至 8 层停 c 同上 情况 若键入的不是 4 或 8 而是 1 则电梯先停在 6 层 再按运行键 运行至 1 3 层停 电梯状态的介绍 1 当电梯主体由低楼层向高楼层运动时 称为上升状态 2 当电梯主体由高楼层向低楼层运动时 称为下降状态 3 当电梯主体到达了某个乘客所希望到达的楼层 以下简称目标楼层 后 在系统中 仍然有使用它的请求存在 称为暂停状态 4 当电梯主体到达目标楼层后 在系统再也没有使用它的请求存在 称为停止状 态 5 当乘客进入电梯主体后 使用梯内控制器向系统发送到达其它楼层的请求时 称为楼层请求发送状态 6 当电梯正在运行时 产生了停电条件 此时称为停电状态 4 1 2 核心部件选型 1 AT89S51 AT89S51 是一个低功耗 高性能 CMOS 8 位单片机 片内含 4k Bytes ISP In system programmable 的可反复擦写 1000 次的 Flash 只读程序存储器 器件采用 ATMEL 公司的高密度 非易失性存储技术制造 兼容标准 MCS 51 指令系统及 80C51 引脚结构 芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元 功能强大的微型 计算机的 AT89S51 可为许多嵌入式控制应用系统提供高性价比的解决方案 AT89S51 具有如下特点 40 个引脚 4k Bytes Flash 片内程序存储器 128 bytes 的随机存取数据存储器 RAM 32 个外部双向输入 输出 I O 口 5 个 中断优先级 2 层中断嵌套中断 2 个 16 位可编程定时计数器 2 个全双工串行通信 口 看门狗 WDT 电路 片内时钟振荡器 此外 AT89S51 设计和配置了振荡频率可为 0Hz 并可通过软件设置省电模式 空闲模式下 CPU 暂停工作 而 RAM 定时计数器 串行口 外中断系统可继续 工作 掉电模式冻结振荡器而保存RAM 的数据 停止芯片其它功能直至外中断激 活或硬件复位 同时该芯片还具有PDIP TQFP 和 PLCC 等三种封装形式 以适 应不同产品的需求 4 1 3 系统开发环境 4 开发环境搭建步骤 1 根据需求确定开发工具 2 认识并了解开发板 3 根据项目要求 配置嵌入式操作系统 4 配置主机环境 安装 LINUX 5 在主机上制作交叉工具链 制作调试器 GDB 6 使用制作好的交叉工具链在主机上对 BootLoader 进行交叉编译 形成可执行 的 BootLoader 镜像文件 通过 FLASH 编程器把该 BootLoader 镜像文件烧写到目标板 上的 FLASH 中 7 在主机上配置串口终端 使用串口线 连接主机和目标板的串口 8 在主机上进行应用程序源代码编写 然后在主机上进行源代码的编写 然后在 主机上通过交叉编译 形成可执行程序 把该可执行程序下载到目标板上 然后在目 标板上启动该程序 4 2 硬件设计硬件设计 4 2 1 硬件开发环境简介 EELiod270 教学开发平台基于 Intel XSCALE 架构最新的 PXA270 嵌入式微处理器 最高主频可达 520MHz 可运行 Linux 和 Linux 2 6 11 的 Linux 的操作系统 支持 Tiny X QT E 等 GUI 嵌入式图形用户界面 提供完整的驱动和应用程序 同时还可 以支持最新的 Windows CE 5 0 NET 操作系统 4 2 2 硬件模块设计 1 按键输入模块电路图如图 4 2 所示 5 图 4 2 按键输入模块电路图 2 数码管模块图如图 4 3 所示 图 4 3 八段数码管电路图 6 3 LED 显示模块图如图 4 4 所示 图 4 4 LED 显示模块电路图 4 3 软件设计软件设计 4 3 1 软件开发环境介绍 ADS 集成开发环境是 ARM 公司推出的 ARM 核微控制器集成开发工具 英文成 熟版本为 ADS1 2 ADS1 2 支持 ARM10 之前的所有 ARM 系列微控制器 可以在 Windows98 Windows XP Windows2000 以及 RedHat Linux 上运行 全称为 ARM Developer Suite 他的功能非常强大 他的前身是 SDT SDT 是 ARM 公司几年前的开 发环境软件 目前 SDT 早已经不再升级 ADS 包括了四个模块分别是 SIMULATOR C 编译器 实时调试器 应用函数库 ADS 的编译器调试器较 SDT 都 有了非常大的改观 ADS1 2 提供完整的 WINDOWS 界面开发环境 C 编译器效率极 高 支持 c 以及 c 使工程师可以很方便的使用 C 语言进行开发 提供软件模拟仿 真功能 使没有 Emulators 的学习者也能够熟悉 ARM 的指令系统 配合 FFT ICE 使用 ADS1 2 提供强大的实时调试跟踪功能 片内运行情况尽在掌握 ADS1 2 需要硬件支持 才能发挥强大功能 目前支持的硬件调试器有 Multi ICE 以及兼容 Multi ICE 的调试工 具如 FFT ICE ADS 由命令行开发工具 ARM 实时库 GUI 开发环境 Code Warrior 和 AXD 适用程序和支持软件组成 7 4 3 2 主程序设计及流程图 主程序流程图如图 4 5 所示 图 4 5 主程序流程图 4 3 3 中断程序设计及流程图 判断中断服务子程序流程图如图 4 6 所示 图 4 6 判断中断服务子程序流程图 软件方面主要是应用了 USB 下载驱动软件和 STC ISP 下载软件以及 keil 开发软 件 USB 下载驱动软件的下载 主要是记住 com 借口 烧写程序时要选择要烧写的端 8 口 STC ISP 下载软件主要是程序的编写及编译等 而 keil 开发软件主要将程序烧进 开发板 使开发板实现想要的结果 4 3 4 软件设计 include unsigned char code dofly table 8 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 void DelayUs2x unsigned int t while t 楼层变换延时 void DelayMs unsigned char t while t DelayUs2x 245 DelayUs2x 245 按键延时函数 void show unsigned int i P0 dofly table i 1 数码管 P1 0 xff j i i show i DelayUs2x 60000 show i DelayUs2x 60000 10 5 总结总结与展望与展望 这次课程设计 是我们第一次自己动手使用开发板做设计 从开始的遇到很多问 题到最后的逐一解决 在这个过程中 我们学到了很多课本上学不到的东西 通过自 己动手实践 自己觉得将以前学的知识有了更深刻的认识 并且有很多之前不了解的 东西也通过请教同学和自己查资料得到了想要的答案 在这样的过程中 感觉自己提 高了很多 当然设计中还遇到了一些问题 比如 当输入的楼层有多个时 因为缓存数组 只有八个 所以会有丢失数据的现象 后来请教同学得到了正确的解决办法 缓存用 链表来存数据 这样既可以避免数据丢失 而且在用完一个数据后可以及时释放 避 免了空间的浪费 自己做的东西在开发板上运行出来的时候 像是将抽象的知识具体化了 使我们 对自己做的题目的实现过程认识的更加深刻 此外 虽然做到了题目要求的功能 但 是还远远不够 程序还是可以改进的更完善 通过这次课程设计 是我们体会到自己动手才能真正掌握 每一次动手做课设 既是对自己的锻炼 又是对自己的检验

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论