自动路灯控制系统设计_第1页
自动路灯控制系统设计_第2页
自动路灯控制系统设计_第3页
自动路灯控制系统设计_第4页
自动路灯控制系统设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

目录摘要 I第一章 绪论 11.1 概述 21.2 系统的要求及实现功能 21.2.1 设计要求 21.2.2 实现功能 2第二章 系统分析及硬件设计 32.1 系统设计 32.1.1 硬件结构图 32.1.2 系统整体框图 42.2 各模块硬件电路的方案论证与比较 42.2.1 时钟电路 42.2.2 环境明暗判断电路 42.2.3 交通情况检测电路 42.2.4 显示电路 4 2.3 各模块硬件电路设计 52.3.1 AT89C52单片机最小系统 52.3.2 时钟电路 52.3.3 物体感应模块 52.3.4 1602液晶显示模块 6第三章 主要器件介绍 73.1 AT89C52单片机 73.1.1 主要功能特性 73.1.2 引脚功能及管脚电压 73.2 DS1302芯片 83.2.1 引脚功能 83.2.2 工作原理 93.2.3 数据输入输出 93.2.4 寄存器 93.3 1602液晶显示器 93.3.1 1602液晶概述 93.3.2 寄存器选择控制表 103.3.3 管脚功能 11 第四章 软件设计与调试 124.1 系统设计思路 134.2 系统各部分子程序设计 144.2.1 主程序设计 154.2.2 红外中断与查询子程序设计 164.2.3 按键设定程序设计 174.3 整体系统的软件调试 174.4 整体系统的仿真结果分析 18附录 19结论 21谢辞 22参考文献 23摘要随着城市的发展,作为城市公用设施的路灯照明系统对人民生活和交通安全起着重要作用。城市路灯控制系统已在我国得到广泛应用,因此节能和易于控制成为路灯控制的核心问题。由于单片机具有集成度高,处理能力强,系统结构简单的优点,因此在路灯照明工程中被广泛应用。该模拟路灯系统基于AT89C52单片机,采用线路简单、体积小的专用时钟芯片DS1302,DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW。用了基于555为核心的红外传感器检测物体的定位,通过红外感应模块将物体运动的信号通过555的TTL高低电平输入单片机,并通过红外线输入的情况判断物体运行方向,再控制LED灯的开关情况。显示部分用LCD液晶显示,能显示实时时间以及对路灯设置的开关灯时间。完成了四方面的功能:正常时钟显示功能,定时开关灯功能,环境明暗判断功能,交通条件控制功能。关键词:路灯照明 单片机 红外传感器 I第一章 绪论1.1 概述路灯,已成为我们的城市、生活中必不可少的一部分。“华灯初上”时,是路灯为我们照亮前方的路,让我们的脚步没有彷徨。这么广泛的应用在平凡中凸显了路灯的重要。城市照明工程作为城市公共设施的重要组成部分,对完善城市功能,改善城市人居环境,提高人民生活水平发挥着重要作用。近年来,随着城区总面积的不断扩大,道路照明设施也随着变化。为方便广大市民夜间出行,美化城市环境,城市路灯管理如果管理不当,将会浪费很大的能源。路灯管理的方便性和路灯节能对一个城市而言非常重要。在交通日趋发达的今天,交通路灯控制系统的设计已成为交通亮化工程的一个重要问题。随着人们对节能环保的诉求越来越高,以及十城万盏半导体照明工程的启动,我国基本确定了以LED室外照明为主攻方向。其中,LED路灯备受瞩目,被政府视为推动照明应用市场的重要切入点。而且现在路灯的自动控制还不是最理想的状态,所以尝试做一个模拟路灯控制系统。文章就如何能为交通车辆和行人提供一个明亮的交通环境,又能节约电力资源设计了一个模拟路灯控制系统,根据不同的交通状况对路灯实施不同的控制模式,做到了电力资源的合理有效利用。由于单片机具有集成度高,处理能力强,可靠性高,系统结构简单,价格低廉的优点,因此在路灯照明工程中被广泛应用。根据设计题目要求,我们以单片机为中心,通过AT89C52单片机实现对路灯定时开关及时间显示的控制。系统采用线路简单、体积小的专用时钟芯片DS1302,DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW。使用DS1302不但使电路功耗降低,而且节省IO口资源。采用低功耗的字符型液晶作为显示器件,显示更为直观。用了基于555为核心的红外传感器检测物体的定位,通过红外感应模块将物体运动的信号通过555的TTL高低电平输入单片机,并通过红外线输入的情况判断物体运行方向,再控制LED灯的开关情况。红外传感器部分电路通过可根据外界环境明暗的变化,能够自动进行开灯和关灯。红外传感器可以接收物体在一定范围内发出的红外线,因此,将红外传感器置于适当位置,便可实现灯依次点亮的控制。通过对AT89C52单片机进行编程,使用单片机的两个端口分别对两只路灯进行控制,并设定不同的开灯和关灯时间。路灯控制系统是生产生活和城市道路建设中必备的系统之一。自动控制所追求的是能源的节约、生活的方便,以及去完成人工不能或不方便完成的工作等。现在的路灯大多是点亮就是亮一夜,哪怕有几段时间,没有行人或者是车辆通过也是一样的,这就造成了电能的浪费。如此广泛应用的公共设施,就算一个路灯每天浪费一度电,这样累加起来是一个庞大的电力能源。所以,这个模拟路灯控制系统主要解决的问题是节约电能。1.2 系统的设计要求及实现功能1.2.1 设计要求(1)支路控制器有时钟功能,能设定、显示开关灯时间,并控制整条支路按时开灯和关灯。(2)支路控制器应能根据环境明暗变化,自动开灯和关灯。(3)支路控制器应能根据交通情况自动调节亮灯状态:当可移动物体M(在物体前端标出定位点,由定位点确定物体位置)由左至右到达S点时(见图1-1),灯1亮;当物体M到达B点时,灯1灭,灯2亮;若物体M由右至左移动时,则亮灯次序与上相反。(4)支路控制器能分别独立控制每只路灯的开灯和关灯时间。图1-1 路灯布置示意图(单位:cm)1.2.2 实现功能(1)具有正常的时钟功能。(2)具有定时开关灯的功能。(3)根据环境明暗变化,自动开灯和关灯。(4)根据交通情况自动调节亮灯状态:当汽车靠近路灯时,路灯能自动点亮;当汽车远离时,路灯自动熄灭。第二章 系统分析及硬件设计2.1 系统设计2.1.1 硬件结构图图2-1 硬件结构图该系统的硬件结构如图2-1所示,其中支路控制器采用ATMEL公司的AT89C52单片机,该单片机为整个系统的核心。可以通过输入装置设定开关灯时间和检测环境明暗变化,输入装置包括一些按键和传感器,显示装置能显示路灯的开关灯时间,显示装置是1602液晶显示器。单元控制器1和单元控制器2分别为路灯1(LED1)和路灯2(LED2)的驱动装置,它们均由支路控制器根据所设定的时间和环境明暗变化来控制。物体感应模块 主 控 电 路 显示模块时钟模块按键控制模块2.1.2 系统整体框图: 图2-2 系统整体框图2.2 各个模块硬件电路设计的方案论证与比较2.2.1 时钟电路方案一:利用555定时器组建定时模块。555定时器具有成本低,性能可靠等优势,虽然能够做到精确定时但不具备储存时间信息的能力。方案二:采用专用时钟芯片。现在流行的串行时钟电路很多,如DS1302、DS1307、PCF8485等。其优势是可以单独使用,直接连接单片机外围,有自己独立的时钟晶振,精度较高。单片机通过串行接口读取和写入当前的时钟值,时钟芯片的运行受单片机死机的影响少。使用DS1302不但使电路功耗降低,而且节省IO口资源。本系统采用方案二。2.2.2 环境明暗判断电路方案一:采用比较器的解决方案。光敏电阻与固定电阻串联,加一级电压跟随器后输入比较器,与比较器负输入端的电压值进行比较,得到一个高电平或低电平输出,进入单片机的IO口。优点是电路比较直观,操作比较方便,可直接通过电位器调节路灯的开启亮度。对维护人员的要求不高。缺点是不方便进行数码控制。方案二:采用红外传感器。基于555为核心的红外传感器能检测物体的定位,而且红外传感器部分电路可根据外界环境明暗的变化,能够自动进行开灯和关灯。本系统采用方案二。2.2.3 交通情况检测电路方案一:采用超声波感应。超声波传感器是利用超声波的特性研制而成的传感器。超声波是一种振动频率高于声波的机械波,由换能晶片在电压的激励下发生振动产生的,它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播等特点。超声波对液体、固体的穿透本领很大,尤其是在阳光不透明的固体中,它可穿透几十米的深度。方案二:基于555为核心的红外传感器检测物体的定位。通过红外感应模块将物体运动的信号通过555的TTL高低电平输入单片机,并通过红外线输入的情况判断物体运行方向,再控制LED灯的开关情况。红外传感器可以接收物体在一定范围内发出的红外线,因此,将红外传感器置于适当位置,便可实现灯依次点亮的控制。本系统采用方案二。2.2.4 显示电路方案一:数码管显示。数码管显示具有硬件电路结构简单、价格便宜、调试方便、软件实现相对容易等优点,但占用单片机IO口太多,而且显示的信息不多。由于本题要求实时显示系统时间、状态等,而数码管不能显示字符。方案二:LCD液晶显示。LCD液晶不但能显示字符和数字,而且显示效果较好,容易编程实现。采用串口通讯的显示方式,可以大大节省单片机的IO口。LCD液晶具有功耗低、显示内容丰富、清晰,显示信息量大,显示速度较快,界面友好等而得到广泛应用。本系统采用方案二。2.3 各个模块的硬件电路设计2.3.1 AT89C52单片机最小系统单片机最小系统由晶振电路和复位电路构成:图2-3 单片机最小系统2.3.2 时钟电路图2-4 时钟电路时钟模块主要功能是时间设置,主要由DS1302芯片实现,它通过串行方式与单片机进行数据传送,能够向单片机提供包括秒、分、时、日、月、年等在内的实时时间信息,并可对月末日期、闰年天数自动进行调整;它还拥有用于主电源和备份电源的双电源引脚,在主电源关闭的情况下,也能保持时钟的连续运行。另外,它还能提供31字节的用于高速数据暂存的RAM。鉴于上述特点,DS1302已在许多单片机系统中得到应用,为系统提供所需的实时时钟信息。2.3.3 物体感应模块1. NE555概述NE555是属于555系列的计时IC的其中的一种型号,555系列IC的接脚功能及运用都是相容的,只是型号不同的因其价格不同其稳定度、省电、可产生的振荡频率也不大相同;而555是一个用途很广且相当普遍的计时IC,只需少数的电阻和电容,便可产生数位电路所需的各种不同频率之脉冲信号。 NE555的特点有:(1)只需简单的电阻器、电容器,即可完成特定的振荡延时作用。其延时范围极广,可由几微秒至几小时之久。(2)它的操作电源电压范围极大,可与TTL,CMOS等逻辑电路配合,也就是它的输出准位及输入触发准位,均能与这些逻辑系列的高、低态组合。(3)其输出端的供给电流大,可直接推动多种自动控制的负载。(4)它的计时精确度高、温度稳定度佳,且价格便宜。2. 555定时器的电路结构与功能555定时器是一种多用途的数字模拟混合集成电路,利用它能极方便地构成施密特触发器、单稳态触发器和多谐振荡器等。由于使用灵活、方便,所以555定时器在波形的产生与变换、测量与控制、家用电器、电子玩具等许多领域中都得到了应用。555的电路结构如图: 图2-5 555内部电路结构图555的引脚功能如下:1脚,(接地),地线(或共同接地),通常被连接到电路共同接地。2脚,(触发点),这个脚位是触发NE555使其启动它的时间周期。触发信号上缘电压须大于2/3 VCC,下缘须低于1/3 VCC 。3脚,(输出),当时间周期开始555的输出脚位,移至比电源电压少1.7伏的高电位。周期的结束输出回到O伏左右的低电位。于高电位时的最大输出电流大约200 mA 。4脚,(复位),一个低逻辑电位送至这个脚位时会重置定时器和使输出回到一个低电位。它通常被接到正电源或忽略不用。5 脚,(控制),这个接脚准许由外部电压改变触发和闸限电压。当计时器经营在稳定或振荡的运作方式下,这时输入能用来改变或调整输出频率。6脚,(重置锁定),Pin 6重置锁定并使输出呈低态。当这个接脚的电压从1/3 VCC电压以下移至2/3 VCC以上时启动这个动作。7脚,(放电),这个接脚和主要的输出接脚有相同的电流输出能力,当输出为ON时为LOW,对地为低阻抗,当输出为OFF时为HIGH,对地为高阻抗。8 脚,(V +) ,这是555个计时器IC的正电源电压端。供应电压的范围是+4.5伏特(最小值)至+16伏特(最大值)。3. 红外对管原理直流驱动红外探测器电路的设计与参数电路如下图所示。W1和R1及D1成简单直流发光二极管驱动电路,调节W1可以改变发光管的发光光强,从而调节探测距离,NE555及其外围原件构成施密特触发器,其触发电平可通过W2调制,接收管D2和电阻R2构成光电检测电路。通过NE555第3脚输出的TTL电平可以直接驱动单片机I/O口。由于NE555输出信号为TTL电平,单片机检测方便。图2-6 直流驱动红外探测器电路2.3.4 1602液晶显示模块:显示部分由液晶显示器取代普通的数码管完成。电路图如图2-7 所示,VEE液晶显示偏压信号,VSS接地,VDD接电源。RS为数据命令选择端,RW为读写选择端,E端为使能端。D0-D7为8位双向数据线。图2-7 液晶显示电路第三章 主要器件介绍3.1 AT89C52单片机AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。3.1.1 主要功能特性1.兼容MCS51指令系统;2.8k可反复擦写(大于1000次)Flash ROM;3.32个双向I/O口;4.256x8bit内部RAM;5.3个16位可编程定时/计数器中断;6.时钟频率0-24MHz;7.2个串行中断,可编程UART串行通道;8.2个外部中断源,共8个中断源;9.2个读写中断口线,3级加密位;10.低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;11.有PDIP、PQFP及PLCC等几种封装形式,以适应不同产品的需求。3.1.2 引脚功能及管脚电压图3-1 PDIP封装的AT89C52引脚图AT89C52为8位通用处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。P0P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(3239脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。3.2 DS1302芯片3.2.1 引脚功能DS1302的引脚功能图:图3-2 DS1302封装图DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),SCLK为时钟输入端。3.2.2 工作原理DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。3.2.3 数据输入输出在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。3.2.4 寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。3.3 1602液晶显示器3.3.1 1602液晶概述液晶是一种高分子材料,因为其特殊的物理、化学、光学特性,被广泛应用于轻薄显示器上。本系统显示模块采用了LCD1602液晶显示器每行能够显示16个字符,可以显示两行。主要实现系统时间设定,灯的开关时间的功能,系统状态显示。3.3.2 寄存器选择控制表表3-1 寄存器选择控制表RSR/W操作说明00写入指令寄存器(清除屏等)01读busy flag(DB7),以及读取位址计数器(DB0DB6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据注:关于E=H脉冲开始时初始化E为0,然后置E为1,再清0。busy flag(DB7):在此位为被清除为0时,LCD将无法再处理其他的指令要求。3.3.3 管脚功能1602字符型LCD是通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线,VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,如表3-2所示。表3-2 1602 LCD液晶屏的引脚功能引脚符号功能说明1VSS一般接地2VDD接电源(+5v)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5R/WR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6EE(或EN)端为使能(enable)端,下降沿使能。7DB0低4位三态、 双向数据总线 0位(最低位)8DB1低4位三态、双向数据总线 1位9DB2低4位三态、双向数据总线 2位10DB3低4位三态、双向数据总线 3位11DB4高4位三态、双向数据总线 4位12DB5高4位三态、双向数据总线 5位13DB6高4位三态、双向数据总线 6位14DB7高4位三态、双向数据总线7位(最高位)(也是busy flag)15BLA背光电源正极16BLK背光电源负极第四章 软件设计与调试4.1 系统设计思路本软件系统共包括主程序部分,物体感应部分,按键设定部分,显示部分。通过DS1302时钟芯片将实时时钟信息输入到单片机,单片机将从时钟芯片所读信息与单片机中所设定的亮灭灯时间相对比,再参考外部总控制端确定路灯功能的开启与否。在确定路灯功能开启的前提下,外部中断0、外部中断1与查询端口确定交通状态。再由单片机控制两盏路灯的亮灭状态。4.2 系统各部分子程序设计4.2.1 主程序设计主程序设计主要包括函数初始化部分,红外感应部分和按键扫描部分。其中红外感应部分采用了两个外部中断和一个查询。程序流程图如图4-1。图4-1 主程序流程图4.2.2 红外中断与查询子程序设计4.2.2.1 红外中断子程序中断子程序主要包括读取DS1302的时钟信息和设置的时钟信息相对比和对路灯方向上的判断两个方面。程序流程图如图4-2。图4-2 中断子程序流程图void INT_1() interrupt 2H2+; /H2红外线2标志位if(H2=2)H2=0;if(H2=1)IR_LED1=0; IR_LED2=1;elseIR_LED1=1; IR_LED2=0;LED1=time&IR_LED1;/时间控制&红外控制LED2=time&IR_LED2;4.2.2.2 红外查询部分子程序void IR_Inquiry()查询部分 if(H3=1) delay1(5); 延时5msif(H3=1) 红外查询3IR_LED2=IR_LED2; 控制LED灯2发生电平偏转 LED2=time&IR_LED2;时间控制&红外控制4.2.3 按键设定程序设计按键设定程序是整个系统的核心,其中包括了对系统时间的设定,开关灯设定,总控制端设定等。流程图如4-3。开始按K2按K3按K4按K1按K4设置初始时间进入路灯开关灯时间设置界面系统时间调整模式按K2按K1时间加时间减路灯控制开/路灯控制关图4-3 按键设定流程图4.3 整体系统的软件调试MCS-51系列单片机常用的开发编程软件是KEIL软件,该软件能对C和汇编语言进行语言编译。同时能够在KEIL软件商之间调试程序错误并且支持模块化设计, 缩短了开发周期,减少了开发难度。通过KEIL编译生成得HEX文件能在Proteus上直接仿真,能减少硬件调试中的风险和难度。通常单片机程序开发流程有以下步骤:1.通过对项目研究,对项目的要求进行模块化分类,设计程序流程图,再对具体模块选择不同的算法,在KEIL中编写出程序。2.通过编译查错,在KEIL中对程序中出现的语法和逻辑的错误进行修改生成HEX文件,在Proteus中画出硬件原理图仿真调试。4.4 整体系统的仿真结果分析(1)仿真实现了正常的时钟功能,如图4-4所示。按下K1,K2,K3,K4开始后,再放开K1,K2设置初始时间,K3为模式调整键,K2和K1为加减键,实现正常时钟显示功能。图4-4 正常时钟显示仿真图(2)仿真实现了定时开关灯的功能,如图4-5所示。按下K1,K2,K3,K4开始后,放开K4设置路灯开关灯时间,实现定时开关功能。图4-5 定时开关灯仿真图(3)仿真实现了根据环境明暗变化,自动开灯和关灯,如图4-6所示。按H3,延时5ms,再次按H3键,系统检测到天黑,LED2灯亮;按H3键,系统检测到白天,LED2灯灭。图4-6 环境变化仿真图(4)仿真实现了根据交通情况自动调节亮灯状态:当汽车靠近路灯时,路灯能自动点亮;当汽车远离时,路灯自动熄灭,如图4-7和图4-8所示。按下INT0键,表示可移动物体M由左至右到达S点时(见图1-1),LED1灯亮;按下INT1键,表示当物体M到达B点时,灯1灭,灯2亮;若物体M由右至左移动时,则亮灯次序与上相反。图4-7 物体到达S点时仿真图图4-8 物体到达B点时仿真图附录 主程序设计void main () init_main();/主程序初始化 while(1) /- IR_Inquiry(); if(!K1) if(!K2) set_ds1302(0x80,init2,7); /设置初始时间,日期,年月 if(!K4) alarm_time(); /K4键设定开关灯时间 if(alarm_flag) /alarm_flag=1,开定时 write_position(2,16); lcd_wdat(0x00); /显示自定义字符小灯泡 /- if(!K4) alarm_flag=alarm_flag; if(alarm_flag) /alarm_flag=1,开定时 write_position(2,16); lcd_wdat(0x00); /显示自定义字符小灯 else write_position(2,16); lcd_wdat(0x20); /显示自定义字符小灯 /- if(!K3&flag) /开始设定时间 write_ds1302(0x8e,0x00); /写保护控制字,允许写 write_ds1302(0x80,0x80); /停止时钟运行 write_ds1302(0x8e,0x80); /写保护控制字,禁止写 year=1; count=(init6&0xf0)4)*10+(init6&0x0f); /读当前年数据 while(year) /设定年 key_set(99,1,1); if(!K3) Set_W1302(0x8c); Set_place

温馨提示

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

最新文档

评论

0/150

提交评论