基于单片机的五层电梯控制器的设计和研究电气工程及其自动化毕业设计.docx
《基于单片机的五层电梯控制器的设计和研究电气工程及其自动化毕业设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的五层电梯控制器的设计和研究电气工程及其自动化毕业设计.docx(27页珍藏版)》请在冰豆网上搜索。
基于单片机的五层电梯控制器的设计和研究电气工程及其自动化毕业设计
毕业设计(论文)
题目:
基于单片机的五层电梯控制器的设计和研究
学生姓名:
学号:
所在学院:
机械与电子工程学院
专业班级:
电气工程及其自动化1002班
届别:
2014届
指导教师:
xx学院本科毕业设计(论文)创作诚信承诺书
1.本人郑重承诺:
所提交的毕业设计(论文),题目《基于单片机的五层电梯控制器的设计和研究》是本人在指导教师指导下独立完成的,没有弄虚作假,没有抄袭、剽窃别人的内容;
2.毕业设计(论文)所使用的相关资料、数据、观点等均真实可靠,文中所有引用的他人观点、材料、数据、图表均已标注说明来源;
3.毕业设计(论文)中无抄袭、剽窃或不正当引用他人学术观点、思想和学术成果,伪造、篡改数据的情况;
4.本人已被告知并清楚:
学校对毕业设计(论文)中的抄袭、剽窃、弄虚作假等违反学术规范的行为将严肃处理,并可能导致毕业设计(论文)成绩不合格,无法正常毕业、取消学士学位资格或注销并追回已发放的毕业证书、学士学位证书等严重后果;
5.若在省教育厅、学校组织的毕业设计(论文)检查、评比中,被发现有抄袭、剽窃、弄虚作假等违反学术规范的行为,本人愿意接受学校按有关规定给予的处理,并承担相应责任。
学生(签名):
黄礼忠
日期:
2014年5月14日
基于单片机的五层电梯控制器的设计和研究
学生:
黄礼忠(指导老师:
徐宇宝)
(xx学院机械与电子工程学院)
摘要:
本设计是利用AT89C52单片机控制的五层电梯模拟控制系统,主要包括硬件系统的设计、软件系统的设计及模拟电路的仿真调试。
本设计主要是用定时器中断电路控制电梯电机的驱动,是专门为楼层快速通行控制设计的智能系统。
此外,利用单片机控制电梯有通用性强、灵活性大及易于实现复杂控制等优点。
关键词:
AT89C52;定时器中断;仿真;调试;电梯
Designandresearchoffive-storeyselevatorcontrollerbasedonsinglechipmicrocomputer
Student:
HuangLizhong(FacultyAdviser:
XuYubao)
(CollegeofMechanicalandElectronicEngineering,WestAnhuiUniversity)
Abstract:
Thisdesignistheuseoffive-storyelevatorcontrolsystemsimulationonAT89C52control,includingsimulationdebugginghardwaresystemdesign,softwaredesignandanalogcircuits.Thedesignismainlycontrolledbythetimerinterruptelevatormotordrivecircuit,isspecificallydesignedforfastaccessfloorcontrolintelligentsystems.Inaddition,theuseofsingle-chipcontroloftheelevatorhastheversatility,flexibility,andeasytoimplementlargecomplexcontrolandsoon.
Keywords:
AT89C52;timerinterrupt;simulation;debugging;elevator
前言
电梯的诞生已经有160年了。
生活仍在继续,科技不断发展,社会逐步提速,电梯也在进步。
160年以来,电梯的色彩由黑白到彩色,样式由直式到斜式,在操纵控制方面更是逐步出新,多台电梯还出现了并联控制,智能群控;各种形状的电梯则使身处电梯中的乘客的视线更为辽阔。
如今,世界各大著名电梯公司仍在电梯研究上费尽心思,使冷冰冰的建筑散发出人性的温暖光辉,人们的生活因此变得更美好。
美国奥的斯公司于1901年在上海安装中国第一部电梯。
我国第一台自行制造的电梯安装在天安门,是由天津从庆生电机厂研发的,历时四个月,最终不辱使命。
改革开放以后,我国电梯业进入了高速发展的时期。
在我国任何一个城市的饭店、商场、居民住宅大楼、办公大楼、娱乐场所以及仓库等,处处可见电梯的身影。
这种安全、可靠、垂直上下的运输工具给人们的生活带来了便利,已成为人类必不可少的垂直运输交通工具。
1设计方案介绍
1.1设计思路
本设计是五层电梯控制器的设计,故在每层电梯井道口都要有呼叫按键,以做乘坐电梯使用。
当然,电梯厢轿内部也要有1-5的楼层选择键。
在电梯内部和各楼层电梯井道口都有数码管显示电梯所在楼层,在电梯运行过程中,有相应的上下行指示灯。
(1)设置电梯的内外按键,即电梯外都有上或下的按键,电梯内有楼层的选择按键。
(2)电梯运行到达当前楼层的数码管实时显示,电梯处于上升或下降的状态显示等。
(3)电梯无人使用时,应默认停在一楼。
1.2结构框图
数码管显示
楼层电梯单当前楼层
呼叫按键
片电机的驱动
和控制
电梯内机
呼叫按键电梯状态
指示灯
图1结构框图
1.3流程框图
开始
初始化
有无键按下
N
Y
何键按下
上下行指示灯亮
数码管显示当前楼层
启动电梯到达目标楼层
图2程序流程图
如上图1所示,楼层电梯呼叫按键就是各楼层电梯井道口的上行、下行按键,需要乘坐电梯时按下即可;电梯内呼叫按键便是电梯内部的数字按键;单片机就是整个系统的核心,接收信息输入,经过处理后输出信息;楼层显示数码管就是接收单片机处理的信息,显示当前的楼层数;电梯状态指示灯就是接收单片机处理的信息,显示电梯的运行状态:
上升或下降。
电动机的驱动和控制就是接收单片机的信号来控制驱动器,进而控制电动机的正反转,使电动机牵引电梯做上下运动。
1.4整体方案步骤
(1)把整个硬件部分分为几个单元模块,画出整体系统原理图,标明各单元模块名称;
(2)构建硬件电路,完成各单元模块电路设计,包括各种元器件的选择及元件布局和走线;
(3)采用模块化结构设计软件,首先将整个软件分成若干子程序模块;
(4)依据流程框图,编写源程序;
(5)配合整个系统原理图,在Proteus上调试各子程序模块程序。
2硬件系统设计
2.1硬件设计思路
本设计为五层电梯控制系统,分别为1楼至5楼,因此在1楼仅有上升按键,5楼应仅有下降按键,其他楼层则既有上升按键,也有下降按键。
在电梯内部按键设置方面,则应有1~5楼的各层选择按键。
按键的一端接单片机引脚,另一端直接接地,低电平有效触发方式。
无论哪一个按键有动作,低电平信号就会送到单片机对应引脚,从而引发定时器0中断服务子程序运行。
当定时器0产生中断时,单片机发出信号,电动机经过驱动器的驱动,便牵引电梯上下运动。
本设计电梯只有5层,因此用一位七段数码管即可,数码管的显示数据通过单片机的P0口来进行传送,因此数码管的位选线直接接地,而不需要再选择。
本设计中要求数码管的显示随着电梯的位置变化而变化,即数码管显示数据要与当前楼层数同步。
电梯升降的状态用上升和下降指示灯来进行显示,通过单片机的P2.0和P2.1引脚分别连接上升和下降指示灯的正极,其负极均连接至地。
2.2时钟电路
AT89C52单片机各功能部件的运行都是以时钟信号为基准,井井有条地一拍一拍地执行。
AT89C52单片机电路中的电容C1和C2典型值通常选择为30pF。
本设计我们考虑选择频率为12MHz的晶振,当振荡脉冲频率为12MHz时,一个机器周期为1us。
下图所示为时钟电路原理图,在AT89C52芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。
时钟电路产生的振荡脉冲经由触发器二分频之后,才成为单片机的时钟脉冲信号。
图3时钟电路
2.3复位电路
AT89C52的复位是由外部的复位电路来实现的,给单片机的复位引脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就可使单片机复位。
我们采用了上电复位和手动复位为电平方式的复位。
如图4所示,我们通过RST端经由电阻与电源VCC接通而实现,当按键按下时,RST端为高电平复位。
当时钟频率选用12MHz时,C3取10uF,R1取10KΩ时,电容C3充放电时间τ=R1*C3=0.1s>2us(2个机器周期)。
图4复位电路
2.4数码管显示部分
共阴极共阳极
图5七段数码管原理图
单片机应用系统中常用的显示器有:
发光二极管LED显示器、液晶LCD显示器、CRT显示器等。
本设计采用的是LED显示器,如图5所示。
七段LED数码管由7条线段围成8字型和小数点DP,每一段包含一个发光二极管,外加正向电压时二极管导通,发出清晰的光。
只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。
字型
共阳极段码
共阴极段码
字型
共阳极段码
共阴极段码
0
C0H
3FH
9
90H
6FH
1
F9H
06H
A
88H
77H
2
A4H
5BH
B
83H
7CH
3
B0H
4FH
C
C6H
39H
4
99H
66H
D
A1H
5EH
5
92H
6DH
E
86H
79H
6
82H
7DH
F
84H
71H
7
F8H
07H
空白
FFH
00H
8
80H
7FH
P
8CH
73H
表1七段数码管段码
图6数码管显示部分连接图
如图6所示,在本设计中采用的是共阴极数码管,接于单片机P0口,公共端直接接于大地。
P0口内部无上拉电阻,为三态,引脚电流很小,增加上拉电阻,在单片机上电后将其电平拉高,可提高P0口的驱动能力。
2.5按键控制部分
如图7所示,按键控制模块包括电梯内部的按键和每层楼的上下按键,这些按键一端与单片机引脚相接,一端与地相接,低电平有效,这样可以实现模拟按键的操作。
图7按键控制连接图
2.6总电路连接图
如图8所示,电路原理图包括状态指示灯模块、内外按键模块、单片机的主要外围模块、数码管显示模块和电动机驱动控制模块。
P0口的P0.0~P0.6引脚与数码管模块相接,P2口的P2.0~P2.1引脚与状态指示灯模块相接,P2口的P2.4~P2.7引脚与电动机驱动控制模块相接,P3口的P3.0~P3.4引脚与对应的电梯内按键模块,P1口的P1.0~P1.7引脚与对应的电梯外按键模块相接。
图8总电路连接图
3软件系统设计
3.1程序设计思路
首先,当楼层按键或电梯内按键有动作时,程序必须执行每个按键的动作,并根据电梯当前楼层与目标楼层之间的位置关系,确定电梯上升或下降的响应动作。
其次,电梯系统还有一个判断是否无人的情况。
即电梯到达某楼层后,其他楼层无按键动作,且电梯内也无楼层选择按键动作,那么就可以判断此时电梯内无人。
若电梯内无人,电梯应自动返回到1层等待。
然后,两个楼层之间应考虑有一段运行时间,而且也要设置在一个楼层的停留时间。
本设计中两个楼层之间的运行时间设为1s,每层停留时间设为5s。
当定时0中断时,单片机发送信号,电动机经驱动器驱动后,根据指令做出相应动作。
另外,当电梯上升或者下降时,相应的状态指示灯应及时同步点亮。
3.2程序流程图
开始
初始化
电梯默认停在一楼
呼叫按键按下?
N
Y
显示当前楼层
开启电梯前去指定楼层
上下行指示灯亮
到达指定楼层
Y
呼叫按键按下?
N
等待5秒
图9程序流程图
3.3原程序代码
/*********声明区************/
#include
/*******上下行指示灯********/
sbitled1=P2^0;
sbitled2=P2^1;
/*******电机驱动接线********/
sbitP2_4=P2^4;
sbitP2_5=P2^5;
sbitP2_6=P2^6;
sbitP2_7=P2^7;
/*********电梯内按键********/
sbitF1=P3^0;
sbitF2=P3^1;
sbitF3=P3^2;
sbitF4=P3^3;
sbitF5=P3^4;
/********各楼层按键*********/
sbitF1U=P1^0;
sbitF2U=P1^1;
sbitF2D=P1^2;
sbitF3U=P1^3;
sbitF3D=P1^4;
sbitF4U=P1^5;
sbitF4D=P1^6;
sbitF5D=P1^7;
uchardirect,floor,aim,stop;
uinttimer1,timer2;
ucharcodetable[]={
0x3f,0x06,0x5b,
0x4f,0x66,0x6d};
voiddelay(uintz);
/***********初始化子函数***********/
voidinit()
{
led1=0;//上行指示灯
led2=0;//下行指示灯
direct=1;//direct为1时,电梯上升
aim=1;//目标楼层
floor=1;//当前楼层
stop=0;//电机起停标志
timer1=0;
timer2=0;
P0=0x00;
P2_4=P2_7=0;
P2_5=P2_6=0;
TMOD=0x01;//设置定时器0为工作方式1
TH0=(65536-50000)/256;//装初值
TL0=(65536-50000)%256;
EA=1;//关外部中断
ET0=1;//开定时器0中断
TR0=1;//启动定时器0
}
/*************显示子函数**************/
voiddisplay()
{
P0=table[floor];
}
/************按键扫描函数*************/
voidkeyscan()
{
if(F1U==0)
aim=1;
elseif(F2D==0||F2U==0)
aim=2;
elseif(F3D==0||F3U==0)
aim=3;
elseif(F4D==0||F4U==0)
aim=4;
elseif(F5D==0)
aim=5;
elseif(F1==0)
{aim=1;stop=0;}
elseif(F2==0)
{aim=2;stop=0;}
elseif(F3==0)
{aim=3;stop=0;}
elseif(F4==0)
{aim=4;stop=0;}
elseif(F5==0)
{aim=5;stop=0;}
}
/************电机驱动子函数**************/
voidqudong()
{
if(direct==1)
{
P2_4=P2_7=1;
P2_5=P2_6=0;
led1=1;
led2=0;
}
else
{
P2_4=P2_7=0;
P2_5=P2_6=1;
led1=0;
led2=1;
}
else
{
P2_4=P2_7=0;
P2_5=P2_6=0;
led1=0;
led2=0;
}
}
/*****************主函数*********************/
voidmain()
{
init();//初始化
while
(1)
{
if(floor==aim)
stop=1;
else
{
stop=0;
if(floor>aim)
{
direct=0;
if(timer1==200)//每层楼电梯运行1s
{
timer1=0;
floor--;
if(floor==aim)
stop=1;
}
}
else
{
direct=1;
if(timer1==200)
{
timer1=0;
floor++;
if(floor==aim)
stop=1;
}
}
}
if(floor>1&&stop==1&&timer2==1000)//无人呼叫,5s返回1层
aim=1;
}
}
/********定时器T0中断函数*******/
voidtime0()interrupt1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
if(stop==0)
timer1++;
else
timer2++;
}
4电路仿真及调试
Proteus软件是由英国(U.K)LabCenterElectronics公司开发的EDA工具软件,它不仅具有其它EDA工具软件的仿真功能,还可以仿真单片机及外围器件。
Proteus是现如今比较好用的仿真单片机及外围器件的软件。
在Proteus中绘制好原理图后,调入已编译好的目标代码文件:
*.HEX,可以在Proteus的原理图中看到模拟的实物运行过程和状态。
图10电梯默认停在一楼
解析:
如上图10所示,电梯没有其他响应时,默认停在一楼,数码管显示1楼。
此时各内外按键接地的一侧全部为低电平,一旦按钮按下,凡是按键所接的引脚全部为低电平,此时定时器0中断低电平有效,定时器0中断立即响应。
当定时器0中断响应后,开始计时并向电动机发送信号,经驱动器驱动后,电动机就会牵引电梯做上升或者下降动作,LED数码管收到单片机的信号后就会显示当前楼层数,对应的上升、下降指示灯会有所动作。
图11电梯处于上行中,经过三楼,上行指示灯亮
解析:
如上图11所示,电梯在四楼或五楼有响应,经过三楼时,电动机正转,电梯上升,上升指示灯亮。
呼叫按键按下后,定时器0中断立即响应,当定时器T0开始计数时,并向电动机发送信号,经驱动器驱动后,此时电机正转,就会牵引电梯做上升运动,电梯经过三楼,数码管同步显示3楼,上升指示灯亮,下降指示灯灭。
图12电梯处于下行中,经过四楼,下行指示灯亮
解析:
如上图12所示,电梯可能没有响应,在四楼以上停了5s就返回一楼,或者是在四楼以下有响应,执行定时器0中断服务子程序。
当定时器T0开始计数时,并向电动机发送信号,经驱动器驱动后,此时电机反转,就会牵引电梯做下降运动,电梯下行,经过四楼,数码管同步显示4楼,上升指示灯灭,下降指示灯亮。
5心得及体会
在本次毕业设计中,运用单片机编程控制电梯,使我对单片机的知识又有了进一步的认识、理解和掌握。
要想成功的做好毕业设计,必须有一定统筹规划的能力,把各个模块化的部分研究好以后,再把它们构建在一起协同工作,其中可能会出现冲突和不匹配,需要细心地调试才能出来结果。
在使用Keil编程时,必须耐心细致,有一个符号不正确都会导致仿真失败,所以要在编程时养成良好习惯,方便查找错误。
参考文献:
[1]李朝青.单片机原理及接口技术[M].北京航空航天大学出版社,1998
[2]李勋等.单片机实用教程[M].北京航空航天大学出版社,2000
[3]何为民.低功耗单片微机系统设计[M].北京航空航天大学出版社,1994
[4]唐介.电机与拖动(第二版)[M].高等教育出版社,2009
[5]何立民.单片机高级教程[M].北京航空航天大学出版社,1995
[6]李海发.电机学[M].科学出版社,2001
[7]陈志强,胡辉.单片机应用系统设计实践指南[J].科学出版社,2005
[8]李广弟,朱月秀,冷祖祁.单片机基础(第3版)[M].北京航空航天大学出版,2007
[9]肖婧.单片机系统设计与仿真—基于proteus[M].北京航空航天大学出版社,2010
[10]彭伟.单片机C语言程序设计实训100例—基于8051+Proteus仿真[M].电子工业出版社,2009
[11]彭鸿才.电机原理及拖动[M].机械工业出版社,2001
[12]李朝青.单片机通讯技术与工程实践.北京:
航空航天大学出版,2007.2
[13]李群芳.单片机原理接口与应用.北京:
清华大学出版社,2005.6
[14]马忠梅.单片机C语言应用程序设计.北京:
航空航天大学出版社,1997.10
[15]谢自美.电子线路设计.武汉:
华中科技大学出版社,2000.5
[16]中国电器工业协会微电机分会.微特电机应用手册.福建:
福建科技出版社,2010.4
[17]杨宁,胡学军.单片机与控制技术[M].北京航空航天大学出版社,2005.3.
[18]李华,孙晓民,李红青,徐平.MCS-51系列单片机实用接口技术[M].北京航空航天大学出版社,2003.3.
[19]张洪润,孙悦,张亚凡.单片机原理及应用[M].清华大学出版社,2008.11.
[20]徐建军,汤钰鹏,关宇.MCS-51系列单片机应用及接口技术[M].人民邮电出版社,2003.6.
[21]谢宜仁.单片机硬件接口电路及实例解析[M].电子工业出版社,2009.4.
[22]谢维成,杨家国,董秀成.单片机原理与应用及C51程序设计[M].清华大学出版社,2009.7.
致谢
青山依旧,淠水长流!
时间如白驹过隙,转眼间,我已在xx学院度过了四个年头。
四年,人生一段不短的时间,也是在我生命中起到至关重要作用的四年。
人们都说,没上过大学是人生最大的遗憾。
没错,大学让我成长,让我从懵懂走向成熟。
在这里我学到了许多知识,使自己的羽翼更加饱满,感谢我的母校给了我锻造自己的机会。
感谢我的家人,给我提供四年大学生活的费用和悉心照顾,你们的养育之恩无以回报,希望我今后的努力能够让你们过得更好,你们永远健康快乐是我最大的心愿。
在选题及研究过程中,徐宇宝老师对我耐心而细致的指导。
在设计过程中,贴心的徐老师曾多次询问设计进程,并为我解决谜团,帮助我开拓设计思路。
徐老师认真负责的作风,严谨细致的态度,无私奉献的精神,不仅授我以文,而且教我做人,虽历时两学期,却给我以终生受益无穷之道。
对徐老师的感激之情溢于言表。
一个人的成长必须经历苦辣酸甜,人是有社会属性的,