本科毕业设计基于单片机的电梯自动控制系统设计与实现.doc

上传人:laozhun 文档编号:3945371 上传时间:2023-03-28 格式:DOC 页数:37 大小:841KB
返回 下载 相关 举报
本科毕业设计基于单片机的电梯自动控制系统设计与实现.doc_第1页
第1页 / 共37页
本科毕业设计基于单片机的电梯自动控制系统设计与实现.doc_第2页
第2页 / 共37页
本科毕业设计基于单片机的电梯自动控制系统设计与实现.doc_第3页
第3页 / 共37页
本科毕业设计基于单片机的电梯自动控制系统设计与实现.doc_第4页
第4页 / 共37页
本科毕业设计基于单片机的电梯自动控制系统设计与实现.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《本科毕业设计基于单片机的电梯自动控制系统设计与实现.doc》由会员分享,可在线阅读,更多相关《本科毕业设计基于单片机的电梯自动控制系统设计与实现.doc(37页珍藏版)》请在三一办公上搜索。

1、大连东软信息学院本科毕业设计(论文)论文题目:基于单片机的电梯自动控制系统设计与实现系 所: 电子工程系 专 业: 电子信息工程(嵌入式系统工程方向) 学生姓名: 徐明 学生学号: 09160400224 指导教师: 宋夕政 导师职称: 讲师 完成日期: 2013年 5月2日 大连东软信息学院Dalian Neusoft University of Information基于单片机的电梯自动控制系统设计与实现摘 要在现代社会中,电梯已经成为人类必不可少的垂直运输交通工具。但是很多的电梯还依旧是直上直下式的,不能够最快捷的到达所选楼层,这样很不方便,且浪费资源。为了改善电梯运行的模式,本设计利用

2、89C51单片机为核心,配合外围电路来组成的电梯自动控制系统。通过对各楼层的按键检测,按照程序设定的模式,发出对LED及数码管的调节,从而控制步进电机的运转来带动电梯模型来实现电梯的上下行。本文主要介绍电梯自动控制系统的关键技术点,系统需求分析,系统的设计与实现,详细的说明了本系统的组成原理及工作原理。关键词:单片机,步进电机,自动控制Design and Implementation of Automatic Control System of Elevator Based on MCUAbstractIn modern society, Elevator vertical transpor

3、tation has become essential to human transport. But lots of elevators are still straight up and down.It couldt be the quickest to reach the selected floor, so inconvenient and a waste of resources.In order to improve the elevator operation mode, this design uses 89C51 microcontroller as the core, th

4、e automatic control system of the elevator with the external circuit to form. The floor buttons detection, in accordance with the procedures set out in the model, and digital tube LED regulation, so as to control the stepper motor operation to drive the elevator model to realize the up and down the

5、elevator.This article describes the elevator key technical points of the automatic control system, system requirements analysis, system design and implementation, detailed description of the principle of the system components and working principle.Key words: Single Chip Microcomputer, Stepper Motor,

6、 Auto-control目 录摘 要IABSTRACTII第1章绪 论11.1 课题研究背景与意义11.2 课题研究内容与方法11.3 课题研究现状1第2章关键技术介绍32.1 28BYJ-48步进电机的使用32.2 数码管的显示42.3 键盘接口技术5第3章系统需求分析73.1 系统设计目标73.2 系统功能需求73.3 系统开发环境83.4 系统可行性分析83.4.1 技术可行性83.4.2 经济可行性8第4章系统设计94.1 系统设计指导原则94.1.1先进性94.1.2可靠性及安全性94.2 体系结构设计94.3 硬件设计94.3.1 STC89C52RC 单片机94.3.2电机模块

7、设计114.3.3显示模块设计134.3.4按键模块设计144.3.4 LED灯电路设计144.3.5蜂鸣器电路设计154.4 软件设计154.4.1 主流程设计154.4.2 按键查询设计16第5章系统实现185.1环境配置185.2功能模块实现185.2.1楼层择优选择的实现185.2.2电机模块实现19第6章系统测试216.1 测试概述216.2 测试用例216.2.1 步进电机的运转时间216.2.2 按键测试22第7章结论23参考文献24致 谢25附录A26第1章绪 论1.1 课题研究背景与意义电梯是高层建筑最可靠,安全,直上直下的运载工具。对减轻劳动力及其强度都有着很大的作用。电梯

8、的应用范围极广泛,可以用在商场,写字楼,饭店,建设工地,学校,住宅,娱乐场所等等。在现代社会中,电梯已经成为人类必不可少的垂直运输交通工具。但是很多的电梯还依旧是直上直下式的,不能够最快捷的到达所选楼层,这样很不方便,且浪费资源。为了改善电梯运行的模式,本设计利用C51单片机来优化,节约用户宝贵的时间,同时在楼层选择时更加智能,没有人来选择时,电梯可以停在某一楼层,节约了大量的人力和物力,在当今资源日愈稀缺的环境下,此种做法是非常有必要的。1.2 课题研究内容与方法本课题主要研究内容是实现一个电梯的自动化控制与实现,通过用户对电梯层数的选择。让电梯做出一个最优的判断,高效高质量的完成电梯的上下

9、行任务。根据电梯的实际情况来考虑,最简单的电梯应具备按键,LED灯,数码管,电机,及传送装置。然后结合这些实物将其分成显示模块,键盘模块,电机模块,通过89C51芯片进行结合,然后完成电路图的设计与分析,进行软硬件的调试,从而达到预期的设计。1.3 课题研究现状在经济不断发展,科学技术日新月异的今天,楼的高度已经和经济科学技术发展一样迅猛的成长起来。一个国家的电梯需求总量,主要受到经济增长、人口密集度及数量、城市化水平高低、国家产业链的结构组成等诸多综合性因素的影响。在全球金融连续低迷走向的状况下,我们的人民经济水平却以极高的速值增长着。城市化的水平也不断地提高。这也致使我国的电梯业展现了繁华

10、的相貌,如今中国也成了世界上最大的供应电梯市场。作为楼房很重要的枢纽,电梯有着非常重要的作用。电梯作为楼房内的最重要运输工具,像其他的道路航空水路等交通工具一样,已经成为我们日常生活的不可或缺的重要组成部分。上世纪八十年代以来,随着经济的飞速发展。国家对电梯的需求量也逐渐加大。从1949年建国以来至今中国共生产安装了六十万多台的电梯。改革开放以来,大规模的开发建设为电梯产业带来了很重大的发展挑战,从而也达到了空前的发展。尽管如此,我国的电梯远未达到饱和的程度。2011年中国电梯的销产量大约在45万台。比2010年的增长约23%左右,电梯的存在量大概有195万台。即使政府在极力的控制房地产的开发

11、,从而出现了滞销的局面,也给电梯的销售蒙上了一层阴影。虽然有着诸多方面的影响,而且未来的电梯产业进展情况也不十分的明确,但还是会有一个上升的过程。现在电梯的适用人群对先进稳定、低成本的自动化产品的需求量越来越多。更多优秀的自动化产品也将会推进电梯行业的水平稳步上升。如此庞大的市场需求也为我国电梯行业的发展创造了广阔的大舞台。 第2章关键技术介绍本课题在设计的过程中,主要是用到了LED,按键,数码管,以及步进电机的同步。在选择多个楼层按键的时候,选择最佳的路线是本设计的关键技术。2.1 28BYJ-48步进电机的使用步进电机也称之为步进器。它利用了电磁学的原理,把电能转化成机械能。人们在二十世纪

12、20年代就开始使用这种步进电机了。无论是在工业上、军事上、医疗上、汽车上还是娱乐产业上,只要是需要把一个物体从一个地方移至另外一个地方,步进电机就可以派上用场。步进电机也有很多种形状及尺寸。但是无论形状和尺寸是怎样的,都始终能把步进电机归为两类,分别为可变磁阻的步进电机和永磁的步进电机。步进电机是一种可以让点脉冲转化成为角位移的执行机构。简单的说:当步进电机获取了一个脉冲信号,就会驱使步进电机以一个特定方向来转动一个固定角度。这样就可以按照控制脉冲的数目来操控角的位移量了。从而获得精准定位的目的。同时也能利用操控脉的冲频率来操控电机转动速度及加速度,来获得调整速度的目的。 通常电机的转子是一个

13、永磁体。当钉子被电流导通时,这个磁场会带动着转子转动一个角度,然后会使得转子的一对磁场方向与定子磁场的方向保持一致。当定子产生出的矢量磁场转动了一个角度。转子就会伴随着磁场来转动一个角度。每当输入到一个电的脉冲信号,电动机每转动了一个角度就会向前一步。如果改变了绕组所通电而来的顺序,电机就会发现反向转动。步进电机28BYJ-48型是一个四相八拍电机,电压为DC5VDC12V。它可以持续地产生转动,如果步进电机获得到了一个持续的脉冲时。当通电改变的状态完成一个循环的时候,转子就会转动过一个齿距。四相步进电机能够在多种类别的通电状态下运转。而常见的通电种类有单相(单相绕组通电)四拍(A-B-C-D

14、-A-B-C-D),双相(双相绕组通电)四拍(AB-BC-CD-DA-AB-BC-CD),八拍(A-AB-B-BC-C-CD-D-DA-A -AB-B-BC)。由于步进电机需要的驱动电流比较大,单片机是不能够直接驱动的,一般都是会使用ULN2003元件来驱动,当然了使用下拉电阻或者是三极管也是可以驱动步进电机的,只不过效果并不是特别的好,产生扭力会比较小。还有一个情况就是步进电机在低速时可以运转,当设置的速度太高就没有办法启动了,只能够听到响声,这是因为步进电机工作在空载的情况下能够正常的启动脉冲频率,但是当脉冲频率高于这个值时,电机就不能再正常启动了,而且可能出现丢步或不转的情况。如果是有着

15、负载的前提下,启动的频率就应该更低了。如果想要使电机能够达到一个高速的转动,脉冲所具有的频率应该要有一个加速的过程,也就是让启动的频率低一点,然后按照一定的加速度提升到了所预期的高频率上(电机的转速就会从低速变成到高速)。2.2 数码管的显示如果将数值1直接送到的I/O口时,数码管一定不会显示数字“1”。显然,如果想要在数码管上表现出来字符,把字符送至数码管的段选端是不行的,必须在段控制端送至对应的编码。数码管有共阴极和共阳极两种。将单片机P1口的八个引脚与数码管的a、bf、dp八个段控端制引脚依次相连接。如果是共阳极的接法,COM端接+5V。要显示数字“0”,则数码管的a、b、c、d、e、f

16、六个段应该被点亮,其它段将会熄灭,这时就应该向P1口传送数据11000000B(C0H),这就是与字符“0”相对应的共阳极字型编码。如果是共阴极的接法,数码管COM端接GND,要显示数字“1”,则数码管的b、c两个段应该被点亮,其他段将会熄灭,这时就应该向P1口传送数据00000110(06H),这就是与字符“1”相对应的共阴极字型编码。数码管如果想要正常的显示,就要驱动数码管的每一个段码。从而才能够得到我们想要得到字符,因此我们根据驱动方法的不同,可以把数码管的显示分成静态显示和动态显示两大类。动态显示:数码管的动态显示是单片机最广泛的显示方式之一。动态驱动数码管是将所有数码管的八个输出控制

17、端a,b,c,d,e,f,g,dp的同名端连到一起。另外用每一个数码管的公共极COM端来增加位选通道控制电路,位选通道是由单独的I/O口来操控的。当单片机输出字符的时候,每一个的数码管都会接收相同的字符,但是究竟哪一个数码管将会输出字符呢?这还要根据单片机对COM控制端的位选通道电路的进行操控。这样我们只用把想要显示的那一个数码管所在的选通控制端打开,该数码管就会显示出来字符,没有选通到的数码管也就不会被点亮。通过操控每一个数码管的COM口,使每一个数码管都能够依次的显示出来,这也就是动态的显示数码管。在轮流的显示输出过程里,每一位数码管所能够点亮的时间约为1-2ms,但是人们的视觉发生暂留情

18、况和发光二极管出现的余辉效应,尽管在实际上,各位的数码管都不是同一时间被点亮的,但是只要能够扫描的速度足够快速的话,人们看到的就会是一组非常稳定的显示字符,并不会有任何的闪烁感,而且动态显示的所表现效果和静态显示所表现的效果都是一样的,从而能够大量的节省I/O端口,使功耗更加的低。静态显示:数码管的静态显示也叫做直流驱动数码管。静态显示是通过控制I/O口来驱动段选码来显示字符的。当然静态显示的最大的优点就是编程十分的简单,而且显示的亮度很高,缺点就是所要占用的I/O端口太多,如驱动4个数码管的静态显示就需要4832根I/O口来驱动它,要知道一个89C51的单片机可用的I/O口一共也就是32个,

19、实际应用时是必须通过增加译码驱动器来进行驱动,这样也就增加了硬件电路的复杂性。2.3 键盘接口技术机械式按键被按下或者释放的时候,由于受到机械性弹性作用的影响下,通常会伴随着有一段时间的触点机械性抖动,然后触点才会慢慢的稳定下来。抖动时间的长短和开关的机械性弹性有关,一般为5-10 ms。在触点出现抖动的时候,检测按键的通和断的情况,就可能会出现判断错误。即按键的每一次释放或按下都有被错误地认定是很多次操控的可能性,这样的情况在开发的过程中不应该发生的。所以为了避免按键的触点发生的机械性抖动带来的的检测性错误判断,就必须用消除抖动的一些措施。这一点就可从硬件上和软件上两方面来考虑了。这样在键数

20、比较少的时候,可以采取硬件消抖的方式,但当键数较多的时候,就得要采用软件消抖的方式。在硬件方面上可以采用在按键的输出端加一个R-S触发器(即为双稳态的触发器)或者单稳态的触发器所构成消除抖动的电路。用软件来采取的措施是:当在测试下到有按键被按下的时候,会采用一个10 ms左右的延时程序(具体时间可以通过使用的按键来调节)。再确认这个按键的电平是否仍然持续着一个闭合的电平。若仍然持续着一个闭合的电平,则确认此按键这会正处在一个闭合着的情况下。同理所示,当按键被释放以后,也要采用相同的措施来确认,这样也可以去除抖动对开发的不利因素。键盘的一个完整的控制程序应该所具备以下的功能:(1) 检测有没有按

21、键被按下,应该采取软件或是硬件消抖的方式来避免不利的影响。(2) 有着可靠的逻辑性处理,每次只是处理了一个按键,其间会对任何其它按键的使用对系统也不会发生影响,而且无论到底一次按键的时间到底有多久,系统也仅会执行仅有一次的按键功能的程序。(3) 准确的输出按键值,以满足跳转指令要求。在单片机中如果只用为数不多的几个按键,就可以采用独立式的按键。独立按键是一个直接连接I/O口组成为的单独按键电路。其特点就是每一个按键会单独占用了一根I/O口,每一个按键的按下并不会影响到别的I/O口的状态。独立式的按键所配置的电路十分灵活,软件结构也很简单,但是每一个按键都必须占有一根I/O口,因此,在按键如果较

22、多的时候,I/O口就会浪费很大,所以不宜被采用。(2) 矩阵式的键盘I/O端线可以分之为行线和列线。按键的跨接是在行线上和列线上,按键按下的时候,行线和列线会产生电路短路。矩阵式的键盘特点:(1)占用I/O口比较少。(2)软件结构比较复杂。(3)适用在按键比较多的时候。键盘扫描的控制方式:(1)程序控制的扫描方式按键处理的程序是固定在主程序上的某一段程序。其特点是:对CPU工作比较影响小,但是应该考虑在键盘上处理程序的运行所用的间隔周期不要太长了,否则就会影响到对按键输入响应的及时性。(2)中断控制方式中断控制的方式是利用了外部中断源来响应按键输入的信号。特点:克服了前两种的控制方式可能产生的

23、空扫描以及不能够及时地响应按键输入的缺点,既能够及时处理按键的输入,又可以提高CPU运行的效率,但要占用一个十分宝贵的中断源。(3)定时控制的扫描方式利用定时器或计数器在每隔的一段时间产生一个定时中断,CPU响应中断以后对键盘进行扫描。特点:在扫描的间隔里,前一个用CPU工作程序来填补,后一个用定时/计数器定时来操控。但是如果定时的时间太长的话,就会影响到按键的反应和速度处理性。第3章系统需求分析3.1 系统设计目标将电梯的楼层控制由用户来选择,用按键来控制选择的楼层情况,同时数码管显示当前楼层,电机带动电梯的上下行,LED灯显示选择的楼层,到达对应楼层是LED灯熄灭,蜂鸣器发声,电机停止工作

24、,停留一段时间后,电梯继续运行。3.2 系统功能需求根据需求调研结果确定本系统主要包括以下功能模块。显示模块:根据用户的选择来显示对应的楼层,并随着电梯的运行,数码管显示的楼层数字会发生变化,LED灯显示所选择的楼层,被用户选择时LED灯亮起,当到达所选楼层时LED熄灭,数码管会停留在所在的层数。键盘模块:设定键盘按键对应不同的楼层,当用户键入所对应的楼层时,系统将其转化为对应的信号来操控显示模块及电机的运转。电机模块:当键盘键入时,系统会择优选择一个最佳的上下行线路,根据不同的楼层情况来决定电梯上行还是下行,对应的电机是正传还是反转,调节好电机每次运转的时间跟所模拟的电梯楼层高度同步。以下是

25、本系统的模块连接图,如图3.1所示。图 3.1 模块连接图3.3 系统开发环境 硬件环境:450*2MHZ/40G/1024MB/40G/软件环境:Windows XP,KEIL, STC-ISP开发用板:TX-1C单片机3.4 系统可行性分析3.4.1 技术可行性本系统采用的是89C51体系结构的单片机,由于只是完成一些比较基本的操作,所以对单片机的选择上并没有很苛刻的要求,最终决定使用性价比都很高的STC89C52RC单片机来进行开发试验。在电路的搭载上我们使用比较基本的模块就可以了,根据之前所描述的系统模块,我们发现要有显示、键盘和电机三大组成部分。所以我们可以进行电路部分的组成,分别由

26、数码管、LED作为显示部分,4个独立键盘作为键盘部分,带有放大功能的ULN2003芯片和步进电机作为电机部分。在进行开发的时候可以通过单片机的开发板来进行软件方面的测试,把系统所用到的步进电机跟开发板相连。使用KEIL软件来进行程序的编译。开始可以分模块进行试验测试,从比较简单的地方开始弄。比如驱动对应的数码管,LED灯及蜂鸣器,并记录对应所占用的端口。然后可以把键盘加上,通过键盘的按键来控制数码管和LED的显示,及蜂鸣器的响应。通过调试进行算法的对比,测试是否符合系统的流程需要,最后在把步进电机带上。 在进行系统测试的时候要通过使用STC-ISP软件来下载至板子上进行功能的验证与实现。此系统

27、当中最主要难点是在楼层的择优算法上面,如何选择能够最简单方便的达到所在的楼层,从而达到节约时间以及成本是本次课题的关键。3.4.2 经济可行性本系统在开发的过程中所使用的软件是免费的,硬件是TX-1C开发板,价钱适中,在学生的接受范围之内。所用的步进电机是28BYJ-48,价钱上不是很贵,所用的模型是在院外实习的过程中用数控和简单的机械加工完成的。所以在此次研发的过程中,经济方面并没有太大的问题,作为学生的我们都是可以承受的了的,无任何忧虑。第4章系统设计4.1 系统设计指导原则4.1.1先进性随着科学技术和人文水平的日益发展,嵌入式产品已被广大的人们所使用。无论是各个层次年龄的人群都会看到嵌

28、入式的影子,所以在今天这种科技水平发展迅猛的年代,新鲜的事物应被更多的人都了解并使用在生活当中。本系统的设计就是用到了嵌入式的产品,最小的应用系统单片机,利用单片机的核心处理器来控制并实现所需的功能。4.1.2可靠性及安全性许多的应用系统就是着用这种成本低,体积小的单片机机构来完成高性能的控制,在很多尖端的领域更是用到了专用单片机来完成其他电路系统完成不了的工作任务。由于单片机本身的特点抗干扰能力强,适用温度范围宽,在各种恶劣的环境下都能够可靠高效的工作,所以在本系统的实现过程中用到的单片机安全性极高。4.2 体系结构设计系统体系架构如图4.1所示。图4.1 系统体系结构4.3 硬件设计4.3

29、.1 STC89C52RC 单片机单片机的种类繁多,功能上也有着很大的不同,我们学习使用的都是51内核的单片机。ATMEL公司的89系列单片机是以8051为内核构成的,其芯片引脚和MSC-51的单片机是一样的。由于89系列单片机内含Flash存储器,在开发的过程中可以很容易的进行修改调试,所以大大的简化了系统的开发时间,对于我们来说89c51就是一个不错的选择,不过在价格方面AT89C51比较的贵,相对而言,国内的STC公司的的89c51系列的单片机就便宜的多,在此我选择了性价比都很高的STC89C52RC单片机进行开发。以下就是STC89C51RC的管脚图,如图4.2所示。图4.2 STC8

30、9C52RC管脚图单片机STC89C52RC有256KB的片内数据存储器,8KB的片内程序存储器。因此在构成单片机的最小应用系统时候,也不在需要在单片机的外部扩展片外存储器。 单片机STC89C52RC中有四个8位双向I/O接口。P0-P3这四个接口可以作为输入,也可以作为输出。可以按8位地址处理,也可以按位处理。P0口也可以作数据/地址线使用,P2口也可以作地址线使用。RST:上电复位端。当单片机振荡时,输入连续的两个机器周期以上高电平,单片机就可实现复位初始化操作。 XTAL1:振荡器反相放大器和内部时钟电路输入端。XTAL2:振荡器反相放大器输入端。 /EA:访问外部程序存储器控制信号,

31、低电平有效。 /PSEN:外部程序存储器选通信号,低电平有效。ALE:地址锁存控制信号输出端。VCC:电源电压。 GND:接地。4.3.2电机模块设计此设计在最初选用电机时有两个方案,分别如下。方案一:电机选用直流电机。直流电机虽然转速方面比步进电机强很多,而且在编程上也十分的容易控制,但是其缺点也是很明确的,其一是在电机负载的承重上明显不足,其二是在电机的控制上效果上没有那么好,很难使其立即停止,达不到电梯定点停止的效果。方案二:使用步进电机由于上述所描述的情况,直流电机不容易操控速度,实现不能立即停转。这样用步进电机利用程序的控制下就能很轻松的客服上述的难题了。再者,本设计重在模拟电梯的运

32、行,对电机的载重的要求不是很严格。只用步进电机正反转就行,所以选择了28BYJ-48作为本设计的电机。以下是28BYJ-48的实物图,如图4.3所示。图4.3 28BYJ-48实物图在此红线接电源5V,橙色线接P1.3口,黄色线接P1.2口,粉色线接P1.1口,蓝色线接P1.0口。因为单片机输出的信号不够大,不能满足步进电机的工作。所有要有一个ULN2003来放大后再连接至对应的电机接口上。以下是电机驱动部分,如图4.4所示。图4.4 电机驱动电路4.3.3显示模块设计此设计的显示模块用到了LED数码管,这是由LED发光二极管组合而成显示字符的器件,它使用了8个LED的发光二极管,1个用于显示

33、小数点,另外7个用于显示字符。LED数码管的连接方式有共阴极和共阳极两种。当发光二极管的阳极是高电平时发光二极管被点亮。共阳极阳极接+5V,每个发光二极管的阴极通过电阻和输入端相连接。当阴极端是低电平时发光二极管被点亮。此设计只用到了一个数码管来显示楼层,所有只用到一个锁存器74HC573就可以了。以下是显示模块和锁存器,如4.5,4.6所示。图4.4 显示模块图4.5锁存器D0-D7 为输入端。Q0-Q7 为输出端。E为输出使能端,输入高电平输出关闭,输入低电平有效。L为输出输入使能端,当端口为高电平时,输出值跟D0-D7一样,当端口为低电平时,输出保持之前的状态。4.3.4按键模块设计在本

34、设计中由于需要用到的按键只有4个,所有在此不需要用到矩阵键盘,只需要4个独立按键就可以了,分别来代表4个楼层。以下是独立按键的原理图,如图4.6所示。图4.6 独立按键原理图四个按键分别对应着P3.4 P3.5 P3.6 P3.7。此处为低电平有效。此处还有一个很重要的问题,在使用的过程中会遇到按键抖动,可能会出现按键不明显或达不到预期想法的情况,此时要做的就是防抖,正如之前第二章所述的一样,在按键按下或释放的时候,由于机械弹性作用的影响,会有一定时间的触点机械抖动,抖动的时间在5-10ms,所以为了使其不会导致判断出错,我们在程序里要加上一个5-10秒的延迟,这样才会进行正确的程序处理。4.

35、3.4 LED灯电路设计本设计需要使用LED灯来显示所选楼层的情况,亮代表所选,灭代表没有选择或者已到达所选的位置。LED灯其实就是发光二极管,只要让其对应的端口至成低电平就可以发光了。以下是LED发光二极管的原理图,如图4.7所示。图4.7 LED发光二极管4.3.5蜂鸣器电路设计本设计要在电梯达到所需层数时发出声响来表明电梯已到,所以要用到蜂鸣器。蜂鸣器是用一个PNP三极管来驱动的。集电极(C级)通过蜂鸣器的线圈接上5V的电源。基极(B级)是控制端。发射级(E级)用来接地。当三极管的C、B级PN结处在正偏时,PN结就导通了。即控制端为低电平时,三极管导通,故蜂鸣器发出声。以下是蜂鸣器的原理

36、图,如图4.8所示。图4.8 蜂鸣器原理图4.4 软件设计4.4.1 主流程设计软件设计的思路为采用模块分层的设计理念,将软件系统的所有工程依次分割为单一的工程子程序,然后通过调用不同功能的子程序,来实现完成复杂的软件系统控制与操作,这样也更加方便高效的进行调试与修改。以下主的流程图,如图4.9所示。图4.9 主流程图4.4.2 按键查询设计在本设计中,键盘是采用的4个独立按键,分别对应这4个所选的楼层,当有键被按下的时候,会转入相应的功能程序当中,这也是本设计中最为关键的部分,因为按键的键入会牵扯到LED灯的亮暗,数码管的显示,蜂鸣器的发生,电机的正反转和停止。以下就是按键查询的流程图,如4

37、.10所示。图4.10 按键查询流程图第5章系统实现5.1环境配置本设计在xp系统上进行软件开发和测试,用到了Keil uVision2软件进行程序的编译,在配置里勾选生成Hex可执行文件后,再通过STC_ISP软件,连接串口下载至单片机上,进行烧写测试。Keil uVison2是一家德国公司KeiSoftware公司出品的软件,用于51系列兼容单片机进行C语言的软件开发,使用的语言跟C语言的传统语法很类似,C语言与汇编相比,更加容易学习和使用,而且大大的提高了软件开发的效率和研发的周期,同时在编程程序的时候也能够加入汇编语言,使程序能够达到接近于汇编水平的工作效率。Keil C51标准C编译

38、器为51系列的研发供应了C语言的语言环境。同时也有着汇编的高效、快速的特点。如今C51已经被完全的集成到了uVision2的开发环境中,包括编辑器,汇编器,调试器,实时操作系统,项目管理器。uVision2 IDE为他们提供了灵活的开发环境。Keil uVison2进行51系列单片机的软件开发过程有以下几个步骤:1.建立一个工程项目,选择对应开发的芯片。2.建立一个新的编译窗口,将汇编或C语言文件写好并保存添加至对应的工程项目中。3.用项目管理器生成各种应用程序,此处是Hex文件。4.检查并修改编译生成时的错误,直到编程通过为止。5.生成对应的应用程序,此时可以用STC_ISP进行下载烧写。S

39、TC_ISP是基于STC单片机的烧写程序,在使用有以下几个步骤:1.选择单片机的型号,我在这里选择STC89C52RC。2.打开文件,这里选择已生成的HEX文件。3.选择串行口,和最高波特率,这里根据实际情况来决定是哪个COM口,最高波特率选择115200。4.分别设置12T/单倍速,full gain,不需要冷启动P1.0,P1.1=0,0才能下载程序。5.点击下载按钮再给MCU上电烧写程序。5.2功能模块实现5.2.1楼层择优选择的实现此部分为系统的核心部分,是电梯模拟控制模块。设定好电梯为4层,电梯的起始位置是一层,等待中就数码管显示1,LED灯不会亮,步进电机也不会转动,当按键被按下后

40、,通过程序的控制,来进行楼层的选择,同时LED灯,数码管,步进电机同步完成各自所设定好的功能。以下是楼层择优选择的流程图,如图5.1所示。图5.1 楼层择优选择的流程图5.2.2电机模块实现此部分涉及到了电梯的外部模拟,由步进电机的转动来模拟电梯的上下行,当楼层处在上升的过程时电机正转,当楼层处在下降的过程时电机反转,当停止没有选择楼层时,电机停止转动。以下是步进电机转动的流程图,如图5.2所示。图5.2 步进电机转动的流程图第6章系统测试6.1 测试概述系统测试是一个非常重要的环节,也十分的繁琐,因为本系统涉及到一个外接模型,模型所对应的楼层高度是确定的,本次主要就是要协调好步进电机的转动持

41、续时间和由外接的传送装置相连接的线所走的距离,上一层的高度跟转动的时间要有一个确定点,并且要协调好。还有一个重要的测试点是选择的楼层按键,如果连续点击了好几个按键后应该怎么去选择楼层。6.2 测试用例6.2.1 步进电机的运转时间在初步的编译好程序后,步进电机随着按键被按下,开始进行电机的正反转,由于外界的装置是由滑轮引线控制的,所以必须非常的精确,这样就需要多次的测试,多长时间引线能走多长的距离。测试方案为通过多次的记录,先直接写一个电机正反转的代码,将转速保持到一个状态,用秒表来记录一个楼层高度的所要运行的时间,多次测试取到一个平均值,再在代码中调试,确定延迟函数的时间,最终在代码烧写到单

42、片机上,连接实物来测试是否符合所需的要求。以下是以测试好的成品图片,如图6.1所示。图6.1 楼层位置演示6.2.2 按键测试本系统另一个非常关键的地方就是按键的测试,根据上一章的系统实现部分所说,按键的先后顺序会影响到电梯的上下行问题。测试方案应该是先按照流程图写好代码,先不要加上电机模块,因为那个会比较麻烦,只是用到数码管和LED显示就可以了,然后先从简单的开始测试,比如说处在1层,检测到3层的按键被按下,看看数码管是不是由1变到2再变到3,LED也会随着楼层的变化而变化。然后可以按2层,看看它们的变化。如果测试通过那么就可以进行更深一步的测试,比如现在是2层,按下1层后再按3层,看看数码

43、管是不是先变到1,然后再2、3的变化,同样的检验LED灯的变化。再往后就可以检测,如果一个楼层被所测按下后,数码管和LED会不会有BUG的出现。第7章结论课题至此已经到了尾声,从课题最开始选择的时候,自己就想了很久,希望能做出一个能够展示的东西,起初只是想弄一个简单的步进电机,最终还是决定弄一个电梯模拟的设计。电梯的用处十分的广泛,这也是我为什么想要选择此题目的原因。电梯现如今的发展也越来越人性化,当然此次的设计并没有那么的完善,只是做了一个4层的电梯模拟,如果进一步的进行开发,可以加上检测部分,比如传感装置,可以感应是否超重,可以发出警告。在真实的电梯里,会涉及到一个减速停止的问题,这也是当

44、今科技发展,人们越来越追求舒适感的体验问题。当然这也是一个可以去改善的东西,由于本人的知识不是太好,所以放弃了这些比较新颖的问题点。这也很好的提醒了自己,不懂的东西也很多,在今后的工作生活中也要不断的学习进取。其次我想说一说关于模型的问题,一开始只是想要做一个很简单的模拟,想要把数码管,LED,及按键部分做出来,之后加上步进电机的正反转就可以了。如果那样的话就不用很严格的控制电机运转的时间,因为传送带一次走行的距离可以很随意的变化。后来再实习的过程中,用数控机床和简单的机械加工弄出了一个模型,还买了一个玩具拼装小楼,这样就更加直观的可以进行演示。不过难题也出来了,由于加工好的模型的尺寸已经固定

45、,所以在测试的过程中要把步进电机安置到模型底座上,同时传送的滑轮上也必须固定上导线,在通过三个滑轮的连接下,最终将模拟的“小电梯”放置到玩具小楼中。这样的话再调试程序来控制步进电机的运转时间就比较麻烦。不过经过反复的实验,最终还是找了一个最恰当的数值。最后,虽然设计在实用性上比较欠缺,但是也基本上达到了自己预期的效果,可以进行简易的模拟,在以后如果进行此类电梯方面的工作,就可以有一个大概的思路。参考文献1 李秀忠单片机应用技术M,人民邮电出版社,2007,82 李华MCS-51系列单片机实用接口技术M,北京航空航天大学出版社,1996,63 钟富昭8051单片机典型模块设计与应用M,人民邮电出

46、版社,2007,94 阎石数字电子技术基础M,高等教育出版社,1997,95 Brian WKernighanThe C Programming LanguageM,China Machine Press,2009,36 李群芳单片机原理接口与应用M,清华大学出版社,2005,27 华成英模拟电子技术基本教程M,清华大学出版社,2006,48 胡烨Protel99SE电路设计与仿真教程M,机械工业出版社,2005,79 王自强电动机控制电路应用技术丛书M,科学出版社,2010,810 郭天祥新概念51单片机C语言教程入门、提高、开发、拓展M,电子工业出版社,2009,811 Yeager BrentHow to troubleshoot your electronic scaleJ,Powder and Bulk Engineering,2000,8,2412 赵晓安MCS-51单片机原理及应用M,天津大学出版社,2007,713 王东峰单片机C语言应用100例M,电子工业出版社,2009,714 TeplovThermostatting Sys

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号