




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的自动化立体车库系统设计摘要进入21世纪以来,我国的经济水平快速提高,国际地位大幅提升。百姓的生活质量也逐渐提高,使得汽车的拥有成为现在人的基本的生活要求,但是随着汽车的不断增多,停车问题也就越来越严重,成为了社会上急需解决的问题。以前古老的人工停车模式由于效率太低将会逐渐被社会淘汰,而高科技的自动停车控制管理系统将逐渐兴起。因为高科技的停车控制系统具有先天的优势,省去大量的人工,极大地提高了办事效率。本次设计介绍的就是一种由单片机控制的车库控制系统。它能够根据单片机的信息计算出可以停放几辆汽车,能够自我进行停放,逐步实现全方面自动化,这样就省去了人为的操作,只需工作人员定时检测系统,不发生意外事故即可。它还可以把单片机计算的车位结果利用显示屏显示出来,把车位信息及时传递给外界。我们利用红外线传感器可以检测出是否有车辆进出停车场,为大门的开与关提供可靠的信息来源。作为本次设计的设计者,我认为本次设计具有如下的优点,操作简单明了、结构清晰、性价比非常高、设计时间短等。关键词:STC89C52单片机模拟记录自动化目录TOC\o"1-2"\h\z\u摘要 I1绪论 11.1研究背景 11.2国内外的现状 11.3研究内容 32.自动化立体车库系统设计方案 52.1系统概述 52.2动力系统的选择 62.2电源的设计选择 62.3主芯片的介绍 62.4传感器的选择 73系统的硬件设计 83.1微处理器模块 83.2显示模块 93.3报警部分 113.4停车位模拟停车模块 124控制系统的软件设计 134.1主程序设计 134.2倒计时中断程序设计 144.3键盘中断程序设计 155系统的调试与仿真 165.1keil运行图 165.2proteus仿真图 17结论 18参考文献 20附录 21PAGE1-1绪论1.1研究背景我国是世界上的第二大经济体,只是排在美国之后,具有雄厚的物质财富。而百姓的生活品质也随之不断提高,汽车也就变成日常生活中随处可见的物品。人们的思想境界就会不断提高,就想拥有更高质量的生活水平,那么城市的人口就会增多,城市就会向外扩展,挤压人们的生存资源,人们的生存资源就会不断的被压缩。因此,便有人就提出了空间的概念,希望我们能够好好利用空间。在城市中我们随处都能见到许多立体的建筑物和立体的交通。立交桥、高架,以及位于城市中心的地下铁路,共同组成立体交通网络,因此,我们的观念也从平面转向立体,车库的模式也从人工转变到自动,该套控制系统实用性较强,适用于城市环境建设与发展,这会让我们更加期待车库的发展。
在城市中,物质与精神等各个方面都有了快速的发展,人们对建造立体车库的愿望更加强烈。我国正处于快速发展的时期,因此我国有能力大量建造大型的自动式立体车库,它将与地面停车场、地下车库组合起来形成强大的交通模式,这是目前世界上主要的交通模式。目前,世界上各个国家都开始大力支持和发展立体停车产业,当然我国也不会落后于其他的国家,积极开创立体车库的新技术,争取走在世界各国的前列。它与其他车库相比,有不可替代的优越性,比如立体车库就像现在的高楼大厦一样,建造几层乃至几十层,这样就在同等占地面积的基础上,停放比之前多好几倍的车辆。这样让本来就稀少的土地资源得到缓解,本来地球的资源就有限。并且还能节省土建开发成本,使立体车库的建设成本大大地下降,这样利国利民。1.2国内外的现状随着世界上第二次世界革命的兴起,世界就进入了工业革命的时代。世界各国的科技水平比之前有了明显的提高,各种高新技术蓬勃兴起,尤其是西方国家技术更加发达,发展立体车库的技术也就更加的成熟。而我国早期由于长时间落后导致了落后的局面,所以我国早期的立体车库还没有出现,但是随着我国近几十年的快速发展,建造立体车库的技术逐渐赶上了西方发达国家的水平。各类型的车库随即出现在我国的各大城市的每个角落,为广大的市民提供交通方便。世界上最早出现立体车库的国家就是在美国的芝加哥市,刚建成的时候就在世界上引起了很大的反响。但是这个车库却在运营了大约90年之后被国家推倒了,这个车库当时的类型主要有两层的升降类,车库的设计与建造也非常简单。日本由于在美国的帮助下,科技水平也发展的比较快,因此日本也随即在1960年的时候开始建造,在当时只是建造了一个两层四位的机械停车库,在1956年日本引进了立体车库技术后,随即便在日本本土建造3万座立体车库,至今在日本仍有随出可见的立体车库,对日本的影响非常大。在经历了那么长的发展过程之后,我国逐渐也兴起了一批立体车库,建造车库的技术也有了长足的发展,在短短的十年内我国也建造了一万座立体车库,主要是在大型的城市,中小型城市仍然没有大量普及。随着我国的伟人邓小平同志一声令下,我国的改革事业如火如荼的开始,经过几十年的发展,我国逐渐改变了原来的落后局面,百姓的生活逐渐的富裕了起来。汽车的增长量也是逐年增加,而立体车库的增长也是与日俱增,我国的汽车与立体车库的变化量如下表所示。表1.1我国的每年的汽车增长量年份汽车保有量/亿汽车保有量增长率/%20121.0916.8620131.2716.5120141.4614.9620151.7217.8120161.9412.7920172.1711.86
表1.2我国的立体车库的每年完成数和新增的停车位年份立体车库建造数量建造数量增长率/%立体车库新增停车位数量停车位数量增长率/%20121.62622.90404.12328.6520131.81211.40505.64725.1220141.9608.17583.60916.0320152.0708.07617.3865.2320162.2156.54728.64318.0320172.51613.56811.05611.32由以上两个表的数据我们可以得出虽然我国的发展很迅速,汽车和车库也增长得很快,但是整体的情况仍然很严峻,建造立体车库的速度仍然比不上汽车的增长速度,长时间发展下去,两者的比例会严重失调,这是非常严重的一个问题。因为我们即没有美国那样的技术先进性,也没有日本的那样的高建造率。所以我国仍任重而道远,我相信会在奋斗的道路上一直走下去。1.3研究内容现在自动化立体车库已经普遍进入人们的生活,为方便市民以及司机的停车方便,我们便设计出自动化立体的控制系统,本设计以单片机为控制中心,单片机读取储存在其中的停车位的位置信息,同时接收传感器传来的车辆的实时位置,车速等信息,它是处于主导的地位,并且一般是不用人工干预,当司机把车辆停放在大门时,红外线传感器检测到时,把信息传到单片机,进行信息分析与处理,然后输送到了动力系统,电动机开始启动拉着载车板把车辆拉入车库自动搜索空闲车位进行停放,按照就近原则进行停放。第一章.绪论。介绍了自动化立体车库控制系统在现代社科发展中的研究背景,并且介绍了自动化立体车库的国内外发展状况,进一步说明了本文的主要研究内容。第二章.介绍了自动化立体车库控制系统的设计方案。主要是对本设计的系统思路进行概述,以及各个模块所需硬件进行各方面的对比,选用更适合本设计的硬件。第三章.控制系统硬件设计。通过我们对硬件各方面的介绍,主要说明了各硬件部分之间的连接以及如何运用硬件在此设计中发挥作用。第四章.控制系统的软件设计。对本次软件设计结构进行了详细讲解,主要说明了各部分功能模块在软件层面上实现方法和执行过程,通过对设计思路和软件设计语句的阐述,以便达到实现各部分功能和整体功能的目的。第五章,控制系统的仿真与调试。本次设计经过一系列的硬件与软件的准备及各位老师与同学的指导与帮助,本次的系统仿真与调试进行的非常成功,基本上实现了本次设计立体车库的自动识别车辆的状态,自动搜索空闲车位并且把车辆传送到空闲车位,显示车位的使用情况等功能。2.自动化立体车库系统设计方案2.1系统概述本次设计的控制系统结构简单,它分为几个部分其中包括:手动控制模块、传感器模块、5V电源模块、液晶显示器模块、停车位模块。本次设计可以实现了什么时候开启该控制系统、记录着车库内停放车辆的数量和实时记录车库内有的车辆数的变化、剩余空闲车位数的数量还有用人工改变显示的总车位数等功能。我们设置了16个LCD灯用来模拟停车位的数量和位置,灯的亮与不亮的状态则可以显示车辆停放信息。停车位的报警指示系统可以及时提醒控制系统车库内无空闲车位的情况,以此来对司机说明情况,提高了停车的效率。控制系统的特点如下:(1)本次设计结构简单,便与理解和设计,没有任何建造难度。(2)本系统的设计可以适用于任何规模的立体车库、停车场等,适应性强、使用广泛。(3)能够准确显示车库内车位的变化情况,及时与外界进行信息传递,能够极大的提高办事效率。(4)本次设计我还设计了报警指示系统,这个系统主要针对车位的空闲情况,防止进入车库没有空闲车位的现象。系统的模拟框图如图2-1所示:图2-1模拟框图2.2动力系统的选择电动机是能把交流电转化为机械能的动力装置。电动机对于一般控制系统中需要动作的机电设备是非常重要的,只有电机拖动载车板移动才能实现立体车库最根本的自动化功能。
本设计选用三相交流异步电机。载车板使用的电动机承载的重量较轻,所以选用的功率需要较小,所以根据该设计要求,电动机可选用Y系列电机Y801-2,其额定电流为2.0A,额定功率为0.80KW。2.3电源的设计选择由于我们的设计方案中各个部分是需要稳定的电源电压,所以为了得到稳定的电压。我们设计了两种方案,供我们选择。第一种方案。使用USB5V的电压源,然后我们再使用相对应的USB接口的电源适配器,这样就可以把220V的交流电换成5V的直流电,这样设计操作简单,仪器使用简单。但是又有缺点就是如果再想连接其他的元器件比较困难,但有性能可靠,成本低等优点,因此使用这样设计的较多。方案二:首先我们先向该控制系统的电路中输入单相220V交流电,然后经过变压器和全桥结构的整流作用,最后达到稳压后再输出,这样我们就可以得到稳定的5v直流电。根据以上的方案的对比,我们采用非常熟悉的电源适配器给系统提供电。直接用接适配器的5V电源,这样结构非常简单,还没有任何的技术难点。电源原理图如图2-2所示图2-2电源原理图2.4主芯片的介绍我们是采用32位的微控制器(单片机)作为主芯片,它的型号是STC89C52。它是用成熟的90nmLP工艺技术制造,因为使用这个工艺成熟,不存在任何技术问题,而且生产的时间短,它还具有超大容量的内存,尽可能的多保存一些重要数据。其低损耗的工作方式也是该款单片机的一大优点,单片机在工作时每单位时间内消耗的电流、功率都非常少,分别只有9μA、11μW,几乎是同类产品消耗的30%,而性能上又比它们高出很多,并且对大部分的设计要求都能满足,电池的储电量较大,在不充电的情况下能够长时间的工作,而且电池的使用寿命也较早期的有了较大提高,这都是现代科技发达的产物,总而言之这是非常优秀的一款单片机。综上所述并参考该设计的工作要求,我们选用这款单片机。2.5传感器的选择这次设计根据选用的传感器不同,我又设计的两个不同的方案。方案一:传感器使用的是红外线光电传感器,当它工作时会释放红外线,异常敏感。只要有其他事物出现在它的范围内,它就会向单片机传出一个高电平的电位,同理如果没有其他事物出现在它的范围,它就向单片机传出一个低电平的电位,这样就可以做出判断,非常直观明了。方案二:我们还可以采用超声波传感器,当有汽车经过时会接触到超声波,超声波会反馈回超声波传感器,这样我们就可以通过时间计算来判断是否有车辆经过。使用超声波传感器工作优点是精度高,因为声音传播速度很快,误差可以忽略不计。
同样缺点也很明显就是操作要求非常高,需要专业的人员进行操作。通过我们对以上两种情况的分析,我们会采用第一个方案,因为使用光电传感器的成本不高,方便购买。而且安装方便、精度也高,它对工作要求也不高。非常符合我们的实际要求,即操作简单,非常实用。
3系统的硬件设计3.1微处理器模块我们通常把单片微型控制器叫做单片机,它是在1970年左右出现的,随着现代科技的发展,单片机的型号与功能也跟着发展起来,从最初的8位制的单片机发展到现在常用的32位制单片机,单片机的功能也随之丰富起来。单片机具有小巧灵活、集成化程度高、功能多的特点,深受科技人员的热爱。同等产品的大部分的控制系统都是有电路来实现的,现在我们就能使用单片机的方法实现控制系统,以后必定随着单片机的普及而被广大用户所熟悉。STC89C52是由STC公司生产的一种32位单片机,具有损耗低、性价比高、微型的优点。在我们现代科技的发展下,能使它的性能变得更加丰富。技术人员在STC89C52单片机的每一块的芯片上都安装了8位的CPU和在系统可编程Flash软件,使得嵌入式控制应用系统与单片机连接起来。它与51系列单片机相比,不仅是大小的改变更是质量的提升,在使用早期的单片机已经不在适合,最终会被社会所淘汰。各引脚如图3-1所示图3-1引脚图STC89C52单片机技术参数如下(1)8K字节程序存储空间;(2)512字节数据存储空间;(3)直接使用串口下载;(4)内部还有EEPROM的内存容量3.2显示模块显示模块虽然没有其他模块那么重要,但是我们也不能去省略这部分的重要,显示功能是直接与外界沟通的器件,如果没有它,我们将无法直接去获得系统提供给我们的消息。在这个系统中我们使用的LCD1602液晶的显示器。如下图3-2.1所示。图3-2.1实物图3.2.1液晶简介(1)1602LCD主要技术参数也是非常重要,是判断这个液晶显示器质量好与坏的标准。1602LCD液晶的技术参数如下:显示容量:16×2个字符正常工作电流(电压):2.0mA(5.0V)字符尺寸:2.95×4.35(W×H)mm芯片工作电压:4.5—5.5V液晶模块最佳工作电压:5.0V(2)引脚功能 由以上的解释说明让我们知道了液晶显示器的技术参数,下面1602LCD液晶的各引脚接口的操作说明,如下表所示。表3-2.2引脚说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极3.2.2指令说明1602液晶显示器内部有11条控制指令,具体说明如下表所示。表3-2.2控制指令序号指令RSR/WD7D6D5D4D3D2D1D01清指示00000000012光标返回000000001*3置输入模式00000001I/D*4显示开/关控制0000001DCS5光标或字符移位000001DLNF*6置功能00001DLNF**7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容3.2.3显示模块电路显示模块的原理图如图3-2.3所示图3-2.3显示原理图3.3报警部分如果车库内的空闲车位没有时,车辆的司机还要往车库里停车,那么车库中的车位报警系统就会起到作用。警系统中的蜂鸣器就会发出警报的声音,以此来提醒司机没有空闲车位,这时司机就会去寻找其他的车库或者停车场。蜂鸣器的工作原理还是非常简单的,它是通过一个PNP型的三极管发出声音,接口的连接在总的原理图中就会体现出来。电路原理图如下3.4停车位模拟停车模块在此处用16盏LED灯4*4排列,用来模拟停车位的停放位置,前八个是第一层后八个是第二层。由于52系列单片机的接口数量太少,所以本次设计我们使用了74HC595芯片作为它的补充,对它的接口数量进行了扩展。74HC595芯片是我们比较熟悉的一款位移缓存器。SCLR显示为高电平,G显示低电平。每次输入1位数据时输入端SCK的上升沿有效一次它最多是能够输入8位数据,当8位数据输完之后,输出端上升沿有效一次,这个过程就能让数据输入完成。各个端口的名称和相对应的说明都在下面的表中。表3-4真值表输入管脚输出管脚SISCKSCLRRCKOEXXXXHQA-QH输出高阻XXXXLQA-QH输出有效值XXLXX移动寄存器清零L上沿HXX移位寄存器存储LH上沿HXX移位寄存器存储HX下沿HXX移位寄存器状态保持XXX上沿X输出存储器锁存移位寄存器中的状态值XXX下沿X输出存储器状态保持
4控制系统的软件设计4.1主程序设计在本次的设计中,软件的设计是非常重要的,而主程序的设计是。主程序的设计就像人类的大脑,占据着主导地位。它贯穿着本次设计的全部过程。那么主程序的流程图是这次程序的成功与失败的关键因素,我们设计主程序的目的就是为了让它对某种情形做出正确的判断,同时它还控制这各类功能,同时还要把输出数据送入显示模块,非常重要。流程图如图4-1所示:开始开始显示最大车位判断是否显示剩余车位显示剩余车位2个传感器进入传感器是否检测到信号出入传感器是否检测到信号开门开启倒计时剩余车位数增减YYN图4-1主程序流程图在判断车库内车辆的运行状态时,我们设计出了运用两个传感器组成的判断系统,一个传感器判断车辆进车库,一个传感器判断车辆出车库,假如让这两个传感器都检测到车辆在移动时,那么进出的物体就证明是车辆,如果一个传感器检测到车辆,那么就要打开车库的大门,让车辆进出车库。然后在通过逻辑计算进行剩下的车位的加减计算,省去了人工的操作。4.2倒计时中断程序设计倒计时中断程序的设计就是为了车库的门能够自动的进行关闭与开启。倒计时中断程序会通过传感器的信息进行分析,是否可以关闭车库的大门,如果满足关闭大门的条件,那么大门就会自动关闭大门,然后自动退出所在程序。如果不满足关闭条件,需要重新设置大门关闭的倒计时的时间,让大门继续开启,满足关闭的条件后再进行关闭车库的大门,流程图如图4-2所示。断电保护断电保护初始化TH0,TL0判断开门时间是否结束两传感器是否同时检测到有车关闭自动门中断返回设置倒计时时间YYNN图4-2倒计时中断程序流程图4.3键盘中断程序设计键盘中断程序的功能非常简单,其中包括加、减、两个键,设计这类程序的作用就是可以人工可以通过按键去控制车位显示的情况,起到调试的作用。每一个键都有它们各自独特的功能。4.3.1增加键在这个程序中,剩余的车位不能比车位总数多,所以为了防止这种情况的发生,我就增加了增加键这一功能,可以用人工通过按键去调试。流程图如下4-3图所示。断点保护断点保护延时后判断P3.3是否为低电平当前是否正在设置剩余车位最大车位数加一剩余车位数加一中断返回YN图4-3增加键流程图4.3.2减少键这个减少键的流程图和上面的相似,只是一个增加键一个减少键的区别。在这个程序中剩余车位不能比没有剩余车位少,所以为了防止这种情况发生,我设计了减少键这个功能。
5系统的调试与仿真5.1keil运行图本次设计我是在Keil软件中进行的编程序,首先,我们应该了解这个软件的操作流程,熟悉这个软件的各个功能。Keil软件是现在大多数工程师的首选软件,它操作简单,便于我们书写程序。还有一个重要的优点就是编写的程序可以非常方便的被其他仿真软件所接受。这将为以后顺利仿真打下了坚实的基础。软件界面及程序图如图5-1所示。图5-1程序图5.2proteus仿真图本次设计我使用的就是Proteus仿真软件,这是我们比较熟悉的一款仿真软件,它里面的元器件非常齐全,假如没有,它还有自我构建的功能,生成我们需要的元器件,非常方便、实用。仿真图如图5-2所示。图5-2仿真图
结论在本学期刚开学之初,我就做好了长期艰苦奋斗的准备。积极搜索各种资料,然后在咨询了导师及同学的意见后制定了设计方案,在这次的设计中,我认为编程与仿真是艰难的,还好最终实现了最初的目的。在这次的设计中,我懂得了理论与实际的区别,原来我学的知识是在课本上,感觉很简单,但是到了实际情况时感到了力不从心,我以后要积极参与到现实中去,在现实中实现自我。通过这次的毕业设计,加强了我对实际操作的能力,加深了我对本专业的了解,明白了以后的工作方向。本次设计研究的是通过STC89C52单片机实现对车库的控制管理,我们对STC89C52单片机是非常熟悉,因此我还可以勉强能够做出来。本设计采用液晶显示器进行显示车库的情况,重点是显示车辆的进出车库的情况,这是非常重要的。
这次设计虽然我大体上做了出来,基本功能也能体现,但是还存在如下的问题:
(1)
系统的硬件部分不太容易设计,增加了我们设计的难度。
(2)
系统的稳定性有待加强。因为任何系统都追求稳定性,如果系统不稳定就称不上完美。(3)
功能有待完善。本系统无故障报警装置。任何物体都有可能停止工作,所以安装故障报警装置是很有必要。
由于我的能力不够,导致这次设计不是很完美,我希望大家积极参与到本次设计中,人多力量大,我相信,我们一定能够设计出一个完美的、准确度高的立体车库控制系统,让我们一起去加油。参考文献[1]周立功.单片机实验与实践.北京航空航天大学出版社[2]刘春龙,张炜.单片机控制装置安装与调试备赛指导.高等教育出版社[3]陆亚民.单片机原理及应用.轻工业出版社[4]郭天祥,51单片机C语言教程【M】.北京:电子工业出版社,2009,1[5]彭伟.单片机C语言程序设计实训100例.北京:电子工业出版社,2012,[6]高如云.通信电子线路,西安电子科技大学出版社,2011[7]高频电路设计与制作铃木宪次科技出版社,2010[8]樊昌信.通信原理(第六版).西安电子科技大学2006[9]谢维成,杨加国.单片机原理与应用及C51程序设计.清华大学出版社,2009.7[10]丁辉,杨文新.单片机应用技术.中国电子出版社[11].杨永平.智能化立体车库研究与设计【J】,工业建筑,2006年1期
[12].钟卫伦.智能立体车库管理系统的设计方案【J】,电梯工业,2007年1期
[13].王天奇.立体车库及其市场前景.机电,-体化【J】,2005年4期
[14].喻乐康.机械停车库的前景探讨[J],建设机械技术与管理,2009年2期
[15].杨青亮,赵建军,鲍义东.基于单片机的自动寻位立体车库系统的设计【J】,机械工程与自动化,2008年01期.
[16].董洁,王子墚.基于网络的智能立体车库管理系统中央控制程序的开发【J】,起重运输机械,2013[17].余成波.传感器与自动检测技术.高等教育出版社.2009
[18].王可崇.智能建筑自动化系统.中国电力出版社.2008
[19].童诗白.模拟电子技术基础.高等教育出版社.2006
[20].陈奥初.单片机应用系统设计与实践
北京航空航天大学出版社
2002.[21]肖骁,戈文祺.电气传动系统中单片机技术的应用解析【J】.中国标准化,2017
[22]/view/dbc25c22ccbff121dd36836e.html?re=view.
附录主程序#include<reg52.h> //调用单片机头文件#defineucharunsignedchar//无符号字符型宏定义 变量范围0~255#defineuintunsignedint //无符号整型宏定义 变量范围0~65535#include<intrins.h>#include"lcd1602.h"sbitK1=P1^0;sbitK2=P1^1;sbitK3=P1^2;sbitK4=P1^3;sbitbeep=P1^7;//蜂鸣器IO口定义sbitSH=P3^5;sbitST=P3^6;sbitDS=P3^7;ucharnum_jin;ucharnum_chu;ucharnum_car;//1ms延时函数voiddelay_1ms(uintq){ uinti,j; for(i=0;i<q;i++) for(j=0;j<120;j++);}//74HC595函数voidwrite_74hc595(unsignedintnum){ inti; ST=0; for(i=0;i<16;i++) { SH=0; if(num&0x0001){DS=1;} Else{DS=0;} SH=1; num>>=1; } ST=1;}unsignedintnum_2_led(unsignedintnum){ inti; unsignedintret=0; if(num>16) return0xFFFF; for(i=0;i<num;i++) { ret|=1<<i; } returnret;}//独立按键程序voidkey() { if(!K1) //汽车进入(模拟传感器的监测) { delay_1ms(20); if(!K1) {while(!K1); if(num_car==16) {beep=0; delay_1ms(200);beep=1;}if(num_car<16) {num_car++;if(num_jin<=255){num_jin++;}} write_sfm2(1,4,num_jin); write_sfm2(1,12,num_chu); write_sfm2(2,4,num_car); write_sfm2(2,12,16-num_car); write_74hc595(num_2_led(num_car)); } } if(!K2) //汽车驶出(模拟传感器的监测) { delay_1ms(20); if(!K2) {while(!K2);if(num_car>=1){ num_car--;if(num_chu<=255){num_chu++;}} write_sfm2(1,4,num_jin); write_sfm2(1,12,num_chu); write_sfm2(2,4,num_car); write_sfm2(2,12,16-num_car); write_74hc595(num_2_led(num_car)); } } if(!K3) //人工调节手动修改小区内停车位 { delay_1ms(20); if(!K3) {while(!K3); if(num_car<16) {num_car++;} write_sfm2(1,4,num_jin); write_sfm2(1,12,num_chu); write_sfm2(2,4,num_car); write_sfm2(2,12,16-num_car); } } if(!K4) //人工调节手动修改小区内停车位 { delay_1ms(20); if(!K4) {while(!K4);if(num_car>=1){ num_car--;} write_sfm2(1,4,num_jin); write_sfm2(1,12,num_chu); write_sfm2(2,4,num_car); write_sfm2(2,12,16-num_car); } } } //主函数voidmain(){init_1602();write_string(1,0,"Jin:Chu:");write_string(2,0,"Car:P:"); write_sfm2(1,4,num_jin); write_sfm2(1,12,num_chu); write_sfm2(2,4,num_car); write_sfm2(2,12,16-num_car); write_74hc595(0); while(1) { key(); //独立按键程序 }}Lcd显示函数#ifndef_LCD1602_H_#define_LCD1602_H_sbitrs=P2^5; //1602数据/命令选择引脚H:数据 L:命令sbitrw=P2^6; //1602读写引脚 H:数据寄存器 L:指令寄存器sbite=P2^7; //1602使能引脚下降沿触发ucharcodetable_num[]="0123456789abcdefg";/*********************************************************************名称:delay_uint()*功能:小延时。*输入:无*输出:无***********************************************************************/voiddelay_uint(uintq){ while(q--);}/*********************************************************************名称:write_com(ucharcom)*功能:1602命令函数*输入:输入的命令值*输出:无***********************************************************************/voidwrite_com(ucharcom){ e=0; rs=0; rw=0; P0=com; delay_uint(3); e=1; delay_uint(25); e=0;}/*********************************************************************名称:write_data(uchardat)*功能:1602写数据函数*输入:需要写入1602的数据*输出:无***********************************************************************/voidwrite_data(uchardat){ e=0; rs=1; rw=0; P0=dat; delay_uint(3); e=1; delay_uint(25); e=0; }/*********************************************************************名称:write_sfm2(ucharhang,ucharadd,uchardate)*功能:显示2位十进制数,如果要让第一行,第五个字符开始显示"23",调用该函数如下write_sfm1(1,5,23)*输入:行,列,需要输入1602的数据*输出:无***********************************************************************/voidwrite_sfm2(ucharhang,u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 精密设备租赁合同范本
- 房地产营销代理合同标准
- 换热器供应合同文本
- 猪肉采购合同范本
- 标准施工合同范本2008
- 窗帘制作合同范本简易
- 货代业务合同范本
- 乡间小院租赁合同范本
- 保洁部合同范本
- 加工出售糕团合同范例
- 女性骨盆解剖课件
- 博士自我介绍课件
- 天然气公司工程管理奖惩制度
- 五年级下册生命生态与安全教案
- 2024年河北省中考历史试题卷(含答案逐题解析)
- 《捐赠旧衣服》(课件)六年级下册劳动人教版
- 特别国债资金管理办法
- DL∕T 5776-2018 水平定向钻敷设电力管线技术规定
- 招投标代理公司内部监督管理制度
- 知识库管理规范大全
- 江苏省昆山、太仓、常熟、张家港市2023-2024学年下学期七年级数学期中试题
评论
0/150
提交评论