50基于单片机的电梯调度系统设计与实现本科学位论文.doc
《50基于单片机的电梯调度系统设计与实现本科学位论文.doc》由会员分享,可在线阅读,更多相关《50基于单片机的电梯调度系统设计与实现本科学位论文.doc(96页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、哈尔滨工程大学本科生毕业论文学号 密级 哈尔滨工程大学本科生毕业论文基于单片机的电梯调度系统的设计与实现院(系)名称:信息与通信工程学院专业名称:电子信息工程学生姓名:XXX指导教师:XXX2010年6月哈尔滨工程大学本科生毕业论文基于单片机的电梯调度系统的设计与实现院 (系):信息与通信工程学院 专 业:电子信息工程 学 号:xxxxxxxx 学生姓名:XXX 指导教师:XXX2010年6月摘要本设计就是要制作出一可作为实际应用的电梯调度系统,合理高效地调度电梯的运行与停止,满足不同楼层顾客的呼叫需求。本设计以电梯所具备基本功能为指引,以单片机系统为硬件平台,以单片机中断作为基础,主要利用单
2、片机的I/O口扩展、单片机中断、芯片读写等技术,并且利用化繁为简、归纳归类的思维方式,通过C语言编程,完成了对电梯的合理调度。本文详细介绍了设计的硬件设计与软件流程,硬件由单片机最小系统模块、82C55显示模块、82C79按键输入模块、串口下载程序等其他附加模块组成。软件编程的核心思想是每到一层即判断是否到达目标楼层,并且分析下一目标楼层的层数。判断的标准也包含四种情况并在程序中一一列出和分析。经过调试,已成功达到所要求标准,可以完成复杂情况下的电梯调度任务。关键词:电梯;单片机;82C55并口扩展;82C79按键控制ABSTRACTThe aim of making this design
3、is to make a applied control system of the elevator that can be used in practice, which can direct the elevator to run or stop to meet the requirement of the passengers depending on the complicated situation. for the purpose of this, this study is high up in the pictures, fulfilling the mission of e
4、levator arrangement wisely and in reason by making the basic function of the elevator as a direction, the minimum system of MCU as the hardware platform, the interruption of MCU as foundation. The technology of the interruption of MCU and the expansion of I/O is mainly used in this design.This thesi
5、s introduce the programming of software and the hardware interface circuit between the MCU system and the chips used in this design such as 82C55 and 8279.The hardware can be divided into many modules which are the minimum system of MCU, the displaying module controlled by 82C55, the switch input mo
6、dule controlled by 8279 and the MAX232 serial download module.The core of programming is making a decision when the elevator is passing by each floor and judging if it has arrived or not. After the decision, the elevator will lock its next objective floor. The standard of judgment contains four situ
7、ations. The design has achieved the standard and the elevator can deliver the passengers wisely and in reason.Key words: MCU; Elevator; 82C55; 8279 目 录第一章绪论11.1课题的背景简介11.1.1电梯的历史与发展11.2课题的主要研究内容及设计步骤21.3课题的开发环境简介31.3.1电路图制作软件Altium designer 7.031.3.2C51的程序开发软件Keil31.4 设计功能要求41.5 本文内容安排5第二章系统的硬件设计62.
8、1引言62.1.1硬件芯片的选择62.2硬件电路72.2.1单片机最小系统模块72.2.2可编程I/O扩展芯片82C55模块72.2.3可编程按键控制芯片82C79模块122.2.4MAX232串口下载模块与附加电源模块等152.3本章小结17第三章芯片基本读写的实现183.1引言183.2单片机对芯片82C55的基本读写183.3芯片82C55的初始化193.3.1芯片82C55的逻辑构造193.3.2芯片82C55的工作方式213.3.3芯片82C55的初始化243.4对芯片8279的基本读写与初始化243.4.1芯片8279的基本读写243.4.2芯片8279的初始化253.5 本章小结
9、32第四章 系统的高层软件设计334.1引言334.2单片机中断处理函数334.2.1 单片机有关中断的相关设置344.2.2 读取8279数据寄存器354.2.3分析键值,判断哪个按键按下354.2.4点亮相应发光二极管364.2.5置位相关状态变量364.3电梯判决函数374.3.1电梯所处状态的分类与判定374.3.2电梯各情况下所对应的处理方法384.4电梯运行函数404.5 主函数414.6本章小结42结论43附录44参考文献46致谢47第一章绪论1.1课题的背景简介1.1.1电梯的历史与发展。1.2课题的主要研究内容及设计步骤本课题的主要任务是完成一个电梯系统的调度模块,即根据每个
10、楼层不同顾客的按键需求,让电梯做出合理的判断,正确高效地知道电梯完成各项载客任务。根据此任务,本课题需要研究的内容有:1、根据系统的技术要求,进行系统硬件的总体方案设计;2、学习单片机的相关知识,并且加以运用;3、选择恰当的芯片,并对其内部协议有所掌握,便于应用。4、研究C语言编程,并且规定电梯的工作规则,用C语言加以实现;5、对软件和硬件进行调试,让其协调工作,完成指定任务。结合以上内容,本课题的设计方案步骤如下:关于硬件部分:首先,对实际的电梯系统进行模拟,一般情况下,一个电梯应该具备相关按键、显示二极管、数码管等,由于这是一个调度模块,故没有设计具体的轿厢等机械部分。然后,结合这些实物,
11、选择恰当的芯片,并分成若干模块,安排好各自之间的关系。由于其有诸多按键和显示环节,而单片机的I/O口管脚资源实在有限,故需要I/O口扩展,用以管理二极管;同时要有专门的按键控制芯片,从而便于按键管理。在此,我分别选择了82C55和8279芯片。接着,要完成电路图的设计,画出PCB板,焊接相关器件后进行硬件调试,看是否好用并加以适当的更正。关于软件部分:处于最底层的是对两个芯片的寄存器读写工作,完成后方可进行更高层的应用程序调试。为了使硬件简单化,我选择了模拟时序的方法读写寄存器,这比总线操作的方法节省了锁存器。然后是关于电梯调度时所遵循的原则作出规定,其必须基于高效与人性化两个原则。最后是使用
12、C语言将规定程序化,以便电梯真正的运作。当然,二者的关系并不是分离的,它们是相辅相成,硬件依据软件来验证,软件依据硬件来调试。经过一个个的发现问题、一个个的解决问题,最终做出完美的电梯调度模块。1.3课题的开发环境简介 1.3.1电路图制作软件Altium designer 7.0Altium Designer 7.0 不断通过为高速设计提供各种功能来提高用户生产力,这些功能包括交互式长度调整和 PCB 层片增强等功能。新增的库工具和各种新功能将 Altium Designer 提升成为统一的电子产品开发解决方案。这款最新的更新程序将进一步增强您的能力,让您能够在更短的“设计到制造”周期内生产
13、更为尖端、更具创新性的电子产品。(Altium Designer完全取代了Protel) Altium Designer Summer 08新增汇入Allegro PCB(*.brd)的转文件功能。 Altium Designer 提供了唯一一款统一的应用方案,其综合电子产品一体化开发所需的所有必须技术和功能。Altium Designer 在单一设计环境中集成板级和FPGA系统设计、基于FPGA和分立处理器的嵌入式软件开发以及PCB版图设计、编辑和制造。并集成了现代设计数据管理功能,使得Altium Designer成为电子产品开发的完整解决方案一个既满足当前,也满足未来开发需求的解决方案。
14、1.3.2C51的程序开发软件Keil单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的
15、完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,
16、支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易学易用。1.4 设计功能要求本设计是为一八层电梯设计一调度系统,即使电梯能够合理高效地运行,完成各楼层顾客的接送任务。形象地说,就是要应对不同楼层顾客的不同需求,作出合理高效的判断,使所有顾客在整体运用时间最短的条件下将其运往各自的目的地。这个设计的成品应该可以作为真实电梯的控制系统一样,遵守以下两个原则:一是高效性,二是人性化。而实际电梯所面临的情况无比复杂,故本设计的难点除了硬件上面外,还有对这些复杂的情况归类化,分为若干个基本情况,另外是用恰当的C语言描述来表达这些复杂的逻辑。1.5 本文内容安排在本设计制作的过程中,我查阅阅了大
17、量的相关资料、期刊,并在导师的指导帮助下仔细地进行了斟酌。现将论文的章节安排再次做些简要的说明:第一章,即绪论部分,先对电梯的背景知识等做些介绍,并且对与本设计的设计步骤与重点加以说明,简单介绍了两个与毕设有关的开发软件。第二章,详细地阐述了设计中所用到的各个模块的硬件电路及其工作原理。其中包括单片机最小系统、82C55发光二极管控制模块、8279键盘控制模块和串口下载模块等。第三章,以硬件的物理连接作为基石,以读写芯片内部数据与命令寄存器作为基础,以电梯判决函数作为核心,本章详细地讲述了软件系统的工作原理,并对各个重要函数都有相关的说明。第二章系统的硬件设计2.1引言由于电梯要运送不同楼层的
18、客人,所以要有很多按键才可以让满足不同楼层顾客的需求。而且,电梯还要有人性化的显示,如哪个按钮按下了,就把它对应楼层按钮的二极管点亮,还要有一个数码管实时显示电梯所在层数,用发光二极管组成的上下箭头来表示电梯当前的运行方向等等。而这些零碎的原件,又需要高效的芯片来控制,它们相互之间的物理连接问题这些就是本章所要叙述的硬件设计部分。2.1.1硬件芯片的选择合理的硬件设计是一个设计成功的基石,所以在设计之初,我便把自己的主要任务集中于筹划硬件的搭建工作,当然其中需要兼顾软件设计的需求。由于本设计所模拟的楼层共有八层,其中所需要控制的器件较多,如每层都需有两个上下的指示灯,电梯轿厢内也需有去几层的指
19、示灯等,而现有单片机的管脚资源无法满足需求,故第一步需要想法扩展单片机的I/O口管脚资源。在此,我选择了扩展I/O口最典型的芯片82C55。其可把一组八位I/O管脚扩展为PA、PB、PC三组管脚,并通过寄存器对各组管脚进行配置,从而满足了本次设计的要求。考虑到电梯会有多个按键,而传统的依据单片机自身的I/O口布局键盘的方法显然也是不可行的,故本设计选择了典型的管理键盘的芯片82C79,其重要意义不仅在于减轻了单片机I/O口的开支负担,而且可以代替单片机完成各个按键的键值编写工作,单片机只要从其FIFO寄存器中直接读取键值即可得知哪个按键被按下,进而进行相应的操作。另外,电路板上还有一些扩展的子
20、电路模块,例如MAX232串口下载模块,U口供电模块等等,当然这些都是方便程序的下载与调试的。并考虑到电路板的面积与价格问题,一些芯片与二极管、电阻等用的是贴片封装。2.2硬件电路2.2.1单片机最小系统模块单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机
21、可以工作的系统。在本设计中,最小系统应该包括:单片机、晶振电路、复位电路等。如图2.1所示,晶振电路由C1与C2和晶振组成,晶振是给单片机提供工作信号脉冲的。它的速率就是单片机的工作速率,简单地说,没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。并在晶振的两引脚处接入两个10pF-50pF的瓷片电容接地用来削减偕波对电路的稳定性的影响。复位电路采取的为手动按键复位电路,由电容C13,电阻R11、R12和开关RESET组成,当单片机的复位引脚RESET出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。每次复位后,
22、单片机的程序都会从第一条开始从新执行。另外,还额外设计了滤波防干扰电路,由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单片机最小系统图2.282C55引脚分布D7D0(data bus):三态、双向数据线,与CPU数据总线连接,用来传
23、送数据。(chip select):片选信号线,低电平有效时,芯片被选中。A1, A0(port address):地址线,用来选择内部端口。(read):读出信号线,低电平有效时,允许数据读出。(write):写入信号线,低电平有效时,允许数据写入。RESET(reset):复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。PA7PA0(port A):A口输入/输出信号线。PB7PB0(port B):B口输入/输出信号线。PC7PC0(port C):C口输入/输出信号线。VCC:5V电源。 GND:电源地线。 8255作为主机与外设的连接芯片,必须提供与主机相连的3个总
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 50 基于 单片机 电梯 调度 系统 设计 实现 本科 学位 论文
限制150内