摘 要
现代的日常生活中,电梯已经成为最为常见的工具。一个可以正常运转的电梯,它的控制器一定是最重要的。所以选择一个合适而又合理的控制器,不仅可以提高电梯正常运行的安全系数,还可以提高乘坐人员的舒适度。目前电梯的控制器基本上都是继电器控制器和PLC控制器。这些产品存在着成本费用高、维护成本高、使用寿命短等各种缺陷。因此本次设计选择采用单片机作为电梯的控制器。
本文使用了STC89C52作为芯片。楼层的选择用按键来操作,楼层的显示选择用数码管来表示,上行和下行的运动状态用LED灯组成的箭头来表示。步进电机的正反转来模拟电梯的上行、下行。红外发射和接收模块用来实现防夹功能。这次设计主要是将在所学的知识进行实际运用。并利用C语言编程,使其系统具有更强大的稳定性和可控性,方便日后的进行程序修改。
结果表明,采用单片机编程是最优的解决方案,价格便宜、性价比较高、具备容易升级及维修的特点,并有更好的推广价值。
关键词:控制器;单片机;电梯控制系统
1 总体方案设计
本系统采用STC89C52单片机来控制总体。因为不同的乘客需要去到的楼层是不一样的,所以要按下不同楼层的按键才能满足用户到达目的楼层需求[4]。而且,当按下一个实际中的操控按键时,那么就会有一个二极管进行发光工作,与此同时也会有楼层数进行显示,这些楼层数的显示是由数码管来表示出来的,这些可以表示出来的现象都是由芯片进行操控与控制的。它们之间的连接框图如下所示。如图1.1所示:
图1.1总体框图
2 硬件电路的设计
2.1 主控制模块
本系统采用STC89C52为主控芯片。这是一种能耗低同时内部存储量大的芯片,它的引脚可以与我们这次系统中其他产品进行完美融合,同时它也具有可自主编程的能力,使得它在众多的研究和课题中都得到了广泛的应用。
2.1.1 STC89C52单片机的介绍
STC89C52有两种封装形式。在本设计中采用直插式的DIP40的封装,这种封装的好处就是当遇到高温的时候可以防止芯片被高温所损害,STC89C52一共具有40只引脚,其中有32只引脚可以用来控制[14]。
2.1.2 单片机引脚的说明
VCC(40引脚):作用是电源电压
VSS(20引脚):作用是接地
P0口:为8位准双向接口,它的每一个接口都具有双向输入和输出功能,它可以一共启动四个负载。
P1口:为8位准双向接口,它的每一个接口都具有双向输入和输出功能,它可以一共启动四个负载。
P2口:为8位准双向接口,当它为接口的时候,可以通过它连接外部的设备。
P3口:为8位准双向接口,同时它还可以将用于第二个功能中体现。XTAL1:这是振荡器的反向接入口,也是内部时钟输入的端口。
XTAL2:输出端。
各引脚图如2.1所示:
图2.1单片机引脚图
2.2 单片机的最小系统
主芯片、复位电路、还有晶振产生的电路这三者共同组成了单片机当中的最小系统。该系统中的晶振,与电容相连接,连接的方式是并联,产生的脉冲信号输入到单片机中。复位电路的作用是给系统产生清楚零的信号。RP1为排阻,作为P0端的上拉电阻,接此原因是P0端口是由OC门组成[15]。如图2.2所示。
图2.2单片机最小系统
3 系统软件设计方案
3.1 主程序
在进行主程序编程时用到的程序语言为C语言,输入到计算机之内,然后由各个接口将程序依次传输到各个设备内。主程序的作用主要是可以调动其他的程序,同时也可以产生一个优先级的作用,在所有系统中为第一级。
#include <reg52.h> //调用单片机头文件
#define uchar unsigned char //无符号字符型 宏定义 变量范围0~255
#define uint unsigned int //无符号整型 宏定义 变量范围0~65535
//数码管段选定义 0 1 2 3 4 5 6 7 8 9
uchar code smg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0xdf,0xdb}; //断码
bit flag_100ms,flag_1s;
bit flag_stop = 1; //用做到了相应的楼停下
sbit hw = P0^5; //红外防夹传感器
sbit beep = P2^6; //蜂鸣器
sbit xia = P2^0;
sbit zhong = P2^1;
sbit shang = P2^2;
uchar value2;
uchar flag_start ; //启动标志位 1为起动步进电机 否则关闭电机
uchar flag_z_f; //正反标志位 0为顺时钟 1为逆时史上转
sbit led1 = P1^7; //8个发光二极管定义
sbit led2 = P1^6;
sbit led3 = P1^5;
sbit led4 = P1^4;
sbit led5 = P1^3;
sbit led6 = P1^2;
sbit led7 = P1^1;
sbit led8 = P1^0;
sbit dj1 = P2^7; //电机IO口定义
sbit dj2 = P2^5; //电机IO口定义
sbit dj3 = P2^4; //电机IO口定义
sbit dj4 = P2^3; //电机IO口定义
uchar dt_1; //1楼电梯标志位
uchar dt_2; //2楼电梯标志位
uchar dt_3; //3楼电梯标志位
uchar dt_4; //4楼电梯标志位
uchar dt_5; //5楼电梯标志位
uchar dt_6; //6楼电梯标志位
uchar dt_7; //7楼电梯标志位
uchar dt_8; //8楼电梯标志位
uchar dt_value = 1; //电梯到哪一层的变量
uchar dt_s_x ; //电梯上下的标志位
void Delay(unsigned int i)//延时
{
while(–i);
}
3.2 主程序流程图
主程序由若干个子程序而构成,这些子程序包括各种各样的功能。主程序流程如图3.1所示。
图3.1主程序流程图
4 系统的安装与调试
4.1 安装步骤
(1)检查元件的好坏
首先我们将买到的元器件拿在桌面上进行一一检查的目的就是看这些元器件是否可以正常的工作有没有损坏。如果发现有损坏,那么就要及时更换。
(2)放置、焊接各元件
首先按照原理图将各个元器件进行安装和摆放,接下来对这些元器件进行焊接,先焊接较低的元器件在焊接较高的元器件,最后焊接那些比较容易坏的元器件,焊接芯片时要控制时间,以免电焊的温度将芯片所损坏。焊接好的成品如图4.1所示。
图4.1元器件的焊接
4.2 硬件调试
硬件调试顾名思义就是我们所焊接的成品,对他们进行测试。我所采用的方式就是用所需要的仪器进行测试。
分为两部分,一部分是静态测试,一部分是动态测试。当成品没有工作的时候,我们通过肉眼首先来观察一下是否有短路的情况产生。其次我们用万用表来对各个零部件进行检测,观察是否有短路的情况产生。动态测试就是在成品正常工作的状态下,我们观察是否有短路的情况产生,是否有异常的状况发生,是否有停止工作的状态。检测的方法有多种多样,我们可以到网上进行查询整理。当发现有故障时,哪一个部分有故障,我们就将这个部分的元器件取出进行修理,更换和调试。如图4.2所示。
图4.2硬件调试图
结 论
本文主要介绍了电梯的控制系统模拟,在本次设计中模拟了一个具有八层楼高的住宅电梯正常运行的模式,因为是模拟所以一些显示的器具就用硬件来进行代替。
本次设计的系统硬件由单片机、数码管、红外线接收装发射置等硬件设备共同组成。这些硬件设备具有价格低廉,使用可靠的特点,组合以后,可以完美的模拟正常电梯在运行状态中出现的各种各样情况。同时,在软件方面,采用的是C语言编程,C语言编程具有简单、实用、可靠等诸多方面的作用。
与此同时,在最后的实物制作环节中,基本的功能可以实现,但是在工作运行的过程中,长时间运用以后,还是有一些问题存在,比如指示灯会不亮,步进电动机会停止间歇性停止运动,这些问题的存在是因为没有考虑到元件的使用寿命,这是一个很严重的问题,因为电梯是一个载人工具存在安全隐患,因此在实际的设计中应该定期检查和维修电梯,减少安全隐患,减少危险事故发生。
文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。