电气信息学院电气应用系统设计报告-单片机模拟电梯的运行_第1页
电气信息学院电气应用系统设计报告-单片机模拟电梯的运行_第2页
电气信息学院电气应用系统设计报告-单片机模拟电梯的运行_第3页
电气信息学院电气应用系统设计报告-单片机模拟电梯的运行_第4页
电气信息学院电气应用系统设计报告-单片机模拟电梯的运行_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I单片机模拟电梯的运行摘要:随着现代城市的发展,高层建筑日益增多,电梯已经成为人们日常生活中十分常见的代步工具。但随着其使用的年限的增加,电梯安全事故时有发生,尤其是今年电梯安全事故显得格外引人注目,人们对电梯运行的可靠性提出了更高的要求,因此,我们必须努力提高电梯的性能,保证电梯的运行可靠性。传统电梯控制系统采用的时间继电器逻辑控制电路,这种控制易发生故障,维护不便,运行寿命短。鉴于此,本设计利用单片机并用C语言进行编程,实现运送乘客到任意楼层,并且显示电梯所在的楼层,设计中选择STC12C5A16S2为核心控制原件,设计一个七层的模拟电梯运行系统。设计围绕着模型材料的选取,控制程序的编写,软件和硬件的仿真以及综合调试展开,利用单片机控制步进电机、比较器以及驱动芯片的状态从而达到智能控制的目的。关键词:电梯,单片机,智能控制IIAbstract:Increasingwiththedevelopmentofmoderncity,high-risebuilding,theelevatorhasbecomeverycommoninpeopledailylifeinsteadofwalkingtool.Butwiththeincreaseoftheusefixednumberofyear,elevatorsafetyaccidentsoccurfrequently,especiallytheelevatorsafetyaccidentsthisyearisparticularlynotable,itputsforwardhigherrequirementsonthereliabilityofelevatorrunning,therefore,wemuststrivetoimprovetheperformanceoftheelevator,toensurethereliableoperationoftheelevator.TraditionalelevatorcontrolsystemUSESthetimerelaylogiccontrolcircuit,thiscontrolfailure,maintenanceinconvenience,shortoperatinglife.Inviewofthis,thisdesignUSESmicro-controllerusingClanguageprogramming,realizethepassengerstoanyfloor,anddisplaytheelevatorsfloor,choosetheSTC12C5A16S2designasthecorecontrolcomponents,designasevenlayersofelevatorrunningsimulationsystem.Designaroundtheselectionofmodelmaterials,thecontrolprogramwritten,comprehensivesimulationanddebuggingofsoftwareandhardware,usingsingle-chipmicrocomputercontrolsteppingmotor,comparator,anddrivethechipstatussoastoachievetheaimofintelligentcontrol.Keywords:elevator,SingleChipMicrocomputer,IntelligentcontrolII目录1前言.11.1设计背景.11.2设计概述.12总体方案设计.32.1方案比较.32.2方案论证.42.3方案选择.43单元模块设计.53.1单片机最小模块及红外对管模块.53.2步进电机模块.73.3ULN2003电路.83.4MAX232串口下载模块.93.5特殊器件介绍.93.6各单元模块的联接.124软件设计.134.1所用软件介绍.134.2软件设计结构图、说明其功能.144.3主要软件设计流程框图.165系统调试.175.1仿真电路总图.175.2系统仿真参数设置.175.3功能调试.175.4调试结果分析.186系统功能指标参数.196.1系统实现的功能.196.2系统指标参数测试.197结论.208设计总结.218.1设计的收获体会.218.2对设计的进一步完善提出意见或建议.219致谢.2210参考文献.23附录1:系统的单片机总程序.24附录2:元器件清单列表.33附录3:protel仿真总图.34附录4:模拟电梯实物图.35第1页1前言1.1设计背景电梯是用于高层建筑物中的固定式升降运输设备,它有一个装电梯就是用于高层建筑物中的固定式升降运输设备,它载乘客的轿厢,沿着垂直或倾斜角度小于15的导轨在各楼层间运行,是垂直运行的电梯(通常也简称为电梯)、倾斜方向运行的自动扶梯、倾斜或水平方向运行的自动人行道的总称。随着城市建设的不断发展,高层建筑不断增多,电梯在国民经济和生活中有着广泛的应用。电梯作为高层建筑中垂直运行的交通工具已与人们的日常生活密不可分电梯是制动力驱动,利用沿刚导轨运行的箱体或者固定线路运行的梯级(踏步)进行升降或者平行运送人、货物的机电设备,包括载人(货)电梯、自动扶梯、自动人行道等。1.2设计概述现代电梯由机械系统和电气系统两部分组成,它是机电一体化的产物,其机械部分就好比人的躯体,电气部分相当于人的神经,控制部分相当于人的大脑。各部分通过控制部分调度,密切协同,使电梯可靠运行。尽管电梯的品种繁多,但目前使用的电梯绝大多数为电力拖动,钢丝绳牵引式结构,其机械部分有拽引系统,轿厢和门系统,平衡系统,导向系统以及机械安全保护装置组成;而电气控制部分有电力拖动系统,运行逻辑功能控制系统和电气安全保护等系统组成。1.2.1设计目标设计一个模拟电梯。基本功能:电梯能到达有请求的楼层。在电梯内可以发出请求,到达指定楼层。到达某楼层时,该楼层灯亮。发挥部分:到达某层楼时,蜂鸣器发出提示音。到达某层楼时,数码管显示该楼层数值。电梯上行时,流水灯向上滚动显示,电梯下行时,流水灯向下滚动显示。1.2.2技术路线要实现该设计,就应把整个电路分为几大模块。分别是电机模块、单片机最小系统模块、红外对管模块、显示模块。先通过对各个模块进行设计、调试之后再将其组合起来进行整机调试。第2页1.2.3实施计划首先就是要理清实现设计的框图,在总体框图的指导下,作出具体的电路图,由要设计实现的功能,计算出各个电路元件的值,并逐一对各个元件进行选择。最后用仿真软件对设计进行仿真操作,调试软件,并对照出的设计有误的地方进行必要的修正,确保设计的正确。1.2.4必备条件要实现该电梯的设计,首要的就是要制定出设计的实现框图,并在老师的指导和参照资料的条件下作出具体电路图,选定实现实现该设计的各种元器件。另外,还应由必要的软件帮助设计的完成。第3页发出请求2总体方案设计对同一种目的的实现,可以用不同的方案,下面就着重介绍以下两种方案对同一目的的实现方法。并比较两种方案的优劣。2.1方案比较2.1.1方案一图2.1方案一的系统框图2.1.2方案二系统框图如图2.2所示。工作原理简述:图2.2方案二的系统框图接收信号单片机智能控制请求完成,没有新的请求电机运行指令,红外对管返回数据第4页2.2方案论证方案可行性分析:对于方案一不可行,STC89C51芯片不能完成需要实现的功能,且直流电机不方便控制。对于方案二可行,是在方案一的基础之上进行修改和完善的。采用的是步进电机模拟电梯运行的方式,避免了速度难以控制的问题,并且采用STC12C5A60S2系列单片机来控制电梯的运行,使运行的状况更为准确,让电路更加的明了和清楚。2.3方案选择比较方案一和方案二可以看出,方案二比方案一更加的可行,而且使用到的元器件也都是我们所常用到的一些元件比如:STC12C5A16S2、ULN2003、555、CD4511、CD4017、ULN2003、MAX232以及开关、电容、电阻等一些我们所学过、常用的基本器件也便于操作。从操作行和可行性上说方案二思路清晰,成品的使用方便等优势;从自身的势力上来说,方案二略显简单一些,但由于本次设计是第一次将单片机,电机,数字电子电和模拟电子运用于实际的电路设计中,我们尚未完全的掌握这几门知识,对电路还不能达到最优化的设计,所以综合各个方面的因数,我选择了方案二做为本次课题的主要研究对象,本文也将注重介绍方案二的设计方法。第5页3单元模块设计本节主要介绍系统各单元模块的具体功能、电路结构、工作原理、以及各个单元模块之间的联接关系;同时本节也会对相关电路中的参数计算、元器件选择、以及核心器件进行必要说明。3.1单片机最小模块及红外对管模块该部分电路要完成电梯运行程序的写入以及控制外部电路对单片机的控制。STC12C5A60S2系列单片机是STC生产的单时钟、机器周期的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8至12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位AD转换。针对电机控制,强干扰场合。3.1.1单片机最小系统如图3.1为单片机最小应用系统单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运图3.1STC12C5A60S2单片机最小系统图第6页算,逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换器及A/D转换器等电路集成到一块单块芯片上,构成一个最小,然而完善的计算机系统。这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。3.1.2红外对管电路如图3.2及3.3所示为红外对管电路,在焊制过程中由于红外对管所发出的红外线是肉眼不能看到的,因此需要通过手机的摄像头观察是否能正常工作。图3.2红外接收电路图3.3红外发射电路红外接收管如图3.2,由于红外接收管上有一种对红外线敏感的材料,当感应到红外线时接收管两端就导通,这样我们在接收管的正极接一根线出来,当收到红外时输出的就是低电平,平常没有红外光的时候就是高电平。通过这样的方式我们就能知道电梯到达几楼。红外发射电路如图3.3,发射管就和一般的LED灯没什么区别,只是发射出来的是红外线.第7页3.1.3比较器电路如图3.4所示是比较器我们用的是LM339,上图是LM119,他们之间可以通用,没什么区别。比较器顾名思义就是进行两个值得比较,当正端的电压比负端的电压高时输出端就输出高电平;反之,当负端的电压比正端的电压高时就输出低电平。由于LM339的输出端是是漏极开路的,所以当输出高电平的时候靠自身内部的电路是不能把电压拉高的,所以要加一个上拉电阻,这样在输出高电平的时候上拉电阻就起一个拉高的。图3.4比较器3.2步进电机模块如图3.5所示是步进电机。步进电机的转动主要是给电机各绕组按一定的时间间隔连续不断地按规律通入电流,步进电机才会旋转,时间间隔越短,速度就越快。在这个系统中,这个时间间隔是用定时器重复中断一定次数产生的,即调节时间间隔就是调节定时器的中断次数,因而在定时器中断程序中,要做的工作主要是判断电机的运行方向、发下一个脉冲,以及保存当前的各种状态。第8页图3.5步进电机3.3ULN2003电路3.3.1ULN2003电路如图3.6所示是ULN2003电路。ULN2000、ULN2800是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。ULN2003A电路是美国TexasInstruments公司和Sprague公司开发的高压大电流达林顿晶体管阵列电路,文中介绍了它的电路构成、特征参数及典型应用。图3.6ULN2003电路第9页3.4MAX232串口下载模块该电路如图3.7所示,由于程序绝不可能第一次编写好就可以达到预设的目的,期间要经过很多此的修正更改,故为了便于程序的调试,在此电路板上增设了一个MAX232串口下载模块,这样可以不用取下单片机去其他的电路板上下载,而可以直接在此电路板上完成了。MAX232串口下载模块如图3.7图所示。图3.7MAX232串口下载模块3.5特殊器件介绍3.5.1STC12C5A60S2芯片介绍如图3.8所示,该图为各引脚功能简单介绍如下:VCC:供电电压;GND:接地;P0口:P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。当P1口的管脚写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高;P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入“1”后,电位被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收;P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入。作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在第10页FLASH编程和校验时接收高八位地址信号和控制信号;P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)同时P3口同时为闪烁编程和编程校验接收一些控制信号;RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高平时间;ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效;PSEN:外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周期PSEN两次有效。但在访问内部部数据存储器时,这两次有效的PSEN信号将不出现;EA/VPP:当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP);XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入;XTAL2:来自反向振荡器的输出;第11页图3.8STC12C5A60S2引脚图3.5.2步进电机如图3.9所示为我们采用的4线5相步进电机。大约32g。绝缘等级A。直径:28mm电压:5V步进角度:5.625x1/64图3.9步进电机的实物图3.5.3ULN2003芯片ULN2003电路输出电流Ic、输出电压VCE和输入电流II三者之间的关系曲线如图3.随着输入电流的增加,输出电压随之降低,而随着输出电流的增加,输出电压也第12页随之增加。ULN2003电路主要用于如下领域:伺服电机;步进电机;电磁阀;可控照明灯。图3.10ULN2003电路曲线3.6各单元模块的联接详见附录2所示。第13页4软件设计4.1所用软件介绍Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。智能原理图设计(ISIS)丰富的器件库超过27000种元器件,可方便地创建新元件;智能的器件搜索:通过模糊搜索可以快速定位所需要的器件;智能化的连线功能:自动连线功能使连接导线简单快捷,大大缩短绘图时间;支持总线结构:使用总线器件和总线布线使电路设计简明清晰;可输出高质量图纸。独特的单片机协同仿真功能支持主流的CPU类型:如ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、等。实用的PCB设计平台先进的自动布局/布线功能;支持器件的自动/人工布局;支持无网格自动布线或人工布线;支持引脚交换/门交换功能使PCB设计更为合理;完整的PCB设计功能;可以输出多种格式文件。KeilC51它是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。通过其提供的丰富的库函数和功能强大的集成开发调试工具,可以完成编辑、编译、连接、调试、仿真等整个开发流程。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。Keil的网站虽然没有中文版本,但是Keil软件却被中国80%的硬件工程师使用,但凡与电子相关的专业,都会开始从单片机和计算机编程开始学习,而学习单片机自然会用到Keil软件。Keil界面有kieluvision2、kieluvision3、kieluvision4版本。鉴于keil软件的众多优点,本次设计时使用2009年2月发布的kieluvision4版本。第14页4.2软件设计结构图、说明其功能图4.1555及4017驱动流水灯图4.2电梯楼层显示图4.3红外对管检测楼层情况第15页图4.4单片机最小系统模块图4.5ULN2003驱动步进电机4.3主要软件设计流程框图STC12C5A60S2单片机控制主电路555及4017驱动流水灯ULN2003驱动步进电机电机拖动轿厢到达指定楼层红外对管发射红外线检测电梯运行情况数码管显示楼层蜂鸣器分提示音该楼层灯亮第16页5系统调试5.1仿真电路总图见附录2所示。5.2系统仿真参数设置通过几天的的理论设计与仿真设计,为了验证对在实际中运行我们的模拟电梯,我们开始进行实物的制作,我们选用木材订制模拟电梯的骨架,用胶枪把各模块之间相互粘接起来。经过一段时间的调试和陈老师的耐心指导,最后我们制作出了模拟电梯电路能实现电梯的正常运行并且完成了附加的功能,即LED灯的同步显示,蜂鸣器的提示音功能。5.3功能调试5.3.1单片机程序电路5.3.1.1调试目的测试电梯是否能够智能控制其上下运行。5.3.1.2调试实物图图5.1调试实物图第17页5.3.1.3调试结果测试中,有时不能达到预定的要求,但是经过程序的修改以及对电路板的检查,最终解决问题。测试中电梯能够达到智能控制其正确的上下运行的目的。5.3.2数码管显示电路5.3.2.1调试目的检测数码管能否正常显示轿厢所到达的楼层。5.3.2.2调试实物图图5.2调试实物图5.3.2.3调试结果刚开始时数码管显示会出现显示的数字跳变的情况,经检查为电路板焊接的时候出现了虚焊,造成了数字显示的闪烁或者跳变,重新焊接后,问题得到解决,能够正确显示预期的数字。5.4调试结果分析5.4.1调试电路已实现的功能通过先分步调试后整体调试的方法,本设计已实现了电梯的模拟运行,提示音显示,LED灯显示。5.4.2调试中遇到的问题和此电路的不足本次设计还是有许多的不足之处,比如说本次设计的电梯的功能并不强大等问题.我们在以后可以设计功能更为完善,比如说我们可以增加地下车库,也可以添加更完善的电梯运行方式,并可设置电梯无人运行时候的节能运行。只是由于时间以及个人的能力问题我们暂时还难以制作出这样的电路,就有待于今后我们在学习中认真领悟、参透。第18页6系统功能指标参数6.1系统实现的功能该系统能够实现电梯的模拟运行,能够较精确的停在制定层。明白了电梯的工作原理,挖掘现在电梯存在的各种安全隐患;在电梯原技术上对其安全度,节能指标和人性化设计进行升级。提高了我们的动手能力,合作能力,丰富了我们的知识量。6.2系统指标参数测试对于本设计系统的参数测试,总共分两步。第一步就是将自己设计的电路用软件proteus作出具体的线路图,用proteus自带的检测功能检测线路是否连接有误,直到修改线路至无误为止。第二步就是将我们的电路的各部分分开进行仿真。对此部分仿真可用到仿真软件proteus。在对每个部分仿真达到正确结果后,然后将各个模块连接起来进行整体测试。在单片机方面我们采用了keilC语言,编写了对电梯控制的相应程序。经过仿真证明我设计的模拟电梯电路工作正常。第19页7结论本设计通过分析步进电机结构、工作原理,查阅步进电机控制系统的相关科技文献,遵循实用、简单、可靠和低成本的原则,设计了一种既可用于精度要求不高,但控制需完备的场合。对本次设计,有以下结论:(1)采用单片机为控制核心,利用其强大的功能,把键盘和显示电路有机的结合起来,组成一个操作方便、交互性强的控制系统。而且整个系统所包含的技术几乎包括了现本科学校控制专业所要求的知识,有利于实践教学取得最大效果。(2)键盘电路和显示电路采用了动态扫描技术,节约了单片机资源。(3)系统软件采用结构化设计,具有易维护性,根据用户新的要求,对软件系统进行少量的修改,使系统功能得到一定程度的提高。第20页8设计总结8.1设计的收获体会我们深知自己做的工作还很不够,由于软件和硬件的各方面原因,系统的应用讨论不够,精度还有待于进一步提高。由于时间的原因,设备的原因,实验做的不好不够,相关验证性的数据、信息不够丰富。可以肯定,随着技术的不断发展,步进电机的控制应用前景将越来越宽阔,而其控制系统也将向着智能化和网络化的方向发展。本论文的研究和探讨还远远不够,我们要在现在的基础上,不断吸取新的技术和方法,并将它们应用于本课题的研究上来,进一步深化我们的研究深度,争取有更多的收获。8.2对设计的进一步完善提出意见或建议本次设计还是有许多的不足之处,比如说模拟电梯的功能不够完善,不够完善,整体电路稍显复杂,按键位置与输入电路间距较远,不方便操作,只是由于时间以及个人的能力问题我们暂时还难以设计出这样的电路,者就有待于今后我们在学习中认真领悟、参透。第21页9致谢在陈高燕老师的耐心指导关心下,我们终于得以顺利完成此次课程设计的任务。陈老师对这次课程设计抱着认真负责的态度,极力做好安排、指导、答辩等各个环节,只为我们能通过这三周的课程设计学到更多知识,更快地提高我们的能力。在陈老师的指导下,我学到了很多平时没有学到的东西,尤其是学到了很多依托我们的专业知识在实际生活中广泛应用的东西。首先感谢陈老师,因为从一开始选择课程设计的题目开始,陈老师就细心地给我们讲解我们方案实施的技术难点,并且还为我们提供我们方案所需要的重点芯片的讲解所用的文件,而且在设计的过程之中,我们遇到了不少的问题,老师也认真的给我们解惑,并安排了keilC软件的讲解,在晚上的时候还额外抽出时间给我们答疑。正是因为陈老师的帮助和指引,使我们有了明确的方向和正确的方法,才能使我们顺利完成了本次设计任务。另外,感谢帮助过我们的其他同学,在此次的设计过程中,他们给了我不少的建议和改进措施,我们一起探讨方案,改进方案。而在课程设计报告的完成上面,他们也给了我们不少的建议。最后再次谢谢在此次设计过程中给予我们帮助的老师同学!第22页10参考文献1朱清慧等Proteus教程电子线路设计、制版与仿真M北京:清华大学出版社,20082康华光电子技术基础模拟部分(第5版)M北京:清华大学出版社,20063康华光电子技术基础数字部分(第5版)M北京:清华大学出版社,20064陈明义等电子技术课程设计实用教程(第3版)M长沙:中南大学出版社,20095张家生.电机原理与拖动基础M.北京:北京邮电大学出版社,2006.6马淑华,王凤文,张美金.单片机原理与接口技术M.北京:北京邮电大学出版社,2007.7张靖武,周灵彬.单片机系统的PROTEUS设计与仿真M.北京:电子工业出版社,2007.8楼然苗51系列单片机设计实例北京:航空航天大学出版社,2004.9万长建.用单片机实现高层电梯运行自动控制.实验技术与管理.2007,5.10张娅莉.单片机在电梯自动控制中的应用.工业控制计算机.2003,2.11张毅刚.单片机原理及应用M.北京:高等教育出版社.2010.第23页附录1:系统的单片机总程序#include#include#defineuintunsignedint#defineucharunsignedcharvoiddisplay(uintzz);/楼层显示函数voiddelay(uintz);/延时函数voidchuan();/楼层传感器采集信号函数voiddianji(uintaa);/电机转动函数voidnei();/电梯内部请求voidwai1();/电梯外部请求voiddiao();/电梯转动调整-voidpwm();/电机智能处理函数voidjiaotin();/程序睡眠状态函数voidqingchu();/超出范围楼层请求处理函数voidsaomiao();voidzhantin();ucharzai,temp,fu,t,n,x1,x2,x3,x4,up11,up22,up33,down22,down33,down44;/x1,x2,x3,x4是电梯呼叫存储器uintss;sbita=P00;/步进电机转动命令sbitb=P01;sbitc=P02;sbitd=P03;sbita1=P04;/键盘输入指令sbitb1=P05;sbitc1=P06;sbitd1=P07;sbitup1=P10;/外部上升请求sbitup2=P11;sbitup3=P12;sbitdown2=P13;/外部下降请求sbitdown3=P14;sbitdown4=P15;sbitledup=P16;/上楼运行指示灯sbitleddown=P17;/下楼运行指示灯sbitch1=P20;/传感器采集信号sbitch2=P21;第24页sbitch3=P22;sbitch4=P23;sbityi=P24;sbiter=P25;sbitsan=P26;sbitsi=P27;sbitcd0=P30;sbitcd1=P31;sbitcd2=P32;sbitbeen=P33;sbitled1=P34;sbitled2=P35;sbitled3=P36;sbitled4=P37;ucharcodefen=/码数管楼层数位编码1234567890xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;ucharcodezz=0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01/步进电机正转方波输出;ucharcodeff=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09/步进电机反转方波输出;voidzhantin()/楼层之间上下人并且蜂鸣器提示ledup=0;leddown=0;been=1;delay(60000000);been=0;delay(60000000);delay(60000000);delay(60000000);delay(60000000);voidjiaotin()ss+;delay(30);/ledup=0;leddown=0;if(ss=20000)down44=0;down33=0;down22=0;up11=0;up22=0;up33=0;ss=0;/没有请求保持睡眠状态时函数/解除此次的请求第25页voiddelay(uintz)uintx,y;for(x=10;x0;x-)for(y=z;y0;y-);voidsaomiao()if(x1=1)yi=1;/此时楼层灯为低电平有效if(x2=1)er=1;if(x3=1)san=1;if(x4=1)si=1;voidpwm(uintz)/解释点击是否旋转if(zai=1/上楼处理if(zai=2if(zai=3if(zai=4/下楼处理if(zai=3if(zai=2voidqingchu(ucharz)/检验是否有选择按钮if(zai=2/解除多余的按键请求if(zai=3if(zai=4if(zai=3if(zai=2if(zai=1voidchuan()/表示当前所在楼层数据口if(ch1=1)zai=0x01;led1=1;led2=0;led3=0;led4=0;/当前在一楼if(ch2=1)zai=0x02;led1=0;led2=1;led3=0;led4=0;/当前在二楼if(ch3=1)zai=0x03;led1=0;led2=0;led3=1;led4=0;/当前在三楼if(ch4=1)zai=0x04;led1=0;led2=0;led3=0;led4=1;/当前在四楼第26页display(zai);voiddisplay(uintzz)/数码管显示程序该过程用cd4511cd0=zzcd1=zzcd2=zzvoiddianji(uintaa)/此程序执行上下楼调换aa=1上楼aa=0下楼uinttemp;if(aa=0)/调用上楼程序temp=zzt;a=tempb=tempc=tempd=tempt+;ledup=0;leddown=1;if(t=8)t=0;delay(70);a=0;b=0;c=0;d=0;/在没有工作时电机的保护休眠程序if(aa=1)/调用下楼程序temp=fft;a=tempb=tempc=tempd=tempt+;ledup=1;leddown=0;if(t=8)第27页t=0;delay(70);a=0;b=0;c=0;d=0;/在没有工作时电机的保护休眠程序voidnei()/电梯内部按键请求if(a1=0/存储按键1if(b1=0/存储按键2if(c1=0/存储按键3if(d1=0/存储按键4voidwai()/扫描外部请求if(up1=0)up11=1;/1楼有上楼请求if(up2=0)up22=1;/2楼有上楼请求if(up3=0)up33=1;/3楼有上楼请求if(down4=0)down44=1;/4楼有下楼请求if(down3=0)down33=1;/3楼有下楼请求if(down2=0)down22=1;/2楼有下楼请求/最高使数据输入口voidwai1()/最先外部请求按键函数if(up1=0)fu=1;up11=1;/表示当前楼层if(up2=0)fu=2;up22=1;if(up3=0)fu=3;up33=1;if(down4=0)fu=4;down44=1;if(down3=0)fu=3;down44=1;if(down2=0)fu=2;down44=1;voiddiao()/首先掉用电梯到当前楼层if(fu=1|fu=2|fu=3|fu=4)if(fuzai)=1)dianji(1);if(fu=zai)fu=0;delay(600000);/当到达该楼层时解除首先要请求的楼层第28页voidshuju()a=0;b=0;c=0;d=0;/步进电机口初始化chuan();/不断扫描所在楼层并显示saomiao();/楼层请求显示if(up11=0&up22=0&up33=0&down44=0&down33=0&down22=0)/外部只扫描一次ledup=0;leddown=0;/没有电梯运行请求时流水灯停止工作wai1();/并且扫描是否有外部请求diao();/调整电梯到该楼层if(up11=1&fu=0)/当第一个是一楼上楼请求时up11=1;up22=0;up33=0;down33=0;down22=0;down44=0;/锁定此程序wai();/扫描外部有效按键if(up22=1if(up33=1if(down44=1up11=1;up22=0;up33=0;down22=0;down33=0;down44=0;/锁定此程序nei();/内部选择到达楼层按钮qingchu(1);/对以前的按键无效化处理if(x2|x3|x4=0)/等待选择如果没有选择就解除该请求处理jiaotin();pwm(1);/电机旋转选择pwm可以对电机的旋转智能处理dianji(1)if(x2=1/如果二楼有请求到达二楼时处理程序if(x3=1/如果三楼有请求到达二楼时处理程序if(x4=1/如果四楼有请求到达二楼时处理程序第29页if(up22=1&fu=0)up11=0;up22=1;up33=0;down22=0;down33=0;down44=0;/锁定此程序wai();if(up33=1if(down44=1up11=0;up22=1;up33=0;down22=0;down33=0;down44=0;/锁定此程序nei();qingchu(1);if(x3|x4=0)jiaotin();pwm(1);if(x3=1if(x4=1if(up33=1&fu=0)up11=0;up22=0;up33=1;down22=0;down44=0;down3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论