background image

万长建,等:用单片机实现高层电梯运行自动控制

75

有上行招呼、下行招呼、目的层按键时,给8255

相应位置1,该位所连接的发光二极管就被点亮,

达到指示的目的。电路中u8—8255的PA0.PA7指

示1—8层的上行招呼,PB0.PB7指示9—16层的

上行招呼,PC0.PC7指示1—8层的下行招呼。U7.

8255的PA0一PA7指示9—16层的下行招呼,PB0一

PB7指示1—8层的目的请求,PCo-Pc7指示9~

16层的目的请求。

硬件结构见图1,控制电路板见图2。

轿箱开、关门电路}.一

.__一显示电路

轿箱电机驱动电路|.一

CPU

—l按键电路

轿箱层位传感电路I-一

—_一电源电路

图1硬件结构框图

1.上行招呼指示;2.下行招呼指示;3.目的层指示;4.层位显示

5.电源;6.cPu;7,层位信号和轿箱控制线;
8.u1.u16上行招呼按键;D1-D16下行招呼按键:

Al-A16为目的层按键

3软件设计

图2控制电路板

电梯运行的智能化控制就是一个让电梯接受上

行招呼、下行招呼和电梯内目的层请求,让电梯上

行、下行或停车开门的过程。软件部分是采用主程

序调用子程序的模块化结构,用汇编语言编写的与

硬件电路相配合的程序。该程序的编写是在对电梯

的工作原理及流程全面详细地分析和熟练掌握汇编

语言的基础上完成的。通过对电梯当前所在层与上

行招呼层、下行招呼层、目的层的比较来判别电梯

的上行、下行或停车开门,实现对16层楼电梯运

行的智能化控制。该部分介绍用汇编语言编写的几

个主要程序在电梯自动运行系统中所起的作用。

3.1

系统程序设计概述

系统程序采用模块化结构,由1个主程序

main和按键扫描子程序scan、层位读取子程序lay、

显示子程序display 3个子程序构成。3个子程序分

别完成按键响应和处理、电梯所到层位的读取和处

理、上下行招呼信息和电梯所到层位显示等功能。

不论是电梯处于上行状态还是处于下行状态,或者

是处于等待状态,主程序始终循环调用以上3个子

程序,这样就能保证电梯及时响应乘客的招呼而顺

利运行。这就是系统程序设计的基本逻辑思想。

3.2片内内存分配表

由于需要在固定的位置存放上下行招呼、目的

层和当前层等有用信息,有必要开辟一片片内内存

空间,用于存放这类有用信息。内存的每一个字节

有8位,每一位都可存储一层相应信息。其中高字

节代表低8层的相应情况,低字节代表高8层的相

应情况,字节低位表示低层,字节的高位表示高

层。该软件用了12个固定内存单元专门用来存放

状态信息,详见下表。

表1

片内内存空间地址分配及每位控制功能表

地址功能

地址

功能

40H

9—16层上行招呼

70H

9一16层当前层情况

4lH

l一8层上行招呼

7lH

1—8层当前层情况

50H

9一16层下行招呼

42H

存放40H与60H的“或”

51H

1~8层下行招呼

43H

存放4lH与61H的“或”

60H

9一16层目的请求

52H

存放50H与60H的“或”

61H

l一8层目的请求

53H

存放5lH与6lH的“或”

42H、43H存放上行招呼和目的层信息,与当

前层70H、7lH的值进行“与”操作,若值为真,

表示电梯到了需要停靠的层,电梯就停车、开关

门。若值为假,则继续上行,不停靠。

52H、53H存放下行招呼和目的层信息,与当

前层70H、71H的值进行“与”操作。若值为真,

表示电梯到了需要停靠的层,电梯就停车、开关

门,若值为假,则继续下行,不停靠。

3.3程序功能分析

(1)按键扫描子程序按键扫描子程序的工作

过程可分为3步:第1步是CPU首先检测按键上

是否有键被按下,若无键被按下,程序返回,若有

键被按下,则进入第2步。判别是哪一个键按下,

接着进入第3步。根据被按的那个键,判别出是上

行招呼、下行招呼还是目的层请求。若是上行招

呼,则将上行招呼层信息与40H、41H进行“或”

 

万方数据