搜索
您的当前位置:首页正文

智能灯控系统的设计与实现毕业论文

来源:小奈知识网


智能灯控系统的设计与实现毕业论文

目录

摘要----------------------------------------------------------1 ABSTRACT--------------------------------------------------2 1.引言--------------------------------------------------------5

1.1课题研究的意义----------------------------------------5 1.2国内外教室灯光控制器研究的现状及其存在的问题------------5 1.3本课题研究的内容和目标----------------------------------7 1.3.1研究内容------------------------------------------7 1.3.2研究目标------------------------------------------7

1.4本课题拟解决的关键问------------------------------------8

2.教室灯光控制器简介及控制方案的分析---------------------8

2.1教室灯光控制器简介--------------------------------------8 2.2系统控制方案的分析--------------------------------------8

3.系统控制模块的硬件设计-----------------------------------9

3.1控制模块的硬件构成--------------------------------------9 3.2控制系统的主要硬件电路--------------------------- ------9 3.2.1系统主控电路-------------------------------------10 3.2.2在线编程模块电路---------------------------------10 3.2.3系统供电电路-------------------------------------11 3.2.4数据采集电路-------------------------------------12

3.2.5系统时钟电路-------------------------------------16

3.2.6系统看门狗电路-----------------------------------19 3.2.7继电器驱动接口电路--------------------------- ---21 3.2.8超时报警电路-------------------------------------21

4控制模块软件设计与开发-----------------------------------22

4.1系统监控主程序模块-------------------------------------23 4.1.1系统自检初始化-----------------------------------23

4.1.2定时中断处理-------------------------------------24

4.1.3多任务操作系统的构建-----------------------------24

4.2数据采集模块-------------------------------------------25 4.2.1人体存在传感器的优缺点---------------------------25 4.2.2数据采集软件设计的实现---------------------------25 4.2.3人体存在传感器的抗干扰措施-----------------------26 4.2.4人体存在传感器的安装要求-------------------------27

4.3时钟模块-----------------------------------------------27

1

4.3.1数据输入输出-------------------------------------27 4.3.2时钟内部寄存器的使用-----------------------------28 4.3.3时钟自检初始化-----------------------------------29 4.3.4时钟程序设计-------------------------------------30

4.4显示驱动模块-------------------------------------------30

4.4.1 ULN2803驱动器的应用-----------------------------32

4.4.2显示程序设计-------------------------------------32

4.5系统键功能---------------------------------------------33 4.5.1键功能处理程序-----------------------------------33

5系统调试运行及问题分析-----------------------------------34

5.1单片机系统调试方法及步骤-------------------------------34 5.2出现的主要问题及分析解决-------------------------------35

6.结论和建议-------------------------------------------------36

6.1结论---------------------------------------------------36 6.2建议---------------------------------------------------37

7.致谢--------------------------------------------------------38 参考文献-----------------------------------------------------39 附图A--------------------------------------------------------40 附图B -------------------------------------------------------41 附录一 ------------------------------------------------------42 附录二-------------------------------------------------------44

2

1.引言

1.1课题研究的意义

随着社*@#¥%……!&会经济和科学技术的发展,人们的生活水平也不断提高,导致用电负荷的增加,又由于世界性的能源危机,能源缺乏已成为世界所面临的严峻问题。而此问题对我国来说尤为严重。随着各类大、中专院校的扩招,教室的扩建,教室照明的需求也越来越多,而教室照明的管理不到位,往往造成电能的巨大浪费,这样,提高教室用电效率就成为首要考虑的问题。

目前对灯光的智能控制,国内外己经开始采用,但对教室灯光的控制,尤其是我国教室灯光的智*@#¥%……!&能控制尤为缺乏和不完善,依然是传统式的人工管理。各类大、中专院校不断扩招,教室不断扩建,教室的用电负荷不断加大,教室用电管理不善,造成学校电能浪费,经济损失,这种的浪费与当今的节约能源理念相违背。再者,现代自动化程度不断提高,计算机技术的普及,灯光的管理也在朝着自动化、智能化方向发展。例如楼道灯光的自动控制等等。所有这些使得教室灯光控制也应该朝着智能的方向发展。于是,开发简便、实用的教室灯光自动控制系统便具有重要的现实意义。

1.2国内外教室灯光控制器研究的现状及其存在的问题

世界各地发电的主*@#¥%……!&要原料是煤炭、石油和天然气,而丹麦在能源利用方面的成功经验提供了很好的借鉴。从1974年以来,尽管丹麦国民收入增长了50%,丹麦总的能源消费量并没有增加。丹麦是OECD成员国中能源消耗量和国民收入比值最小的国家。他们不断地提供一些节能供热系统,例如丹麦热电同供热电厂(CHP),而且,他们尽可能的有效利用资源。这样,他们的能源使用总效率达到了90%。丹麦政府很重视住*@#¥%……!&房空间用电的节能,并设立了对新建房屋节能的诸多要求。数据显示,居民入住有节能装置的房子时,他们要支付比没有节能方案房屋高出8%的费用。其节能项目经验在欧盟国家中广为流传。还有,欧司朗一斯维尼亚公司不断的推出新型高输出的荧光灯,节约

3

6%的总系统功率,并具有更高的光通和平均光通量。飞利浦照明*@#¥%……!&公司推出的陶瓷金卤灯代替过去的卤钨灯,可节能60%的电能。种种迹象表明世界各国都在采取不同方式来节约能源,节约电能。

中国经济持续多年的高速发*@#¥%……!&展让能源问题日益突出。虽然我国能源总储量不低,但由于我国人口众多,所以人均储量少,单位产值的能耗是发达国家的3-10倍。能源问题已成为制约我国国民经济发展的关键问题。从环境和自然资源角度出发,能源问题也是我国长期可持续发展战略中一个关键因素。此外,能源问题不仅关系经济发展和环*@#¥%……!&境生态,在特定情况下还会对社会稳定有很大影响。鉴于能源问题的重要性,我国在绿色照明工程新闻发布,绿色照明工程未来五年间将在公用设施、宾馆、商厦、居民住所等全国建筑物中推广1.5亿只节能灯,节电290亿度电。上海、河北等一些地方采取政府对节能灯大宗采购每只补贴3至4元的方式进行推广。从普*@#¥%……!&通白炽灯到高效节能灯,使我国的电光源产品结构逐步向节电型转变,荧光灯与普通白炽灯的比例由1995年的l:6.25前的l: 1. 5。

目前,我国照明用电约占社*@#¥%……!&会总用电量的12%,采用高效照明产品代替传统的低效照明产品可节电60%到80%。如今,北京正在大力推行绿色照明工程,己推出上百万只绿色照明光源和部分节能电器,据测算年节约用电可达3442万千瓦时,节约电费2519.7万元。@#¥%……!&*政府己经在商厦、学校、医院等更换了24万只节能灯具。在奥运工程的建*设上,也大量运用节能技术,北京的奥运厂馆“水立方”,通过采用大量的节能灯具,装备新技术,通过增强透光性白天可节约照明能耗50%。

我们党在2000年10月11日党第十五届中央委员会第五次会议通过的《中共中央关于制定国民经济和社会发展第十个五年计划的建议》中明确指出:“加强基础设施建设是今后五年至十年一项十分重要的任务。”其中提到的基础设施建设就包括了能源建设。《建议》*@#¥%……!&还强调了能源建设要发挥资源优势,优化能源结构,提高利用效率。面临如此紧迫的能源问题,我们应该把着眼点放在“高效加强环境保”利用“清洁”能源上4。由*此可见,节能照明用电,对节能具有重要的意义。目前国内各类院校中,由于同学们的自觉节能意识薄弱,在光线足够强时也开灯,护洁课上完离开教室后灯还亮着的现象普遍存在;而且,

4

节能规划极为欠缺,教室的灯光控制由管理人员手工代替,教室极多,管理人员忙不过来,这样就造成不必要的电能*浪费和经济损失。就我校为例,初步统计大小教室大约安装了共有5400盏灯,以每天仅亮灯8小时来计算,一年中扣除假期后,教室灯的耗电量约为52.25万度,学校在教室用电的经费上就得支出约为30.46万元人民币。而以每天浪费2小时用电来计算,一年大约要浪费13.06万度的电量,占教室照明用电经费的四分之一。我省各类大中专院校及其中小学总共有600百多所,若都象我校一样每年浪费13.06万度电的话,我省就会浪费近7900万度的电。导致电能的极大浪费。再者,每所院校不断的扩招,教室不断的扩建,若再没有改进教室的用电管理设备,那么用电负荷可想而知,浪费的电能就更、凉人了。

基于以上种种原因,提高教室用电效率就成为学校节能的重要且主要的措施之一,因此节能技术的重要手段之一就是教室灯关自动控制系统的设计无疑就成为其中一项重要课题。

1.3本课题研究的内容和目标

1.3.1研究内容

本课题的研究内容有如下几点: (1)了解教室照明光强的标准;

(2)调研教室灯光照明需求以及环境光强弱与开、关灯的关系; (3)研究人体存在探测技术,探测角度与范围;

(4)研究传感器教室分布、安放问题,是否一灯一个传感器或多灯公用传感器等; (5)研究确定人体传感器的有关参数; (6)研究灯光控制器电源问题;

(7)研究控制器参数值设定的要求及方案; (8)研究人工设置参数、掉电保存参数的问题;

(9)研究与现有教室照明相兼容,易替代,不易被偷盗、被仿制,易于维护、维修等控制技术;

(10)研究报警等附加功能问题 1.3.2研究目标

5

研究的教室灯光控制系统能用于现有教室照明系统的改造,实现对照明系统的人性化智能管理,提高用电效率;实现自动、手动灯光控制相兼容,以降低成本;通过反复试验和改进,最终达到可靠性、实用性、推广性较好的目标。

1.4本课题拟解决的关键问题

本课题拟通过试验研究教室灯光的各种控制方案解决如下关键问题: (1)照明回路的控制回路与控制器本身的节能问题; (2)传感器与教室灯配合安装的问题; (3)环境光参数输入采集问题; (4)人存在传感器参数输入采集问题; (5)开、关灯的自动与手动兼容措施;

2.教室灯光控制器简介及控制方案的分析

2.1教室灯光控制器简介

教室灯光控制器可实现有效的教室灯光智能控制。其输入参数主要是人体存在信号和环境光信号等的外界因素,环境光的强度达到一定值时不开灯,环境光强度在一定阀值以下且有人存在时开灯,理论和实验证明用这种方式来对教室灯进行智能控制可以实现上述目标。

教室灯光控制器一般安装在教室内避开电灯直射的位置,且人体传感器安置时应使人体活动方向与人体传感器中两个热释电元连线方向垂直,这样可使人体存在信号采集更加灵敏、可靠,同时还要尽可能避免外界风直接吹向人体传感器。

2.2系统控制方案的分析

所研制的控制器以自然光强度和人体存在作为控制器的主要输入参数。可以实现自动与手动控制相兼容。在自然环境光较强光线足够时,无论人是否存在,都不开灯;在自然环境光较弱时,有人存在且超过一定时间,控制器自动打开电灯,直到人离开后再延时一定时间后关灯。同时,还要按作息时间来控制,夜晚超过12点,若还有人存在,则关闭自动控制器的运行,改用机械开关来手动控

6

制,以解决因特殊情况下,自动控制器的不人性化运行。

本文所研究的教室灯光控制器主要是由硬件和软件两大部分组成。硬件部分是前提,是整个系统执行的基础,它主要为软件提供程序运行的平台。而软件部分,是对硬件端口所体现的信号,加以采集、分析、处理,最终实现控制器所要实现的各项功能,达到控制器自动与手动相结合的教室照明智能控制。

3.系统控制模块的硬件设计

考虑到本系统所安装的环境影响因素比较多,且教室控制设备中的人体存在传感器、光敏三极管等经常会因环境情形变化而不稳定,所以在设计过程中,电子元器件的选用、线路布置和设备的安放要充分考虑到抗干扰问题。

3.1控制模块的硬件构成

4系统控制单元是以单片机主控模块为核心,其它外围电路主要包括:ISP

下载线模块、系统供电模块、硬件时钟模块、看门狗模块、灯光驱动模块、数码管驱动显示模块、环境光模块、EEPROM存储模块、人体存在传感器模块、超时报警模块,其结构框图如图3-1所示:

图3-1系统控制单元结构框图

灯光驱动模块 数码管显示模块 硬件时钟模块 EEEPROM存储器模块 ISP下载线模块 51系统模块 环境光模块 人体存在传感器模块 电源模块 看门狗模块 7

3.2控制系统的主要硬件电路

3.2.1系统主控电路

本系统的主控模块主要采用Atmel公司的AT89C52作为主控芯片,它是一种低功耗,8位CMOS工艺处理器,具有8K在线可编程Flash存储器,片内的Flash可多次编程,为在线编程提供了方便。片内有128字节的RAM, 4KB的EEPROM,由于合理的安排使用片内RAM空间,所以没有扩展的片外RAM,使电路结构简捷。因为设备的设置参数是根据实际需要进行更改的,又要求是断电能够保存下来,89552引脚 外围器件引脚 说明 所以本设备用一片EEPR0M来存储系统的设置参数。AT89S52I/0端口与系统其它外围器件接口的分配情况表如表3-1所示。

8

P0.0-P0.7 P2.0-P2.7 P1.0 Pl.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P1.5一P1.7 P3.0一P3.1 P3.2 P3.3 P3.4 P3.5一P3.6 P3.7 ULN2803 NPN-9012基极 X5045SI X5045SCK X5045CS X5045S0 DS1302CLK DS1302I0 DS1302RST 数码管段码驱动接口 数码管位控驱动接口 X5045串行输入端 X5045串行时钟端 X5045片选端 X5045串行输出端 系统工作灯显示端口 DS1302时钟线 DS1302数据线 DS1302复位线 工SP在线编程端 数据采集输入端 遥控器接收信号端 人体存在传感器输出信号端 超时报警信号输入端 灯光驱动输入端 光敏三极管输入信号端 表3-1外围器件接口的分配

3.2.2在线编程模块电路

以往单片机的实验往往依赖于仿真机和单片机学习系统,价格昂贵,近年来,随着FLASH型单片机的广泛应用,采用软件模拟结合写片验证成为一种经济实用的实验方法,尤其是随着单片机技术的发展,很多单片机都具有了ISP功能,不再需要仿真机,将单片机的易用性推向一个新的高度。AT89C52芯片就是这样的芯片。

AT89C52芯片支持在线编程(ISP)功能,用户可以通过AT89C52在线编程接口直接对电路板上的CPU进行在线编程,方便了程序的修改烧写工作。ISP进行在线编程时,用AT89C52芯片的P1.5,P1.6,P1.7引脚及RST端口,通过PC并口,根据工SP协议制作简单的编程器就可对CPU进行编程。在线编程(ISP)器的红色LED是电源指示灯,绿色LED是复位指示灯,黄色LED是时钟信号指示

9

灯,每个LED约消耗0.6mA的电流,它们使用独立的缓冲器不会影响下载线和用户板,当执行菜单命令Reset时可以看到绿色LED闪一下,表示电脑已经可以控制下载线;其下载线正常工作电压为DC3.6-6V,部分电脑即使不连接VCC也可以正常工作,10心的插头和插座有三角形标志的均为第一脚。使用方便、快捷,且工作显示信号清晰。 3.2.3系统供电电路

要取得+5V电压,若选用12V的变压器,整流滤波后输出往往大于12V,会使稳压器功耗大,自身温度较高。故不选用输出电压为12V的变压器,而选用输出电压为9V的变压器。系统接通220V交流电源后,将220V交流电变压到9V,经过二极管全波整流、电解电容Cl,C2滤波,再经一只正输出稳压器LM7805,为了缓冲负载突变,改善瞬态响应,输出端还采用了电容C3、C4,最后得到+5V的直流工作电源,用于给控制系统中单片机系统及其它外围电路的Vcc+端供电。其供电原理图如3.2.3

图3.2.3 供电原理图

在硬件时钟模块中,为了在断电后硬件时钟能够正常运行,故采用主从双电源供电方式。硬件时钟一般在系统的+5V主电源情况下工作,而只有系统+5V主电源消失的情况下,为确保硬件时钟的正常运行,设计一个3. 6V的可充电铿电池作为备用电源。具体电路及其原理将在后面的系统时钟电路部分详细说明。 3.2.4数据采集电路

教室中的环境光和人体存在与否是系统的主要输入参数,因此教室中的环境光和人体存在成为系统数据采集的主要对象。常见的环境光采集器件光电传感器有光敏二极管和光敏三极管,根据需求,选用灵敏度较高的光敏三极管。此外,

10

人体传感器要求灵敏度高,可靠性强,本系统采用了逻辑电平输出的HP-208型号的人体存在传感器。 1.环境光采集电路

光电传感器是一种能够将光转换成电量的传感器。采用的光敏三极管除了具有光敏二极管能将光信号转换成电信号的功能外,还有对电信号放大的功能。在无光照时三极管的穿透电流很小,为暗电流Iceo有光照时,产生的Ib增大,成为光电流Ie。光电流的大小与光照强度成正比,于是在负载电阻上就能得到随光照强度变化而变化的电信号。因此光敏三极管灵敏度高,而且体积小、工作电压低、工作电流小、发光均匀稳定、响应速度快、寿命长等优点,其外形电路图形符号如图3.2.4. 1-1

图3.2.4. 1-1

环境光采集电路原理图如图3.2.4 1-2所示。当自然光强大于一定程度时,光敏三极管D6呈现底阻状态<1千欧,三极管Q12的基极电压升高,Q12管饱和导通,集电极输出低电平。当自然光强小于一定程度时,光敏三极管D6呈现高阻状态,100千欧,使三极管Q12截止,集电极输出高电平。其中可变电阻R26可调节,调R26阻值的大小,使Q12三极管受环境光影响在适当的亮度下导通。

11

图 3.2.4.1-2环境光采集电路原理图

2.人体存在传感器的工作原理

自然界中存在的各种物体,如人体、木材、石头、火焰、冰等都会发出不同波长的红外线,利用红外传感器可对其进行检测。根据工作原理,红外传感器分为热型和量子型两类,热型红外传感器也称热释电红外传感器或被动红外传感器。与量子型相比,响应的红外线波长范围较宽,价格便宜,并可在常温下工作。量子型与热型的特点相反,而且要求冷却条件。本系统采用的是热释电红外传感器,人体存在传感器主要采用了红外传感器的原理,它是目前在防盗报警、火灾检测、自动门、自动水龙头、自动电梯、自动照明等场合,及非接触温度测量等领域应用最广泛的传感器。其原因为:①被测对象自身发射红外线,可不必另设光源;②大气对2-2.61Lm,3-51Lm, 8-141Lm三个被称为“大气窗口”的特定光通量的红外线吸收甚少,可非常容易被检测;③中、远红外线不受可见光影响,可不分昼夜进行检测。人体存在传感器的热释电红外探头的工作原理及特性如下:人体都有恒定的体温,一般在37度,所以会发出特定波长10M 左右的红外线,被动式红外探头就靠探测人体发射的10M左右的红外线而进行工作的。人体发射的10M左右的红外线通过菲泥尔滤光片增强后聚集到红外感应源上。红外感应源采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生由人体存在的信号。 1)这种探头是以探测人体辐射为目标的,所以热释电元件对波长为10M左右的红外辐射非常敏感。

2)为了仅仅对人体的红外辐射敏感,在它的辐射照面覆盖有特殊的菲泥尔滤

12

光片,使环境的干扰受到明显的抑制作用。

3)人体存在的探测,其传感器包含两个互相串联的热释电元,而且制成的两个电极化方向正好相反,环境背景辐射对两个热释元件几乎具有相同的作用,使其产生释电效应相互抵消,于是探测器无信号输出。

4)一旦有人进入探测区域内,人体红外辐射通过部分镜面聚焦,并被人体存在传感器的热释电元接收,但是两片热释电元接收到的热量不同,热释电也不同,不能抵消,经信号处理而输出有人体存在的信号。

5)菲泥尔滤光片根据性能要求不同,具有不同的焦距(感应距离),从而产生不同的监控视场,视场越多,控制越严密。

人体传感器透镜的信号采集敏感区示意图如图4. 2. 2-1

图4. 2. 2-1信号采集敏感区示意图

有人进入时,移动人体发出的红外线被红外传感器接收,则人体存在被感应,并输出高电平。若人体进入最不敏感移动方向时,则人体传感器所体现的信号就会不理想,有时还会产生误动作,所以要特别注意人体传感器的安装方向。 3.人体存在信号采集电路

人体传感器HP-208是深圳市浩博特电子有限公司研发和生产的基于红外线 术的智能产品,它的主要特性如下:

(1)感应为全自动方式,人进入感应范围时输出高电平(高3.3V),人离开应范围则自动延时关闭高电平,输出低电平(低0.3V),其高低电平利于采集; (2)采用可重复触发方式。即感应输出高电平后,在延时时间段内,如果二人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才延时8,15

13

秒后将高电平变为低电平;

(3)人体传感器工作电压宽为DC3V-DC24V;

(4)人体传感器制作成锥面形状,感应范围大,小于140度锥角,感应距了为7米以内;

(5)其静态电流小于50微安,功耗低;

(6)工作温度介于-15度和+70度之间,适应性强; (7)灵敏度高,可靠性强。

人体传感器HP-208型号的正视图如图3.2.4.2-1所示:

图3.2.4.2-2

人体传感器的1号引脚为电源信号端,3号引脚为地信号端,2号引脚为采集信号输出端。在电路设计中,为了使人体传感器的工作更加可靠,介于人体传感器的信号引脚2与地信号引脚3之间加一个6800pF的电容,另外人体存在传感器的信号引脚2与单片机的P3.3引脚相连,P3.3引脚再接一个100K的上拉电阻,增加人体存在传感器输出信号的可靠性,其电路原理图如图3. 2. 4. 2-3

14

图3.2.4.2-3 HP-208传感器电路原理图

3.2.5系统时钟电路

根据教室灯光使用特性,该系统还应受到时间的控制,控制系统的时间应符合学校的作息时间。比如晚间休息、假期等时间段应该关掉教室灯光控制系统,以节约能源,因此本研究还加入硬件时钟电路以保证系统的智能化运行。 1.硬件时钟芯片的选取及其接口电路

传统的时钟芯片,如MC146818, MC68H68T, LM8365等,这些芯片的引脚太多,体积大,占用的口线多。而现在流行的串行时钟芯片很多,如DS1302,DS1305,DS1307,PCF8485等,这些电路的接口简单、价格低廉、使用方便,被广泛的使用。考虑到本系统停电时只需对时钟电路提供电源、且不需要占用太多单片机资源,本系统采用美国DALLAS公司推出的具有充电能力的低功耗1*8的用于临时性存放数据的RAM寄存器的实时时钟芯片DS1302。

此芯片采用的是串行通信方式,还可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V-5. 5V, DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源、后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。而且本系统采用的DS1302只需三根线即可与单片机进行通信,体积小,使用简单,时钟精度较高,满足系统的要求,其主要特征见附录一。可为掉电保护电源提供可编程的充电功能的时钟芯片DS1302的引脚图如图1所示。

15

图1 DS1302引脚

DS1302与单片机接口电路连接原理图如图3.2.5其中Vcc2外接3.6V可充电的铿电池,为DS1302的备用电源。Vcc1外接系统供电模块的输出稳定电压+5V,为DS1302的主电源。DS1302由Vcc1和Vcc2两者中较大者供电。系统正常运行时,Vcc1大于Vcc2,因此由Vcc1给DS1302供电,在主电源关闭的情况下,则由Vcc2给DS1302供电,保持时钟的连续运行。Xl和X2是振荡源,外接32. 768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送,与单片机的复位信号相连。时钟输入端SCLK接单片机P1.5引脚,进行时钟控制。数据输入/输出端I/0接单片机P1.6引脚,进行数据传输。

图3.2.5DS1302与单片机接口电路连接原理图

2.硬件时钟芯片的引脚功能及其工作原理

RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器; 其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置

16

为低电平,则会终止此次数据传送,I/0引脚变为高阻态。上电运行时,在Vcc>2. 5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/0为串行数据输入输出端(双向),后面有详细说明。SCLK始终是输入端。 硬件时钟芯片DS1302与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位MSB (D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保护:D6=0,指定时钟数据,D6=1,指定RAM数据;D5~D1指定输入或输出的特定寄存器;最低位LSB (DO)为逻辑0,指定写操作(输入),DO=1,指定读操作(输出)。

在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节。若进行单字节传送,8位命令字节传送结束之后,在下2个SCLK周期的上升沿输入数据字节,或在下8个SCLK周期的下降沿输出数据字节。

DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为COH~FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,在此方式下可一次性读、写所有的RAM的31个字节。

要特别说明的是备用电源,可以用电池或者超级电容器((0.1F以上)。虽然DS1302在主电源掉电后的耗电很小,但是,如果要长时一间保证时钟正常,最好选用小型充电电池。可以用老式电脑主板上的3. 6V充电电池。如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容器代替。100F就可以保证1小时的正常走时。DS1302在第一次加电后,必须进行初始化操作。初始化后就可以按正常方法调整时间。 3.2.6系统看门狗电路

在单片机工炸过一程中,不可避免的会由于外界的干扰而产生程序跑飞、死机甚至造成整机瘫痪等情况,为了能够恢复单片机的工作,只能采用重新复位的方法,虽然在程序设计中,一可以使用软件陷阱的方法来减少这种情沉的发生,但是不能完全解决这个问题,因此还应该在硬件设计中使用看门狗电路,这样在单片机发生死机的情况下,看门狗将产生一个夏位信号给单片机,使单片机复位重新执行程序:.现在的MCU被集成了越来越多的功能,有的集成了看门狗,如工IMP813L。还有的芯片更是把EEPROM也集成进去,如X5045芯片。由于系统需要

17

看门狗和EEPROM,所以本硬件设计中使用了美国Xicor公司生产的芯片X5045。

X5045具有三种常用的功能:看门狗定时器、复位控制和EEPROM集成在单个8个引脚封装的CMOS器件内,将电源监控和看门狗功能与高速三线非易失性存储器组合庄一起,从而在很人程度上降低了系统成本并减少了对电路板空间的要求,X5045的引脚排列如图3.2.6-1

图 3.2.6-1X5045的引脚排列

看门狗定时器的预置时间是通过X5045的状态寄存器的相应位来设定的。如表3. 2. 6状态寄存器所示,X5045状态寄存器共有6位有含义。其中WD l , WDO和看门狗电路有关,其余位和EEPROVI的工作设置有关。

表3. 2. 6状态寄存器

D7 X D6 X D5 WD1 D4 WD0 D3 BL1 D2 BL0 D! WEL D0 WIP WD1=0,WD0=0,预置时间为1.4S。 WD1=0,WD0=1,预置时间为0.6S。 WD1=1,WD0=0,预置时间为0.2S。 WD1=1,WD0=1,禁止看门狗工作。

看门狗电路的定时时间长短可山具体应用程序的循环屁期决定,通常比系统正常工作时最大循环周期的时间略长即可。本系统中X5045的硬件连接图如图3.2.6-2所示。

18

3.6.2-2 X5045的硬件连接图

系统数据存储及故障保护部分由X5045组成,X5045是一种串行通讯的512字节EEPROM,同时兼有看门狗和电源监控功能,X5045有三种可编程看门狗周期,上电和VCC低于检测门限时,输出复位信号,X5045输出复位高电平有效,为了复位更加可靠,其复位输出端外接一个10K的上拉电阻,并与AT89C52的复位端相连。看门狗能在电源上电、掉电期间产生一个复位信号。该芯片还带有一个1. 4秒的看门狗定时器可监控单片机的工作。如果在1. 4秒内未检测到其工作,出现故障,内部定时器将使看门狗WD I处于低电平状态,为系统提供保护,避免死机、程序跑飞或进入死循环等意外的发生。

X5045代表了新一代串行EEPROM的发展趋势,它的运用极大的节省了系统空间和资源,同时简化了电路设计,缩短产品开发周期。 3.2.7继电器驱动接口电路

继电器驱动接口电路如图3.2.7所示,这里继电器由相应的PNP型号的59012三极管来驱动,开机时,单片机初始化后的P3. 5/P3. 6为高电平,三极管截止,所以开机后继电器始终处于释放状态,如果P3. 5/P3. 6为低电平,三极管的基极就会被拉低而产生足够的基极电流,使三极管导通,继电器就会得电吸合,从而驱动负载,点亮相应电灯。继电器的输出端并联100欧的电阻和6800皮法电容,目的是避免继电器吸合与释放期间产生火花。每个继电器都有一对常开常闭

19

的触点,便于在其他电路中使用,继电器线圈两端反相并联的二极管是起到吸收反向电动势的功能,保护相应的驱动三极管,这种继电器驱动方式硬件结构比较简单。

图3.2.7继电器驱动电路图

3.2.8 超时报警电路

在教室中,若采用手动方式控制时,一方面由于学生及管理人员的疏忽,教室里没有人而灯还亮着,导致教室灯工作超时,能源浪费,于是本系统采用超时报警电路,以声音的方式来提醒管理人员是否关闭电源。另一方面由于学生学习紧张,在夜里忘了时间点,学习期间开灯时间过长,致使教室灯工作超时,于是本系统超时报警电路就会发出声音,提醒学生应该休息或必需改用遥控器手动方式来控制灯了。这样,还可以更好地保护公共设施。本系统采用超时报警的电路如图3.2.9的P3.4端口外加一个10K的上拉电阻,再经过限流电阻100欧与三极管C945的基极相连。当P3.4端口为低电平,即基极为低电平时,三极管导通,驱动蜂鸣器发出声音,以示教室灯工作超时。若P3. 4端口为高电平,即基极为高电平时,三极管截止,蜂鸣器不工作,教室灯工作正常。本系统采用超时报警电路方便了管理人员对教室的管理,能够更好地、及时地管理教室。

20

图 3.2.9 超时报警的电路

4控制模块软件设计与开发

在单片机硬件系统的基础上,再配上相应的软件,才能构成一个完整的系统。用户软件的开发与系统硬件有着密切的关系。在系统的硬件及输入输出方法确定后,程序软件就可以完全独立的进行设计、开发。在程序设计过程中,采用合理的程序设计结构是一项关键技术。在本系统的设计过程中,总体设计采用自上至下的设计思想将主程序设计好,而在各个部分展开成从属程序或子程序时,是将各个小模块分别进行设计和编程,同时在编程的过程中又用到了结构程序设计的思想。

本控制系统软件模块主要包括:系统监控主程序模块、数据采集模块、时钟模块、显示驱动模块及系统键功能和存储模块。

4.1系统监控主程序模块

监控程序按模块分为监控主程序和命令处理子程序。监控主程序的基本任务是调用子程序,一个主程序可以调用多个子程序,对于51系列单片机,系统资源有限,主程序通常是一个无限循环的过程,即是一个反复调用子程序的过程。子程序主要分为中断子程序和功能子程序,它们之间可以互相嵌套和调用,即中断子程序可以调用功能子程序。在应用软件的设计中,尽可能各个功能模块写成子程序的形式,并通过主程序调用。而命令处理子程序完成各种命令所规定的具体操作,它按各种命令再分为不同的子程序模块,它一般总是把其余部分连接起

21

来构成一个无限循环,系统所有功能都在这一循环中周而复始的有选择的执行。其监控主程序流程图如图4-1所示:

图 4-1 监控主程序流程图

4.1.1系统自检初始化

系统自检初始化是保证整个控制系统能够正常运行的重要条件,系统加电复位后,直接进入自检初始化程序,完成系统的自检及初始化。初始化过程主要是对一些控制寄存器(如中断控制)、数据区和外部芯片(如时钟芯片DS1302等)进行初始参数设置和定义。本系统中的自检初始化主要指各接口芯片的检测、芯片内部设定参数的初始化及系统内部寄存器的初始化。

各接口芯片的检测主要检测各芯片是否己处于准备工作的就绪状态,有无硬件故障等,如检测各位LED是否正常显示系统设置开机时的界面,检测硬件时钟DS1302是处于更换芯片后初次使用为起振状态,还是处于备用电源供电振荡保持状态,即检测系统中控制时间表的有效性,检测人体传感器输出信号是否正常体现人体存在的信息,检测环境光是如何影响光采集电路输出的信号等。若时钟芯片处于启动状态,系统控制时间表无效,则需要对其进行初始化并启动实时时钟。

系统内部寄存器初始化主要是指在数据缓冲区内,各用户定义的数据变量的

22

上电 Reset 系统初始化 设定定时器,允许定时中断 看门狗激活 务人体传感器处理任环境光处理任务定时时钟管理显示刷新任务

初始化赋值及部分特殊功能寄存器SFR的复位初始化,单片机复位后,程序计数器PC指向程序存储器的入口地址0000单元,程序状态字寄存器PSW清零,片内存储器选择工区工作寄存器,用户标志位F0为0状态,堆栈指针SP指向07H,其它定时器、中断允许寄存器IE、累加器ACC等皆为00H。 4.1.2定时中断处理

定时中断是利用单片机内部的定时器定时时间到或计数值已满引起的中断,内部定时器的计数器可以对内部时钟或从外部引线TO和TI输入的外部脉冲进行计数。计数器的溢出信号作为中断请求信号,去置位定时器溢出标志位,向单片机的CPU申请中断。

定时中断为周期性中断,每隔一定的时间会中断一次。本系统中设定的定时中断主要用来构造多任务操作系统,在系统响应中断后,无需对断点实施现场保护,可直接进行多任务时间的划分工作,使相应的操作任务进入就绪状态,即该中断可以启动有关的任务就绪。该定时中断处理程序框图如图4-I-2所示。

N 下一步 定时中断到? Y 开始 多任务启动时间划分 图 4-1-2 定时中断处理程序框图

本系统还采用了外部中断,此外部中断主要用来判断是否有遥控器信号,若有,就采集下来并加以处理;若无,则返回到主循环。 4.1.3多任务操作系统的构建

多任务操作是将用户应用程序分成多个任务,在操作系统的管理下,以某种准则调度并分配任务由处理器去执行。多任务运行实现一般是靠CPU运行实时内核,对多任务进行分配和调度,使CPU不停地执行这些任务中的某一个任务,以至能最大限度地提高CPU的利用率,加快运行速度,各任务(程序)不被耽误运行。

23

本系统多任务的执行是对定时中断中设置的实时标志进行检测,通过标志位的状态决定各任务的调用。任务的执行在微观上是分时顺序进行的,但在宏观上可以认为是同时执行的。因此,各任务在实时系统中的就会处于四种状态中的某

运行 等待 就绪 图 4-1-3 休眠 种状态之下,这四种状态如图4-1-3所示。

当某个任务获得CPU的执行权时,CPU执行该任务,此时任务处于运行状态。等待状态是指任务的执行需要等待某一事件发生,则由运行状态退出,进入等待状态。就绪状态是任务满足所有启动条件后所进入的状态。休眠状态是任务己执行完的状态。

4.2数据采集模块

本控制系统中的数据采集对象为环境光信号及人体存在信号,在程序设计中对这两个数据的采集放置在多任务模块中实施定时采集。 4.2.1存在传感器的优缺点

人体存在传感器有优点,也有缺点。优点便是本身不发任何类型的辐射,器件功耗很小,隐蔽性好,价格低廉。而缺点是容易受各种热源、光源干扰;由于红外穿透力差,因此人体的红外辐射容易被遮挡,不易被探头接收;易受射频辐射的干扰;环境温度和人体温度接近时,探测和灵敏度明显下降,有时还会造成短时失灵。试验检测也证明了这点,只要人体存在却有巧秒左右没有活动,人体传感器则认为没有人体存在。为避免这种现象的出现,本系统软件程序中设计为有人体存在状态后间隔2分钟或更长的时间来对人体存在参数信号的采集。 4.2.2数据采集软件设计的实现

24

本系统考虑到环境光足够亮时,无论有否人体存在都不应开灯;而环境光不够亮时,有人体存在才开灯,无人体存在不开灯。本系统逻辑定义为环境光亮时为二进制的“0”(符合光采集电路输出信号状态),暗时为“1”,人体存在为“1”,人体不存在为“0”,开灯为“1”,关灯为“0”,那么环境光与人体存在可以有以下的逻辑关系表表示,如表4. 2. 2所示: 表4. 2. 2

环境光参数 0 0 1 1 人体存在参数 1 0 1 0 教室灯状态 0 0 1 0 上表数据表明可将环境光参数与人体存在参数相与门操作,又由于继电器是低平驱动,所以要将采集处理后的信号进行非操作,才可以驱动继电器工作,即可得到教室灯的状态,其软件程序为:

;-------------------------------------------------------------- Function: BodySensor and Iight to light port356

DoSensLight:Mov c, port33 ;Signal of Sensor

Anl c, port37

Cpl c ;have person and no light Mov port35, c ;on relay 1 Mov port36, c ;on relay 2 Jnc SensOut ;no person to out

Haveperson:mov SensDelayBuf, #5 ;delay 5 minute SensOut: Ret

4.2.3人体存在传感器的抗干扰措施

人体存在传感器易受外界影响,于是要在使用时特别注意抗干扰性能。 1.防小动物干扰

探测器安装在推荐地使用高度,对探测范围内地面上的小动物,不产生信号。 2.抗电磁干扰

25

探测器的抗电磁波干扰性能符合GB10408中4. 6. 1要求,一般手机电磁干扰不会引起误报。 3.抗灯光干扰

探测器正常灵敏度范围内,受3米外H4卤素灯透过玻璃照射,不产生信号。 4.2.4人体存在传感器的安装要求

人体存在传感器2的安装要求:人体存在传感器只能安装在室内,其误报率与安装的位置和方式有极大的关系,正确的安装应满足下列条件:

1.人体存在传感器应离地面2.0-2.2米。

2.人体存在传感器远离空调,冰箱,火炉等空气温度变化敏感的地方。 3.人体存在传感器探测范围内不得隔屏、家具、大型盆景或其他隔离物。 4.人体存在传感器不要直对窗口,否则窗外的热气流扰动和人员走动会引起误报,有条件的最好把窗帘拉上。人体存在传感器也不要安装在有强气流活动的地方。人体存在传感器对人体的敏感程度还和人的运动方向关系很大。人体存在传感器对于径向移动反应最不敏感,而对于横切方向(即与半径垂直的方向)移动则最为敏感.在现场选择合适的安装位置是避免红外探头误报、求得最佳检测灵敏度极为重要的一环。

4.3时钟模块

在系统启动自检初始化时,首先会对时钟芯片DS1302的运行状态进行判断,当检测到DS1302处于启动状态时才对其进行初始化启动时钟。实时时钟芯片

7DS1302的初始化及其读写程序设计的关键是要遵循其时序要求。 4.3.1数据输入输出

在对DS1302进行的各种操作之前,必须先对其初始化,即需要把复位输入RST端置为高电平,如果RST输入为低电平,那么所有的数据传送中止,且I/0引脚变为高阻抗状态。在数据读/写完后,RST端应置成低电平,以防止外部干扰对DS1302内部时钟的影响。

同时,为了防止复位输入端受到外部的干扰,要求上电时,在主电源引脚 Vcc2>2. 5V之前,RST必须为逻辑0。无论是读操作还是写操作,都必须在开头

26

的8个时钟周期把提供地址和命令信息的8位数据装入到DS1302的移位寄存器。地址/命令子节用于指明40个寄存器中的哪个进行何种操作。数据在SCLK的上升沿串行输入,在开始的8个时钟周期把命令字装入移位寄存器之后,若跟随的是写命令字节,则在下8个SCLK周期的上升沿输入数据字节,若跟随在读命令字节的8个SCLK周期之后,在下8个SCLK周期的下降沿输出数据字节。 4.3.2时钟内部寄存器的使用

DS1302有控制寄存器和年、月、日、周、时、分、秒等工作寄存器组成。本系统中只用到工作寄存器中的时分秒及控制寄存器,所应用的各寄存器地址(命令)及数据寄存器分配情况如表4. 3. 2所示:

表4. 3. 2内部寄存器

寄存器名 命令字 写操作 SEC MIN 读操作 CH 0 10SEC 10MIN 10 12/24 0 A/P WP TCS 0 0 0 0 0 0 0 RS HR SEC MIN 取值范围 7 6 5 4 3 2 1 0 各位内容 80H 81H 00~59 82H 83H 00~59 01~02 HR 84H 85H 或 00~23 CONTROL 8EH 8FH CHARGER 90H 91H CLOCK BURST 说明:

BEH BFH TCS TCS TCS DS DS RS (1)上表中,时钟寄存器内的数据是以BCD码的形式存在的。其中秒寄存器的位7 定义为时钟暂停位,当此位设置为逻辑1时,时钟振荡器停止,DS1302进入低功耗的备份状态;当把此位置为0时,时钟将启动。

(2)小时寄存器的位7定义为12或24小时方式选择位。当为低电平时,选择24小时方式,本系统在设计中采用的就为24小时方式。

27

(3)写保护寄存器的位7是写保护位,在对时钟进行些操作之前,位7应先置为0,当它是高电平时,写保护防止对任何其它寄存器进行写操作。此外,涓流充电寄存器各位的作用及工作原理等在本论文前半部分DS1302的硬件设计中己作过介绍,此处不再详述。 4.3.3时钟自检初始化

考虑刚买来的时钟芯片处于一切未知状态,于是必须对DS1302进行自检初始化。DS1302的自检初始化程序设计流程图如图4.3.3.1所示: DS1302正常工作 返回主程序 两次读取的秒钟数据是否相同 设置DS1302初始时间 再次读取秒钟数延时1.5秒 秒钟大于60H? 开始 读取DS1302秒钟时间 图4.3.3.1 DS1302的自检初始化程序设计流程图

DS1302的自检初始化程序如下所示:

;--------------------------------------------------------------- Function: Start check DS1302

DSCheck: Mov R6, #DS1302Sec+1 ;Second Time

ACall DSRdlByte Mov DSCheckData , a Cjne a, #60H, $+3

DSCheckNext: Jnc DSSetTime; a>=60H to Set DS1302's Time

28

Acall DSDelay; DS1302 delay 1 second

Mov R6, #DS1302Sec+l ; a<59H Read DS1302's Second again

ACall DSRdlByte Cjne a, DSCheckData, DSOK ;

Two DSSec of Reading is different

AJMP DSSetTime

DSOK: Ret

检查DS1302芯片是否正常工作,本系统中通过先读取秒钟寄存器的数据,将数据存储起来,且将此数据与60H相比较,若大于60H,说明时钟数据不正常,转去设置时钟时间;若小于并等于60H,延时一秒钟后,再次读取秒钟寄存器的数据,与第一次读取的秒钟数据相比较,若这两次的数据相同,说明时钟数据不正常,转去设置时钟时间;若正常,则退出到主程序。初始化DS1302的充电状态及其初始时间的设置。 4.3.4时钟程序设计

对DS1302进行读写的程序流程图如图4.3.4.1所示:

向该地址写入数据 数据写完了 将读出的数据暂存,待显示 结束 写DS1302地址 数据读完了 RST—端送高电平 将该地址数据读出 去除写保护 写入DS1302读地址 开始 将DS1302写保护 变量初始化 RST—端送高电平 图4.3.4.1 读写程序流程图

29

在对DS1302进行读操作时,读出的数据为BCD码,同样在写操作时,写入的数据一也必须为BCD码,这就需要在数据写入之前、读出之后进行必要的数据进制之间的转换,以便与系统其它数据在比较时相对应。在本系统中,因设定的时间参数一般都为二进制或十六进制数,为了便于同DS1302的时钟数据进行比较,故在程序中需进行二进制与BCD码之间的转换,其相互间的转换程序如下;

;---------------------------------------------------------------- ;二进制转换为BCD码 ;Function: DisTimeBCD ;DisTimeBCD: Mov A, @R0 An 1 A, #0FH Mov Rl,AInc Rl

Mov A, @R0 Swap A Anl A, #0FH Mov @R1,A Inc Rl Inc R0 Ret

;------------------------------------------------------------- ;BCD码转换为二进制

;Function: DisTimeHex DisTimeHex: Mov A,@R0 Mov B, #10 Div AB Mov @R1,B Inc R1 Mov @R1,A Inc R1

30

Inc R0 Ret

4.4显示驱动模块

系统运行过程中的数据显示是人机交互对话的一个重要通道。通过系统数据的显示,我们才可以更好的了解系统运行的状态,从而便于对整个系统进行必要的操作。本系统中采用共阳极的数码管,其中采用ULN2803作为驱动数码管的段选的芯片,采用简单又便宜的9012三极管来驱动数码管的位选,节约成本,程序编写简单。

4.4.1 ULN2803驱动器的应用

考虑到数码管驱动信号要求的驱动电流较大,采用功率驱动器件ULN2803,芯片外形如图4. 4. 1所示。此芯片是八组NPN型达林顿功放三极管集成芯片,典型的输入电压是5V,集电极输出功率可达50VX600mA。因此采用ULN2803作为共阳数码管的段信号驱动器,而共阳数码管的位信号驱动则采用8个晶体管9012来实现。又由于ULN2803为低电平驱动,所以数据送到单片机端口之前,应在程序中先将数据取反,然后将数据送到与ULN2803输入端口相连接单片机的PO端口即可,简化软件程序。

4. 4. 2显示程序设计

其显示子程序如下:

;----------------------------------------------------------- Display: Mov R0 , DisBufptr

Mov A, @R0

DisPlayl: Mov Dptr, #DisTab

31

Movc A, @A+Dptr

Cpl a

Mov DisModPort, A

Mov A, DisCSPtr

Mov DisCSPort, A RL A

Mov DisCSPtr, A

Inc DisBufPtr

Jb Acc. 0, DisQuit

InitDisO: Mov DisCSPtr, #11111110B

Mov DisBufPtr, #DisBuf

DisQuit: R

;------------------------------------------------------------ 每次先送一位要显示的数据字节,然后再送该位LED的位地址字节,直到8位显示完全。本系统在运行过程中需要显示察看的数据有时钟及遥控器键盘显示数值。正常工作中8位显示器显示实时时钟,时间显示小时、分钟和秒钟,其中有两位用来显示“----”,用以分隔小时、分钟和秒钟,这样显示更加清晰。当然,在测试期间,数码管用来显示遥控器的键值。

4.5系统键功能

4.5.1键功能处理程序

在执行完键盘采集工作后,如果有键按下,程序转入键处理功能程序。系统根据键采集过程中得到的键号,散转到相应的键处理子程序,通过键盘设置修改系统工作参数。其程序如下:

;---------------------------------------------------------- DoKey: Mov a, KeyGet

Rl a

Mov dptr, #KeySub Jmp @a+dptr

32

KeySub: Ajmp Key0 ;0

Ajmp Keyl ;1 Ajmp Key2 ;2 Ajmp Key3 ;3 Ajmp Key4 ;4 Ajmp Key5 ;5 Ajmp Key6 ;6 Ajmp Key6 ;7 Ajmp Key6 ;8 Ajmp Key6 ;9

5系统调试运行及问题分析

整个系统设计完成后,要进行运行调试,排除软件和硬件的故障,同时验证系统的可靠性及稳定性,使系统符合设计要求。本系统的调试主要分两个步骤:单片机系统调试(硬件调试和软件调试)及整个控制系统试运行调试。

5.1单片机系统调试方法及步骤

单片机系统的调试应包括硬件及软件两部分,主要是通过调试发现硬件及软件中存在的问题,查看其运行结果是否符合设计要求。

系统硬件和软件的研制可以相互独立的平行进行,软件调试可以在硬件完成之前,硬件也可以在无完整应用软件的情况下进行调试,但它们需要借助另外的工具提供调试环境。硬件和软件分调完成之后,还要再进行软件和硬件的联调,在调试中找出问题,判断故障源,修改软硬件。

在对系统进行实际调试时,首先应对硬件进行静态调试,同时对系统软件进行初步调试,此后再对软件和硬件进行动态调试,最后才能使系统进入正常工作。

1.静态调试:静态调试主要是排除明显的硬件故障。在电路搭建好后,对其进行仔细检查,查看端口是否正确连接,连接是否可靠。同时还应当用万用表检查电路,看应当开路的地方是否开路,应当短路的地方是否短路,电源地线连接是否可靠。在焊接后,查看焊接是否牢固,有无虚焊或短路等。在将芯片、传感

33

器等元件插到电路板上时,要保证各处电源极性、电压正确,以防止因电源极性接反或电压过高损坏芯片或传感器。此外,插入芯片必须在断电的情况下进行,特别注意芯片的方向不要插反。

2.软件调试:系统软件程序在编制好以后,可通过汇编软件对源程序进行汇编,变为可执行的目标代码,在汇编过程中出现的错误,要及时纠正。在软件调试时采用软件模拟开发系统对程序进行调试,这种模拟开发系统是在计算机上利用模拟软件实现对单片机的硬件模拟、指令模拟及运行状态模拟,从而完成应用软件开发的全过程。调试过程中的运行状态、各寄存器状态、端口状态等都可以在指定的窗口区域显示出来,通过这些显示结果随时跟踪程序运行状态,以确定程序运行无错误。

3.动态调试:控制系统的软件和硬件是密切相关的,软件模拟开发系统不能对硬件部分进行诊断,同时也不能实时在线仿真,所以用户程序还需跟硬件连接起来进行联调,同时对软件和硬件进行检查和诊断。整个单片机系统进行在线调试时,需借助仿真开发工具来对用户软件及硬件电路进行诊断、调试。在应用系统各电路板调试成功后,将用户程序加载到在线仿真器上,这时就能单步、多步或连续地执行目标程序,同时也可以根据需要分段设置断点执行用户程序。系统中的硬件故障(如各个部件内部存在的故障和部件之间连接的逻辑错误)主要是靠联机仿真来排除的。对于与硬件无联系的用户程序,例如定时标志等,虽然已经没有语法错误,但可能存在逻辑错误,这时,就借助于动态在线调试手段发现逻辑错误,直至逻辑错误纠正为止。而对于一些与硬件相关的用户程序,如接口驱动程序等,则需要配合硬件,进行在线调试,如果有逻辑错误,也要及时纠正修改。程序调试完毕后,利用在线编程器将程序固化到单片机中,使整个系统运行起来。

5.2出现的主要问题及分析解决

系统调试一般来讲是一种复杂,而仔细的工作,所以在调试过程中需要有耐心,仔细检查、解决出现的一切问题。只有所有问题都得到解决后,才能保证整个系统的正常运行。在本系统的调试过程中遇到的主要问题及分析解决: 问题1:电源供电电路中集成稳压器温度过高。分析解决:稳压器温度过高的原因之一

34

是:12V变压器整流滤波后加到集成稳压器输入端的电压较高,使7805上的压降过大。此问题可通过使用9V变压器,在集成稳压器前串入两只二极管降压,同时增大散热片来解决。

问题2:人体存在传感器有人存在时输出高电平的电压偏低分析解决:人体存在传感器输出高电平的电压偏低,单片机会产生误判,或采集不到正确的信号,于是在人体存在传感器的输出端加一个100千欧的上拉电阻。

问题3:有人存在的教室中,若人体超过十秒没有活动,人体传感器是不会有信号输出的,那么如何判定教室此时有人的问题。

分析解决:有人存在的教室中,若人体超过十秒没有活动,人体传感器是不会有信号输出的问题。此问题在系统软件设计时,将有人体存在的状态保持二至五分钟再继续采集信号,并加以处理。

问题4:单片机控制信号输出后,继电器没按预定设计产生动作。 分析解决:单片机输出控制信号,在控制继电器时,必须加三极管来驱动,否则信号电流过小将不能使继电器产生吸合动作,而且必须采用三极管的集电极端来驱动继电器,最后再带动负载。继电器驱动电路中还需注意的是要与继电器线圈并联一个续流二极管,增加对驱动三极管的保护。

问题5:每次开机插上电源后,硬件时钟显示的时间都从所设初始值开始计时。

分析解决:硬件时钟显示的时间不正常。解决办法:一方面是充电电池没有充电功能;另一方面是应对硬件时钟先进行自检。

6.结论和建议

6.1结论

本课题对适合应用于教室灯光控制系统的控制部分进行了研究。以环境光、人体存在状况等外界环境为控制器的输入参数,比单纯的人员管理教室灯光更合理,更有效的降低教室灯光的资源费用;同时还加入了时间控制参数,使教室灯光的控制更加符合学校的作息时间。本控制系统的设计对于各类大、中专院校的教室灯光管理具有重要的意义,也适用于各类办公室的灯光控制。

35

该教室灯光系统的控制是以AT89C52单片机主控单元为核心,通过相关电路的驱动,完成对系统设备(电灯)的控制,采用一个二极管闪烁显示整个系统的工作状态,实现了对教室灯光的自动开灯、关灯控制。系统设计在实现智能化控制的同时,还设置了手动,这样在系统智能控制偶尔出现故障时,可采用手动操纵,不至于影响教室灯光的正常应用。系统控制单元的硬件电路中多采用简易芯片(ULN2803, DS1302, X5045等),简化了电路设计,同时节省了单片机I/0口资源,为系统进一步扩展留下了空间。系统功能的实现通过采用多任务模块编写,省去了一些不必要的延时程序,提高了系统的运行效率。系统的硬件及软件设计,经实验初步证实了系统具有很好的稳定性,提高了电能资源的利用率。 在保证装置能稳定可靠工作的前提下,硬件设计上尽量采用性价比高的元器件,以降低成本。软件设计上采用多任务形式对信号的采集、处理,达到最终控制灯光的目的。

本控制系统与己有的教室灯光配套使用时,不需要对原有设备电路进行大的改动,以降低成本实现了教室灯光的智能控制。

6.2建议

由于教室大小面积各不相同、教室灯光数量不一,教室内部安装智能控制装备的数量也会有所不同,特别是人体传感器使用的数量受面积的影响更大,一套教室灯光控制系统的应用也只是在有限的范围内。若教室面积很大,超过人体传感器辐射范围,这样采集的信号可能会不够准确,进而影响控制设备的运行。为防止这种现象发生,使系统更加可靠,最好采用多个人体传感器。

人体传感器一般采集的是有活动的人体,若人体静止时,如坐着看书没有活动,这时人体传感器是不会有信号输出的,故而最好将人体传感器装置制作成在系统运行过程中能摆动为宜。

本系统中,人体传感器采集的信号与环境光采集的信号相互间有制约关系,有着密切联系。最好能将人体传感器与环境光采集电路集成到一起,简化电路,简化软件程序。本系统适用性较好,可以应用于教室、楼道和办公室中。

36

致谢

本课题研究是在赵协广老师悉心指导下完成的,倾注着老师的心血和汗水。近半年来,赵老师无论在学习、工作和生活上都给予我无微不至的关心和帮助,赵老师实事求是的科学作风,敏锐深刻的洞察力,严谨的治学精神,不断开拓的工作热情,为科技事业忘我工作的精神,无不使笔者受益匪浅,对笔者今后的成长产生深远影响。谨此向赵老师致以最崇高的敬意和最衷心的感谢!

在本课题进行期间,闫明法、袁博、张艳东、等同学的帮助,使课题能够顺利地完成,在此对他们表示感谢!

最后,衷心感谢所有关心、帮助和支持过我的老师、同学和朋友们。还有,一直在幕后默默理解、支持和帮助我的家人和亲戚朋友们。

37

参考文献

[1]周明珠.无触点开关在控制中的应用[J].现代电子技术,2002,4(1):62-71 [2]赵玉安.人体热释电红外传感器介绍[J].中国电子制作,2006,9(1):35-40

[3]俞海珍,李宪章,冯浩.热释电红外传感器及其应用[J].电子照明技术,2006. 7(1):25-28 [4]曹巧媛.单片机原理及应用[M].北京:北京:电子工业出版社,1997

[5]谢晓军.红外遥控技术在付费率电度表中应用[J],电测与仪表,1996,4(1): 24-26 [6]吴可久.8031单片机在遥控解码方面的应用[J].电子技术,1993, 2:13-15 [7]张友德等.单片机原理应用与实验[M].上海:复旦大学出版社,1992 [8] Ndala Co Capacitance Sensors for Measureing Single Kernal Moisture Content in Corea AmSOCAg Eng,1995

[9]王幸之.单片机应用系统抗干扰技术[M].北京:北京航空航天大学出版社,2001, 69-78

38

39

40

附录一 部分元器件特性介绍

一、单片机AT89S52

AT89系列单片机是由美国ATMEL公司将闪速存储器与MCS-51控制器相

结合开发

生产的一种新型8位单片机,它不但具有一般MCS-51单片机的所有特性,而且还拥

有一些独特的优点,使8位单片机更具生命力。 它具有以下主要特性: (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

DS1302特征:

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

(2)与T'I'L兼容(V}}=5V )、 (3)2. 0-5. 5V的宽电压范围 (4具有主从双电源方式,从电源为 (5 8个中断源 (6)自带看门狗

三、看门狗芯片X5045X5045引脚功能如下:

41

CS: 选输入;

SO: 行输出,数据由此引脚逐位输出;

SI: 行输入,数据或命令由此引脚逐位写入X5045;

SCK 串行时钟输入,其上升沿将数据或命令写入,下降沿将数据输出; WP: 保护输入,当它低电平时,写操作被禁止; Vss: 地 Vcc: 源电压 RESET: 位输出

X5045在读写操作之前,需要先向它发出指令,指令名及指令格式如表1所示。

表1 X5045指令及其含义 指令名 WREN WRDI RDSR WRSR READ WRITE

42

指令格式 00000110 00000100 00000101 00000001 0000A801 0000A801 操作 设置写使能锁存器(允许写操作) 复位写使能锁存器(禁止写操作) 读状态寄存器 写状态寄存器 把开始于所选地址的寄存器中的数据读出 把数据写入开始于所选地址的寄存器

附录二

DP-Ethernet: the Profibus DP protocol implemented on

Ethernet

S. Vitturi

National Research Council, ISIB-CNR, Corso Stati Uniti 4, I-35127 Padova, Italy Received 7 January 2002; revised 27 September 2002; accepted 10 October 2002

Abstract

The use of Ethernet networks at the low level of factory automation systems, which is even more frequent, requires the adoption of real time protocols to implement the typical functions of this level.This paper investigates the possibility of using of a very popular fieldbus protocol, Profibus DP, as a real time protocol for Ethernet. The proposal, named DP-Ethernet, makes use of the IEEE 802.2 Logical Link Control to implement the Profibus DP functions on Ethernet. The paper shows how DP-Ethernet could be implemented maintaining the compatibility with already existing Profibus DP applications. Moreover, some DP-Ethernet performance figures, obtained with a software simulation package, are given. q 2002 Elsevier Science B.V. All rights reserved.

Keywords: Ethernet; Profibus DP; Real time; Protocol

1.Introduction

Communication networks currently have a widespread use at all hierarchical levels of factory automation systems. Unfortunately, the lack of a well clear standardisation process together with the continuously changing communication requirements have led to the necessity of using an heterogeneous variety of networks and protocols. As a result, several types of networks, such as for example fieldbuses, Local Area Networks (LANs) and Wide Area Networks (WANs), are commonly encountered in factory automation systems. This scenario, at the highest hierarchical levels, is rapidly converging towards a de facto standardisation, because, thanks to the impressive growth of the Internet, some very popular protocols such as for example FTP, HTTP, based on the TCP/IP suite are even more adopted also in industrial applications. These protocols are usually implemented on Ethernet networks whose physical extension is limited to that of the plant under

43

control: the resulting networks are normally referred to as Intranets.

Conversely, the situation is particularly critical at the lowest level of factory automation systems, called ‘device level’, where fieldbuses are typically used. In this area there has been a proliferation of proprietary products, which are incompatible among each other. At present, many of these products have been included in some international standards such as for example IEC 61158, EN 50170 and EN50254. However, although some considerable efforts to reach a form of harmonisation (e.g. the NOHA ESPRIT project), they are still incompatible. An interesting tendency originated recently is represented by the possibility of using Ethernet networks also at the device level of factory automation systems. The advantages of such a solution are indubitable, among them: a very easy integration with the higher levels, the big availability of hardware components, the possibility of accessing the device level through the Internet/Intranet. The use of Ethernet networks at the device level requires suitable real time protocols to implement the typical functions performed at this level. Unfortunately, at present a protocol of this type worldwide recognized as ‘the standard’ is not available. Also in this case, however, some proprietary products are already on the market, and there is the concrete risk of assisting to a new ‘fieldbus war’.

For this purpose it is worth mentioning that the IAONA organization encourages the growth of open networking in factory automation systems and the adoption of Ethernet at all levels. IAONA, in particular has the objective of harmonising the different protocols available for Ethernet and to prevent further incompatibilities.This paper investigates the possibility of adopting a very popular fieldbus protocol, Profibus DP, as a real time protocol for Ethernet networks employed at the device level. In practice, the paper proposes of implementing an Ethernet network with the Profibus DP protocol placed on top of its data link layer. As it will be shown, this solution, which for commodity will be later on referred to as DP-Ethernet, may be realized in a simple way. Moreover, as in this case the interface to the user applications does not change, DP-Ethernet could replace Profibus DP in any already established application. In detail, the structure of the paper is the following: Section2 reports the main features of Profibus DP.

Particular attention will be given to the functions available to the user applications and to their mapping onto data link layer services. Section 3 illustrates the features of Ethernet and of the Logical Link Control (LLC) protocol, which are extensively used by DP-Ethernet. Section 4

44

describes how DP-Ethernet may be implemented. Section 5 takes into consideration some typical configurations of DP-Ethernet and evaluates their performances using a suitable software simulation package.

2. Profibus DP

Profibus DP is a protocol designed to perform cyclic high speed data exchange between process controllers and field devices, such as sensors and actuators, in a master-slave configuration.

The first version of the Profibus DP standard was issued in 1994. Subsequently it was included in the European Standard EN50170. In 1997 an extension, named DPV1, added acyclic functionalities to this fieldbus and, finally, at the beginning of 2000, a completely revised version of Profibus DP became part of the IEC 61158 international fieldbus standard. The communication profile of Profibus DP is shown in Fig. 1. As can be seen, some of the ISO/OSI layers are empty, and the Profibus DP protocol is placed on top of the data link layer, named Fieldbus Data Link, FDL. The access to the physical medium realized by FDL is based on a technique very similar to that specified by the IEEE 802.4 standard, token bus. The token is circulated among active stations which form a logical ring, but also passive stations can be connected to the network: as they do not receive the token, they can only answer to specific requests coming from an active station. An important parameter, the target token rotation time, TTR, is set in all the stations during the network configuration phase and represents the maximum time requested by a complete token circulation in the logical ring.

When receiving the token, a station computes the maximum time it can be used (token holding time, TTH) as the difference between TTR and the actual duration of the last token rotation (real token rotation time, TRR). The FDL protocol specifies two possible priorities for the Protocol Data Units (PDUs), transmitted on the network: high and low. The Profibus DP protocol defines three possible types of devices that can be present on the network: Class 1 masters, which are typically control devices, such as for example PLCs, CNCs, PCs. Class 2 masters, used for network configuration and administration tasks. Slaves, which are input–output devices employed to realise the interface with the plant. Because the use of class 2 masters have no relevance for the aim of this paper, in the following the term masters will

45

be used to indicate uniquely class 1 master devices. Although the Profibus DP standard allows for the realisation of network configurations with more than one master device (multimaster), most of the already existing applications are based on monomaster network configurations. As can be seen in Fig. 1, Profibus DP has two major components: the User Interface and the Direct Data Link Mapper which are present, with different functions, both in master and slave stations. The User Interface of a master has basically the task of handling the slaves assigned to it. This is accomplished by using a set of User Interface functions, made available from the DDLM, which are shortly illustrated in the following. After power on, a slave waits for its initialisation from a master: this is realised by means of two functions, named DDLM_set_prm (set parameters) and DDLM_chk_cfg (check configuration). At the end of a successful initialisation, the slave enters the data exchange phase, during which it cyclically exchanges input–output data with the master by means of the DDLM_data_exchange function. In this phase a slave, when polled, may signal the presence of a diagnostic message.

As a consequence, the master, at the end of the current polling cycle, is forced to read the slave diagnostic with the DDLM_slave_diag function. Moreover, during the data exchange phase, a master can send some Fig. 1. Profibus DP communication profile. global control commands to the slaves in order to synchronise the acquisition of the inputs and/or the sending of the outputs: to this purpose the DDLM_global_control function is used. This function can address either a single slave or a group of slaves. The DDLM has also the task of mapping the User Interface functions onto FDL services. For this purpose it uses two different services available from the Profibus data link layer, namely the Send and Request Data with Reply, SRD, and the Send Data with No Acknowledge, SDN. SRD is a connectionless confirmed service by means of which a source station can send up to 246 data octets to a destination station.

This latter is requested to acknowledge the correct reception of the data. In the response frame the destination station can include, if previously prepared, a maximum of 246 data octets to send back to the source. SDN is a connectionless unconfirmed service used to send up to 246 data octets to either a single station or a group of stations. In this case, the destinations do not send back the acknowledgments of the correct reception, but the source station generates a local confirm meaning that the data have been correctly submitted to FDL. The DDLM uses the SDN service to implement the DDLM_global_control function and the SRD service to implement all

46

the other functions. SDN is necessary because it is the only FDL service which can address a group of stations, as necessitated by the global control. In order to specify the different User Interface functions, the DDLM makes use of the Service Access Points, SAPs, which are present in the PDUs of FDL. Thus, for example, a DDLM_slave_diag request is implemented by a SRD request where the source SAP #62 and the destination SAP #60 are specified. Whereas, the DDLM_set_prm function is implemented specifying the source SAP #62 and the destination SAP #61. As an example, Fig. 2 shows the sequence of the primitives necessary to realize the DDLM_chk_cfg function (destination SAP source SAP 62).

3. The data link layer

The data link layer of Ethernet The IEEE 802 committee, which issued the LAN standards, has split the data link layer of a LAN into two sublayers: the LLC and the Medium Access Control (MAC).

The LLC represents the common interface for all the LANs towards the upper layers, while the MAC specifies the protocols to access the physical medium. In practice, the IEEE 802 committee defines different LANs types characterised by differentMAC protocols, all of them using LLC on top. For Ethernet, the MAC has been standardised by the IEEE 802.3 subcommittee and uses a technique to access the physical medium known as Carrier Sense, Multiple Access with Collision Detection (CSMA/CD).3.1. Logical Link ControlLLC provides three types of service: unacknowledged connectionless service, connection-mode service and acknowledged connectionless service. As DP-Ethernet makes use of both types of the connectionless service they will be shortly illustrated in the following. The unacknowledged connectionless service, named DLUNITDATA allows for the transmission of a set of data octets from one LLC user to either a single or a group of remote LLC users.

With this service, every transmission is independent of others, and the sending user does not receive the confirm of the reception of the data from the destination.With the acknowledged connectionless service one LLC user can send a set of data octets to another and obtain the confirm of the correct reception of the data. Actually, two different services are available: that used by DP-Ethernet is called DL-REPLY and foresees a mechanism of bilateral data exchange. In practice, the destination user which receives the data with the DL-REPLY service may send

47

back to the source, together with the confirm of the reception, a set of data octets, if these latter were previously prepared with the DL-REPLAY-UPDATE service. The PDU of LLC is shown in Fig. 3. The field Control, when the PDU is used for connectionless services, is limited to one octet. In detail, for the DLUNITDATA service, the PDU carrying the data transmitted after the issuing of a request primitive is called Unnumbered Information, UI. For the DL-REPLY service, the PDUs involved are AC0 or AC1. After a request primitive either AC0 or AC1 is transmitted. The remote user will respond with a PDU of the same type and with the complementary number (i.e. when AC0 is transmitted, AC1 must be received and vice versa). 3.2. The IEEE 802.3 CSMA/CD

The CSMA/CD technique specifies that every station continuously senses the network and acquires the frames directed to itself. A station wishing to transmit simply verifies if the network is idle and then sends the message. Obviously, there is the possibility of having a collision between two or more frames transmitted contemporaneously. In this case the stations involved have to retransmit their frames after a random time calculated according to a rule known as the truncated binary back off exponential algorithm.

This time is expressed as a multiple, R, of a network parameter called slot time, tSL. R is randomly chosen in the interval 0–2k, where k is the minimum between 10 and the number of attempts to retransmit the frame. After a user-defined number of attempts without success, the MAC reports an error to the LLC. The occurrence of collisions makes the behaviour of Ethernet networks non deterministic. This is the principal reason for what Ethernet, in the past, was not considered suitable for real time applications, such those requested at the device level of factory automation systems.

However, the situation is significantly changing because, with the introduction of switches, collisions can be practically eliminated. An Ethernet switch is an ‘intelligent’ device equipped with a number of ports to which either the network segments or the single stations can be connected. The peculiarity of a switch is the ability of addressing frames only towards their destinations. As a consequence, with these devices, many transmissions can take place simultaneously without colliding, contrarily to what happens in the ‘traditional’ networks called shared Ethernet implementations. If a switch is used, the only possibility of having a collision is verified when two or more stations transmit contemporaneously towards the same station. Also in

48

this case, however, the collision can be avoided by means of a buffering functionality, which is implemented in many switches. Another important advantage of Ethernet is the high transmission speeds: from the initial speed of 10 Mbit/s it is now possible to 、 implement networks operating at 100 Mbit/s and 1 Gbit/s. The PDU of the IEEE 802.3

MAC is shown in Fig. 4. The PDU has a minimum length of 512 bits, necessary to ensure the correct operation of the collision detection technique. For this reason the field ‘Pad’ might be filled with the necessary number of octets. The minimum length is computed starting from the ‘Destination address’ field, hence the size of the shortest frame is 576 bits.

49

因篇幅问题不能全部显示,请点此查看更多更全内容

Top