基于单片机的家庭电源管理系统设计说明.doc
存档日期: 存档编号: 本科生毕业设计(论文) 论 文 题 目:基于单片机的家庭电源管理系统设计 姓 名: 金祥 学 院: 电气工程与自动化学院 专 业: 自动化 班 级 、 学 号: 08电51 0 8 2 8 5 0 18 指 导 教 师: 甘良志 师大学教务处印制38 / 43摘 要本设计是基于单片机的家庭电源管理系统设计,由单片机AT89C52芯片、时钟芯片DS1302、键盘、LED数码管、继电器控制电路与漏电保护为核心构成一个可以由用户设定时间参数的家庭电源管理系统。通过LED数码管显示实时时间;用户可以通过键盘设置时间参数,当实时时间达到用户设定的时间参数的时候控制继电器动作,从而控制家用电器的接通或者关断;另外系统具有漏电保护的功能。设计容包括电源、按键、实时显示、继电器控制以与漏电保护等几部分。电源是由220v经过变压器变压、整流与滤波、7805稳压模块,最后得到稳定的5v输出;实时时间的显示是通过读取DS1302中的时间数据最后显示在数码管上;继电器控制电路中的继电器采用5v继电器;漏电保护主要包括:检测元件(零序电流互感器)、中间环节(放大器、比较器)、执行元件(脱扣器)。本设计可以使得家庭用电走向智能化,安全化,极大的方便用户的用电管理。关键词: AT89C52 时钟芯片DS1302 继电器 漏电保护 家用电器 AbstractThe family power management system design is based on Single-Chip Microcomputer, AT89C52 Single-Chip Microcomputer,the clock by DS1302 chip, keyboard, LED digital tube, relay control circuit and leakage protection as the core, constitute a can be made by users set time parameter family power management system.Through the LED digital display real-time tube time ,The user can through the keyboard set a time parameters, when real-time time reaching users set time parameters to control the relay action, so as to control household appliances connected or shut off; Another system has the function of the leakage protection. Design content including power supply, buttons, real-time display, relay control and leakage protection and several parts. By 220 v power supply is after transformer variable pressure, rectifier and filtering, 7805 voltage stabilizing module, finally get stable 5 v output; Real-time display is through time to read the DS1302 time data showed that in the digital tube last; Relay control circuit of the relay the 5 v relay; Leakage protection mainly include: the test components (zero sequence current transformer), the intermediate link (amplifiers, comparator), actuators (tripping device). This design can make family USES electricity to intelligent, secure, great convenience of power user management.Keywords: AT89C52 DS1302 clock chip relay leakage protection household appliances目 录摘要IAbstractII1 概述11.1 课题研究背景与意义11.2国外研究现状21.3本论文的主要工作42硬件设计52.1 系统框图52.2电源62.3最小系统72.4复位电路82.5 键盘与显示92.6继电器控制电路102.7 实时时钟DS130214 2.8 漏电保护电路172.9 整体的电路图193软件设计203.1 软件流程图203.2软件部分214总结32致35参考文献36元件清单371 概述 1.1课题研究背景与意义随着世界经济的发展,技术的进步,人们对于自身的生活追求也在发生着日新月异的变化,总体的趋势是越来越追求高度信息化、智能化与安全化。人们渴望便捷的生活空间,渴望智能化的生活模式,无论是现今的电子技术,还是机械产品都在为了满足人们的这种需求而不懈努力,一次又一次的技术革命,一个又一个的创新成就,无不诉说着人类智慧的光芒。而推动这一切的“幕后黑手”正是人们的这种渴望,这种需求。人们对于速度的需求,使得人们不再满足于自身的脚步,于是有了马这种交通工具,同样是由于人们对于速度的需求,渐渐有了蒸汽机,柴油机,有了火车,骑车,轮船,飞机使得人们的速度越来越快,交通便捷性也越来越高。我国经历了改革开放30多年,获得了非常巨大的经济成就, GDP增长速度居于世界前列,经济总量也已经跃居世界第二,仅次于美国。人们的生活水平发生了很大的变化,收入也在不断增加,对于生活便捷性的需求也越发强烈。步入21世纪的中国人民对于智能化的家庭生活空间极为渴求,因为这种智能化带来的是更加便捷,更加舒适也更加人性化的生活模式,满足人们各种各样的新的需求,例如:人们希望在下班回到家之前空调已经调节好室的温度,电饭煲煮好饭,热水器准备好洗澡的热水,用户可以通过手机或者其他的信息终端实现对家用电器的控制,并将控制结果发送到用户终端以帮助用户确认操作结果。无论是普通的灯具,还是电冰箱、空调、热水器、电饭煲、洗衣机这样的家用电器都可以实现很好的控制。家用电器的使用也将变得越来越安全化,安全性对于人们来说一直是最重要的,也是每一个设计必须要考虑的最根本问题之一,智能化的生活空间将安全性也放在了一个十分重要的位置,通过多种手段实现安全保障,除了对于电路的保护还有对于家庭财产的保护,对于电路的保护已经比较成熟,有很多产品可以直接选择;对于财产的保护则是现今很多公司对于家庭智能化技术的一个追捧方向,他们尝试着各种方法去实现实时监测,异常报警,重要数据保存很多情况下都是不需要人为控制即可以完成特定功能的。例如:短路保护,漏电保护,过流保护,视频监测,自动报警设备另外,我国实行峰谷用电政策1,2,目前在不同的地区对峰谷用电价有不同的规定,也有地区试实行阶梯电价的,但是总体趋势是:对于低谷用电计较低电价,对于高峰用电计较高电价,电价关系到国计民生,是老百姓最为关心的物价指数之一,无论是生产还是生活都离不开用电,所以通过控制家用电器更多地在低谷用电时间工作可以帮助人们降低用电成本,减少生活支出,这将会是一项非常有意义的工作。1.2 国外研究现状家庭电源管理系统隶属于家居智能化系统3,4,在研究家庭电源管理系统时不得不提到家居智能化系统。家居智能化这个概念起源于上世纪70年代的美国,之后,传播到了欧洲、日本等地并且得到了极大的发展。在国,这个概念推广比较晚,大约在90年代末家居智能化系统才开始进入国,但发展速度惊人。家居智能化系统是由现代电子技术、通信技术与自动化技术相结合的产物。它能够自动控制和管理家电设备,对家庭环境的安全性进行监控和报警,并且能为用户提供更加安全舒适、高效便捷的生活学习与工作环境5。国外发展现状:在智能化家居的研发方面,美国以与一些欧洲的国家一直都处于领先地位。并且近年来,美国的微软公司以与摩托罗拉公司等为首的一大批国外的知名企业,都先后跻身于智能家居系统的研发中。例如:微软公司的“梦幻之家”、摩托罗拉公司的“居所之门”、IBM公司的“家庭主任”等。另外,日、新等国的企业也纷纷致力家居智能化的研发,对家居市场跃跃欲试。目前市场上的智能家居控制系统主要有:(1)美国,X-10系统,采用集中控制方式的实现,其功能较为强大,与其他家居控制系统比较起来相对简单。它使用原有的家庭电力线,不需要额外的布线,这也是这套系统最大优势之处。(2)德国,EIB系统,采用预埋布线以与中央控制的方式实现控制功能。但是由于工程复杂严苛,价格又比较高,所以一直没有打开国的市场。(3)新加坡,8X系统,采用预处理总线、集中控制的方式来实现控制功能。此套系统较为成熟,而且比较适合中国国情。但是由于系统架构、灵活性以与产品的价格等方面都还难以达到要求,因此目前在国还应用较少5。国发展现状:我国在智能家居领域相对于国外来说起步较晚,还没有形成一定国家标准。目前主要依靠国外公司的一些技术,但是也有一些国企业推出自己的产品,比如:(1)海尔,“e家族”:该系列以海尔电脑为控制中心,将各种家电作为终端设备,海尔公司在技术上同微软公司合作,利用微软公司的Windows Me技术,使“e家族”产品系列已具雏形。(2)清华同方,“e-home 数字家园”:该控制系统是针对中国家庭设计的,遵循国际上的技术标准,并且采用嵌入式软件、硬件技术。产品以功能模块的开发为主,且基于国外成熟的智能家居控制系统的标准之上。该控制系统主要有以下三个部分:系列A:适用高档住宅区,遵循EIB协议的产品。系列B:适用中档住宅区,遵循X-10协议的产品。易家三代:配电箱采用集中安装式的家庭控制产品。国主要软、硬件机构都在积极的研制和开发更为符合市场需求的智能家居设备和产品,以解决目前智能化家居产品使用复杂、实用性差以与价格过于昂贵等缺点,技术创新也逐步向国际上先进水平靠拢,这样的未来很值得期待5。发展趋势:近年来,随着房地产业的发展,国智能家居领域获得了发展的良好机遇。而且中国人口众多,在城市住宅方面也多选择密集型的住宅小区,经过哥本哈根会议9,我国更加明确了节能减排的目标,这就使得住宅智能化越发凸显出了其合理规划、最大限度的节约能源的优势。“智能化家居”必在“智能化住宅”的框架下形成一个新型IT产业,而这一切必将对未来我国房地产的健康发展起着深远的影响。有一项调查显示,在住宅的智能化控制系统中,需求量最大的是紧急呼叫系统,有将近50购房者认为这个是必备的设施;其次是门禁系统;其后是计算机网络系统、三表抄送系统和对家电综合控制系统等6,7。智能家居可以归纳为一种家用设备的互连和控制的网络,互连满足人们数据通信的需求,控制体现家居的智能化 8。家庭电源管理系统研究的是家用电器的控制方法,使其达到智能化水平,是智能化家居系统中不可或缺的一部分。对于家庭电源管理系统的研究可以更进一步的服务于智能化家居系统,而且这也将是一个非常有意义的研究领域。1.3 本论文的主要工作(1)实现由用户自己设定时间参数控制家用电器工作的功能由单片机AT89C52作为控制核心,读取时钟芯片DS1302中的时间数据,将实际时间显示在4位数码管上(显示小时与分钟),用户可以通过键盘设置时间起点与终点,当实际时间到达设置好的时间起点时,单片机控制继电器吸合,从而家用电器工作;当实际时间达到设置好的时间终点时,单片机控制继电器放开,从而家用电器停止工作。与这些功能相匹配的硬件电路有: 电源电路 单片机最小系统电路 单片机复位电路 键盘电路与数码管显示电路 继电器控制电路 时钟芯片DS1302的外围电路连接与这些功能相匹配的软件有: 初始化程序 延时程序 读取DS1302时钟数据程序 实时时间显示程序 键盘动态扫描以与设置时间参数程序 继电器控制程序(2)实现漏电保护的功能为了保障用户人身安全与家用电器的正常工作,增加漏电保护功能,当电路中出现漏电时与时予以处理,从而避免危险发生。2硬件设计2.1系统框图图2-1: 系统框图系统功能介绍:这是基于单片机的家庭电源管理系统设计,以单片机为控制核心,实现对电源的有效管理。时钟芯片DS1302提供时间数据,通过LED数码管显示实时时间;当实时时间到达用户设定的时间起点的时候,继电器吸合,家用电器开始工作;当实时时间到达用户设定的时间终点的时候,继电器断开,家用电器停止工作;为了保障用户人身安全与家用电器的正常工作,增加漏电保护功能,当电路中出现漏电时与时予以处理,从而避免危险的发生。由于控制较为简单,使用51单片机即可实现上述功能,这里选用AT89C52,它是一个低电压,高性能CMOS 8位单片机,由ATMEL公司生产,在电子行业中有着广泛的应用,其特点有10,11:1、兼容MCS51指令系统;2、8k反复擦写FLASH ROM;3、32个双向I/O口;4、256 bytes部RAM;5、3个16位可编程定时/计数器中断;6、时钟频率 024MHz;7、2个串行中断,可编程UART的串行通道;8、2个外部中断源,共8个中断源; 图2-2:AT89C529、2个读写中断口线,3级加密位;10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;11、有PDIP、PQFP、TQFP与PLCC等封装形式,以适应不同产品的需求。 引脚分类:(共40个引脚)1、电源线VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。2、端口线4个8位并行I/O接口P0,P1,P2,P3,它们可双向使用。3、控制线RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。ALE/(30脚)是地址锁存允许/编程引脚。/Vpp(31脚)是允许访问片外程序存储器/编程电源线,当为高电平读取部程序存储器指令,如果为低电平则读取外部程序存储器指令。XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。(29脚),片外ROM选通线,用于对片外ROM的选通,低电平有效。2.2电源这是一种将220V工频交流电转换成5v稳压输出的直流电压的电路,需要经过变压、整流、滤波、稳压四个环节才能完成17。四个环节的工作原理如下:(1)电源变压器:是降压变压器,它将电网220V交流电压变换成符合需要的交流电压,并送给整流电路,变压器的变比由变压器的副边电压确定。(2)整流滤波电路:整流电路将交流电压Ui变换成脉动的直流电压。再经滤波电路滤除较大的纹波成分,输出纹波较小的直流电压U1。常用的整流滤波电路有全波整流滤波、桥式整流滤波等,这里用的是桥式整流滤波电路。(3)滤波电路:可以将整流电路输出电压中的交流成分大部分加以滤除,从而得到比较平滑的直流电压。(4)稳压电路:稳压电路的功能是使输出的直流电压稳定,不随交流电网电压和负载的变化而变化。常用的集成稳压器有固定三端稳压器与可调三端稳压器。这里使用的是7805三端稳压器。图2-3:电源电路说明:将交流220v的电压经过变压器降压达到9v的交流电压,然后经过整流桥得到脉动直流,并用大电容C1平滑滤波后送到7805三端稳压器稳成5v直流电压输出,用大电容C2做进一步的平滑滤波,得到更好的直流输出。小电容C5是为了旁路电源中高次谐波而用的,这些高次谐波电解电容是滤不掉的,因为它本身的潜布电感较大,会阻碍高频成分的通过。 如果只分出一个5v电源,它除了供给单片机使用之外还得供给数码管、继电器等使用,这样会使得单片机真正得到的电压是低于5v的,从而影响单片机的工作性能。所以这里分出两个5v电压,一个单独供给单片机工作,保证其工作的可靠性,另外一个用来提供给数码管、继电器等使用。2.3 最小系统 XTAL1脚为片振荡电路的输入端,XTAL2脚为片振荡电路的输出端。时钟有两种方式,一种是外部时钟方式,即将XTAL1脚接地,外部时钟信号从XTAL2脚输入;另外一种是片时钟振荡方式,但需要在XTAL1脚、XTAL2脚外接石英晶体和振荡电容,石英晶体频率一般有两种选择:6MHz和12MHz,振荡电容C1、C2的作用是稳定频率和快速起振,电容值一般取1030pF,典型值为30pF。图2-4:最小系统说明:本电路设计时考虑到实际情况石英晶体选择11.0592MHz,与市场上现有的石英晶体参数相匹配。振荡电容采用30pF。2.4 复位电路 系统的开始运行和重新启动要靠复位电路来实现,这种工作方式为复位方式。单片机开机时都需要复位,以便CPU以与其他功能部件处于一种确定的初始状态,并从这个状态开始工作。单片机RST引脚是复位信号的输入端,复位信号高电平有效。进行复位操作时,外部电路需要在RST引脚产生两个机器周期(即24个时钟周期)以上的高电平。例如单片机的时钟频率为12MHz,则复位脉冲宽度应该在2us以上。图2-5:复位电路上电复位原理:在电路图中,电容的的大小是22uF,电阻的大小是8.2k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是8.2K*22uF=0.18s。也就是说在电脑启动的0.18s,电容两端的电压时在03.5V增加。这个时候8.2K电阻两端的电压为从51.5V减少(串联电路各处电压之和为总电压)。所以在0.18s,RST引脚所接收到的电压是5V1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.18s,单片机系统自动复位按键复位的原理:在单片机启动0.18S后,电容C两端的电压持续充电为5V,这时候8.2K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.18S,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候8.2K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。2.5 键盘与显示本设计中采用四位共阴极数码管显示小时与分钟,用户通过键盘输入想要设定的时间参数。电路中用到74LS373锁存器,数码管,按钮等。74LS373锁存器13,14:如图所示, 74LS373是常用的地址锁存器芯片,它实质是一个是带三态缓冲输出的8D触发器。D0D7为8个输入端,Q0Q7为8个输出端,当74LS373用作地址锁存器时,应使输出允许端为低电平,此时数据锁存控制端LE为高电平时,输出Q0Q7 状态与输入端D0D7状态一样;当LE端发生负的跳变时,输入端D0D7 数据锁入Q0Q7。单片机的数据锁存控制端连接到P2口进行控制,输入端D0D7连接到P0口进行数据通信,输出允许端接地,表示输出三态门一直打开。图2-6:74LS373表2-1:74LS373真值表 Dn LE Qn H H L H L H L L× L L Q0×× H 高阻态前4个74LS373锁存器分别对应一个数码管,通过送入不同的数据,显示不同的字形码;最后一个74LS373锁存器连接的是这4个共阴数码管的接地端,实现位选的功能,通过P0口发送数据,点亮某个数码管或者某几个数码管。作为段选为了让数码管按照设想的字型码显示,同样需要P0口发送出来的数据,但是显示不同的数字需要P0口的数据也不一样,为了方便起见,设立了下面的两个码表,这样,在软件设计中会起到简化编程的好处,当段选打开后只需要调用数组就可以显示相应的数字,当需要显示另外一个数字时,只需要调用数组中的另外一组数据即可,使用非常方便。表2-2:对应字形码09的码表101234567890x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f因为四位数码管上显示的是小时与分钟,为了方便用户的使用,增加设计的人性化,需要在显示实时时间上区分小时与分钟,也就是在小时的个位数后面显示出小数点,这样一来,第二个数码管是带小数点显示的,这需要与其他三个数码管区分开来,从而对于第二个数码管来说,码表变成了下面的情况:表2-3:对应字形码0.9.的码表2 0 1 2 3 4 5 6 78.9. 0xbf0x860xdb0xcf0xe60xed0xfd0x870xff0xef图2-7:键盘与显示电路键盘部分:当键盘按下的时候单片机的I/O口变成低电压,通过软件检测并送给单片机处理,从而实现键盘的动态扫描。按键的功能分配如下:K1:即时控制开与关,如果家用电器只能按照设定的时间来工作,这将是缺乏人性化设计的,因为用户可能在任意时间想让某个电器工作或者不工作,如果不能立即开或者关,将严重影响到用户体验。K2:设置时间起点键。K3:设置时间终点键。K4:时间调整键,K2、K3只是进入设置,而具体时间调整是由K4来实现的。K5:确定键,当时间设定好的时候,用户可以按下确定键查看自己设定好的时间,显示设置好的时间5秒钟,之后跳回显示实时时间的状态。在设计键盘的时候要考虑防抖动,除了硬件防抖动还需要软件防抖动,软件法防抖动实质就是延时,即检测到某一状态变化后,延时一段时间,再检测该按键的状态是否还保持着,如果是则视为按键处理,否则视为抖动,不予理睬。去抖的时间延时一般参考资料描述为10ms左右,实际应用中,应大于20ms。显示部分:1号数码管显示小时的十位数,2号数码管显示小时的个位数,3号数码管显示分钟的十位数,4号数码管显示分钟的个位数。通过软件编程,将键盘上的输入反映在数码管上,从而实现用户设定时间参数的功能。另外也可以将单片机从时钟芯片DS1302中读出的时间数据显示在数码管上。要注意的是,这里的数码管为共阴极数码管,要加上拉电阻连接5V电源才能点亮数码管,单片机的I/O口是无法直接点亮数码管的。至于数码管的控制则关系到位选和段选,位选控制哪个或哪几个数码管亮;而段选控制数码管显示什么样的字型码。2.6 继电器控制电路该过程的思路是:单片机给普通继电器一个控制信号,把普通继电器当作一个开关来使用,然后接家用电器。电路原理图如下所示:图2-8:继电器控制电路1说明:此电路在仿真环境下毫无影响,实际电路当中只要继电器不接交流接触器单片机就不会出现复位的怪异现象,而且不论是接220V的电灯还是220V的电机都不会有问题,但是只要接上交流接触器单片机就会出现复位现象。其流接触器的接法如图:图2-9:继电器控制电路2 单片机出现复位的现象是来自交流接触器对单片机供电系统的影响,解决的办法有:(1)电源采用抗干扰措施和输出隔离,也就是在这里普通继电器的供电和单片机的供电应该隔离。(2)因为接触器释放时,线圈产生的高压反电动势会干扰系统,解决办法是在接触器上的线圈两端串联电容和电阻,电阻根据接触器线圈来决定,消除这个干扰。电容采用的是0.1uF 250V瓷电容,电容耐压要尽量大,电阻采用的是2W 200。其电路如下图所示:图2-10:继电器控制电路3实验室做好的东西在一些环境下可以毫无问题的使用,但是当具体应用到一些场所的时候尤其是工业场所中一定要注意负载电路和控制电路之间的信号隔离和电气隔离。应用感性的负载时一定要注意灭弧,因为电弧对控制电路的影响非常大。继电器的灭弧方法,电弧是空气电离产生的,继电器触头拉电弧灭弧问题与继电器励磁线圈(或感性负载)断电时产生高压问题是两个不同的问题。继电器励磁线圈(或感性负载)断电时产生高压问题一般用RC吸收回路(并联于感性负载或接点)。如果是直流还可以用感性负载并联续流二极管的方法解决。继电器触头产生上拉电弧,说明选用的继电器负载能力不够,应当采用带有灭弧措施的接触器或断路器,或采用固态继电器(并联RC吸收回路)。只要在电流为零时断开接点,就不会产生电弧。电磁继电器难以做到,但采用固态继电器就容易做到。所以,最终的继电器控制电路如下图所示:图2-11:设计完成的继电器控制电路2.7 实时时钟 DS1302DS1302 是DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,采用SPI三线接口与CPU进行同步通信,并采用突发方式一次传送多个字节的时钟信号和RAM数据。它可以对年、月、日、时、分、秒进行计时,并且具有闰年补偿功能,工作电压为2.5V5.5V。DS1302部有用于临时性存放数据的RAM寄存器。增加了主电源/后背电源双电源引脚,提供了对后背电源进行涓细电流充电的能力。DS1302引脚功能与结构 14:DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc10.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。CLK:串行时钟输入,控制数据的输入与输出;I/O:三线接口时的双向数据线;:输入信号,在读、写数据期间,必须为低。该引脚有两个功能:第一,开始控制字访问移位寄存器的控制逻辑;其次,提供结束单字节或者多字节数据传输的方法。 图2-12:时钟芯片DS1302DS1302有下列几组寄存器:(1)DS1302有关日历、时间的寄存器共12个,其中7个寄存器(读时81h8Dh,写时80h8Ch),存放的数据格式为BCD码形式。表2-4:DS1302关于时间的寄存器读写BIT 7BIT 6BIT 5BIT 4BIT 3BIT 2BIT 1 BIT 0 81h 80h CH 10秒 秒 83h 82h 10分 分 85h 84h12/24 0 10 时 时AM/PM 87h 86h 0 0 10日 日 89h 88h 0 0 010月 月 8Bh 8Ah 0 0 0 0 0 周日 8Dh 8Ch 10年 年 8Fh 8Eh WP 0 0 0 0 0 0 0小时寄存器(85h、84h)的位7定义DS1302运行模式(12小时模式、24小时模式)。当它为高时,是12小时的模式,当它为低时,是 24小时的模式。在12小时的模式时,位5是0时表示AM;为1时表示PM。在24小时的模式时,位5就是第二个10小时位。秒寄存器(81h、80h)位7定义成时钟暂停标志(CH)。当它为1时,使得时钟振荡器停止振荡,DS1302进入低功耗的状态;当它为0时,时钟运行。控制寄存器(8Fh、8Eh)位7为写保护位(WP),其他7位都置0。在任何对时钟、RAM写操作前,WP位都必须置为0。当WP为1的时候,写保护位会防止针对任一一个寄存器的写操作。(2)DS1302的工作模式寄存器所谓突发模式是指一次传送多个字节的时钟信号和RAM数据。突发模式寄存器如下所示:表2-5: DS1302的工作模式寄存器工作模式寄存器读寄存器写寄存器时钟突发模式寄存器CLOCK BURST BFh BEhRAM突发模式寄存器RAM BURST FFh FEh读写时序说明:DS1302是SPI总线驱动方式。它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。要想与DS1302通信,首先要了解DS1302的控制字。表2-6: DS1302控制字76 5 4 3 2 1 01RAMA4 A3 A2A1 A0 RD控制字最高有效位(位7)必须为逻辑1,不然,就不能将数据写入到DS1302中;位6:如果为0,表示存取的是日历时钟数据,为1则表示存取的是RAM数据;位5位1(A4A0):指出操作单元所在的地址;位0(最低有效位):如果为0,表示要进行写操作,为1表示要进行读操作。控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。同样,在紧随8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据也是从最低位到最高位。实时时钟电路如下图所示:图2-13:实时时钟电路2.8 漏电保护电路漏电保护电路是为了有效防止接地故障引起人身电击和电气火灾的保护电路。国际电工委员会标准IEC4.79(电流通过人体的效应)确定1,2,通过人体的交流50HZ电流不超过30mA时,人体不会因为发生心室纤维性颤动而死亡,它与人体潮湿程度、接触电压高低无直接关系。在线路短路部分是接地故障,即相线与、电气设备外壳、金属结构管道之间的短路。接地故障既能引起人身电击事故,也比相间短路、单相短路容易引起电气火灾。当发生电弧性接地故障起火时,因电弧电流小,断路器、熔断器往往不能在火灾发生前切断电源,而漏电保护器能够立即动作切断电源,因此应用非常普遍。一般选择动作电流不超过30mA,动作时间不超过0.1s,这两个参数保证了人体如果触电时,不会使触电者产生病理性生理危险效应。漏电保护电路主要包括:检测元件(零序电流互感器)、中间环节(放大器、比较器、脱扣器)、执行元件(主开关)等几个部分。在被保护电路正常工作时,没有发生漏电或触电的情况下,通过零序电流互感器一次测的电流相量和等于零。二次侧不产生感应电动势,脱扣器不动作,系统保持正常工作。当被保护电路发生漏电或者有人触电时,通过零序电流互感器一次测各相电流相量和不再等于零,产生了漏电电流。二次侧产生了感应电动势,此漏电信号经过中间环节处理和比较,当达到预定值时,使主开关分励脱扣器线圈通电,驱动主开关自动跳闸,切断故障点,从而实现保护。下图为漏电保护电路示意图:图2-14:漏电保护2.9 整体的电路图图2-15:整体硬件电路图3软件设计3.1 软件流程图图3-1:软件流程图3.2 部分软件(1)引脚和参数的定义sbit kin=P10;sbit k1=P25; /即时控制键 sbit k2=P26; /设置时间起点 sbit k3=P27; /设置时间终点 sbit k4=P30; /调整键 sbit k5=P31; /确定键sbit duan1=P20; sbit duan2=P21; /段选 sbit duan3=P22; sbit duan4=P23; sbit wei=P24; /位选sbit SCLK=P35; /时钟芯片的管脚定义 sbit DIO=P36; sbit RST=P37; sbit ACC_7=ACC7; /位寻址寄存器定义uint hour,minute,t1,t2,show,num1,num2,a1,a2,a3,a4,b1,b2,b3,b4,c1,c2,c3,c4; /定义参数:a1a4是实时显示时送入数码管中的数据;b1b4是用户定义时间起点时存储的数据c1c4是用户定义时间终点时存储的数据它们分别对应数码管的14位。(2)初始化程序void initial(void) a1=0; a2=0; a3=0; a4=0;b1=0; b2=0; b3=0; b4=0;c1=0; c2=0; c3=0; c4=0;t1=0; t2=0;num1=0; num2=0;kin=0;show=1;(3)延时子程序void delay(uint z)/毫秒延时uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);(4)读取DS1302时间数据子程序uchar read1302(uchar addr) /读取时钟芯片中的时间数据 uchar i,temp,dat1,dat2;RST=0;SCLK=0;RST=1;/发送地址 fo