ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:60.96KB ,
资源ID:3793733      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3793733.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(电梯控制系统设计兰州交通大学.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

电梯控制系统设计兰州交通大学.docx

1、电梯控制系统设计兰州交通大学 单片机原理及系统课程设计评语:考勤10分守纪10分过程30分设计报告30分答辩20分总成绩(100分)专 业:电气工程及其自动化班 级: 姓 名: 学 号: 指导教师: 兰州交通大学自动化与电气工程学院2014 年 1 月 17 日基于单片机的电梯控制模型设计1设计说明1.1设计目的本文介绍了一种采用单片AT89C52芯片进行电梯控制系统的设计方法,主要阐述如何使用单片机进行编程来实现电子设计的方法,利用单片机编程实现功能。硬件部分主要由单片机的最小模块、电梯内外按钮控制模块、数码管显示楼层模块、发光二极管显示目的楼层模块、报警显示模块组成。软件部分使用kiel软

2、件进行C语言程序编写,用proteus软件进行仿真调试。本设计具有电梯控制系统所需的一些基本功能,能通过方向按键选择方向,能通过数字按键选择楼层,数码管显示实时楼层数,电动机控制部分采用直流电机及H桥驱动电路,使电梯箱能上下运动,基本实现了五层电梯运行的模拟仿真。1.2设计要求本设计以五层电梯为研究对象,选用AT89C52单片机作为其控制器,研究微机控制梯系统的设计方法。根据问题的提出、意义和文献综述,本课题研究的具体内容包括以下四个方面:(1)对电梯系统常用的控制方法的研究。(2)电梯控制系统硬件组成及其原理。(3)电梯的单片机系统软件设计。(4)电梯在信号传输中遇到的问题。1.3设计方法首

3、先,对实际的电梯系统进行模拟,一般情况下,一个电梯应该具备相关按键、显示二极管、数码管等,由于这是一个调度模块,故没有设计具体的轿厢等机械部分。由于其有诸多按键和显示环节,而单片机的I/O口管脚资源实在有限,故需要I/O口扩展,用以管理二极管;同时要有专门的按键控制芯片,从而便于按键管理。同时,如果每个选层按钮都采用独立的按键设置,可以很大程度上简化扫描按键程序,采集信号也容易得多,但是由于单片机接口有限,模拟电梯自动控制系统所需按键较多,如此会有接口不足的问题,所以本设计采用44按键矩阵开关电路作为外呼内选呼叫控制。出于同样问题,显示楼层电路采用数码管从串口输出。为了更接近实际的电梯控制系统

4、,设计中还添加电梯外上下行请求显示,可用五个发光二极管表示目的请求按键是否按下,有则亮,无则灭。2设计方案及原理2.1设计方案本次设计的基本思想是采用AT89C52单片机作为核心,利用其丰富的I/O接口与外围电路配合进行控制。采用延时函数来控制电梯的位置校验,采用数码管静态显示来实时显示电梯所在楼层。采用行列式矩阵键盘矩阵作为外呼内选电路,由于是5层楼,故选用44矩阵键盘。当电梯到达目的楼层时电机停止,此时即可进、出乘客,乘客进入电梯之后可选择去哪一层,然后电梯根据乘客的选择判断去哪一层,继续运行。通过单片机控制电梯在上升过程中只响应上升呼叫,下降过程中只响应下降呼叫。电梯的正常运行通过单片机

5、的控制来实现。2.2设计原理本设计主要由6大部分电路组成:键盘电路、单片机最小系统电路、楼层显示电路、电机驱动显示电路、目的楼层显示电路、警报电路。其中单片机最小系统主要由复位电路组成。电路复位后楼层显示数字1 表示电梯此时在一楼,显示电路数码管显示,电梯楼层位置是由延时电路控制的,延时电路包括1秒延时和2秒延时,每层之间通过2秒延时控制即每延时2秒表示电梯走了一层,1秒延时是控制电梯的开门时间,1秒延时后电梯关门继续运行。电梯状态是通过两个发光管显示的,上行灯亮表示电梯在向上运行,下行灯亮表示电梯在向下运行。键盘电路采用44键盘矩阵共16个按键分,其中8个按键是各层楼外呼按键,5个按键是电梯

6、内部的选择键。电梯的正常工作是通过对单片机写入程序控制的。系统组成框图如图1所示。图1 系统组成框图3 硬件设计用AT89C52单片机作为核心,利用其丰富的I/O接口与外围电路配合进行控制。采用延时函数来控制电梯的位置校验,采用数码管静态显示来实时显示电梯所在楼层。采用行列式矩阵键盘矩阵作为外呼内选电路,由于是5层楼,故选用44矩阵键盘。当电梯到达目的楼层时电机停止,此时即可进、出乘客,乘客进入电梯之后可选择去哪一层,然后电梯根据乘客的选择判断去哪一层,继续运行。通过单片机控制电梯在上升过程中只响应上升呼叫,下降过程中只响应下降呼叫。电梯的正常运行通过单片机的控制来实现。在本设计中,最小系统应

7、该包括:单片机、晶振电路、复位电路等。晶振电路由C1与C2和晶振组成,晶振是给单片机提供工作信号脉冲的。它的速率就是单片机的工作速率,简单地说,没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。并在晶振的两引脚处接入两个10pF-50pF的瓷片电容接地用来削减偕波对电路的稳定性的影响。复位电路采取的为手动按键复位电路,由电容C3,电阻R1、R2和开关RESET组成,当单片机的复位引脚RESET出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。每次复位后,单片机的程序都会从第一条开始从新执行。根据上述分析,设计出基

8、于A89C52单片机电梯控制的电路仿真图如附录2所示。4 软件设计4.1软件分析软件设计是智能化系统进行数据采集、处理、控制等工作的基础。系统的软件设计直接影响整个系统的运转和硬件作用的发挥。本设计由于采用键盘矩阵来代替外呼内选按钮,而电梯的运行方向是根据这些呼叫按键和选择按键来决定的,所以单片机要不断的扫描键盘来获取各层呼叫状态。从而来控制电梯的运行。故键盘矩阵扫描是本系统软件设计的重要一部分,另外要把键盘扫描到的各层的按键信息存储起来,然后和电梯的运行状态比较,判断是否响应各层呼叫(电梯只响应同方向呼叫),最后就是楼层显示部分和警报部分了。整个软件设计包括以下几部分:(1) 初始化程序使数

9、码管显示“1”表示电梯处在一楼。(2) 主程序主要包括: 判断乘客进入电梯后选择去哪一层,根据判断情况来控制电梯运行; 电梯在运行过程中要不断的扫描键盘,从而来判断各楼层有无呼叫请求; 电梯在运行过程中只响应同方向的呼叫请求; 实时显示电梯所在位置及运行状态(上行/下行); 开关门有一定的延时来保证乘客走出/进入电梯。4.2系统流程图软件流程图如图2所示。图2 软件流程图4.3实验源程序 判断乘客进入电梯后选择去哪一层,根据判断情况来控制电梯运行,电梯在运行过程中要不断的扫描键盘,从而来判断各楼层有无呼叫请求,电梯在运行过程中只响应同方向的呼叫请求,实时显示电梯所在位置及运行状态(上行/下行)

10、,开关门有一定的延时来保证乘客走出/进入电梯。程序如附录1。5系统仿真及实际调试系统仿真调试的过程中,根据操作电梯的实际情况进行了测试,数码管作出与测试一致的显示。测试条件:电梯位于1楼,进入三人,其中一人要到3楼,另两人到4楼。电梯运行后,3楼和4楼有人向上呼叫,3楼有人向下呼叫到1楼。在该测试部分,外部按钮和内部按钮都有涉及,能充分的考验单片机对所有按钮的区分和响应。测试结果如表1所示。 表1 综合测试停止楼层 电梯 方向显示3 上 3楼内部和向上呼叫注销,内部4楼呼叫4 上 4楼向上呼叫注销3 下 3楼向下呼叫注销,内部1楼呼叫1 下 内部1楼呼叫注销测试结论:系统具有方向优先、距离优先

11、的功能,基本模拟了实际电梯运行,完成题目设计指标。6总结本次课程设计对电梯控制系统这一设计做了详细的报告与总结,其中包括硬件部分与软件部分两大模块,而且对其中各个重要的子模块加以了重点详细地说明。总的来说,本程序的编写不仅仅是为了应对五层楼的电梯,而且更多层的电梯也可以实现,如果对单片机的其他I/O再进行扩展的话,可以实现十几层电梯的需求。当然,如果更高层的电梯,就会受到单片机管脚资源的限制了。而程序本身的思想本身是可以支持更多层电梯的运行调度的,如果用其他管脚多的处理器的话(如ARM型处理器),则这一设想完全可以实现。参考文献1 陈宏希.51单片机应用技术(C语言版)M.兰州石化职业技术学院

12、出版社, 2011.10.2 李学礼.基于Proteus的8051单片机实例教程M.北京:电子工业出版社, 2008.03.3 王思明,张金敏,苟军年等.单片机原理及应用系统设计M.北京:科学出版社, 2012.05.附录1实验源程序#include #define uchar unsigned char#define uint unsigned intsbit alarm1=P10;sbit alarm2=P00;sbit fz=P11;sbit zz=P12;sbit L1=P13;sbit L2=P14;sbit L3=P15;sbit L4=P16;sbit L5=P17;uchar

13、code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x00;uint shang6=0,0,0,0,0,0;uint xia6=0,0,0,0,0,0;uint nei6=0,0,0,0,0,0;uint num,temp,flag=0,lc=1,i,n;/函数声明语句void delay(uint z);void delay1();void delay2();void keyscan();void display(uint aa);void init();void zhishideng();/主函数void main() init(); while(1) ke

14、yscan(); zhishideng(); if(flag=0) zz=fz=0; shanglc=0; xialc=0; neilc=0; n=lc ; for(i=n+1;i=1;i-) keyscan(); zhishideng(); if(shangi=1|xiai=1|neii=1) flag=2; break; if(flag=1) keyscan(); zhishideng(); zz=1; fz=0; delay5(); lc+; display(lc); if(shanglc=1|neilc=1) shanglc=0; neilc=0; zhishideng(); fz=0

15、; zz=0; delay3(); flag=0; n=lc ; for(i=n+1;i=5) n=lc ; if(shangn=0&nein=0) fz=0; zz=0; delay3(); xian=0; for(i=n-1;i=1;i-) keyscan(); zhishideng(); if(shangi=1|xiai=1|neii=1) flag=2; break; if(flag=2) keyscan(); zhishideng(); zz=0; fz=1; zz=0; fz=1; delay5(); lc-; display(lc); if(xialc=1|neilc=1) xi

16、alc=0; neilc=0; zhishideng(); fz=0; zz=0; delay3(); flag=0; n=lc; for(i=n-1;i=1;i-) keyscan(); zhishideng(); if(shangi=1|xiai=1|neii=1) flag=2; break; if(flag=0|lc=1) n=lc ; if(xian=0&nein=0) fz=0; zz=0; delay3(); shangn=0; for(i=n+1;i0;x-) for(y=110;y0;y-) keyscan(); zhishideng(); /延迟一秒函数。void dela

17、y1() uint x,y; for(x=80;x0;x-) for(y=110;y0;y-) keyscan(); zhishideng(); /ms级延函数。void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-);/键盘扫描函数。void keyscan() num=0; P3=0xfe; temp=P3; temp=temp&0xf0; while(temp!=0xf0) delay(5); temp=P3; temp=temp&0xf0; while(temp!=0xf0) temp=P3; switch(temp) c

18、ase 0xee:num=1; break; case 0xde:num=2; break; case 0xbe:num=3; break; case 0x7e:num=4; break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; P3=0xfd; temp=P3; temp=temp&0xf0; while(temp!=0xf0) delay(5); temp=P3; temp=temp&0xf0; while(temp!=0xf0) temp=P3; switch(temp) case 0xed:num=5; break; case 0xdd:n

19、um=6; break; case 0xbd:num=7; break; case 0x7d:num=8; break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; P3=0xfb; temp=P3; temp=temp&0xf0; while(temp!=0xf0) delay(5); temp=P3; temp=temp&0xf0; while(temp!=0xf0) temp=P3; switch(temp) case 0xeb:num=9; break; case 0xdb:num=10; break; case 0xbb:num=11; br

20、eak; case 0x7b:num=12; break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; P3=0xf7; temp=P3; temp=temp&0xf0; while(temp!=0xf0) delay(5); temp=P3; temp=temp&0xf0; while(temp!=0xf0) temp=P3; switch(temp) case 0xe7:num=13; break; case 0xd7:num=14; break; case 0xb7:num=15; break; case 0x77:num=16; break;

21、while(temp!=0xf0) temp=P3; temp=temp&0xf0; switch(num) case 1:shang1=1; break; case 2:shang2=1; break; case 3:shang3=1; break; case 4:shang4=1; break; case 5:xia2=1; break; case 6:xia3=1; break; case 7:xia4=1; break; case 8:xia5=1; break; case 9:nei1=1; break; case 10:nei2=1; break; case 11:nei3=1; break; case 12:nei4=1; break; case 13:nei5=1; break; case 14: break; case 15: break; case 16:alarm1=1;alarm2=0; zz=fz=0;while(1); break; 附录2电梯控制系统仿真图

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1