1黑金学院本科生课程设计《单片机原理及应用》课程设计设计题目:基于AT89C52电梯模拟控制系统设计专业:电子信息科学与技术班级:2012级学生姓名:××学号:指导教师:张三丰(副教授)2015年01月1基于AT89C52电梯模拟控制系统设计××(琼州学院电子信息工程学院,海南三亚572022)摘要:本设计是利用AT89C52单片机控制的多层电梯模拟控制系统,主要包括硬件系统的设计、软件系统的设计及模拟电路的仿真调试。本设计主要是利用中断电路控制电梯的响应和电机的驱动,是专门为楼层快速通行控制设计的智能系统。此外,利用单片机控制电梯有成本低、通用性强、灵活性大及易于实现复杂控制等优点。关键词:AT89C52单片机;仿真调试;电梯1.设计任务1.1设计目的目前电梯控制系统大多采用继电器或者可编程控制器(PLC)的控制方式,存在着成本高,需要三相供电等缺点,本设计给出了一种基于单片机的电梯模型控制系统设计。以单片机为核心,再辅以适当的硬件电路和控制程序来检测和控制整个电梯的信号,具有成本低、通用性强、灵活性大、扩展容易及易于实现复杂控制等优点。本设计注重基本理论知识与实际情况的紧密结合,同时对学生独立创新和分析问题的能力进行培养,加深对知识的理解,为以后的工作和学习打下坚实的基础。1.2方案论证1.2.1设计要求(1)设置电梯的内外按键,即电梯外都有上或下的按键,电梯内有楼层的选择按键。(2)电梯状态要有指示灯显示,即电梯目前运行到达楼层的实时显示,电梯升降的状态显示等。(3)电梯无人时,应默认停在第一层。1.2.2系统的结构框图2楼层电梯呼叫按键电梯内呼叫按键单片机楼层显示数码管电梯状态指示灯电梯控制信息楼层信息电梯状态信息电机的驱动和控制图1.1系统的结构框图如图1.1所示,楼层电梯呼叫按键就是楼层外面的上行、下行按键,有需求时即可按下;电梯内呼叫按键就是电梯内部的数字按键,它是内部按键需求的输入;单片机就是整个系统的核心,接收输入信息,经过处理后输出信息;楼层显示数码管就是接收单片机处理的信息,显示此时的楼层数;电梯状态指示灯就是接收单片机处理的信息,显示电梯的状态:上升、下降、停止。电动机的驱动和控制就是接收单片机的PWM脉冲信号来控制驱动器,进而控制电动机的正反转,使电动机牵引电梯做上下运动。2.电路设计与参数计算2.1硬件系统的设计与参数计算2.1.1硬件设计思路与计算电梯最底层为1楼,因此在1楼仅有上升按键,而电梯最高层为6楼,因此6楼应仅有下降按键。其他楼层则既有上升按键,也有下降按键。在电梯内部按键设置方面,则应有1~6楼的各层选择按键。按键的一端接地,另一端通过集成电路芯片连至单片机引脚。这里,由于按键数量很多,又要求电梯控制系统能以最快速度响应按键的需求,因此,所有按键通过与门连接单片机。用五片双4输入与门74LS21即可实现16个按键对象的集体与运算的最终结果,按键动作最终是送到单片机的INT0端。即:INT0←(P1.0*P1.1*P1.2*P1.3)*(P1.4*P1.5*P1.6*P1.7)*(P3.0*P3.1*P2.0*P3.3)*(P3.4*P3.5*P2.1*P2.2)无论哪一个按键有动作,低电平信号就会送到INT0端,从而引发外部中断0服务子程序运行。当定时器0中断时,单片机向电动机发送PWM脉冲信号,电动机接到脉冲信号后,经过驱动器的驱动,电动机便牵引电梯上下运动。电梯的楼层显示用七段数码管完成显示。本设计电梯只有6层,因此用七段数码管即可,数码管的显示数据通过单片机的P0口来进行传送。设计中要求数码管随着电梯的位3置变化而变化,即数码管显示数据要与楼层数同步,因此数码管的片选线直接连接地,而不需要再选择。电梯升降的状态用上升和下降指示灯来进行显示,通过单片机的P3.7和P3.6引脚分别连接上升和下降指示灯的负极,其正极均连接至系统正电源处。2.1.2时钟电路设计与计算C1C2X1XTAL1XTAL230pF30pF图2.1时钟电路图单片机的时钟电路(如图2.1所示)有振荡电路和分频电路组成。其中振荡电路由反相器以及并联外接的石英晶体和电容构成,用于产生振荡脉冲。而分频电路则用于把振荡脉冲分频,以得到所需要的时钟信号。AT89C52单片机各功能部件的运行都是以时钟控制信号为基准,有条不紊地一拍一拍地工作,因此时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。AT89C52单片机电路中的电容C1和C2典型值通常选择为30pF。晶振的频率越高则系统的时钟频率也越高,单片机的运行速度也越快。但反过来运行速度越快对内存的速度要求就越高,对印刷电路板片靠近,以减少寄生电容,更好的保证振荡器稳定、可靠的工作。基于以上本设计我们考的工艺要求也越高,即要求产生的寄生电容要小,晶振和电容应尽可能安装得与单片机芯虑选择频率为12MHz的晶振,当振荡脉冲频率为12MHz时,一个机器周期为1us。2.1.3复位电路设计与分析R110KC1VCCRSTS10uF图2.2复位电路图复位电路图如图2.2所示,复位是单片机的初始化操作,程序给单片机的复位引脚RST4加大于2个机器周期(即24个时钟振荡周期)的高电平就可使单片机复位。AT89C52的复位是由外部的复位电路来实现的。复位电路通常采用上电复位和手动复位两种方式,手动复位有电平方式和脉冲方式两种,我们采用了手动复位为电平方式的复位。如图3-2所示,我们通过RST端经由电阻与电源VCC接通而实现,当按键按下时,RST端为高电平复位。当时钟频率选用12MHz时,C1取10uF,R1取10KΩ时,电容C1充放电时间τ=R1*C1=0.1s2us(2个机器周期)。2.1.4中断电路设计与分析各中断的优先级(由高到低排列):外部0中断、定时器T0中断、外部1中断、定时器T1中断、串行发送中断、串行接收中断、定时器T2中断。P1.0P1.1P1.2P1.3F6下F2下F1上F2上INT074LS21图2.3中断电路图中断电路如图2.3所示。图中外部0中断INT0与74LS21与门相接,低电平有效,所以当单片机接电源后,P1.0~P1.3引脚此时为高电平,当任一按键按下后,相应的中断输入口直接与地相接,高电平变为低电平,外部0中断立即响应,单片机系统进入中断控制子程序系统,在中断服务子程序中做出相应的执行指令。2.1.5电动机正反转控制电路5L1L2L3QMFUKLSB3SB1C2C1C1C2SB2C2C2C1C1KLM3~图2.4带有联锁的正反控制电路如图2.4所示,几只控制电路通过辅助触头之间的相互连接,实现彼此之间相互联系又相互制约的作用,叫做联锁。继电接触控制电路,通过接触器、继电器之间的相互联锁,可以实现多台设备按生产工艺进行工作,是实现自动控制及保护的重要环节。当接通电源后,闭合负荷开关QM,按下开关SB1,线圈C1得电,使电动机启动,此时电动机正转。按下开关SB2,线圈C2得电,线圈C1断开,此时电机开始反转。2.1.6数码管显示模块的选择LED是LightEmitingDiode(发光二极管)的缩写,发光二极管是可以将电信号转换为光信号的电致发光器件。由条形发光二极管组成“8”字形的LED显示器,也称数码管。通过数码管中发光二极管的亮暗组合,可以显示多种数字,字母以及其他符号。数码管有七段数码管和八段数码管之分。七段数码管由7个发光二极管组成,而八段数码管则是在七段发光二极管的基础上在再加一个圆点型发光二级管,用于显示小数点,本设计采用七段数码管。图2.5七段数码管6七段数码管外形如图2.5所示,即左边的7个引脚跟单片机P0口相接,下边的引脚连接地。2.1.7按钮控制电路模块的设计F6下F2下F3下F4下F5下F5上F4上F3上F2上F1上F1F2F3F4F5F6P10P11P12P13P14P15P16P17P30P31P20P33P34P35P21P22图2.6电梯不同楼层的按钮如图2.6所示,按键显示电路模块包括电梯内部的按钮和每层楼的上下按钮,这些按钮一端与地相接,一端又与单片机和与门74LS21相接,外部0中断低电平有效,这样可以实现模拟按键的自如操作。2.2软件系统的分析与设计2.2.1程序设计思路首先,必须得合理考虑按键的响应问题。一段时间内可能有多个不同的按键有动作,程序必须记录每一个按键的动作,并根据电梯本身所处的楼层情况与按键楼层之间的位置关系,合理判断出电梯应当做出上升或下降的响应动作。其次,电梯系统还有一个判断是否无人的情况。即电梯到达某楼层后,其他楼层无按键动作,且电梯内也无楼层选择按键动作,那么就可以判断此时电梯内无人。若电梯内无人,电梯应自动返回到1层等待。然后,两个楼层之间应考虑有一段运行时间,而且也要设置在一个楼层的停留时间。本设计中两个楼层之间的运行时间设为1s,每层停留时间设为5s。当定时0中断时,可利用此发送电动机PWM脉冲信号,经驱动器驱动后,电动机正反转执行相应的动作指令。另外,当电梯上升或者下降时,相应的状态指示灯应及时同步点亮。2.2.2程序流程图7本设计程序流程图主要包括主程序流程图(如图2.7所示)、启动电梯子程序流程图(如图2.8所示)、选择当前要去楼层子程序流程图(如图2.9所示)。启动电梯显示在1楼调用启动电梯子程序电梯未运行或虽运行但还没停止?调用选择当前要去楼层子程序电梯已到目的层?停留5sYYNN图2.7主程序流程图8开始电梯在当前层?电梯未运行?启动电梯延时电梯上升?上升指示灯灭下降指示灯亮上升指示灯亮下降指示灯灭开定时器启动电梯返回YYYNNN电梯到达最顶层?电梯到达最底层?电梯改为下降电梯改为上升电梯在下降?延时等待5s当前楼层=目的楼层?继续下行查找下一个要去楼层若无下行需求则反向查询当前楼层=目的楼层?延时等待5s向上查找下一个要去楼层到最顶层,无按键需求电梯下行无人时电梯停留在1楼YYYYNNNNNY图2.8启动电梯子程序流程图图2.9选择当前要去楼层子程序流程图93.电路仿真与分析图3.1电梯默认停在一楼解析:如图3.1所示,电梯没有其他响应时,默认停在一楼,数码管显示1楼。此时各内外按键接地的一侧全部为低电平,接单片和74LS21与门一侧全部为高电平,一旦按钮按下,凡是按键所接的引脚全部为低电平,此时外部0中断低电平有效,外部0中断立即响应。当定时器0中断响应后,开始计时并向电动机发送PWM脉冲信号,经驱动器驱动后,电动10机就会牵引电梯做上升或者下降运动,数码管收到单片机的控制信号后就会显示楼层的同步变化,相应的上升、下降指示灯会有所指示。图3.2电梯处于上行中,经过三楼,上行指示灯亮解析:如图3.2所示,电梯在四楼及以上有响应,经过三楼,上升指示灯亮。按键按下后,外部0中断立即响应,去执行外部0中断服务子程序。当定时器T0开始计数时,并向电动机发送PWM脉冲信号,经驱动器驱动后,此时电机正转,就会牵引电梯做上升运动,电梯经过三楼,数码管同步显示3楼,上升指示灯亮,下降指示灯灭。11图3.3电梯处于下行中,经过四楼,下行指示灯亮解析:如图3.3所示,电梯可能没有响应,在四楼以上停了5s就返回一楼,或者是在四楼以下有响应,执行外部0中断服务子程序。当定时器T0开始计数时,并向电动机发送PWM脉冲信号,经驱动器驱动后,此时电机反转,就会牵引电梯做下降运动,电梯下行,经过四楼,数码管同步显示4楼,上升指示灯灭,下降指示灯亮。4.电路安装与调试4.1电路的安装电路的安装调试过程是一个比较复杂且耗时间的过程,首先要确定器件的型号,选择器件型号除了要考虑机器设备、电压、电流外,还要考虑经济实用及美观问题。所有的器件都备好后,接下来就是安装,主电路等都安装在控制柜内,这就要考虑相互干扰的问题,按钮,指示灯或数码显示也按照原理图接线,所有的元器件都按照一定的编号安装好后,12确保无误。4.2电路的调试4.2.1单指令运行调试单指令运行调试是一种最简单的调试方法,检查所设计的程序在完成其最简单的控制功能时是否会发生错误。单指令运行调试的具体内容如下:假定