1、(2011届)毕业设计题目单片机路灯控制系统设计姓名专业电子信息工程班级学号指导教师导师职称2011年4月28日I单片机路灯控制系统设计摘要单片机路灯控制系统是一种新型智能控制系统,可根据季节交替引起的天气变化和用户的不同需要,通过按键进行调节,能起到明显的节能效果。该路灯控制系统设计主要包含硬件系统设计和软件系统设计。硬件系统主要由时钟发生电路、电路控制电路、LCD显示电路、声光报警电路、键盘控制电路和单片机控制电路等部分组成。在时钟发生电路中,采用低功耗实时时钟电路芯片DS1302,它可以对年、月、日、周日、时、分、秒进行计时,计时后,经过单片机的控制处理后从显示屏上将计时的数据显示出来。
2、而路灯控制部分通过对外部环境进行检测,实现不同环境的不同操作,从而实现不同功能。软件部分主要需结合硬件系统,绘制程序流程图,编写相应的程序,使得单片机路灯系统能智能,自动地运作路灯,排查故障。关键词单片机,时钟电路,路灯控制IISCMBASEDSTREETLAMPCONTROLSYSTEMDESIGNABSTRACTSCMSTREETLAMPCONTROLSYSTEMISANEWTYPEOFINTELLIGENTCONTROLSYSTEM,CANACCORDINGTOSEASONALALTERNATECLIMATECHANGESCAUSEANDTHEDIFFERENTNEEDSOFCUSTOM
3、ERS,THROUGHTHEBUTTONSONTHEADJUSTMENT,CANHAVEOBVIOUSEFFECTINENERGYSAVINGTHISSTREETLAMPSYSTEMCONSISTSOFHARDWARESYSTEMDESIGNANDSOFTWARESYSTEMDESIGNHARDWARESYSTEMDESIGNINCLUDECLOCKCIRCUIT,LAMPCONTROLCIRCUIT,LCDDISPLAYCIRCUIT,SOUNDANDLIGHTALARMCIRCUITRY,KEYBOARDCONTROLCIRCUITRYANDSINGLECHIPCONTROLLINGCIR
4、CUITINTHECLOCKSECTION,WITHTHETRICKLECHARGECURRENTCAPACITYOFLOWPOWERREALTIMECLOCKCIRCUITCHIPDS1302,THEYEARS,MOUTHS,DAYS,SUNDAYS,HOURS,MINUTESANDSECONDSCANBECOUNTED,AFTERMUCCONTROLPROCESSINGTHETIMINGDATAWILLBEDISPLAYEDTHROUGHTESTINGTHEEXTERNALENVIRONMENT,THELAMPCONTROLPARTWILLBEACHIEVEDIFFERENTOPERATI
5、NGANDVARIOUSDIFFERENTFUNCTIONSSOFTWAREOFMAINNEEDHARDWARESYSTEMCOMBINEDDRAWINGPROGRAMFLOWCHART,WRITETHECORRESPONDINGPROGRAM,MAKESCMSTREETLAMPSYSTEMCANINTELLIGENCE,AUTOMATICOPERATIONFAULTLAMPS,THEGRATEKEYWORDSSINGLECHIPMICYOCO,CLOCKCIRCUIT,LAMPCONTROLIII目录摘要IABSTRACTII1绪论111课题的来源112课题的意义113单片机应用技术国内外发
6、展现状2131国外的研究现状2132国内的研究现状214课题研究的目的32硬件电路设计421系统总体方案设计422芯片器件介绍4221单片机AT89C52简介4222光敏传感器的介绍6223实时时钟芯片DS1302的介绍72241602液晶的介绍8225电压比较器LM358923各模块介绍10231时钟电路模块10232感光电路模块11233液晶显示器模块11234复位电路模块12235故障报警电路模块13236灯光驱动电路模块143系统软件设计1631软件系统介绍16311软件介绍16312主程序的介绍16313主流程图1732各子程序模块18321实时时钟子程序18322LCD显示子程序1
7、8323自动警报子程序19324路灯开关控制子程序20IV4总结2141工作总结2142心得体会22参考文献23致谢24附录25附录图1电路总图25附录2主程序26单片机路灯控制系统设计11绪论11课题的来源单片机路灯控制系统是一种新型智能控制系统,它可根据季节改变引起的天亮、天黑、时间的变化、人们不同的需要,通过按键进行调节。在智能路灯控制系统设计中,考虑到体积,功耗功能等因素,选用了性能高、功耗低、体积小、性能价格比较高的单片机作为系统时钟及低功耗的串行作为存储路灯开、关时间的数据存储器。像这样的系统结构简单,用途广泛,常用于公路两边、桥梁两边或者工厂等,得到明显的节电效果,取得较好的经济
8、效益,受到很高的评价。12课题的意义现今,单片机的应用也进入到了环保节能领域中,使其应用发展更上一层楼。其中最为显著的就是装扮美丽城市夜景的路灯照明工程。我们都知道,路灯的用电是一个城市公共用电的突出问题,尤其是在深夜期间,车少人少的情况下,如何降低路灯用电,减少能耗,提高用电效率。智能路灯监控系统以单片机为核心,主要由现场系统、通讯系统、监护中心3部分组成。在引进此系统后,城市的公共用电得到的明显的改善。使用单片机来控制路灯有以下优点(1)价格低体积小、重量轻、节能环保等。因为能明显的降低控制器硬件的成本,而且比一般微处理机更加快速,功能更加优化、全面。(2)显著改善控制的可靠性。因为使用单
9、片机来控制电路,集成电路和大规模集成电路大大长于分立元件电子电路的平均无故障时。(3)采用微处理机的数字控制,使信息的双向传递能力大大增强,容易和上位系统机联接,可随时改变控制参数。(4)硬件电路标准化。因为在电路集成过程中采用一些屏蔽措施,可以避免电力电子电路中过大的瞬态电流、电压引起的电磁干扰问题,可靠性比较高。(5)提高了信息存贮、监控、诊断以及分级控制的能力,使伺服系统更趋于智能化。(6)可以设计适合于众多电力电子系统的统一硬件电路,其中软件可以模块化设计,拼装构成适用于各种应用对象的控制算法;以满足不同的用途。软件模块可以方便地增加、更改、删减,或者当实际系统变化时彻底更新。(7)性
10、能优异但算法复杂的控制策略有了实现的基础,因为随着微机芯片运算速度和存贮器容量的不断提高17。毕业设计213单片机应用技术国内外发展现状131国外的研究现状1976年9月,美国INTEL公司的MCS48型单片机问世,成为单片机划时代的里程碑。这阶段单片机的特点是片内配置的存储器RAM/ROM容量及提供的寻址空间较小。1980年INTEL公司在总结了MCS48系列机的基础上推出了8位高档MCS51系列单片机。它与MCS48系列相比,硅片的面积扩大为原来的14倍,片内程序存储器ROM/EPROM容量为原来的4倍,RAM容量增加了1倍,工作寄存器组扩大了1倍,设有两个16位定时器/计数器;并行I/O
11、接口增至4个口共32线,增设有全双工串行I/O接口;扩充了指令功能,提高了执行速度;存储器寻址空间分别为扩大到64KB等。可见其功能有了很大提高。1983年INTEL公司推出了MCS96系列16位单片机。在一块芯片上集成了13万以上个管子。片内设有字长16位的CPU,没有累加器,而是采用寄存器寄存器结构,8K字节的ROM,232字节的RAM,5个8位的I/O端口,一个全双工I/O端口,专门的波特率发生器,具有高速的I/O系统,4或8通道的的10位A/D转换器,8个中断源。此外,设有脉宽调制输出装置,16位监视定时器,4个16位的软件定时器和2个16位的定时器/计数器。可实现位、字节、字16位、
12、双字32位操作,设有1616位或3216位的乘、除法运算。另外还可配置面向控制的PL/M和FORTH语言。近几年来,INTEL和MOTOROLA等公司先后推出更高挡的32位单片机,其功能极强,主要用于复杂的高层次系统710。132国内的研究现状在我们中国。单片机的开发应用大致可以分为20世纪80年代的普及推广阶段、90年代的广泛应用阶段和21世纪的嵌入式系统的开发应用阶段。第一阶段国内主要从事INTEL公司的8位8048/8051单片机应用,随着单片机在线仿真ICEINCIRCITEMULATOR技术的突破,推出了一系列的单片机在线仿真器ICE和开发工具,推动了单片机开发应用的普及与推广。第二
13、阶段随着我国改革开发进一步深入,除了INTEL公司的8048/8051单片机得到广泛应用外,MOTOROLA公司的单片机和PHILIPS公司的单片机也很快进入我国并得到了应用。同时,我国各高校纷纷开设了相应课程,编写和出版相关的教材。一些跨国公司在各高校建立了单片机开发中心或者单片机实验单片机路灯控制系统设计3室,促进了我国单片机的教育和科研工作的开展第三阶段进入21世纪,随着信息家电IA和3C产品的广泛应用,单片机应用也进入到嵌入式系统开发应用阶段。今后一段时期内,单片机发展的总趋势将是不断推出高档和高性能的机型;重点提高8位单片机的性能;采用新工艺,实现低功耗、宽电压、高速度、高可靠性;以
14、及日趋单片化等1113。14课题研究的目的在我国,大部分城市特别是中小城市的路灯系统自动化管理水平还不是很高,特别是当季节、气候、天气变化时不能及时改变开关状态,从而不能对立等充分利用,给广大市民带来相应的困扰。当出现路灯故障时也不能及时发现和更换处理,人工查询劳动强度也大。对于城市区域和道路的拓展,路灯的数量也急剧增长,对于提高路灯现代化管理的要求也越来越迫切。单片机路灯控制系统的引用是必然的趋势。一方面,通过单片机的控制,能实现定时开关各单元路灯,并且能根据环境明暗变化,自动开关灯。用计时系统来对时间进行有效的控制。当某个路灯发生故障,故障信号发送给主机,利用显示模块以及输入模块等作为人机
15、界面,实现显示及声光报警等功能。使得路灯在现实运用中,能更加智能,更加人性化,解决了以前用人力控制所带来的不便,减少了主观性错误的发生率。另一方面,在我们进入一个高速发展的阶段,人们越来越提倡环保的当下,运用单片机路灯控制系统,通过光敏电阻的调节,按照自然光的明暗,自动进行开关路灯的操作,节约了不必要的资源浪费,为当今国家电力有着巨大缺口减轻负担1415。毕业设计42硬件电路设计21系统总体方案设计单片机路灯控制系统基本按一下框图实施图21系统总体设计方案该系统包括单片机控制单元,复位电路模块,环境检测模块,声光报警模块,时钟电路系统。电路原理图请参见附录(附图I1)所用的器件有单片机AT89
16、C52,实时时钟芯片DS1302,1206液晶,电压比较器LM339,光敏传感器等。22芯片器件介绍221单片机AT89C52简介AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的一种小型单片机。AT89C52是一个低电压,高性能CMOS8位单片机,片内含8KBYTES的可反复擦写的FLASH只读程序存储器和256BYTES的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS51指令系统,片内置通用8位中央处理器和FLASH存储单元,功能强大的AT89C52单实时时钟电路单片机控制部分环境明暗检测LCD液晶显示部分灯路控制电路1灯
17、路控制电路2LED驱动电路故障检测电路LED驱动电路故障检测电路系统复位电路蜂鸣器报警电路单片机路灯控制系统设计5片机适合于分布式测控网络的控制应用,可为您提供许多较复杂系统控制应用场合。AT89C52有40个引脚,其中32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和FLASH存储器结合在一起,特别是可反复擦写的FLASH存储器能有效的降低开发成本。AT89C52为了适应不同产品的需求,分别开发了PDIP、PQFP/TQFP及PLCC等三种封
18、装的形式,其主要功能特性1、兼容MCS51指令系统2、8K可反复擦写1000次)FLASHROM3、32个双向I/O口4、256X8BIT的内部RAM5、低功耗空闲和掉电模式6、软件设置睡眠和唤醒功7、3个16位可编程定时/计数器中断8、时钟频率024MHZ9、2个外部中断源10、6个中断源11、2个读写中断口线12、3级加密位13、2个串行中断14、可编程UART串行通道毕业设计6图22AT89C52单片机222光敏传感器的介绍光敏传感器主要利用光信号被光敏元件转换为电信号的传感器件。光敏传感器之所以能迅速的对光信号的变化作出反应,是因为它的敏感波长在可见光波长附近,(包括红外线波长和紫外线
19、波长。)并将光信号转换为电信号。光传感器是目前产量最多、应用最广的传感器之一,它不只局限于对光的探测,它还可以作为探测元件组成其他传感器,对许多非电量进行检测,只要将这些非电量转换为光信号的变化即可。它在自动控制和非电量电测技术中占有非常重要的地位。光敏传感器的种类繁多,主要有光电管、光电倍增管、光敏电阻、光敏三极管、光电耦合器、太阳能电池、红外线传感器、紫外线传感器、光纤式光电传感器、色彩传感器、CCD和CMOS图像传感器等。单片机路灯控制系统设计7其工作原理可分四类A因光照射引起物体电学特性改变的现象称为光电效应,外光电效应在光的照射下,一些材料中的电子溢出表面所产生光电子发射的现象,又称
20、为光电发射效应。如光电二极管,光电倍增管内光电效应在光照射半导体材料下,材料吸收光子而产生电子空穴对,让导电性能加强,电导率增加,这种现象又称为光电导效应,内光电效应。如光导管,光敏电阻,光电池,光敏三极管等。B红外热释电探测器利用辐射的红外光照射材料所引起材料电学性质的变化,产生热电动势。CCCD图像传感器,MOS图像传感器D光纤传感器图23光敏传感器223实时时钟芯片DS1302介绍芯片DS1302是由美国DALLAS公司生产的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,工作电压为25V55V。芯片DS1302采用三线接口与CPU进行同步通信,
21、能用突发方式一次传送多个字节的时钟信号或者RAM数据。芯片DS1302是芯片DS1202的升级产品,其内部有一个31X8的用于临时性存放数据的RAM寄存器。它可以兼容DS1202,但是增加了主电源/后背电源双电源引脚,能同时对后背电源提供涓细电流的充电。芯片DS1302有12个寄存器,其中7个寄存器与日历、时钟相关。此外,还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器和与ARM相关的毕业设计8寄存器等。引脚功能及结构DS1302的引脚排列,其中VCC1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302有VCC1或者VCC2中的较大者供电。当VCC2
22、大于VCC102V时,VCC2给DS1302供电。当VCC2小于VCC1时,DS1302由VCC1供电。RST是复位/片选线,通过RST输入驱动置高电平来启动所有数据的传送。X1和X2是震荡源,外接32768KHZ晶振。SCLK始终是输入端。图24实时时钟芯片DS13022241602液晶介绍生活中,我们经常能接触到液晶显示器,如电视机,电脑,手机等等。它已经被许多电子产品,通信器件所应用。其主要功能是显示数字、专用的符号和图形。在单片机的人机交流中,液晶也起着重要的作用,一般的输出方式有发光管、LED数码管、液晶显示器。在本次设计中,就是运用了液晶显示器,来显示单片机所采集到的数据。选择单片
23、机系统中选择了液晶显示器作为输出器件的原因显示质量高由于液晶显示器是恒定发光的,所以每一个点在收到信号后单片机路灯控制系统设计9就一直保持那种色彩和亮度,不像阴极射线管显示器那样要不断的刷新亮点。数字式接口因为液晶显示器是以数字的形式,这样能和单片机系统的接口更加简单可靠,操作也更方便。体积小、质量轻液晶显示器是通过显示屏上的电极控制液晶分子状态来显示的,在质量上比相同显示面积的传统显示器要轻很多。功耗低液晶显示器的功耗主要消耗在内部的点击和驱动上,所以耗电量比一般的显示器要少很多。图251602液晶225电压比较器LM358介绍LM358适合于电源电压范围很宽的单电源使用,也适用于双电源工作
24、模式,其内部包括有两个独立的、内部频率补偿、高增益的双运算放大器,在比较适合的工作条件下,放大器的性质电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他使用运算放大器的场合(可全部能用单电源供电)。8引线双列直插式和贴片式的LM358的封装特性如下(1)直流电压的增益比较高(2)差模输入电压相当于电源电压范围,其范围宽(3)输入失调电压和失调电流低(4)输入偏流低(5)单位增益频带宽毕业设计10(6)电源电压范围宽(7)电流功耗低,可以用电池供电(8)输出电压摆幅大(9)内部频率能自给补偿(10)共模输入电压范围宽其中1号引脚与单片机JC6引脚相接,2号引脚和2个并联电阻相
25、接,3号引脚和驱动电路相连接,4号引脚接地,8号接入电源。图26电压比较器LM35823各模块介绍231时钟电路模块在本系统中,时钟电路如上所说的选用集成芯片DS1302。DS1302的引脚排列中,VCC1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由VCC1或VCC2两者中的较大者供电。当VCC2大于VCCL02V时,VCC2给DS1302供电。当VCC2小于VCC1时,DS1302由VCC1供电。X1和X2是振荡源,外接32768KHZ晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能首先,RST接
26、通控制逻辑,允许地址/命令序列送入移位寄存器其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,单片机路灯控制系统设计11允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O脚变为高阻态。上电运行时,在VCC大于等于25V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入/输出端双向。SCLK始终是输入端。DS1302的引脚连接图如图27所示图27时钟电路模块232感光电路模块本设计要求,各单位路灯能根据环境明暗变化,自动开关灯,因此需要加入光敏器件。当周围太暗是,光
27、敏传感器就要给出一个信号,相应的原件就会产生反应。原理图如图28所示图28感光电路模块233液晶显示模块根据设计方案,加入液晶显示器液晶1602。液晶显示器与单片机连接,毕业设计12将单片机上的所接收到并处理的数据显示出来,实现人机交流的目的。原理图如图29所示图29液晶显示器模块234复位电路模块单片机在开机时都需要复位,以便于中央处理器以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。单片机的复位后时靠外部电路实现的,再时钟电路工作后,只要在单片机的RST引脚时出现24个时钟震荡脉冲以上的高电平,单片机便可以实现初始化状态复位。复位电路在整个电路中的基本功能是当系统通电时提供
28、一个复位信号,直到系统电源稳定才能撤销复位信号。但为了可靠起见,电源稳定后还要经过一定的延时,确定电源没有异常后才撤销复位信号,以防电源开关或电源插头分合过程中引起的抖动而影响复位。原理图如图210所示单片机路灯控制系统设计13图210单片机复位电路235故障电路模块故障报警电路分2个部分故障报警电路分2个部分第一部分是连接在路灯上的故障检测电路,它运用一个电压比较器LM358,当电路中的路灯故障,使得电路产生短路或断路的情况,该电路中的电压会变高或没有电流,这时电压比较器通过比较,将信息传到单片机中,而单片机通过程序的运行,给出正确的信息。电路原理图如图211所示图211路灯检测故障电路毕业
29、设计14通过路灯检测故障模块的信息传输到单片机,单片机将启动蜂鸣器,起到一个报警的目的,并在液晶显示频上显示出错的路灯具体位置。故障报警电路原理图如图212所示图212路灯系统中故障报警电路236灯光驱动模块本系统中采用LED灯光驱动电路,它是由一个控制灯的电子开关场效应管来控制灯光的开关。其电路图如图213所示单片机路灯控制系统设计15图213驱动电路毕业设计163系统软件设计31软件系统介绍311软件介绍软件的编程设计是单片机系统设计的核心部分,也是能否实现预定功能的关键。单片机编程常用的语言是C语言和汇编语言,最终都要转为INTELHEX格式或二进制格式BINARY文件拷入单片机芯片内。
30、这里我们使用的是C语言进行编程设计。312主程序介绍主程序如图31所示,初始化程序包括存储器初始化、时钟初始化、LCD液晶显示模块初始化等。然后设置时间,根据实时时钟子程序的操作,系统先将手动输入时间,然后将数据放入寄存器中,最后读取DS1302的数据,通过单片机显示在LCD液晶显示屏上。接着设置开关灯的时间,如要需要设置,则启动设置开灯或关灯的程序,如果不需要设置,则进入光线检测环节,即启动光敏传感器电路,在启动此程序后,系统会启动另一个程序故障检测系统,若有故障,则会触发警报器程序,如果没有故障,程序结束。单片机路灯控制系统设计17313主流程图图31程序流程图系统初始化读取DS1302S
31、数据读取当前时间是否开关灯时间启动开灯或关灯程序光线检测读取故障检测数设备有故障启动报警程序与显示程序结束开始YNNY设置时间毕业设计1832各子程序模块321实时时钟子程序单片机对DS1302进行开始条件的设置,先从DS1302中读取1BYTE数据,然后往DS1302中写入数据,读取DS1302在某地址的数据,这样就完成了对DS1302的初始化。接着往DS1302中写入时钟数据,时钟数据地址格式为秒分时日月星期年控制,然后读取DS1302的时钟数据,将数据写到DS1302寄存器中,并读取其中的数据,最后设置初始时间,读取DS1302当前时间。这就是实时时钟子程序完成的步骤。以下是实时时钟部分
32、子程序VOIDV_GET1302UCHARUCCURTIMEUCHARI,TEMP1,TEMP2UCHARUCADDR0X81FORI0I4TEMP2TIME_CODEITIME_CODEITEMP110TEMP2322LCD显示子程序为简化硬件电路,通常将所有LED动态显示。首先设置显示模式,即显示开、关,显示有无光标。然后设置输入模式,画面可平移。将LCD初始化,输入液晶字符的位置,并显示到液晶屏上。以下是设置LCD液晶显示的部分子程序VOIDLCD_INITIALLCDEN0LCD_WRITELCD_COMMAND,0X38/8位数据端口,2行显示,57点阵DELAY5单片机路灯控制系统
33、设计19LCD_WRITELCD_COMMAND,0X38DELAY5LCD_SETDISPLAYLCD_SHOW|LCD_NO_CURSOR/开启显示,无光标DELAY5LCD_WRITELCD_COMMAND,LCD_CLEAR_SCREEN/清屏DELAY5LCD_SETINPUTLCD_AC_UP|LCD_NO_MOVE/AC递增,画面不动DELAY5323自动报警子程序自动报警子程序是当路灯在发生故障时,电路传给单片机一个信号,而单片机将这个数据写入此程序,程序将数据输出,使得蜂鸣器启动,从而起到报警作用。以下是部分自动报警子程序IFSTATUS01GOTOXY13,1LCD_WRI
34、TELCD_DATA,0IFERROT0XFF/开报警BEEP0IERROTIFI9II0X37ELSEII0X30LCD_WRITELCD_DATA,IIERROTIFI9II0X37ELSEII0X30LCD_WRITELCD_DATA,IELSE/关报警BEEP1毕业设计20324路灯开关控制子程序此程序是本毕业设计中最重要的一个部分,它控制路灯的开和关。将光敏传感器传来的信号通过程序的处理,传输给路灯电路,使得路灯可以根据环境的明暗自动开和关。以下是路灯开关控制部分程序V_GET1302IFGJCD1DKEY0STATUS00IFKT_TIME0INCLUDEDEFINEUINTUNS
35、IGNEDINTDEFINEUCHARUNSIGNEDCHAR/UCHARFUNC_MARK2/上电设置系统时间UCHARSTATUS00/STATUS0亮灯标志UCHARTIME_CODE70,0,12,11,5,3,11/时间缓存UCHARKT_TIME60,30,15,0,30,20/定时亮灯UCHARLCD_BUF2/INCLUDE“DS1302H“INCLUDE“1602H“INCLUDE“KEYH“/SBITDKEYP35SBITGJCDP33SBITBEEPP34DEFINEERROTP1/VOIDMAINVOIDCHARILCD_INITIALINITIALKEYDKEY0ST
36、ATUS00BEEP1WHILE1/IFFUNC_MARK2/设置系统时间/设置系统时间SWITCHSETCASE1IFADD1TIME_CODE0IFTIME_CODE060TIME_CODE00ADD0IFSUB1TIME_CODE0IFTIME_CODE060TIME_CODE059SUB0BREA毕业设计26CASE2IFADD1TIME_CODE1IFTIME_CODE160TIME_CODE10ADD0IFSUB1TIME_CODE1IFTIME_CODE160TIME_CODE159SUB0BREAKCASE3IFADD1TIME_CODE2IFTIME_CODE224TIME_
37、CODE20ADD0IFSUB1TIME_CODE2IFTIME_CODE223TIME_CODE223SUB0BREAKCASE4IF1IFADD1TIME_CODE3IFTIME_CODE42IFTIME_CODE328TIME_CODE31IFTIME_CODE41|TIME_CODE43|TIME_CODE45|TIME_CODE47|TIME_CODE48|TIME_CODE410|TIME_CODE412IFTIME_CODE332TIME_CODE31IFTIME_CODE44|TIME_CODE46|TIME_CODE49|TIME_CODE411IFTIME_CODE331T
38、IME_CODE31ADD0IFSUB1TIME_CODE3IFTIME_CODE42IFTIME_CODE30TIME_CODE328IFTIME_CODE41|TIME_CODE43|TIME_CODE45|TIME_CODE47|TIME_CODE48|TIME_CODE410|TIME_CODE412IFTIME_CODE30TIME_CODE331IFTIME_CODE44|TIME_CODE46|TIME_CODE49|TIME_CODE411IFTIME_CODE30TIME_CODE330SUB0BREAKCASE5IFADD1TIME_CODE4IFTIME_CODE413T
39、IME_CODE41ADD0IFSUB1TIME_CODE4IFTIME_CODE40TIME_CODE412单片机路灯控制系统设计27SUB0BREACASE6IFADD1TIME_CODE6IFTIME_CODE6100TIME_CODE61ADD0IFSUB1TIME_CODE6IFTIME_CODE699TIME_CODE699SUB0BREAKDEFAULTBREAKGOTOXY0,0PRINT“SETDATE“,8GOTOXY8,0/需要增加闪烁功能FORI2I0ILCD_BUF0TIME_CODEI/100X30LCD_BUF1TIME_CODEI100X30PRINTLCD_B
40、UF,2IFI0LCD_WRITELCD_DATA,GOTOXY0,1PRINT“SETTIME“,8GOTOXY8,1/需要增加闪烁功能FORI6I2IIFI5LCD_BUF0TIME_CODEI/100X30LCD_BUF1TIME_CODEI100X30PRINTLCD_BUF,2IFI3LCD_WRITELCD_DATA,/IFFUNC_MARK0/常态显示/灯关开关控制V_GET1302IFGJCD1毕业设计28DKEY0STATUS00IFKT_TIME00ILCD_BUF0TIME_CODEI/100X30LCD_BUF1TIME_CODEI100X30PRINTLCD_BUF,
41、2IFI0LCD_WRITELCD_DATA,GOTOXY8,0PRINT“LEDON“,8GOTOXY15,0IFSTATUS00LCD_WRITELCD_DATA,NELSELCD_WRITELCD_DATA,YGOTOXY0,1FORI6I2IIFI5LCD_BUF0TIME_CODEI/100X30LCD_BUF1TIME_CODEI100X30PRINTLCD_BUF,2IFI3LCD_WRITELCD_DATA,GOTOXY8,1单片机路灯控制系统设计29PRINT“ERRO“,8IFSTATUS01GOTOXY13,1LCD_WRITELCD_DATA,0IFERROT0XFF/
42、开报警BEEP0IERROTIFI9II0X37ELSEII0X30LCD_WRITELCD_DATA,IIERROTIFI9II0X37ELSEII0X30LCD_WRITELCD_DATA,IELSE/关报警BEEP1/IFFUNC_MARK1/开停灯时间设定/设置开停灯时间SWITCHSETCASE1IFADD1KT_TIME0IFKT_TIME060KT_TIME00ADD0IFSUB1KT_TIME0IFKT_TIME060KT_TIME059SUB0BREAKCASE2IFADD1KT_TIME1IFKT_TIME160KT_TIME10ADD0IFSUB1KT_TIME1IFKT
43、_TIME160KT_TIME159SUB0BREAKCASE3IFADD1KT_TIME2IFKT_TIME224KT_TIME20ADD0IFSUB1KT_TIME2IFKT_TIME223KT_TIME223SUB0BREAK毕业设计30CASE4IFADD1KT_TIME3IFKT_TIME160KT_TIME30ADD0IFSUB1KT_TIME3IFKT_TIME360KT_TIME359SUB0BREAKCASE5IFADD1KT_TIME4IFKT_TIME160KT_TIME40ADD0IFSUB1KT_TIME4IFKT_TIME460KT_TIME459SUB0BREAK
44、CASE6IFADD1KT_TIME5IFKT_TIME224KT_TIME50ADD0IFSUB1KT_TIME5IFKT_TIME523KT_TIME523SUB0BREAKDEFAULTBREAKGOTOXY0,0PRINT“SETST“,8GOTOXY8,0/需要增加闪烁功能FORI2I0ILCD_BUF0KT_TIMEI/100X30LCD_BUF1KT_TIMEI100X30PRINTLCD_BUF,2IFI0LCD_WRITELCD_DATA,GOTOXY0,1PRINT“SETOT“,8GOTOXY8,1/需要增加闪烁功能FORI5I2ILCD_BUF0KT_TIMEI/100X30LCD_BUF1KT_TIMEI100X30PRINTLCD_BUF,2IFI0LCD_WRITELCD_DATA,