基于单片机的电梯控制系统的论文67333.docx
- 文档编号:27499614
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:50
- 大小:376.34KB
基于单片机的电梯控制系统的论文67333.docx
《基于单片机的电梯控制系统的论文67333.docx》由会员分享,可在线阅读,更多相关《基于单片机的电梯控制系统的论文67333.docx(50页珍藏版)》请在冰豆网上搜索。
基于单片机的电梯控制系统的论文67333
第一章绪论
1.1课题的背景简介
1.1.1电梯的历史和发展
电梯进入人们的生活已经150年了。
一个半世纪的风风雨雨,翻天覆地的是历史的变迁,永恒不变的是电梯提升人类生活质量的承诺。
生活在继续,科技在发展,电梯也在进步。
150年来,电梯的材质由黑
白到彩色,样式由直式到斜式,在操纵控制方面更是步步出新一一手柄开关
操纵、按钮控制、信号控制、集选控制、人机对话等等,多台电梯还出现了并联控制,智能群控;双层轿厢电梯展示出节省井道空间,提升运输能力的优势;变速式自动人行道扶梯的出现大大节省了行人的时间;不同外形
扇形、三角形、半菱形、半圆形、整圆形的观光电梯则使身处其中的乘客的视线不再封闭。
如今,以美国奥的斯公司为代表的世界各大著名电梯公司各展风姿,仍在继续进行电梯新品的研发,并不断完善维修和保养服务系统。
调频门控、智能远程监控、主机节能、控制柜低噪音耐用,一款款集纳了人类在机械、电子、光学等领域最新科研成果的新型电梯竞相问世,冷冰冰的建筑因此散射出人性的光辉,人们的生活因此变得更加美好。
中国最早的一部电梯出现在上海,是由美国奥的斯公司于1901年安装
的。
1932年由美国奥的斯公司安装在天津利顺德酒店的电梯至今还在安全运转着。
1951年,党中央提出要在天安门安装一台由我国自行制造的电梯,天津从庆生电机厂荣接此任,四个月后不辱使命,顺利地完成了任务。
十一届三中全会后,沐浴着改革开放的春风,我国电梯业进入了高速发展的时期。
在我国任何一个城市,电梯都在被广泛使用着。
电梯给人们的生活带来了便利,也为我国现代化建设的加速发展提供了强大的保障。
电梯是高层建筑中安全、可靠、垂直上下的运载工具,对改善劳动条件、减轻劳动强度起到很大的作用。
电梯的使用范围很广,可用于宾馆、饭店、办公大楼、商场、娱
乐场所、仓库以及居民住宅大楼等。
在现代社会中,电梯已成为人类必不可少的垂直运输交通工具。
1.2课题的主要研究内容及设计步骤
本课题的主要任务是完成一个电梯系统的调度模块,即根据每个楼层不同顾客的按键需求,让电梯做出合理的判断,正确高效地知道电梯完成各项载客任务。
根据此任务,本课题需要研究的内容有:
1、根据系统的技术要求,进行系统硬件的总体方案设计;
2、学习单片机的相关知识,并且加以运用;
3、选择恰当的芯片,并对其内部协议有所掌握,便于使用。
4、研究C语言编程,并且规定电梯的工作规则,用C语言加以实现;
5、对软件和硬件进行调试,让其协调工作,完成指定任务。
结合以上内容,本课题的设计方案步骤如下:
关于硬件部分:
首先,对实际的电梯系统进行模拟,一般情况下,一个电梯应该具备相关按键、显示二极管、数码管等,由于这是一个调度模块,故没有设计具体的轿厢等机械部分。
然后,结合这些实物,选择恰当的芯片,并分成若干模块,安排好各自之间的关系。
由于其有诸多按键和显示环节,而单片机的I/O口管脚资源实在有限,故需要I/O口扩展,用以管理二极管;同时要有专门的按键控制芯片,从而便于按键管理。
在此,我分别选择了82C55和8279
芯片。
接着,要完成电路图的设计,画出PCB板,焊接相关器件后进行硬件调试,看是否好用并加以适当的更正。
关于软件部分:
处于最底层的是对两个芯片的寄存器读写工作,完成后方可进行更高层的使用程序调试。
为了使硬件简单化,我选择了模拟时序的方法读写寄存器,这比总线操作的方法节省了锁存器。
然后是关于电梯调度时所遵循的原则作出规定,其必须基于高效和人性化两个原则。
最后是使用C语言将规定程序
化,以便电梯真正的运作。
当然,二者的关系并不是分离的,它们是相辅相成,硬件依据软件来验证,软件依据硬件来调试。
经过一个个的发现问题、一个个的解决问题,最终做出完美的电梯调度模块。
1.3课题的开发环境简介
1.3.1电路图制作软件Altiumdesigner7.0
AltiumDesigner7.0不断通过为高速设计提供各种功能来提高用户生产力,这些功能包括交互式长度调整和PCB层片增强等功能。
新增
的库工具和各种新功能将AltiumDesigner提升成为统一的电子产品开
发解决方案。
这款最新的更新程序将进一步增强您的能力,让您能够在更短的设计到制造”周期内生产更为尖端、更具创新性的电子产品。
(AltiumDesigner完全取代了Protel)
AltiumDesignerSummer08新增汇入AllegroPCB(*brd)的转文件功能。
AltiumDesigner提供了唯一一款统一的使用方案,其综合电子产品
一体化开发所需的所有必须技术和功能。
AltiumDesigner在单一设计环
境中集成板级和FPGA系统设计、基于FPGA和分立处理器的嵌入式软
件开发以及PCB版图设计、编辑和制造。
并集成了现代设计数据管理功能,使得AltiumDesigner成为电子产品开发的完整解决方案—一个既满足当前,也满足未来开发需求的解决方案。
1.3.2C51的程序开发软件Keil
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单
片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部
份组合在一起。
运行Keil软件需要Pentium或以上的CPU,16MB或更多
RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。
掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用
C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
KeilC51软件是众多单片机使用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM语言和C语言的程序设计,界面友好,易学易用。
1.4设计功能要求
本设计是为一八层电梯设计一调度系统,即使电梯能够合理高效地运行,完成各楼层顾客的接送任务。
形象地说,就是要应对不同楼层顾客的不同需求,作出合理高效的判断,使所有顾客在整体运用时间最短的条件下将其运往各自的目的地。
这个设计的成品应该可以作为真实电梯的控制系统一样,遵守以下两个原则:
一是高效性,二是人性化。
而实际电梯所面临的情况无比复杂,故本设计的难点除了硬件上面外,还有对这些复杂的情况归类化,分为若干个基本情况,另外是用恰当的C语言描述来表达这些复杂的逻辑。
1.5本文内容安排
在本设计制作的过程中,我查阅阅了大量的相关资料、期刊,并在导师的指导帮助下仔细地进行了斟酌。
现将论文的章节安排再次做些简要的说明:
第一章,即绪论部分,先对电梯的背景知识等做些介绍,并且对和本设计的设计步骤和重点加以说明,简单介绍了两个和毕设有关的开发软件。
第二章,详细地阐述了设计中所用到的各个模块的硬件电路及其工作原理。
其中包括单片机最小系统、82C55发光二极管控制模块、8279键盘控制模块和串口下载模块等。
第三章,以硬件的物理连接作为基石,以读写芯片内部数据和命令寄存器作为基础,以电梯判决函数作为核心,本章详细地讲述了软件系统的工作原理,并对各个重要函数都有相关的说明。
第二章系统的硬件设计
2.1引言
由于电梯要运送不同楼层的客人,所以要有很多按键才可以让满足不同楼层顾客的需求。
而且,电梯还要有人性化的显示,如哪个按钮按下了,就把它对应楼层按钮的二极管点亮,还要有一个数码管实时显示电梯所在层数,用发光二极管组成的上下箭头来表示电梯当前的运行方向等等。
而这些零碎的原件,又需要高效的芯片来控制,它们相互之间的物理连接问题这些就是本章所要叙述的硬件设计部分。
2.1.1硬件芯片的选择
合理的硬件设计是一个设计成功的基石,所以在设计之初,我便把自己的主要任务集中于筹划硬件的搭建工作,当然其中需要兼顾软件设计的需求。
由于本设计所模拟的楼层共有八层,其中所需要控制的器件较多,如每层都需有两个上下的指示灯,电梯轿厢内也需有去几层的指示灯等,而现有单片机的管脚资源无法满足需求,故第一步需要想法扩展单片机的I/O口管
脚资源。
在此,我选择了扩展I/O口最典型的芯片82C55。
其可把一组八位I/O管脚扩展为PA、PB、PC三组管脚,并通过寄存器对各组管脚进行配置,从而满足了本次设计的要求。
考虑到电梯会有多个按键,而传统的依据单片机自身的I/O口布局键盘
的方法显然也是不可行的,故本设计选择了典型的管理键盘的芯片82C79,
其重要意义不仅在于减轻了单片机I/O口的开支负担,而且可以代替单片机完成各个按键的键值编写工作,单片机只要从其FIFO寄存器中直接读取键
值即可得知哪个按键被按下,进而进行相应的操作。
另外,电路板上还有一些扩展的子电路模块,例如MAX232串口下载模
块,U口供电模块等等,当然这些都是方便程序的下载和调试的。
并考虑到电路板的面积和价格问题,一些芯片和二极管、电阻等用的是贴片封装。
2.2硬件电路
2.2.1单片机最小系统模块
单片机是指一个集成在一块芯片上的完整计算机系统。
尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:
CPU、内存、内部和外部总线系统,目前大部分还会具有外存。
同时集成诸如通讯接口、定时器,实时时钟等外围设备。
而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
单片机最小系统,或者称为最小使用系统,是指用最少的元件组成的单片机可以工作的系统。
在本设计中,最小系统应该包括:
单片机、晶振电路、复位电路等。
如图2.1所示,晶振电路由C1和C2和晶振组成,晶振是给单片机提供工作信号脉冲的。
它的速率就是单片机的工作速率,简单地说,没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。
并在晶振的两引脚处接入两个10pF-50pF的瓷片电容接地用来削减偕波对电路的稳定性的影响。
复位电路采取的为手动按键复位电路,由电容C13,电阻R11、R12和开关RESET组成,当单片机的复位引脚RESET出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST持续为高电平,单片机就处于循环复位状态。
每次复位后,单片机的程序都会从第一条开始从新执行。
另外,还额外设计了滤波防干扰电路,由C13和R12组成,电源先经过它们再接入单片机的Vcc,可以有效的减少其中的杂波带来的干扰。
2.2.2可编程I/O扩展芯片82C55模块
8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。
具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。
其各口功能可由软件选择,使用灵活,通用性强。
8255可作为单片机和多种外设连接时的中间接口电路。
其芯片引脚图如图2.2所示。
图2.1单片机最小系统
D7〜Do(databus):
三态、双向数据线,和CPU数据总线连接,用来传送数据。
…(chipselect):
片选信号线,低电平有效时,芯片被选中
Ai,Ao(portaddress)地址线,用来选择内部端口。
(read):
读出信号线,低电平有效时,允许数据读出。
厂一(write):
写入信号线,低电平有效时,允许数据写入。
RESET(reset):
复位信号线,高电平有效时,将所有内部寄存器(包括控
制寄存器)清0。
PA7〜PA°(portA):
A口输入/输出信号线。
PB7〜PB0(portB):
B口输入/输出信号线。
PC7〜PC0(portC):
C口输入/输出信号线。
VCC:
+5V电源。
GND:
电源地线。
8255作为主机和外设的连接芯片,必须提供和主机相连的3个总线接口,即数据线、地址线、控制线接口。
同时必须具有和外设连接的接口A、B、C
口。
由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:
和CPU连接部分、和外设连接部分、控制部分。
1、和CPU连接部分
根据定义,8255能并行传送8位数据,所以其数据线为8根D0〜D7。
由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A。
〜A1。
此外CPU要对8255进行读、写和片选操作,所以控制线为片选、复位、读、写信号。
各信号的引脚编号如下:
(1)数据总线DB:
编号为D。
〜D7,用于8255和CPU传送8位数据。
(2)地址总线AB:
编号为A0〜A1,用于选择A、B、C口和控制寄存器。
(3)控制总线CB:
片选信号CS、复位信号RST、写信号WR、读信号RD。
当CPU要对8255进行读、写操作时,必须先向8255发片选信号CS选中8255芯片,然后发读信号RD或写信号WR对8255进行读或写数据的操作。
2、和外设接口部分
根据定义,8255有3个通道A、B、C和外设连接,每个通道又有8根线和外设连接,所以8255可以用24根线和外设连接,若进行开关量控制,则8255可同时控制24路开关。
各通道的引脚编号如下:
(1)A口:
编号为PAo〜PA7,用于8255向外设输入输出8位并行数据<
(2)B口:
编号为PBo〜PB7,用于8255向外设输入输出8位并行数据。
(3)C口:
编号为PCo〜PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。
3、控制器
8255将3个通道分为两组,即PAo〜PA7和PC4〜PC7组成A组,PBo〜PB7和PCo〜PC3组成B组。
如图7.5所示,相应的控制器也分为A组控制器和B组控制器,各组控制器的作用如下:
(1)A组控制器:
控制A口和上C口的输入和输出。
(2)B组控制器:
控制B口和下C口的输入和输出。
在本设计中,8255和单片机间的通信采取的时模拟时序的方法。
单片机的P0口只是用作了数据线,这样和以往的采用P0口数据地址线分时复用的方法相比,简化了电路构造(因为这样可以少用一个芯片74HC573)。
具体的电路子模块如图2.3所示,三组扩展管脚均得到了充分的利用。
PA口和PB口负责每层楼的上下按键显示灯的亮灭,而PC口负责电梯所到达当前楼层的楼层显示工作。
同时,由于干扰等原因,82C55所输出的电压值偶尔偏低,这样直接驱动二极管时,可能会出现显示昏暗甚至不亮的问题,故而在此加上了一个非门,可以起到提高电平值的作用。
P1和P2为两个220欧的排阻,用于限流作用,以防二极管由于电压过高所导致的可能被烧坏。
芯片82C55的数据口Do~D7分别和单片机的P0口各管脚相连,进行数令的读和写。
其寻址管脚Ao和A1分别和单片机的P2Ao和P2A1相连,操作时只需对P2口的对应两管脚输出合理的高低电平组合,即可选中芯片82C55的相应寄存器,进而进行相应操作。
芯片的片选由单片机的P2A6控制,且低电平有效。
其复位管脚RESET和单片机的复位管脚可直接相连。
当然,有时芯片82C55的反应没有单片机快速,此时可以进行软复位”即让其复位管脚RESET和单片机的某个闲置的I/O管脚相连,通过人为的控制此管脚
图2.382C55数码管控制模块
的高低电平及其时间来对芯片82C55进行复位。
即让此I/O管脚输出高电平,且保持一段时间,保证在此时间段内,芯片82C55有足够的时间复位后,再让此管脚恢复低电平即可。
另外,本设计中所用的数码管为共阳型。
其引脚分布如图2.4所示。
有
图可知,当要显示特定字符时,只需向其相应段的管脚输入低电平,此段即亮;反之同理,若要其某段不亮,只需输入高电平即可。
了解此原理便可方便对其的编程工作。
图2.4共阳极数码管内部结构
2.2.3可编程按键控制芯片82C79模块
Intel8279芯片是一种通用的可编程序的键盘、显示接口器件,单个芯片就能完成键盘输入和LED显示控制两种功能。
其引脚分布如图2.5所示。
8279包括键盘输入和显示输出两个部分。
键盘部分提供的扫描方式,可以和64个按键或传感器的阵列相连。
能自动消除开关抖动以及为N个键同时按下提供保护。
RLa——
L
40
—!
Vdc
孔—
2
8279
—RLi
CLK—
3
—RL«
IRQ—
斗
37
—SHIFT/STR
RL+—
5
.16
—CNTL
RLs"
6
35
SLj
RL&——
7
34
—SLi
RL^—
暮
33
—SL,
RLSET—
9
32
—SLo
RD—
10
51
一OUTBo
WR—
13
30
—OlUBi
[馮
12
29
——0(TB;
DB,—
13
28
—01.11^5
db2—
1斗
27
—OUJB()
【心一
15
26
——OlIB[
DR丄一
1ft
25
一0(rTB?
17
24
——Cl「Bi
【陋一
18
23
—BD
dbt—
2
22
—CS
Vw—
20
21
—A&(C/D>
图2.58279引脚分布
主要管脚的定义为:
:
-(片选):
输入线,当二=0时8279被选中,允许CPU对其读、写,
否则被禁止。
Ao(数据选择):
输入线。
当Ao=1时CPU写入数据为命令字,读出数据为状态字;A0=0时CPU读、写的字节均为数据。
DBo~DB7:
和单片机通信的数据引脚,用于传送数据。
Vcc、GND:
电源端和地端,用于给芯片提供电源。
「_、■:
-(读、写信号):
输入线。
低电平有效,来自CPU的控制信
号,控制8279的读、写操作。
IRQ(中断请求):
输出线。
高电平有效。
在键盘工作方式中,当FIFO/传感器RAM存有数据时,IRQ为高电平。
CPU每次从RAM中读出数据时,IRQ变为低电平。
若RAM中仍有数据,则IRQ再次恢复高电平。
在传感器工作方式中,每当检测到传感器状态变化时,IRQ就出现高电
平。
SL0~SL3(扫描线):
输出线。
用来扫描键盘和显示器。
它们可以编程设定为编码(4中取1)或译码输出(16取1)。
RL0~RL7(回复线):
输入线。
它们是键盘矩阵或传感矩阵的列(或行)信号输入线。
SHIFT(移位信号):
输入线、高电平有效。
该输入信号是键盘数据的最高位(D7),通常用来扩充键开关的功能,作为控制功能键用。
在选通输入方式时,该信号的上升沿可将来自RL0~RL7的数据存入FIFO
RAM中。
在传感器输入下,该信号无效。
OUTA0~OUTA3(A组显示信号):
输出线。
OUTB0~OUTB3(B组显示信号):
输出线。
这两组引线都是显示数据输出线,和多位数字显示的扫描线SL°~SL3同
步,两组可以独立使用,也可以合并使用。
BD(显示消隐):
输出线。
低电平有效。
该信号在数字切换显示或使用消隐命令时,将显示消隐。
其在本设计中的工作电路图模块如图2.6所示:
由图可知,其八位并行数据管脚分别和单片机的P0口各管脚相连。
读写信号端也分别和单片机的对应。
而其片选由P2A7控制,低电平有效。
其CLK管脚和ALE相连,单片机正常工作时,ALE管脚输出方波,频率为单片机工作频率的六分之一。
而芯片82C79的扫描键盘的频率正是由此而产生,当然i用这么高的频率,还需要继续对其分频后方可供82C79使用。
复位键同样和单片机的复位键相通。
而至于有些管脚如BD、SHIFT、CNTL/S等由于
在此设计中无甚意义,故均将其接地处理。
其工作机理为:
82C79的SLo~SL2在芯片工作时,不断以固定的频率输出低电平,当然是同一时间只选择其中一根线为低电平,其他还未高电平,同时扫描RL0~RL7端,若得到某各端口返回低电平,在经过消抖处理后仍为低电平,则说明SL0~SL2当前输出低电平的那根线和RLo~RL7当前返回低电平的那根线的交叉处的那个开关被按下了。
那么芯片82C79会自动将该按
键按照规定的协议翻译为相应的键值(每个按键都有自己唯一的键值标示,这便于在编写程序时读取键值进而进行散转),存储和FIFO寄存器中,同时,由于该寄存器中存有单片机未读取的值,IRQ管脚就会自动输出高电平,再经过非门后对单片机的INTO产生中断,此时只需在编程时在中断程序中对其进行相应处理即可。
2.2.4MAX232串口下载模块和附加电源模块等
由于程序绝不可能第一次编写完就可以达到预设的目的,其间要经过很多次的更改修正,故为了便于程序的调试工作,我在此电路板上增设了一个MAX232串口下载模块,这样便可以不用取下单片机去其他的电路板上下载,而直接便可以在此电路板上完成了。
同时为便于电源的引入,我选择了电脑USB口输出的5V直流电源,这样无需再用大型的电源设备,随处便可以调试。
他们的电路图如图2.7所示:
——IIT
图2.7串口下载模块
MAX232电路时该芯片数据手册中提供的典型使用图。
MAX232是一个
电荷泵器件,它采用开关电容技术将5V电压升压和获取负电压。
至于电源模块,便比较简单了,USB口通常有四条引出线,其中边缘两根便为电源线,一个为+5V直流端,一个为地端。
中间两根为差分信号线D+和D-,负责信号的串行通信。
但由于此处只用做电源功能,故中间两根无需接入。
+5V直流端通过一个按键开关并经过一10微法的电容滤波后接入Vcc,供整个电路板供电。
当电源导通后,电源指示二极管会高亮。
同时,基于人性化处理,在电梯上下行时,我专门用若干个二极管排列成上下箭头的形状,如图所示。
中间的四个发光二极管组成一竖线型,并处于常亮状态,当电梯上行时,和单片机P1A3管脚连接的UP端将输出低电平,经过一非门后使组成上三角的四个发光二极管点亮,从而形成以向上箭头;同理,当下行时,和单片机P1A1脚相连的DOWN端将输出低电平,使组成下三角的四个发光二极管导通,形成向下箭头,如图2.8所示。
=1
“丨“7
图2.8上下行箭头显示模块
2.3本章小结
本章对设计中的硬件环节作了详细的介绍,并将其分为若干模块,分别为单片机最小系统模块、82C55发光二极管显示模块、8279键盘控制和数码管显示模块、串口下载模块、电源模块等。
它们均具有不可或缺的功能及特点。
整个硬件系统的工作机理为:
单片机最小系统为整个系统提供最基本的运行环境,8279通过扫描按键是否按下,向单
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电梯 控制系统 论文 67333