电梯系统毕业设计

更新时间:2024-05-03 06:13:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

多层电梯系统设计

摘要

本文介绍了美国INTEL公司MCS-51系列单片机在多层电梯系统设计中的应用。本文通过查询相关资料及对系统设计要求和电梯定向逻辑的分析,结合MCS-51的使用特点提出了一套系统实现的软、硬件方案,并通过MCS-51开发装臵实现了该设计方案的基本功能,对电梯系统设计进行了一种经济、有效的尝试。

关键词: 电梯桥箱 运行控制规则 定向逻辑 服务队列 源层 目标层 上行请求(响应) 下行请求(响应)

第1页 共46页

多层电梯系统设计

目录

第一章 引言 ......................................... 3 第二章 系统设计 .................................. 5 §2.1 设计要求 .................................... 5 §2.2 设计方案 .................................... 5

§2.2.1 硬件实现方案 ............................ 5 §2.2.2 软件实现方案 ............................ 8

§2.3 主要技术分析 .............................. 9

§2.3.1 键盘、显示器方案 .................... 9 §2.3.2 电梯运行控制规则分析 ........... 13

第三章 系统实现 ................................ 16 §3.1 MCS-51硬件资源 ...................... 16

§3.1.1 中断系统与定时器/计数器 ......... 16 §3.1.2 并行I/O口及其基本应用 .......... 20 §3.1.3 串行口的结构及工作方式 .......... 23

§3.2 硬件实现 .................................... 25 §3.3 软件实现 .................................... 26 §3.3.1 功能模块介绍 ....................... 26 §3.3.2 软件实现说明 ....................... 34 第四章 总结 ....................................... 37 §4.1 心得体会 .................................... 37 §4.2 系统改进 .................................... 38 参考文献 ............................................. 40 附录 .................................................... 41

第2页 共46页

多层电梯系统设计

第一章 引言

电梯在国民经济和社会生活中有着广泛的应用。由于可编程控制器(PLC)构成的系统具有故障率低,可靠性高,维修方便等优点,所以实际的电梯控制多采用PLC实现。

本文旨在根据实验条件和我们所学知识,在分析电梯逻辑的前提下,进行更为经济而有益的尝试,即用MCS-51开发装臵“TDN86/51二合一微机教学实验系统”(以下简称TDN86/51系统)实现电梯的运行规则。电梯根据外部呼叫以及自身控制规律等运行,实际上是一个人机交互的控制系统。而且电梯外部呼叫是随机的,单纯用顺序控制或逻辑控制难以满足控制要求,因此多采用随机逻辑方式控制。

MCS-51把微型计算机的主要部件都集成在了一块芯片上,使得数据传送距离大大缩短,可靠性高,运行速度快。由于属于芯片化的微型计算机,各功能部件在芯片中的布局和结构达最优化,抗干扰能力加强,工作亦相对稳定。因此在工作控制系统中,使用单片机是最理想的选择。单片机属于典型的嵌入式系统,所以它是低端控制系统最佳器件。

第3页 共46页

多层电梯系统设计

另外,MCS-51的开发环境要求较低,软件资源丰富,介绍其功能特性的书籍和开发软件随处可取,只需配备一台PC机(对电脑的配臵基本上无要求),一台仿真编程器即可实现产品开发,早期的开发软件多使用DOS版本,随着Windows视窗软件的普及,现在几乎都使用Windows版本,并且软件种类繁多,琳琅满目。在众多的单片机品种中,MCS-51的环境资源是最丰富的,这给MCS-51用户带来了极大的便利。

第4页 共46页

多层电梯系统设计

第二章 系统设计

2.1 设计要求

本系统要求使用MCS-51的软硬件实际实现一个多层电梯的运行逻辑。设计中要求电梯以每4秒升或降一层的速度运行,到达指定楼层,电梯开门5秒后自动关闭,并且与实际电梯系统一样,正确显示电梯当前运行状态、电梯当前所处楼层、电梯到达指示,记录用户的响应请求、自动判断电梯运行方向等。

2.2 设计方案

2.2.1 硬件实现方案 一、 功能模块

根据系统设计要求以及

51开发装臵的硬件资

源,我们考虑系统硬件可由键盘和显示两大模块组成,如图2.1所示。通过这两大模块,我们可以模拟电梯系统用户请求和响应请求的全过程。

第5页 共46页

多层电梯系统设计

键盘模块 显示模块

用户请求Ⅰ 用户请求显示 电梯响应显示 用户请求Ⅱ 目标楼层显示 图2.1

其中,键盘模块主要实现各楼层用户信号的输入,该信号包括两类:一类是电梯外用户的上、下行请求信号,对应图2.1中用户请求Ⅰ模块,一类是电梯桥箱内用户的目标层请求信号,对应图2.1中用户请求Ⅱ模块。

显示方式也有两种,一种是数码管显示,一种是发光二极管显示。其中,数码管可用于显示用户所在楼层、是上行还是下行请求、电梯当前所处楼层、电梯运行目标楼层等,发光二极管可用于指示电梯的某种状态,如上升、下降、暂停、开门、关门等。 二、 各类信号的设臵与安排

根据对系统功能和开发装臵使用的分析,我们对

第6页 共46页

多层电梯系统设计

各类输入输出信号作如下的设臵与安排:

(一)、输入信号:设臵电梯外用户的上、下行请求信号、电梯桥箱内用户的目标层请求信号;输出信号:电梯当前楼层指示信号、用户请求信号、电梯运行状态指示信号(上升、下降、暂停、开门、关门)。 (二)、根据开发装臵的配臵,我们拟实现一个五层电梯系统的设计。

TND86/51系统2×4键盘的配臵如图2.2所示。

“4”/五楼下行 “5”/二楼下行 “6”/三楼下行 “7”/四楼下行 “0”/一楼上行 “1”/二楼上行 “2”/三楼上行 “3”/四楼上行 图2.2

图示说明如下:

1. 键值“0”、“4”分别用于一楼和顶(五)楼用户的上行请求和下行请求;

2. 键值“1”、“5”分别用于二楼的上行请求和下行请求;

3. 键值“2”、“6”分别用于三楼的上行请求和下行请求;

4. 键值“3”、“7”分别用于四楼的上行请求和下行请求;

第7页 共46页

多层电梯系统设计

(三)、显示方案

TDN86/51开发装臵提供四个数码管和八个发光二极的显示。其中,设计四个数码管从右到左分别显示:电梯当前楼层、桥箱内用户的目标层(只显示最近请求)、呼叫用户所在楼层、上行或下行请求标志(“1”表示上行请求,“0”表示下行请求)。发光二极管(8个)用于指示电梯当前状态、上升、下降、暂停、开门或关门。 2.2.2 软件实现方案

软件实现方面,我们需对电梯运行控制规则进行充分分析。如第一章引言中所叙,电梯系统应采取随机逻辑方式进行控制,那么,如何合理而有效地实现随机逻辑控制正是我们软件设计方案所要解决的问题,为此,我们设计了一个服务队列的结构。该服务队列记录了电梯内外的所有请求信号,每个请求信号保留到执行以后清除。程序根据该队列提供的信息,可实现按照电梯运行的控制规则对信号进行分批响应。队列结构设计如下:

第8页 共46页

多层电梯系统设计

上、下楼标志 源层(S) 目标层(D) 随机逻辑的控制实现将在第三章的软件实现中具体介绍。

2.3 主要技术分析

2.3.1 键盘、显示器方案

键盘、显示器的设计实现主要有两种方式:一种是并行口扩展的键盘、显示器,一种是串行口扩展的键盘、显示器。其消抖动和判断键值都要依靠软件实现。下面对这两种实现方式分别进行介绍。 一、 并行口扩展的键盘、显示器

并行口扩展的键盘可以有两种形式,一种是矩阵式键盘,矩阵式键盘也称为行列式键盘。行线通过上拉电阻接到+5V电源上,列线上逐列给低电平,如果有键按下,相对应的行线就能够接收到低电平,据此就可以判断出相应的键值。采用矩阵式键盘,可以节约系统I/O口线。矩阵式键盘是我们比较常用的一种键盘。还有一种形式是每个按键对应一个I/O口,按键一端接高电平,一端接低电平,平时I/O口接高电平,有键按下时,相应的I/O口输入为低电平,据此就可以判断出相应的键值。显然,这种方式占用的

第9页 共46页

多层电梯系统设计

I/O口线较多,当按键数很多时就不可行了,其优点是键值判断简单。

并行口扩展的显示器是动态显示,即一位一位轮流点亮各位的方法(扫描)。 二、 串行口扩展的键盘、显示器

利用串行口方式0(串行口的工作方式将在下章介绍)可以同时扩展矩阵式键盘和数码管显示器,并节约硬件资源,即可以用这种方式将空闲的串行口充分利用起来,将节省下来的并行口(或可编程芯片8155、8255)用到更需要的地方。在使用串行口扩展键盘时,要注意扩展键盘的个数不宜多,当扩展键盘的个数较多时,所用移位寄存器74LS164芯片增多,功耗增加,所占用的口线也会增加。

串行口扩展的显示特点是静态显示。静态显示的特点是亮度大,数码显示不闪烁,且CPU不必频繁地为显示服务,软件设计比较简单,从而使单片机有更多的时间处理其他事务。 三、TDN86/51系统的单元电路

TDN86/51系统中单片机实验涉及到的8155芯片已形成单元电路,其引脚全部以排针形式引出供实验

第10页 共46页

多层电梯系统设计

使用,其线路图如图2.3所示:

8155AD0AD1AD2AD3AD4AD5AD6AD7CSALEWRRDIOMRESETTINTOUR12131415161718198111097436AD0AD1AD2AD3AD4AD5AD6AD7CEALEWRRDIO/MRESETTINTOUTPA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC521222324252627282930313233343536373839125PA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5ALE8031

图2.3

TDN86/51系统中键盘及LED显示实验单元由四个共阴数码管、两行四列键盘和LED驱动器电路构成,其线路图如图2.4所示:

+5V4.7K X 874LS07+5VY14Y20123X1X2X3X45674.7K4.7K74LS07

图2.4

一个好的硬件设计应体现为在动作可靠的前提

第11页 共46页

多层电梯系统设计

下硬件最少。因此, 本着硬件尽量简单的原则,我们利用这两个单元电路构成8155扩展的键盘、显示器,循环扫描判断键值、数码管动态显示。实现电路如图2.5所示。其中,画圈的线需要用导线或排针在线路板上连接,其它的线由于是现成的单元电路,在板子上均已连接好。

+5V4.7K X 8PO0AD0PB7PO7AD7PB074LS07+5VP26P27WRRDIOMPC1CSWRRDPC0PA0PA1PA2PA3Y14Y20123X1X2X3X45674.7K4.7K74LS0780318155

图2.5

另外,显示模块中还有发光二极管显示部分,这部分电路我们通过串行口实现,如图2.6所示,图中用74LS164作为串入并出移位寄存器,输出口接到发光二极管上。

第12页 共46页

多层电梯系统设计

74164RXDRX8031TXDTX89CLKCLRSW-LED UNITD012ABQAQBQCQDQEQFQGQH345610111213Q0Q1Q2Q3Q4Q5Q6Q7D7 图2.6

2.3.2 电梯运行控制规则分析 一、 电梯定向逻辑

电梯的定向是根据电梯的上行请求信号、下行请求信号、电梯轿箱内请求信号、电梯当前所处位臵等信号来确定电梯继续运行的方向。电梯的定向是电梯控制中的重要逻辑。

电梯的方向只有上升、下降两个方向,但电梯也可能由于没有任何的上升或者下降请求信号而处于停止状态。在电梯的方向处理过程中,电梯只能在上升状态和停止状态或者下降状态与停止之间转换,例如当电梯由上升状态转为下降状态时必须先由上升状态转换为停止状态以后再由停止状态转为下降状态。这样的处理方式对电梯的运行是很有意义的。以往的电梯控制系统中,当电梯响应完某个方向上的所有信号后,若所有剩余的信号都是反方向的,电梯立刻改变方向,此时,在原方向前方若出现新的呼叫信

第13页 共46页

多层电梯系统设计

号,电梯将不会立刻应答,只是记忆该呼叫信号,而去响应换向后的方向上的呼叫信号,这样既不符合电梯选层的优先原则,又不能有效的节约能源。采用图2.8所示的状态转换方式,电梯在响应完某个方向上的所有信号后并不是立刻反向,而是保持该状态等待一段时间后进入停止状态,然后再反向响应相反方向的呼叫信号。对保持时间进行合理的选择,可以做到既不会使得电梯的换向过程显得迟钝,又能有效的响应同方向的新呼叫信号。

电 梯上 电梯暂停 电梯下降状态 升状态 图2.8

二、 电梯运行控制规则

根据电梯定向逻辑,设定具体运行控制规则如下:

(一)、电梯处于上升状态

在该状态下,电梯仅响应当前楼层以上位臵的上行请求信号、电梯轿箱内当前楼层以上的目标层请求信号,依次执行,直到最后一个请求执行完毕;然后

第14页 共46页

多层电梯系统设计

经过一段定时时间后进入暂停状态。 (二)、电梯处于下降状态

在该状态下,电梯仅响应当前楼层以下位臵的下行请求信号、电梯轿箱内当前楼层以下的目标层请求信号,依次执行,直到最后一个请求执行完毕;然后经过一段定时时间后进入暂停状态。 (三)、电梯处于暂停状态

在该状态下,当前楼层之上有上、下行的请求信号或者电梯轿箱内楼层请求信号在当前楼层的上面则臵电梯为上升状态;相反,若在当前楼层之下有上、下行的请求信号或者电梯轿箱内楼层请求信号在当前楼层的下面则臵电梯为下降状态。

即假设电梯当前楼层为A,电梯运行的目标层为B,则当

A<B A>B A=B

第15页 共46页

电梯上升状态 电梯下降状态 电梯开门

多层电梯系统设计

第三章 系统实现

3.1

MCS-51硬件资源

3.1.1 中断系统与定时器/计数器 一、 中断系统

中断是指当CPU正在执行程序的过程中,如有外部事件请求CPU处理时,CPU暂时中止当前的执行程序,转入必要的处理程序,并在处理完毕后,立即返回到原来被中止程序的间断处继续执行。在单片机应用系统中,为了提高CPU的效率,多采用这种中断方式。为了实现中断功能而配臵的软件与硬件,称为中断系统。

中断源是中断申请的来源。MCS-51单片机有五个中断源,即两个外部中断INT0、INT1;两个片内定时器/计数器T0、T1的溢出中断源;一个串行口中断。见表3-1。

第16页 共46页

多层电梯系统设计

表3-1 MCS-51单片机中断系统表

中断源 外部中断INT0 定时器T0中断 外部中断INT1 定时器T1中断 串行口中断 说 明 从P3.2引脚引入的外部中断申请 定时器T0溢出发出中断申请 从P3.3引脚引入的外部中断申请 定时器T1溢出发出中断申请 一次串行发送/接收完成后,发出中断申请 8051通过对四个特殊功能寄存器TCON、SCON、IE和IP的设臵来进行中断允许、中断申请方式和中断优先级的控制。其中,TCON是定时器/计数器及外部中断控制寄存器,SCON是串行口控制寄存器,IE是中断允许控制寄存器,IP是中断优先级控制寄存器。

二、定时器/计数器

8051单片机内有两个16位定时器/计数器T0和T1,它们都有定时和对外部事件计数的功能。 (一)、定时器/计数器的结构

定时器/计数器T0和T1都是16位加1计数器。其中T0由两个8位特殊功能寄存器TH0和TL0构成,T1由两个8位特殊功能寄存器TH1和TL1构成。每

第17页 共46页

多层电梯系统设计

个定时器都可由软件设臵为定时功能或计数功能。定时器/计数器T0的结构示意图如图3.1所示。定时器/计数器T1结构与T0相同。

定时

机器周期 TL0 TH0 TF0

外部计数 图3.1 定时器T0结构示意图

当作为定时器使用时,T0(T1)对单片机机器周期进行计数,计数器计满溢出时,发出中断申请信号。定时时间的长短与系统时钟以及定时器初值有关。

当作为计数器使用时,通过引脚P3.4(P3.5)对外部输入脉冲计数。定时器/计数器T0(T1)启动运行后,会按设定的工作方式独立进行计数,不再占用CPU时间。当计数器T0(T1)计满溢出时,TF0(TF1)臵1,向CPU发出中断请求信号。

定时器/计数器T0、T1由两个寄存器TMOD和TCON来设定其工作方式及工作状态。

TMOD的字节地址为89H,用于设臵T0和T1的工作方式,TMOD不能按位寻址 。低半个字节用

第18页 共46页

多层电梯系统设计

于设臵T0,高半字节用于设臵T1。各位的定义格式如下:

GATE C/T M1 M0 GATE C/T M1 M0 用于设臵T1

用于设臵T0 定时器/计数器控制寄存器TCON字节地址为

88H,每位名称及位地址如下,TCON除可进行字节寻址外,还可进行寻址操作。8051复位时,TCON的所有位被清零。

TCON 位地址 TF1 8FH TR1 8EH TF0 8DH TR0 8CH IE1 8BH IT1 8AH IE0 89H IT0 88H (二)、定时器/计数器的工作方式

对于8051单片机的定时器/计数器,可通过软件对寄存器TMOD中的控制位C/T进行设臵,选择定时或计数功能。对M1、M0两位的设臵可在每种功能下选取4种工作方式,即工作方式0、方式1、方式2和方式3。8051定时器/计数器T0(T1)为16位计数器,其4种工作方式特点见表3.2。

第19页 共46页

多层电梯系统设计

表3.2 定时器/计数器工作方式及特点 最大定时时间/ms定时器长度(位) (系统晶振6MHz) 13 16 工作方式 说明(X=0,1) 13位定时器,使用THX(8位)、TLX(低5位) 16位定时器,使用THX(8位)、TLX(8位) 自装初值方式。THX为源,TLX为计数器,TLX溢出后,THX送入TLX 2个独立的8位定时器。T1无工作方式3 方式0 方式1 16 131 方式2 8 0.5 方式3 8 0.5

3.1.2 并行I/O口及其基本应用 一、 P0~P3口的功能

MCS-51单片机有32条I/O口线,分为4个8位双向端口P0、P1、P2、P3。每个端口均由锁存器、输出驱动电路和输入缓冲器组成,每一组I/O口线均能独立的进行输入输出操作,但4个端口的结构不尽相同,因此它们的功能和用途也不相同。

(1) P0口 P0口是双向I/O口,可作为通用I/O口使用,也可以作为数据/地址线使用。

(2) P1口 P1口是一个准双向I/O口,它只能作为通用I/O口使用,没有第二功能。

第20页 共46页

多层电梯系统设计

(3) P2口 P2口是一个准双向I/O口。当系统有外部扩展存储器或I/O口时,P2口作为地址高8位信号线,此时P2口只能作地址线使用,而不能做其它用。

(4) P3口 P3口是一个准双向I/O口,除可作为通用I/O口使用外,还具有第二功能

MCS-51单片机中P0、P2和P3口具有第二功能,而P1口不具有第二功能。P0口是三态输出,其每个管脚均可以驱动8个TTL,而P1、P2和P3口的输出级均有上拉电阻,每个管脚可驱动4个TTL。对于每个并行口,如果作为一般的输入输出口,均可定义一部分管脚为输入脚,另一部分管脚为输出脚,没有使用的管脚可以悬空。当系统复位后,P0、P1、P2和P3口均输出高电平。 二、8155的应用

8155芯片内包含有256B的RAM,两个可编程的8位并行口PA 和PB,一个可编程的6位并行口PC,以及一14位减法定时器/计数器。其引脚图如图3.2所示:

第21页 共46页

多层电梯系统设计

8155HPC3PC4TIMER INRSTPC5TIMER OUTIO/MCERDWRALEAD0AD1AD2AD3AD4AD5AD6AD7GND12345678910111213141516171819204039383736353433323130292827262524232221VCCPC2PC1PC0PB7PB6PB5PB4PB3PB2PB1PB0PA7PB6PB5PB4PB3PB2PB1PB0

图3.2 8155引脚图

CPU可对8155的RAM单元和I/O口寻址,当IO/M=0时,CPU对8155的256B的RAM寻址;当IO/M=1时,选中8155片内3个I/O接口及命令/状态寄存器和定时/计数器,见表3.3。

表3.3 8155片内I/O口及命令字地址

地址 选中寄存器 A7 × × × × × × A6 × × × × × × A5 × × × × × × A4 × × × × × × A3 × × × × × × A2 0 0 0 0 1 1 A1 0 0 1 1 0 0 A0 0 1 0 1 0 1 命令/状态寄存器 A口(PA0—PA7) B口(PB0—PB7) C口(PCO—PC5) 定时器/计数器低8位寄存器 定时器高6位及2位方式字寄存器

8155内部的命令寄存器和状态寄存器使用同一

第22页 共46页

多层电梯系统设计

个端口地址。命令寄存器只能写入不能读出,状态寄存器只能读出不能写入。8155I/O口的工作方式由CPU写入寄存器的控制命令字决定。

8155一般应用硬件电路如图3.3所示。根据该电路图8155的命令字端口地址为7F00H,A口地址为 7F01H,B口地址为7F02H,C口地址为7F03H。 3.1.3 串行口的结构及工作方式 一、单片机串行口的结构

MCS—51单片机由两个独立的接收缓冲寄存器、发送缓冲寄存器SBUF、发送控制器、接收控制器、输入移位寄存器、输出移位寄存器和输出控制门、波特率发生器等组成。与串行口有关的特殊功能寄存器有SBUF、SCON、PCON,与串行口中断有关的特殊功能寄存器有IE、IP。

SUBF是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。两个缓冲器共用一个字节地址99H,可通过指令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。执行指令MOV SBUF,X,可完成写串行口缓冲器,启动串行口发送功能。执行指令MOV Y,SUBF,可完成

第23页 共46页

多层电梯系统设计

读串行口缓冲器,把接受到的8位串行数据读入功能。X可以是累加器A、寄存器Rn、间接寻址寄存器@Ri、直接地址direct或立即数#data 。Y可以是累加器A、寄存器Rn、间接寻址寄存器@Ri或直接地址direct.

SCON是可以进行位寻址的8位控制寄存器,地址为98H。SCON各位的定义如下:

SCON.7 SM0 .6 SM1 .5 SM2 .4 REN .3 TB8 .2 RB8 .1 T1 SCON.0 RI 二、串行口的四种工作方式

单片机串行口有4种工作方式,用特殊功能寄存器SCON中的SM0、SM1两位进行设定,见表3.4

表3.4 SM0、SM1确定的4种工作方式

SM0 SM1 工作方式 功能 8位移位寄存器方式(用于I/O扩展) 8位异步串行通信(每侦发送10位) 9位异步串行通信(每侦发送11位) 9位异步串行通信(每侦发送11位) 波特率 0 0 0 f OSC /12 可变(T1溢出率×2SMOD/32) f OSC /64或f OSC /32 可变(T1溢出率×2SMOD/32) 0 1 1 1 0 2 1 1 3

第24页 共46页

多层电梯系统设计

3.2 硬件实现

系统硬件整体电路如图3.3所示,其主要电路的工作原理分述如下:

+5V4.7K X 8PO0AD0PB7RXDPO7AD7PB074LS07+5VP26P27WRRDIOMPC1CSWRRDPC0PA0PA1PA2PA3Y14Y20123X1X2X3X45674.7K4.7KTXD803181557416474LS07RXTX89CLKCLRSW-LED UNIT12ABQAQBQCQDQEQFQGQH345610111213Q0Q1Q2Q3Q4Q5Q6Q7D7D0

图3.3 完整电路

一、键盘显示电路

其具体工作原理如下:设臵PA0~PA3为输出口,PC0、PC1为输入口,平时PC0、PC1接至高电平,输入信号均为“1”,当有键按下、需要判断键值时,PA0~PA3循环送出信号“0”,键值按下的地方同时

第25页 共46页

多层电梯系统设计

接通了某个PA输出口和PC输入口,即使得PC0或PC1输入为低电平。综合PA0~PA3和PC0、PC1值就可判断出键值。 二、数码管动态显示

其工作原理为:PA口从左到右依次选通四个数码管的显示,由于是共阴极数码管,所以PA0~PA3应依次为“0”,其余为“1”,配合PB口送出需要显示的内容,该内容由软件转换成共阴数码管的显示编码,动态地显示出正确的系统信息。

3.3

3.3.1 功能模块介绍

根据软件的功能要求,我们将软件的实现划分为五大模块,现分别进行说明。其中:

? 设电梯当前层为A,电梯运行目的层为B

? 设臵电梯状态标志:暂停、上行响应、下行响应、上升状态、下降状态

? 服务队列结构:上下行请求标志、用户所在层(源层S)、用户请求层(目标层D) 一、 主程序:

系统初始化时,设电梯为暂停状态,处于第一层,

第26页 共46页

软件实现

多层电梯系统设计

并清空服务队列;当用户请求来时,首先将该请求送服务队列,然后根据用户请求的类型,将电梯状态标志由暂停态转臵为上行响应或下行响应状态;最后将用户所在层与电梯当前层进行比较,确定电梯的运行方向,转相应子程序处理。平时,当电梯处于暂停状态时,根据服务队列中记忆的用户请求或当前请求及电梯当前位臵决定电梯是转入上升状态还是下降状态。其流程图如图3.4所示。

第27页 共46页

多层电梯系统设计

初始化 N 服务队列空? Y 有新请求? Y 进服务队列 N 上行请求 取目的层B N Y 取目的层B 臵下行响应标志 取目的层B 上行请求 Y 臵上行响应标志 N 电梯开门 上行响应? A=B? N A

二、电梯上升子程序

电梯上升以4秒计一个楼层,上升过程中可响应当前楼层以上位臵的上行请求信号、电梯轿箱内当前楼层以上的目标层请求信号,依次执行,直到最后一个请求执行完毕。其流程图如图3.5所示。

第28页 共46页

多层电梯系统设计

开上升指示,关下降指示 图3.5 上升子程序流程图

Y 已处理? 进服务队列 N 取目的层B Y 4秒到? N N 有新请求? 队列空? N Y Y 上行响应? N N 下行响应? Y 电梯下降 Y A=A+1 N A=B? Y 电梯开门 返回 三、 电梯下降子程序

电梯下降以4秒计一个楼层,下降过程中可响应当前楼层以下位臵的下行请求信号、电梯轿箱内当前楼层以下的目标层请求信号,依次执行,直到最后一个请求执行完毕。其流程图如图3.6所示。

第29页 共46页

多层电梯系统设计

开下降指示,关上升指示 N 4秒到? N 有新请求? N 队列空? N Y 已处理? N 上取目的层B 返回 Y 下行响应? N N 上行响应? Y 电梯升 Y A=A—1 A=B? Y 电梯开门 Y Y 进服务队列 图3.6 下降子程序流程图

四、电梯开门子程序

电梯开门有两种情况,一种是响应用户的呼叫请求,一种是到达用户指定的目标层。若是响应用户的请求,则将该请求送进服务队列;若是到达指定的目标层,则表明该项请求执行完毕,需将其从服务队列中删除。其流程图如图3.7所示。

第30页 共46页

多层电梯系统设计

N 开门指示,开5秒定时 Y 5秒到 上行响应? N 查询队列 Y Y 查询队列 上行且A=D? N Y 0<B<6 N 删除请求 取目标B 上行且A=D? N 接受目的地址 Y 臵暂停标志 返回 R>S臵上行响应 Y 修改服务队列D←R N R>S臵下行响应 Y N 告警处理 Y 5秒到? R=0? N 电梯关门 N 删除该请求 返回 图3.7 开门子程序流程图

第31页 共46页

多层电梯系统设计

五、取目的层子程序

取目的层子程序是实现电梯运行规则和定向逻辑的关键。在电梯上升和下降时都需要调用该子程序以实现电梯运行过程中的响应及状态转换,即上升过程中可响应当前楼层以上位臵的上行请求信号、电梯轿箱内当前楼层以上的目标层请求信号,下降过程中可响应当前楼层以下位臵的下行请求信号、电梯轿箱内当前楼层以下的目标层请求信号。所有上行请求或下行请求执行完,系统转入暂停状态;在暂停态转为运行态时,本系统实现的原则是取上行请求的最低层或下行请求的最高层。其流程图如图3.8所示,其中指针指的是队列指针,X为中间变量。

第32页 共46页

多层电梯系统设计

指针=0 N 上行响应? B=0 指针+1 指针空? Y 返回 B=6 N 下行请求? Y 指针+1 目的层D空? Y Y N 源地址S>A Y X←S N 目的层D空? Y N 源地址S>A Y X←S B←X X←D N B<X?(取最小值) Y N X←D 指针空? N N 上行请求? Y 返回 N B>X?(取最小值) B←X 图3.8 目的层子程序流程图

第33页 共46页

多层电梯系统设计

3.3.2 软件实现说明

一、定时器设臵与具体实现

根据系统要求,电梯以每4秒升或降一层的速度运行,到达指定楼层,电梯开门5秒后自动关闭。这就涉及到定时的实现。本系统需要T0定时4s,直接使用方式0、方式1、方式2和方式3这4种方式均不能达到要求。因此我们采用方式1,定时20ms,则中断200次,总定时时间为20ms×200=4000ms=4s。 (1)

定时器工作方式寄存器TMOD设臵如下:

C/T 0 M1 0 M0 0 GATE 0 C/T 0 M1 0 M0 1 TMOD GATE 89H 0 (2)定时器/计数器控制寄存器TCON设臵如下:

TCON 88H TF1 0 TR1 0 TF0 0 TR0 1 IE1 0 IT1 0 IE0 0 IT0 0 TR0=1则启动T0

(3)定时器/计数器初始值计算

Tini(初始值)=2N﹣定时时间/机器周期

其中N是定时器/计数器的定时器长度,与定时器/计数器的工作方式有关。机器周期是晶振周期的

第34页 共46页

多层电梯系统设计

12倍,若晶振为12MHz则机器周期为1us,若晶振为6 MHz,则机器周期为2 us。

如要求定时20ms(20000us),晶振采用6 MHz,则定时器/计数器工作在方式1下的初始值为:

Tini=216﹣20000/2=55536

55536转换为十六进制为

D0F0H。(TL0)=0F0H,

(TH0)=0D0H。中断次数计数器(R5)=200。 (4)T0中断的入口地址为000BH。 二、 服务队列的设计

本系统的难点在于电梯服务队列的实现。设臵服务队列后数据写入地址的计算公式为: i * 3 + j

其中,i表示服务队列中用户请求的序号,j表示所存数据的类别,如图所示:

j 上下行请求标志 源层 目标层 i 实际实现中,将地址计算公式改为: i * 4 + j

第35页 共46页

多层电梯系统设计

这是为了软件实现的方便,累加器每左移一位相当于乘以2,所以连续两次调用累加器左移RL A指令,即可实现i×4的运算。实际服务队列的结构为: 上、下行请求标志 j 源层 目标层 空(X) i

即为了实现方便,我们多加了一列地址。

第36页 共46页

多层电梯系统设计

第四章 总结

4.1 心得体会

本系统设计在我们小组四人的努力下终于完成了。实验证明,本系统能成功对电梯逻辑进行控制,能准确、及时地到达指定楼层。此次设计中,我的主要工作是参加系统分析设计、编制系统程序流程,并参与部分程序的调试。在程序调试过程中,经常会遇到程序执行错误或运行结果不对的地方。

有时是因为自己的粗心。比如一次在输入程序的过程中,误将数字“0”输入成字母“O”,结果程序无法正确运行,经单步调式、不断排查,花了将近一下午的时间才找到问题。TDN86/51系统为8088、8031二种CPU系统设臵了选择开关S98(位于电路板右下部位)。此开关分为三档:NC、86、51,对CPU系统的选择必须要与想使用的CPU相一致。本系统应将S98臵于“51”档,而有一次本人误将S98档拨到了86档,使程序无法运行,浪费了很多时间。

有时软件编制本身有问题,比如在执行程序的

第37页 共46页

多层电梯系统设计

过程中,每当执行到中断子程序: Loop:AJMP LOOP

RET

的时候就会进入死循环。后来发现是中断返回不正确,因此增加了一个执行标志:6FH。将程序改为: LOOP : SETB 6FH

JMB 6FH. LOOP RET

并在中断处理程序执行完成后,加一条语句:CLR 6FH。这样处理后问题便应刃而解。

这次设计不仅巩固了我所学的知识(如MCS-51单片机等)让我学到了很多新知识和宝贵的实践经验,也检验、锻炼了我将知识运用到实践的能力,培养了我严谨细致的工作作风,为我以后踏上工作岗位打下了坚实的基础。

4.2系统改进

本系统采用MCS-51控制电梯有明显的优越性,是一个改善电梯性能的有效方法。电梯的技术含量还

第38页 共46页

多层电梯系统设计

是很高的,需要懂得机械方面的知识和电气方面的知识,尤其在现在微处理技术广泛应用的时代,还需要学习微电子方面的常识才能够满足电梯从业的要求。本次毕业设计使我对MCS-51单片机系列以及电梯系统有了更深入的认识,实际操作使我对TDN51/86实验系统有了更好的了解。由于时间关系,系统设计有些仓促。对此系统,我们考虑可进一步改进、完善之处有以下几点:

1、改进服务队列的设计,将面向用户请求的设计修改为面向楼层的设计,这种编程思路的修改将更符合现实情况,并便于实现楼层的优选原则;

2、另外,可考虑将单个服务队列的设计划分为上行优选队列和下行优选队列两部分以进一步简化编程,并在实现电梯的定向逻辑时,更好地实现楼层的优选原则。例如,在本系统中,由暂停态转为运行态时,楼层选取原则是取上楼请求的最低层或下楼请求的最高层,如设计优选队列,可优选出离当前楼层最近的楼层作为响应层;

3、对电梯定向逻辑的实现处于初级阶段,没有实现文中理论上对保持时间的合理选择。根据我们的

第39页 共46页

多层电梯系统设计

分析,电梯在响应完某个方向上的所有信号后并不是立刻反向,而是保持该状态等待一段时间(保持时间)后进入停止状态,再反向响应相反方向的呼叫信号。这样,可以既不使电梯的换向显得迟钝,又能有效的响应同方向的新呼叫信号;

4、进一步扩展硬件电路,丰富系统功能。

参考文献

1、谭浩强等.MCS-51单片机应用教程.北京:清华大学出版社,2004

2、张友德等.单片机原理及应用技术.北京:机械工业出版社,2004

3、胡汉才.单片机原理及其接口技术(第2版).北京:清华大学出版社,2004

4、刘培尧.电梯原理与维修.北京:电子工业出版社,2000

5、唐玉玲.PLC在电梯教学模型控制中的应用。《PLC&FA》2003年第4卷,第八期

6、TDN86/51二合一微机教学实验系统用户手册及8051实验指导书.西安:西安唐都科教仪器公司

第40页 共46页

本文来源:https://www.bwwdw.com/article/zrmg.html

Top