自动立体停车库控制系统的设计(自动化专业毕业设计).doc_第1页
自动立体停车库控制系统的设计(自动化专业毕业设计).doc_第2页
自动立体停车库控制系统的设计(自动化专业毕业设计).doc_第3页
自动立体停车库控制系统的设计(自动化专业毕业设计).doc_第4页
自动立体停车库控制系统的设计(自动化专业毕业设计).doc_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录1 引言12 系统总体方案设计62.1 控制原理62.2 控制功能72.3 方案设计93 系统硬件设计93.1 单片机的发展趋势103.2 单片机的选择123.3 89c51的引脚介绍143.4 单片机最小系统的设计193.5 显示键盘电路的设计223.6 锁存器 74ls373的介绍与选择183.8 2732的芯片引脚功能193.9 6264引脚功能的介绍与选择203.10 8255芯片介绍204 系统的软件设计224.1 控制系统的主程序功能及流程图234.2 最优车位的实现234.3 键盘扫描子程序264.4 显示子程序274.5 存车信号处理子程序284.6. 取车信号处理子程序295 总结30参考文献31谢 辞32附录一33附录二561 引言近几年来,随着我国国民经济和汽车制造业的迅速发展,汽车保有量快速增长。北京、上海等大城市以每年15万辆的速度增加,而道路建设及停车位的建设远低于此。停车难所导致的占道停车、占用绿地停车,不仅使交通堵塞问题更加严重,而且涉及到投资环境和城市现象,日益引来各方人士的关注。如果停车难问题和交通拥挤问题得不道妥善解决,将同时影响了轿车进入家庭的步子,影响汽车制造业的迅速发展,影响国民经济的稳步持续发展。1997年,深圳注册车辆40万辆,异地注册在深圳行驶车辆12万辆,停车位仅4万多个,北京机动车保有量近140万辆加上每天几十万辆进京车辆,公共停车位仅8万多个。广州市机动车辆保有量为90万辆,外地进市车辆10万辆,共100万辆,仅有停车位9万个。专家指出只有公共停车位置达到机动车辆总数的1525%左右,才能缓解停车难问题。香港拥有注册机动车辆53 万辆,停车位40 万个,与之相比,我们是有很大差距的。进入21世纪以来,随着我国社会与经济的发展,轿车特别是私家轿车的生产量和社会保有量迅速增加。近几年来,我国私人购车占售车总量的比例大幅递增,到1999年己经突破了50%中国汽车需求量和保有量出现了加速增长的趋势。2000到2002年实际汽车保有虽分别为1608. 91万、1802. 04万和2053. 17万辆,年平均增长速度分别达到了10.73%、12%、13.94%。2003年汽车保有量达到2353万量,比2002年增长14.6%。以上事实说明,2004-2010年我国汽车保有量以及由此带动的汽车需求量将继续呈加速增长的趋势。随着居民收入提高、汽车价格的下降和消费环境的改善,预计2004-2010年,中国汽车保有量将以16%以上的速度增长。以2002年的实际值为基数,假定2004 -2010年汽车保有量按16 %的速度增长,则到2010年我国汽车保有量将在6650万一8431万辆之间。另外,新增汽车需求量与汽车保有量呈线性关系,即新增汽乍需求量=新增汽车保有量+汽车更新量,如果汽车更新量为汽车保有量的6%,则新增汽车需求量=新增汽车保有量+0.06汽车保有量。因此,可以推算出2010年汽车的年销量将达到1317万1911万量之间。随着汽车数量日益剧增,解决停车问题日益严重,尤其是居民小区、人型公共消费场所等,寸一上如金,停车场向空间发展,己势在必行。根据有关市场调查,目前在大中型城市对立体车库的年需求量至少为10万个车位,但该类产品供应量很少,国内只有30家左右企业的少量产品供应市场。外国的相关公司吞好这一巨大的市场,目前开始有产品向中国出口,但足其价格高,使用成本与收费高,使国内市场难以接受,限制其推广使用在我国,除北京、上海等特大城市外,沿海工业发达、人口密集的城市和地区也已经陆续开始安装和使用立体停车库,表现出强劲的市场需求。所以从技术、市场、政策等诸多因素分析,该项目已经具备了良好的开发条件 就有重要的现实意义 立体车库与传统的自然地下车库想比,有许多方面多显示出优越性: 首先,立体车库具有突出的节地优势。以往的底下车库由于要留出足够的行车通道,平均一辆车就要占据40平方米的面积,如果采用双层立体车库,可以使地面的使用率提高80%-90%。例如采用地上多层立体车库,50平方米的地面积上便可存放放10辆车,这可以大大地节省有限的上地资源,少量节省建设开发成本。 其次,立体车库与地下车库相比可更加有效地保证人身和车辆的安全,人在车库内或车不停准位置,由电子控制的整个设条便不会运转。应该说,立体车库从管理上可以做到彻底的人车分流。 在地下车库中采用机械存车,还可以免除采暖通风设施,因此,运行中的耗电量比工人管理的地下车库低得多。立体车库一般不做成套系统,而是以单台集装而成。这样可以充分发挥其用地少、可化整为零的优势,在住宅区的每个组团中或每栋楼下都可以随机设立立体车库。这对目前车库短缺的小区解决停车难的问题提供了有效途径。立体车库的国内外发展现状 立体车库的发展在国外,尤其在日本己有近30至40年的历史史,无论在技术上还是在经验上均己获得了成功。美、德、日、韩等国家的产品代表了国际的领先水平,国内立体车库多为进口德国和韩国的产品。在西欧、东南亚、韩国和日本得到了广泛的应用,形成了一个包括制造、安装、使用和维修的行业体系。我国于90年代初开始研究开发立体车库,距今己有20几年的历程。由于很多新建小区内住户与车位的配比为1:1,为了解决停车位占地而积与住住户商用而积的矛盾,立体车库以其平均单车占地面积小的独特特性,己被广大用户接受。 立体车库的种类比较多,目前国内外比较流行的型式有:1.升降横移式该类的主要特点在于:a.节省占地,配置灵活,建设周期短。b.价格低,消防、外装修、建设、地基等投资少。c.可采用自动控制,构造简单,安全可靠。d.存取车迅速,等候时间短。e.运行平稳,工作噪声低。f.适用于商业、机关、住宅小区配套停车场的使用。 韩国和德国公司的这类产品比较多,二层升降横移式立体车库特别适应于原有地库自走式停车场的改造工程。多层升降横移式主要适应于高度不受限制的平面自走式停车场的改造,结构简单且都已模块化。2.巷道堆垛式或垂直式 巷道堆垛式立体车库采用堆垛机作为存取车辆的工具,所有车辆均由堆垛机进行存取,因此对堆垛机的技术要求较高,单台堆垛机成木较高,所以巷道堆垛式立体车库适用于车位数需要较多的客户使用。3.垂直提升式 垂直提升式立体车库类似于电梯的工作原理,在提升机的两侧布置车位,一般地面需一个汽车旋转台,可省去司机调头。垂直提升式立体车库一般高度较高(几十米),对设备的安全性,加工安装精度等要求都很高,因此造价较高,但占地却最小。4垂直循环式此类型的车库具有如卜特点: a.占地少,两个泊位面积可停6至10辆车。b.外装修可只加顶棚,消防可利用消防栓。c.价格低,地丛、外装修、消防等投资少,建设周期短。d.可采用自动控制,运行安全可靠。本论文是针对目前国内停车业的发展状况而设计的将车位控制系统。车位控制系统对要存入车辆完成车号输入、车号显示、存储、选择最优车位及将确定的车位信号传输等功能;对取出车需完成车号输入、车号查找、显示确定车位及车位信号的传输等功能。车位控制系统的控制功能分三部分:第一部分为共享功能:车号输入功能,车号显示功能。第二部分是存车信号处理功能。车号的存储功能,存入车辆的最优存入车位的选择功能,最优存入车位的显示功能,最优车位的信号处理和传输功能,第三部分为取车信号处理功能:1.需取出车辆车号的查找功能,需取出车辆的车位号显示功能,需取出车辆的车位号的信号传输功能。停车业在国外已有近三十年的发展史,在我国大部分技术是引进的,不仅起步晚,也不很成熟,但市场潜力十分大,有待于我们去拓展。2 系统总体方案设计2.1 控制原理车位控制系统主要实现了对各种数据的处理,对车牌号的存储及定位处理,选取最优车位时对寻优轨迹的数据处理以及车牌号查找时的数据查找等的处理。微处理器需处理不同数据,有时也较繁杂。各种数据不能随意乱存放,必须根据具体数据的特点按一定的规则来组织和存放。本文根据各数据元素之间的相互关系,对数据进行了有效的组织,解决了数据存储方式,并设计出对应的数据处理算法。各数据元素之间的相互关系有两层含意:一种指各数据元素之间的抽象关系,如先后关系、层次关系等即逻辑关系;另一种指在计算机中存放地址之间的关系,即存储结构。逻辑关系只考虑数据元素之间逻辑上的先后次序,不分上下层次,称为线性结构。如数据元素之间在逻辑上还有上下层关系或元素之间互相联系的情况不规则,不能简单地用线性关系来表达时,属于非线性结构。逻辑结构最终必须以某种具体的形式实现,这种具体的形式就是存储结构,可用四种基本方法来实现。第一种为顺序存储,即将各数据元素按逻辑上的顺序存入在一段连续的空间内,并使逻辑上相邻的元素在想念空间上相邻;第二种为链式存储,各数据元素存放地址不受约束,可以连成一片,也可以分散在不连续的若干个地址上,通过链接指针表示各元素相邻的关系;第三种为索引存储,在这种存储方式中保存有一个索引表,索引表的每一项由两部分组成,其中一项表示数据元素的关键字,另一项中保存有对应数据元素的实际存放地址;第四种为散列存储,即直接利用数据元素的关键字来计算该数据元素的实际存放地址。车位控制系统处理的数据之间在逻辑上只有先后次序,不分上下层次,都属于线性结构,存储结构上则各有不同。数据元素的逻辑设计和存储设计之后要确定算法。数据处理都有一定目的,实现这个目的的处理方法称为算法。 2.2 控制功能本章所研究的车位控制系统的控制功能分三部分:第一部分为共享功能;第二部分是存车信号处理功能;第三部分为取车信号处理功能。1一、共享控制功能共享功能是指无论存车或取车都需应用的功能。主要有:1.车号输入功能,即将要存入或取出的车辆的车牌号从键盘上输入;2.车号显示功能,即将从键盘上键入的车牌号码在显示器上显示出来,以便确认是否输入正确。二、存车信号处理功能存车信号处理功能是指车位控制系统在有车辆需存入车库所应完成的功能,主要包括以下几项:1.车号的存储功能,即将键盘上输入的车牌号码存入单片机的存储器中;2.存入车辆的最优存入车位的选择功能,即根据现有的车辆存入情况选择最优存入车位的功能;3.最优存入车位的显示功能,即将已选定的最优车位在显示器上显示出来的功能;4.最优车位的信号处理和传输功能,即将选定的最优车位转换成信号并将信号传输给存取车控制系统的功能。三、取车信号处理功能取车信号处理功能是指停车库中已存入车辆需取出时所需功能,主要有以下几项:1.需取出车辆车号的查找功能,即根据输入的车牌号码,在已存入车辆中查找需取出车辆的位置;2.需取出车辆的车位号显示功能,即将需去取出车辆的存放车位号在显示器上显示出来;3.需取出车辆的车位号的信号传输功能,即将需取出车辆的车位号处理后传输给存取车控制系统的功能。 2.3 方案设计车位控制指对要存入车辆完成车号输入、车号显示、存储、选择最优车位及将确定的车位信号传输等功能;对取出车需完成车号输入、车号查找、显示确定车位及车位信号的传输等功能。控制面板是车位控制部分的组成部分之一,面板上有输入键和显示器,输入键包括数字键、字母键及存取车、确定、删除、手动/自动、开门、关门、急停等控制键。显示器是8 位的,六位用来显示车牌号,两位显示车位号。为了实现车位控制系统和各项控制功能,本文设计了一个微处理器专用控制系统,主要由单片机、储存器、显示器、键盘和接口芯片组成。图1-1 是车位控制系统的硬件结构框图程序存储器键 盘单 片 机数据存储器停车位显示灯看 门 狗控制面板led显示图2-1 硬件结构框图3 系统硬件设计 3.1 单片机的发展趋势现在可以说单片机是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流c51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。2 纵观单片机的发展过程,可以预示单片机的发展趋势,大致有:1.低功耗cmos化 mcs-51系列的8031推出时的功耗达630mw,而现在的单片机普遍都在100mw左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了cmos(互补金属氧化物半导体工艺)。89c51就采用了hmos(即高密度金属氧化物半导体工艺)和chmos(互补高密度金属氧化物半导体工艺)。cmos虽然功耗较低,但由于其物理特征决定其工作速度不够高,而chmos则具备了高速和低功耗的特点,这些特征,更适合于在要求低功耗象电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展的主要途径。 2.微型单片化 现在常规的单片机普遍都是将中央处理器(cpu)、片内数据存储器(ram)、只读程序存储器(rom)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如a/d转换器、pwm (脉宽调制电路)、wdt(看门狗)、有些单片机将lcd(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。3现在的许多单片机都具有多种封装形式,其中smd(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。3.主流与多品种共存现在虽然单片机的品种繁多,各具特色,但仍以89c51为核心的单片机占主流,兼容其结构和指令系统的有philips公司的产品,atmel公司的产品和中国台湾的winbond系列单片机。所以89c51为核心的单片机占据了半壁江山。而microchip公司的pic精简指令集(risc)也有着强劲的发展势头,中国台湾的holtek公司近年的单片机产量与日俱增,与其低价质优的优势,占据一定的市场分额。此外还有motorola公司的产品,日本几大公司的专用单片机。在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。 3.2 单片机的选择美国intel公司1980年推出了mcs-51系列高档8位单片机。提高了芯片的集成度,性能上大为提高,增加了多种片内硬件功能,并扩展了功能单元的种类和数量。4mcs-51单片机硬件结构及其一些主要特点:1.内部程序存储器和内部数据存储器2.输入/输出口mcs-51单片机内的i/o口的数量和种类较多且齐全,尤其是它有一个全双工的串行口。3.外部程序存储器和外部数据存储器寻址空间mcs-51可对64kb的外部数据存储器寻址且不受该系列中各种芯片型号的影响,而对程序存储器是内外总空间为64kb.4.中断与堆栈mcs-51有5个中断源,分为2个优先级,每个中断源的优先级是可编程的,它的堆栈位置也是可编程的,堆栈深度可达128字节。mcs-51子系列有2个16位的定时/计数器,通过编程可以实现四种工作模式。mcs-52子系列有3个16位的定时/计数器。mcs-51在内部ram中开设了四个通用工作寄存器区,共32个通用寄存器,以适应多种中断或子程序嵌套的要求。6.指令系统mcs-51是一个功能很强的指令系统,主要表现在mcs-51的指令系统中增添了减法、乘法、除法、比较、堆栈操作和多种位操作指令。5当振荡器频率接最高12mhz时,大部分指令执行时间为1s,少部分为2s,乘除指令的执行时间也只有4s。7.布尔处理器特别值得一提的是mcs-51的布尔处理器。它实际上是一个完整的一个微计算机,这个一位的微机有自己的cpu ,位寄存器、i/o口和指令集。把八位微机和一位微机结合在一起,是微机技术上的一个突破。一位机在开关决策、逻辑电路仿真和实时测控方面非常有效,而八位机在运算处理、智能仪表常用的数据采集方面有明显的长处。在mcs-51系列单片机中八位机和一位机(布尔处理器)的硬件资源是复合在一起的,二者相辅相成,这是mcs-51在设计上的精美之处,也是一般微机所不具备的。 3.3 89c51的引脚介绍掌握mcs-51单片机,应首先了解mcs-51的引脚,熟悉并牢记各引脚的功能。mcs-51系列中各种芯片的移交是互相兼容的。6制造工艺为hmos的mcs-51的单片机都采用40只引脚的双列直插封装(dip方式,如图所示。目前大多树为此类封装方式。制造工艺为chmos的8031/89c51/87c51除采用dip封装方式以外,还采用方行封装方式,为44只引脚(其中4只是无用的引脚)如图3-1所示740只引脚按其功能来分,可分为如下3类:1. 电源及时钟引脚:vcc、vss;xtal1、xtal2。2. 控制引脚:/psen、ale、/ea、reset3. i/o口引脚;p0、p1、p2、p3、为4个8位i/o口的外部引脚。下面结合图3-1来介绍各引脚的功能。电源及时钟引脚1电源引脚电源引脚接入单片机的工作电源(1) vcc(40引脚):接+5v电源。(2) vss(20引脚):接地2时钟引脚2个时钟引脚xtal1,xtal2外接晶体与片内的反相放大器构成了1个振荡器,它为单片机提供了时钟信号。2个时钟引脚也可以外接独立的晶体振荡器。xtal1是片内振荡器的反相放大器输入端,xtal2则是输出端,使用外部振荡器时,外部振荡信号应直接加到xtal1,而xtal2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12mhz,时钟频率就为6mhz。8晶振的频率可以在1mhz-24mhz内选择。电容取30pf左右。型号同样为at89c51的芯片,在其后面还有频率编号,有12,16,20,24mhz可选。大家在购买和选用时要注意了。如at89c51 24pc就是最高振荡频率为24mhz,40p6封装的普通商用芯片。根据综上分析,此次设计中的最小系统的设计采用89c51芯片作为最小系统芯片是最佳选择。(1)xtal1(19引脚):接外部晶体的1个引脚。该引脚内部是1个反相放大器的输入端。这个反相放大器构成了片内振荡器/如果采用外接晶体振荡器时,此引脚应接地。(2)xtal2(18引脚):接外部晶体的另一端,在该引脚内部接至内部反相放大器的输出端。若采用外部时钟振荡器时,该引脚接收时钟振荡器的信号,即把此信号直接接到内部时钟发生器的输入端。2控制引脚此类引脚提供控制信号,有的引脚还具有复用功能。(1)rst/vpd(9引脚):rst(reset)是复位信号输入断,高电平有效。当单片机运行时,在此引脚加上持续时间大于2个机器周期的高电平时候,就可以完成复位操作。在单片机正常工作时,此引脚应为0.5v低电平。vpd为本引脚的第二功能,即备用电源的输入断。当主电源vcc发生故障,降低到某一规定值的低电平时,将+5v电源自动接入rst端,为内部ram提供备用电源,以保证片内ram中的信息不丢失,从而使单片机在复位后能继续正常运行。ale引脚输出为地址锁存允许信号,当单片机上电正常工作后,ale引脚不断输出正脉冲信号。当单片机访问外部存储器时,ale输出信号的负跳沿用于单片机发出的低8位地址经外部锁存器锁存的锁存控制信号。即使不访问外部锁存器,ale端仍有正脉冲号输出,此频率为时钟振荡频率的1/6。如果有脉冲信号输出,则单片机基本上是完好的。应该注意的是,每当mcs-51访问外部数据存储器时,在2个机器周期中ale只出现1次,即丢失1个ale脉冲。因此,严格来说,用户不宜用ale做精确的时钟源或定时信号。ale端可以驱动8个ls型ttl负载。/prog为本引脚的第二功能。在对片内eprom型单片机编程写入时,此引脚作为编程脉冲输入端(3)/psen:程序存储器允许输出控制端。在单片机访问外部程序存储器时,此引脚输出脉冲负跳沿作为读外部程序存储器的选通信号。此引脚外接部程序存储器的/oe端。/psen端可以驱动8个ls型ttl负载。 如果检查一个mcs-51单片机应用系统上电后,cpu能否正常到外部程序存储器读取指令码,可用示波器查/psen端有无脉冲输出。 (4)/ea/vpp(enable address/voltage pulse of programing,31脚):/ea功能为内外程序存储器选择控制端。 当/ea引脚为高电平时,单片机访问片内程序存储器,但在pc(程序计数器)值超过0fffh时,即超出片内程序存储器的4kb地址范围,将自动转向执行外部程序存储器内的程序。 当/ea引脚为低电平时,单片机则只访问外部程序存储器,不论是否有内部程序存储器。对于8031来说,因其无内部程序存储器,所以该引脚必须接地,这样只能选择外部程序存储器。 vpp为本引脚的第二功能。在对eprom型单片机8751内eprom固化编程时,用于施加叫高的编程电压。10对于89c51,则加在vpp引脚的编程电压为+12v或+5v。i/o口引脚(1)p0口:双向8位三态i/o口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8个ls型ttl负载。(2)p1口:8位准双向i/o口,可驱动4个ls型ttl负载。(3)p2口:8位准双向i/o口,与地址总线(高8位)复用,可驱动4个ls型ttl负载。(4)p3口:8位准双星i/o口,双功能复用口,可驱动4个ls型ttl负载。这里要特别注意准双向与双向三态口的差别。p1口,p2口,p3口是3个8位双向的i/o口,各口线在片内均有固定的上拉电阻。当这3个准双向i/o口作输入口使用时,要向该口先写1,另外准双向i/o口无高阻的“浮空”状态,故称为双向三态i/o口。其引脚图如下所示:图3-1 89c51引脚图 3.4 单片机最小系统的设计 (1)此次设计选用89c51的最小系统,89c51内部有4kb闪烁存储器,芯片本身就是一个最小系统。11在能满足系统的性能要求情况下,可优先考虑采用此种方案。用这种芯片构成的最小系统简单很可靠。用89c51单片机构成的最小应用系统时,只要将单片机接上时钟电路和复位电路即可,该系统与其他最小系统相比,省去了外扩程序存储器的工作,该最小应用系统只能用作一些小型的数字量的测控单元。单片机最小系统电路如图32所示 图3-2 89c51最小系统(2) 看门狗电路设计mcs-51的pc受到干扰而失控,引起程序乱飞,可能会使程序陷入死循环。指令和软件技术不能使失控的程序摆脱死循环的困境,这时系统将完全瘫痪。如果操作人员不在场,可按下人工复位按钮,强制系统复位。但操作人员不可能一直监控着系统,即使监视着系统,也往往是在引起不良后果之后才进行人工复位。能不能不要人来监视,就能使系统摆脱死循环,重新执行正常的程序呢?这可采用“看门狗”技术来解决这一问题。12“看门狗”技术就是使用一个计数器来不断计数,监视程序循环运行。若发现时间超过已知的循环设定时间,则认为系统陷入了死循环,这时计数器溢出,然后强迫系统复位,在复位入口0000h处安排一段出错处理程序,使系统运行进入正轨.另外,在单片机系统运行时,有可能会发生电源掉电的意外情况,一些重要的数据可能丢失。这时需要系统应首先检测到电源的变化,然后通过切换电路把备用电池接入系统,以保护ram中的数据不丢失。目前看门狗电路和掉电保护电路,都已经集成在一片微处理器监控芯片中。因此mcs-51只需要扩展一片微处理器监控芯片即可。这类芯片集成化程度高,功能齐全,具有广阔的应用前景。在单片机应用系统中使用微处理器监控芯片,可以大大提高单片机应用系统的抗干扰能力和可靠性。1)复位电路微处理器在上电、掉电及低压供电时,监控器产生脉冲信号这可以保证微处理器实现上电自动复位:当供电压过低时,防止cpu失控。电源电压vcc升到1v时reset引脚变为低电平,随着vcc的继续升高,reset一直保持低电平。13当vcc高于复位门限电平时,reset并不马上变为高电平,而是要滞后一个复位脉冲宽度(约200ms)后再变为高电平。当vcc低于复位门限电平,reset引脚马上变成低电平,即使以后vcc恢复且高于复位门限电平,reset也不马上变成高电平,而是要延迟一个复位脉冲宽度。掉电时,vcc只要低于复位门限电平,reset立即变为低电平。2)看门狗电路此次设计选用max690a微处理器做为监控器芯片。14看门狗电路计数器定时电路,在wdi端输入一个脉冲(ttl电平,宽度可小至50ms),定时器开始计数。若wdi引脚悬空或接至阻态输出的缓冲器上定时器则停止计数,并且清零。当定时器启动后,若在1.6s内没有向wdi输入脉冲,监控器将输出一个复位信号,引脚reset变低电平,同时定时器清零,只要reset为低电平,定时器将一直停止工作。mcs-51与max690a自动监控的接线如下,+5v电压跌落到某电压值,这就需要合理选择电阻r7、r8的值,所以r10=1k欧姆,r9=2.6k欧姆。电路图如下: 图 3-3 看门狗电路原理图 3.5 显示、键盘电路的设计(1)显示电路的设计led显示器结构常用的led显示器分为8段(或7段,8段比7段多了1个小数点“dp”段)。每一个段对应1个发光2极管。这种显示器有共阳极和共阴极2中,共阴极led显示器的发光二极管的阴极连接在一起,通常此公共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极led显示器的发光二极管的阳极连接在一起,通常此公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。为了使led显示器显示不同的符号或数字,就要把不同段的发光二极管点亮,这样就要为led显示器提供代码,因此这些代码可使led相应的段发光,从而显示不同字型,因此该代码称之为段码(或成为字型码)。显示器的工作原理由n个led显示块可拼连接成n位的led显示器,n个led显示块有n位为线和8xn根段码线。段码线控制显示字符的字型,而位选线位各个led显示块中各段的公共端,它控制该led显示位的亮或暗。 点亮显示器有静态和动态两种方法。所谓的静态显示,就是当显示器显示某一个字符时,相应的发光二极管恒定的导通或截止,例如7段显示器a、b、c、d、e、f导通,g截止,显示0。这种显示方式每一位都需要有一个8位输出口控制。静态显示时,较小的电流能得到较高的亮度且字符不闪烁,所以可由8255a的输出口直接驱动。在单片机串行口方式0应用中,也是采用静态显示方法。当显示器位数较少时,采用静态显示的方法是适合的。当位数较多时,用静态显示所需要的i/o太多,一般采用动态显示方法。静态显示方式:各位的共阴极或共阳极连接在一起并接地;每位的段码线分别与一个8位的锁存器输出相连。之所以称为静态显示,是因为各个led的显示字符一经确定,相应锁存器所存的段码输出将维持不变,直到送入另一个字符的段码为止。正因如此,静态显示器的亮度都较高。这种显示方式接口编程容易,付出的代价是占用的口线较多。如果显示器的位数增多,则需要增加锁存器。因此在显示位数较多的情况下,一般都采用动态显示方式。动态显示方式:在多位led显示时,为简化硬件电路,通常将所有位的段码线相应段并联在一起,由一个8位i/o口控制,形成段码线的多路复用,而各位的共阳极或共阴极分别由相应的i/o线控制,形成各位的分时选通。若要各位led能够同时显示出与本位相应的显示字符,就必须采用动态显示方式,即在某一时刻,只让某一位的位线处于选通状态,而其他各位的位选线处于关闭状态,同时,段码线上输出相应位要显示的字符的段码。这样 在同一时刻,4位led中的只有选通的哪一位显示出字符,而其他3位则是熄灭的,同样在下一时刻,只让下一位选线处于选通状态,而其他各位的位选线处于关闭状态, 在段码线上舒服将要显示字符的段码,则同一时刻,只有选通位显示出相应的字符,而其他各位则是熄灭的,如此循环下去,就可以使各位显示出相应的字符,虽然这些字符是在不同时刻出现的,而在下一时刻,只有一位显示,其他各位熄灭,但由于led 显示器的余辉和人眼的视觉暂留作用,只要每位显示间隔足够短,则可以造成多为同时亮的假象,达到同时显示的效果。 led不同位显示的时间间隔应根据实际情况而定。发光二极管从导通到发光有一定的延时,导通时间太短,则发光太弱,人眼无法看清,但也不能太长,因为要受限于临界闪烁频率,而且次时间越长,占用cpu时间也越长多。另外,显示位数增多,也将占用大量的cpu时间,因此动态显示实质是以牺牲cpu时间来换取器件的减少的。综上所述,此次设计选静态显示是最合适的方法。显示原理图如下图所示 图3-4 显示电路(2)键盘电路的设计行列式键盘接口行列式(也称矩阵式)键盘用于按键数目较多的场合,它由行线和列线组成,按键位于行、列的交叉点上。1个33的行、列结构可以构成1个具有9个按键的键盘。同理1个44的行、列结构可以构成1个16个按键的键盘等等。如图所示。很明显,在按键数目较多的场合,行列式键盘与独立式键盘相比,要节省很多的i/o口线。 图3-5 33键盘行列式键盘工作原理按键设置在行、列线交点上,行、列分别连接到按键开关的两端。行线通过上拉电阻接到+5v上。无按键按下时,行线处于高电平状态,而当有按键按下时,行线电平状态将由与此行线相连的列线的电平决定。列线的电平如果为低,则行线电平为低;列线的电平如果为高,则行线电平亦为高。这一点是识别行列式键盘是否按下的关键所在。由于行列式键盘中行、列线为多键共用,各按键均影响该键所在的行和列的电平。因此各按键彼此将相互发生影响,所以必须将行、列线信号配合起来并作是的处理,才能确定闭合键的位置。扫描法下面以图中3号键被按下为例,来说明此键是如何被识别出来的。当3号键被按下时,与3号键相两的行线电平将由与此键相连的列线电平决定,而行线电平在无按键按下时处于高电平状态。如果让所有的列线处于低电平,很明显,按键所在的行电平将被接成低电平,根据此行电平的变化,便能判定此行一定有按键被按下。但还不能确定是键3被按下,以为如果键3不被按下,而同一行的键2、1或0之一被按下,均回产生同样的效果。所以,行线处于低电平只能得出某行有按键被按下的结论。为进一步判定到底是哪一列的按键被按下,可采用扫描法来识别。即在某一时刻只让1条列线处于低电平,其余所有列线处于高电平。当第一列为低电平,其余各列为高电平时,以为是键3被按下,所以1行仍处于高电平状态;而当第二列为低电平,其余各列为高电平时,同样我们会发现第1行仍处于高电平状态;直到让第4列为低电平,其余各列为高电平时,以为瓷实号键被按下,所以第一行的电平将由高电平转换到第4列所处的低电平,据此可以判断第1行第4列的交叉点处的按键,即3号键被按下。 根据上面的分析,很容易想到识别键盘有无键盘被按下的方法,此方法分2步进行:第1步,识别键盘有无键被按下;第2步,如有键盘被按下,识别出具体的按键。分别介绍如下:首先把所有的列线均置为低电平,检查各行线是否有变化,如果有变化,则说明有键被按下,如果没有变化,则说明无键被按下。上述识别具体按键的方法也称为扫描法,即先把某一列置低电平,其余各列置为高电平,检查各行线电平的变化,如果某行线为低电平,则可确定次行此列交叉点处的按键被按下。(3)键盘的工作方式单片机应用系统中,键盘扫描只是单片机的工作内容之一。单片机在忙于各项工作任务时,如何兼顾键盘的输入,取决于键盘的工作方式。键盘工作方式的选取应根据实际应用系统中cpu工作的忙、闲情况而定。其原则是既要保证能即使响应按键操作,又不要过多的占用cpu的时间,通常,键盘工作方式有三种:即编程扫描、定时扫描、中断扫描。111)编程扫描方式这种方式就是只有当单片机空闲时,才调用键盘扫描子程序,反复的扫描键盘,等待用户从键盘上输入命令或数据,来响应键盘的输入请求。图为1个48矩阵键盘通过8255a扩展i/o口与8031的借口电路原理图,键盘采用编程扫描方式工作,8255a的pc口低4位输出逐行扫描信号,pa口输入8位列信号,均为低电有效。8255a的a0,a1端分别接于地址线a0,a1上,/cs与p2.7相接,/wr、/rd分别与8031的/wr和/rd相连。pc口低4位状态,若pc0pc3全1,则说明键盘无键按下;若不完全为1,则说明键盘有可能有键按下。2) 用软件延时10ms来消除按键抖动的影响。确实有按键按下时,进行下一步。3)在键盘扫描子程序中,首先判断键盘上有无键按下。其方法为pa口8位输出全0,读求按下键的键号。根据前面的介绍的扫描法,逐列置0扫描,读入行线的状态,最后确定按键位置。4) 等待按键释放后,在进行按键功能的处理操作。(4) 定时扫描的工作方式 单片机对键盘的扫描也可以采用定时扫描方式,即每隔一定的时间对键盘扫描一次。在这种扫描方式中,通常利用单片机内的定时器,产生10ms的定时中断,cpu响应定时器溢出中断请求,对键盘进行扫描,在有键按下时识别出该键,并执行相应键的处理功能程序。(5) 中断工作方式 为了进一步提高单片机扫描键盘的工作效率,可采用中断扫描方式,即只有在键盘有按键按下时,才执行键盘扫描程序并执行该按键功能程序,如果无按键按下,单片机将不理睬键盘。3.6 锁存器 74ls373的介绍与选择本次设计选用的锁存器为74ls373,它是一种带有三态门的8d锁存器,其引脚如图所示 其内部结构如图3-4所示其引脚说明如下:d7-d0:8位数据输入线。q7-q0:8位数据输出线。g:数据输入锁存选通引脚,高电平有效。当该信号为高电平时,外部数据选通到内部锁存器,负跳变时,数据锁存到锁存器中g为数据锁存控制端;当g为“1”时,锁存器输出端同输入端;当g由“1”变“0”时,数据输入锁存器中。oe为输出允许端;当oe为“0”时,三态门打开;当oe为“1”时,三态门关闭,输出呈高阻状态。在mcs-51单片机系统中,常采用74ls373作为地址锁存器使用,其中输入端1d8d接至单片机的p0口,输出端提供的是低8位地址,g端接至单片机的地址锁存允许信号ale。输出允许端oe,接地,表示输出三态门一直打开。图3-6 74ls373的引脚图3.7 2732的芯片引脚功能如下:a0-a15:地址线引脚。地址线引脚的数目由芯片的存储容量来定,用来进行单元选择。d7-d0:数据线引脚。/ce:片选输入端/oe:输出允许控制端。/pgm:编程时,加编程脉冲的输入端。vpp:编程时,编程电压(+12v或+25v)输入端。vcc+5v,芯片的工作电压输入端gnd:数字地。nc:无用端。3.8 6264数据存储器的介绍与选择6264是8k8位的静态数据存储器芯片,采用cmos工艺制作,单一+5v电源,额定功耗165mw,典型存取时间为200ns,24线双列直插式封装。在此设计中用于扩展89c51内部数据存储器容量。a0a12为片内13位地址线,d0d7为8位数据线ce为片选信号,oe为读允许信号线,we为写信号线。数据存储器扩展电路与程序存储器扩展电路相似,所用的地址线,数据线完全相同,读,写控制线用wr,rd但要考虑的问题比程序存储器涉及的问题要多,如i/o口扩展的统一编址问题。3.9 6264引脚功能的介绍与选stam的各引脚功能如下:a0-a14:地址输入线。d0-d7:双向三态数据线。/ce:片选信号输入线,低电平有效。对于6264芯片,当引脚26(cs)为高电平时,且/ce为低电平时才选中该片。/oe:读选通信号输入线,低电平有效。/we:写允许信号输入线,低电平有效。vcc:工作电源+5v。gnd:地线。静态sram存储器有读出,写入,维持三中工作方式, 这些工作方式的操作控制如表1所示: 表3-1 操作控制表信号方式/ce/oe/wed0d7读vilvilvih数据输出写vilvihvil数据输入维持vih任意任意高阻态3.10 8255芯片介绍8255是inter公司生产的可编程并行i/o接口芯片,它具有3个8位的并行i/o口,3种工作方式,可以通过编程改变其功能,因而使用灵活方便,通用性强,可作为单片机与多种外围设备连接时的中间接口电路。此设计中8255芯片用于扩展接口。8255a的引脚如图所示。15由图所示 8255共有40只引脚,采用双列直插式封装,各引脚功能如下:d7d0:三态双向数据线,与单片机数据总线连接,用来传诵数据信息。/cs:片选信号线,低电平有效,表示本芯片被选中。/rd:读出信号线,低电平有效,控制8255a数据的读出。/wr:写入信号线,低电平有效,控制向8255a数据的写入。vcc:+5v电源。pa7pa0:a口输入/输出线。pb7pb0:b口输入/输出线。pc7pc0:c口输入/输出线。a1a0:地址线,用来选择8255a内部的4个端口。8255a的内部结构8255a内部结构见图,其中包括3个并行数据输入/输出端口,2个工作方式的控制电路,1个读/写控制逻辑电路和8位数据总线缓冲器。各部件的功能如下: 8255有3个8位并行口,pa、pb和pc。都可以选择作为输入/输出工作模式,但在功能上有点差异。读/写控制逻辑电路接收cpu发来的控制信号/rd、/wr、reset、地址信号a1a0等,然后根据控制信号的要求,将断口数据读出,送往cpu或者将cpu共来的数据写入端口reset:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有i/o口均被置成输入方式。cs:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与cpu进行通讯。 rd:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向cpu发送数据或状态信息,即cpu从8255读取信息或数据。 wr:写入信号,当这个输入引脚为低电平时,允许cpu将数据或控制字写8255。d0d7:三态双向数据总线,8255与cpu数据传送的通道 pa口:1个8位数据输出锁存器和缓冲器;1个8位输入锁存器。 pb口:1个8位数据输出锁存器和缓冲器;1个8位数据输入缓冲器。 pc口:1个8位的输出锁存器;1个8位数据输入缓冲器。 通常pa口、pb口作为输入/输出口,pc可作为输入/输出口,也可在软件的控制下,分为2个4位的端口,作为端口a、b选通方式操作时的状态控制信号。(1) a组和b组控制电路 这是2组根据cpu写入的命令控制8255a工作方式的控制电路。a组控制pa口和pc口的上半部(pc7pc4);b组控制pb口和pc口的下半部(pc3pc0),本可根据命令字对端口的每一位实现按位置或复位。16(2) 数据总线缓冲器 数据总线缓冲器是1个三态双向8位缓冲器,作为8255a与系统总线之间的接口,用来传送数据、指令、控制命令以及外部状态信息。(3) 读/写控制逻辑电路 图3-8 8255的引脚图4 系统的软件设计 4.1 控制系统的主程序功能及流程图主程序完成下述主要功能:1. 初始化程序的设置;2. 存取车状态的读入,及车牌号的读入、显示;3. 存取车子程序的调入;4. 给存取车控制系统的单片机信号的传递。主程序流程图如图4-1所示。开 始 初始化键盘扫描子程序存车键取车键nyy调取车子程序调 存 车 子 程 序给存取车控制系统发信号图4-1 主程序流程图 4.2 最优车位的实现本文研究的自动立体停车库有40 个车位,共20 层,每层两个车位,当有车存入时,微处理器需确定存入哪个车位,就出现了选取最优化车位的问题。最优化条件首先是存车所需时间最短,其次是以消耗最少能源为准。存车的能量消耗主要与提升层数关系密切,层数越低,能量消耗越少。选取最优车位的方法,本论文采用了较简单的方法,即根据车位的层数排列出选取的顺序,根据此顺序建立一个现行表最优车位库。每个车位需两个字节,第一个字节表示是否有车存入,第二个字节表示此位置的车位号。程序在此线性表中进行顺序查找。时间和空间的矛盾是计算机世界许多相同的功能出现很多不同方法的根本原因,不同查找方法的同时存在就印证了这一点,它们各有优劣,各有所用。查找的目的在于从一些数据中寻找

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论