版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单片机的八层电梯控制系统设计作者姓名:专业名称: 指导教师: 讲师摘要本次设计主要是一种STC89C52单片机为基础的。这次设计是一种模仿电梯的控制系统。在论文中阐述了怎么利用单片机来进行电梯的控制。而且单片机的编程功能是相当的强大,比较简单且可改变运作方式,这样可以大大的缩短研发师们开发的周期,同时也可以使电梯的控制系统体积小巧而且功能还更强大。本设计是根据模拟电梯控制系统的一些基本功能,本次设计可以通过按键的选择来到达的楼层,本设计中用数码管显示实时楼层数,由箭头指示灯方向指示向上向下方向。设计更强调了一些知识的加入设计。主要介绍了STC89C52芯片的使用以及它在人们生活中带来了很多
2、便利的地方,这次使用C语言编程,使其具有较强的可移植性,更利于产品的发展。自改革开放以来,随着我国城市化进程的加快,电梯已融入到我们的生活中,电梯在宾馆、商场、饭店、办公楼、娱乐、住宅等建筑等公共场合得到很好的应用。因为电梯高效、方便和快捷等等都给大家的生活带来了很多的好处,电梯受到了大家的热烈欢迎。社会的未来是城市与城镇的融合,相互影响。电梯的应用在我们的日常生活中将不断应用,风格也会慢慢的不同,同时也是为了满足人们的多样化需求。电梯是现代交通工具必不可少的手段,随着现在科学技术的不断进步和经济的快速发展,科学技术必将导致电梯质的飞跃,电梯将变得越来越智能化,电梯也会越来越安全和稳定。关键词
3、:电梯 单片机 控制AbstractThis paper introduces a kind of elevator simulation control system based on STC89C52 chip, and introduces how to use the MCU to realize the electronic control. MCU programming function, simple and changeable, greatly shorten the development cycle, while the elevator control system
4、can make the volume of smaller functions more powerful. This design simulates some basic functions of the elevator control system, can choose the floor through the button, the digital tube display real-time floor number, the LED lamp is composed of the direction of the arrow indicates the direction
5、of the up and down direction.The design is more emphasis on some of the knowledge to join the design. Including the use of the STC89C52 chip, the use of C language programming, so that it has a stronger portability, more conducive to the development of products.Since the reform and opening up 30 yea
6、rs, with the quickening of the urbanization process in China, the elevator has been integrated into the our life, the elevator is used in hotels, restaurants, office buildings, shopping malls, entertainment, warehouse and residential buildings. Because the elevator is efficient, convenient and quick
7、, the elevator has been warmly welcomed by everyone.The future of society is the integration of cities and towns, mutual influence. The application of the elevator will continue to expand, the style will be various, the purpose is to meet the diverse needs of people. The elevator will be essential f
8、or modern means of transport, with the continuous progress of science and technology, the in-depth development of the economy, science and technology will lead elevator to make a qualitative leap, the elevator will become more and more intelligent, more and more security and stability.Keywords: Card
9、 reader,no contact ,IC card,SCM,89C51。Key words:elevator singlechip control目录基于单片机的八层电梯控制系统设计I摘要IAbstractII目录IV前言61 绪论71.1课题背景71.2电梯的发展趋势71.3设计目的91.4本设计完成的工作92 总体方案设计102.1 硬件设计概述102.2软件开发平台介绍102.3主控芯片选择112.4 电源的选取123硬件实现及单元电路设计133.1主控制模块133.2电梯上下指示电路133.3声音提醒电路144系统软件设计方案164.1主程序流程图164.2电梯各情况下所对应的处理
10、方法194.3软件核心程序讲解194.4系统的安装与调试21总结22参考文献23致谢24附件1整机电路原理图25附件2 程序源代码26前言随着经济的发展,电梯起的作用也将随着经济的发展而发挥重大的作用。现在高楼层的房子也越来越多,很多办公大楼也向高楼层发展。电梯随着现代高新技术的发展,住房和办公建筑逐渐向高层发展。电梯是一个高度楼层的不可缺少的交通工具。现在流向城市的人越来越多,随着人流量的增加,就要求建筑面积的增大,随之楼层也会往高处建。现在对电梯的静态和动态等特性进行了精度的提高,速度调节范围,都提出了更高的要求。传统电梯运行逻辑控制系统采用继电器逻辑控制电路。使用这个控制线,电梯的维修还
11、存在着一定的缺陷,操作有可能也不太方便,使用年限也不长,所以这些我们都需要尽量改善。就现在发展形势,电梯运行控制系统主要是由可编程逻辑控制器或者是微机来进行控制,现在正在高速的发展。可编程序控制器是在计算机技术与以前的自动控制技术相结合的产物,主要是以单片机为控制器,以单片机为核心的专用计算机数字控制,这样它具有的抗干扰性能就比较强,就可以适应的了许多工业控制领域的恶劣环境,所以现在的电梯控制系统主要由可编程控制器控制。然而,由于可编程控制器的针对性比较强,每一个可编程控制器都是按自个的设备设计的,所以价格也比较贵。然而单片机的价格在市场上是相当便宜的,如果抗干扰功能得到了改进,它可以完全代替
12、可编程控制器来实现工业设备的控制。当然,微控制器也不是那么有针对性的可编程控制器,因此设计的控制系统可以通过单片机的更新与设备的不断改进和完善,实现设备的升级换代。但在性能和可编程性还具有一定的本质的差距。随着科学技术的不断发展,单片机控制系统可以迅速解决问题,成为一种方便、有效的电梯系统。1 绪论1.1 课题背景随着大家生活质量在不断的提高,科技也在不断地发展,电梯也随着科技的进步在往高质量上走。看着电梯慢慢的走向高峰,形式风格也出现了各式各样。以前是直立的,现在有倾斜的,弯曲的,颜色方面也变得多样化。电梯的发展是有目共睹的。在现在的研究与开发下,电梯的维修服务也改善了不少,操纵控制采用步进
13、了新手柄开关控制,还采用了按钮控制、还有信号控制等等,在控制步骤、采用人机对话等,电梯还出现了并联控制,智能控制;双电梯显示,很好的节省了大量的空间,提高运输能力的优势;变速式自动人行道扶梯也方便了大家,为大家大大节省了行走的时间,出现的观光电梯更是新颖,在乘客的视线生活中已经是完全开放的。今天,电梯控制不断提高维修服务系统。调频门控技术、智能远程监控系统、都具有环保高效、节能智能的作用,控制柜也比较耐用,噪音也比较低,集纳了人类在机械行业、电子行业与光学领域等等,在现在电梯设计和研发过程中出现的最新研究成果,人们的生活因此变得更加美好。 1.2电梯的发展趋势1、超高速电梯
14、0; 随着电梯的高速发展,塔式建筑将会成为我们的发展趋势。尽可能往多途径,多功能,超速度的方向发展。这也是现在研究的重点,电机驱动发面也需要一定的提高。在未来,电梯的超速度会有明显的优势,舒服感也会得到相应的提高。 2、 电梯智能群控系统 智能电梯群控制系统能够生存主要依赖于计算机,计算机的资源将会对它起到很大的帮助。它不但能够适应电梯交通动态特性的不确定性,它还能很好的控制目标的多样化,非线性性能等等特点。随着智能大厦和智能化集团控制系统的发展,慢慢就会出现电梯的节能与楼宇自动化的所有服务设备相结合,形成了整个智能系统。 3、 蓝牙
15、技术在电梯上的应用 蓝牙技术是一种适合短距离的传输的技术,通过电子设备来链接在一起,是全球开放的、符合无线通讯技术规范的标准,它可通过短距离无线通讯,把电梯各种电子设备连接起来,不需要物理上的连线,从而实现无线传输。 4 、绿色电梯 绿色电梯对环境污染小,环保功能也就更加强大,可以减少油污染,而且它还具有电磁兼容性,噪音较低和寿命较长等特点,主要采用绿色装修材料,甚至在计算机房在建筑顶部的建筑使用太阳能作为电梯的驱动增加能源。电梯行业将网络化和信息化的电梯控制系统联系在一起,将网络技术和网络技术结合起来,对电梯进行维护
16、等等;同时通过一些网上资源进行网上交易,关于电梯的价位、配置、也及后期的维护维修等。还可以在网上以申请定期检查电梯在互联网上的应用情况。绿色化、电梯发展的总趋势是绿色的理念。发展趋势主要会呈现为一下几种方式:a、 产品设计方面会持续改进。b、 生产环保型,主要有着几个特点:具有低能耗无泄漏无电梯井道导轨润滑脂污染。c、 电梯装修时使用的原材料都是无污染的。电梯在技术上已经更上一层次、电梯可以空载升降、电机损坏可以再次修复。电梯在安装上也节省很多时间,现在不需要安装脚手架等。而且电梯部件在生产和使用过程中对环境都不会产生影响,都可以再次使用。电梯在降低能耗方面主要有以下措施,主要包括:可以选择减
17、少电梯系统的惯力和摩擦,合理使用它的重量和平衡重量。1.3设计目的电梯控制系统在我们生活中已经占据了很重要的作用,但现在还存在着一定的缺陷,比如成本高,三相供电等等缺点。此次设计主要是电梯控制系统的设计,主要是以单片机来控制。用c语言来编辑程序再加上相应的硬件电路。主要是单片机的成本比较低,以检测和控制信号为核心。这次设计以实际为前提,具有方便灵活性强等等特点。这次设计也比较易于控制,通过这次的实际操作,让我理论和实际结合,提高了我实践的能力,对于我出社会工作也有一定的好处。打下了一定的基础。1.4本设计完成的工作1、设计电路模拟8层电梯运行2、电梯每一层都有按键的设置,按键每按一次,指示灯就
18、会相应的反映。指示灯都是由二极管组成。3、电梯具有向上还是向下指示,同时能显示到了哪一层4、电梯无人时,应默认停在第一层5、设计电梯控制的系统,完成原理图的设计,再结合软件硬件,完成电梯的控制。本次设计,主要是基于单片机的四层电梯设计,加上相关控制系统,采集系统的电路设计和软件设计方法,第一章主要介绍课题的意义和设计的一些简单要求,第二章主要是讲相关设计的硬件电路及其开发平台的设计,第三章主要是讲相关软件的设计工作及其软件环境的搭建方法。2 总体方案设计2.1 硬件设计概述电梯在我们的生活中不可缺少,有着相当大的角色,现在的楼层也是越来越高,针对不同的楼层 ,都需要不同的需求,所以在设计上面需
19、要针对不同楼层的人安置按键,来满足人们的需求,比如按键按下,数码管就显示楼层数,向上行会有向上的标志。数码管可以显示当前的相关信息,二级发光管的组合来显示楼层数。然而用的这些器件在市场上也是很廉价的,加上核心控制来控制电梯的运行。这次设计采用了AD软件。Altium Designer不仅拥有强大的PCB设计能力,而且还有强大的逻辑仿真分析能力,是一款特别适合初学者使用的原理图绘制软件。它的主要功能包括:1. 原理图设计;2.印刷电路板设计;3.FPGA的开发;4 .嵌入式开发;5. 3D PCB设计。本次论文主要是设计原理图,按照原理图进行元器件的购买, 需要高效的芯片来控制,它们相互之间的物
20、理连接问题这些就是本章所要叙述的硬件设计部分。2.2软件开发平台介绍为了开发的简便,笔者选用了比较常用的开发软件keil5.0。对于单片机相关的软件开发,通常情况下可以用的软件的有,keil、IAR等等,keil是一种比较适合初学者的开发软件,它不仅使用简单,而且能够进行软件模拟仿真测试的强大功能。下面笔者简单介绍keil软件。Keil C51的51系列兼容单片机C语言软件开发系统公司生产的keil软件,它是keil software公司出品的。用keil与汇编相比,C语言在具有在多方面的优势,比如在功能,结构,可读性方面都具有很强的优势,维护也是具有明显的优势,使用起来也是相当的方便。运行k
21、eil软件可以通过Win98或者是NT、或者是WIN2000、或者是WINXP等等操作系统都是可以的。而是非常强大的C语言的功能性非常强大的,如果你使用C语言来进行编程开发,然后Keil应该就是我们最为好的选择。即使我们不使用C语言,用汇编语言来编程,对于这么大的集成环境和软件仿真对于我们开发者来说也是一件可乐的事情。Keil C51软件提供了强大的开发环境,也是功能丰富而强大的集成开发调试工具,主要是Windows界面。另外重要的一点,看看编译后的汇编代码,可以实现keil的优点。下面是关于该系统的功能和各部分使用Keil C51开发细节。下面介绍一下C51工具包的整体结构,Vision主要
22、是针对C51 for Windows,而Ishell是for Dos 的集成开发环境,这个下面就可以完成编辑,编译,连接,调试和仿真等等,在这整个开发流程。开发人员可用IDE或着是其它编辑器编辑C或者是汇编源文件。然后分别由C51和C51的编译器编译生成目标文件(.obj)。然后由目标文件可由LIB -51 创建生成库文件,也可以与库文件一起经L51 连接定位生成绝对目标文件-.abs。而abs文件是由OH51 转换成相当标准的hex 文件,可以使调试器dScope51 或tScope51 在keil上面使用进行源代码级的调试仿真,也可由仿真器使用对目标板来进行调试,当然也可以采用直接写入程序
23、存贮器如EPROM中。2.3主控芯片选择这次为了满足设计的需求,采用STC89C52单片机。下面介绍一下STC89C52单片机。STC89C52单片机是8位单片机,这个C52单片机包含了只读存储器和随机储存器。它具有高精度性和很强的灵活性,主要是全双工的工作方式。具有看门狗和时钟电路等等。使得STC89C52为众多嵌入式系统应用系统提供高灵活、超有效的解决方案。在空闲模式下,中央处理器停止工作,但是它的定时或者是计数器、串口还有中断器会继续工作。但是进入了掉电保护模式下,它会先将里面的数据先备份一下,然后它的振荡器将会被封存,单片机也会因此而停止工作。但还有一种情况,就是之后如果出现了中断,或
24、者是单片机重启,这个它很有可能就会继续工作 ,直到又出现这种情形。本次设计这种模块主要是以单片机为中心,将代码传输到芯片里面,和电路相通连接到复位电路、振荡电路、键盘控制、发光显示电路、报警电路模块等等。 2.4 电源的选取由于本次设计的是8层的电梯系统,我们主要采用单片机来进行控制,来模拟电梯实际运行的过程。在这次的模拟中,采用了9v的直流电源来进行供电,这次设计采用的是7805的稳压芯片,来为数码管以及二极发光管来进行供电。经过我们实际的模拟,在这种电源电压下,这个设计可以正常的运行,从而验证了这次实验的正确性。从而顺利的完成了此次设计。因为对电源的正确选择,本次设计才变得容易的多,从而完
25、成了电梯系统在程序上面的控制,成功的模拟了这次电梯正常的运行。 3硬件实现及单元电路设计3.1主控制模块1、本次设计的最小主控制系统电路如下图所示。图3.1 主控制电路图3.2电梯上下指示电路电梯上下运行时我们采用的是发光二级管,利用发光二极管来组成一个向上或者是向下的箭头,当电梯向上时,点亮向上的箭头,向下时点亮向下的箭头。电路图如下所示。图3.2 电梯指示图3.3声音提醒电路当电梯在运行的过程中,每到达一层时,蜂鸣器都会发出声音提醒,以便于乘客的方便。具体的电路如下所示:图3.3 蜂鸣器电路图 4系统软件设计方案4.1主程序流程图该系统主要包括两个方面,首先是基于C语言的程序开发,主要用于
26、单片机的控制。另一个是基于VC的上位机程序开发,主要是用于计算机与单片机之间的通信以及数据交换。下面笔者分别从这两个方面来进行分析。电梯所运行的状态是我们这次设计的核心点,也是这次成功与否的关键点。在电梯运行的每一个阶段,都起着最为关键性作用。在每次运行过程中,电梯每上升一个楼层,我们的控制程序就起着作用了,每经过一个楼层时,都会按照下图的流程来执行程序。这个主要是最为重要的地方。控制程序的主要作用有以下几个方面:1、效率比较高。2、时间短速度快。3、设计的很人性化。从这几个方面可以看出电梯的下一步骤是干啥,最终会停留在哪个位置。这次设计的流程图如下所示: 图4.1 主程序流程图从上图可以分析
27、,程序先从两个方面入手,一个是上行,而另一个是下行,从这两个方向又可以各分两种情况,上行就可以分为两个情况,一种是上去接人,还有一种是上楼送人。下行也可以分为两个情况,一种是下楼送人,但还有一种是下楼送人。 中和起来就得出了这四种情况,也就差不多是实际电梯中的大部分情况了。但是我们得到了这四种情况 ,在设计程序的时候改如何分析呢,怎么样可以判断出电梯什么时候是处于什么样的情况呢!然而,遇到了不同的情况,我们分析的方法就会不同,我们就先 理清自己的思路,针对不同的情况,分析的方法也会有所不同。而首先,我们要先搞清楚电梯是如何判断的,此时电梯是处于上面四种的哪一种情况的呢?这个可以分为2个步骤:1
28、、首先是确定电梯是向上行还是向下行。2、判断是要送人还是去接人。当然首先这是最好的判断,因为电梯在运行时,有2个变量是很关键的也是很明显的。一个变量为现在电梯所在的楼层,第二个变量是电梯将会到达的楼层,在程序中,我们可以对两个值进行比较,来看他们的值的大小,现在就有了两种情况,如果要上行,目标值就会比现在的值大,就这样电梯才会上行,状态值也会变为0。反之, 如果前者比后者,为下行,状态变量清零,使用的门电路在向上和向下箭头,表示有效;反之,当前值小于目标值,电梯就会相应的执行下行。状态变量这个值也将会变为0。对于第二种情况,判断是接人还是送人,难以区分。在这里,巧妙的运用了两状态变量和scan
29、down和 scanup。前者等同于所有的提升按钮,或者几个层的关键状态变量,这是等于所有的上升按钮的和,又或者是若干层的关键状态变量的或。总之,当上行按钮和几层按键是0,电梯仍向上,然后电梯的状态是必然要上楼也就是在顶部,有人在下面。另一方面,如果他们有一个1,以上的电梯的关键位置,所定义的其他功能,以防止干扰电梯在上游的过程中已被按下,电梯在这一点在楼上给状态将举行的行对应的子程序。其他的原理也是如此。4.2电梯各情况下所对应的处理方法在此次论文中,就以电梯上行的两种状态为例来讲解一下。实际上,我们遇到的最简单的情况是电梯处于闲置状态,然后有人需要乘坐电梯,就按按钮来进行呼叫,接着电梯会响
30、应呼叫。然而,在实际的生活中,出现的情况都要复杂的多。因为在第一人在电梯的操作的过程中,也有可能有其他不同楼层的按键(向上或向下)不同的发生。那么这样就需要有一定的规则,对电梯实施一定的优先级。这样一来,让它们按照规则来运行,这样就不必纠结了。然后这条规则必须是高效和人性化的,在这一点上,我们规定当电梯上去时,不能忽略掉这些客户的按钮。而且,如果在上行的过程中,有人在某一层的时候又按上行按钮,但电梯已经通过了这一层,那么电梯将绝对不会选择马上下来,来接一下这位乘客,这样整个电梯在操作过程中,也就没有规律而言啦。当然,如果有客户按下电梯的按钮(在这个时候一般电梯已经在顶部的顶部),电梯将检测向下
31、按钮,如果更多的高层人士呼吁下来,电梯会选择去回应他们,然后在下行响应的过程中,根据客户的等待,最终来决定这些客户的接送顺序,然后相应的电梯上升过程中,低于电梯楼层根据上行的乘客。在实际中,如果电梯处于上行的状态的时候,但是又有不同的客户的需求时,并在响应不同客户的优先级(或电梯响应序列),优先级比较如下:高层呼叫上行顾客大于高层呼叫下行顾客大于底层呼叫下行顾客大于底层呼叫上顾客,电梯都是以这样的优先顺序来进行执行。当电梯在程序的执行过程中,都是根据具体情况作具体的操作。 4.3软件核心程序讲解这个章节主要讲解了电梯的软件设计以及我们设计过程应该注意的事项及处理方法。还有本章介绍的是整体流程图
32、以及工作原理。本次电路主要由4大部分组成:键盘模块、单片机最小系统控制电路、显示模块电路、电源模块电路。按键程序及讲解如下:void key() /独立按键程序static uchar key_new;key_can = 20; /按键值还原P3 |= 0xff;if(P3 != 0xff)/按键按下delay_1ms(1); /按键消抖动if(P3 != 0xff) && (key_new = 1)/确认是按键按下key_new = 0;switch(P3)case 0xfe: key_can = 1; break; /得到按键值 case 0xfd: key_can = 2
33、; break; /得到按键值 case 0xfb: key_can = 3; break; /得到按键值 case 0xf7: key_can = 4; break; /得到按键值 case 0xef: key_can = 5; break; /得到按键值 case 0xdf: key_can = 6; break; /得到按键值 case 0xbf: key_can = 7; break; /得到按键值 case 0x7f: key_can = 8; break; /得到按键值 else key_new = 1;电梯处理函数如下:void td_dis()uchar value,value
34、1;value = dt_1 + dt_2 + dt_3 + dt_4 + dt_5 + dt_6 + dt_7 + dt_8; if(value != 0) /100msif(flag_stop = 1)/到相应的楼了 要停下4.4系统的安装与调试1.检查元件的好坏在这次的设计中,先设计好了原理图,然后按照原理图所需的元件器按电路图买好元件后,先对元件器进行检查,看是否有坏的。认真的检查完元件器。并和原理图上面的一一对比一下。然后对器件的安装,并把元件器放置好。2.放置、焊接各元件根据原理图的位置放置各元件,按照原理图放好。就可以开始焊接了。在焊接过程中,需要先把一些比较小的元件器先进行焊接
35、。高的放在后面进行。比较小的芯片需要慢慢的进行焊接,焊接时间不宜过长,不然芯片容易损坏。还有芯片的方向也得仔细的核实检查。总结本次设计讲述电梯系统设计软硬件件部分设计过程。自己在这次实践中,感觉也收获了不少。作为一名即将毕业的大学生,我觉得这一次的毕业设计对我来说,是一次对大学学习情况的自我的检验,同时也是为以后进入研发岗位的考验。不仅仅是一次课题设计,也是一次经验的积累和能力的提高。这一次的毕业设计,让我充分意识到自己的进步和不足,也为我自己今后的工作和学习,提供了参考的依据。比如在硬件的设计上,总是忽略一些细节问题,在软件设计上,逻辑思维总是不够完美,导致经常调试很久都跳不出相应的效果。我
36、不怕失败,也不怕困难。这一次的毕业设计,必将激励我在以后的学习和生活中不断进步和永不放弃。通过这次毕业设计的磨练,使我认识到了自己知识的不足。同时也巩固了我的知识架构体系,使自己对以前学习过的内容加深了理解,同时也为以后的路打下了基础。最后,在本次毕业设计中,使我知道了老师和同学的重要性。就是因为他们在我不懂的时候提供了帮助,及时的帮助我解决了很多问题,这样才让我顺利的设计出自己的实物。作为一名即将步入社会的大学生,我觉得这一次的毕业设计对我来说,能力得到了很大的提升,同时也是为以后进入社会前的考验。这不仅仅是一次课题设计,也是一次经验的积累和能力的提高。这一次的毕业设计,让我充分意识到自己的
37、进步和不足,也为我自己今后的工作和学习,提供了参考的依据。比如在硬件的设计上,总是忽略一些细节问题,在软件设计上,逻辑思维总是不够完美,导致经常调试很久都跳不出相应的效果。我不怕失败,也不怕困难。这一次的毕业设计,必将激励我在以后的学习和生活中不断进步和永不放弃。参考文献1童诗白 华成英 编著模拟电子技术基础高等教育出版社 2011年5月2李朝青 编著单片机原理及接口技术 北京航天航空大学出版社 2011年1月3马忠梅 编著 单片机的C语言应用程序设计航空航天出版社 2003年7月4佘新平 编著数字电子技术 华中科技大学出版社 2011年2月5薛永毅 王淑英 何希才 编著新型电源电路应用实例
38、电子工业出版社.2001年10月1 Solid Warehouse Material Management System Based on ERP and Bar Cod Technology, International Journal od Plant Engineering and ManagementJ.20042 Choong Moon Lee. The Sillieon Vallery edage M,Stab-ford University Press.2011.3 Atmel.AT89S51DataSheetsEB/OL.,2012.致谢在短短的几个月的毕业设计的过程中,我不仅
39、学到许多以前在课堂上没有接触的知识和方法,让我的实践操作能力得到了很高的提升。而且还见证了深深的同学之谊,还有难忘的师生之情。所以,我必须要特别要感谢在整个毕业设计过程中,总是不厌其烦的帮助我的老师和不断鼓励我的同学,是他们给了我完成课题设计的勇气,永不放弃的决心,使得我能够克服一个又一个的困难,至始至终没有放弃,最终顺利完成我的毕业设计!大学四年即将画上一个句号了,毕业设计是我在学校交的最后一份答卷。在论文完成之际,感受收获喜悦的同时,心中充满了更是感激之情。首先感谢学校给我们提供的条件使我们有了一个可以对大学四年的知识进行温习总结并付诸实践的机会。在此次毕业设计过程中,特别要感谢我的毕业实
40、际指导老师,感谢您在这段日子里对我亲切的关怀和悉心的指导。老师在我遇到难题时,不但给予我技术上的帮助,更教会我诸多检查及解决问题的方法。老师渊博的知识以及对待学生的耐心和责任感,不仅让我对专业知识有了更深的理解,还教会了我们今后面对工作生活的态度。借此机会,我也感谢大学四年期间所有指导过我的老师,感谢他们对我无私的教诲和帮助,感谢他们的谆谆教导。与此同时,我要特别感谢几位同学,我时常和他们讨论我在设计过程中遇到的问题,他们了我很多宝贵的意见和想法,为我提供了很多的参考书目,在我最需要的时候给我鼓励和帮助,在这里我深深说一句:谢谢你们! 附件1整机电路原理图附件2 程序源代码#include &
41、lt;reg52.h> /调用单片机头文件#define uchar unsigned char /无符号字符型 宏定义变量范围0255#define uint unsigned int /无符号整型 宏定义变量范围065535/数码管段选定义 0 1 2 3 4 56 7 8 9uchar code smg_du=0xde,0x90,0xcd,0xd9,0x93,0x5b,0x5f,0xd0,0xdf,0xdb/ AB C D E F不显示 ; /断码uchar dis_smg8 = 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8;bit flag_10
42、0ms,flag_1s;bit flag_stop = 1; /用做到了相应的楼停下sbit beep = P26;sbit xia = P20;sbit zhong = P21;sbit shang = P22;uchar value2;sbit led1 = P10; /8个发光二极管定义sbit led2 = P11;sbit led3 = P12;sbit led4 = P13;sbit led5 = P14;sbit led6 = P15;sbit led7 = P16;sbit led8 = P17;uchar dt_1; /1楼电梯标志位uchar dt_2; /2楼电梯标志位u
43、char 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 ; /电梯上下的标志位/*1ms延时函数*/void delay_1ms(uint q)uint i,j;for(i=0;i<q;i+)for(j=0;j<120;j+);/*独立按键程序*/uchar key_can; /按键值void key() /独立按键程
44、序static uchar key_new;key_can = 20; /按键值还原P3 |= 0xff;if(P3 & 0xff) != 0xff)/按键按下delay_1ms(1); /按键消抖动if(P3 & 0xff) != 0xff) && (key_new = 1)/确认是按键按下key_new = 0;switch(P3)case 0xfe: key_can = 1; break; /得到按键值 case 0xfd: key_can = 2; break; /得到按键值 case 0xfb: key_can = 3; break; /得到按键值 c
45、ase 0xf7: key_can = 4; break; /得到按键值 case 0xef: key_can = 5; break; /得到按键值 case 0xdf: key_can = 6; break; /得到按键值 case 0xbf: key_can = 7; break; /得到按键值 case 0x7f: key_can = 8; break; /得到按键值 else key_new = 1;void key_with()if(key_can = 1)led1 = 1; /点亮发光二极管dt_1 = 1; /if(key_can = 2)led2 = 1; /点亮发光二极管dt
46、_2 = 1;if(key_can = 3)led3 = 1;/点亮发光二极管dt_3 = 1;if(key_can = 4)led4 = 1;/点亮发光二极管dt_4 = 1;if(key_can = 5)led5 = 1;/点亮发光二极管dt_5 = 1;if(key_can = 6)led6 = 1;/点亮发光二极管dt_6 = 1;if(key_can = 7)led7 = 1;dt_7 = 1;if(key_can = 8)led8 = 1;dt_8 = 1;/*当电梯不动时、判断是向上、还是向下*/void tiandi_shang_xia()static uchar value;
47、if(dt_s_x = 0)flag_stop = 1;if(dt_value = 1) /电梯在第1层停下不走了value = dt_2 + dt_3 + dt_4 + dt_5 + dt_6 + dt_7 + dt_8; if(value != 0)dt_s_x = 1; /电梯向上shang = 0; /显示上zhong = 0;xia = 1; if(dt_value = 2) /电梯在第2层停下不走了value = dt_3 + dt_4 + dt_5 + dt_6 + dt_7 + dt_8; if(value != 0)dt_s_x = 1; /电梯向上走shang = 0; /
48、显示上zhong = 0;xia = 1; value = dt_1; if(value != 0)dt_s_x = 2; /电梯向下走xia = 0; /显示下zhong = 0;shang = 1; if(dt_value = 3) /电梯在第3层停下不走了value = dt_4 + dt_5 + dt_6 + dt_7 + dt_8; if(value != 0)dt_s_x = 1; /电梯向上走shang = 0; /显示上zhong = 0;xia = 1; value = dt_1 + dt_2; if(value != 0)dt_s_x = 2; /电梯向下走xia = 0;
49、 /显示下zhong = 0;shang = 1; if(dt_value = 4) /电梯在第4层停下不走了value = + dt_5 + dt_6 + dt_7 + dt_8; if(value != 0)dt_s_x = 1; /电梯向上走shang = 0; /显示上zhong = 0;xia = 1; value = dt_1 + dt_2 + dt_3; if(value != 0)dt_s_x = 2; /电梯向下走xia = 0; /显示下zhong = 0;shang = 1; if(dt_value = 5) /电梯在第5层停下不走了value = dt_6 + dt_7
50、 + dt_8; if(value != 0)dt_s_x = 1; /电梯向上走shang = 0; /显示上zhong = 0;xia = 1; value = dt_1 + dt_2 + dt_3 + dt_4; if(value != 0)dt_s_x = 2; /电梯向下走xia = 0; /显示下zhong = 0;shang = 1; if(dt_value = 6) /电梯在第5层停下不走了value = dt_7 + dt_8; if(value != 0)dt_s_x = 1; /电梯向上走shang = 0; /显示上zhong = 0;xia = 1; value = dt_1 + dt_2 + dt_3 + dt_4 + dt_5; if(value != 0)dt_s_x = 2; /电梯向下走xia = 0; /
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论