单片机的电梯控制设计

上传人:笛音 文档编号:25596712 上传时间:2017-12-15 格式:DOC 页数:11 大小:376KB
返回 下载 相关 举报
单片机的电梯控制设计_第1页
第1页 / 共11页
单片机的电梯控制设计_第2页
第2页 / 共11页
单片机的电梯控制设计_第3页
第3页 / 共11页
单片机的电梯控制设计_第4页
第4页 / 共11页
单片机的电梯控制设计_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《单片机的电梯控制设计》由会员分享,可在线阅读,更多相关《单片机的电梯控制设计(11页珍藏版)》请在金锄头文库上搜索。

1、单片机原理及系统课程设计评语:考勤(10 分) 守纪(10 分) 过程(30 分) 设计报告(30 分) 答辩(20 分) 总成绩(100 分) 专 业: 自动化 班 级: 动 1101 姓 名: 孙海文 学 号: 201108537 指导教师: 赵峰 兰州交通大学自动化与电气工程学院2014 年 1 月 15 日单片机原理及系统课程设计报告11 设计任务及要求 1.1 设计题目基于单片机的三层电梯控制模型的设计1.2 设计具体要求(1) 用户可通过按键发出请求;(2) 可显示电梯所在楼层;(3) 满足用户升降要求;(4) 显示电梯升降超重状态;2 所用器件原理介绍 AT89C51 是一个低功

2、耗,高性能 CMOS 8 位单片机,片内含 4k Bytes ISP 的可反复擦写 1000 次的 Flash 只读程序存储器。AT89C51 是低功耗、高性能的CMOS 型 8 位单片机。片内带有 8KB 的 Flash 存储器,且允许在系统内改写或用编程器编程。片内有 128B 的 RAM、32 条 I/O 口线、2 个 16 位定时计数器、5个中断源、一个全双工串行口等,完全满足该课题的需要。3 系统设计本系统以 AT89C51 单片机的电梯自动控制系统为核心,有硬件设计,软件设计,软件调试等几个部分。数码管显示实时楼层,单片机通过扫描按键指示灯来读取请求,根据所在楼层的不同,进行不同的

3、分析、调度,然后做出正确的响应,更新状态并在指示灯和数码管上显示出来,还有报警器的设计,上下呼叫指示灯的部分组成。总体设计框图如图 1 所示。单片机控制系统P 0 接数码管段选L E D 指示灯键盘按键数码管P 1 . P 2 接 2 * 4 键盘P 3 P 1 口接 L E D 指示灯图 1 总体设计框图3.1 硬件设计(1) AT89C51 接口由单片机的 P0 口控制数码管的位码, P1 口控制数据的读取, P2 口控制电机运行状态、电梯运行状态和蜂鸣器状态。单片机原理及系统课程设计报告2(2) 按键控制图为了节省单片机的接口,故选用行列键盘矩阵,本电路初始按键一端都加低电平,有按键按下

4、时,电路导通给输入口 P1 输入低电平信号,然后根据按键不同功能实现电梯的控制。按键控制电路如图 2 所示。P10P13P12P1P16P15P14P27K1K2K3K4K5K6K7第 三 层 向 下第 二 层 向 上第 二 层 向 下第 一 层 向 上 电 梯 内 F1电 梯 内 F2电 梯 内 F3超 重 指 示图 2 按键控制图(3) LED 指示灯在本次设计中电机正反转用两个发光管来表示,用单片机的 P1 口做输入口来输入,其中 L1 亮表示电机正转电梯向上运行, L2 亮表示电机反转电梯向下运行,L3 亮表示超重。当电梯超重时,单片机产生低电平由 P25 口输出,同时由P17,P37

5、 口输出高电平,以此控制 LED 指示灯。LED 指示灯如图 3 所示。图 3 LED 指示灯(4) 数码管显示数显管的基本功能是具备显示当前电梯的层数。采用共阳极接法,把二极管的阳极连接到一起构成共阳极,使用时公共阳极接+5V。这样阴极段端输入低电平的段发光二极管导通点亮,而输入高电平不点亮。因为 P0 口没有上拉电阻所以不能输出高电平,所以要接上拉电阻,排阻就是好多电阻连接一起,有一个公共端输入高电平,因为采用共阳极接法,所以采用上拉。单片机原理及系统课程设计报告3数码管显示电路如图 4 所示。图 4 数码管显示(5) 蜂鸣器对于电梯超重问题的提示报警选用蜂鸣器,P25 口输出信号,为了使

6、蜂鸣器有较大的声音,给它加一个三极管放大,使其增大脉冲电流信号。蜂鸣器电路图如图 5 所示。图 5 蜂鸣器3.2 软件设计(1) 程序流程图软件设计思想:采用模块化的设计方法,不同功能由不同子程序实现。由于本设计采用单片机实现控制,其中主程序部分完成了系统初始化,定时器的工作方式,中断产生,延时等。电梯的整个软件设计包括以下几个部分:电梯逻辑控制模块、电梯运行模块、电机启动模块、电机正反转模块、楼层数显模块、键盘按键输入模块、指示灯模块、超重报警器模块。程序流程图如图 6 所示。单片机原理及系统课程设计报告4开始初始化 ( 设定电梯初始状态 )显示当前楼层 n o wn o w = = 2n

7、o w = = 1n o w = = 2 的请求分析程序n o w = = 3 的请求分析程序n o w = = 1 的请求分析程序电梯动 ?电梯动 ?电梯动 ?等待中断YNNY图 6 主程序流程图软件设计源程序如附录 2 所示。4 软件编译调试在软件调试中,采用 keil 仿真软件进行程序调试。首先分别调试各个功能程序,再对整个程序进行调试,以便修改错误码。首先在 keil 软件中选择 AT89C51作为 CPU,新建一个.c 文件,将各个功能程序录入,先检查程序有无明显错误,保存过后编译程序,当有错误时就根据提示加以修改,当各个功能程序编译完成后,再对整个程序全速执行,查看程序有哪些地方出

8、现错误,对应错误提示逐步调整程序,纠正错误直到程序正确无误。 分析实际生活中的电梯运行情况,总单片机原理及系统课程设计报告5结电梯运行规律及原则。电梯在扫描到请求后,到底是否立即响应、何时响应,总是遵循“顺路 ”的原则,若请求的运动方向与电梯现行方向相同且在该方向上继续运行即可响应该请求,则“顺路” 响应。5 硬件仿真硬件仿真使用的是 Proteus 模拟单片机外围器件的工具,它可以仿真 51 系列、AVR ,PIC 等常用的 MCU 及其外围电路(如 LCD,RAM ,ROM,键盘,马达,LED, AD/DA,部分 SPI 器件,部分 IIC 器件.) 。然后右键 AT89C51 再左键,出

9、现“Edit Componet”, 在 Program File 中单击 出现文件浏览对话框,找到 test.hex 文件,单击确定.完成添加文件,单击 OK 退出。单击仿真按钮,系统开始工作,通过按键,电梯都能完成请求,基本实现了电梯运行的模拟。首先利用 Proteus 中的器件库完成电路的连接,如附录 1 所示。6 设计总结本次课程设计主要是对单片机控制的实践,经过这一实践,让我更对单片机的工作原理、功能、应用及其常见的外围电路都有了更进一步的理解和切身的体会。无论是查资料、分析课题、设计电路、调试电路、设计软件、调试程序还是系统调试,每一步都认真的去学习,把理论知识应用到实践中,动手能力

10、得到很大提高。本次课设过程中遇到了很多问题,如数码管和按键模块的电阻阻值设置不合理,分析课题时没有抓准电梯运行的规律、原则导致程序设计的不完善,写条件语句时考虑不全面等等。这些问题不但使我深深的感到对原理知识理解、运用的缺乏,还让我体会到了许多理论与实际的差距。在解决这些问题的过程中,让我懂得了在面对不同的故障现象时,如何找出故障原因及排除故障的方法,充分锻炼了分析、解决问题的能力。单片机原理及系统课程设计报告6参考文献1 王思明 ,张金敏,张鑫等.单片机原理及应用系统设计 M.北京:北京科学出版社,2012.2 李超青.单片机原理及接口技术 M.北京:北京航空航天大学出版社 ,1999.3

11、何立民.单片机应用系统设计 M.北京:北京航空航天大学出版社 ,1990.单片机原理及系统课程设计报告7附录 1:Proteus 电路的连接图附图 1 Proteus 电路的连接图附录 2: 电梯源程序#include#include#define uint unsigned int /预定义#define uchar unsigned charuchar code LED_CODES=0xc0,0xf9,0xa4,0xb0;/字形代表码 0-3sbit weight=P27; /超重信号sbit F3D=P10; /3 楼向下按钮sbit F1U=P11; /1 楼向上按钮sbit F2D=

12、P12; /2 楼向下按钮sbit F2U=P13; /2 楼向上按钮sbit F1=P14; /电梯内 1 楼sbit F2=P15; /电梯内 2 楼sbit F3=P16; /电梯内 3 楼sbit ledu=P37; /上行指示灯sbit ledd=P17; /下行指示灯sbit ledw=P26; /超重指示灯sbit beep=P25; /超重报警sbit INA=P20; /电机信号 1单片机原理及系统课程设计报告8sbit INB=P21; /电机信号 2uchar nf=1; /当前楼层uchar cf; /呼叫楼层uchar df; /要去楼层uchar f1,f2; /楼

13、层差(电梯停止依据):f1=|cf-nf|;f2=|df-nf|uchar t1,t2; /暂存当前楼层(显示码指针):t1=nf;t2=nfuchar flag; /呼叫 flag=0,乘电梯 flag=1uchar dir; /电机方向 1-正转,0-反转uint MA; /脉冲频率uint Speed=25; /50%占空比,脉冲宽度占电机周期比/X*1MS 延时函数void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=125;y0;y-);/定时器初始化void Timer_Init()TH0=0xEC;TL0=0x78;TMOD=0x01;ET

14、0=1;EA=1;EX0=1;IT0=1;EX1=1;IT1=1;/电机运行及指示灯函数void step(uchar dir)/电机启动if(dir=1)TR0=1; /开定时器,启动电机ledu=0; /正反转指示灯ledd=1; else if(dir=0)TR0 = 1; /开定时器,启动电机ledd=0; ledu=1; else if(dir=2)TR0=0;单片机原理及系统课程设计报告9delay(50); /延时稳定电机/乘坐电梯运行,flag=1 为该运行方式标记/置乘坐运行标记;置目的楼层;若当前电梯正在 1 楼则不动作;/计算当前电梯距目标楼层的层数;置电机转向;暂存当前

15、楼层;/修改当前楼层为目的楼层;电梯运转;void Floors() /电梯内部呼叫if(F1=0)flag=1;df=1;if(df=nf)return;f2=abs(df-nf);dir=0;t2=nf;nf=df;step(dir);delay(5000);else if(F2=0)flag=1;df=2;if(df=nf)return;f2=abs(df-nf);if(dfnf)dir=1;else dir=0;t2=nf;nf=df;step(dir);delay(5000);else if(F3=0)flag=1;df=3;if(df=nf)return;f2=abs(df-nf);dir=1;t2=nf;nf=df;step(dir);delay(5000);dir=2;delay(50);/呼叫电梯运行,flag=0 为该运行方式标记/同乘坐电梯运行void Calls() /电梯外部呼叫if(F3D=0)flag=0;cf=3;if(cf=nf)return;f1=abs(cf-nf);dir=1;t1=nf;nf=cf;step(dir);delay(5000);else if(F1U=0)flag

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号