




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录第1章 引言 .1第2章 总体设计方案 .12.1设计思路 .22.2总体设计框图 .2第3章 电梯控制系统原理分析 .23.1硬件系统实现.23.1.1 AT89C51芯片简介.23.1.2 电梯内部呼叫电路 .33.1.3 电梯外部呼叫电路 .33.1.4 显示楼层电路.43.1.5 电机控制电路.53.2软件系统实现.5第4章 总电路工作原理分析.8第5章 总结与体会.8考文献. .8附录一.9附录二 .10附录三.11附录四.13摘要:单片机即单片微型计算机(Single-Chip Microcomputer ),是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制
2、器。其中51单片机是各种单片机中最为典型和最有代表性的一种,广泛应用于各个领域.电梯是集机械原理应用、电气控制技术、微处理器技术、系统工程学等多学科和技术分支于一体的机电设备,它是建筑中的永久垂直交通工具。本设计选择AT89S51为核心控制元件,设计了一个六层电梯系统,使用C语言进行编程,实现运送乘客到任意楼层,并且显示电梯的楼层和上下行。利用单片机控制电梯有成本低,通用性强,灵活性大及易于实现复杂控制等优点。关键词:单片机,电梯,控制第1章 引言随着现代高科技的发展,住房和办公用楼都已经逐渐向高层发展。电梯是高层宾馆、商店、住宅、多层仓库等高层建筑不可缺少的垂直方向的交通运输工具。1889年
3、美国奥梯斯升降机公司推出的世界上第一部以电动机为动力的升降机,同年在纽约市马累特大厦安装成功。随着建筑物规模越来越大,楼层也越来越高,对电梯的调速精度、调速范围等静态和动态特性都提出了更高的要求。由于传统的电梯运行逻辑控制系统采用的是继电器逻辑控制线路。采用这种控制线路,存在易出故障、维护不便、运行寿命较短、占用空间大等缺点。而由单片机设计的控制系统可以随着设备的更新而不断修改完善,更完美的实现设备的升级,且有价格便宜,电路简单,出现故障容易维护等优点。第2章 总体设计方案 电梯控制系统由外部呼叫,内部呼叫电机部分组成。电梯在各楼层的定位本应采用行程开关或者传感器,由于条件限制,采用延时控制。
4、相邻楼层间升降时间设为3秒。2.1 设计思路 本设计是八层电梯的单片机控制系统。在电梯停靠的每一层都有上下呼叫按钮(六楼只有向下呼叫按钮,一楼只有向上呼叫按钮),需要电梯的乘客只需按一下呼叫按钮,然后等待电梯,进入电梯后电梯有八个楼层的内部呼叫按钮,乘客要到哪一层只需按下其按钮,轿厢内有一个由数码管组成的显示屏,它用来显示轿厢的楼层,在每一层厅站的门外有两个发光二极管用来显示轿厢此刻的上下行。2.2 设计方框图楼层电梯呼叫按键电梯内部呼叫按键楼层显示数码管电机控制电路单片机图1 设计方框图第3章 电梯控制系统原理分析3.1硬件系统实现 硬件由单片机最小系统、电梯内外呼叫电路、显示电路、电机控制
5、电路等组成。3.1.1AT89C51简介本设计主要采用AT89S51芯片,如图2所示。AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储
6、器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作。掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。图2 AT89C513.1.2电梯内部呼叫电路电梯内电路如图3所示,八个
7、目标楼层选择按键K1、K2、K3、K4、K5、K6 K7、K8与单片机P0口的P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7连接(P0口作为输出端驱动外部电路时须外界上拉电阻)。人进入轿厢内按下要去的楼层对应的按键,就会控制电机转动,达到相应楼层。若按下的外部呼叫按键为上升的,则在轿厢内按比该楼层低的按键,电梯不会响应;反之亦然。图3 电梯内部呼叫电路3.1.3 电梯外部呼叫电路 电梯外部呼叫电路如图4所示,按键UP1、UP2、DOWN2、UP3、DOWN3、UP4、DOWN4、UP5、DOWN5、DOWN6接单片机的P2口和P1.0、P1.1。若按下上升键,则
8、电梯在上升过程中不响应下降键;反之亦然。图4 电梯外部呼叫电路3.1.4 显示楼层电路 显示电路的作用是实时显示电梯所在楼层,用一个八段数码管来实现。电路如图5所示。图5 显示楼层电路3.1.5 电机控制电路电机采用普通直流电机,直流电机具有优良的调速特性,调速平滑、方便,调整范围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速启动、制动和反转;能满足生产自动化系统各种不同的特殊运行要求。用电机驱动芯片L298来驱动。电机控制电路用来控制电机的正反转,当按下上升键时,电机正转,按下下降键时,电机反转。电路如图6所示。图6 电机控制电路3.2 软件系统的实现 调用选择当前要去的楼层子程
9、序停留3s电梯未运行或虽运行但还没停止电梯已到目的层?是否是否启动电梯显示在一楼图7 主程序流程图电梯改为上升电梯改为下降电梯到达最顶层电梯到达最底层电梯在下降当前楼层=目的楼层继续下行查找下一个要去的楼层若无下行需求,则反向查询向上查找下一个要去的楼层若无按键需求则停止当前楼层=目的楼层延时等待3s开始是24是24是24是24是24延时等待3s否否否否图8 选择当前要去的楼层子程序流程图第4章 总电路工作原理分析 电路通电,显示器显示1,当按下相应的外部呼叫按键时,电梯运行到目的楼层,显示器实时显示所在楼层。当人进入轿箱内,按下要去的楼层对应的按键,电梯就会运行到相应位置。电梯上升途中只响应
10、上升呼叫,下降途中只响应下降呼叫,任何反方向呼叫均无效。两相邻楼层之间电机运行时间为3秒。第5章 总结与体会 这次单片机实习已经结束,我们学到了很多东西。查资料对于学习是很重要的,又快又好的查到想要的资料,可以提高工作效率。我们设计的电梯自动控制用到了PROTUESF仿真系统,使我对单片机的学习更加感兴趣。在写程序时需要极大的耐心,一点一点的改正,达到想要的效果。参考文献1 李朝青单片机通讯技术与工程实践北京:航空航天大学出版,2007.22 李群芳单片机原理接口与应用北京:清华大学出版社,2005.63 杨志亮. Protel 99 SE电路原理图设计技术.西安:西北工业大学出版社,2002
11、.24 马忠梅单片机C语言应用程序设计.北京:航空航天大学出版社,1997.105 谢自美电子线路设计.武汉:华中科技大学出版社,2000.56 中国电器工业协会微电机分会.微特电机应用手册.福建:福建科技出版社,2010.47 胡烨Protel99SE电路设计与仿真教程.北京:机械工业出版社,2005.5附录一 总体电路原理图9总体电路原理图附录二 PCB图图10 PCB图附录三 仿真图 图11 PROTUES仿真界面图 图11 电梯电路仿真总图 图11 电梯在四楼上升图 图11 电梯在四楼下降图附录四 源程序sbit k1=P00;sbit k2=P01;sbit k3=P02;sbit
12、k4=P03;sbit k5=P04;sbit k6=P05;sbit km=P06;sbit gm=P07;sbit up1=P20;sbit up2=P21;sbit down2=P22;sbit up3=P23;sbit down3=P24;sbit up4=P25;sbit down4=P26;sbit up5=P27;sbit down5=P10;sbit down6=P11;sbit d11=P12;sbit d12=P13;sbit d21=P14;sbit d22=P15;sbit pwm1=P16;sbit pwm2=P17;sbit LedUp=P37;sbit LedDo
13、wn=P36;#include<reg51.h>#include"电梯.h"void DianTiKey(); #define uchar unsigned charchar KeyValueOld; /内部按键上次值char KeyValueOOld;/外部按键上次值char NowFloor;/当前所在楼层char KeyValue;/电梯内部按键暂存值char KeyValueO;/电梯外部按键暂存值char GoFloor5;/要去楼层暂存GoFloor1=1 2楼在呼叫上升 GoFloor1=2 2楼在呼叫下降char t;/电梯 运行/停止标/上升/
14、下降 志位 t=0电梯没有运行 t=11电梯在上升 t=10电梯下降uchar code play=0xff,0xd7,0x32,0x92,0xd4,0x98,0x18;/串口显示字型码unsigned int TimeValue;/ 定时器计数char Num;void delay(unsigned int a)/unsigned int i;TH0=(65535-10000)/256;TL0=(65535-10000)%256;TimeValue=0;TR0=1;while(TimeValue<a)DianTiKey(); /多人电梯功能添加部分TR0=0;void ShangShe
15、ng()/驱动电机上升函数int i;t=11;LedUp=0;LedDown=1;for(i=0;i<10;i+)d11=1,d12=0,d21=0,d22=0;delay(5);d11=1,d12=1,d21=0,d22=0;delay(5);d11=0,d12=1,d21=0,d22=0;delay(5);d11=0,d12=1,d21=1,d22=0;delay(5);d11=0,d12=0,d21=1,d22=0;delay(5);d11=0,d12=0,d21=1,d22=1;delay(5);d11=0,d12=0,d21=0,d22=1;delay(5);d11=1,d1
16、2=0,d21=0,d22=1;delay(5);t=0;/d11=1,d12=1,d21=1,d22=1;LedDown=1;LedUp=1;void XiaJiang()/驱动电机下降函数 int i;t=10;LedDown=0;LedUp=1;for(i=0;i<10;i+)d11=0,d12=0,d21=0,d22=1;delay(5);d11=0,d12=0,d21=1,d22=1;delay(5);d11=0,d12=0,d21=1,d22=0;delay(5);d11=0,d12=1,d21=1,d22=0;delay(5);d11=0,d12=1,d21=0,d22=0
17、;delay(5);d11=1,d12=1,d21=0,d22=0;delay(5);d11=1,d12=0,d21=0,d22=0;delay(5);d11=1,d12=0,d21=0,d22=1;delay(5);t=0;/d11=1,d12=1,d21=1,d22=1;LedDown=1;LedUp=1;void Go() /电梯内部按键响应程序char temp;if(KeyValue!=KeyValueOld)KeyValueOld=KeyValue;temp=NowFloor-KeyValue;if(t=0)if(temp>0) /电梯执行上升 while(temp>0
18、)ShangSheng();Num+;if(GoFloorNum!=0)if(GoFloorNum&0x01)+(GoFloorNum&0x04)>0);temp-;SBUF=play-NowFloor;while(!TI);TI=0;NowFloor=KeyValue;if(temp<0) /电梯执行下降while(temp<0)XiaJiang();temp+;SBUF=play+NowFloor;while(!TI);TI=0;NowFloor=KeyValue; /此电梯功能只适合一个人乘车 多人程序还没有实现 /*else /多人乘坐电梯处理部分Ke
19、yValue=GoFloori;temp=NowFloor-KeyValue;if(tt=11)if(temp>0)while(temp>0)ShangSheng();temp-NowFloor=KeyValue;else if(t=10)if(temp<0) /电梯执行下降while(temp<0)XiaJiang();temp+NowFloor=KeyValue; */void OutKey() /外部按键响应程序char temp;if(KeyValueO!=KeyValueOOld)/按键是否按下KeyValueOOld=KeyValueO;temp=NowFl
20、oor-KeyValueO;if(t=0) if(temp>0) /电梯执行上升while(temp>0)ShangSheng();temp-;SBUF=play-NowFloor;while(!TI);TI=0;NowFloor=KeyValueO;if(temp<0) /电梯执行下降while(temp<0)XiaJiang();temp+;SBUF=play+NowFloor;while(!TI);TI=0;NowFloor=KeyValueO; void DianTiKey() /电梯按键扫描函数switch(P0)case 0x01:KeyValue=1;Go
21、Floor0|=4;break;case 0x02:KeyValue=2;GoFloor1|=4;break;case 0x04:KeyValue=3;GoFloor2|=4;break;case 0x08:KeyValue=4;GoFloor3|=4;break;case 0x10:KeyValue=5;GoFloor4|=4;break;case 0x20:KeyValue=6;GoFloor5|=4;break;case 0x40:break;case 0x80:break;if(t=0) switch(P2) /上升按键扫描case 0x01:GoFloor0|=1;KeyValueO
22、=1;break;/1楼呼叫上升case 0x02:GoFloor1|=1;KeyValueO=2;break;/2楼呼叫上升case 0x04:GoFloor2|=1;KeyValueO=3;break;/3楼呼叫上升case 0x08:GoFloor3|=1;KeyValueO=4;break;/4楼呼叫上升case 0x10:GoFloor4|=1;KeyValueO=5;break;/5楼呼叫上升 case 0x20:GoFloor0|=2;KeyValueO=2;break;/2楼呼叫下降case 0x40:GoFloor1|=2;KeyValueO=3;break;/3楼呼叫下降case 0x80:GoFloor2|=2;KeyValueO=4;break;/4楼呼叫下降 if(!down6)GoFloor4|=2; /6楼呼叫下降KeyValueO=6;if(!down5) /5楼呼叫下降GoFloor3|=2; KeyValueO=5;else if(t=11) /电梯在上升时响应上升呼叫switch(P2) /上升按键扫描case 0x01:GoFloor0|=1;KeyValueO=1;break;/1楼呼叫上升c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外部资源评估协议
- 珠宝展售保证金合同
- 玉米种植农业生产组织形式与创新考核试卷
- 橱柜安装承包协议
- 耐火材料在电力行业的应用案例考核试卷
- 真空泵在环保工程中的应用考核试卷
- 稀土金属压延加工的产业协同创新机制探讨考核试卷
- 有色金属矿山生态环境评价与保护考核试卷
- 体育用品生产自动化与智能制造考核试卷
- 稀有金属矿选矿厂产品质量安全管理与追溯考核试卷
- 小学三年级数学两位数乘两位数笔算能力测验练习题
- 心理发展与教育智慧树知到期末考试答案章节答案2024年浙江师范大学
- MOOC 国情分析与商业设计-暨南大学 中国大学慕课答案
- MOOC 大学体育-华中科技大学 中国大学慕课答案
- 《光伏发电工程工程量清单计价规范》
- 国家卫生部《综合医院分级管理标准》
- DB64++1996-2024+燃煤电厂大气污染物排放标准
- 初中八年级数学课件-最短路径-将军饮马问题
- 信息论与编码期末考试题(全套)
- 医院医学伦理审查委员会章程
- 房地产销售价格优惠申请表-
评论
0/150
提交评论