陈雨飞 何汪洋 王晨光(江苏大学,江苏 镇江212013)
该系统以单片机为核心,通过汇编语言来实现软件部分的中断方式的设置,检测,步进电机的控制以及电梯的按键显示信息等,如图1 我们可以看到,在硬件系统,以步进电机模块,内外电路模块,控制台模块,显示器模块构成。其中步进电机是驱动电梯的核心,通过步进电机的正反转能够实现对电梯的升降控制;内外电路模块是电梯外用户通过按键请求,将请求信息发送给单片机,单片机在通过步进电机来实现电梯的升降到达目标楼层;控制台模块使用发光二极管作为电源指示灯以显示供电是否正常;显示器模块能够完成电梯的实时楼层以及上升和下降的显示。
图1 模型设计图
单片机最小系统,顾名思义是指单片机在保证基本运行要求下去除其他所有非主要功能的最小结构,相当于单片机系统的骨架构成,一般包含三个部分,分别是电源电路、晶振电路(时钟电路)、复位电路。以本文研究所采用的AT89C51 单片机为例,其是由两个30p 的瓷片电容和12MHZ 的晶体振荡器构成了晶振时钟电路,再通过电容与RE-SET 按键构成了上电复位与手动复位电路。
步进电机是现代广泛应用的程序执行元件,在本文的电梯模拟控制系统中用作驱动装置,同时也充当部分的模拟效果器。通过步进电机可以对模拟系统中的电梯轿厢进行运转控制,步进电机的正转、反转分别对应电梯的上下停止等操作。
显示模块是电梯模拟控制系统中的关键内容,本文设计通过数码管来模拟电梯的楼层位置显示效果。系统内部以CD4511七段码译码器驱动数码管,对外显示数字对应电梯所在位置,增减变化对应电梯升降方向,实时模拟电梯的运行状态。
控制台模块是电梯模拟系统的操作中枢,下联内外电路,上连各块应用。具体功用是通过电梯按钮控制模拟电梯的运行,不同的操作信号对应电梯的不同反应,包括各级楼层的召唤、上行下行的判断、开门闭门的命令。
内外电路的设计与控制台模块共同构成模拟电梯的控制系统。控制台模块已在上述说明,但所有效果最后还是通过内外电路设计实现的。模拟电梯的外电路负责实现各级楼层的外部操作,内电路则负责实现轿厢内部操作。即在模拟操作实验时,控制台的各楼层召唤键均与单片机的P1 口连接,由P1 口读到的楼层电梯操作会集合到系统中枢,依次解决,同时系统搭配的发光二极管会与P0 口连接,发光指示。相应的,控制台的轿厢控制键也均与单片机的P3 口连接,由P3 口读到的轿厢控制操作会实时传到系统中枢并及时响应,同样搭配的发光二极管则与P2 口连接,反映效果。
这一部分使用C51 语言来完成,其中所包含的主要功能有:按键查询,楼层选择,串口通信。中断方式选择了按键查询,其他部分如数码管的显示,步进电机的控制,按键响应,延时程序等均由其子程序来完成。使用模块化的分层设计思想,将一个复杂的功能拆分成多个子函数来实现,通过调用不同的函数来实现其综合目的,也便于日后的调试和修改。软件设计流程图如图2 所示。
图2 软件设计流程图
本系统中,键盘才用独立式按键,因为要模拟4 层电梯,所以按键由P3.0~P3.3 来控制,定时器T1 来进行不断监听,当有按键按下时,进入中断状态,转入响应的子函数
在本电梯模型当中,其功能按键分别有1-4 楼,上行按钮,下行按钮,上电按钮,掉电按钮。上电之后系统处于等待状态,此时默认状态为1 楼。在8 位数码管显示屏上,高4 位是乘客等待电梯的楼层,低4 位显示的是电梯目前所在楼层。当上行按钮或下行按钮由乘客按下之后,进入楼层检测子函数,若等待层数R1=所处层数R2,蜂鸣器响起,电梯门打开。若R1不等于R2,调用比较函数,使其相等。在电梯的运行过程中,由楼层检测器来检测电梯是否通过本楼层,当上行通过时R2 自增1,反之,则自减1。如果按下掉电按钮,系统则强制进入检修状态,此时强制电梯直接下到1 楼,其他按钮无法产生中断响应。直到再次按动上电按钮电梯重新恢复工作。
本电梯模型通过RS232 串口实现上位机与单片机之间的连接,当乘客按下上行或者下行按钮时,单片机向上位计算机发送请求信号,当上位机收到信号之后,将系统的运行信息发送给单片机。RS232 串口所使用三根线,2 端连接接收端,3 端连接发送端,5 端接地,通过RS232 与TTL 的电平转换,实现基于单片机的电梯控制系统的串行通信。
由于再实际操作过程中存在着各种各样的干扰,使得其再运行过程中存在着误差,在单片机与上位计算机进行通信的时候,发送信号对信号接收端存在着一定的影响,干扰了其正常工作,另外一点是由于本系统设计是基于硬件的,并不能排除元器件的损坏与老化问题,需要定期的进行检查与维护,使得每一个功能模块都能实现各自的基本功能。
本文介绍了以单片机为核心的电梯控制系统,该系统通过步进电机模块,内外电路模块,控制台模块,显示器模块组成的硬件系统来实现由用户通过按键请求,单片机内部接受请求,再由步进电机控制电梯的升降功能,软件部分则是通过汇编语言来实现系统的初始化,中断检测,数码管的显示,按键响应等功能。经试验,该系统能够顺利完成电梯控制的运行,且多次试验,并没有失败经历,在速度和安全方面具有不俗的表现,而且由于该系统是分模块组成的,便于维护和修理,可靠性高。总之,该电梯控制模型的设计可操作性高,能够实现现实生活中人们对电梯使用的大部分需求。