基于51单片机的电梯控制器设计要点Word文档下载推荐.docx
《基于51单片机的电梯控制器设计要点Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于51单片机的电梯控制器设计要点Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
3电梯控制系统原理分析…………………………………………………………2
3.1单片机最小系统电路的……………………………………………………2
3.2控制电路的设计……………………………………………………………3
3.2.1电梯内部呼叫电路和电机状态显示电路……………………………3
3.2.2电梯外部呼叫电路……………………………………………………3
3.2.3电机控制电路…………………………………………………………4
3.3显示楼层电路………………………………………………………………4
4程序流程图………………………………………………………………………5
4.1主程序流程图………………………………………………………………5
4.2选择要去的楼层子程序流程图………………………………………………6
5总结与体会………………………………………………………………………7
参考文献……………………………………………………………………………8
附录1………………………………………………………………………………9
附录2………………………………………………………………………………9
附录………………………………………………………………………………10
电梯控制器课程设计任务书
1.设计目的与要求
1.1基本功能
(1)显示:
本设计要求实现6层控制,实时显示电梯所在楼层位置。
(2)升降控制:
采用一台电动机的正反转来实现电梯的升降。
(3)具备不可逆响应的功能:
电梯上升途中只响应上升呼叫,下降途中只响应下降呼叫,任何反方向呼叫均无效。
1.2扩展功能
(1)可增加人性化的按键语音服务功能。
(2)可增加遥控或感应操作功能。
2.设计内容
(1)画出电路原理图,正确使用逻辑关系;
(2)确定元器件及元件参数;
(3)进行电路模拟仿真;
(4)SCH文件生成与打印输出;
3.编写设计报告
写出设计的全过程,附上有关资料和图纸,有心得体会。
4.答辩
在规定时间内,完成叙述并回答问题。
摘要:
单片机即单片微型计算机(Single-ChipMicrocomputer),是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。
其中51单片机是各种单片机中最为典型和最有代表性的一种,广泛应用于各个领域.电梯是集机械原理应用、电气控制技术、微处理器技术、系统工程学等多学科和技术分支于一体的机电设备,它是建筑中常用的交通工具。
本设计选择AT89S51为核心控制元件,设计了一个六层电梯系统,使用C语言进行编程,实现运送乘客到任意楼层,并且实时显示电梯的楼层和电梯上下情况。
利用单片机控制电梯有成本低,通用性强,灵活性大及易于实现复杂控制等优点。
关键词:
电梯AT89S51LED显示电机正反转控制楼层显示
1引言
随着人们生活水平的不断提高和国名经济的迅速发展。
各大城市建筑物在不断向高层化发展。
因此电梯在我们的生活中起着举足轻重的作用。
电梯已不仅是一种生产环节中的重要设备,更是一种人们频繁乘用的交通运输设备。
因此电梯控制技术也在不断的进步和完善,常用的控制技术主要的有两种技术:
基于PLC控制和基于单片机控制两大技术。
用PLC控制的电梯性能可靠、稳定,但是造价太高。
基于单片机控制的电梯可以大大的降低成本而且运行也较可靠,所以现在电梯控制中大多数采用单片机控制。
本文基于单片机89SC51来控制各部分电路,采用单片机构成控制系统,可大大降低成本,而且做成专用控制系统,程序被固化,加强了保密性,提高了可靠性。
2总体设计方案
电梯控制系统由外部呼叫,内部呼叫,电机控制电路,楼层显示部分等组成。
电梯在各楼层的定位本应采用行程开关或者传感器,由于条件限制,采用延时控制。
相邻楼层间升降时间设为3秒。
2.1设计思路
本次设计的总思想是,用开关按钮做单片机的控制端来做作为输入信号,说明人在那一层,用七段数码管来显示电梯位置。
当电梯到达要求的楼层时,停止、开门,并继续查询有无呼叫信号,如此循环,同时可以利用单片机外部的复位按钮使电梯复位。
用单片机来控制电机的正反转来运行电梯的上、下,用发光二极管来显示电梯是上升还是下降,并且整体电梯全部采用独立键盘来控制,各个楼层的上下按钮、电梯内部的选层按钮均用独立键盘来实现。
由于设计中有不可逆控制,当上升或下降过程中,只相应同方向的呼叫相应。
2.1总体设计框图
本电路主要由5大部分电路组成:
键盘电路、单片机最小系统电路、楼层显示电路、电机状态显示电路、电机控制电路。
其中单片机最小系统主要由复位电路和时钟电路组成。
电路复位后楼层显示数字1表示电梯此时在一楼,显示电路通过74ls164串入并出驱动8位数码管显示,电梯楼层位置是由延时电路控制的,每层之间通过3秒延时控制即每延时3秒表示电梯走了一层。
电梯状态是通过两个发光管显示的,绿灯亮表示电梯在向上运行,黄灯亮表示电梯在向下运行。
键盘电路采用独立键盘(共16个按键),其中10个按键是各层楼外呼按键,6个表示电梯内部的选择键。
电梯的正常工作是通过对单片机写入程序控制的。
总体设计方框图如图1所示:
图1.体设计方框图
3电梯控制系统原理分析
3.1单片机最小系统电路的设计
此电路组要是复位电路和时钟电路两部分,其中复位电路采用按键手动复位和上电自动复位组合,电路如图4(右)所示:
其中9脚为单片机的复位端。
时钟电路如图2(左)所示:
晶振采用的是12MHZ的,XATL2和XATL1分别为单片机的18和19脚。
图2.单片机最小系统电路图
3.2控制电路的设计
3.2.1电梯内部呼叫电路和电机状态显示电路
电梯内部呼叫电路和电机状态显示电路,如图3所示,六个目标楼层选择按键K1、K2、K3、K4、K5、K6与单片机P0口的P0.0、P0.1、P0.2、P0.3、P0.4、P0.5连接(P0口作为输出端驱动外部电路时须外接上拉电阻)。
电机状态是通过两个发光管显示的,绿灯、红灯与单片的P1.6、P1.7连接(须外接上拉电阻),绿灯亮表示电梯在向上运行,黄灯亮表示电梯在向下运行。
人进入电梯内按下要去的楼层对应的按键,就会控制电机转动,达到相应楼层。
图3.电梯内部呼叫电路和电机状态显示电路
3.2.2电梯外部呼叫电路
电梯外部呼叫电路如图4所示,按键UP1、UP2、DOWN2、UP3、DOWN3、UP4、DOWN4、UP5、DOWN5、DOWN6接单片机的P2口和P1.0、P1.1。
若按下上升键,则电梯在上升过程中只响应上升呼叫,不响应下降键;
反之亦然。
图4.电梯外部呼叫电路
3.2.3电机控制电路
电机采用普通直流电机,直流电机具有优良的调速特性,调速平滑、方便,调整范围广;
过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速启动、制动和反转。
用电机驱动芯片L298来驱动。
电机控制电路用来控制电机的正反转,当按下上升键时,电机正转,按下下降键时,电机反转。
电路如图5所示。
图5.电机控制电路
3.3显示楼层电路
显示电路的作用是实时显示电梯所在楼层,用一个八段数码管来实现,本设计用74ls164驱动数码管,其管脚1、2接单片机P3.0口,管脚8接P3.1口。
电路如图6所示。
图6.显示楼层电路
4程序流程图
4.1主程序流程图
图7.主程序流程图
4.2选择要去的楼层子程序流程图
图8.选择要去的楼层子程序流程图
5总结与体会
通过这次单片机实习,使我在各方面都有了很大的提高,特别是在单片机编程方面让我有了很大的进步。
以前学习理论知识的时候我就对一些指令的应用不理解,现在自己动手编程了,通过这前两星期查找资料和单片机的实例应用,我对以前的不懂知识进行了全面的复习和新的学习。
这次实习在硬件设计方面我没遇到多大的问题,遇到的主要问题是在软件设计方面,由于刚开始我对编程没一点经验,所以没有很好的设计思路就开始编程了,结果刚编的过程中遇到了很多的问题,最后经过同学的帮助,我的程序才慢慢的编成了。
我设计的电梯自动控制用到了电机我们用二极管模拟,实物出来时,没能成功实现功能,让我们知道了理论与实际的差距,也意识到理论与实际相结合的重要性。
在写程序时需要极大的耐心,一点一点的改正,达到想要的效果,使自己的编程能力不断的提高!
参考文献:
[1]沈德全.mcs51系列单片机接口电路与应用程序实例[M].北京:
北京航空航天大学出版社
[2]张毅刚,彭喜元.单片机原理与应用设计[M].北京:
电子工业出版社,2008.4
[3]张大明.单片机微机控制应用技术[M].北京:
机械工业出版社,2006.4
[4]刘瑞新.单片机原理及应用教程[M].机械工业出版社,2003.7
[5]李朝青.单片机原理及接口技术[M].北京:
北京航空航天大学出版社,2006
附录1:
总体电路图
附录2:
PCB电路图
附录3:
原程序
#include<
reg51.h>
#include"
电梯.h"
sbitk1=P0^0;
sbitk2=P0^1;
sbitk3=P0^2;
sbitk4=P0^3;
sbitk5=P0^4;
sbitk6=P0^5;
sbitLedDown=P0^6;
sbitLedUp=P0^7;
sbitup1=P2^0;
sbitup2=P2^1;
sbitdown2=P2^2;
sbitup3=P2^3;
sbitdown3=P2^4;
sbitup4=P2^5;
sbitdown4=P2^6;
sbitup5=P2^7;
sbitdown5=P1^0;
sbitdown6=P1^1;
sbitd11=P1^2;
sbitd12=P1^3;
sbitd21=P1^4;
sbitd22=P1^5;
sbitpwm1=P1^6;
sbitpwm2=P1^7;
voidDianTiKey();
#defineucharunsignedchar
charKeyValueOld;
//内部按键上次值
charKeyValueOOld;
//外部按键上次值
charNowFloor;
//当前所在楼层
charKeyValue;
//电梯内部按键暂存值
charKeyValueO;
//电梯外部按键暂存值
charGoFloor[5];
//要去楼层暂存GoFloor[1]=12楼在呼叫上升GoFloor[1]=22楼在呼叫下降
chart;
//电梯运行/停止标/上升/下降志位t=0电梯没有运行t=11电梯在上升t=10电梯下降
ucharcodeplay[]={0xff,0xd7,0x32,0x92,0xd4,0x98,0x18};
//串口显示字型码
unsignedintTimeValue;
//