单片机路灯控制系统设计【毕业论文文献综述开题报告】解读.pdf

上传人:白大夫 文档编号:5478425 上传时间:2020-05-20 格式:PDF 页数:49 大小:930.44KB
返回 下载 相关 举报
单片机路灯控制系统设计【毕业论文文献综述开题报告】解读.pdf_第1页
第1页 / 共49页
单片机路灯控制系统设计【毕业论文文献综述开题报告】解读.pdf_第2页
第2页 / 共49页
单片机路灯控制系统设计【毕业论文文献综述开题报告】解读.pdf_第3页
第3页 / 共49页
单片机路灯控制系统设计【毕业论文文献综述开题报告】解读.pdf_第4页
第4页 / 共49页
单片机路灯控制系统设计【毕业论文文献综述开题报告】解读.pdf_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《单片机路灯控制系统设计【毕业论文文献综述开题报告】解读.pdf》由会员分享,可在线阅读,更多相关《单片机路灯控制系统设计【毕业论文文献综述开题报告】解读.pdf(49页珍藏版)》请在三一文库上搜索。

1、(2011 届) 毕业设计 题目:单片机路灯控制系统设计 姓名: 专业:电子信息工程 班级: 学号: 指导教师: 导师职称: 2011 年 4 月 28 日 I 单片机路灯控制系统设计 摘要 单片机路灯控制系统是一种新型智能控制系统,可根据季节交替引起的天气 变化和用户的不同需要,通过按键进行调节,能起到明显的节能效果。 该路灯控制系统设计主要包含硬件系统设计和软件系统设计。硬件系统主要 由时钟发生电路、电路控制电路、LCD显示电路、声光报警电路、键盘控制电路 和单片机控制电路等部分组成。 在时钟发生电路中, 采用低功耗实时时钟电路芯 片 DS1302 ,它可以对年、月、日、周日、时、分、秒进

2、行计时,计时后,经过 单片机的控制处理后从显示屏上将计时的数据显示出来。而路灯控制部分通过对 外部环境进行检测, 实现不同环境的不同操作, 从而实现不同功能。 软件部分主 要需结合硬件系统, 绘制程序流程图, 编写相应的程序, 使得单片机路灯系统能 智能,自动地运作路灯,排查故障。 关键词: 单片机,时钟电路,路灯控制 II SCM based street lamp control system design Abstract SCM street lamp control system is a new type of intelligent control system, can acc

3、ording to seasonal alternate climate changes cause and the different needs of customers, through the buttons on the adjustment, can have obvious effect in energy saving. This street lamp system consists of hardware system design and software system design. hardware system design include clock circui

4、t, lamp control circuit, LCD display circuit, sound and light alarm circuitry, keyboard control circuitry and single-chip controlling circuit. In the clock section, with the trickle charge current capacity of low-power real time clock circuit chip DS1302, the years, mouths, days, Sundays, hours, min

5、utes and seconds can be counted, after MUC control processing the timing data will be displayed. Through testing the external environment, the lamp control part will be achieve different operating and various different functions. Software of main need hardware system combined. Drawing program flow c

6、hart, Write the corresponding program, Make SCM street lamp system can intelligence, automatic operation fault lamps, the grate. Keywords: Single Chip Micyoco,Clock Circuit ,Lamp Control III 目录 摘要 I Abstract . II 1 绪论 1 1.1 课题的来源 1 1.2 课题的意义 1 1.3 单片机应用技术国内外发展现状 2 1.3.1国外的研究现状 .2 1.3.2国内的研究现状 .2 1.4

7、 课题研究的目的 3 2 硬件电路设计 . 4 2.1 系统总体方案设计 4 2.2 芯片器件介绍 4 2.2.1 单片机 AT89C52 简介. . .4 2.2.2 光敏传感器的介绍 . .6 2.2.3 实时时钟芯片 DS1302 的介绍 .7 2.2.4 1602液晶的介绍 .8 2.2.5 电压比较器 LM358.9 2.3 各模块介绍 10 2.3.1时钟电路模块 .10 2.3.2感光电路模块 .11 2.3.3 液晶显示器模块 .11 2.3.4 复位电路模块 .12 2.3.5 故障报警电路模块 13 2.3.6 灯光驱动电路模块 14 3 系统软件设计 .16 3.1 软件

8、系统介绍 16 3.1.1软件介绍. .16 3.1.2主程序的介绍 .16 3.1.3主流程图 .17 3.2 各子程序模块 18 3.2.1 实时时钟子程序 18 3.2.2 LCD 显示子程序 18 3.2.3自动警报子程序 . 19 3.2.4路灯开关控制子程序 .20 IV 4 总结. 21 4.1 工作总结 . 21 4.2 心得体会 .22 参考文献 23 致谢 24 附录 25 附录图 1 电路总图 . 25 附录 2 主程序26 单片机路灯控制系统设计 1 1 绪论 1.1 课题的来源 单片机路灯控制系统是一种新型智能控制系统,它可根据季节改变引起的 天亮、天黑、时间的变化、

9、人们不同的需要,通过按键进行调节。在智能路灯 控制系统设计中,考虑到体积,功耗功能等因素,选用了性能高、功耗低、体 积小、性能价格比较高的单片机作为系统时钟及低功耗的串行作为存储路灯开、 关时间的数据存储器。像这样的系统结构简单,用途广泛,常用于公路两边、 桥梁两边或者工厂等,得到明显的节电效果,取得较好的经济效益,受到很高 的评价。 1.2 课题的意义 现今,单片机的应用也进入到了环保节能领域中,使其应用发展更上一层 楼。其中最为显著的就是装扮美丽城市夜景的路灯照明工程。我们都知道,路 灯的用电是一个城市公共用电的突出问题,尤其是在深夜期间,车少人少的情 况下,如何降低路灯用电,减少能耗,提

10、高用电效率。智能路灯监控系统以单 片机为核心,主要由现场系统、通讯系统、监护中心3 部分组成。在引进此系 统后,城市的公共用电得到的明显的改善。 使用单片机来控制路灯有以下优点: (1)价格低体积小、重量轻、节能环保等。因为能明显的降低控制器硬件 的成本,而且比一般微处理机更加快速,功能更加优化、全面。 (2)显著改善控制的可靠性。因为使用单片机来控制电路,集成电路和大 规模集成电路大大长于分立元件电子电路的平均无故障时。 (3)采用微处理机的数字控制,使信息的双向传递能力大大增强,容易和 上位系统机联接,可随时改变控制参数。 (4)硬件电路标准化。因为在电路集成过程中采用一些屏蔽措施,可以避

11、 免电力电子电路中过大的瞬态电流、电压引起的电磁干扰问题, 可靠性比较高。 (5)提高了信息存贮、监控、 诊断以及分级控制的能力, 使伺服系统更趋于 智能化。 (6)可以设计适合于众多电力电子系统的统一硬件电路,其中软件可以模 块化设计,拼装构成适用于各种应用对象的控制算法;以满足不同的用途。软 件模块可以方便地增加、更改、删减,或者当实际系统变化时彻底更新。 (7)性能优异但算法复杂的控制策略有了实现的基础,因为随着微机芯片 运算速度和存贮器容量的不断提高 1-7 。 毕业设计 2 1.3 单片机应用技术国内外发展现状 1.3.1 国外的研究现状 1976 年 9 月,美国 Intel公司的

12、 MCS-48型单片机问世,成为单片机划时 代的里程碑。 这阶段单片机的特点是: 片内配置的存储器 (RAM/ROM) 容量及提供 的寻址空间较小。 1980年Intel公司在总结了 MCS-48 系列机的基础上推出了8位高档 MCS-51 系列单片机。它与 MCS-48 系列相比,硅片的面积扩大为原来的1.4 倍,片内程 序存储器 (ROM/EPROM)容量为原来的 4 倍,RAM 容量增加了 1 倍,工作寄存器组 扩大了 1倍, 设有两个 16 位定时器 / 计数器; 并行 I/O 接口增至 4 个口共 32 线, 增设有全双工串行I/O 接口;扩充了指令功能,提高了执行速度;存储器寻址

13、空间分别为扩大到64kB等。可见其功能有了很大提高。 1983 年 Intel公司推出了 MCS-96系列 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 位的定时器 / 计数器。可实现位、字节、字(

14、16 位)、双字 (32 位) 操作,设有 1616 位或 3216 位的乘、除法运算。另外还 可配置面向控制的PL/M和 FORTH 语言。 近几年来, Intel和 Motorola 等公司先后推出更高挡的32 位单片机,其 功能极强,主要用于复杂的高层次系统 7-10 。 1.3.2 国内的研究现状 在我们中国。单片机的开发应用大致可以分为:20 世纪 80 年代的普及推 广阶段、 90 年代的广泛应用阶段和21 世纪的嵌入式系统的开发应用阶段。 第一阶段:国内主要从事Intel公司的 8 位 8048/8051 单片机应用,随着 单片机在线仿真ICE(In Circit Emulato

15、r)技术的突破,推出了一系列的单片 机在线仿真器 ICE 和开发工具,推动了单片机开发应用的普及与推广。 第二阶段:随着我国改革开发进一步深入,除了Intel公司的 8048/8051 单片机得到广泛应用外, Motorola 公司的单片机和 Philips公司的单片机也很 快进入我国并得到了应用。同时,我国各高校纷纷开设了相应课程,编写和出 版相关的教材。一些跨国公司在各高校建立了单片机开发中心或者单片机实验 单片机路灯控制系统设计 3 室,促进了我国单片机的教育和科研工作的开展 第三阶段: 进入 21 世纪,随着信息家电IA 和 3C产品的广泛应用, 单片机 应用也进入到嵌入式系统开发应用

16、阶段。 今后一段时期内, 单片机发展的总趋势将是不断推出高档和高性能的机型; 重点提高 8 位单片机的性能;采用新工艺,实现低功耗、宽电压、高速度、高 可靠性;以及日趋单片化等 11-13 。 1.4 课题研究的目的 在我国,大部分城市特别是中小城市的路灯系统自动化管理水平还不是很 高,特别是当季节、气候、天气变化时不能及时改变开关状态,从而不能对立 等充分利用,给广大市民带来相应的困扰。当出现路灯故障时也不能及时发现 和更换处理,人工查询劳动强度也大。对于城市区域和道路的拓展,路灯的数 量也急剧增长,对于提高路灯现代化管理的要求也越来越迫切。单片机路灯控 制系统的引用是必然的趋势。 一方面,

17、通过单片机的控制,能实现定时开关各单元路灯,并且能根据环 境明暗变化,自动开关灯。用计时系统来对时间进行有效的控制。当某个路灯 发生故障, 故障信号发送给主机, 利用显示模块以及输入模块等作为人机界面, 实现显示及声光报警等功能。使得路灯在现实运用中,能更加智能,更加人性 化,解决了以前用人力控制所带来的不便,减少了主观性错误的发生率。 另一方面,在我们进入一个高速发展的阶段,人们越来越提倡环保的当下, 运用单片机路灯控制系统,通过光敏电阻的调节,按照自然光的明暗,自动进 行开关路灯的操作,节约了不必要的资源浪费,为当今国家电力有着巨大缺口 减轻负担 14-15 。 毕业设计 4 2 硬件电路

18、设计 2.1 系统总体方案设计 单片机路灯控制系统基本按一下框图实施: 图 2-1 系统总体设计方案 该系统包括单片机控制单元, 复位电路模块, 环境检测模块, 声光报警模块, 时钟电路系统。 电路原理图请参见附录(附图I-1) 所用的器件有:单片机AT89C52,实时时钟芯片 DS1302,1206液晶,电压 比较器 LM339,光敏传感器等。 2.2 芯片器件介绍 2.2.1 单片机 AT89C52 简介 AT89C52是 51 系列单片机的一个型号, 它是 ATMEL 公司生产的一种小型单 片机。 。 AT89C52是一个低电压,高性能CMOS 8 位单片机,片内含8k bytes的可

19、反复擦写的 Flash 只读程序存储器和256 bytes 的随机存取数据存储器( RAM ) , 器件采用 ATMEL 公司的高密度、 非易失性存储技术生产, 兼容标准 MCS-51指令 实时时钟电路 单片机控制 部分 环境明暗检测 LCD 液晶显示部分 灯路控制 电路 1 灯路控制 电路 2 LED 驱动电路 故障检测电路 LED 驱动电路 故障检测电路 系统复位电路 蜂鸣器报警电路 单片机路灯控制系统设计 5 系统,片内置通用8 位中央处理器和Flash 存储单元,功能强大的AT89C52单 片机适合于分布式测控网络的控制应用,可为您提供许多较复杂系统控制应用 场合。 AT89C52有

20、40 个引脚,其中32 个外部双向输入 / 输出( I/O )端口,同时 内含 2 个外中断口, 3 个 16 位可编程定时计数器 ,2 个全双工串行通信口, 2 个 读写口线, AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用 的微处理器和 Flash 存储器结合在一起,特别是可反复擦写的Flash 存储器能 有效的降低开发成本。 AT89C52为了适应不同产品的需求,分别开发了PDIP 、PQFP/TQFP 及 PLCC 等三种封装的形式,其主要功能特性: 1、兼容 MCS-51 指令系统 2 、8k 可反复擦写 (1000 次)Flash ROM 3、32 个双向 I/O

21、 口 4、256x8bit 的内部 RAM 5、低功耗空闲和掉电模式 6、软件设置睡眠和唤醒功 7、3 个 16 位可编程定时 / 计数器中断 8、时钟频率 0-24MHz 9、2 个外部中断源 10、6 个中断源 11、2 个读写中断口线 12、3 级加密位 13、2 个串行中断 14、可编程 UART 串行通道 毕业设计 6 图 2-2 AT89C52单片机 2.2.2 光敏传感器的介绍 光敏传感器主要利用光信号被光敏元件转换为电信号的传感器件。 光敏传感器之所以能迅速的对光信号的变化作出反应,是因为它的敏感波 长在可见光波长附近, (包括红外线波长和紫外线波长。 )并将光信号转换为电 信

22、号。 光传感器是目前产量最多、应用最广的传感器之一,它不只局限于对光的 探测,它还可以作为探测元件组成其他传感器,对许多非电量进行检测,只要 将这些非电量转换为光信号的变化即可。它在自动控制和非电量电测技术中占 有非常重要的地位。光敏传感器的种类繁多,主要有:光电管、光电倍增管、 光敏电阻、光敏三极管、光电耦合器、太阳能电池、红外线传感器、紫外线传 感器、光纤式光电传感器、色彩传感器、CCD 和 CMOS 图像传感器等。 单片机路灯控制系统设计 7 其工作原理可分四类: A因光照射引起物体电学特性改变的现象称为光电效应, 外光电效应: 在光的照射下, 一些材料中的电子溢出表面所产生光电子 发射

23、的现象,又称为光电发射效应。如:光电二极管,光电倍增管 内光电效应: 在光照射半导体材料下, 材料吸收光子而产生电子空 穴对,让导电性能加强,电导率增加,这种现象又称为光电导效应,内 光电效应。如:光导管,光敏电阻,光电池,光敏三极管等。 B红外热释电探测器: 利用辐射的红外光照射材料所引起材料电学性质的 变化,产生热电动势。 CCCD 图像传感器, MOS 图像传感器 D光纤传感器 图 2-3 光敏传感器 2.2.3 实时时钟芯片 DS1302介绍 芯片 DS1302是由美国 DALLAS 公司生产的一种高性能、低功耗、带RAM 的 实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时

24、,工作电压 为 2.5V-5.5V 。芯片 DS1302采用三线接口与 CPU 进行同步通信,能用突发方式 一次传送多个字节的时钟信号或者RAM 数据。 芯片 DS1302是芯片 DS1202的升级产品,其内部有一个31x8 的用于临时 性存放数据的RAM 寄存器。它可以兼容DS1202 ,但是增加了主电源 / 后背电源 双电源引脚,能同时对后背电源提供涓细电流的充电。 芯片 DS1302有 12 个寄存器,其中 7 个寄存器与日历、时钟相关。此外, 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器和与ARM 相关的 毕业设计 8 寄存器等。 引脚功能及结构: DS1302的引脚排列,其

25、中Vcc1 为后备电源, Vcc2 为主 电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302有 Vcc1 或 者 Vcc2 中的较大者供电。当Vcc2 大于 Vcc1+0.2V 时,Vcc2 给 DS1302供电。 当 Vcc2小于 Vcc1时,DS1302由 Vcc1供电。RST是复位 / 片选线,通过 RST 输 入驱动置高电平来启动所有数据的传送。X1 和 X2 是震荡源,外接32.768KHz 晶振。 SCLK始终是输入端。 图 2-4 实时时钟芯片 DS1302 2.2.4 1602液晶介绍 生活中,我们经常能接触到液晶显示器,如电视机,电脑,手机等等。它 已经被许多电

26、子产品,通信器件所应用。其主要功能是显示数字、专用的符号 和图形。在单片机的人机交流中,液晶也起着重要的作用,一般的输出方式有: 发光管、 LED数码管、液晶显示器。 在本次设计中,就是运用了液晶显示器,来显示单片机所采集到的数据。 选择单片机系统中选择了液晶显示器作为输出器件的原因: 显示质量高:由于液晶显示器是恒定发光的,所以每一个点在收到信号后 单片机路灯控制系统设计 9 就一直保持那种色彩和亮度,不像阴极射线管显示器那样要不断的刷新亮点。 数字式接口:因为液晶显示器是以数字的形式,这样能和单片机系统的接 口更加简单可靠,操作也更方便。 体积小、质量轻:液晶显示器是通过显示屏上的电极控制

27、液晶分子状态来 显示的,在质量上比相同显示面积的传统显示器要轻很多。 功耗低:液晶显示器的功耗主要消耗在内部的点击和驱动上,所以耗电量 比一般的显示器要少很多。 图 2-5 1602 液晶 2.2.5 电压比较器 LM358介绍 LM358适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式, 其内部包括有两个独立的、内部频率补偿、高增益的双运算放大器,在比较适 合的工作条件下,放大器的性质电源电流与电源电压无关。它的使用范围包括 传感放大器、直流增益模块和其他使用运算放大器的场合(可全部能用单电源 供电) 。 8 引线双列直插式和贴片式的LM358的封装特性如下: (1)直流电压的增益

28、比较高 (2)差模输入电压相当于电源电压范围,其范围宽 (3)输入失调电压和失调电流低 (4) )输入偏流低 (5)单位增益频带宽 毕业设计 10 (6)电源电压范围宽 (7)电流功耗低,可以用电池供电 (8)输出电压摆幅大 (9)内部频率能自给补偿 (10)共模输入电压范围宽 其中 1 号引脚与单片机 JC6引脚相接,2 号引脚和 2 个并联电阻相接, 3 号 引脚和驱动电路相连接,4 号引脚接地, 8号接入电源。 图 2-6 电压比较器 LM358 2.3 各模块介绍 2.3.1 时钟电路模块 在本系统中, 时钟电路如上所说的选用集成芯片DS1302 。DS1302的引脚排 列中,Vcc1

29、为后备电源, Vcc2为主电源。在主电源关闭的情况下,也能保持时 钟的连续运行。 DS1302由 Vcc1 或 Vcc2 两者中的较大者供电。当Vcc2 大于 Vccl+0.2V 时,Vcc2 给 DS1302供电。当 Vcc2 小于 Vcc 1 时,DS1302由 Vcc1 供电。 X1和 X2是振荡源,外接32.768kHz 晶振。 RST是复位 / 片选线,通过把 RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能 : 首先,RST 接通控制逻辑,允许地址/ 命令序列送入移位寄存器; 其次,RST提供终止单字 节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初

30、始化, 单片机路灯控制系统设计 11 允许对 DS1302进行操作。如果在传送过程中RST置为低电平, 则会终止此次数 据传送, I/O 脚变为高阻态。上电运行时,在Vcc 大于等于 2.5V 之前, RST必 须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。 I/O为串 行数据输入 / 输出端 ( 双向)。 SCLK 始终是输入端。 DS1302的引脚连接图如图2-7 所示: 图 2-7 时钟电路模块 2.3.2 感光电路模块 本设计要求,各单位路灯能根据环境明暗变化,自动开关灯,因此需要加 入光敏器件。当周围太暗是,光敏传感器就要给出一个信号,相应的原件就会 产生反应。 原

31、理图如图 2-8 所示: 图 2-8 感光电路模块 2.3.3 液晶显示模块 根据设计方案, 加入液晶显示器液晶1602。 液晶显示器与单片机连接, 毕业设计 12 将单片机上的所接收到并处理的数据显示出来,实现人机交流的目的。 原理图如图 2-9 所示: 图 2-9 液晶显示器模块 2.3.4 复位电路模块 单片机在开机时都需要复位,以便于中央处理器以及其他功能部件都处于 一个确定的初始状态,并从这个状态开始工作。单片机的复位后时靠外部电路 实现的,再时钟电路工作后, 只要在单片机的 RST引脚时出现 24 个时钟震荡脉 冲以上的高电平,单片机便可以实现初始化状态复位。 复位电路在整个电路中

32、的基本功能是:当系统通电时提供一个复位信 号,直到系统电源稳定才能撤销复位信号。但为了可靠起见,电源稳定后 还要经过一定的延时,确定电源没有异常后才撤销复位信号,以防电源开 关或电源插头分- 合过程中引起的抖动而影响复位。 原理图如图2-10 所示: 单片机路灯控制系统设计 13 图 2-10 单片机复位电路 2.3.5 故障电路模块 故障报警电路分 2 个部分:故障报警电路分2 个部分:第一部分是连接在 路灯上的故障检测电路,它运用一个电压比较器LM358 ,当电路中的路灯故障, 使得电路产生短路或断路的情况,该电路中的电压会变高或没有电流,这时电 压比较器通过比较,将信息传到单片机中,而单

33、片机通过程序的运行,给出正 确的信息。电路原理图如图2-11 所示: 图 2-11 路灯检测故障电路 毕业设计 14 通过路灯检测故障模块的信息传输到单片机,单片机将启动蜂鸣器,起到 一个报警的目的,并在液晶显示频上显示出错的路灯具体位置。 故障报警电路原理图如图2-12 所示: 图 2-12 路灯系统中故障报警电路 2.3.6 灯光驱动模块 本系统中采用 LED灯光驱动电路,它是由一个控制灯的电子开关场效 应管来控制灯光的开关。 其电路图如图 2-13 所示: 单片机路灯控制系统设计 15 图 2-13 驱动电路 毕业设计 16 3 系统软件设计 3.1 软件系统介绍 3.1.1 软件介绍

34、软件的编程设计是单片机系统设计的核心部分,也是能否实现预定功 能的关键。单片机编程常用的语言是C 语言和汇编语言,最终都要转为 Intel HEX 格式或二进制格式 (Binary)文件拷入单片机芯片内。 这里我们使 用的是 C 语言进行编程设计。 3.1.2 主程序介绍 主程序如图 3-1 所示,初始化程序包括存储器初始化、时钟初始化、 LCD液晶显示模块初始化等。 然后设置时间,根据实时时钟子程序的操作, 系统先将手动输入时间,然后将数据放入寄存器中,最后读取DS1302的 数据,通过单片机显示在LCD液晶显示屏上。接着设置开关灯的时间, 如要需要设置, 则启动设置开灯或关灯的程序,如果不

35、需要设置, 则进入 光线检测环节, 即启动光敏传感器电路, 在启动此程序后, 系统会启动另 一个程序故障检测系统, 若有故障,则会触发警报器程序, 如果没有 故障,程序结束。 单片机路灯控制系统设计 17 3.1.3 主流程图 图 3-1 程序流程图 系统初始化 读取 DS1302S 数据 读取当前时间 是否开关灯时间 启 动 开 灯 或 关灯程序 光线检测 读取故障检测数 设备有故障?启动报警程序与显示程序 结束 开始 Y N N Y 设置时间 毕业设计 18 3.2 各子程序模块 3.2.1 实时时钟子程序 单片机对 DS1302进行开始条件的设置,先从DS1302中读取 1Byte 数据

36、,然后往 DS1302中写入数据,读取 DS1302在某地址的数据, 这样就 完成了对 DS1302的初始化。接着往 DS1302中写入时钟数据, 时钟数据地 址格式为:秒 分 时 日 月 星期 年 控制, 然后读取 DS1302的时钟数据, 将数据写到 DS1302寄存器中,并读取其中的数据,最后设置初始时间, 读取 DS1302当前时间。这就是实时时钟子程序完成的步骤。 以下是实时时钟部分子程序: void v_Get1302(uchar *ucCurtime) uchar i,temp1,temp2; uchar ucAddr = 0x81; for (i=0;i4; temp2=Tim

37、e_codei Time_codei=temp1*10+temp2; 3.2.2 LCD 显示子程序 为简化硬件电路, 通常将所有 LED动态显示。 首先设置显示模式, 即 显示开、关,显示有无光标。然后设置输入模式,画面可平移。将LCD 初始化,输入液晶字符的位置,并显示到液晶屏上。 以下是设置 LCD液晶显示的部分子程序: void LCD_Initial() LcdEn=0; LCD_Write(LCD_COMMAND,0x38); /8位数据端口 ,2 行显示 ,5*7 点阵 delay(5); 单片机路灯控制系统设计 19 LCD_Write(LCD_COMMAND,0x38); d

38、elay(5); LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); /开启显示 , 无光标 delay(5); LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); /清屏 delay(5); LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); /AC 递增, 画面不动 delay(5); 3.2.3 自动报警子程序 自动报警子程序是当路灯在发生故障时,电路传给单片机一个信号, 而单片机将这个数据写入此程序,程序将数据输出, 使得蜂鸣器启动, 从 而起到报警作用。 以下是部分自动报警子程序: if(status0=

39、1) GotoXY(13,1); LCD_Write(LCD_DATA,0); if(ErroT!=0xFF) /开报警 Beep=0; i=(ErroT if(i9)i=i+0x37; else i=i+0x30; LCD_Write(LCD_DATA,i); i=ErroT if(i9)i=i+0x37; else i=i+0x30; LCD_Write(LCD_DATA,i); else / 关报警 Beep=1; 毕业设计 20 3.2.4 路灯开关控制子程序 此程序是本毕业设计中最重要的一个部分,它控制路灯的开和关。 将 光敏传感器传来的信号通过程序的处理,传输给路灯电路, 使得路灯

40、可以 根据环境的明暗自动开和关。 以下是路灯开关控制部分程序: v_Get1302( if(GJCD=1) DKey=0; status0=0; if(KT_Time0 #include #define uint unsigned int #define uchar unsigned char /* uchar func_mark=2; /上电设置系统时间 uchar status0=0;/status0 亮灯标志 uchar Time_code7=0,0,12,11,5,3,11; /时间缓存 uchar KT_Time6=0,30,15,0,30,20;/ 定时亮灯 uchar Lcd_b

41、uf2; /- #include“DS1302.h“ #include“1602.h“ #include“KEY.h“ /- sbit DKey=P35; sbit GJCD=P33; sbit Beep=P34; #define ErroT P1 /- void main(void) char i; LCD_Initial(); InitialKey(); DKey=0; status0=0; Beep=1; while(1) /= = if(func_mark=2) /设置系统时间 /设置系统时间 switch(set) case1:if(add=1)Time_code0+;if(Time

42、_code0=60)Time_code0= 0;add= 0;if(sub=1)Time_code0-;if(Time_code060)Time_code0=59;sub=0; brea; 毕业设计 26 case2:if(add=1)Time_code1+;if(Time_code1=60)Time_code1=0;ad d=0;if(sub=1)Time_code1-;if(Time_code160)Time_code1=5 9;sub=0;break; case3:if(add=1)Time_code2+;if(Time_code2=24)Time_code2= 0;add=0;if(s

43、ub=1)Time_code2-;if(Time_code223)Time_c ode2=23;sub=0;break; case4:if(1) if(add=1) Time_code3+; if(Time_code4=2)if(Time_code328)Tim e_code3=1; if(Time_code4=1)|(Time_code4=3)|(Time _code4=5)|(Time_code4=7)|(Time_code 4=8)|(Time_code4=10)|(Time_code4= =12) if(Time_code3=32)Time_code3=1; if(Time_code4

44、=4)|(Time_code4=6)|(Time _code4=9)|(Time_code4=11) if(Time_code3=31) Time_code3=1;add=0; if(sub=1) Time_code3-; if(Time_code4=2)if(Time_code3=0) Time_code3=28; if(Time_code4=1)|(Time_code4 =3)|(Time_code4=5)|(Time_c ode4=7)|(Time_code4=8)|(T ime_code4=10)|(Time_code4 =12) if(Time_code3=0)Time_code3=

45、3 1; if(Time_code4=4)|(Time_code4 =6)|(Time_code4=9)|(Time_code 4=11) if(Time_code3=0) Time_code3=30;sub=0; break; case5:if(add=1)Time_code4+;if(Time_code4=13)Time_code4= 1;add=0;if(sub=1)Time_code4-;if(Time_code4=0)Time_code4=12; 单片机路灯控制系统设计 27 sub=0;brea; case6:if(add=1)Time_code6+;if(Time_code6=1

46、00)Time_code6 =1;add=0;if(sub=1)Time_code6-;if(Time_code699)Time_ code6=99;sub=0;break; default:break; GotoXY(0,0); Print(“SetDate:“,8); GotoXY(8,0); /需要增加闪烁功能 for(i=2;i=0;i-) Lcd_buf0=Time_codei/10+0x30; Lcd_buf1=Time_codei%10+0x30; Print(Lcd_buf,2); if(i!=0)LCD_Write(LCD_DATA,-); GotoXY(0,1); Print(“SetTime:“,8); GotoXY(8,1); /需要增加闪烁功能 fo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1