单片机课程设计电梯模拟系统.
基于STC89C52单片机的模拟电梯控制系统

基于STC89C52单片机的模拟电梯控制系统1. 引言1.1 背景介绍电梯作为现代城市的重要交通工具,已成为人们生活中不可或缺的一部分。
随着城市化进程的不断加快,电梯的使用频率也越来越高。
传统的电梯控制系统通常采用机械和电气联动的方式,存在一定的局限性和安全隐患。
为了提高电梯系统的性能和安全性,基于单片机的模拟电梯控制系统应运而生。
基于STC89C52单片机的模拟电梯控制系统可以实现对电梯的控制和管理,提高电梯的运行效率和舒适度。
通过对电梯运行状态的监控和调度,可以有效减少用户等待时间,提高电梯的运行效率。
系统还可以实现对电梯的故障检测和报警处理,提高电梯的安全性和可靠性。
本文将对基于STC89C52单片机的模拟电梯控制系统进行详细设计和研究,探讨其在实际应用中的性能和效果。
通过对系统的硬件设计、软件设计、系统测试等方面的分析和研究,为电梯控制系统的进一步改进和优化提供参考和借鉴。
1.2 问题提出在电梯运行过程中,存在一些问题需要解决,比如电梯的误操作、控制系统的稳定性和可靠性等。
这些问题可能会对乘客的安全和舒适性产生影响,因此需要一个高效可靠的电梯控制系统来解决这些问题。
基于STC89C52单片机的模拟电梯控制系统,可以有效解决电梯运行过程中的各种问题。
通过硬件设计、软件设计和系统测试等步骤,可以实现电梯的自动控制、运行状态监控和故障处理等功能。
对电梯性能进行分析和改进,可以提高电梯的运行效率和安全性,从而提升乘客的出行体验。
研究基于STC89C52单片机的模拟电梯控制系统具有重要的实践意义和应用价值。
通过对电梯控制系统的研究,不仅可以提高电梯的运行效率和安全性,还可以为相关领域的研究提供参考和借鉴。
1.3 研究意义电梯在现代生活中扮演着至关重要的角色,它不仅提高了人们的生活质量,还提高了建筑物的效率。
随着城市化进程的加快和建筑高度的增加,对电梯运行的安全性、效率性和智能化要求也越来越高。
基于STC89C52单片机的模拟电梯控制系统的研究意义在于应用现代控制技术,提高电梯系统的性能,更好地满足人们日益增长的需求。
基于单片机的6层电梯模拟控制系统设计课程设计(论文)

单片机的6层电梯模拟控制系统设计1设计目的这次设计给出了一种基于AT89C52单片机的电梯模型控制系统设计。
以单片机为核心,再辅以适当的硬件电路和控制程序来检测和控制整个电梯的信号,具有成本低、通用性强、灵活性大、扩展容易及易于实现复杂控制等优点。
2 方案设计2.1 设计要求(1)设置电梯的内外按键,即电梯外都有上或下的按键,电梯内有楼层的选择按键。
(2)电梯状态要有指示灯显示,即电梯目前运行到达楼层的实时显示,电梯升降的状态显示等。
(3)电梯无人时,应默认停在第一层。
2.2 系统的结构框图图2-1 系统的结构框图如上图2-1所示,楼层电梯呼叫按键就是楼层外面的上行、下行按键,有需求时即可按下;电梯内呼叫按键就是电梯内部的数字按键,它是内部按键需求的输入;单片机就是整个系统的核心,接收输入信息,经过处理后输出信息;楼层显示数码管就是接收单片机处理的信息,显示此时的楼层数;电梯状态指示灯就是接收单片机处理的信息,显示电梯的状态:上升、下降、停止。
电动机的驱动和控制就是接收单片机的PWM脉冲信号来控制驱动器,进而控制电动机的正反转,使电动机牵引电梯做上下运动。
12.3 电动机的选择我们选用Y100L24三相异步电动机,因为它还具有性能好、寿命长、可靠性高、维护方便、启动转矩大等优点,其功能参数为额定电压380V ,额定频率50HZ ,额定功率3000W ,额定转速1400转/分。
2.4 AT89C52单片机这次设计采用的是AT89C52单片机,AT89C52是一个低电压,高性能CMOS 8位单片机,器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash 存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
其外形及引脚排列如图2-2所示:12345678101112131415161721222324252627323334353637383919189293031P1.2P1.3P1.4P1.5P1.6P1.7P1.0/T2P1.1/T2EX RSTTXAL1TXAL2PSEN ALE EAAT98C52P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A1528P3.0/RXD P3.1/TXD P3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WR P3.7/RD图2-2 AT89C52单片机外形及引脚排列3 硬件系统的设计3.1 硬件设计思路电梯最底层为1楼,因此在1楼仅有上升按键,而电梯最高层为6楼,因此6楼 应仅有下降按键。
51单片机模拟智能电梯系统代码及注释

#include<>#define uint unsigned int#define uchar unsigned char〃延时程序,以毫秒为单位,用软件计时,输入的参数为毫秒数void Delay_ms( uint Time);〃电梯向上走void Up();I〃电梯向下走void Down();〃报警函数void Warnning();〃获取目的楼层void Destination();//显示某一楼层void Display( uchar n, uchar a);//闪烁显示到达的楼层void Flash( uchar a);//点阵键盘扫描uchar KBScan();//延时void dl_ms();//解析出按键所代表的楼层uchar Reprsent();#include ""uchar code TAB[16]= (0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71);sbit P0_0 = P0A0;sbit P0_1 = P0A1;sbit P0_2 = P0A2;sbit P0_3 = P0A3;sbit P0_4 = P0A4;sbit P0_5 = P0A5;sbit P0_6 = P0A6;s bit P0_7 = P0A7;sbit P1_0 = P1A0;uchar lift = 1;〃电梯所在的楼层uchar destination1 = 1;〃电梯的目的楼层uchar flag = 0;〃进入电梯程序的标志uchar key;〃按键的键码uchar request[] = {0, 0, 0, 0, 0, 0, 0, 0, 0);//1-8 楼有无请求,有请求为 1uchar status = 1;//电梯往上还是往下走,1为上,0为下//报警的响声的频率产生void Timer1() interrupt 3 { P1_0=-P1_0;TH1 = 0xfc;TL1 = 0x0c;) int main(){'uchar i;P0 = 0xff;P2 = 0x76; //数码管‘H’EA = 1; //开启外部中断INT0EX0 = 1;IT0 = 1;while(1) //检查flag 标志{ //flag初始化为0if(flag == 1) 〃在中断中将其置1break;P1 = 0x01; 〃数码管跑马显示HDelay_ms( 100); //flag置1后则进入电梯程序for(i = 0; i < 5; ++i) (P1 = P1 << 1;Delay_ms( 100);) 一)while(1) 〃电梯程序的循环(if( (key = KBscan()) == 0x77) 〃若点阵按键右下角的按键(其代码为0x77)按下(Warnning(); 〃则报警) else (Destination(); 〃查询有无楼层请求到达if( destination1 >= lift) 〃请求的楼层比要到达的楼层高(Up(); 〃电梯向上走) else (〃否则电梯向下走;Down();)))return 0;)〃中断请求,将flag置1,表示要进入电梯程序void Int0() interrupt 0(flag = 1;)〃延时程序,以毫秒为单位,用软件计时,输入的参数void Delay_ms( uint Time)( 一uint i = 0, j = 0;for(i = 0; i < Time; ++i) (for(j = 0; j < 125; ++j);〃电梯向上走void Up() (uchar n, m; //n为所在楼层,m 为存储查询有无楼层请求的变量( uchar i;〃循环控制status = 1;〃置1表示电梯向上走for( n = lift; n <= destination1; ++n) 〃电梯到达目的楼层之前往上走(Display( n, 1); //没到达一楼就显示该楼层数lift = n;m = Represent(); if( m == 9) (Warnning();) else (request[m] = 1;)for(i = 1; i <= 8; ++i)〃若请求到达的楼层在所在楼层和目的楼层之间{〃则停下闪烁显示if( request[i] == 1 && i == n) //并将其对应的 request 清零{request[i] = 0; Flash( 1); ))) --n; lift = n;( Flash( 1);〃到达目的楼层闪烁显示该楼层)//电梯向下走void Down() {uchar n, m; //n为所在楼层,m 为存储查询有无楼层请求的变量uchar i;//循环控制//读取点阵键盘//报警键按下则报警〃有楼层请求到达〃将对应的request 置1for(i = 1; i <= 8; ++i)〃若请求到达的楼层在所在楼层和目的楼层之间{〃则停下闪烁显示if( request[i] == 1 && i == n) //并将其对应的 request 清零{request[i] = 0; Flash( 0);))) ++n; lift = n; Flash( 0);〃到达目的楼层闪烁显示该楼层)〃报警函数void Warnning() {TMOD = 0x10; //T1定时器初始化ET1 = 1; TH1 = 0xfc; TL1 = 0x0c; TR1 = 1; while(1) {P1=0x04; P2=0x07; Delay_ms( 5); P1=0x08; P2 = 0x3f; Delay_ms( 5); P1=0x10;status = 0;〃置1表示电梯向上走for( n = lift; n >= destinationl; --n) 〃电梯到达目的楼层之前往下走(Display( n, 0);楼层数lift = n;m = Represent(); if( m == 9) (Warnning();) else%(request[m] = 1;)//没到达一楼就显示该〃读取点阵键盘//报警键按下则报警〃有楼层请求到达〃将对应的request 置1P1=0x02; P2 = 0x6D; Delay_ms( 5); //显示STOPP2=0x73;Delay_ms( 5);if( KBScan() != 0x77) 〃报警键没有按{ 〃则跳出,并停止喇叭响break;) ))¥〃获取目的楼层void Destination() {uchar j, n; 〃j循环控制变量,n存储度点阵键盘变量n = Represent(); 〃有键按下request[n] = 1; 〃其对应的楼层request 置 1if( status == 1) 〃若电梯向上走则从高楼层到低楼层扫描〃以此达到判断优先级的目的!{for(j = 8; j >= 1; --j) {if( request[j] == 1){request[j] = 0; 〃哪一层有请求destination1 = j; 〃则将目的楼层设为该楼break; 〃并将其对应的request置1,然后跳出)),)else if( status == 0) 〃若电梯向下走则从低楼层到高楼层扫描{ 〃以此达到判断优先级的目的for(j = 1; j <= 8; ++j){if( request[j] == 1){request[j] = 0;destination1 = j; break;))〃显示某一楼层void Display( uchar n, uchar a)( uchar i, b;" 一一if(a == 1)( b=0x73;)else if(a == 0)( b = 0x5E;)for(i = 0; i < 60; ++i)P1=0x20;P2 = b;Delay_ms( 10);P1 = 0x02;P2 = TAB[n];Delay_ms( 10);//闪烁显示到达的楼层void Flash( uchar a) (uchar i, j, b;uchar m;if(a == 1) //a=1 表示向上(b = 0x73; //七段码P)表示向下/ else if(a == 0) //a=0(b = 0x5E; //七段码 d) for(i = 0; i < 5; ++i) {m = Represent(); 〃闪烁时判断有无楼层请求到达 request[m] = 1; for(j = 0; j < 15; ++j) 〃闪烁显示楼层和P 或者d(P1=0x20; P2 = b; Delay_ms( 10); P1 = 0x02; P2 = TAB[lift];Delay_ms( 10);)一for(j = 0; j < 15; ++j) (P1 = 0x20; P2 = b; Delay_ms( 10); P1 = 0x02; P2 = 0x00;Delay_ms( 10);}一)}》#include ""〃延时void dl_ms()( 一uchar i;for(i = 0; i < 200; ++i);〃点阵键盘扫描uchar KBScan() (uchar sccode, recode; //sccode 低位,recode 高位uchar i, a; //i循环控制,a 读取P0 口P0 = 0x0f;if( (P0 & 0x0f) != 0x0f) //有无键按下(dl_ms();〃消抖延时 if( (P0 & 0x0f) != 0x0f)〃有键按下则继续recode = 0x7f; for(i = 1; i <= 4; ++i) (〃先显示P 或者d 以及楼层数〃再显示P 或者d 而不显示楼层数〃以此达到闪烁的目的P0 = recode; 〃从P0的最高位开始扫描,即点阵键盘第四行if( (P0 & 0x0f) != 0x0f)# {a = P0; 〃若该行有键按下,则返回其代码sccode = a & 0x0f;recode = recode & 0xf0;return (sccode + recode);)else{recode = (recode >> 1) | 0x80; //若没有则扫描其上面一行))))return 0; )//解析出按键所代表的楼层uchar Represent(){uchar key, n;key = KBScan();switch( key){case 0xee: n = 1; break; case 0xed: n = 2; break; case 0xeb: n = 3; break; case 0xe7: n = 4; break; case 0xde: n = 5; break; case0xdd: n = 6; break; case 0xdb: n = 7; break; case 0xd7: n = 8; break; case 0x77: n = 9; break; default: n = 0; break;)return n; )。
单片机模拟电梯系统设计

计算机接口技术实习报告◆姓名:王雪鑫◆学号:10◆班级:计081◆指导教师:***◆专业:计算机科学与技术长春建筑学院电子系计算机教研室2011年10月28日课程设计任务书(单片机原理及应用)单片机模拟电梯系统设计摘要:本设计以51系列单片机设计硬件平台,选用AT89S52单片机,通过单片机C语言编程,实现利用数码管显示电梯所在楼层,跑马灯模拟电梯开门和关门操作,4×4矩阵键盘控制到达楼层的选择,蜂鸣器做电梯到达提示音,步进电机模拟电梯的驱动。
关键字:AT89S52 移位寄存多相时序控制正文:一、模拟电梯运行效果概述假设人已经进入电梯,数码管此时显示电梯所在层数,触发按键启动电梯,流水灯依次由两边向中间点亮提示电梯门关闭,并一直保持全亮,接下来步进电机启动,电梯开始上升(步进电机正转)或下降(步进电机反转),同时数码管同步显示电梯所在的层数,当到达目标楼层后,步进电梯停止转动,此时蜂鸣器连续响三次提示乘客已到目标楼层,之后流水灯由中间依次向两边熄灭指示电梯门打开,到此一次完整的电梯乘坐过程演示完毕。
二、硬件电路设计1、芯片及器件介绍①AT89S52 :一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。
使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。
②74LS164 : 高速硅门 CMOS 器件,与低功耗肖特基型 TTL (LSTTL) 器件的引脚兼容。
74HC164、74HCT164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。
数据通过两个输入端(DSA 或 DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。
基于单片机的电梯仿真程序课程设计

目录(一)前言 (1)(二)现代电梯概述 (3)(三)硬件部分设计 (6)(四)软件部分设计 (12)(五)电梯运行界面 (52)(六)设计总结与感悟 (56)(七)参考文献 (57)电梯仿真程序一、前言:本电梯仿真程序采用的是一个基于单片机及其相关外设,编程语言采用汇编与C语言结合的方式,通过矩阵键盘线反选法输入楼层,上、下行等控制信号,经I\O口读入,进行相关实时控制,软硬件结合的仿真系统,输出设备包括由CD4511驱动显示楼层的7段数码管,显示实时信息的显示屏LCD12864,由PWM控制显示电梯门开关的舵机,以及由I\O口间接控制的驱动电机正反转双桥驱动电路等几个部分组成。
可以实现真实电梯中,任意层呼叫,目的层到达按要求顺序到达,开关门,无输入自动回1层等一系列功能,并实时显示当前电梯运行状态,关于真实电梯门控光幕装置,电机自动抱闸平层等部分,由于知识不足,没有足一实现,但会在接下来的专业知识学习过程中不断完善,同时也希望得到程老师的指导。
二、现代电梯概述:电梯是一种以电动机为动力的垂直升降机,装有箱状吊舱,用于多层建筑乘人或载运货物。
也有台阶式,踏步板装在履带上连续运行,俗称自动电梯。
服务于规定楼层的固定式升降设备。
它具有一个轿厢,运行在至少两列垂直的或倾斜角小于15°的刚性导轨之间。
轿厢尺寸与结构形式便于乘客出入或装卸货物,本次微机课程设计电梯仿真选用的是垂直升降梯。
2.1、电梯功能现代电梯主要由曳引机(绞车)、导轨、对重装置、安全装置(如限速器、安全钳和缓冲器等)、信号操纵系统、轿厢与厅门等组成。
这些部分分别安装在建筑物的井道和机房中。
通常采用钢丝绳摩擦传动,钢丝绳绕过曳引轮,两端分别连接轿厢和平衡重,电动机驱动曳引轮使轿厢升降。
电梯要求安全可靠、输送效率高、平层准确和乘坐舒适等。
电梯的基本参数主要有额定载重量、可乘人数、额定速度、轿厢外廓尺寸和井道型式等。
简单使用方法(紧急情况下面有解决方法)载人电梯都是微机控制的智能化、自动化设备,不需要专门的人员来操作电梯电梯结构图电梯内部结构图驾驶,普通乘客只要按下列程序乘坐和操作电梯即可。
《单片机电梯模拟》课件

系统设计
硬件设计
了解选择单片机型号、电机控制模块、按键输 入模块、显示模块和电源模块的设计过程。
软件设计
详细介绍状态机设计、按键中断处理、电机控 制算法、显示控制算法和故障处理算法的实现 原理。
系统实现
1
硬件实现过程
分享电路连接的详细步骤,并展示实现过程中的关键挑战。
2
软件实现过程
呈现单片机程序的编写过程,并探讨在实现过程中遇到的问题和解决方案。
系统测试
1
系
效果展示
2
层选择、开关门等,并呈现测试结果。
展示我们实现的电梯系统在实际运行 中的流畅性和效果。
总结
设计优化思路
讨论如何进一步优化电梯系统的硬件和软件设计,以提高性能和可靠性。
实际应用前景
探索单片机电梯模拟在实际应用中的潜力,以及可能的推广和扩展方向。
《单片机电梯模拟》PPT 课件
这是我们的《单片机电梯模拟》PPT课件,让我们一起探索电梯的运行原理, 以及单片机在控制电梯中的优势。
背景介绍
电梯的运行原理
探索电梯是如何运行的,从电机、控制器到传感器,了解电梯操作的关键要素。
单片机控制电梯的优势
探讨使用单片机进行电梯控制的好处,如可编程性和准确性。
本科毕业设计(基于单片机的电梯控制模拟系统设计)

本科毕业设计(基于单片机的电梯控制模拟系统设计)本科毕业设计(基于单片机的电梯控制模拟系统设计)本科毕业设计(论文)基于单片机的电梯控制模拟系统设计学院名称:专业:班级:学号:姓名:江苏理工学院毕业设计说明书(论文)指导教师姓名:指导教师职称:二〇一五年六月基于单片机的电梯控制模拟系统设计摘要:随着我国人口老龄化的进程,目前的低层建筑对电梯的需求会日趋增加,因此本文设计一种基于AT89S52的电梯模拟控制系统,本系统成本低、通用灵活,可以大面积推广。
本控制系统模拟电梯的基本功能,电梯的内外按键使用户可以选择电梯到达的楼层,数码管可以显示电梯的当前所在楼层,电梯的升降通过发光二极管显示,通过电机的正反转模拟电梯的上下行。
本系统主要分为硬件部分和软件部分,硬件部分主要有单片机模块、电梯内外按键模块、电梯状态指示灯模块、楼层显示模块、电机驱动控制模块、报警模块等。
软件部分使用C语言编程实现,移植性强,便于修改和调用。
关键词:单片机;电梯控制;步进电机;AT89S52Design of Elevator Control System Based on MCUAbstract: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 programsKey words: MCU;Elevator control;Stepper motor;AT89S52目录前言 (1)第1章方案设计 (2)1.1 设计要求 (2)1.2 方案的比较和论证 (2)1.2.1 控制核心选择 (2)1.2.2 键盘选择 (2)1.2.3电动机选择 (3)1.3 系统结构框图 (3)第2章硬件电路设计与实现 (4)2.1 单片机控制模块 (4)2.1.1主控芯片 (4)2.1.2时钟电路设计 (5)2.1.3复位电路设计 (5)2.2 电源设计 (6)2.3单片机端口扩展设计 (6)2.4电梯内外按键模块设计 (8)2.4.1电梯内按键设计 (8)2.4.2电梯外按键设计 (9)2.4.3电梯内按键指示灯设计 (10)2.4.4电梯外按键指示灯设计 (10)2.5楼层显示模块设计 (11)2.5.1当前楼层显示设计 (11)2.5.2电梯运行状态指示灯设计 (12)2.6 报警模块设计 (13)2.6.1报警按键设计 (13)2.6.2蜂鸣器电路设计 (13)2.7电机驱动控制模块设计 (14)第3章系统软件设计方案 (15)3.1 程序设计思路 (15)3.2 主程序流程图 (16)3.3部分子程序流程图 (17)3.3.1上下行指示灯子程序 (18)3.3.2寻找目标楼层子程序 (19)第4章系统软硬件调试方案 (20)4.1硬件电路的制作与调试 (20)4.1.1硬件电路的制作 (20)4.1.2硬件电路的调试 (20)4.2软件调试 (21)参考文献 (22)致谢 (23)附录A 整体电路原理图 (24)附录B源程序 (25)前言1853年的纽约世界博览会,奥的斯向世人展示了其发明的安全升降梯,自此电梯开始在人类社会中得以广泛的运用并深刻影响着人们的生活。
基于C51单片机的模拟电梯系统设计报告

单片机原理与应用技术课程设计报告基于C51单片机控制的电梯自动控制系统专业班级: _____计算机xx_____姓名: ___xxx__时间: ______2012年6月 __指导教师: ______xxx _____一、设计要求1.基本功能:(1)显示:本设计要求实现5层控制,实时显示电梯所在楼层位置。
(2)升降控制:采用一台步进电机的正反转来实现电梯的升降。
(3)具备不可逆响应的功能:电梯上升途中只响应上升呼叫,下降途中只响应下降呼叫,任何反方向呼叫均无效。
2.设计内容:(1)基于功能进行初步设计;(2)编写代码,实现功能;(3)完成课程设计报告。
二、电梯控制系统原理1.系统总体实现原理:本电梯模拟系统是基于C51单片机、4*4矩阵式键盘、步进电机和LED数码管来实现的。
通过4*4矩阵式键盘输入控制信息,C51单片机程序处理后来直接控制步进电机转动、LED 数码管显示。
电梯运行基本过程是:电梯默认初始停在一楼,LED数码管显示1,当按键按下1~5中的数时,通过程序进行判断是否升降(即步进电机正转反转)、升降几层(转几圈)。
与此同时,LED 数码管显示当前所在楼层(1~5)。
电梯在升降过程中,按其他键无效,即只有在电梯停下后,才可以进行下一轮的升降。
另外,站在电梯外边的人可以通过按上下键(一层只有上键,五层只有下键)来控制电梯到人所在楼层,例如,你站在3层,你按了上键,电梯不论在1~5层的哪一层都会先升降到3层,然后你进电梯,向前面所说的进行控制电梯升降。
图1 设计电路总框图3938373635343332212223242526272829301110图2 单片机最小系统电路2.各组成部分原理: (1)信号输入电路现以呼叫信号的输入为例,来说明信号输入及单片机识别原理。
如图3所示,采用P0口外接上拉电阻的并行输入形式,来输入外呼叫信号,本电路采用4×4矩阵键盘,列扫描法识别键值的原理,具体原理如下:a) 判断键盘中有无键按下:将全部行线P0.0-P0.3置低电平,列线P0.4-P0.7置高电平,然后检测列线的状态。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
黑金学院本科生课程设计《单片机原理及应用》课程设计设计题目:基于AT89C52电梯模拟控制系统设计专业:电子信息科学与技术班级:2012 级学生姓名:××学号:指导教师:张三丰(副教授)2015年01月基于AT89C52电梯模拟控制系统设计××(琼州学院电子信息工程学院,海南三亚 572022)摘要:本设计是利用AT89C52单片机控制的多层电梯模拟控制系统,主要包括硬件系统的设计、软件系统的设计及模拟电路的仿真调试。
本设计主要是利用中断电路控制电梯的响应和电机的驱动,是专门为楼层快速通行控制设计的智能系统。
此外,利用单片机控制电梯有成本低、通用性强、灵活性大及易于实现复杂控制等优点。
关键词:AT89C52单片机;仿真调试;电梯1.设计任务1.1设计目的目前电梯控制系统大多采用继电器或者可编程控制器(PLC)的控制方式,存在着成本高,需要三相供电等缺点,本设计给出了一种基于单片机的电梯模型控制系统设计。
以单片机为核心,再辅以适当的硬件电路和控制程序来检测和控制整个电梯的信号,具有成本低、通用性强、灵活性大、扩展容易及易于实现复杂控制等优点。
本设计注重基本理论知识与实际情况的紧密结合,同时对学生独立创新和分析问题的能力进行培养,加深对知识的理解,为以后的工作和学习打下坚实的基础。
1.2方案论证1.2.1设计要求(1)设置电梯的内外按键,即电梯外都有上或下的按键,电梯内有楼层的选择按键。
(2)电梯状态要有指示灯显示,即电梯目前运行到达楼层的实时显示,电梯升降的状态显示等。
(3)电梯无人时,应默认停在第一层。
1.2.2系统的结构框图图1.1 系统的结构框图如图1.1所示,楼层电梯呼叫按键就是楼层外面的上行、下行按键,有需求时即可按下;电梯内呼叫按键就是电梯内部的数字按键,它是内部按键需求的输入;单片机就是整个系统的核心,接收输入信息,经过处理后输出信息;楼层显示数码管就是接收单片机处理的信息,显示此时的楼层数;电梯状态指示灯就是接收单片机处理的信息,显示电梯的状态:上升、下降、停止。
电动机的驱动和控制就是接收单片机的PWM脉冲信号来控制驱动器,进而控制电动机的正反转,使电动机牵引电梯做上下运动。
2.电路设计与参数计算2.1 硬件系统的设计与参数计算2.1.1 硬件设计思路与计算电梯最底层为1楼,因此在1楼仅有上升按键,而电梯最高层为6楼,因此6楼应仅有下降按键。
其他楼层则既有上升按键,也有下降按键。
在电梯内部按键设置方面,则应有1~6楼的各层选择按键。
按键的一端接地,另一端通过集成电路芯片连至单片机引脚。
这里,由于按键数量很多,又要求电梯控制系统能以最快速度响应按键的需求,因此,所有按键通过与门连接单片机。
用五片双4输入与门74LS21即可实现16个按键对象的集体与运算的最终结果,按键动作最终是送到单片机的INT0端。
即:INT0←(P1.0*P1.1*P1.2*P1.3)*(P1.4*P1.5*P1.6*P1.7)*(P3.0*P3.1*P2.0*P3.3)*(P3.4*P3.5*P2.1*P2.2)无论哪一个按键有动作,低电平信号就会送到INT0端,从而引发外部中断0服务子程序运行。
当定时器0中断时,单片机向电动机发送PWM脉冲信号,电动机接到脉冲信号后,经过驱动器的驱动,电动机便牵引电梯上下运动。
电梯的楼层显示用七段数码管完成显示。
本设计电梯只有6层,因此用七段数码管即可,数码管的显示数据通过单片机的P0口来进行传送。
设计中要求数码管随着电梯的位置变化而变化,即数码管显示数据要与楼层数同步,因此数码管的片选线直接连接地,而不需要再选择。
电梯升降的状态用上升和下降指示灯来进行显示,通过单片机的P3.7和P3.6引脚分别连接上升和下降指示灯的负极,其正极均连接至系统正电源处。
2.1.2 时钟电路设计与计算X1图2.1 时钟电路图单片机的时钟电路(如图2.1所示)有振荡电路和分频电路组成。
其中振荡电路由反相器以及并联外接的石英晶体和电容构成,用于产生振荡脉冲。
而分频电路则用于把振荡脉冲分频,以得到所需要的时钟信号。
AT89C52单片机各功能部件的运行都是以时钟控制信号为基准,有条不紊地一拍一拍地工作,因此时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。
AT89C52单片机电路中的电容C1和C2典型值通常选择为30pF 。
晶振的频率越高则系统的时钟频率也越高,单片机的运行速度也越快。
但反过来运行速度越快对内存的速度要求就越高,对印刷电路板片靠近,以减少寄生电容,更好的保证振荡器稳定、可靠的工作。
基于以上本设计我们考的工艺要求也越高,即要求产生的寄生电容要小,晶振和电容应尽可能安装得与单片机芯虑选择频率为12MHz 的晶振,当振荡脉冲频率为12MHz 时,一个机器周期为1us 。
2.1.3 复位电路设计与分析RSTS图2.2 复位电路图复位电路图如图2.2所示,复位是单片机的初始化操作,程序给单片机的复位引脚RST加大于2个机器周期(即24个时钟振荡周期)的高电平就可使单片机复位。
AT89C52的复位是由外部的复位电路来实现的。
复位电路通常采用上电复位和手动复位两种方式,手动复位有电平方式和脉冲方式两种,我们采用了手动复位为电平方式的复位。
如图3-2所示,我们通过RST端经由电阻与电源VCC接通而实现,当按键按下时,RST端为高电平复位。
当时钟频率选用12MHz时,C1取10uF,R1取10KΩ时,电容C1充放电时间τ=R1*C1=0.1s>2us(2个机器周期)。
2.1.4 中断电路设计与分析各中断的优先级(由高到低排列):外部0中断、定时器T0中断、外部1中断、定时器T1中断、串行发送中断、串行接收中断、定时器T2中断。
图2.3中断电路图中断电路如图2.3所示。
图中外部0中断INT0与74LS21与门相接,低电平有效,所以当单片机接电源后,P1.0~P1.3引脚此时为高电平,当任一按键按下后,相应的中断输入口直接与地相接,高电平变为低电平,外部0中断立即响应,单片机系统进入中断控制子程序系统,在中断服务子程序中做出相应的执行指令。
2.1.5电动机正反转控制电路图2.4带有联锁的正反控制电路如图2.4所示,几只控制电路通过辅助触头之间的相互连接,实现彼此之间相互联系又相互制约的作用,叫做联锁。
继电接触控制电路,通过接触器、继电器之间的相互联锁,可以实现多台设备按生产工艺进行工作,是实现自动控制及保护的重要环节。
当接通电源后,闭合负荷开关QM ,按下开关SB1,线圈C1得电,使电动机启动,此时电动机正转。
按下开关SB2,线圈C2得电,线圈C1断开,此时电机开始反转。
2.1.6 数码管显示模块的选择LED 是Light Emiting Diode (发光二极管)的缩写,发光二极管是可以将电信号转换为光信号的电致发光器件。
由条形发光二极管组成“8”字形的LED 显示器,也称数码管。
通过数码管中发光二极管的亮暗组合,可以显示多种数字,字母以及其他符号。
数码管有七段数码管和八段数码管之分。
七段数码管由7个发光二极管组成,而八段数码管则是在七段发光二极管的基础上在再加一个圆点型发光二级管,用于显示小数点,本设计采用七段数码管。
图2.5 七段数码管七段数码管外形如图2.5所示,即左边的7个引脚跟单片机P0口相接,下边的引脚连接地。
2.1.7按钮控制电路模块的设计图2.6 电梯不同楼层的按钮如图2.6所示,按键显示电路模块包括电梯内部的按钮和每层楼的上下按钮,这些按钮一端与地相接,一端又与单片机和与门74LS21相接,外部0中断低电平有效,这样可以实现模拟按键的自如操作。
2.2 软件系统的分析与设计2.2.1 程序设计思路首先,必须得合理考虑按键的响应问题。
一段时间内可能有多个不同的按键有动作,程序必须记录每一个按键的动作,并根据电梯本身所处的楼层情况与按键楼层之间的位置关系,合理判断出电梯应当做出上升或下降的响应动作。
其次,电梯系统还有一个判断是否无人的情况。
即电梯到达某楼层后,其他楼层无按键动作,且电梯内也无楼层选择按键动作,那么就可以判断此时电梯内无人。
若电梯内无人,电梯应自动返回到1层等待。
然后,两个楼层之间应考虑有一段运行时间,而且也要设置在一个楼层的停留时间。
本设计中两个楼层之间的运行时间设为1s,每层停留时间设为5s。
当定时0中断时,可利用此发送电动机PWM脉冲信号,经驱动器驱动后,电动机正反转执行相应的动作指令。
另外,当电梯上升或者下降时,相应的状态指示灯应及时同步点亮。
2.2.2 程序流程图本设计程序流程图主要包括主程序流程图(如图2.7所示)、启动电梯子程序流程图(如图2.8所示)、选择当前要去楼层子程序流程图(如图2.9所示)。
图2.7主程序流程图图2.8启动电梯子程序流程图图2.9 选择当前要去楼层子程序流程图3.电路仿真与分析图3.1 电梯默认停在一楼解析:如图3.1所示,电梯没有其他响应时,默认停在一楼,数码管显示1楼。
此时各内外按键接地的一侧全部为低电平,接单片和74LS21与门一侧全部为高电平,一旦按钮按下,凡是按键所接的引脚全部为低电平,此时外部0中断低电平有效,外部0中断立即响应。
当定时器0中断响应后,开始计时并向电动机发送PWM脉冲信号,经驱动器驱动后,电动机就会牵引电梯做上升或者下降运动,数码管收到单片机的控制信号后就会显示楼层的同步变化,相应的上升、下降指示灯会有所指示。
图3.2 电梯处于上行中,经过三楼,上行指示灯亮解析:如图3.2所示,电梯在四楼及以上有响应,经过三楼,上升指示灯亮。
按键按下后,外部0中断立即响应,去执行外部0中断服务子程序。
当定时器T0开始计数时,并向电动机发送PWM脉冲信号,经驱动器驱动后,此时电机正转,就会牵引电梯做上升运动,电梯经过三楼,数码管同步显示3楼,上升指示灯亮,下降指示灯灭。
图3.3电梯处于下行中,经过四楼,下行指示灯亮解析:如图3.3所示,电梯可能没有响应,在四楼以上停了5s就返回一楼,或者是在四楼以下有响应,执行外部0中断服务子程序。
当定时器T0开始计数时,并向电动机发送PWM 脉冲信号,经驱动器驱动后,此时电机反转,就会牵引电梯做下降运动,电梯下行,经过四楼,数码管同步显示4楼,上升指示灯灭,下降指示灯亮。
4.电路安装与调试4.1电路的安装电路的安装调试过程是一个比较复杂且耗时间的过程,首先要确定器件的型号,选择器件型号除了要考虑机器设备、电压、电流外,还要考虑经济实用及美观问题。
所有的器件都备好后,接下来就是安装,主电路等都安装在控制柜内,这就要考虑相互干扰的问题,按钮,指示灯或数码显示也按照原理图接线,所有的元器件都按照一定的编号安装好后,确保无误。