单片机实训电梯控制系统实验.doc_第1页
单片机实训电梯控制系统实验.doc_第2页
单片机实训电梯控制系统实验.doc_第3页
单片机实训电梯控制系统实验.doc_第4页
单片机实训电梯控制系统实验.doc_第5页
免费预览已结束,剩余13页可下载查看

下载本文档

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

文档简介

1 目录目录 一 课程设计题目一 课程设计题目 2 2 二 课程设计目的二 课程设计目的 2 2 三三 设计要求设计要求 2 2 四 控制系统的总体设计方案四 控制系统的总体设计方案 2 2 五 控制系统的硬件系统设计五 控制系统的硬件系统设计 3 3 5 1 AT89C51 单片机介绍 3 5 2 硬件系统原理框图 4 5 3 硬件电路及其描述 4 5 4 硬件接线图 5 六 控制系统的软件设计六 控制系统的软件设计 6 6 6 1 主程序流程图 6 6 2 子程序流程图及中断服务程序 7 6 2 1 显示子程序流程图 7 6 2 2 键盘扫描子程序流程图 8 6 2 3 中断服务子程序流程图 9 6 3 程序清单 10 七 软硬件调试七 软硬件调试 1313 6 1 硬件调试 13 6 2 软件调试 13 八 实验小结八 实验小结 1515 九 心得体会九 心得体会 1616 十 参考文献十 参考文献 1717 2 一 课程设计题目 基于单片机的三层电梯控制系统 本小组成员 xxx xxx xxx xxx xxx 二 课程设计目的 1 学习 P 口的使用方法 2 掌握如何利用单片机控制 LED 动态显示 3 掌握动态扫描显示的基本原理 动态显示的控制电路及控制程序 4 掌握微机控制系统的键盘组成及工作原理 5 认识微机控制系统的键盘设计 了解单片机键盘的特点和应用 三 设计要求 设计一个自动电梯模拟升降控制系统 通过乘客的自行按键达到电梯的升 降功能 结合硬件与软件对应 彩灯的 P1 0 P1 2 口显示电梯的所处楼层指示灯 P1 3 P1 4 为电梯的运行 停止状态 P1 5 P1 7 为电梯的开关门状态 电梯外 部的电路由第 2 5 6 10 号按键来控制相应的楼层 电梯的内部电路由第 3 7 11 号按键来控制与之对应的楼层 通过数码管显示 实现模拟电梯的控 制 四 控制系统的总体设计方案 微型计算机的出现使计算机在逻辑处理和工业控制等方面的非凡能力得到 了更好的体现 尤其是其非凡的嵌入能力对于满足嵌入式应用需求具有独特的 优势 随着城市建设的不断发展 楼群建筑不断增多 电梯在当今社会的生活中 有着广泛的应用 电梯作为楼群建筑中垂直运行的交通工具已与人们的日常生 活密不可分 实际上电梯是根据外部呼叫信号 呼梯信号 以及自身控制规律等 运行的 而呼叫是随机的 电梯实际上是一个人机交互式的控制系统 单纯用 顺序控制或逻辑控制 是不能满足控制要求的 因此 大部分电梯控制系统都采 用随机逻辑方式控制 在目前广泛使用的电梯控制系统中 绝大多数为继电器控制型 所有的逻 辑及控制关系完全由诸多继电器互相配合来完成 该控制系统的缺点是 1 随着楼层的 增高 使用继电器的数量越来越多 造价和体积也越来越大 3 2 继电器这种触点式的电控元器件不宜长时间频繁工作 因而采用在电梯系 统当中常发生触电表面 烧结 控制失灵的故障 因此我们设计一个 3 层自动电梯模拟升降控制系统 通过乘客的自行按键 达到升降功能 采用单片机作为控制核心进行仿真 本次设计是应用 AT89C51 芯片进行设计制作的模拟电梯控制系统 通过乘 客的按键达到对电梯升降的控制 并且模拟电梯的运行状态 在设计方案中 通过对各个 P 口的合理安排和统一协调 通过按键 彩灯 和 LED 数码管来实现对设计设计方案的仿真演示 另外在实验程序中通过对不 同按键键码在功能上的分配 在按键按下之后使 CPU 做相应的工作 即 LED 数码管显示与之相应的楼层和使彩灯显示相应的电梯状态 最后 结合 PCB 板 的实际接线情况进行编程 使实验顺利仿真 五 控制系统的硬件系统设计 5 1 AT89C51 单片机介绍 微型计算机系统的硬件部分通常由五部分组成 中央处理器 CPU 数据存储器 RAM 程序存储器 ROM 定时 计数器 I O 接口 MCS 51 单片机内部的总体硬件结构 1 中央处理单元 CPU 8 位 用于数据处理 位操作 位测试 置位 复位 2 只读存储器 ROM 4KB 或 8KB 用于永久性存储应用程序 掩膜 ROM EPROM EEPROM 3 随机存取存取器 RAM 128B 或 256B 用于程序运行中存储工作变量和数据 4 并行输入 输出口 I O 32 线 4 个 8 位并行 I O 口 P0 P1 P2 P3 口 用作系统总线 扩展外存 I O 接 口芯片 5 串行输入 输出口 UART 二线 1 个全双工的异步串行口 用于串行通信 6 定时 计数器 T 16 位增量可编程 2 个或三个 16 位定时器 计数器 它与 CPU 之间各自独立工作 当它计数满时 向 CPU 中断 4 7 时钟电路 fosc 振荡频率 fosc 在 1 2 12Mhz 分为内部振荡器 外接振荡电路 8 中断系统 5 源中断 2 个中断优先级 可编程进行控制 5 2 硬件系统原理框图 P2 口 口 P1 口 图 1 硬件原理框图 5 3 硬件电路及其描述 在本次单片机课程设计中 我们通过单片机及与其相连的彩灯 键盘和 LED 数码管动态显示部分模拟对一个三层电梯系统的控制 通过按键达到从人 在外部和内部分别对电梯的控制 并且通过与 P1 口相连接的彩灯 模拟电梯目 前状态对电梯外部的显示 其中 P1 0 P1 2 的三个灯分别代表了电梯目前所处 的楼层 P1 3 和 P1 4 则分别代表了电梯目前的运动状态和停止状态 P1 5 和 P1 7 代表了电梯门的开关状态 在按键中 第 3 7 11 号按键分别模拟电梯内部 的三二一楼层 与之相应的第 2 5 6 10 号按键模拟电梯外部对电梯呼叫的按键 在 LED 数码管显示模块中 第三位显示目标楼层 即通过内部按键选择或 外部按键呼叫后电梯所要到达的楼层 第四位则显示电梯目前所处的楼层 并 A T 8 9 C 5 1 键盘键盘 数码管动态显示数码管动态显示 彩彩 灯灯 控控 制制 P0 口 5 且通过动态显示的方法使电梯的目标楼层与目前所处的楼层同时显示 5 4 硬件接线图 6 图 2 硬件接线图 7 六 控制系统的软件设计 6 1 主程序流程图 程序初始化 目前所处 1 层 目前所处 2 层 目前所处 3 层 p1 0 1 p1 1 1 p1 2 0 BreakBreakBreak 电梯不在目标楼层 TR0 1 p1 3 0 p1 4 1 p1 4 1 到达目标楼层 TR0 0 p1 3 1 p1 4 0 结束 开始 while 扫描键盘 动态显示 p1 0 1 p1 1 0 p1 2 1 p1 0 0 p1 1 1 p1 2 1 N Y N N Y Y Y Y N N Y 图 3 主程序流程图 8 6 2 子程序流程图及中断服务程序 6 2 1 显示子程流程图 图 4 显示子程序流程图 9 6 2 2 键盘扫描子程序流程图 开始 P2 0 P2 3 输出 0 P2 4 P2 7 全为 1 延时去抖动 P2 4 P2 7 全为 1 置行扫描初值 扫描位从 P2 口输出 扫描到最后一行 读 P2 4 P2 7 值 P2 口的 P2 0 P2 3 与 P2 4 P2 7 相或 返回键编码 Y N Y N Y N 图 5 键盘扫描子程序 10 6 2 3 中断服务子程序流程图 中断程序入口 TH0 TL0 重新填装 Count 减 1 Count 0 X Y X X Y X 返回 N Y Y N N Y 图 6 中断服务程序流程图 11 6 3 程序清单 include sbit p3 3 P3 3 sbit p3 4 P3 4 sbit p3 5 P3 5 sbit p3 7 P3 7 sbit p1 0 P1 0 sbit p1 1 P1 1 sbit p1 2 P1 2 sbit p1 3 P1 3 sbit p1 4 P1 4 sbit p1 5 P1 5 sbit p1 6 P1 6 sbit p1 7 P1 7 unsigned char key count unsigned char x y n flag delay unsigned char i for i 0 i 200 i open p1 5 1 p1 7 0 close p1 7 1 p1 5 0 keyscan unsigned char read recode keyvalue P2 0 xf0 read P2 if read 0 xf0 delay if read 0 xf0 P2 0 x0f recode P2 keyvalue read recode return keyvalue return 0 12 void display unsigned char a 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 switch key case 0 xee y 1 break case 0 xde y 2 break case 0 xbe y 3 break case 0 xbd y 3 break case 0 xdd y 2 break case 0 xdb y 2 break case 0 xed y 1 break p3 4 0 p3 5 1 P0 a x delay p3 4 1 p3 5 0 P0 a y delay void main x 1 y 1 p3 3 0 p3 7 0 TMOD 0 x01 TH0 0 xD8 TL0 0 xf0 EA 1 ET0 1 ET1 1 count 600 p1 5 0 while 1 key keyscan display switch x case 1 p1 0 1 p1 1 1 p1 2 0 break case 2 p1 0 1 p1 1 0 p1 2 1 break case 3 p1 0 0 p1 1 1 p1 2 1 break if y x TR0 1 close 13 p1 3 0 p1 4 1 else if y x TR0 0 open p1 3 1 p1 4 0 void time0 int void interrupt 1 TH0 0 xD8 TL0 0 xf0 count if count 0 count 600 if xy x 14 七 软硬件调试 系统调试包括硬件调试和软件调试 而且两者是密不可分的 我们设计好 的硬件电路和软件程序 只有经过联合调试 才能验证其正确性 软硬件的是 否达到设计任务的要求 也只有经过调试 才能发现问题并加以解决 完善 最终实现设计目的 7 1 硬件调试 硬件调试这里作比较简单的介绍 由于我们课设的硬件部分采用原来做实 验的 PCB 板 利用 PCB 板上的彩灯 按键以及 LED 数码管来实现对电梯控制 系统的硬件部分 所以在硬件调试这方面比较简单 不必费太多的心思 7 2 软件调试 软件调试一般包括分块调试和联机调试两个阶段 程序的分块调试一般在 单片机开发装置上进行 可根据所调程序功能块的入口参量初值编制一个特殊 的程序段 并连同被调程序功能块一起在开发装置上运行 也可配合对应硬件 电路单独运行某程序功能块 然后检查是否正确 如果执行结果与预想的不一 致 可以通过单步运行或设置断点的方法 查出原因并加以改正 直到运行结 果正确为止 这时该 程序功能块已调试完毕 可去掉附加程序段 其它程序功 能块可按此法进行调试 程序联机调试就是将已调试好的各程序功能块按总体 结构联成一个完整程序 在所研制的硬件电路上运行 从而试验程序整体运行 的完整性 正确性和与硬件电路的配合情况 软件调试主要在电脑上进行仿真 模拟 先全部编译文件 观察是否有错误和警告 在确定没有错误和警告的情 况下 点击 DEBUG 进去仿真阶段 本次的实验难度系数其实并不大 关键 是要看各部分负责的同学的协助与互动 当然这也与老师的细心教导是分不开 的 除此之外 对系统软件的熟悉和对程序编写的熟练程度也很大意义上起到 了加快实验速度 减少差错 减轻工作量的作用 对于这些过程与步骤的熟悉与了解能很好的帮助我们解决在实际应用当中 碰到的诸多问题 比如说在程序当中设计到延时 但是具体延时的时间 我们 要从几个方面考虑 最后调试了很多次 试验了很多次的时间参数 最后才找 到了一个比较合适的延时参数 除了认为的设定他的数值以外 我们还要熟悉 和掌握芯片的自身功能 也就是它的运算速度 只要知道了运算速度 那么大 致上的时间就可以根据计算认为得到 15 还有在关于程序先后运行顺序的设置上也很有讲究 如果安排不好程序执 行的步骤 将会造成电梯门没关便开始上升下降或者 LED 动态显示暂时熄灭不 显示等由于程序执行顺序所导致的问题 所以 合理的安排步骤 并且配合这 块芯片本身的功能 可以发挥出事半功倍的效果 但是在调试过程中还是出现了一些问题比如延时程序设定时间太短 数组 定义错误 引脚对应错误等等 我认为对于我们这些初学者来说 出现这种错误也是在情理之中的 关键 的问题是如何解决这些问题 我们通过同组同学的讨论和向外组同学和老师的 请教 经过了一次一次的调试 修改 历经整整 2 天的时间完成了程序 我们 组员表示在这次的设计当中学到了很多 下次我们会珍惜这机会的 16 八 实验小结 一周的课程设计马上就要结束了 对于这周的课程设计大体也有了不少自己的 学习经验和对于这课程设计的心得 我们这小组做的是电梯升降序控制器 以 下便是我的对其简单的小结 1 由于我们小组在之前有了明确的分工所以整体来说我们小组进程还是比较 顺利的 在编程序方面在以 xx 同学为主力在第一天我们将其大致完成了 在电 路图方面我们小组由 xx 利用了 Poteus 软件制作 虽然在之前我们并没有学过 这个软件的使用方法 但经过一天的自我学习 我们最终还是按要求完成了制 图 2 第二天由于程序的基本成型 并在电路板上进行了实践的操作 流程图这 一块便有我来制作了 由于我们的程序比较大应用的模块比较多说以 制作流 程图还是花了我不少的时间 3 第三天我们将写好的程序烧进了单片机 并给老师看过之后 老师指导我 们修改了部分细节后 我们便开始制作最后的收尾工作 xx 同学将最后的图纸 完善 xxx xxx 同学进行最后的实验排版 我对流程图按照修改后的程序进行 了最后的修正 4 当然在最终的结果中还是存在些不足 但总的来说 我们这次收获了更多 在与同学和老师的交流中 我们再次系统的复习了专业知识 对专业知识掌握 和运用更加熟练 此次课程设计 我们收获的不只是将其完成 更多的是再次 把知识学习巩固了一遍 在这次设计的学习中 我们得到了不少启示 相信在 以后的学习生活上也会给予我们很多的帮助 17 九 心得体会 大三的第二学期末的第一门课程设计马上就要结束了 整体来说这周时间并不 十分紧张 我们有了充分的时间去学习课程设计所需要的其他软件的应用 总 体来说我们还是收获颇丰 我做的是单片机的流程图 平时一般的流程图都是 老师给了参考的流程 而且在制作报告的时候还是手写的 现在这一切都是自 己操作 第一天刚开始的时候有点手足无措的感觉 突然发现原来实际与想法 还是会有一定的差距的 比如有一次流程图的横向很宽 一页纸完全放不下 但是相对长度却绰绰有余 但将页面横置却花了很长时间 这次课程设计从选 题到定稿 从理论到实践 在接近一个星期的日子里 可以说是苦多于甜 但 是学到了很多很多的东西 同时不仅可以巩固以前所学过的知识 而且还学到 了很多在书本上所没有学到过的知识 通过这次课程设计使我懂得了理论与实 践相结合是很重要的 只有理论知识是远远不够的 只有把所学的理论知识与 实践

温馨提示

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

评论

0/150

提交评论