本科毕业设计方案基于单片机的电梯控制模拟系统设计样本.doc
《本科毕业设计方案基于单片机的电梯控制模拟系统设计样本.doc》由会员分享,可在线阅读,更多相关《本科毕业设计方案基于单片机的电梯控制模拟系统设计样本.doc(54页珍藏版)》请在咨信网上搜索。
本科毕业设计方案基于单片机的电梯控制模拟系统设计 本科毕业设计(论文) 基于单片机的电梯控制模拟系统设计 学院名称: 专 业: 班 级: 学 号: 姓 名: 指导教师姓名: 指导教师职称: 二〇一五年 六 月 基于单片机的电梯控制模拟系统设计 摘 要:随着我国人口老龄化的进程,目前的低层建筑对电梯的需求会日趋增加,因此本文设计一种基于AT89S52的电梯模拟控制系统,本系统成本低、通用灵活,可以大面积推广。本控制系统模拟电梯的基本功能,电梯的内外按键使用户可以选择电梯到达的楼层,数码管可以显示电梯的当前所在楼层,电梯的升降通过发光二极管显示,通过电机的正反转模拟电梯的上下行。本系统主要分为硬件部分和软件部分,硬件部分主要有单片机模块、电梯内外按键模块、电梯状态指示灯模块、楼层显示模块、电机驱动控制模块、报警模块等。软件部分使用C语言编程实现,移植性强,便于修改和调用。 关键词:单片机;电梯控制;步进电机;AT89S52 Design of Elevator Control System Based on MCU Abstract: As the process of population aging in china, the elevator needs of the low rise building will be increased. So this article introduces the elevator control system based on AT89S52. This system is general purpose and flexible as well as low cost which can promote to larger areas. This control system simulates the basic functions of the elevator. The users can use the buttons inside and outside to choose which floor to get to. LED Segment displays can show which floor the elevator stops at at present. The LEDs show the rise or descend of the elevator which simulated by the motor rotating in forward or backward direction. This system is mainly divided into hardware part and software part. The hardware part consists of single-chip module, the buttons inside and outside of elevator module, the LED display module, the floor indicator module, electric motor drive module and alarm module. The software part uses C language to program that can solve portability problem. It is easy to modify and invoke the programs Key words: MCU;Elevator control;Stepper motor;AT89S52 目 录 前言 1 第1章 方案设计 2 设计要求 2 方案的比较和论证 2 控制核心选择 2 键盘选择 2 3 系统结构框图 3 第2章 硬件电路设计与实现 4 单片机控制模块 4 4 5 5 电源设计 6 6 8 8 8 9 10 11 11 12 报警模块设计 13 13 13 14 第3章 系统软件设计方案 15 程序设计思路 15 主程序流程图 16 17 17 18 第4章 系统软硬件调试方案 19 19 19 19 20 参考文献 21 致 谢 22 附录A 整体电路原理图 23 附录B源程序 24 前言 1853年的纽约世界博览会,奥的斯向世人展示了其发明的安全升降梯,自此电梯开始在人类社会中得以广泛的运用并深刻影响着人们的生活。中国最早的一部电梯出现在上海,是由美国奥的斯公司于1901年安装的。1932年由美国奥的斯公司安装在天津利顺德酒店的电梯至今还在安全运转着。随着十一届三中全会后改革开放拉开序幕,我国电梯业进入了高速发展的时期。几乎每个城市,我们都可以看到电梯被广泛运用在各行各业。在酒店、办公大厦、购物商场、娱乐场所、仓库以及居民楼都有电梯在默默的辛苦工作。在现代社会中,电梯已成为我们生活不可缺少的一部分[1]。 电梯经过一百六十多年的发展和进步,安全已不再是电梯发展的唯一趋势。目前电梯的发展趋势主要有绿色化、节能化、智能化。绿色理念体现在电梯产品的材料环保性运行的科学性,电梯零部件可回收的利用,从而对环境无污染。节能性主要是控制电梯的能耗,减少电梯系统的惯性和摩擦阻力,合理运用对重和平衡重,而在电梯的运行模式中更注重智能化交通模式,比如如何使电梯运送最大化量的乘客,如何停靠的楼层最少等。智能化是使电梯加入到大厦智能化运行当中,使电梯提供更优质的服务质量,适应不同时间段大厦内部电梯需求的变化。 随着我国人口老龄化的发展,一些建造比较早的小区建筑以及在建的低于七层的建筑对于电梯的需求日益增加,这样的楼层需要简单便宜的电梯控制,可以大面积的推广。而对于目前电梯控制系统,多数是继电器控制或PLC控制,成本较高。基于此本次电梯模拟控制以单片机为核心,结合外围的硬件电路,通过C语言编程控制电梯运行。对于目前低层建筑对电梯的需求而言,单片机系统成本较低、通用灵活、便于控制,能够得以广泛实际的运用。 第1章 方案设计 设计要求 (1)设置电梯的内部和外部按键,电梯内有一到六层的楼层选择按键,每层楼电梯外都有相应的上下行选择按键。电梯的上下方向按用户的需求顺序进行。如果各楼层同时呼叫,则坚持先上行,后下行的原则。 (2)电梯当前所处楼层由数码管显示,电梯的上升和下降时点亮相应的发光二极管以表示。 (3)当长时间无人呼叫电梯时,电梯应停在第一层。当电梯到达呼叫楼层开门时,蜂鸣器鸣叫以提醒。电梯内设有紧急故障报警按键。 (4)电梯实际的上升和下降通过步进电进的正反转模拟。 方案的比较和论证 控制核心选择 方案一:FPGA。方案二:单片机。 本次系统的控制核心主要在FPGA和单片机中选择。FPGA运行速度快,处理能力强,可以实现很多拓展功能,但硬件复杂,成本较高。单片机设计较简单,C语言编程移植性强,通用灵活,但运行速度相对而言较慢。最终从电梯系统的成本和功能角度考虑,本次设计选择方案二,单片机作为核心控制器即可满足系统的需要。 键盘选择 方案一:矩阵键盘。方案二:独立式按键。 由于系统要求电梯内外都需要按键实现客人达到不同楼层的需要,所需的按键数量较多,虽然独立式按键比较简单,但会占用大量的I/O口。而使用矩阵键盘,可以通过8个I/O控制16个按键,节省I/O口,因此考虑到节省端口的效果,本次设计选择矩阵键盘。 方案一:三相异步电动机。方案二:四相六线制步进电机。 本次系统使用电机正反转模拟电梯上下行,步进电动机是纯粹的数字控制电动机,它将电脉冲信号转变成角位移,即给一个脉冲,步进电机就转一个角度,适合通过单片机控制。从成本控制和实际效果考虑选择方案二满足要求。 系统结构框图 基于单片机的电梯控制系统如图1-1所示,其中主要包括单片机模块、电梯内外按键模块、电梯状态指示灯模块、楼层显示模块、电机驱动控制模块、报警模块。单片机模块主控芯片为AT89S52,其为系统的核心模块[2-3],控制系统的输入输出及数据的分析处理;电梯内外按键是指电梯内有一到六层的楼层选择按键,每层楼外都有相应的上下行选择按键,满足不同的需求;电梯状态指示模块通过发光二极管显示当前电梯运行状态,每个内外按键配一只发光二极管,作为指示灯,两只发光二极管作为电梯上升和下降的指示灯,另一只发光二极管作为电梯门的状态指示灯,蜂鸣器在电梯开门时鸣响以提醒。楼层显示就是通过数码管显示电梯当前所处的楼层。电机驱动模块是接收单片机的脉冲信号来控制步进电机的正反转,模拟电梯的上下行。报警模块使用独立式按键,在紧急情况下实现电梯一键停止运行,同时蜂鸣器鸣响。 控制核心 电梯内外按键模块 楼层显示模块 报警模块 电梯状态指示模块 电机驱动控制模块 图1-1 基于单片机的电梯控制模拟系统设计框图 第2章 硬件电路设计与实现 单片机控制模块 本次电子系统设计采用AT89S52作为主控芯片。 AT89S52是一种低功耗、高性能CMOS8位微控制器[4],具有8K系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。AT89S52芯片引脚图如图2-1所示。 图2-1 AT89S52芯片引脚图 AT89S52有1000次擦写周期,三级加密程序存储器,32个可编程I/O口线,三个16位定时器/计数器,8个中断源,全双工UART串行通道,低功耗空闲和掉电模式,掉电后中断可唤醒,有看门狗定时器。 单片机中Vcc(40脚)、GND(20脚)为单片机的电源引脚,AT89S52接入+5V电压即可正常工作。XTAL1(19脚)、XTAL2(18脚)[5,6]为外接时钟引脚,XTAL1为片内振荡电路的输入端,XTAL2 为片内振荡电路的输出端。RST(9脚)为单片机的复位引脚。EA/Vpp(31脚),当EA接高电平时,单片机读取内部程序存储器[3];当EA接低电平时,单片机直接读取外部(ROM)。 时钟电路主要由一个12MHz的晶振和两个22pF电容组成,如图2-2所示,时钟电路一端和单片机的18端口和19端口连接,另一端接地。这种使用晶振配合产生时钟信号的方法称为外部时钟方式。 图2-2 时钟电路 单片机的第9管脚是复位端,当向RST端输入一个短暂的高电平单片机就会复位(维持在2个机器周期以上)[7],复位后单片机就从头开始执行程序。如果单片机执行程序的过程中触发复位,则单片机立即放弃当前操作而被强行从头开始执行程序。AT89S52的复位是由外部的复位电路来实现的。复位电路如图2-3所示,当时钟频率选用12MHz时,C1取10uF,R1取1KΩ,R2取10KΩ,电容C1充放电时间τ=R1*C1=>2us(2个机器周期)。 图2-3 复位电路 电源设计 本设计通过DC电源接口提供+5V电压给各模块使用,如图2-4所示,通过USB接口线插入DC电源接口供电。 图2-4 电源模块 电梯系统中电梯内外都需要按键,相应的指示灯也必不可少,因此需要占用大量的I/O端口,而单片机本身的端口数量是有限的,不能满足本系统的需求。这就需要对单片机的端口进行扩展满足需求,本设计中使用8255A实现I/O接口扩展[8,9]。 8255A是Intel公司生产的通用可编程并行I/O接口芯片,主要为Intel 8080/8085而设计,也可用于MCS-51。MCS-51和8255A相连可为外部设备提供三个8位I/O端口,允许采用同步、异步和中断方式传送I/O数据。其使用通用性强,提供扩展端口满足本系统需求,故选择8255A作为扩展芯片,如图2-5是8255A芯片接口引脚图。 图2-5 8255A芯片引脚图 如图2-6所示为8255A扩展单片机端口原理图,,单片机的ALE(30脚)连接到74LS373的LE(11脚)。单片机的WR(16脚)连接8255A的RD(5脚),单片机的RD(17脚)连接8255A的WR(36脚)。74LS373的Q0(2脚)、Q1(5脚)、Q2(6脚)分别命名为A0、A1、CS,与8255A的A0(9脚)、A1(8脚)、CS(6脚)对应连接。 图2-6 单片机端口扩展 74LS373是带三态缓冲输出的8D触发器,在单片机系统中扩展时,因为51单片机的P0口的地址数据复用,为了实现地址与数据的分离,将74LS373作为地址锁存器使用。其中将输入端D0~D7接至单片机的P0口,输出端提供的是低8位地址,单片机的ALE信号可以直接与74LS373的LE连接。输出允许端OE接地,表示输出三态门一直打开。OE为低电平时,此时锁存使能端LE为高电平时,输出端Q0~Q7状态与输入端D0~D7状态相同。本系统中,74LS373的输出端连接8255A的地址线A0、A1和片选信号CS。通过A0、A1的4种不同组合(00~11)选择8255的3个并行的IO口和控制寄存器。 电梯内按键模块如图2-7所示,、、、、、、R2、C1、C2、C3、C4,电梯内一到六楼的按键按标识命名与单片机端口连接。 图2-7电梯内按键 电梯外部按键如图2-9所示,、、、、、、、r3、r4、c1、c2、c3、c4,电梯外部一楼上行按键、六楼下行按键和二楼到五楼的上下行按键按标识和单片机端口对应连接。 图2-8电梯外按键 本系统使用矩阵键盘以减少I/O口的占用,在矩阵键盘中每条水平线和垂直线在交叉处不直接相连,而是通过一个按键相连接,这样4条水平线和4条垂直线最多就可以有16个按键。通过行扫描法判断被按下按键所代表的含义,行线中(~)依次输出低电平,即其某行线为低电平时,其他线输出高电平。确定某根行线为低电平后,再逐行检测各列线(~)的高低电平状态[10,11]。如果检测到某列为低电平时,则其与为低电平的行线交叉处的按键为被按下的按键。 电梯内一楼到六楼的按键都搭配其相应发光二极管作为指示灯,如图2-9所示,指示灯选择红色led,选择470Ω电阻起到限流作用。LED工作电流5mA~15mA,本系统提供的电压为5V,则限流电阻范围为330Ω~1kΩ,取470Ω满足要求。按键指示灯一端接电源,另一端从一楼到六楼的按键指示灯分别接到8255A的PA0到PA5端口。端口输出低电平点亮相应的指示灯。 图2-9 电梯内按键指示灯 电梯内一楼上行键、六楼下行键和二楼到五楼上下行键都搭配发光二极管作为指示灯,如图2-10所示,指示灯选择红色LED,选择470Ω电阻起到限流作用。按键指示灯一端接电源,另一端从一楼到六楼的按键指示灯分别接到8255A的PA6、PA7和PB0到PB7端口。端口输出低电平点亮相应的指示灯。 图2-10电梯外按键指示灯 楼层显示模块主要有CD4511、七段共阴极数码管、1kΩ电阻组成。其中CD4511是一片七段译码器,具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流[12,13],可直接驱动共阴LED数码管,满足本系统的要求。如图2-11所示为CD4511芯片管教引脚图。 图2-11 CD4511芯片管教引脚图 A0(7脚)、A1(1脚)、A2(2脚)、A3(6脚)为4511芯片的8421BCD码的输入端,VDD接电源正极,VSS接电源负极,Ya(13脚)、Yb(12脚)、Yc(11脚)、Yd(10脚)、Ye(9脚)、Yf(15脚)、Yg(14脚)为4511芯片的数据输出端,输出高电平有效。BI(4脚)是消隐输入控制端,当BI=0 时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。 LT(3脚)是测试输入端,当BI=1,LT=0 时,译码输出全为1,不管输入A0~A4状态如何,七段均发光显示8,主要用来检测数码管的好坏。 当前楼层显示模块原理图如图2-12所示,8255A的PC4到PC7脚和CD4511的A到D脚对应连接。CD4511的QA到QG脚接1kΩ电阻后与数码管的A到G脚对应连接。CD4511的LT(3脚)、BI(4脚)接电源,LE/STB(5脚)接地。 数码管的段驱动正常工作电流在3~10mA,,外接电压为5V,则限流电阻的范围是330Ω~,取1KΩ电阻满足本系统要求,数码管不会因电流过大而损坏。 图2-12楼层显示数码管 电梯的运行状态指示部分由绿色LED、红色LED、470Ω电阻组成,如图2-13所示,LED正极接电源、负极连限流电阻接8255A。上升指示灯接PC0(14脚)、下降指示灯接PC1(15脚)、开门指示灯接PC2(16脚)。 图2-13 楼层显示上下行指示灯 报警模块设计 一键报警如图2-14所示,help按键一端接地,(15脚)。R6取10kΩ起到上拉电阻作用,按键按下时,单片机15脚接收到低电平后调用报警子程序。 图2-14 一键报警设计 蜂鸣器电路由9012三极管、200Ω电阻、蜂鸣器组成,其电路如图2-15所示。(14脚)与三极管基极相连。本系统使用的9012三极管为PNP型[14],起到开关电路作用,,蜂鸣器响以提醒;。R5起到分压作用。 图2-15 蜂鸣器电路设计 本次电梯控制系统使用步进电梯模拟日常生活中电梯的运行,步进电机是将电脉冲信号转变成角位移,是一种数字控制电动机,给其一个脉冲,步进电机就转动一个角度,适合单片机的控制[15]。同时,步进电机无累计误差,精度高,控制和机械结构简单,适合本系统的要求。图2-16是本次使用的四相六线制步进电机原理图。 图2-16 四相六线制步进电机原理图 本次步进电机的型号为28BYJ-48,其电压为DC5V-DC12V。电机驱动模块如图2-17所示,由于单片机端口信号偏弱,需要通过ULN2003放大来驱动电机[16]。步进电机蓝色线、粉色线、黄色线、橙色线分别接到2003A的COM(9脚)、1C(16脚)、2C(15脚)、3C(14脚)对应的管脚。。 图2-17电机驱动 第3章 系统软件设计方案 程序设计思路 首先,不同楼层的按键都有可能被同时按下,比如电梯上升的过程中,较低楼层的用户呼叫电梯,这需要电梯的程序中及时反映当前每个按键所处的状态,哪层楼有客户的需求,并且要考虑当前呼叫电梯的楼层和目前电梯运行的方向是否一致。电梯及时规划好合理的运行方式,坚持先上升后下降的理念。 其次,应该考虑电梯在每个楼层之间运行都需要一定的时间,根据上升或下降及时点亮相应的指示灯。当电梯停在有用户呼叫的楼层时,开门和关门都需要时间,要在程序中预留相应的停等时间,同时要求开门指示灯点亮和蜂鸣器鸣叫。电梯上下行时,单片机输出信号驱动相应电机的正反转。 最后,当电梯完成运送任务后长时间无人呼叫时,各楼层的按键没有被按下时,程序中应帮助其判定当前无人乘坐或等待,电梯应默认回到第一层。 主程序流程图 图3-1 主程序流程图 如图3-1所示,系统进行初始化,设置8255A工作方式,对定时器和中断有关的寄存器初始化。当程序中上升的标志变量为1有效时,调用电机顺时针转动子程序,当程序中下降的标准变量为1有效时,调用电机逆时针转动子程序。然后调用子程序判断有无报警需求,当电梯当前运行且指示灯亮时,开始调用扫描楼层子程序和电梯上下行指示灯子程序。当电梯停止时,启动定时器0,等待电梯停留达到5s后关闭定时器0和电梯门指示灯,电梯开始运行。 图3-2 上下行指示灯流程图 上下行指示灯子程序流程图如图3-2所示,当目前所处楼层和目标楼层不一致时,如果用户所在楼层比当前楼层高,则显示上行小灯,电机正转标志变量赋值1有效;如果用户所在楼层比当前楼层低,则显示下行小灯,电机反转标志变量赋值1有效。开启楼层定时器,。 图3-3 寻找目标楼层流程图 寻找下一个楼层子程序流程图如图3-3所示,当目前电梯处于六层时,调整电梯方向为向下。当目前电梯在一楼时,调整电梯方向为向上,并且从上往下检测楼上是否有下楼的请求。当方向标志位变量为零时,处理向下运行的情况,如当前楼层有请求时,先清除当前请求,然后从当前楼依次向下搜索。当某一楼层外有呼叫或电梯内有需求时,目标标志位移到下一位,否则没有向下的请求时,则调整方向为向上。当某一楼层外有呼叫或电梯内有需求时,目标标志位移到下一位。当向上也没有请求时,电梯准备回到一楼。处理向上运行的情况,如当前楼层有请求时,先清除当前请求,然后从当前楼依次向上搜索。当某一楼层外有呼叫或电梯内有需求时,目标标志位移到下一位,扫描到第六层后,电梯方向改为向下。 第4章 系统软硬件调试方案 根据仿真好的硬件图按步骤进行硬件电路的焊接 (1)焊接单片机控制模块及其时钟电路和复位电路。 (2)焊接单片机端口扩展模块。 (3)焊接电梯内外按键模块。 (4)焊接楼层显示模块。 (5)焊接报警模块。 (6)焊接电机驱动控制模块。 首先检查电路板焊接是否有误,对照电路原理图检查元器件安装是否完整,有无漏焊、错焊的出现,使用万用表检查电路中是否出现虚焊、短路,以免上电后损伤元器件。 用万用表检测单片机的18与19脚的电压,如果在2~3V间说明单片机可以正常工作,,满足其要求。 编写简单的数码管驱动程序,以检查8255A与数码管显示电路是否能正常工作。 编写一个按键控制led灯点亮的小程序,以检测电梯内外按键模块、电梯运行指示灯模块、报警按键是否能正常工作。 编写控制电机转动的程序,以检测电机驱动控制模块是否焊接正常。 软件编程之前需要明确系统的整个工作流程,首先要画一个主程序流程图,方便自己编程的时候整体构思。程序相对较大的情况下,我们常常会编写子程序然后调用。我们需要根据具体功能分模块编写子程序,最后与主程序构成完整程序。 本次电梯模拟系统中,电梯所处的状态是整个程序成功运行的核心保证。在电梯每经过一个楼层时,就会自动调用相应的子程序,能够高效率、短时间、人性化对电梯的下一步运行作出规划,是否停靠本楼层,相应的指示灯如何显示,下一步是上升还是下降。 程序中将实际情况分为四种情况来判断:电梯上升且是送人(即电梯此时位于底层,而高层有人呼叫要上楼)、电梯上升且是去接人(即电梯此时位于底层,而高层有人呼叫要下楼)、电梯下降且是去送人(即电梯此时位于高层,而低层有人呼叫要下楼)、电梯下将且是去接人(即电梯此时位于高层,而低层有人呼叫要上楼)。 以上四种情况会是电梯面临的大部分实际情况。而首先,我们要了解电梯是如何得知此时它是上面四种的哪一种情况的呢?这可以分为两个步骤:第一判断电梯是上行还是下行;第二,判断是去接人还是去送人。然后对电梯下一步作出判断,是否有人在目前规划好的路线上有上下行的需求。最终,给电梯一条合理的运行路线。 参考文献 [1] [J].科技信息,2011,(29). [2] 李文方,[J].机械工程与自动化, 2011,(01):155-157. [3] 宾峰,唐立军,周健. 基于单片机控制的模拟电梯设计与实现[J].现代电子技术, 2014,(02):56-59,63. [4] 李广弟,朱月秀,(第3版)[M].北京航空航天大学出版,2007. [5]Tun Dong Liu,Y. Han,H. Su,Ying and Test of Express Elevator Control System[J].Materials Science Forum,2009,:521-546. [6][J].渤海大学学报(自然科学版),2004,(20):174-175. [7][J].电子制作,2014,(18):64-65. [8] [D].[硕士学位论文].沈阳:沈阳建筑大学,2011. [9][D].[硕士学位论文].厦门:厦门大学,2009. [10][J].武汉职业技术学院学报,2005,(4):58-60. [11][J].机电信息,2010,(36):142-143. [12][D].[硕士学位论文].西安:西北工业大学,2001. [13][J].商情,2014,(17):312-312. [14]曹荣敏,[J].微处理机,1998,(3):49-51. [15] (第二版)[M].高等教育出版社,2009.```````````````` [16] Zhang Xiao qing,Feng Li of PWM driver of three-phase stepping motor[J].Journal of Beijing Information Science & Technology,2001(01). 致 谢 大学四年的学习生活即将结束,毕业设计是我在校期间最后一项任务。如今,论文如期完成,心中倍感喜悦的同时更是充满了一种感激之情。 首先感谢学校为我们提供一个这样的机会,让我们有机会对大学四年来所学的专业知识进行复习实践。在毕业设计当中,特别感谢我的指导老师戴老师在这段时间对我的关怀和指导。当我在设计当中遇到困难时,戴老师总是会细心的帮助我,启发我对问题全新的思考,教会了我很多解决问题的方法。戴老师身上所体现的责任感更是教会了我以后对待工作要有严谨踏实的作风。 我也希望借此感谢大学四年所有在学习和生活上给予我帮助的老师,感谢他们让我更加体会了学高为师,身正为范的含义。 最后,感谢四年来朝夕相处的同学们,谢谢你们平日的关心和帮助,也教会了我团队集体的重要性。 附录A 整体电路原理图 附录B源程序 #include <> #include <> #include <> #include "" #define KEY_READ P1 #define PA XBYTE[0x00] /* A 口地址 */ #define PB XBYTE[0x01] /* B 口地址 */ #define PC XBYTE[0x02] /* C 口地址 */ #define COMAND XBYTE[0x03] /* 控制字地址 */ #define MOTOR0 P3_0 #define MOTOR1 P3_1 #define MOTOR2 P3_2 #define MOTOR3 P3_3 #define BUZZ P3_4 #define HELP P3_5 unsigned char up_flag = 0, down_flag = 0; unsigned char alarm_flag = 0; /* 按键值 */ unsigned key_value; /* 一共 6 层 */ Floor floor[7]; /* 电梯内部数据结构 */ Inner inner; /* 电梯状态数据结构 */ State state; /* 按键状态 */ Scan_State key_state, help_state; bit dir = 1, stop = 0; unsigned char nf = 1, cf = 1; unsigned char flag = 0; unsigned char timer1, timer2; unsigned char up_floor[7] = {0}; unsigned char down_floor[7] = {0}; static step_index = 0; unsigned int motor_flag = 0; unsigned char phasecw[4] = {0x08, 0x04, 0x02, 0x01};//正转 电机导通相序 D-C-B-A unsigned char phaseccw[4] = {0x01, 0x02, 0x04, 0x08};//反转 电机导通相序 A-B-C-D void Delay_xms(unsigned int x) { unsigned int i,j; for ( i = 0; i < x; i++ ) { for ( j = 0; j < 112; j++ ); } } /* 顺时针转动 */ void MotorCW(void) { MOTOR0 = 0; MOTOR1 = 0; MOTOR2 = 0; MOTOR3 = 1; Delay_xms(3); //转速调节 MOTOR0 = 0; MOTOR1 = 0; MOTOR2 = 1; MOTOR3 = 0; Delay_xms(3); //转速调节 MOTOR0 = 0; MOTOR1 = 1; MOTOR2 = 0; MOTOR3 = 0; Delay_xms(3); //转速调节 MOTOR0 = 1; MOTOR1 = 0; MOTOR2 = 0; MOTOR3 = 0; Delay_xms(3); //转速调节 } /* 逆时针转动 */ void MotorCCW(void) { MOTOR0 = 1; MOTOR1 = 0; MOTOR2 = 0; MOTOR3 = 0; Delay_xms(3); //转速调节 MOTOR0 = 0; MOTOR1 = 1; MOTOR2 = 0; MOTOR3 = 0; Delay_xms(3); //转速调节 MOTOR0 = 0; MOTOR1 = 0; MOTOR2 = 1; MOTOR3 = 0; Delay_xms(3); //转速调节 MOTOR0 = 0; MOTOR1 = 0; MOTOR2 = 0; MOTOR3 = 1; Delay_xms(3); //转速调节 } void MotorStop(void) { MOTOR0 = 0; MOTOR1 = 0; MOTOR2 = 0; MOTOR3 = 0; } /* 处理按键 */ void Deal_Key() { switch (key_value) { /* 1 - 6 代表电梯内部按键 */ case 1 : /* 6 楼 */ { if ( nf != 6 ) { up_floor[6] = 1; [6] = 1; /* 标志 6 楼的小灯为亮 */ } else { up_floor[6] = 0; [6] = 0; /* 标志 6 楼的小灯为亮 */ } stop = 0; break; } case 2 : /* 5 楼 */ { if ( nf != 5 ) { [5] = 1; /* 标志 5 楼的小灯为亮 */ } else { [5] = 0; } if ( nf == 6 ) { down_floor[5] = 1; } else if ( nf >= 1 && nf <= 4 ) { up_floor[5] = 1; } stop = 0; break; } case 3 : { if ( nf != 4 ) { [4] = 1; /* 标志 4 楼的小灯为亮 */ } else { [4] = 0; } if ( nf >= 5 && nf <= 6 ) { down_floor[4] = 1; } else if ( nf >= 1 && nf <= 3 ) { up_floor[4] = 1; } stop = 0; break; } case 4 : { if ( nf != 3 ) { [3] = 1; /* 标志 3 楼的小灯为亮 */ } else { [3] = 0; } if ( nf >= 4 && nf <= 6 ) { down_floor[3] = 1; } else if ( nf >= 1 && nf <= 2 ) { up_floor[3] = 1; } stop = 0; break; } case 5 : { if ( nf != 2 ) { [2] = 1; /* 标志 2 楼的小灯为亮 */ } else { [2] = 0; } if ( nf >= 3 && nf <= 6 ) { down_floor[2] = 1; } else if ( nf == 1 ) { up_floor[2] = 1; } stop = 0; break; } case 6 : { if ( nf != 1 ) { down_floor[1] = 1; [1] = 1; /* 标志 1 楼的小灯为亮 */ } else { down_floor[1] = 0; [1] = 0; } stop = 0;- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科毕业 设计方案 基于 单片机 电梯 控制 模拟 系统 设计 样本
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文