




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2013届学生毕业设计材料(四)学 生 毕 业 设计课题名称城市智能路灯控制系统设计姓 名欧敏辉学 号091250205学 院通信与电子工程学院专 业电子科学与技术指导教师胡赛纯 副教授 2013年06月01日湖南城市学院本科毕业设计诚信声明本人郑重声明:所呈交的本科毕业设计,是本人在指导老师的指导下,独立进行,设计成果和制作的产品实物不存在知识产权争议。对本设计的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 本科毕业设计作者签名: 年 月 日目 录摘要.1关键词.1引言.21总体设计2 1.1 功能要求及技术指标2 1.2总体设计方案32 硬件设计4 2.1 硬件电路总原理图4 2.2 主要硬件模块原理图及相关说明5 2.2.1 单片机最小系统和DS1302模块电路5 2.2.2 光敏/声敏控制开关以及LED电路7 2.2.3 串口通信电路和电源模块电路8 2.3 硬件电路PCB图93 软件设计10 3.1 主程序流程及相关说明10 3.2 各硬件模块驱动程序流程及相关说明12 3.2.1 初始模式驱动程序12 3.2.2 白天系统工作模式驱动程序.13 3.2.3 上半夜系统工作模式驱动程序13 3.2.4 下半夜系统工作模式驱动程序144测试结果及分析145 调试与使用说明17参考文献21致谢21附录22城市智能路灯控制系统设计 摘要:本文研究的城市智能路灯控制系统,是针对我国在城市照明上所存在的巨大的能源消耗,而开发的基于单片机的新型节能控制系统。集光敏控制、声敏控制、节能控制、报警控制于一体。智能路灯节能控制系统利用STC89C52为核心芯片,通过对时间的定时控制来控制路灯,通过光敏和声敏开关来控制突发情况,以及与下半夜进入节能模式相结合,利用LED作为模拟路灯,并且配合报警模块实现智能路灯控制系统。 关键词:STC89C52;LED路灯;光敏开关;声敏开关引言 近年来,随着我国经济改革的深入发展和信息化时代的深入,路灯的发展给城市带来了明亮和方便。路灯是城市形象的代表,也是城市交通安全的保障,给人民的生活带来特别大的便利。但随着路灯的发展城市路灯的维护量增大,带来维护人员不足的问题,使得路灯故障时不能得到及时的修复以致造成人民生活的不便。维护费用也随之增加,社会成本过高,电费支出过多,财政承担相对困难,增加了政府的处理能力,滞后经济和社会的发展。因此迫切需要解决此问题,故针对这种情况本人设计并制作了这一节能智能型的模拟路灯控制系统,其主要价值在于能更好的节能与监测,在很多方面给人们带来了方便,给维护人员带来便利,希望此系统能在现实中发挥其潜在的价值。 在社会不断发展的今天,保证道路照明设备的有效性与安全性,得到了越来越多的重视。国际社会也对此做出了很多改进,对照明灯以及智能恒压控制方面做出了重大贡献。目前包括就近的中科恒源公司做的集太阳能和风能于一体的新能源节能路灯,江苏新思维光电有限公司,做专业的LED户外照明,高杆灯和交通灯灯。这足以说明这片领域是有很大的社会价值和商业前景。城市亮化工程是城市现代化建设的重要内容,为营造优美舒适的投资环境,提升城市形象,提高路灯系统的管理水平,在满足城市道路照明要求的同时,实现智能化的节能照明,在客观上有迫切要求,也是解决城市美化与能源紧张最佳选择。 课题设计的主要研究内容是针对目前路灯照明中存在的问题,结合国内外各种路灯节能的研究成果,设计一种基于单片机控制的节能路灯系统。通过单片机的功能多样性实现本课题的基本要求。1总体设计1.1 功能要求及技术指标 当有工作人员人为控制路灯的开关时,路灯随即被打开和关闭。通过LCD1602显示屏显示当前时钟时间。通过设置,可以设定定时开路灯时间,和定时关路灯时间。当时间达到设定的开路灯时,则路灯自动开启。当时间达到路灯的关闭时间时,路灯则自动关闭。先通过光照计检测15LUX的光照,15LUX是一般规定的路灯最低开启光照强度,来设定的规定的开灯光照,当白天的光照低于15LUX的光照强度时,可以通过光敏控制开关感应到光线强度的变化,自动开启路灯,更好的实现对路灯的控制。当午夜12:00时,系统自动开启节能模式,采用路灯的间隔亮灭。不会给交通照明带来干扰,也可以节约一半的能源。当有车辆和行人经过的时候,通过声敏控制开关检测到声音。通过电压的变化来将节能模式下灭掉的灯重新点亮。可以方便车辆和行人通行。该毕业设计课题所用的电源电压为+5V,利用USB作为电源,通过LM7805将电流转换成+5V电压作为电压源。不管是在前半夜的正常开灯的模式下,还是在后半夜的节能模式下,当有灯泡坏了的时候。系统通过蜂鸣器会自动报警,并在LCD1602上面显“Lamp Bad ”。便于提醒工作人员及时维修,以免因耽误时间而造成不必要的损失。实现节能,高效相结合的现代城市智能路灯控制系统。1.2总体设计方案 本系统主要由STC89C52单片机控制电路、时钟电路、按键输入电路、光控开关电路、声控开关电路、二极管模拟路灯显示电路、报警电路,液晶显示,串口输入电路、线性电源电路等组成。单片机控制电路主要负责对时钟的设定和控制、路灯的亮灭、光控开关和声控开关的开启和下半夜路灯的控制信息进行的处理。通过DS1302时间模块输出整个系统的时序,是整个系统实现的前提。LCD显示的主要是根据季节的变化设定的开时间和关时间,以及报警的提示“Lamp Bad”。按键电路主要包括人工开启和关闭路灯,当前时钟的设置,还有就是开灯时间的设置和关灯时间的设置。光控开关主要负责的是在白天光照强度低于15LUX时的情况下来开启路灯,用于实现无人控制的的突发事件。进入下半夜,系统通过对定时器时间做出判断,通过对I/O口的设定来开启节能模式。此时的声控开关才有作用,主要负责的是当有行人或者车辆经过的时候开启节能模式下灭掉的路灯。串口输入电路负责的是把源程序加载到单片机中,通过连接计算机和串口来用于加载程序和进行修改再加载。电源电路是用USB作为电源输出口,连接到所设计的系统,为系统的运行供电。报警器主要负责的是报警,提醒维护人员相关灯出现了故障,请及时维修,这样可以在第一时间减少维修,减少交通隐患。系统整体框图如图1.1所示。 系统运行后,LCD上面会显示相关的初始开关灯设置时间。通过对按键的输入,设置开启路灯时间和关闭路灯时间,再通过确认按键确认好输入的值。系统进行时序运行。白天如果没有突发黑暗的时候,就会通过这个定时设置在傍晚的时候开启路灯。在时钟运行到了十二点的时候,系统自动开启节能模式照明。此时因为人流量和车流量是很少的时候,全部开启路灯就造成了不必要的浪费了,采用间隔亮灭灯,也可以达到照明的效果。当有行人或者车辆经过的时候,系统通过声敏控制开关,来开启节能模式下灭掉的灯,这样可以避免因为光线暗而造成的交通事故,而且被点亮的灯可以延时5秒,当五秒过后没有车辆了,灯又会重新恢复节能模式,当仍有行人和车辆的时候,灯会继续亮的。继而这样运行下去,到了第二天早上,通过开始设定的关灯时间来关闭路灯,此时又恢复了普通状态,声控开关处于关闭状态。直至下一个傍晚再开启路灯,实现这样的循环。通过按键的输入,随着四季的关照程度不同,可以设定不同的开关灯时间,而不是固定式的时间,减少一些能源浪费。图1.1 系统整体框图2 硬件设计2.1 硬件电路总原理图系统硬件部分由MCU、DS1302与按键控制模块、LCD显示模块、按键控制模块、光敏/声敏控制模块、报警模块、LED模拟路灯模块、USB串口及USB接口电路模块,分各模块单独设计电路,硬件系统总电路图如图2.1所示。图2.1 硬件总电路图2.2 主要硬件模块原理图及相关说明2.2.1 单片机最小系统和DS1302模块电路单片机最小系统为整个系统的核心,控制着整个系统的运行,让单片机稳定的运行是非常必须的,单片机最小系统原理图如图2.2所示。单片机最小系统控制部分主要由STC89C52、晶振电路、复位电路等电路组成,是每个用单片机系统实现的必须的外围电路1。主要通过一个按键控制单片机的复位,这样接可以更好的实现操作人员的复位。避免系统因为程序或者操作失误引起的进入死循环,或者卡机状态。电压接的是+5V,对于本设计,全部采用的电源都是+5V。晶振采用是是12MHZ频率的晶振,因为这个频率的晶振可以实现每条指令需要的时间是2us。便于对时间的计算和统计,特别适用于时序电路。图2.2 MCU和DS18B20模块电路DS1302 是DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31 字节静态RAM,通过简单的串行接口与单片机进行通信实时时钟/日历电路.提供秒分时日日期。月年的信息,每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM 指示决定采用24 或12 小时格式.DS1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个接口线:1 RES 复位,2 I/O 数据线,3 SCLK串行时钟。时钟/RAM 的读/写数据以一个字节或多达31 个字节的字符组方式通信。DS1302 工作时功耗很低,保持数据和时钟信息时功率小于1mW。DS1302 是由DS1202 改进而来2,增加了以下的特性。双电源管脚用于主电源和备份电源供应Vcc1,为可编程涓流充电电源附加七个字节存储器。本设计课题为DS1302采用的时钟芯片是3.2768MHZ的晶振。图2.3 DS1302封装2.2.2 光敏/声敏控制开关以及LED电路光敏开关采用了KC_IRS模块和声敏开关采用了冲击声效传感器。整个模块电路如图2.4所示。图2.4光敏/声敏控制开关以及LED电路KC_IRS模块是一种可编程的模拟传感器比较器检测模块3,可直接代替传统的LM393等类似的比较所检测的模拟电压值。该模块软件设置可调精度、检测范围、检测距离、预设检测环境等模式。采用TTL电平输出,低电平有效输出。预设值一经设定,KC_IRS模块永远记录预设值。这种模块的优点是红外类模拟传感器软件设置了滤波防干扰处理。DAT是信号输出引脚,而STG是设置信号输入引脚。通过程序实现在光照强度低于15LUX时,开启路灯。非运算放大器处理检测环境噪声的冲击声效传感器,声效信号检测稳定。冲击声效传感器提供了一种手段,以添加到项目中的噪声控制和响应噪声,如一个鼓掌的双手。通过主板上的麦克风,该传感器检测到变化的分贝,这将触发一个高电平脉冲被发送通过该传感器的信号管脚。这种变化可以被任何微控制器的I/O引脚所读取。冲击声效传感器的最大探测距离为3米。但是如果你使用在此区域的传感器在当前环境因素里有触发错误的读数,可在该范围内调节板上电位器以缩短检测范围。咪头前级带三极管放大,将放大后的信号送入处理器,进行比较和延时稳定滤波输出,当检测到环境下的冲击声效时,板上红色LED将点亮。若用示波器侦测SIG脚,可查看高脉冲信号。若检测人谈话声,需要调节电位器,可侦测到连续的方波脉冲,同时红色发光管将以当前的声效分贝值进行闪烁,输出信号是数字量,可用程序直接像检测按键一样或用外中断,脉冲计数处理即可。也是类似于光敏开关的作用来控制路灯的开启。2.2.3 串口通信电路和电源模块电路 串口电路主要是组成是串口驱动芯片CH340T,本设计以USB作为供电电源。图2.5串口通信和电源模块电路 CH340T是一个USB总线的转接芯片,实现USB转串口、USB转IrDA红外或者USB转打印口4。在串口方式下,CH340T提供常用的MODEM联络信号,用于计算机扩展异步串口,或者将普通的串口设备直接升级到USB总线。而电路所用的电源由USB提供,不需要通变压器把市电或者15V电源源通过LM7805转化为+5V的电压。很方便快捷的通过计算机串口进行调试。2.3 硬件电路PCB图2.6 核心模块PCB图2.7 主模块PCB图3 软件设计3.1 主程序流程及相关说明本系统的软件由集成开发工具KeiluVision专业版开发。软件主程序流程图如图3.1所示5。本系统的工作过程大致为:系统开机后,LCD显示屏显示当前时间,对于该系统调试,先设置好当前时间。根据北京时间设定,这作为开路灯和关路灯的时间参照。再设置开启路灯时间和关闭路灯时间,这些都可以直接在LCD1602上显示。LCD1602相当于一个电子表,总的程序就是围绕着这个时序运转的。在白天,是属于关灯的时间,但是当光照强度低于15LUX的时候,通过光敏开关感应到光强的变化,路灯就自动开启。方便白天川流不息的车辆和行人。也可以在白天人为开启路灯,当有路灯坏了的时候,蜂鸣器会报警而且会在LCD1602上面显示“Lamp Bad”。在傍晚到了快要开灯的时间,根据之前设定的开灯时间,路灯自动开启路灯,这个时候处于正常照明时间。当晚上十二点的时候,系统自动开启节能模式,这个时候的人和车辆都是很少的,因为这个时候人们普遍都休息了,所以按照之前那样正常照明模式开启全部路灯,很浪费电也很没有必要。所以采用相间隔亮灭的方式来节能,能节约一半的能源。这样不会给道路照明带来大的问题,配合着声敏控制开关,当有行人和车辆经过的时候,声敏开关检测到分贝的变化,就开启因为节能灭掉的灯,这样如前半夜一样,给交通带来方便,当车辆已经过了的时候,灯又会恢复成节能模式。当夜晚有灯坏了的时候,也会如白天一样报警,如果此时有工作人员值班,也能及时的发现问题。可以尽早安排第二天早上去维修,及时排除故障。此课程设计的创新之处就是白天当关照强度低于15LUX的时候,路灯会自动开启,方便车辆和行人通行6。十二点之后的节能模式也是创新点,这个可以节约特别多的能源,并且又不只是那样,通过声敏开关,有行人和车辆经过的时候,系统自动开启,所以完全不会对交通和照明有任何影响,这样做到了节能和方便快捷于一起,符合新型的路灯系统的要求。不足之处是虽然该系统能实现报警,并且可以在1602上面显示,但是只显示有灯泡坏了,没有考虑到城市的路灯那么多,单纯的报警和显示坏了,还是不能精确到哪一盏灯,这给维修和排查带来一些不便,自己将更加完善去实现。图3.1 主程序流程图3.2 各硬件模块驱动程序流程及相关说明3.2.1 初始模式驱动程序对于每个系统都有其初始程序和模块,系统的初始模块是系统运行的前提。该系统采用的是串行传输数据,将源程序通过串行口下载到单片机中。系统上电后进行复位。随即在1602上面会显示初始设定时钟值,工作人员可以通过“SET”来设定当前时间,按一下是设置当前时间,按两下“SET”,是用来设定定时开路灯的时间,按下三下是设置定时关路灯时间。总共有四个按键,第三个是设置时按键,第四个是设置分按键。图3.2 初始模式驱动程序流程图初始化程序流程过程如图3.2 所示。将源程序在Keil中仿真生成HEX文件,把这个文件通过串口电路烧写到单片机中,本设计USB串口既是串口线路,也是电源电路,通过USB供电,以供整个系统运行。LCD1602是整个系统的显示模块,通过显示屏显示当前时间,并设置当前时间、开路灯时间、关路灯时间。3.2.2 白天系统工作模式驱动程序 图3.3 白天系统工作模式驱动程序流程图白天系统工作模式是整个系统的运行的有创意的一个点,就是光敏控制开关的那个模块。当清晨,单片机的检测时间到了定时关路灯时间,此时路灯全部关闭。在整个白天时钟运行中,除了工作人员检测是否有灯泡坏了,一般都不会亮灯。当光照强度低于15LUX的时候,通过光敏控制开关,检测到光线强度的变化,系统则自动开启路灯系统。当光照强度又恢复的时候,光敏检测到光照强度超过15LUX时,则关闭路灯。不会造成浪费也会给交通带来更安全的保障。3.2.3 上半夜系统工作模式驱动程序图3.4 上半夜系统工作模式驱动程序流程图上半夜的模式就是现在很多城市的普通照明方式,这种方式在上半夜的时候很适用,那个时候的人流量和车流量特别的多。这个时候需要光照特别强,以便于交通安全,此时的交通安全是最重要的,当有路灯坏掉的时候,也会及时报警,这个时候一般情况下还有工作人员在值班,可以通过路况信息提醒广大的司机用户注意安全8。3.2.4 下半夜系统工作模式驱动程序下半夜模式是该设计最大的亮点,和传统的照明模式不同6。设计的更加节能化,传统的路灯系统,上半夜和下半夜都是一样的,下半夜的时候其实是人特别需要休息的时候,这个时候的车流量和人流量是很少的,如果仍全部开启路灯,造成了太多的能源浪费,我们现在一直都倡导的是低碳和节能的生活,所以传统的照明模式已经很难满足我们的要求了。所以采用的是在下半夜点亮相间隔的路灯,如点亮一三五七九,而关闭二四六八十,这样不但能节约一半的能源,而且也不会给照明带来大的影响。但是在节能的同时不能给交通带来安全隐患,安全问题是最重要的问题,所以在设计添加了一个声敏控制开关,当有行人和车辆经过的时候,通过道路分贝的变化,声敏开关检测到分贝变化,从而开启节能模式下灭掉的灯,使道路的照明如前半夜一样亮,确保交通安全保障9。图3.5 下半夜系统工作模式驱动程序流程图4测试结果及分析该设计接通电源后,会在1602上面显示程序设置初始值,如图4.1所示。通过按下“SET”键,来设定当前时间,如图4.2所示。按下两次“SET”,是设定开灯时间,如图4.3所示。按下三次“SET”来设定关灯时间,如图4.4所示。这些都是系统的初始化,是系统运行的前提。通过对时间的设定,根据对四季不同的光照的强度来设定时间。作为主控制室,1602又相当于一个数字时钟。该设计模块的电源电压是+5V。通过USB来作为电压源。 图4.1 当前时间图 图4.2 设定时间图 图4.3 设定开灯时间图 图4.4 设定关灯时间图 每一个系统都有手动控制开关,这是一个系统最简单的功能,如图4.5所示。通过手动开关,在白天可以通过手动开关开启路灯,看蜂鸣器是否报警和1602是否有“Lamp Bad”的字样,这样的话就知道是否有灯坏了,可以及时派人去维修,不让故障拖延,造成安全隐患。在白天,如果光照低于15LUX时,此时光照强度很暗,此时如果没有工作人员及时开路灯,会是很危险的。通过光敏控制开关,感应光的强度,会及时开启路灯,给道路照明,方便车辆和行人通行,如图4.6所示。到了傍晚的时候,时间到达了定时开路灯的时候,会开启路灯,如图4.7所示。 图4.5 白天手动开灯图 图4.6 白天黑暗天气光敏开关开灯 图4.7 开灯后的正常模式图 图4.8 节能模式图 程序设置在12:00以后,开启节能模式,节能模式就是在传统的照明模式上做的一些小创新,采用相间隔的照明方式。在这之后的下半夜,路上的行人和车流量已经很少了,这个时候再按照传统的照明方式很浪费电。这个时候如果采用相间隔的方式,根据光学的知识和光的照明程度,是不会给照明带来大的问题的。虽然只是简单的相间隔亮灭,但是对于一个很大的城市来说,可以节约一半的能源做到尽可能大的节能,如图4.8所示。道路安全问题是我们城市路灯最主要的负责的问题,所以不能一味的在强调节能,而忽视了道路安全问题,虽然节能模式下的光照足以供整个城市道路运行,但是还是存在一定的安全隐患。于是设定一个声敏控制开关,当有行人和车辆经过的时候,通过道路分贝的变化反应到声敏中,就会启动节能模式下灭掉的灯。这样可以确保道路足够的明亮来方便行人和车辆安全通行。如图4.9,是有车辆或行人经过的时候,声敏感应到声音变化,然后点亮4.8图下灭掉的路灯。在任何一个模式或时间段下,只要有路灯坏了,系统通过蜂鸣器报警和通过1602显示“Lamp Bad”的字样,如图4.10所示。 图4.9 节能模式下声敏开关开灯图 图4.10 路灯坏了时候1602的显示图5 调试与使用说明该数控稳压电源主要由单片机STC89C52、LCD1602液晶显示器、按键、电源电路+5V、时钟电路、模拟路灯电路、声敏控制开关、光敏控制开关、报警电路10。实验样机如图5.1所示.图5.1 主要硬件模块组成分块图 (1) 检查电路,看是否有未焊接好的元器件,有的话就焊接好。(2) 检查电源与地是否有短路的,无短路才可以进行下面的步骤。(3) 如电源和地正常时才可以通电检测。(4) 将单片机的主控板和主要应用板想连接。主控板包括单片机的最小系统和串口电路。如图5.1所示,大的模块是主要应用板模块,小的模块是单片机的主控模块。通过两个串接接口连接起来。 图5.2 主控硬件模块图 图5.3 硬件电路模块图(5) 连接串口到计算机的USB,通过相应的软件把生成的HEX文件加载到单片机中,按下复位,程序烧写完毕。(6) 通电,指示灯亮红灯,1602上面有时间初始值和“City Lamp sys”,即城市路灯系统。整个系统是通过USB供电作为电源,为+5V。当检测到这些的时候,说明系统已经是初始化了,可以进行下面的步骤了。(7) 按下“SET”按键,设定好当前时间,开灯时间和关灯时间。一般情况下,程序会按照这个时间来开关灯。对于光敏和声敏是该系统的外接电路,在操作的过程中,在白天光照强度低于15LUX的时候,光敏开关就会开启路灯。在晚上12:00过后,当有噪声(模拟的行人和车辆的声音),声敏开关就会开启节能模式下灭掉的灯。 5.4 Keil软件中程序仿真图5.5生成HEX文件图 图5.4 硬件电路模块分区表示图 图5.5 主控电路模块分区表示图本毕业设计是基于传统的路灯系统上建立起来的,实现了多方式控制路灯,达到节能、报警、高效的方式。结合光敏控制开关可以实现在白天光照强度低于15LUX时开启路灯。声敏控制开关可以实现在下半夜节能模式下,重新点亮路灯。这两种方式都可以开启路灯,给交通带来便利。但是本设计我觉得最大的不足之处就是当有路灯坏了的时候,LCD可以显示有灯坏了,也通过蜂鸣器报警,但是不能精确到那盏灯坏了。这给维修带来了一定的不方便性,因而存在些需要改进的地方。参考文献 1 蔡美琴, 张为民. MCS-51系列单片机系统及其应用M. 高等教育出版社, 2004: 13-45. 2 刘建清. 轻松玩转51单片机C语言M. 北京航空航天大学出版社, 2011: 255-269. 3 康华光. 电子技术基础 模拟部分M. 北京: 高等教育出版社, 1998: 98-123. 4 余锡存. 单片机原理与接口技术M. 西安: 西安电子科技大学出版社, 2003: 35-62 . 5 杜军, 邱瑞学. PL2101在路灯控制系统中的应用J. 国外电子元器件. 2003. 9 :33-34. 6 熊涛, 丁辛芳, 陈德英. 一种新颖的照明控制电路J. 传感器技术, 1999, 18 (5): 50-53. 7 王海伦, 叶冬芬. 单片机控制的照明智能控制系统J. 电气时代, 2005, (1): 121-122. 8 谭浩强. C程序设计M. 北京: 清华大学出版社, 2007: 145-169. 9 严蔚敏, 吴伟明. 数据结构(C)语言版)M. 北京: 清华大学出版社, 2010: 256-287. 10 V. Yu. Teplov, A.V.Anisimov. Thermostatting System Using a Single-Chip Microcomputer and Thermoelectric Modules Based on the Peltier EffectJ , 2002, 27(6): 67-104.致谢本次毕业设计的顺利完成,深深的激励着我。从课题的选择到项目的最终完成,是在我的指导老师胡赛纯的亲切关怀和悉心指导下完成的。她严肃的科学态度,严谨的治都始终给予我细心的指导和不懈的支持。老师在学业上给我以精心指导、也特别关注和建议我们去实践和锻炼。在此谨向胡老师致以诚挚的谢意和崇高的敬意!其次,感谢通信与电子工程学院实验室的所有老师,感谢您们给我提供一个设备充足、资料齐全、网络方便的开放性实验室。再次,要感谢科瑞特的老师们,他们为我的设计提供了很多参考资料,让我能克服一个个困难,并不断完善自己的设计。最后,对培育和教导过我的母校和老师、鼓励和帮助我的所有人再次致以最诚挚的感谢和最衷心的祝福!附录/开灯时间必须大小关灯时间 否则出错#include #define uint unsigned int#define uchar unsigned charsbit key_b = P24;sbit key_m = P25;sbit key_j = P26;/sbit key_z = P27;/-sbit RS = P11;sbit EN = P10;#define DATA P0sbit beep = P23;sbit CLK = P22;sbit DAT = P21;sbit CS = P20;sbit RG = P13;sbit Voice = P12;sbit LED1 = P36;sbit check1 = P37;sbit LED2 = P34;sbit check2 = P35;sbit LED3 = P32;sbit check3 = P33;sbit LED4 = P30;sbit check4 = P31;sbit LED5 = P16;sbit check5 = P17;sbit LED6 = P14;sbit check6 = P15;uchar sec,min,hour,on_hour = 17,off_hour = 6,on_min = 20,off_min = 30;uchar DSsec;bit FF = 0;bit key_en;uchar mode;bit flag,Vf,bad;/*备注:以下是DS1302 底层驱动*/延时函数void delay_DS(int num)while(num-);/写一个字节void write_byte(uchar dat_)uchar i;CLK = 0;for(i=0;i= 1;/读一个字节uchar read_byte()uchar i,dat_;for(i=0;i= 1;if(DAT = 1)dat_ |= 0x80;CLK = 1;delay_DS(2);CLK = 0;delay_DS(2);return dat_;/先写地址,再写数据void write_data(uchar cmd,uchar dat_)CS = 0;CLK = 0;CS = 1;write_byte(cmd);write_byte(dat_);CLK = 1;CS = 0; /先写地址,再读数据uchar read_data(uchar cmd)uchar dat_;CS = 0;CLK = 0;CS = 1;write_byte(cmd);dat_ = read_byte();CLK = 1;CS = 0;/dat_ = (dat_& 0x7F) 4) * 10 + (dat_& 0x0F);/将读出数据转化return(dat_ / 16) * 10 + ( dat_ % 16);/十进制返回/returndat_;/一uchar asctobcd(uchar cha) /10转16 return (cha / 10) * 16 + (cha % 10); /*函数名:初始DS1302第一工作的时间调 用:init_set1302()参 数:无返回值:无结 果:备 注:*/void init_set1302() DSsec = read_data(0x81);if(DSsec 0x59) /读取秒高位为1时 说明时间停止了 则初始化一次开启时钟write_data(0x8e,0x00);/写控制字,取消保护write_data(0x80,0x53);/秒 秒第七位为0 开启时钟 否则关闭write_data(0x82,0x56);/分 write_data(0x84,0x16);/时 24小时制write_data(0x90,0xa5);/a5 R22K电阻 a6充电1.075mA 1010 01 10 开启充电一个二极管R24K电阻write_data(0x8e,0x80);/控制加保护elsewrite_data(0x8e,0x00);/写控制字,取消保护write_data(0x80,DSsec);/秒 秒第七位为0 开启时钟 否则关闭write_data(0x90,0xa5);/a5 R22K电阻 a6充电1.075mA 1010 01 10 开启充电一个二极管R24K电阻write_data(0x8e,0x80);/控制加保护void delay(uint x)uint a,b;for(a=x;a0;a-)for(b=10;b0;b-); void lcd_write_com(uchar com) /些命令,RS=0DATA = com; RS = 0;EN = 0;delay(10);EN = 1;delay(10);EN = 0;void lcd_write_data(uchar dat) /写数据,RS=1DATA = dat;RS = 1;EN = 0;delay(10);EN = 1;delay(10);EN = 0;/*- 函数名:Set_xy_LCM () 功 能:设定显示坐标位置-*/void set_xy_lcd(unsigned char x,unsigned char y)unsigned char address;if(x = 0)address = 0x80 + y;/第一行else address = 0xc0 + y;/第二行lcd_write_com(address); /*- 函数名:Display_List_Char() 功 能:按指定位置显示一串字符 -*/void write_str_lcd(unsigned char x, unsigned char y, unsigned char *s)set_xy_lcd(x,y);while(*s)lcd_write_data(*s); s+;/*函数名:按指定位置显示一个字符调 用:Display_List_Char()参 数:x:行选择 (0、1)y:列选择(015) dat:需要写入LCM的一个数据返回值:无结 果:备 注:*/void write_char_lcd(unsigned char x, unsigned char y, unsigned char dat)set_xy_lcd(x,y);lcd_write_data(dat);void lcd_init()lcd_write_com(0x38);lcd_write_com(0x0c);lcd_write_com(0x06);void delay_nus(unsigned int i) /延时:i=12 ,i的最小延时单12 us i=i/10; while(-i); void delay_nms(unsigned int n) /延时n ms n=n+1; while(-n) delay_nus(900); /延时 1ms,同时进行补偿 void bee()char a;for(a = 0; a 50; a +)beep = beep;delay_nus(100);for(a = 0; a = 60)min = 0;temp = asctobcd(min);write_data(0x82,temp);else if(mode = 2) /开灯时间 if(+ on_min = 60)on_min = 0;else if(mode = 3) /关灯时间 if(+ off_min = 60)off_min = 0;while(key_z);if(key_j = 0)bee();delay_nms(10);if(key_j = 0) /hour +if(mode = 1) /时间设置if(+ hour = 24)hour = 0;temp = asctobcd(hour);write_data(0x84,temp);else if(mode = 2)/开灯时间 if(+ on_hour = 24)on_hour = 0;else if(mode = 3) /
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建三明市公路事业发展中心下属国有企业人员招聘1人笔试历年参考题库附带答案详解
- 2025牧原集团西北区域招聘2133人笔试历年参考题库附带答案详解
- 2025安徽华荣远诚人力资源服务集团有限公司派驻寿县楚晨城运公司保安经理及保安队长招聘及候选人笔试历年参考题库附带答案详解
- 2025四川巴中市恩阳区城乡建设投资集团有限公司子公司招聘7人笔试历年参考题库附带答案详解
- 2025内蒙古呼和浩特运营维管段招聘笔试历年参考题库附带答案详解
- 2025年延安通和电业有限责任公司招聘(5人)模拟试卷及参考答案详解一套
- 2025内蒙古首批事业单位“1+N”招聘2502名工作人员考前自测高频考点模拟试题附答案详解
- 2025广西农业科学院甘蔗研究所甘蔗生物固氮团队公开招聘1人考前自测高频考点模拟试题及答案详解(各地真题)
- 2025吉林省矿业集团有限责任公司遴选31人考前自测高频考点模拟试题及答案详解(历年真题)
- 2025吉林省地震局第二批次事业单位开招聘1人模拟试卷附答案详解(典型题)
- 金属热处理工测试考核试卷及答案
- 食品安全宣传培训会课件
- GB/T 21415-2025体外诊断医疗器械建立校准品、正确度控制物质和人体样品赋值的计量溯源性要求
- 患者走失应急演练脚本(2篇)
- 安徽省2025年公需科目培训测验答案(科目一)
- 高中数学-斐波那契数列与黄金分割教学设计
- 数据驱动的教育决策
- 农作物植保员职业技能竞赛题库及答案
- T梁湿接缝及横隔梁施工方案
- (完整)易制毒化学品使用管理责任书
- 石群邱关源电路课件(第8至16单元)白底
评论
0/150
提交评论