收藏 分销(赏)

电梯专业系统设计论文.doc

上传人:w****g 文档编号:2601522 上传时间:2024-06-03 格式:DOC 页数:28 大小:210.04KB 下载积分:10 金币
下载 相关 举报
电梯专业系统设计论文.doc_第1页
第1页 / 共28页
电梯专业系统设计论文.doc_第2页
第2页 / 共28页


点击查看更多>>
资源描述
单片机原理与应用技术 课程设计报告(论文) 题目 基于单片机控制电梯控制器 专业班级: 电气123班 姓  名: 桑广涛 时 间: -11-24----12-8 指引教师: 孔晓红 年 12 月 8 日 电梯控制器课程设计任务书 1.设计目与规定 1.1 基本功能 (1)显示:本设计规定实现6层控制,实时显示电梯所在楼层位置。 (2)升降控制:采用一台电动机正反转来实现电梯升降。 (3)具备不可逆响应功能:    电梯上升途中只响应上升呼喊,下降途中只响应下降呼喊,任何反方向呼喊均无效。 1.2 扩展功能 (1)可增长人性化按键语音服务功能。 (2)可增长遥控或感应操作功能。 2.设计内容 (1)画出电路原理图,对的使用逻辑关系; (2)拟定元器件及元件参数; (3)进行电路模仿仿真; (4)SCH文献生成与打印输出; 3.编写设计报告  写出设计全过程,附上关于资料和图纸,有心得体会。 4.答辩  在规定期间内,完毕论述并回答问题。 目录 1 引言 3 2 总体设计方案 3 2.1 设计思路 3 2.2 总体设计框图 3 3 电梯控制系统原理分析 4 3.1 控制电路设计 4 3.1.1 电梯内部呼喊电路和电机状态显示电路 4 3.1.2 电梯外部呼喊电路 5 3.1.3 电机控制电路 5 3.2 楼层显示电路 5 3.3 单片机最小系统设计 6 4 程序流程图 6 5 总结与体会 7 参照文献 8 附录一:电路总原理图 9 附录二:PCB板 10 附录三:程序清单 11 题目 基于单片机控制电梯控制器 班级姓名 电气123 桑广涛 摘要:随着经济高速发展,微电子技术,自动控制技术同样得到了迅速发展,电梯开始成为人们生活中一种重要交通工具,本设计选取AT89C52为核心控制元件,通过各个独立单元设立,设计一种六层电梯控制系统,通过控制电机正反转,进而实现电梯升降,实验中运用两个二极管来代替电机,通过二极管亮灭来判断电梯运营状态,对于程序则使用C语言进行编程,实现运送乘客到任意楼层,并且实时显示电梯楼层和电梯上下状况。实际生活中单片机具备成本低,通用性强,灵活性大以及易于实现复杂控制等长处。因而得以被广泛应用于咱们寻常生活之中。 核心词:AT89C52 LED显示 电机正反转控制 楼层显示 1 引言 随着人们生活水平不断提高和国民经济迅速发展。各大都市建筑物在不断向高层化发展。因而电梯在咱们生活中起着举足轻重作用。电梯已不但是一种生产环节中重要设备,更是一种人们生活中重要交通运送设备。因而电梯控制技术也在不断进步和完善,惯用控制技术重要有两种技术:基于PLC控制和基于单片机控制两大技术。用PLC控制电梯性能可靠、稳定,但是造价太高;基于单片机控制电梯可以大大减少成本并且运营也较可靠,因此当前电梯控制中大多数采用单片机控制。 当前大型楼宇电梯自动控制系统普通是基于PLC,但是在某些干扰较少、层数较少、控制精度规定不高、且人员不乘状况下,使用单片机是十分适合,虽然它抗干扰及稳定性上比不上PLC,但是它价格、体积及灵活性是PLC比不上。 本文基于单片机89SC51来控制各某些电路,采用单片机构成控制系统,可大大减少成本,并且做成专用控制系统,程序被固化,加强了保密性,提高了可靠性。 2 总体设计方案 2.1 设计思路 本次设计基本思想是采用AT89C52单片机作为核心,依照输出信号来控制电路整体运营,同步运用其丰富I/O接口与外围电路配合进行控制。采用LED静态显示来实时显示电梯所在楼层,并用74LS245来驱动LED显示。采用行列式键盘矩阵作为外呼内选电路,采用定期器延时来控制电梯位置校验,当电梯到达目楼层时电机停止运营,此时即可进、出乘客,乘客进入电梯之后可选取去哪一层,然后电梯依照乘客选取判断去哪一层,继续运营。通过单片机控制电梯,在上升过程中只响应上升呼喊,下降过程中只响应下降呼喊,只响应同方向呼喊,反方向呼喊无效。 2.2 总体设计框图 此电路方框图如图1所示,电路由键盘电路、单片机最小系统电路、楼层显示电路、电机状态显示电路、电机控制电路5某些构成。其中单片机最小系统重要由复位电路和时钟电路构成。电路复位后楼层显示数字1 表达电梯此时在一楼,显示电路通过74ls164串入并出驱动8位数码管显示,如有操作者在厢外呼喊,由外呼喊电路把信号输入单片机,当车厢来到呼喊层(由定期器定期电路判断,电机控制电路控制电机正反转),则打开电梯门,人进入后关门。操作者通过选层电路把目层告知单片机,控制电机把操作者送到目楼层。系统等待下次呼喊。系统正常工作由时钟电路来保证。显示电路实时显示电梯所在楼层位置,每层之间通过8秒延时控制即每延时8秒表达电梯走了一层。电梯状态是通过两个发光管显示,绿灯亮表达电梯在向上运营,黄灯亮表达电梯在向下运营。键盘电路采用独立键盘(共12个按键),其中6个按键是各层楼外呼按键,6个表达电梯内部选取键。电梯正常工作是通过对单片机写入程序控制。总体设计方框图如下所示: 楼层显示电路 AT89C52 时钟电路 电机控制电路 复位电路 键盘电路 电机状态显示 图1.总体设计方框图 3 电梯控制系统原理分析 3.1 控制电路设计 3.1.1 电梯内部呼喊电路和电机状态显示电路 电梯设计原理是通过对按键控制,从而显示相应楼层,把人送到自己想去楼层,而按键控制分为内部按键和外部按键,一某些是电梯外部人对电梯控制使电梯得到响应,一某些是电梯内部人对其控制使其得到响应,如图2,六个目的楼层选取按键K1、K2、K3、K4、K5、K6与单片机P0口P0.0、P0.1、P0.2、P0.3、P0.4、P0.5连接(P0口作为输出端驱动外部电路时须外接上拉电阻)。电机状态是通过两个发光管显示,绿灯、红灯与单片P1.6、P1.7连接(须外接上拉电阻),用于显示电梯运营状态,人进入电梯内按下要去楼层相应按键,就会控制电机转动,达到相应楼层。 K1:一楼内部向下呼喊按键,此键按下表达电梯中人想去目楼层时1楼,单片机依照此信号控制电梯运营以到达目楼层。 K2:二楼内部呼喊按键,当电梯处在上升状态时,表达此时一楼人想要去二楼;当电梯处在下降状态时,表达此时二楼以上中某个楼层人想要到达二楼,单片机依照此信号控制电梯运营以到达目楼层。 K3:三楼内部呼喊按键,当电梯处在上升状态时,表达此时一楼或者二楼人想要去三楼;当电梯处在下降状态时,表达此时三楼以上中某个楼层人想要到达三楼,单片机依照此信号控制电梯运营以到达目楼层。 K4:四楼内部呼喊按键,当电梯处在上升状态时,表达此时一楼,二楼和三楼人想要去四楼;当电梯处在下降状态时,表达此时五楼和六楼某个楼层人想要到达四楼,单片机依照此信号控制电梯运营以到达目楼层。 K5:五楼内部呼喊按键,当电梯处在上升状态时,表达此时一楼,二楼,三楼和四楼人想要去五楼;当电梯处在下降状态时,表达此时六楼人想要到达五楼,单片机依照此信号控制电梯运营以到达目楼层。 K6:六楼内部向上呼喊按键,此键按下表达电梯中人想去目楼层时六楼,单片机依照此信号控制电梯运营以到达目楼层。 内部电梯呼喊按键如图所示: 图2.电梯内部呼喊电路和电机状态显示电路 3.1.2 电梯外部呼喊电路 电梯外部呼喊电路如图3所示,按键s1out,s2out,s3out,s4out,s5out,分别与单片机p2.4,p2.3,p2.2,p2.1,p2.0口相连,若按下上升键,则电梯在上升过程中只响应上升呼喊,下降按键呼喊无效;反之亦然。 S1out:此按键按下表达此时一楼有人呼喊,想要去以上楼层,单片机依照此信号控制电梯运营以到达目楼层 S2out:此按键按下表达此时二楼有人呼喊,如若二楼向下按键,则表达二楼人想要去一楼;如若二楼向上按键,则表达二楼人想要去二楼以上楼层,单片机依照此信号控制电梯运营以到达目楼层。 S3out:此按键按下表达此时三楼有人呼喊,如若三楼向下按键,则表达三楼人想要去一楼或者二楼;如若三楼向上按键,则表达三楼人想要去三楼以上楼层,单片机依照此信号控制电梯运营以到达目楼层。 S4out:此按键按下表达此时四楼有人呼喊,如若四楼向下按键,则表达四楼人想要向下;如若四楼向上按键,则表达四楼人想要去五楼或者六楼,单片机依照此信号控制电梯运营以到达目楼层。 S5out:此按键按下表达此时五楼有人呼喊,如若五楼向下按键,则表达五楼人想要向下;如若五楼向上按键,则表达五楼人想要六楼,单片机依照此信号控制电梯运营以到达目楼层。 S6out:此按键按下表达此时六楼有人呼喊,表达想去如下楼层,单片机依照此信号控制电梯运营以到达目楼层。 本实验由于某些功能未能实现,在这里只列出了外部六个按键设立。 外部电梯呼喊如图所示: 图3.电梯外部呼喊电路 3.1.3 电机控制电路 电机采用普通直流电机,直流电机具备优良调速特性,调速平滑、以便,调节范畴广;过载能力强,能承受频繁冲击负载,可实现频繁无极迅速启动、制动和反转。用电机驱动芯片L298来驱动。电机控制电路用来控制电机正反转,当按下上升键时,电机正转,按下下降键时,电机反转。电路如图4所示。 图4.电机控制电路 3.2 楼层显示电路 显示电路是依照数码管状态显示进而让咱们懂得电梯此刻状态,本实验中咱们用一种八段数码管来实现,依照数码管数字显示让咱们懂得咱们需要目楼层,咱们用74ls164驱动数码管,其管脚1、2接单片机P3.0口,管脚8接P3.1口,通过3,4,5,10,11,12,13各个口输出状态进而起到对数码管显示控制作用。数码管9,10两个引脚接高电平用于保证数码管工作。 电路如图5所示 图5.显示楼层电路 3.3 单片机最小系统设计 单片机最小系统是控制单片机工作核心某些,用于控制单片机工作和脉冲变化,进而实现对其设计功能实现,而此电路组重要涉及复位电路和时钟电路两某些,其中复位电路采用按键手动复位和上电自动复位组合,电路如图6(左)所示:其中9 脚为单片机复位端,接单片机RST端,通过对按键控制实现电路复位。时钟电路如图6(右)所示,重要由晶振和电容构成,此晶振采用是12MHZ,电容则为30PF,电路XATL2和XATL1端分别与单片机18和19脚相连. 图6.最小系统电路 4 程序流程图 程序流程图是设计核心某些,可以简朴明了反映出设计思路,本实验是基于单片机电梯控制设计,电梯共六层,通过对按键扫描来判断与否有按键按下,从而是单片机响应控制电机转动,图7则为电梯设计流程图。 程序如下图: 调用选取当前要去楼层子程序 停留8s 电梯未运营或仍在运 行之中 电梯已到达相应目层? 是 否 是 否 电梯启动此时显示一楼 图7.程序流程图 5 总结与体会 实习已接近尾声,通过这次实习,让我明白了诸多,也学会了诸多,从最初刚刚拿到课题时茫然,过度到每天都与图书馆打交道,查阅各种资料,将实习中遇到难题各个击破,这其中布满了挑战和艰辛,可是这些都无所谓,由于更多则是咱们克服难题时兴奋和获得知识喜悦,咱们设计为电梯控制,从最初程序编译到电路仿真,以至于最后实物成形,中间不但融汇了咱们对基本知识应用尚有对计算机软件学习,固然期间也遗忘了诸多东西,但是通过与同窗之间讨论和教师悉心指引以及自己细心摸索,总算是完毕了制作,电梯仿真成果功能实现了,可是等到实物出来测试时,并没有实现应有成果,这让我结识到了理论与实际差距,更让我懂得了在此后学习生活中要结识到理论与实际结合重要性,在学习基本理论同步,要注重实际应用,从而把知识学习更加牢固。 参照文献 [1] 刘瑞新.单片机原理及应用教程[M].机械工业出版社, .7 [2] 赵晓安. MCS-51单片机原理及应用. 天津大学出版社,.3 [3] 夏继强. 单片机实验与实践教程. 北京:北京航空航天大学出版社, [4] 李朝青.单片机原理及接口技术[M].北京:北京航空航天出版社,.10 [5] 肖洪兵. 跟我学用单片机. 北京:北京航空航天大学出版社,.8 [6] 曹巧媛.单片机原理及应用[M].大连.大连理工大学出版社,1996.5 [7] 叶挺秀.应用电子学[M].杭州:浙江大学出版社,1994 [8] 朱承高.电工及电子技术手册[M].北京:高等教诲出版社,1990 [9] 李朝青.单片机原理及接口技术[M].北京:北京航空航天大学出版社, [11] 唐俊翟.单片机原理与应用[M].冶金工业出版社, .9 [13] 刘瑞新.单片机原理及应用教程[M].机械工业出版社, .7 [14] 吴国经.单片机应用技术[M].中华人民共和国电力出版社, .1 [15] 何立民.单片机应用系统设计[M].北京航空航天出版社, 1995 附录一:电路总原理图 附录二:PCB板 附录三:程序清单 #include<reg51.h> #include"电梯.h" sbit k1=P0^0; sbit k2=P0^1; sbit k3=P0^2; sbit k4=P0^3; sbit k5=P0^4; sbit k6=P0^5; sbit LedDown=P0^6; sbit LedUp=P0^7; sbit up1=P2^0; sbit up2=P2^1; sbit down2=P2^2; sbit up3=P2^3; sbit down3=P2^4; sbit up4=P2^5; sbit down4=P2^6; sbit up5=P2^7; sbit down5=P1^0; sbit down6=P1^1; sbit d11=P1^2; sbit d12=P1^3; sbit d21=P1^4; sbit d22=P1^5; sbit pwm1=P1^6; sbit pwm2=P1^7; void DianTiKey(); #define uchar unsigned char char KeyValueOld; //内部按键上次值 char KeyValueOOld; //外部按键上次值 char NowFloor; //当前所在楼层 char KeyValue; //电梯内部按键暂存值 char KeyValueO; //电梯外部按键暂存值 char GoFloor[5]; char t; 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 ShangSheng()//驱动电机上升函数 { 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,d12=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; 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) { ShangSheng(); Num++; if(GoFloor[Num]!=0) { if(((GoFloor[Num]&0x01)+(GoFloor[Num]&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; } } } } void OutKey() //外部按键响应程序 { char temp; if(KeyValueO!=KeyValueOOld)//按键与否按下 { KeyValueOOld=KeyValueO; temp=NowFloor-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;GoFloor[0]|=4;break; case 0x02:KeyValue=2;GoFloor[1]|=4;break; case 0x04:KeyValue=3;GoFloor[2]|=4;break; case 0x08:KeyValue=4;GoFloor[3]|=4;break; case 0x10:KeyValue=5;GoFloor[4]|=4;break; case 0x20:KeyValue=6;GoFloor[5]|=4;break; case 0x40:break; case 0x80:break; } if(t==0) { switch(~P2) //上升按键扫描 { case 0x01:GoFloor[0]|=1;KeyValueO=1;break;//1楼呼喊上升 case 0x02:GoFloor[1]|=1;KeyValueO=2;break;//2楼呼喊上升 case 0x04:GoFloor[2]|=1;KeyValueO=3;break;//3楼呼喊上升 case 0x08:GoFloor[3]|=1;KeyValueO=4;break;//4楼呼喊上升 case 0x10:GoFloor[4]|=1;KeyValueO=5;break;//5楼呼喊上升 case 0x20:GoFloor[0]|=2;KeyValueO=2;break;//2楼呼喊下降 case 0x40:GoFloor[1]|=2;KeyValueO=3;break;//3楼呼喊下降 case 0x80:GoFloor[2]|=2;KeyValueO=4;break;//4楼呼喊下降 } if(!down6) { GoFloor[4]|=2;//6楼呼喊下降 KeyValueO=6; } if(!down5) //5楼呼喊下降 { GoFloor[3]|=2; KeyValueO=5; } } else { if(t==11) //电梯在上升时响应上升呼喊 switch(~P2) //上升按键扫描 { case 0x01:GoFloor[0]|=1;KeyValueO=1;break;//1楼呼喊上升 case 0x02:GoFloor[1]|=1;KeyValueO=2;break;//2楼呼喊上升 case 0x04:GoFloor[2]|=1;KeyValueO=3;break;//3楼呼喊上升 case 0x08:GoFloor[3]|=1;KeyValueO=4;break;//4楼呼喊上升 case 0x10:GoFloor[4]|=1;KeyValueO=5;break;//5楼呼喊上升 } else if(t==10) //电梯在下降时响应下降呼喊 { switch(~P2) { case 0x20:GoFloor[0]|=2;KeyValueO=2;break;//2楼呼喊下降 case 0x40:GoFloor[1]|=2;KeyValueO=3;break;//3楼呼喊下降 case 0x80:GoFloor[2]|=2;KeyValueO=4;break;//4楼呼喊下降 } if(!down6) { GoFloor[4]|=2;//6楼呼喊下降 KeyValueO=6; } if(!down5) { GoFloor[3]|=2; KeyValueO=5; } } } } void start() SCON=0X00; TMOD=0X01; ET0=1; EA=1; TI=0; NowFloor=1; KeyValueOld=KeyValueOOld=KeyValue=KeyValueO=1; pwm1=pwm2=1; SBUF=play[1]; while(!TI); TI=0; } void main() { start(); while(1) { DianTiKey(); OutKey(); Go(); } } void t0() interrupt 1 { TH0=(65535-10000)/256; TL0=(65535-10000)%256; TimeValue++; }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服