基于单片机三层电梯控制器的设计.docx

上传人:b****5 文档编号:8674373 上传时间:2023-02-01 格式:DOCX 页数:21 大小:302.50KB
下载 相关 举报
基于单片机三层电梯控制器的设计.docx_第1页
第1页 / 共21页
基于单片机三层电梯控制器的设计.docx_第2页
第2页 / 共21页
基于单片机三层电梯控制器的设计.docx_第3页
第3页 / 共21页
基于单片机三层电梯控制器的设计.docx_第4页
第4页 / 共21页
基于单片机三层电梯控制器的设计.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

基于单片机三层电梯控制器的设计.docx

《基于单片机三层电梯控制器的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机三层电梯控制器的设计.docx(21页珍藏版)》请在冰豆网上搜索。

基于单片机三层电梯控制器的设计.docx

基于单片机三层电梯控制器的设计

诚信承诺书

本人郑重承诺和声明:

我承诺在毕业论文撰写过程中遵守学校有关规定,恪守学术规范,此毕业设计中均系本人在指导教师指导下独立完成,没有剽窃、抄袭他人的学术观点、思想和成果,没有篡改研究数据,凡涉及其他作者的观点和材料,均作了注释,如有违规行为发生,我愿意承担一切责任,接受学校的处理,并且承担相应的法律责任。

 

毕业设计作者签名:

年月日

摘要

电梯是现代生活中重要的交通运输工具,是集自动控制原理、机械原理应用、电气控制技术、微处理器技术、系统工程学等多学科和技术分支于一体的机电设备。

本设计选用STC89C52单片机为核心控制元件,设计一个三层电梯控制系统,使用C语言进行编程,实现运送乘客到任意楼层,显示电梯当前楼层及上下行等基本功能。

利用单片机设计电梯控制系统,具有通用性强,灵活性大、成本低及易于实现复杂控制等优点。

由于其系统实现的功能简单,因此具有一定的可扩展性。

关键词:

电梯、STC89C52、控制系统

 

ABSTRACT

Elevatorisaimportanttransportofdailylife,thatapplicationoftheprinciplesetmachinery,electricalconrtltechnology,microprocessortechnology,systemsengineeringanothertechnicaldisiplinesandbranchesoftheintegrationofmechanicalandelectricaequipment.

ThispaperchoicesSTC89C52controlofthecorecomponents,designedanew3storeyliftsystems,usingClanguageprogramming,transportingpassengersarrivedafloor,italsoshowstheelevatorflooranddownlinkSCMcontrorselevatorlowcost,versatilityandflexibilityandeaseoflargecomplexcontroladvantages.Becauseofthefunctionofthesystemissimple,soithascertainscalality.

Keywords:

Elevator、STC89C52、controllersystem

 

第一章绪论

1.1课题研究的意义及目的

随着城市化进程的不断加快,高层建筑已不知不觉地进入了我们的生活中,然而电梯便成了这个时代的必需品。

因为电梯的高效、方便、快捷,所以电梯受到了大家的热烈欢迎。

电梯已被应用于宾馆、饭店、办公大楼、商场、娱乐场所、仓库以及居民住宅大楼等。

未来的社会发展趋势是城镇与城市渐渐融合,相互影响。

电梯的应用将会不断拓展,款式将各种各样,其目的就是为了满足人们的多种多样的需求。

随着科技的不断进步,经济的深入发展,科技将引领电梯进行质的飞跃,电梯将越来越智能化,越来越安全稳定。

电梯将是现代人不可或缺的代步工具。

本次设计的目的是为了对四年来所学的专业知识做一个系统的贯穿,把所学知识应用于实际当中。

掌握如何利用单片机控制LED动态显示及C语言程序对硬件部分的控制。

由可编程控制器(PLC)或微型计算机组成的电梯运行逻辑控制系统,正以很快的速度发展着。

可编程控制器,是微机技术与继电器常规控制技术相结合的产物,是在顺序控制器和微机控制器的基础上发展起来的新型控制器,是一种以微处理器为核心用作数字控制的专用计算机,它有良好的抗干扰性能,适应很多工业控制现场的恶劣环境,所以现在的电梯控制系统主要还是由可编程控制器控制。

但是由于PLC的针对性较强,每一台PLC都是根据一个设备而设计的,所以价格较昂贵。

而单片机价格相当便宜,如果在抗干扰功能上有所提高的话完全可以代替PLC实现对工控设备的控制。

当然单片机并不象PLC那么有针对性,所以由单片机设计的控制系统可以随着设备的更新而不断修改完善,更完美的实现设备的升级。

在科技的不断发展下,单片机控制系统很快可以解决抗扰性,成为方便有效的电梯控制系统。

1.2课题研究方向

早期的电梯系统一般是采用继电器和PLC系统控制,由于PLC的针对性强,所以对于设备的改进和扩充都比较困难,势必造成资源的浪费,不符合可持续发展的时代潮流。

所以本课题的研究将朝着资源可持续利用的方向进行,单片机价格便宜并且运用灵活,可以通过C语言编程对其控制,实现设备的改进和扩充,C语言编程简单,开发周期短,使得设备更新换代快,提供给人们更加方便舒适的生活,所以利用单片机实现对电梯设备的控制是本次课题研究的方向。

本文主要研究内容有以下几个方面:

1、将电梯控制功能分为若干模块,用不同控制器完成各部分特定的功能

2、分析电梯运行的特性,设计以STC89C52为核心控制器即电梯控制器。

3、研究设计电梯实现的各种功能及软件说明

4、实现功能调试。

1.3总体设计要求及设计方案

设计一个自动电梯模拟升降控制系统,通过乘客的自行按键达到电梯的升降功能。

结合硬件与软件对应。

端口P0.0-0.6用来控制LED灯的亮与灭,其中从低位到高位分别为一层灯,二层灯,三层灯(前述三个信号为电梯内请求信号,乘客在电梯内部方可置为有效),一层上灯,二层上灯,二层下灯,三层下灯(上述四个信号为电梯外部信号,乘客在电梯外部方可置为有效)P2口与键盘对应连接,数码管采用串行输入方式,键盘从低位到高位分别为一层按键,二层按键,三层按键,一层上升按键,二层上升按键,二层下降按键,三层下降按键.P1.0与数码管的时钟输入端相连,P1.1与数码管的串行口相连,用来显示电梯的上升下降和当前所在楼层,电梯门是否开启三种状态。

电梯是根据外部呼叫信号(呼梯信号)以及自身控制规律等运行的,而呼叫是随机的,电梯实际上是一个人机交互式的控制系统,单纯用顺序控制或逻辑控制是不能满足控制要求的,因此,大部分电梯控制系统都采用随机逻辑方式控制。

在目前广泛使用的电梯控制系统中,绝大多数为继电器控制型,所有的逻辑及控制关系完全由诸多继电器互相配合来完成,该控制系统的缺点是:

(1)随着楼层的增高,使用继电器的数量越来越多,造价和体积也越来越大;

(2)继电器这种触点式的电控元器件不宜长时间频繁工作,因而采用在电梯系统当中常发生触电表面烧结、控制失灵的故障。

因此我们设计一个3层自动电梯模拟升降控制系统,通过乘客的自行按键达到升降功能。

采用单片机作为控制核心进行仿真。

单片机不像PLC那么有针对性,利用单片机设计的控制系统可以随着设备的更新而不断修改完善,更完美的实现设备的升级,减少元器件的浪费,实现绿色环保。

并且单片机价格较低,大大减低成本,将更能适应可持续发展的大环境。

本次设计是应用STC89C52芯片进行设计制作的模拟电梯控制系统,通过乘客的按键达到对电梯升降的控制,并且模拟电梯的运行状态。

在设计方案中,通过对各个P口的合理安排和统一协调,通过按键、和LED数码管来实现对设计方案的仿真演示。

另外在实验程序中通过对不同按键键码在功能上的分配,在按键按下之后使CPU做相应的工作,即LED数码管显示与之相应的楼层和使彩灯显示相应的电梯状态。

最后,结合PCB板的实际接线情况进行编程。

使实验顺利完成。

第二章电梯的概述

电梯是一种以电动机为动力的垂直升降机,用于多层建筑乘人或载运货物。

也有台阶式,踏步板装在履带上连续运行,俗称自动扶梯或自动人行道。

服务于规定楼层的固定式升降设备。

2.1电梯的发展史

科技在发展,电梯也在进步。

电梯的材质、样式,功能都在发生着变化。

一个半世纪的风风雨雨,翻天覆地的是历史的变迁,永恒不变的是电梯提升人们生活质量的承诺。

100多年来,电梯的发展经历了几个阶段:

1853年9月20日,在纽约的杨克斯先生在一家破产公司办起了自己的车间,奥的斯电梯公司由此产生;1862年,奥的斯公司采用单独蒸汽机控制的升降机问世;1902年,瑞士迅达电梯公司开发了自动按钮控制的乘客电梯;1076年,日本富士达公司开发了直流无齿轮拽引电梯;1985年,三菱电机公司研制出曲线运行的螺旋形自动扶梯,已成功投入生产[2]。

2.2电梯的发展方向

21世纪将会发展多用途,全功能的塔式建筑,超高速电梯继续成为研究方向。

除了拽引式电梯外,直线电动机驱动电梯也有较大研究空间。

随着计算机技术,通讯技术与控制技术的发展使大厦的智能化成为现实,而电梯是智能建筑中重要的交通工具。

从电梯运行的控制智能化角度讲,要求电梯有优质的服务。

未来电梯的发展方向:

系统将更加智能化;电梯的运行速度也会越来越高;蓝牙技术是一种全球开放的,短距无线通讯技术,也将应用于电梯设备之中,把电梯的各种电子设备连接起来,无需纵横交错的电缆线;绿色环保一直是全世界关注的问题,绿色电梯要求电梯成本低,污染小,噪声低,寿命长,太阳能作为电梯的补充能源将是电梯的重要研究方向;科技不断在进步,相信未来电梯设备将会更好的服务于人类。

第三章硬件设计

3.1系统方案分析

设计一个自动电梯模拟升降控制系统。

本设计是应用STC89C52芯片进行设计制作的模拟电梯控制系统,通过乘客的按键达到对电梯升降的控制,并且模拟电梯的运行状态。

在实验程序中通过对不同按键键码在功能上的分配,在按键按下之后使CPU做相应的工作,即LED数码管显示与之相应的楼层和使彩灯显示相应的电梯状态。

最后,结合PCB板的实际接线情况进行编程。

使实验顺利完成。

根据电梯控制的要求,可将本系统分为三个模块,第一模块是控制模块,主要负责整个系统的控制,从而使各模块正常工作,第二个模块式LED和数码管显示模块;第三是电源模块,给各模块提供电源,让各模块工作;第四是电机模块,正反转控制电梯的上下。

其系统功能设计结构如图:

数据信号

 

图3.1总体功能结构框图

本系统采用一个STC89C52芯片,一个由64个发光二极管组成的8*8点阵,一个102排阻,两个30pf电容和一个10uf电容,一个10k电阻,一个12mHz晶体振荡器,一个自锁开关和4个按键,用红色发光二极管组成的箭头和数字来显示当前电梯处于上升状态还是下降状态及当前所处的楼层。

根据系统的原理框图,分别分析各部分电路的元器件的功能以及选择合适的元件。

具体设计思路如下:

收集并整理资料,硬件设计,软件设计,Proteus仿真,做出实物,设计体会与总结。

3.2硬件系统

单片机最小系统

STC89C52单片机

Protues下的STC89C52引脚图:

图3.2STC89C52引脚图

引脚说明:

       ①电源引脚

         Vcc(40脚):

典型值+5V。

         Vss(20脚):

接低电平。

       ②外部晶振

     X1、X2分别与晶体两端相连接。

当采用外部时钟信号时,X2接振荡信号,X1接地

       ③输入输出口引脚:

         P0口:

I/O双向口。

作输入口时,应先软件置“1”。

         P1口:

I/O双向口。

作输入口时,应先软件置“1”。

         P2口:

I/O双向口。

作输入口时,应先软件置“1”。

         P3口:

I/O双向口。

作输入口时,应先软件置“1”。

       ④控制引脚:

         RST/Vpd、ALE/-PROG、-PSEN、-EA/Vpp组成了MSC-51的控制总线。

         RST/Vpd(9脚):

复位信号输入端(高电平有效)。

         第二功能:

加+5V备用电源,可以实现掉电保护RAM信息不丢失。

         ALE/-PROG(30脚):

地址锁存信号输出端。

         第二功能:

编程脉冲输入。

         -PSEN(29脚):

外部程序存储器读选通信号。

         -EA/Vpp(31脚):

外部程序存储器使能端。

时钟电路

图3.3时钟电路(晶振)

XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。

内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。

晶振的频率可以在1MHz-24MHz内选择。

电容取30PF左右。

系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。

AT89单片机内部有一个用于构成振荡器的高增益反相放大器。

引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。

这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。

外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。

对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。

因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为22μF。

在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。

复位电路

在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。

复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。

当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。

复位是由外部的复位电路来实现的。

片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。

复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路。

当时钟频率选用6MHz时,C取22μF,Rs约为200Ω,Rk约为1K。

复位操作不会对内部RAM有所影响。

本设计采用的复位电路如下图所示:

图3.4复位电路图

显示模块

本系统采用一个8*8的点阵,是由64个发光二极管组成,通过红色的发光二极管组成不同的图案来判断电梯处于上升状态还是下降状态及所处楼层。

图3.5显示电路

按键模块

方案一:

由于本系统设计需要用较多的单片机接口,所以需要扩展I/O口,在这里采用74LS373芯片进行I/O口扩展,虽然可以达到预期的目的但是增加了电路的复杂性,不可靠因素增加。

方案二:

采用4×4矩阵键盘,通过逐行扫描,不断检测是否有按键按下而引起电平的改变并把信息传送到单片机从而做出动作来响应用户的请求,这样设计简单实用。

综上分析,选择方案二。

电机模块

方案一:

采用步进电机作为本设计的执行元件,步进电机在定位性能方面十分优越。

步进电机和普通电机的区别主要就在于其脉冲驱动的形式,步进电机不需要A/D转换,能够直接将数字脉冲信号转化成为角位移。

在应用中,步进电机可以同时完成两个工作,其一是传递转矩,其二是传递信息,升降精度很高。

方案二:

采用直流电机作为本设计的执行元件,直流电机工作是让线圈始终交替地处于稳定状态和非稳定平衡状态,通过控制电流的方向可以实现电机的正反转。

直流电机在高起动转矩、大转矩、低惯量的系统中经常使用到。

由于此系统电机要带的的负载较大,对升降精度要求不是很高,所以采用方案二。

第四章软件设计

本设计采用C语言来编写程序,编程及调试简单,C语言是在国内外广泛使用的一种计算机语言,也是一种结构化语言。

它层次清晰,便于按模块化方式组织程序,易于调试和维护。

C语言的表现能力和处理能力极强。

它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。

由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。

既可用于系统软件的开发,也适合于应用软件的开发。

此外,C语言还具有效率高,可移植性强等特点。

本设计采用C语言来编写程序,编程及调试简单,大大缩短开发周期;而且软件可读性强,便于改进和扩充,生成目标代码质量高,程序执行效率高。

C语言有一个突出的优点就是适合于多种操作系统,使得运用比较灵活。

4.1软硬件开发环境

4.1.1STC89C52程序开发软件keil

单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。

机器汇编是通过汇编软件将源程序变为机器码,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。

Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。

运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。

掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的。

KeilC51软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM语言和C语言的程序设计,界面友好,易学易用。

4.1.2proteus硬件仿真软件

Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

它是目前最好的仿真单片机及外围器件的工具。

虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一设计平台,其处理器模型支持8051、HC11PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。

在编译方面,它也支持IAR、Keil和MPLAB等多种编译器Proteus软件具有其它EDA工具软件(例:

multisim)的功能。

这些功能是:

(1)原理布图

(2)PCB自动或人工布线(3)SPICE电路仿真革命性的特点

(1)互动的电路仿真用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。

(2)仿真处理器及其外围电路可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。

还可以直接在基于原理图的虚拟原型加上编程,再配合显示及输出,能看到运行后输入输出的效果。

配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。

4.2程序设计思路

首先,设计程序时必须得合理考虑按键的响应问题。

一段时间内可能有多个不同的按键有动作,程序必须记录每一个按键的动作,并根据电梯本身所处的楼层情况与按键楼层之间的位置关系,合理判断出电梯应当做出上升或下降的响应动作。

其次,电梯系统还有一个判断是否无人的情况。

即电梯到达某楼层后,其他楼层无按键动作,且电梯内也无楼层选择按键动作,那么就可以判断此时电梯内无人。

若电梯内无人,电梯应自动返回到1层等待。

然后,两个楼层之间应考虑有一段运行时间,而且也要设置在一个楼层的停留时间。

本设计中两个楼层之间的运行时间设为1s,每层停留时间设为5s。

当执行结束之前命令,进入定时0中断后,可利用此发送电动机PWM脉冲信号,经驱动器驱动后,直流电机正反转执行相应的动作指令。

另外,当电梯上升或者下降时,相应的状态指示灯应及时同步点亮[5]。

4.3程序流程图

本设计程序流程图主要包括主程序流程图、启动电梯子程序流程图、选择当前要去楼层子程序流程图。

程序流程图画法简单,结构清晰,逻辑性强,便于描述,容易理解。

通过不同的流程图来充分说明电梯控制器的运行方式及实现的功能。

1、设计所实现的功能有:

⑴初始化程序使其显示为零,其他处于等待工作状态。

⑵主程序主要功能有:

①判断电梯所在的位置,根据呼叫和选层情况决定电梯的运行。

②判断电梯所在楼层并进行相应显示。

③根据操作需要进行开关门的控制。

2、软件流程图如下:

 

图4.1主程序流程图

本程序设计一个自动电梯模拟升降控制系统,通过乘客的自行按键达到电梯的升降功能。

结合硬件与软件对应。

STC89C52芯片自带看门口功能,防止程序跑飞。

在喂狗没问题的前提下,功能程序正常运行。

端口P0.0-0.6用来控制LED灯的亮与灭,其中从低位到高位分别为一层灯,二层灯,三层灯(前述三个信号为电梯内请求信号,乘客在电梯内部方可置为有效),一层上灯,二层上灯,二层下灯,三层下灯(上述四个信号为电梯外部信号,乘客在电梯外部方可置为有效)P2口与键盘对应连接,数码管采用串行输入方式,键盘从低位到高位分别为一层按键,二层按键,三层按键,一层上升按键,二层上升按键,二层下降按键,三层下降按键.P1.0与数码管的时钟输入端相连,P1.1与数码管的串行口相连,用来显示电梯的上升下降和当前所在楼层,电梯门是否开启三种状态。

4.4程序设计

采用C语言通过对每个模块编写程序,简单易于理解,并且刷记录清晰,让人一目了然。

包括显示模块、系统延时、定时器模块,最后是主函数调用。

4.4.1端口初始化设计

#include

#defineucharunsignedchar//宏定义

#defineuintunsignedint//宏定义

基础定义

ucharm=0,n=0;

ucharo,p,d;

uchartime=0;

voidinit()//端口初始化

{

P0=0xff;

P1=0xf8;

P2=table[lc];

P3=0x00;

}

4.4.2显示模块程序设计

通过对8*8LED点阵屏仿电梯数字滚动系统的设计,模拟电梯显示屏上下滚动显示楼层数及上下运行状态的效果,当目标楼层大于当前楼层时,将向上滚动显示,反之向下滚动显示。

#include

#defineucharunsignedchar//宏定义

#defineuintunsignedint//宏定义

基础定义

ucharm=0,n=0;

ucharo,p,d;

uchartime=0;

ucharcodetaba[]={

0xff,0xef,0xef,0xef,0xab,0xc7,0xef,0xff};//编码定义

ucharcodetab1[]={

0xff,0xef,0xcf,0xef,0xef,0xef,0xef,0xc7};//编码定义

ucharcodetab2[]={

0xff,0xc7,0xbb,0xfb,0xf7,0xcf,0xbf,0x83};//编码定义

ucharcodetab3[]={

0xff,0xc7,0xbb,0x

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1