图书馆智能节能控制器的设计 - 范文中心

图书馆智能节能控制器的设计

06/28

图书馆智能节能控制器的设计

摘要 随着科技的发展以及经济的增长,对电力能源的依赖显得日益突出,节约用电成为了各行各业都需要去完成的共同目标。本系统采用了AT89C52单片机作为整个照明系统的控制装置,采用人体红外感应模块热释红外传感器检测人体的存在与否,采用光敏三极管来判断外界环境的光照强度。通过本系统对环境信号以及人体信号的检测,判断是否开灯的条件,从而达到智能控制照明系统节约用电的目标,避免了资源的大量浪费。

关键词:人体红外感应模块;智能控制系统;单片机

Intelligent lighting system in the library Based on SCM

ABSTRACT With the development of science and technology and economic growth, the dependency on electric power energy is becoming increasingly prominent, energy saving has become the common goal of all walks of life are needed to complete the.The system uses the AT89C52 microcontroller as the control device of the entire lighting system,The infrared human body induction module pyroelectric infrared sensors to detect human existence in the classroom or not.The photosensitive triode to judge the environment illumination intensity. Based on the environmental signal and the detection signal of human body in the system, whether the conditions, so as to achieve the intelligent control of lighting system power saving target. To avoid a lot of waste of resource.

Key word:Infrared human body induction module;Intelligent control system;MCU

目录

第1章绪论 . ............................................................................................................................................. 1

1.1课题研究的背景及意义 . .................................................................................................................. 1

1.2智能节能控制系统研究的必要性 . .................................................................................................. 1

1.3本课题研究的主要内容及目标 . ...................................................................................................... 2

1.4本课题的关键技术问题 . .................................................................................................................. 2

1.5智能节能控制方案的分析 . .............................................................................................................. 2

第2章 智能照明控制系统的硬件模块 . ............................................................................................... 4

2.1智能照明控制模块的硬件构成 . ...................................................................................................... 4

2.2控制系统的硬件电路 . ...................................................................................................................... 4

第3章 智能控制系统的软件设计 . ................................................................................................... 13

3.1数据采集程序 . ................................................................................................................................ 13

3.2主监控程序模块 . ............................................................................................................................ 13

3.4显示驱动模块 . ................................................................................................................................ 18

3.5系统调试 . ........................................................................................................................................ 19

第4章 结论 . ....................................................................................................................................... 20

参考文献 . ............................................................................................................................................... 21

附录1部分元件特性介绍 . ................................................................................................................... 22

附录2程序设计 . ................................................................................................................................... 23

附图A . .................................................................................................................................................... 31

附图B . .................................................................................................................................................... 32

第1章绪论

1.1课题研究的背景及意义

随着近代科学技术与经济的不断发展,人们生活水平得到了很大的改善,各式电器进入了我们生活,但是电能源的负荷也因此显得各加的突出。电力的短缺已经成为了全世界所要面临的严峻问题,而对于人口基数最为庞大的我国,对电力的需求更为迫切,问题显得尤为重要。因此,我们要通过各种方法去节约电力能源,通过提高能源应用效率,减少电能源不必要的浪费。

在众多的用电效率低下的用电中,照明用电占据了相当大的一部分资源浪费。以我们学校为例,图书馆是人流量比较多的地方,为了方便学生的学习,图书馆的灯光照明基本处于全天工作的状态,无论环境光照强度是否已经足够,或者有没有人存在,灯基本上都处于开灯状态,这就造成了非常大的电力能源浪费,当然这绝不仅仅只有一个学校是这样的,全国绝大多数图书馆照明在我国仍然是靠人为的管理,而国外已经开始采用更为先进的智能控制,不仅方便管理还能节省资源。因为我国对图书馆智能照明节能控制技术的缺乏,造成了大量的能源浪费,用电负荷不断加大,但这种损失是可避免的。随着近年来科学技术取得的飞速发展,而科学技术让我们的生活越来越趋向于自动化,所以对于图书馆照明的管理也会朝着智能化的方向发展。因此,节能和智能的照明系统的研发具有非常重要的现实意义。

1.2智能节能控制系统研究的必要性

我国经济持续多年高速发展,经济的增长对能源的依赖的问题也日益显现出来,能源的缺乏已经成为了制约我国发展的一个关键要素之一。虽然我国能源总存储量很高,但不可忽略人口基数,这一实质性的问题,平均下来人均存储量很少,远低于世界平均水平。目前照明系统的用电量通过调查得知,已经占据我国全社会用电总量的12%。但如果采用智能节能照明系统可以节省60%到80%的电能源。这种可避免的浪费是节能所必须要考虑的,鉴于以上的原因,提高图书馆的用电效率,使用高效的智能节能控制代替传统的人工管理成为减少用电浪费的重要措施,而且每所学校都在不断扩建图书馆,用电需求还在不断的增加,如果仍然没有改进图书馆的照明管理系统,浪费的能源将更加的惊人!所以研发智能节能控制照明系统非常

的必要也是一项非常重要的课题。

1.3本课题研究的主要内容及目标

1.3.1本课题需要研究的内容:

(1) 教室标准照明光照强度。

(2) 关照的强弱与开、关灯之间的关系。

(3) 人体红外感应模块检测人体存在技术。

(4) 智能节能控制器的参数值设定的要求及方。

1.3.2本课题研究目标

本课题研究的主要目标是通过对图书馆智能照明系统的研究,实现对现有的靠人工管理灯光照明的取代,完成自动化管理,具有提高用电效率,节约能源的作用。并且为了预防不可控因素,需要同时手动与自动控制能相兼容,通过不断反复的试验及调整,从而达到可靠性、实用性都具备的目的。

1.4本课题的关键技术问题

(1) 外界环境光照强度采集问题。

(2) 人体红外感应模块数据采集问题。

(3) 人体存在与开关灯之间的问题。

(4) 手动开关与自动开关相结合的问题。

1.5智能节能控制方案的分析

大多数的照明控制器都是以自然环境光照强度和人体存在作为主要的参数,并且还要具有手动控制与智能控制相兼容。在自然关照强度足够的情况下,无论人是否存在都不开灯,在自然光照不足的情况下,如果检测到有人存在且人存在一段时间,控制器自动开灯,如果检测到人离开,那么控制器延时一段时间后自动关灯。尽可能的做到资源利用效率最大化,同时还要按照作息时间来人为的控制,满足特殊情况下开灯或者关灯的需求,如夜晚12点过后,还有人存在则应该关闭智能控制系统,采用市面上的普通开关来手动控制照明,解决特殊情况下智能控制系统所带

来的不够人性化,在满足我们需要照明条件的前提下,尽可能的节约能源。

整个控制系统分为两个部分即硬件和软件。硬件是软件的运行的平台,是执行整个智能照明系统的基础。软件部分则是对硬件采集到的信号进行分析和处理,实现智能控制所要达到的功。

第2章 智能照明控制系统的硬件模块

由于本系统所受到安装环境影响因素很多,并且控制设备中的人体红外模块、光敏三极管会因为受到环境影响而变得不稳定,所以在设计的过程当中,设备的安放和硬件的选用需要充分的考虑到抗干扰的问题。

2.1智能照明控制模块的硬件构成

系统的主控模块采用的是AT89C52单片机作为整个照明系统的控制装置,外围电路则包含了:ISP 下载线模块、电源模块、人体存在感应模块、硬件时钟模块、51单片机模块、环境光模块、灯光驱动模块、看门狗模块、LED 显示模块、数码管显示模块。结构图如2-1所示。

图2-1 智能控制照明系统硬件的结构框图 2.2控制系统的硬件电路

2.2.1系统的主控模块

系统的主控模块采用的是AT89C52单片机作为整个照明系统的主控芯片,该单片机片内,有8k 的快闪只读程序存储器和256B 的随机存取数据存储器,以及4KB

的EEPROM 。为了使电路结构简洁且合理的安排片内RAM 空间,故不需要片外RAM 。根据本照明系统设计要求,软件设计的流程图如下图2-2所示;

图2-2 程序设计流程图 2.2.2在线编程模块电路

由于今年来flash 型单片机的发展,采用软件模拟写片的方法已经取代了过去单片机依赖于仿真机。较之于后者模拟结合写片验证更加的方便与经济时间实用。AT89C52芯片是flash 型单片机,它具有支持在线编程即ISP 的功能,用户仅需通过接口就可以直接对主控芯片进行在线编程,极大的方便了程序的烧写与修改等工作。当使用ISP 进行对CPU 的在线编程时,需使用AT89C52单片机的P1.5、P1.6、P1.7接口的引脚及RST 端口。要注意的是当显示红色的LED 灯是电源指示灯,显示绿色的LED 灯是复位作用,显示黄色的是时钟信号指示灯。

2.2.3对系统供电电路

因为AT89C52单片机的工作电压为+5V,而我们日常用电压为220V ,这里我们需选用一个输出电压为9V 的变压器,当系统接通220V 的电压通过变压器后,将变压至9V ,然后经过如下图3.2.3的装置会得到一个单片机工作所需要的+5V直流电

源,用其给单片机以及单片机的外围电路供电,接至Vcc+端。

图2.2.3 单片机电源电路

2.2.4采集数据电路

智能节能照明系统的主要输入参数是环境光照强度和人体的存在与否,这两个因素是系统主要的数据采集对象,本课题中环境光照强度的采集选用了光敏三极管,检测人体存在与否选用了人体红外检测模块。

(1)环境光照采集:如下图2.2.4-1所示,当环境光照强度大于一定强度的时候,D6三极管呈现低阻态,其值小于1000欧姆,Q12的基极电压升高,当Q12饱和时集电极输出低电平。当环境光照强度小于一定强度的时候,D6呈现高阻态,其值为1000欧姆,导致Q12截止,输出高电平。图中可通过调节R26的大小,来控制三极管导通的适当光照强度。

图3.4.2-1 环境光照强度采集电路

图2.2.4-1 环境光照采集电路

(2)热释电红外传感器的工作原理为,人体红外感应模块采用与热释电效应同压电效应类似的HC-SR501热释电红外传感器,因为其温度发生了变化从而导致晶体表面负荷电。热释电传感器对温度很敏感,会受到温度的影响。它主要由压电晶体元件或者陶瓷氧化物构成,它会在元件表面而形成的两个电极,当传感器检测到有ΔT 温度的变化由于,根据上述可得由于热释电效应也将会形成ΔQ 的电荷变化在电极上,这样会导致电压变化ΔV 。HC-SR501的输出阻抗高,在传感器中形成了一个场效应管阻抗,由热释电效应而形成的电荷ΔQ 空气中的离子自由结合然后消失。即如果环境温度维持稳定状态时,温度没有发生变化时,那么传感器没有输出。因为人体温度与环境温度的差异,当人体进入到检测区域会产生ΔT 的输出;如果人体进入到了检测区域后没有移动或者停止行动,那么温度不会发生变化,传感器也就不会有输出。这种传感器可以检测人体等有体温的生物的活动传感功能。 由实验验证到传感器如果不加光学透镜其检测距离很有限只有小于2m ,但如果加上了光学透镜,检测的距离可以大大的增加到7m 左右。

注意几点:

1:工作电压为直流且数值需要符合我们的要求,电压过高或者过低都会影响热释电红外模块的性能。

2:在调试时候人体尽量避免在感应区域,因为人体触摸电路也会影响模块的正常工作。

3:若模块不接负载时能够正常的工作,但接上负载后却发生工作紊乱等情况,可能是因为电源容量很小,而负载比较耗电,负载在工作时所引起电压的波动导致工作紊乱。另外一种原因是负载因为得电工作而产生了干扰。

4:人体红外感应模块在室内才能正常工作,并且室内环境应避免强光的照直接照射。若果有强烈的气流干扰,阻止对流可以减小影响比如说关窗关门。感应区域应避免对着会发热的电器。

5:人体红外感应模块最佳的存放地点是安装在密封盒子里,不受其他条件的影响,否则可能会一直有信号输出。

6:如果人体感应模块的探测角度比较小,那么可以采用不透明物体遮挡镜片或者裁剪来缩小镜片。

7:人体红外感应模块拥有双元探头,其红外模块的特性直接决定了它无法精确的控制感应距离。

(3)人体存在与否信号采集:HC-SR501的工作参数如下表-2.2.4所示: 电气参数:

功能特点:

1.全自动感应:有人体存在其感应范围输出高电平。当人离开其感应范围后,延时一段时间关闭高电平,然后再输出低电平。

2.光敏控制:可以设置光敏控制,在白天或者环境光照强度足够的时候不感应。 3.温度补偿:在环境温度升高在30至32摄氏度的范围内,探头的探测距离会受到影响,温度补偿可弥补所受到的影响。

4.两种触发方式:两种触发的方式为不可重复触发和可以重复触发,用跳线进行选择。不可重复触发,当感应输出0高电平,延时一段时间将自动从高电平变为低电平输出。可重复触发,在感应输出高电平之后经过一段时间的延时,如果有人体在检测范围内保持高电平输出,人离体开后延时一段时间再将输出,从高电平变为低电平。

5.具有感应封锁时间:感应模块在经过感应输出后即电平由高到低的变化,应封锁一段时间,在这段时间内感应器不检测感应信号。 6.工作的电压范围:工作电压默认为DC4.5V-20V 。 7.微功耗:静态电流小于50UA 。

另外需要注意的是,顺时针旋转调节距离电位器,感应距离增大,大概在7米左右,反之感应距离减小,大概在3米左右。顺时针旋转调节延时电位器,感应延时加长,大概在300S 左右,反之感应延时减短大概在5S 左右。 人体感应说明如下图2.2.4-2所示:

图2.2.4-2 人体感应说明

2.2.5时钟电路

之前提到为了保证系统的人性化,满足特殊情况下对照明条件的需求,如12点过后会进入人工控制管理的状态,又如在暑假寒假期间学校的图书馆不开放,如果智能照明系统还是按照之前的设定,那么反而会造成更大的浪费,所以在此需要引入一个时钟电路,对照明系统进行时间和日期上的控制。因为本系统只是对智能系统停止工作时对时钟电路提供电源的作用,只是实现一些很简单的功能,所以选择一些价格低廉,且方便使用的时钟芯片。在本系统中选用的时钟芯片为美国DALLAS 公司的用于存放临时数据的RAM 寄存器的时钟芯片DS1302。此芯片价格低廉,

使用方便,并且精度较高满足智能照明系统的要求。DS1302的外部引脚图如下图2.2.5-1所示;

图2.2.5-1 DS1302外部引脚图

其各引脚的功能分别为:

VCC1:芯片的主电源。

VCC2:芯片的备份电源,当 Vcc2小于Vcc1的电压时,由Vcc1向芯片供电。当Vcc2大于Vcc1+0.2V的电压时,则由Vcc2向芯片供电。

SCLK:主要是控制数据的输入与输出。 I/O:作为三线接口时的双向数据线。

CE :此引脚主要是输入数据的作用,在数据传送期间必须为高电平。 时钟芯片DS1302与单片机的接口连接原理图如下图2.2.5-2所示:其中X1X2外接32.768kHz 晶振,是震荡源。RST 的作用是复位或者作为片选线,当通过RST 把驱动设置为高电平时启动数据之间的传送。

图2.2.5-2 DS1302与单片机接口连接原理图

第3章 智能控制系统的软件设计

整个智能照明系统由硬件部分和软件部分组成,在上述硬件系统的基础上,只有向单片机内写入一个正确的程序,才能达到智能控制的目的。对于本智能控制系统需要使用到的程序软件模块包含了:数据采集程序模块,主监控程序模块。

3.1数据采集程序

在本程序中,需要采集的信号主要有两个,光照强度信号和人体存在信号。本系统主要判断是否开灯的条件为,当光照强度足够的时候无论人体是否存在都不开灯,当光照强度不够照明时,有人存在才开灯,没有人存在不开灯。现定义环境光照强度为亮时为二进制数“0”,环境光照强度为暗时为二进制数“1”。图书室内有人体存在时定义为二进制数“1”,没有人体存在为“0”。控制系统开灯为二进制“1”,不开灯为二进制“0”。根据上述的关系可以总结出下表所示的逻辑关系。

因为继电器是低电平工作,所以需要对采集到的信号进行非操作之后来驱动继电器,就可以得到图书馆里灯的状态。

3.2主监控程序模块

主监控程序模块主要分为主程序和命令处理子程序,主程序主要通过不断的循环调用命令处理子程序来完成其需要完成的任务,主监控程序的流程图如下3.2-1图所示:

图3.2-1主监控程序流程

上图中的第二步,系统初始化主要作用是寄存器和外围电路的芯片进行初始化参数设置。 3.2.1定时中断处理

定时中断主要是利用单片机内部自带的定时器定时或通过计数值,当条件满足时而引起的中断。除了内部时钟外还可以从外围电路引线T0和T1产生脉冲信号进行计数。当计数器溢出时会向单片机发出中断信号申请中断。定时中断具有周期性循环的特点,在单片机的CPU 满足中断请求后可以满足多任务启动时间划分,定时器的中断程序图如下图3.2-2所示:

图3.2-2

3.2.2多任务启动时间划分的系统构建原理

上小节中所提到的多任务启动时间划分时将用户所启动的应用程序划分为多个任务,然后以某种准则去分配任务后依次执行。本系统中的多任务是通过对中断中的实时标志检测,通过标志位来判断各任务的调用。任务的执行会分为以下四种状态:如图4.2-3

因为多任务是分序进行的,因此各个任务必然会处于以上四种状态中的某一种。当系统正在执行某个程序时,则该任务就处于运行状态,程序执行过程中需要等待某件事情发生,则该程序退出运行状态进入等待状态。如果程序已经执行完毕,则进入休眠状态。当等待的程序满足所有启动所需要的条件时,则进入就绪状态。

3.3时钟模块

在本系统中所选用Ds1302作为时钟模块,DS1302内部含有实时时钟/日历和31 字节的静态RAM ,它是由DALLAS 公司研发的,涓流充电时钟芯片,DS1302通过串口与单片机进行数据传送。内部的实时时钟电路可以精确到秒,另外每个月合每年多少天都可以自动调整。DS1302与单片机进行通信只需用到三根线: (1)RST 复位。 (2)I/O 数据线。 (3)SCLK 串行时钟。 3.3.1时钟模块的输入与输出

在系统启动的同时,会进行初始化设置,同样的在对时钟模块进行操作之前,也需要对其进行初始化,初始化的步骤为先把时钟模块的复位输入端RST 置位高电

平,在所有的数据读或写完成之后,再将RST 置位低电平,因为RST 输入为低电平时终止所有的数据传送,这是为了防止外部对时钟信号的干扰。

在执行数据传输时,需要把时钟周期的8位数据控制信息和地址储存到时钟模块DS1302的寄存器当中去,数据会在SCLK 的上升沿串行输入,之后判断储存在寄存器里的指令,若是写指令,数据会在SCLK 的上升沿输入字节,读指令字节会在SCLK 的下降沿输出。

3.3.2时钟模块DS1302的寄存器

实时时钟电路DS1302寄存器,有秒、分、时、日、周、月、年的等工作寄存器组合而成。本系统中所需要用到的寄存器只有时分秒和控制寄存器。所需要用到的寄存器的指令及数据分配如下表3.3-1所示:

表3-1 寄存器

时钟模块DS1302的初始化流程图如图3.3.3-1所示:

图3.3.1-1 DS1302的初始化流程图

检查数据模块工作是否正常原理为:先读取秒钟寄存器里的数据,然后将其与60H 进行比较,若这个数据大于60H ,则工作不正常,转而设置时钟的时间。若这个数据小于或等于60H ,经过一秒延时后再次读取寄存器数据,若与上一次数据相同,说明工作不正常,转而设置时钟时间;若数据不相同,说明工作正常,则退出主程序。

3.3.4时钟程序

对时钟模块DS1302进行读写操作时,其流程图3.3.4-1如下所示:

对时钟模块DS1302进行读写操作时数据为BCD 码,这就需要对数据进行必要的转换,因为本系统中设置的时间参数为二进制数,所以需要对二进制与BCD 码之间进行转换。

3.4显示驱动模块

3.4.1显示器1602的介绍

1602显示器有16个管脚,每个管脚的功能如下:

1号管脚:VSS 接地。

2号管脚:VDD 接+5V正电源。

3号管脚:V0功能是对显示器对比度进行调整。

4号管脚:Rs 为寄存器选择端。低电平选择指令寄存器,高电平时选择数据寄存器. 5号管脚:R/W为高电平时执行读操作,R/W为低电平时执行写操作

6号管脚:E 功能为使能端,当E 由高低变化,1602执行命令。

7到第14号管脚:D0到D7为8位的双向数据线。

15号管脚:背光电源的正极。

16号管脚:背光电源的负极。

1602液晶模块内部字符发生存储器,自带存储160个点阵字符的图形,这些字符包含了英文字母、常用符号和阿拉伯数字等,每个字符都有其指定的代码。

3.5系统调试

在整个智能节能照明系统完成之后,为了验证系统的稳定性和可靠性,则需要对系统进行,排除一切故障使系统能够达到预期的要求,本系统的调试主要是对整个控制操作系统和单片机系统进行调试。在对系统进行调试之前,应先对整个系统的硬件部分进行静态调试,对软件也需要进行初步的调试,完成之后在对系统进行动态调试。其步骤如下:

(1) 静态调试:所谓静态调试,主要是对单片机的硬件的明显故障进行修

改,如电路连接是否正确,端口是否正确,是否有虚焊,焊接是否牢

固等等。这些都需要在焊接时仔细检查,保证没有任何错误。

(2) 软件调试:对于软件编程主要是通过汇编软件对程序进行汇编,在编

程过程中如果出现了错误一定要及时的修改。对于软件的检测采用模

拟开发系统,通过调试的结果随时观察程序状态,确保程序的正确性。

(3) 动态调试:在程序调试完成之后,把程序下载到单片机中,观察整个

系统的运行状态,如果有错误则一步步审查,直至整个系统安全可靠

的运行。

第4章 结论

本课题主要通过对图书馆的照明系统进行研究,以环境光照强度和人体存在的状况为主要参数,从而研发用电效率更高,防止电能源浪费的智能节能照明系统,比人为的管理更加的可靠方便。同时还加入了时间因素,弥补智能控制不够人性化一面。本系统的设计对于各大学校图书馆节能控制具有重要的作用,同样也适用于教室,办公室等场所。本系统主要采用AT89C52单片机为主控芯片,通过对相应的外面电路进行设置来完成系统的智能效果,实现对开灯或关灯的智能控制。同时为了防止系统存在的故障影响照明,设置了手动操纵,防止故障发生时影响照明。本系统可以与现存的照明设备配套使用,不需要进行大的改动,大大的降低了智能节能控制照明系统实现的成本。

参考文献

[1] 朱晓骏. 单片机原理及应用[M].北京:北京理工大学出版社.2011.

[2] 周明珠. 无触点开关在控制中的应用[J].现代电子技术,2002,4(1):62-71

[3]俞海珍,李宪章,冯浩. 热释电红外传感器及其应用[J].电子照明技术,2006. 7(1):25-28

[4]赵玉安. 人体热释电红外传感器介绍[J].中国电子制作,2006,9(1):35-40

[5]樊贵卿,李庆武,靳建华. 串行实时时钟芯片DS 1302程序设计中的问题与对策. 电子技

术应用2005.2

[6]谢晓军. 红外遥控技术在付费率电度表中应用[J],电测与仪表,2006,4(1): 24-26

[7]张友德等. 单片机原理应用与实验[M].上海:复旦大学出版社,2003

[8]李朝青《单片机原理及接口技术》[M] 北京航空航天大学出版社 2005年第三版

[9]童诗白, 华成英. 《模拟电子技术基础》. 北京: 高等教育出版社,2001年, 第3版

[10]李华.MCU-51系列单片机实用接口技术. 北京:北京航空航天大学出版社,2003. 6

[11]戴佳,戴为恒.51单片机C 语言应用程序设计实例精讲[M].北京:电子工业出版社,2006.

[12]陈永甫. 红外探测与控制电路[M].北京:人民邮电出版社

[13] Ndala Co Capacitance Sensors for Measureing Single Kernal Moisture Content in Corea AmSOCAg Eng,2005

[14]Structure and function of the MCS-51 series

[15]AT89C51 DATA SHEEP Philips Semiconductors 2009.dec

附录1部分元件特性介绍

(一)单片机AT89S52:

AT89系列单片机是由美国ATMEL 公司将闪速存储器与MCS-51控制器相结合开发生产的一种新型8位单片机,它不但具有一般MCS-51单片机的所有特性,而且还拥有一些独特的优点。

它具有以下主要特性:

(1) 与MCS-51系列单片机兼容。

(2) 8K Bytes, Flash存储器,在线编程,可写1000次。

(3) 4. 0-5. 5V的工作电压。

(4)自带256X8bit RAM。

(5) 32个可编程I/0管脚。

(6) 3个16-Bit 定时器/计数器。

(7) 8个中断源。

(8)自带看门狗。

(二)时钟芯片DS1302特征如下:

1、实时时钟,可以对秒、分、时、周、日、月、年以及带闰年补偿的年进行计数。

2、与TIL(Time To Live生存时间) 兼容,Vcc=5V。。

3、2.0-5.5V 的宽电压范围,工作电流2.0V 时, 小于300nA 。

4、具有主从双电源方式。

5、自带看门狗。

6、8脚DIP 封装或可选的8脚SOIC 封装根据表面装配。

7、读/写时钟或RAM 数据时有两种传送方式,单字节传送和多字节传送(字符组方式)。

8、31×8位暂存数据存储RAM 。

附录2程序设计

一、时钟程序设计

#define WRITE_SECOND 0x80

#define WRITE_MINUTE 0x82

#define WRITE_HOUR 0x84

#define READ_SECOND 0x81

#define READ_MINUTE 0x83

#define READ_HOUR 0x85

#define WRITE_PROTECT 0x8E

//位寻址寄存器定义

sbit ACC_7 = ACC^7; //管脚定义

sbit SCLK = P3^0; // DS1302时钟信号 7脚

sbit DIO= P3^1; // DS1302数据信号 6脚

sbit CE = P3^2; // DS1302片选 5脚

//地址、数据发送子程序

void Write1302 ( unsigned char addr,dat )

{

unsigned char i,temp ;

CE=0; //CE引脚为低电平,数据传送中止

SCLK=0; //清零时钟总线

CE = 1; //CE引脚为高电平,逻辑控制有效

//发送地址

for ( i=8; i>0; i-- ) //循环8次移位

{

SCLK = 0;

temp = addr;

DIO = (bit)(temp&0x01); //每次传输低字节

addr >>= 1; //右移一位

SCLK = 1;

} //发送数据

for ( i=8; i>0; i-- )

{

SCLK = 0;

temp = dat;

DIO = (bit)(temp&0x01);

dat >>= 1;

SCLK = 1;

}

CE = 0;

} //数据读取子程序

unsigned char Read1302 ( unsigned char addr )

{

unsigned char i,temp ,dat1,dat2;

CE=0;

SCLK=0;

CE = 1;

for ( i=8; i>0; i-- ) //循环8次移位

{

SCLK = 0;

temp = addr;

DIO = (bit)(temp&0x01); //每次传输低字节

addr >>= 1; //右移一位

SCLK = 1;

}

for ( i=8; i>0; i-- )

{

ACC_7=DIO;

SCLK = 1;

ACC>>=1;

SCLK = 0;

}

CE=0;

dat1=ACC;

dat2=dat1/16; //数据进制转换

dat1=dat1%16; //十六进制转十进制

dat1=dat1+dat2*10;

return (dat1);

}

//初始化DS1302

void Initial(void)

{

Write1302 (WRITE_PROTECT,0X00) ; //禁止写保护

Write1302 (WRITE_SECOND,0x56) ; //秒位初始化

Write1302 (WRITE_MINUTE,0x34) ; //分钟初始化

Write1302 (WRITE_HOUR,0x12) ; //小时初始化

Write1302 (WRITE_PROTECT,0x80) ; //允许写保护

}

二、1602显示程序

/*-----------------------------------------------

名称:LCD1602

修改:无

内容:

引脚定义如下:1-VSS 2-VDD 3-V0 4-RS 5-R/W 6-E 7-14 DB0-DB7 15-BLA

16-BLK

------------------------------------------------*/

#include "1602.h"

#include "delay.h"

#define CHECK_BUSY

sbit RS = P2^0; //定义端口

sbit RW = P2^1;

sbit EN = P2^2;

#define RS_CLR RS=0

#define RS_SET RS=1

#define RW_CLR RW=0

#define RW_SET RW=1

#define EN_CLR EN=0

#define EN_SET EN=1

#define DataPort P0

/*------------------------------------------------

判忙函数

------------------------------------------------*/

bit LCD_Check_Busy(void)

{

#ifdef CHECK_BUSY

DataPort= 0xFF;

RS_CLR;

RW_SET;

EN_CLR;

_nop_();

EN_SET;

return (bit)(DataPort & 0x80);

#else

return 0;

#endif

}

/*------------------------------------------------

写入命令函数

------------------------------------------------*/

void LCD_Write_Com(unsigned char com)

{

while(LCD_Check_Busy()); //忙则等待

RS_CLR;

RW_CLR;

EN_SET;

DataPort= com;

_nop_();

EN_CLR;

}

/*------------------------------------------------

写入数据函数

------------------------------------------------*/

void LCD_Write_Data(unsigned char Data)

{

while(LCD_Check_Busy()); //忙则等待

RS_SET;

RW_CLR;

EN_SET;

DataPort= Data;

_nop_();

EN_CLR;

}

/*------------------------------------------------

清屏函数

------------------------------------------------*/

void LCD_Clear(void)

{

LCD_Write_Com(0x01);

DelayMs(5);

}

/*------------------------------------------------

写入字符串函数

------------------------------------------------*/

void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s) {

while (*s)

{

LCD_Write_Char(x,y,*s);

s ++; x++;

}

}

/*------------------------------------------------

写入字符函数

------------------------------------------------*/

void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data) {

if (y == 0)

{

LCD_Write_Com(0x80 + x);

}

else

{

LCD_Write_Com(0xC0 + x);

}

LCD_Write_Data( Data);

}

/*------------------------------------------------

初始化函数

------------------------------------------------*/

void LCD_Init(void)

{

LCD_Write_Com(0x38); /*显示模式设置*/

DelayMs(5);

LCD_Write_Com(0x38);

DelayMs(5);

LCD_Write_Com(0x38);

DelayMs(5);

LCD_Write_Com(0x38);

LCD_Write_Com(0x08); /*显示关闭*/

LCD_Write_Com(0x01); /*显示清屏*/

LCD_Write_Com(0x06); /*显示光标移动设置*/

DelayMs(5);

LCD_Write_Com(0x0C); /*显示开及光标设置*/

}

三、照明控制程序:

#include#include

#include"1602.h"

#include"delay.h"

sbit hongwai=P3^6;

sbit guangxian=P3^5;

sbit dengguang=P1^0;

sbit shoudong=P3^7;

/*------------------------------------------------

主程序

------------------------------------------------*/

main()

{

unsigned char s;

LCD_Init(); //初始化液晶屏

DelayMs(10); //延时用于稳定,可以去掉

LCD_Clear(); //清屏

LCD_Write_String(0,0," Welcome To Use"); //写入第一行信息,主循环中不再更改此信息,所以在while 之前写入

LCD_Write_String(0,1,"ShiYangQing Made"); //写入第二行信息,提示输入密码

for(s=0;s

DelayMs(200);

LCD_Clear();

dengguang=1;

while (1) //主循环

{ if(shoudong==0)

{ DelayMs(500);

LCD_Clear();

LCD_Write_String(0,0," Manually Turn ");

LCD_Write_String(0,1," On The Light ");

dengguang=0;

}

else

{

if(guangxian==1)//wuguang

{ if(hongwai==1)//youren

{dengguang=0;//kaideng

DelayMs(500);

LCD_Clear();

LCD_Write_String(0,0," Lack Light "); //显示有人

LCD_Write_String(0,1," People /OPEN");

}

else

{dengguang=1;//guangdeng

DelayMs(500);

LCD_Clear();

LCD_Write_String(0,0," Lack Light "); //显示无人 LCD_Write_String(0,1,"NO People /CLOSE");

}

}

else //guangxianchongzu

{ if(hongwai==1)//youren

{dengguang=1;//guangdeng

DelayMs(500);

LCD_Clear();

LCD_Write_String(0,0," Light Enough "); //显示有人 LCD_Write_String(0,1," People /CLOSE ");

}

else

{dengguang=1;//guangdeng

DelayMs(500);

LCD_Clear();

LCD_Write_String(0,0," Light Enough "); //显示无人 LCD_Write_String(0,1,"NO People /CLOSE");

}

}

}

}

}

#include "delay.h"

void DelayUs2x(unsigned char t)

{

while(--t);

}

void DelayMs(unsigned char t)

{

while(t--)

{

//大致延时1mS

DelayUs2x(245);

DelayUs2x(245);

}

}

附图

A

附图

B


相关内容

  • 大学生学科竞赛简版
    相关的国家级大学生学科竞赛介绍 历史最悠久的全国大学生科技学术竞赛是"挑战杯"全国大学生课外学术实践竞赛.根据<教育部 财政部关于实施高等学校本科教学质量与教学改革工程的通知>(教高[2007]1号)的总体安 ...
  • 五星级酒店常规设计内容
    酒店智能化系统需求规划方案 1.工程概况 xxxxxxxxxxxxxxxxxxxxxxxxxxxxx 2.智能化系统建设目标 ● 实现本项目甲级智能化建筑工程的定位,酒店部分达到目前国内大.中城市五星级酒店的智能化水平:办公部分达到目前国内 ...
  • 建筑智能化相关上市公司一览
    城市信息智能化相关上市公司一览 (2010-09-06 00:10:04) 新兴智能产业潜力巨大空间广阔,因为它代表最先进的生产力,代表科技发展的未来方向.新兴智能产业按产业链划分,可分为芯片设计与制造.应用设备制造.软件开发.系统集成等环 ...
  • 智能建筑照明控制系统
    中国科技期刊数据库 工业C 智能建筑照明控制系统 郁亚兵 杭州青鸟电子有限公司,浙江 杭州 310005 摘要:随着智能照明系统技术的日益发展和逐渐完善,其高效节能.管理方便.人性化等特点,将会给建筑物的通电运行带来很大的便利.不但提高了建 ...
  • 技术改造项目可行性报告内容
    技术改造项目可行性报告内容 一.总论 1.技术研发目的: 在能源日趋紧张的今天,积极为工矿企业提供稳定.可靠.高效.节能的控 制系统,为客户节约降低能耗,减少成本,提高产品竞争力,实现双赢.多赢.响应国家的"节能.减排.降耗&qu ...
  • 热管散热器
    摘要 本设计的目的就是设计一个基于PIC 单片机的散热器温度控制器,从而通过它以及几片热管散热器组成能够用于普通家庭的电采暖系统.针对温室环境调控自动化程度不高的现状, 设计了基于PIC16F877单片机的温室自动控制系统, 介绍了温室控制 ...
  • 中国节能技术政策大纲
    中国节能技术政策大纲 为推动节能技术进步,提高能源利用效率,促进节约能源和优化用能结构,建设资源节约型.环境友好型社会,我们组织有关单位和专家,在广泛征求社会各界意见的基础上,重新修订<中国节能技术政策大纲>(以下简称<大 ...
  • 智能配电台区技术方案
    智 能 配 电 台 区 技术方案 二〇一二年三月 目 录 第一章 综述..................................................................................... ...
  • 上海市高新技术产业和技术指导目录
    上海市高新技术产业和技术指导目录 (修 订 稿) 上海市科学技术委员会 二OO六年二月 修 订 说 明 <上海市高新技术产业和产品目录>是本市科技成果转化和科技企业发展的重要指导性文件,是申请 高新技术成果转化项目认定和高新技术 ...
  • 省创新项目结题
    项目编号 __07423___ 福建省大学生创新性实验计划 项目结题表 项 目 名 称: 项 目 负 责 人: 所在学院.年级: 联 系 电 话: 电 子 邮 件: 指 导 教 师: 项 目 起 止 时 间: 填 表 日 期: 基于 MCU ...