基于单片机控制系统的电梯控制系统电梯状态处理为什么要100ms

您还可以使用以下方式登录
当前位置:&>&&>&&>& > 基于有限状态机实现的单片机控制电梯仿真系统
单片机实现电梯控制 基于有限状态机实现的单片机控制电梯仿真系统
摘 要:电梯控制系统是一个复杂的自动化控制系统,本文在分析电梯运行特点基础上,以51单片机为核心,设计电梯仿真电路结构,并实现基于有限状态机的程序,控制电梯运行。仿真实验结果表明,该电梯仿真系统具有真实电梯系统的各项功能,很好地模拟了真实电梯系统的运行,可较好地应用于单片机教学中,并可供实际电梯控制系统设计做参考。
  关键词:电梯;51单片机;有限状态机;硬件设计;仿真系统   中图分类号:TP309 文献标识码:A   在现代社会和经济活动中,尤其是高层建筑里,电梯是一种不可缺少的垂直运输工具。由于应用广泛,控制过程复杂,电梯已成为各种新型计算机控制技术的应用平台和控制对象,也是相关专业教学和科研的重要平台。考虑电梯结构庞大而复杂带来教学培训或者实习过程中带来的安全等问题,开发安全且经济有效的电梯控制仿真系统来辅助教学和研究是非常重要的。   目前电梯目前各式各样的核心电梯控制器主要采用继电器控制器、PLC控制器、单片机控制器这3种。采用继电器控制的电梯系统通常需要器件较多,电路复杂,不利于维护;采用PLC控制的电梯系统由于一般的PLC控制器无法与上位机进行实时通信,或者通信协议没有公开等因素,带来难以实现人机界面友好的上位机监控等缺点;利用单片机控制的电梯具有成本低,实时性强、精度高和显示、功能多样等优点。本文的主要任务是采用单片机AT89C51设计控制一个6层电梯的仿真系统,给出各部分的硬件电路设计和软件设计,软件设计采用有限状态机的思想来实现。最后给出仿真结果,结果表明:这个电梯控制系统具有高精度、低成本、实时性高及功能多样的优势。   1. 控制功能要求   (1)电梯完全自动响应电梯内、外指令;   (2)电梯到达目的楼层,延时关门;   (3)电梯运行时只响应顺向按键的呼叫,反向按键呼叫信号做记忆功能;   (4)每个请求信号保留到执行后自动删除;   (5)显示当前电梯所在楼层;   (6)语音提示功能;   (7)电梯上升带动电动机正向转动,下降带动电动机反向转动。   2. 硬件总体结构设计   该系统是基于单片机AT89C51为主控制器设计的6层电梯仿真系统,包括梯厢、楼层按键模块、电梯位置显示模块,电梯开关门模拟模块、电动机运行模块以及语音模块等,硬件系统的总体结构框图如图1所示。   3. 硬件设计   本文采用Proteus软件为平台进行整个电梯仿真系统的设计及仿真工作。Proteus软件是一种低投资的电子设计自动化软件,提供可仿真数字和模拟、交流和直流等数千种元器件和多达30多个元件库。它是目前比较好的仿真单片机及外围器件的工具。具体的硬件设计模块如下:   (1)电梯指令键盘和语音模块   该仿真系统里电梯指令键盘分为梯厢按键和楼层按键,梯厢按键对应梯轿内部按键,该电梯有6层,因此对应6个按键。而楼层按键设在每个楼层内,每个楼层都对应一个向上和向下的方向键,而最高层第六层只有一个向下的按键,最底层第一层只有一个向下的按键,总共10个按键。该系统用一个4*4的矩阵式键盘实现电梯指令键盘,分别由单片机8个并行I/O口控制,其中1_U至5_U表示1至5楼向上的按键,2_D至6_D表示2至6楼向下的按键,1至6表示梯厢内1至6楼的按键。具体结构如图2所示。   语音模块的作用是实现电梯到达需要响应的楼层将发出蜂鸣声。该模块采用了有源蜂鸣器,由于蜂鸣器内部带振荡器,单片机只要给控制引脚输出高电平就会发声。   (2)电梯位置显示模块和电梯开关门模拟模块   电梯位置显示模块负责显示梯轿内当前电梯所在楼层的位置。本电梯控制系统采用一个共阳极的数码管,公共端接电源正极,另外7个控制端分别跟单片机的7个并行I/O口相连。   电梯开关门模拟模块负责模拟电梯到达需要响应的楼层时,对应的开门动作。1~6楼分别对应F1至F6标识的LED灯,当电梯到达该楼层需要开门,那么对应楼层的灯就会亮,否则都处于灭状态。例如,如果梯厢内有人按下4楼,那么电梯到达4楼时,F4将由灭变亮,持续一定时间后熄灭。   (3)电动机运行模块   单片机进行逻辑分析,控制电梯的运行方向,是处于停止、上升或是下降的状态,这个功能是由单片机控制电动机运行模块实现的。电梯控制系统里的电动机采用直流电机,采用H桥驱动电路进行控制,如图6所示。电路包括4个三极管和一个电机。要使电机运转,必须导通对角线上的一对三极管。单片机通过给rev、enm、fwd 3个控制端输出高低电平实现电机的停止、正转、或反转的控制。同时,可以通过给控制端rev、fwd端输入不同占空比的PWM信号实现电机的速度控制。   4. 软件设计   该电梯系统基于有限状态机来实现电梯的控制,思路明确清晰,能够高效地解决电梯响应多个梯厢或是楼层按键都被按下的复杂情况。有限状态机关键的步骤在于确定状态的对象以及状态的个数,本文将电梯处在的每一个楼层都视为一个状态,而每一个状态下都对应电梯开门、关门、停止、向上走一层和向下走一层这些动作,动作之间的转移有相应的条件触发,具体参考如图7所示。   其中开门和关门的动作通过电梯开关门模拟模块中对应楼层灯处于亮状态持续30s来实现。电梯处于向“上走一层”、“停止”或“向下走一层”的动作通过单片机控制电机的工作状态来实现。对于电梯指令模块,通过行扫描法实现4×4矩阵式键盘按键的识别,具备多个按键同时被按下的识别功能。   5. 仿真结果   基于上述设计的电梯硬件结构,采用有限状态机算法实现电梯控制,整个仿真系统的运行结果如下。例如当前电梯处于3楼向上运行的状态,按下第3层方向向上,即“3_U”键,电梯响应开门,如图8(a)所示。之后在梯厢内按下“5”键,表示要去5楼,电梯将持续上升,电机正传,每到达一层楼数码管显示为当前的楼层数,当到达第5层时,电梯停止转动,开门后关门,对应5层LED灯亮持续30s,如图8(b)所示。期间如有人不管在梯厢内或是楼层里按下按键,电梯都会根据相应的逻辑依次去相应。   结语   本文基于51单片机设计了电梯仿真电路结构,并实现了基于有限状态机的程序用于控制电梯运行。仿真实验结果表明,该电梯仿真系统具有真实电梯系统的各项功能,很好地模拟了真实电梯系统的运行,可较好地应用于单片机教学中,并可供实际电梯控制系统设计做参考。   参考文献   [1]叶安丽.电梯控制技术(第2版)[M].北京:机械工业出版社,.   [2]巩玉滨,陈继文,等.基于单片机的电梯控制仿真系统[M].计算机系统应用,):114-117.   [3]郑良田.基于单片机的电梯控制系统的研究[M].科技资讯,2007(21):109-11.   [4]覃园芳.基于有限状态机的优化电梯控制算法的设计和实现[M].科技创新与应用,.   [5]陶磊.试论电梯控制算法[J].中国科技博览,2013(8):323-323.   [6]王静霞.单片机应用技术(C语言版)[M].北京:电子工业出版社,2009.
欢迎转载:
推荐:    基于单片机电梯控制系统的设计( 开题报告+文献综述+_毕业设计中心_天涯博客_天涯社区
本社提供原创毕业设计,可用于使用或参考,有需要请联系QQ:
今日访问:[$DayVisitCount$]
总访问量:23487
开博时间:
博客排名:57293
  基于单片机电梯控制系统的设计( 开题报告+文献综述+论文+外文翻译 )     摘要  随着我国城市化进程不断加快,一幢幢高层建筑拔地而起,电梯市场需求强劲。但先进的电梯技术长时间为国外所垄断,电梯造价一直较高,这使得国内大多数楼房特别是住宅楼均在五六层,甚至有些高于六层的楼房也没有安装电梯。所以本设计针对需求与社会现状的矛盾,开发设计了一套成本较低的电梯控制系统。  本电梯的控制系统设计采用分布式结构,利用富士通16位单片机MB90F543作为主控制器的主控芯片、轿厢控制器和外召唤控制器的主控芯片用的是STC的8位单片机89C53RC。由于各控制部分都是基于单片机构建的,单片机的性价比在所有的控制器中最高,同时系统中各控制器之间采用异步串行通讯方式连接,因此整个控制系统经济可靠。  各控制器的硬件电路是根据其在电梯控制系统的具体功能要求设计的。其中,主控制器的硬件设计包括了井道信号等数字量的采集接口电路、电源电路、监控电路、系统异步串行通讯电路、旋转编码器脉冲接收电路和高压安全检测电路等电路的设计。  分布式控制结构即具体划分控制系统中各个控制器的任务,并按照任务模块进行软件程序的设计。为了满足电梯控制系统高实时性的控制要求,本文采用了最小时间片轮转调度和基于任务优先级的中断调度相结合的算法进行实时电梯控制程序的设计。在电梯控制逻辑设计中,采用数字量输出方式控制变频器的转换,可以做到平滑调速,从而使得电梯乘坐舒适感较好。    关键字:电梯控制系统;单片机;串行通讯         分类: |基于单片机的电梯自动控制系统的设计与实现
文中介绍了以 89C52单片机为核心控制器件的电梯自动控制系统,该系统采用单片机作为控制核心,通过扫描内外按键按下与否引起的电平的改变,作为用户请求信息发送到单片机,控制电动机转动,单片机根据楼层检测结果控制电机停在目标楼层。开发此系统可以方便用户自行输入所要到达的楼层,显示电梯当前到达层数等功能,这样可以大大提高其工作效率,彻底的脱离电梯操作工的模式。
基于单片机的电梯自动控制系统的设计与实现下载
下载资料需要,并消耗一定积分。
下载此资料的人还喜欢:
技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
本周热点资料
电子资料热门词
上传者其它资料
嵌入式开发下载排行单片机电梯控制系统
单片机电梯控制系统
  本次设计的主要内容是以单片机为主控制器的电梯控制系统。本来电梯系统是一个相对复杂的系统,由于能力和经验有限,所以只能实现基本的功能如:有层站召唤、自动停层、顺向截梯、轿厢命令响应等。通过单片机输出电压给变频器然后控制电梯拖动,在变频过程中要充分考虑乘客的舒适度。随着科技的发展,微型计算机领域的不断进步,将使得将来电梯的体积大大减小,功能不断完善,过程的控制更平稳、可靠、抗干扰性能增强、机械与电气部件被机结合在一个设备内,把仪表、电子和计算机的功能综合在一起。因此微型计算机控制技术将会成为电梯运行中的关键技术。
  第1章 绪 论
  1.1 电梯的发展
  1.2电梯的分类
  第2章 方案的比较和确定
  2.1 方案的选择
  2.1.1 电梯继电器控制系统的优缺点
  2.1.2 PLC控制系统的特点
  2.1.3 电梯变频调速控制的特点
  2.2 单片机控制方案的选择
  2.3 变频器的选型
  第3章 硬件系统的设计
  3.1 硬件结构图
  3.2 系统硬件原理图
  3.3 89C51单片机的原理及其外围电路的设计
  3.3.1 89C51单片机的原理与结构
  3.3.2 单片机外围电路的设计
  3.4 输入模块的设计
  3.4.1 锁存器74LS373及其扩展功能简介
  3.4.2 光电传感器
  3.4.3 KC778B红外传感器基本应用电路
  3.4.4 输入信号的采集
  3.5 输出模块设计
  3.5.1 DAC0832的功能简介
  3.5.2 变频器功能简介
  3.5.3 LED驱动器功能简介
  3.5.4 控制信号的输出
  第4章 系统软件的设计
  4.1 主程序流程图
  4.2 读入信息并显示子程序的流程图
  4.3 延时去抖动子程序
  4.4 设置目标层子程序流程图
  4.5 电机拖动子程序流程图
  4.6 电梯载客子程序流程图
  4.7 中断服务流程图
  小结与展望
  参考文献
  附录部分:
  附录A 电气原理图
  附录B 外文文献及其译文
  附录C 主要参考文献及其摘要
  参考文献
  [1] 李惠昇.电梯控制技术。北京:机械工业出版社
  [2] 何立民.单片机应用系统设计。北京:北京航空航天大学出版社
  附录部分:
  附录A 电气原理图
  附录B 外文文献及其译文
  附录C 主要参考文献及其摘要
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。查看: 2384|回复: 31
单片机八层电梯控制系统 仿真图+源程序+电路原理图
单片机八层电梯控制仿真图(仿真工程文件在51黑本帖附件里面可以下载):
单片机八层电梯控制电路原理图(附件里面有ad画的原理图的工程文件及其元器件的封装)
单片机八层电梯控制系统源程序代码:
#include &reg52.h&& & & && && && & //调用单片机头文件
#define uchar unsigned char&&//无符号字符型 宏定义& & & & 变量范围0~255
#define uint&&unsigned int& & & &&&//无符号整型 宏定义& & & & 变量范围0~65535
//数码管段选定义& && & 0& & 1& & 2& & 3& &4& & & && & 5& & & & 6& & & &&&7& & & && &8& & & && & 9& & & &
uchar code smg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0xdf,0xdb
//& & & & & & & & & & & & & & & & & & & && & A& & & & B& & & &&&C& & & && &D& & & && & E& &F& & & & 不显示
& & & & & & & & & & & & & & & & & & & &&&};& & & &&&//断码& & & &
uchar dis_smg[8] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};
bit flag_100ms,flag_1s;& & & &
bit flag_stop = 1;& &//用做到了相应的楼停下
sbit beep&&= P2^6;
sbit xia& &= P2^0;
sbit zhong = P2^1;
sbit shang = P2^2;
uchar value2;
sbit led1 = P1^7;& & & && &//8个发光二极管定义
sbit led2 = P1^6;
sbit led3 = P1^5;
sbit led4 = P1^4;
sbit led5 = P1^3;
sbit led6 = P1^2;
sbit led7 = P1^1;
sbit led8 = P1^0;
uchar dt_1;&&//1楼电梯标志位
uchar dt_2;&&//2楼电梯标志位
uchar dt_3;&&//3楼电梯标志位
uchar dt_4;&&//4楼电梯标志位
uchar dt_5;&&//5楼电梯标志位
uchar dt_6;&&//6楼电梯标志位
uchar dt_7;&&//7楼电梯标志位
uchar dt_8;&&//8楼电梯标志位
uchar dt_value = 1;&&//电梯到哪一层的变量
uchar dt_s_& & //电梯上下的标志位
/***********************1ms延时函数*****************************/
void delay_1ms(uint q)
{
& & & & uint i,j;
& & & & for(i=0;i&q;i++)
& & & & & & & & for(j=0;j&120;j++);
}
/********************独立按键程序*****************/
uchar key_& & & &&&//按键值
void key()& & & &&&//独立按键程序
{
& & & & static uchar key_
& & & & key_can = 20;& && && && && && & //按键值还原
& & & & P3 |= 0
& & & & if(P3 != 0xff)& & & & & & & & //按键按下
& & & & {
& & & & & & & & delay_1ms(1);& & & && && && & & & //按键消抖动
& & & & & & & & if((P3 != 0xff) && (key_new == 1))
& & & & & & & & {& & & & & & & & & & & & & & & & & & & & & & & & //确认是按键按下
& & & & & & & & & & & & key_new = 0;
& & & & & & & & & & & & switch(P3)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & case 0xfe: key_can = 1;& & & && &//得到按键值
& & & & & & & & & & & & & & & & case 0xfd: key_can = 2;& & & && &//得到按键值
& & & & & & & & & & & & & & & & case 0xfb: key_can = 3;& & & && &//得到按键值
& & & & & & & & & & & & & & & & case 0xf7: key_can = 4;& & & && &//得到按键值
& & & & & & & & & & & & & & & & case 0xef: key_can = 5;& & & && &//得到按键值
& & & & & & & & & & & & & & & & case 0xdf: key_can = 6;& & & && &//得到按键值
& & & & & & & & & & & & & & & & case 0xbf: key_can = 7;& & & && &//得到按键值
& & & & & & & & & & & & & & & & case 0x7f: key_can = 8;& & & && &//得到按键值
& & & & & & & & & & & & }
& & & & & & & & }& & & & & & & & & & & &
& & & & }
& & & & else
& & & & & & & & key_new = 1;& & & &
void key_with()
{
& & & & if(key_can == 1)
& & & & {
& & & & & & & & led1 = 1;& & & &&&//点亮发光二极管
& & & & & & & & dt_1 = 1;& & & &&&//
& & & & }& & & & & & & &
& & & & if(key_can == 2)
& & & & {
& & & & & & & & led2 = 1;& & & &&&//点亮发光二极管
& & & & & & & & dt_2 = 1;
& & & & }& & & &
& & & & if(key_can == 3)
& & & & {
& & & & & & & & led3 = 1;& & & & //点亮发光二极管
& & & & & & & & dt_3 = 1;
& & & & }& & & &
& & & & if(key_can == 4)
& & & & {
& & & & & & & & led4 = 1;& & & & //点亮发光二极管
& & & & & & & & dt_4 = 1;
& & & & }& & & &
& & & & if(key_can == 5)
& & & & {
& & & & & & & & led5 = 1;& & & & //点亮发光二极管
& & & & & & & & dt_5 = 1;
& & & & }& & & &
& & & & if(key_can == 6)
& & & & {
& & & & & & & & led6 = 1;& & & & //点亮发光二极管
& & & & & & & & dt_6 = 1;
& & & & }& & & &
& & & & if(key_can == 7)
& & & & {
& & & & & & & & led7 = 1;& & & &
& & & & & & & & dt_7 = 1;
& & & & }& & & &
& & & & if(key_can == 8)
& & & & {
& & & & & & & & led8 = 1;& & & &
& & & & & & & & dt_8 = 1;
& & & & }& & & &
}
/*********************当电梯不动时、判断是向上、还是向下**********************/
void tiandi_shang_xia()
{
& & & &
& & & & if(dt_s_x == 0)
& & & & {
& & & & & & & &
& & & & & & & & flag_stop = 1;
& & & & & & & & if(dt_value == 1)& & & &&&//电梯在第1层停下不走了
& & & & & & & & {
& & & & & & & & & & & & value = dt_2 + dt_3 + dt_4 + dt_5 + dt_6 + dt_7 + dt_8;
& & & & & & & & & & & & if(value != 0)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 1;& &//电梯向上& & & &
& & & & & & & & & & & & & & & & shang = 0;& & & && &//显示上
& & & & & & & & & & & & & & & & zhong = 0;& & & &
& & & & & & & & & & & & & & & & xia = 1;& & & & & & & & & & & &&&& & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & }& & & & & & & & & & & &
& & & & & & & & if(dt_value == 2)& & & &&&//电梯在第2层停下不走了
& & & & & & & & {
& & & & & & & & & & & & value = dt_3 + dt_4 + dt_5 + dt_6 + dt_7 + dt_8;
& & & & & & & & & & & & if(value != 0)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 1;& &//电梯向上走& & & &
& & & & & & & & & & & & & & & & shang = 0;& & & && &//显示上
& & & & & & & & & & & & & & & & zhong = 0;& & & &
& & & & & & & & & & & & & & & & xia = 1;& & & & & & & & & & & &&&& & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & & & & & value = dt_1;
& & & & & & & & & & & & if(value != 0)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 2;& &//电梯向下走& & & &
& & & & & & & & & & & & & & & & xia = 0;& & & && &//显示下
& & & & & & & & & & & & & & & & zhong = 0;& & & &
& & & & & & & & & & & & & & & & shang = 1;& & & & & & & & & & & & & & & &&&& & & & & & & &
& & & & & & & & & & & & }& & & &
& & & & & & & & }
& & & & & & & & if(dt_value == 3)& & & &&&//电梯在第3层停下不走了
& & & & & & & & {
& & & & & & & & & & & & value = dt_4 + dt_5 + dt_6 + dt_7 + dt_8;
& & & & & & & & & & & & if(value != 0)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 1;& &//电梯向上走& & & &
& & & & & & & & & & & & & & & & shang = 0;& & & && &//显示上
& & & & & & & & & & & & & & & & zhong = 0;& & & &
& & & & & & & & & & & & & & & & xia = 1;& & & & & & & & & & & &&&& & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & & & & & value = dt_1 + dt_2;
& & & & & & & & & & & & if(value != 0)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 2;& &//电梯向下走& & & &
& & & & & & & & & & & & & & & & xia = 0;& & & && &//显示下
& & & & & & & & & & & & & & & & zhong = 0;& & & &
& & & & & & & & & & & & & & & & shang = 1;& & & &
& & & & & & & & & & & & & & & & & & & & & & & & & & & &&&& & & & & & & &
& & & & & & & & & & & & }& & & &
& & & & & & & & }& & & &
& & & & & & & & if(dt_value == 4)& & & &&&//电梯在第4层停下不走了
& & & & & & & & {
& & & & & & & & & & & & value = + dt_5 + dt_6 + dt_7 + dt_8;
& & & & & & & & & & & & if(value != 0)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 1;& &//电梯向上走& & & &
& & & & & & & & & & & & & & & & shang = 0;& & & && &//显示上
& & & & & & & & & & & & & & & & zhong = 0;& & & &
& & & & & & & & & & & & & & & & xia = 1;& & & & & & & & & & & &&&& & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & & & & & value = dt_1 + dt_2 + dt_3;
& & & & & & & & & & & & if(value != 0)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 2;& &//电梯向下走& & & &
& & & & & & & & & & & & & & & & xia = 0;& & & && &//显示下
& & & & & & & & & & & & & & & & zhong = 0;& & & &
& & & & & & & & & & & & & & & & shang = 1;& & & & & & & & & & & & & & & &&&& & & & & & & &
& & & & & & & & & & & & }& & & &
& & & & & & & & }& & & &
& & & & & & & & if(dt_value == 5)& & & &&&//电梯在第5层停下不走了
& & & & & & & & {
& & & & & & & & & & & & value = dt_6 + dt_7 + dt_8;
& & & & & & & & & & & & if(value != 0)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 1;& &//电梯向上走& & & &
& & & & & & & & & & & & & & & & shang = 0;& & & && &//显示上
& & & & & & & & & & & & & & & & zhong = 0;
& & & & & & & & & & & & & & & & xia = 1;& & & & & & & & & & & & & & & &&&& & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & & & & & value = dt_1 + dt_2 + dt_3 + dt_4;
& & & & & & & & & & & & if(value != 0)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 2;& &//电梯向下走& & & &
& & & & & & & & & & & & & & & & xia = 0;& & & && &//显示下
& & & & & & & & & & & & & & & & zhong = 0;& & & &
& & & & & & & & & & & & & & & & shang = 1;& & & & & & & & & & & & & & & &&&& & & & & & & &
& & & & & & & & & & & & }& & & &
& & & & & & & & }& & & &
& & & & & & & & if(dt_value == 6)& & & &&&//电梯在第6层停下不走了
& & & & & & & & {
& & & & & & & & & & & & value =&&dt_7 + dt_8;
& & & & & & & & & & & & if(value != 0)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 1;& &//电梯向上走& & & &
& & & & & & & & & & & & & & & & shang = 0;& & & && &//显示上
& & & & & & & & & & & & & & & & zhong = 0;
& & & & & & & & & & & & & & & & xia = 1;& & & & & & & & & & & & & & & &&&& & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & & & & & value = dt_1 + dt_2 + dt_3 + dt_4 + dt_5;
& & & & & & & & & & & & if(value != 0)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 2;& &//电梯向下走& & & &
& & & & & & & & & & & & & & & & xia = 0;& & & && &//显示下
& & & & & & & & & & & & & & & & zhong = 0;& & & &
& & & & & & & & & & & & & & & & shang = 1;& & & & & & & & & & & & & & & &&&& & & & & & & &
& & & & & & & & & & & & }& & & &
& & & & & & & & }& & & &
& & & & & & & & if(dt_value == 7)& & & &&&//电梯在第7层停下不走了
& & & & & & & & {
& & & & & & & & & & & & value = dt_8;
& & & & & & & & & & & & if(value != 0)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 1;& &//电梯向上走& & & &
& & & & & & & & & & & & & & & & shang = 0;& & & && &//显示上
& & & & & & & & & & & & & & & & zhong = 0;& & & &
& & & & & & & & & & & & & & & & xia = 1;& & & & & & & & & & & &&&& & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & & & & & value = dt_1 + dt_2 + dt_3 + dt_4 + dt_5 + dt_6;
& & & & & & & & & & & & if(value != 0)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 2;& &//电梯向下走& & & &
& & & & & & & & & & & & & & & & xia = 0;& & & && &//显示下
& & & & & & & & & & & & & & & & zhong = 0;& & & &
& & & & & & & & & & & & & & & & shang = 1;& & & & & & & & & & & & & & & &&&& & & & & & & &
& & & & & & & & & & & & }& & & &
& & & & & & & & }& & & &
& & & & & & & & if(dt_value == 8)& & & && &//电梯在第8层停下不走了
& & & & & & & & {
& & & & & & & & & & & & value = dt_8;
& & & & & & & & & & & & if(value != 0)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 1;& &//电梯向上走& & & &
& & & & & & & & & & & & & & & & shang = 0;& & & && &//显示上
& & & & & & & & & & & & & & & & zhong = 0;& & & &
& & & & & & & & & & & & & & & & xia = 1;& & & & & & & & & & & &&&& & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & & & & & value = dt_1 + dt_2 + dt_3 + dt_4 + dt_5 + dt_6;
& & & & & & & & & & & & if(value != 0)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 2;& &//电梯向下走& & & &
& & & & & & & & & & & & & & & & xia = 0;& & & && &//显示下
& & & & & & & & & & & & & & & & zhong = 0;& & & &
& & & & & & & & & & & & & & & & shang = 1;& & & & & & & & & & & &&&& & & & & & & &
& & & & & & & & & & & & }& & & &
& & & & & & & & }& & & &
& & & & }
}
/****************电梯向上、做最后的判断是否还要继续向上****************/
void dt_shang_guan()
{
& & & &
& & & & if(dt_s_x == 1)& & //电梯向上&&做最后的判断是否还要继续向上
& & & & {
& & & & & & & & if(dt_value == 1)& & & & //在第1层
& & & & & & & & {
& & & & & & & & & & & & value = dt_2 + dt_3 + dt_4 + dt_5 + dt_6 + dt_7 + dt_8;
& & & & & & & & & & & & if(value == 0)& & & &&&//说明上面没有人按下
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 0;&&//电梯停下不动了&&
& & & & & & & & & & & & & & & & shang = 1;& & & & & & & & //关闭上字
& & & & & & & & & & & & & & & & zhong = 1;&&
& & & & & & & & & & & & }else
& & & & & & & & & & & & & & & & flag_stop = 1;& & & &
& & & & & & & & }& & & & & & & &
& & & & & & & & else if(dt_value == 2)& & & & //在第2层
& & & & & & & & {
& & & & & & & & & & & & value = dt_3 + dt_4 + dt_5 + dt_6 + dt_7 + dt_8;
& & & & & & & & & & & & if(value == 0)& & & &&&//说明上面没有人按下
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 0;&&//电梯停下不动了&&
& & & & & & & & & & & & & & & & shang = 1;& & & & & & & & //关闭上字
& & & & & & & & & & & & & & & & zhong = 1;&&
& & & & & & & & & & & & }else
& & & & & & & & & & & & & & & & flag_stop = 1;& & & &
& & & & & & & & }& & & & & & & &
& & & & & & & & else if(dt_value == 3)& & & & //在第3层
& & & & & & & & {
& & & & & & & & & & & & value = + dt_6 + dt_7 + dt_8;
& & & & & & & & & & & & if(value == 0)& & & &&&//说明上面没有人按下
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 0;&&//电梯停下不动了&&
& & & & & & & & & & & & & & & & shang = 1;& & & & & & & & //关闭上字
& & & & & & & & & & & & & & & & zhong = 1;&&& & & & & & & & & & & & & & & & & & & &
& & & & & & & & & & & & }else
& & & & & & & & & & & & & & & & flag_stop = 1;& & & &&&
& & & & & & & & }& & & & & & & &
& & & & & & & & else if(dt_value == 4)& & & & //在第4层
& & & & & & & & {
& & & & & & & & & & & & value = dt_5 + dt_6 + dt_7 + dt_8;
& & & & & & & & & & & & if(value == 0)& & & &&&//说明上面没有人按下
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 0;&&//电梯停下不动了&&
& & & & & & & & & & & & & & & & shang = 1;& & & & & & & & //关闭上字
& & & & & & & & & & & & & & & & zhong = 1;&&
& & & & & & & & & & & & }else
& & & & & & & & & & & & & & & & flag_stop = 1;& & & &&&& & & &
& & & & & & & & }& & & & & & & &
& & & & & & & & else if(dt_value == 5)& & & & //在第5层
& & & & & & & & {
& & & & & & & & & & & & value = dt_6 + dt_7 + dt_8;
& & & & & & & & & & & & if(value == 0)& & & &&&//说明上面没有人按下
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 0;&&//电梯停下不动了&&
& & & & & & & & & & & & & & & & shang = 1;& & & & & & & & //关闭上字
& & & & & & & & & & & & & & & & zhong = 1;&&
& & & & & & & & & & & & }else
& & & & & & & & & & & & & & & & flag_stop = 1;& & & & & & & &
& & & & & & & & }& & & & & & & &
& & & & & & & & else if(dt_value == 6)& & & & //在第6层
& & & & & & & & {
& & & & & & & & & & & & value = dt_7 + dt_8;
& & & & & & & & & & & & if(value == 0)& & & &&&//说明上面没有人按下
& && && && &{
& & & & & & & & & & & & & & & & dt_s_x = 0;&&//电梯停下不动了&&
& & & & & & & & & & & & & & & & shang = 1;& & & & & & & & //关闭上字
& & & & & & & & & & & & & & & & zhong = 1;&&
& & & & & & & & & & & & }else
& & & & & & & & & & & & & & & & flag_stop = 1;& & & & & & & & & & & &
& & & & & & & & }& & & &
& & & & & & & & else if(dt_value == 7)& & & & //在第7层
& & & & & & & & {
& & & & & & & & & & & & value = dt_8;
& & & & & & & & & & & & if(value == 0)& & & &&&//说明上面没有人按下
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 0;&&//电梯停下不动了&&
& & & & & & & & & & & & & & & & shang = 1;& & & & & & & & //关闭上字
& & & & & & & & & & & & & & & & zhong = 1;&&
& & & & & & & & & & & & }else
& & & & & & & & & & & & & & & & flag_stop = 1;& & & &
& & & & & & & & }& & & & & & & &
& & & & & & & & else if(dt_value == 8)& & & & //在第8层
& & & & & & & & {
& & & & & & & & & & & & dt_s_x = 0;&&//电梯停下不动了
& & & & & & & & & & & & shang = 1;& & & & & & & & //关闭上字
& & & & & & & & & & & & zhong = 1;&&& & & &
& & & & & & & & }& & & & & & & &
& & & & }& & & &
/****************电梯向下、做最后的判断是否还要继续向下****************/
void dt_xia_guan()
{
& & & &
& & & & if(dt_s_x == 2)& & //电梯向下&&做最后的判断是否还要继续向下
& & & & {
& & & & & & & & if(dt_value == 1)& & & & //在第1层
& & & & & & & & {
& & & & & & & & & & & & dt_s_x = 0;&&//电梯停下不动了
& & & & & & & & & & & & xia = 1;& & & & & & & & //关闭上字
& & & & & & & & & & & & zhong = 1;&&& & & &
& & & & & & & & & & & & flag_stop = 1;& & & &
& & & & & & & & }& & & & & & & &
& & & & & & & & else if(dt_value == 2)& & & & //在第2层
& & & & & & & & {
& & & & & & & & & & & & value = dt_1;
& & & & & & & & & & & & if(value == 0)& & & &&&//说明上面没有人按下
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 0;&&//电梯停下不动了&&
& & & & & & & & & & & & & & & & xia = 1;& & & & & & & & //关闭上字
& & & & & & & & & & & & & & & & zhong = 1;&&
& & & & & & & & & & & & }else
& & & & & & & & & & & & & & & & flag_stop = 1;& & & &
& & & & & & & & }& & & & & & & &
& & & & & & & & else if(dt_value == 3)& & & & //在第3层
& & & & & & & & {
& & & & & & & & & & & & value = dt_1 + dt_2;
& & & & & & & & & & & & if(value == 0)& & & &&&//说明上面没有人按下
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 0;&&//电梯停下不动了&&
& & & & & & & & & & & & & & & & xia = 1;& & & & & & & & //关闭上字
& & & & & & & & & & & & & & & & zhong = 1;&&& & & & & & & & & & & & & & & & & & & &
& & & & & & & & & & & & }else
& & & & & & & & & & & & & & & & flag_stop = 1;& & & &&&
& & & & & & & & }& & & & & & & &
& & & & & & & & else if(dt_value == 4)& & & & //在第4层
& & & & & & & & {
& & & & & & & & & & & & value = dt_2 + dt_3;
& & & & & & & & & & & & if(value == 0)& & & &&&//说明上面没有人按下
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 0;&&//电梯停下不动了&&
& & & & & & & & & & & & & & & & xia = 1;& & & & & & & & //关闭上字
& & & & & & & & & & & & & & & & zhong = 1;&&
& & & & & & & & & & & & }else
& & & & & & & & & & & & & & & & flag_stop = 1;& & & &&&& & & &
& & & & & & & & }& & & & & & & &
& & & & & & & & else if(dt_value == 5)& & & & //在第5层
& & & & & & & & {
& & & & & & & & & & & & value = dt_1 + dt_2 + dt_4;
& & & & & & & & & & & & if(value == 0)& & & &&&//说明上面没有人按下
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 0;&&//电梯停下不动了&&
& & & & & & & & & & & & & & & & xia = 1;& & & & & & & & //关闭上字
& & & & & & & & & & & & & & & & zhong = 1;&&
& & & & & & & & & & & & }else
& & & & & & & & & & & & & & & & flag_stop = 1;& & & & & & & &
& & & & & & & & }& & & & & & & &
& & & & & & & & else if(dt_value == 6)& & & & //在第6层
& & & & & & & & {
& & & & & & & & & & & & value = dt_1 + dt_2 + dt_3 + dt_4 + dt_5;
& & & & & & & & & & & & if(value == 0)& & & &&&//说明上面没有人按下
& && && && &{
& & & & & & & & & & & & & & & & dt_s_x = 0;&&//电梯停下不动了&&
& & & & & & & & & & & & & & & & xia = 1;& & & & & & & & //关闭上字
& & & & & & & & & & & & & & & & zhong = 1;&&
& & & & & & & & & & & & }else
& & & & & & & & & & & & & & & & flag_stop = 1;& & & & & & & & & & & &
& & & & & & & & }& & & &
& & & & & & & & else if(dt_value == 7)& & & & //在第7层
& & & & & & & & {
& & & & & & & & & & & & value = dt_1 + dt_2&&+ dt_4 + dt_5+ dt_6;
& & & & & & & & & & & & if(value == 0)& & & &&&//说明上面没有人按下
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 0;&&//电梯停下不动了&&
& & & & & & & & & & & & & & & & xia = 1;& & & & & & & & //关闭上字
& & & & & & & & & & & & & & & & zhong = 1;&&
& & & & & & & & & & & & }else
& & & & & & & & & & & & & & & & flag_stop = 1;& & & &
& & & & & & & & }& & & & & & & &
& & & & & & & & else if(dt_value == 8)& & & & //在第8层
& & & & & & & & {
& & & & & & & & & & & & value =& &dt_3 + dt_4 + dt_5 + dt_6 + dt_7;
& & & & & & & & & & & & if(value == 0)& & & &&&//说明上面没有人按下
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & dt_s_x = 0;&&//电梯停下不动了&&
& & & & & & & & & & & & & & & & xia = 1;& & & & & & & & //关闭上字
& & & & & & & & & & & & & & & & zhong = 1;&&
& & & & & & & & & & & & }else
& & & & & & & & & & & & & & & & flag_stop = 1;& & & &
& & & & & & & & & & & &
& & & & & & & & }& & & & & & & &
& & & & }& & & & & & & &
/***********************电梯处理函数************************/
void td_dis()
{
& & & & uchar value,value1;
& & & & value = dt_1 + dt_2 + dt_3 + dt_4 + dt_5 + dt_6 + dt_7 + dt_8;
& & & & if(value != 0)
& & & & {& & & & & & & && & //100ms
& & & & & & & & if(flag_stop == 1)& & & & //到相应的楼了&&要停下
& & & & & & & & {
/***************************向上走电梯***********************************/& & & &
& & & & & & & & & & & & if(dt_s_x != 0)& & & & & & & && &//向上走电梯
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & value1 ++;
& & & & & & & & & & & & & & & & if(value1 &= 10)&&//1s
& & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & value1 = 0;
& & & & & & & & & & & & & & & & & & & & if(dt_s_x == 1)& & & & & & & && &//向上走电梯
& & & & & & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & & & & & dt_value ++;
& & & & & & & & & & & & & & & & & & & & & & & & shang = 0;& & & & & & & & //显示上字
& & & & & & & & & & & & & & & & & & & & & & & & zhong = 0;
& & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & & & & & if(dt_s_x == 2)& & & & & & & && &//向下走电梯
& & & & & & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & & & & & dt_value --;
& & & & & & & & & & & & & & & & & & & & & & & & xia = 0;& & & & & & & & //显示下字
& & & & & & & & & & & & & & & & & & & & & & & & zhong = 0;
& & & & & & & & & & & & & & & & & & & & }& & & & & & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & & & & & if(dt_value == 1)& & & && & //当到了第一层的时候
& & & & & & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & & & & & if(dt_1 == 1)
& & & & & & & & & & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & & & & & & & & & led1 = 0;& & & & & & & &&&//关闭第一层发光二极管
& & & & & & & & & & & & & & & & & & & & & & & & & & & & dt_1 = 0;& && &&&//清零电机在的标志
& & & & & & & & & & & & & & & & & & & & & & & & & & & & flag_stop = 0;& &//到停下
& & & & & & & & & & & & & & & & & & & & & & & & & & & & beep = 0;& && &&&//打开蜂鸣器
& & & & & & & & & & & & & & & & & & & & & & & & } & & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & & & & & else if(dt_value == 2)& & & && & //当到了第二层的时候
& & & & & & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & & & & & if(dt_2 == 1)
& & & & & & & & & & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & & & & & & & & & led2 = 0;& & & & & & & &&&//关闭第二层发光二极管
& & & & & & & & & & & & & & & & & & & & & & & & & & & & dt_2 = 0;& && &&&//清零电机在的标志
& & & & & & & & & & & & & & & & & & & & & & & & & & & & flag_stop = 0;& &//到停下
& & & & & & & & & & & & & & & & & & & & & & & & & & & & beep = 0;& && &&&//打开蜂鸣器
& & & & & & & & & & & & & & & & & & & & & & & & } & & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & & & & & else if(dt_value == 3)& & & && & //当到了第3层的时候
& & & & & & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & & & & & if(dt_3 == 1)
& & & & & & & & & & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & & & & & & & & & led3 = 0;& & & & & & & &&&//关闭第3层发光二极管
& & & & & & & & & & & & & & & & & & & & & & & & & & & & dt_3 = 0;& && &&&//清零电机在的标志
& & & & & & & & & & & & & & & & & & & & & & & & & & & & flag_stop = 0;& &//到停下
& & & & & & & & & & & & & & & & & & & & & & & & & & & & beep = 0;& && &&&//打开蜂鸣器
& & & & & & & & & & & & & & & & & & & & & & & & } & & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & & & & & else if(dt_value == 4)& & & && & //当到了第4层的时候
& & & & & & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & & & & & if(dt_4 == 1)
& & & & & & & & & & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & & & & & & & & & led4 = 0;& & & & & & & &&&//关闭第4层发光二极管
& & & & & & & & & & & & & & & & & & & & & & & & & & & & dt_4 = 0;& && &&&//清零电机在的标志
& & & & & & & & & & & & & & & & & & & & & & & & & & & & flag_stop = 0;& &//到停下
& & & & & & & & & & & & & & & & & & & & & & & & & & & & beep = 0;& && &&&//打开蜂鸣器
& & & & & & & & & & & & & & & & & & & & & & & & } & & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & & & & & else if(dt_value == 5)& & & && & //当到了第5层的时候
& & & & & & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & & & & & if(dt_5 == 1)
& & & & & & & & & & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & & & & & & & & & led5 = 0;& & & & & & & &&&//关闭第5层发光二极管
& & & & & & & & & & & & & & & & & & & & & & & & & & & & dt_5 = 0;& && &&&//清零电机在的标志
& & & & & & & & & & & & & & & & & & & & & & & & & & & & flag_stop = 0;& &//到停下
& & & & & & & & & & & & & & & & & & & & & & & & & & & & beep = 0;& && &&&//打开蜂鸣器
& & & & & & & & & & & & & & & & & & & & & & & & } & & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & & & & & else if(dt_value == 6)& & & && & //当到了第6层的时候
& & & & & & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & & & & & if(dt_6 == 1)
& & & & & & & & & & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & & & & & & & & & led6 = 0;& & & & & & & &&&//关闭第6层发光二极管
& & & & & & & & & & & & & & & & & & & & & & & & & & & & dt_6 = 0;& && &&&//清零电机在的标志
& & & & & & & & & & & & & & & & & & & & & & & & & & & & flag_stop = 0;& &//到停下
& & & & & & & & & & & & & & & & & & & & & & & & & & & & beep = 0;& && &&&//打开蜂鸣器
& & & & & & & & & & & & & & & & & & & & & & & & } & & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & & & & & else if(dt_value == 7)& & & && & //当到了第7层的时候
& & & & & & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & & & & & if(dt_7 == 1)
& & & & & & & & & & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & & & & & & & & & led7 = 0;& & & & & & & &&&//关闭第7层发光二极管
& & & & & & & & & & & & & & & & & & & & & & & & & & & & dt_7 = 0;& && &&&//清零电机在的标志
& & & & & & & & & & & & & & & & & & & & & & & & & & & & flag_stop = 0;& &//到停下
& & & & & & & & & & & & & & & & & & & & & & & & & & & & beep = 0;& && &&&//打开蜂鸣器
& & & & & & & & & & & & & & & & & & & & & & & & } & & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & & & & & else if(dt_value == 8)& & & && & //当到了第8层的时候
& & & & & & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & & & & & if(dt_8 == 1)
& & & & & & & & & & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & & & & & & & & & led8 = 0;& & & & & & & &&&//关闭第8层发光二极管
& & & & & & & & & & & & & & & & & & & & & & & & & & & & dt_8 = 0;& && &&&//清零电机在的标志
& & & & & & & & & & & & & & & & & & & & & & & & & & & & flag_stop = 0;& &//到停下
& & & & & & & & & & & & & & & & & & & & & & & & & & & & beep = 0;& && &&&//打开蜂鸣器
& & & & & & & & & & & & & & & & & & & & & & & & } & & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & }
& & & & & & & & & & & & }& & & & & & & &
& & & & & & & & } & & & & & & & & & & & & & & & & & & & & & & & &
& & & & }
& & & & if(flag_stop == 0)
& & & & {
& & & & & & & & value2 ++;
& & & & & & & & if(value2 % 5 == 0)
& & & & & & & & {
& & & & & & & & & & & & if(dt_s_x == 1)& & & && & //上
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & shang = ~
& & & & & & & & & & & & & & & & zhong = ~& & & & & & & & & & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & & & & & if(dt_s_x == 2)& & & && & //下
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & zhong = ~
& & & & & & & & & & & & & & & & xia = ~& & & & & & & & & & & & & & & &
& & & & & & & & & & & & }& & & & & & & &
& & & & & & & & }
& & & & & & & & if(value2 &= 10) //1.0s
& & & & & & & & {& & & & & & & & & & & &
& & & & & & & & & & & & beep = 1;&&//关闭蜂鸣器
& & & & & & & & }
& & & & & & & & if(value2 &= 20)& & & &&&//100ms*20 = 2秒
& & & & & & & & {
& & & & & & & & & & & & value2 = 0;& & & &&&& & & & & & & & & & & &
& & & & & & & & & & & & dt_shang_guan();&&//电梯向上&&做最后的判断是否还要继续向上
& & & & & & & & & & & & dt_xia_guan();& & & && &//电梯向下&&做最后的判断是否还要继续向下
& & & & & & & & }
& & & & }& & & &
/*************定时器0初始化程序***************/
void time_init()& & & && &
{
& & & & EA& &= 1;& & & &&&& & & && &//开总中断
& & & & TMOD = 0X01;& & & && &//定时器0、工作方式1
& & & & ET0&&= 1;& & & & & & & && &//开定时器0中断
& & & & TR0&&= 1;& & & & & & & && &//允许定时器0定时
}
/******************主程序**********************/& & & && &
void main()
{
& & & & P1 = 0x00;
& & & & P0 = 0X00;& & & && & //单片机IO口初始化
& & & & time_init();& &//定时器初始化
& & & & while(1)
& & & & {
& & & & & & & & key();& & & & & & & && &//按键程序
& & & & & & & & if(key_can & 20)
& & & & & & & & {& & & && &
& & & & & & & & & & & & if(dt_s_x == 0)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & value2 = 0;
& & & & & & & & & & & & & & & & flag_stop = 1;
& & & & & & & & & & & & }
& & & & & & & & & & & & key_with();& & & & & & & &
& & & & & & & & }&&
& & & & & & & & tiandi_shang_xia();& & & && &//当电梯不动时、判断是向上、还是向下
& & & & & & & & P0 = smg_du[dt_value];& & & && &//显示
& & & & & & & & if(flag_100ms&&== 1)
& & & & & & & & {
& & & & & & & & & & & & flag_100ms = 0;
& & & & & & & & & & & & td_dis();& & & & & & & &&&//电梯处理函数
& & & & & & & & }
& & & & }
}
/*************定时器0中断服务程序***************/
void time0_int() interrupt 1
{& & & &
& & & &
& & & & TH0 = 0x3c;
& & & & TL0 = 0xb0;& &&&// 50ms
& & & & value ++;
& & & & if(value % 2 == 0)
& & & & {
& & & & & & & & flag_100ms = 1 ;
& & & & }
}复制代码
单片机八层电梯控制系统仿真图+源程序等全部资料下载
(932.63 KB, 下载次数: 155)
18:43 上传
点击文件名下载附件
 下载看看 51黑有你更精彩!!
 这么好的例程,为啥没有人顶呢?
学习了,顶起来才看到,谢谢楼主
赞一个,顶
赞一个,挺牛的
有没有说明书
我会四层电梯,再学八层的谢谢你
不错的设计
看看参考下
不错的帖子,很值得收藏。
主程序看不太懂
学习了,顶起来才看到,谢谢楼主
下载来看看,谢谢分享!
有平层信号反馈吗?
学习了,感谢楼主分享!
不错!感谢你的分享
赶紧学起来
感谢楼主分享~
下载看看 51黑有你更精彩!!
可以试试看。。。
怎么不对,运行不对,哪里错了
为什么没人顶
可不可以把单片机八层电梯控制系统 仿真图+源程序+电路原理图的程序流程图发给我一下,我想学习一下这个的编程。谢谢
怎么没有电机模块
可以仿真使用吗?
下载看看可以看吗
就这么简单??电机在那里???
Powered by

我要回帖

更多关于 单片机温湿度控制系统 的文章

 

随机推荐