(完整版)教室灯光控制系统毕业设计论文

更新时间:2024-05-22 14:23:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

优秀论文 审核通过 未经允许 切勿外传

摘要

本研究针对教室灯光的控制方法,尤其是教室灯光的智能控制方面的发展现状,分析了教室灯光智能控制的原理和实现方法,提出了基于单片机的教室灯光智能控制系统的设计思路,并在此基础上开发了智能控制系统的硬件装置和相应软件。

该系统以AT89C52单片机作为控制装置的智能部件,采用热释红外人体传感器检测人体的存在,采用光敏三极管构成的电路检测环境光的强度;根据教室合理开灯的条件,系统通过对人体的存在信号和环境光信号的识别和智能判断,完成对教室照明回路的智能控制,避免了教室用电的大量浪费。系统还具有多种报警功能;同时还采用了软硬件的“看门狗”技术等抗干扰措施。单片机软件采用汇编语言编制,采用模块化结构设计、条理清晰、通用性好,便于改进和扩充。

该系统具有体积小,控制方便,可靠性高,专用性强,性价比合理等优点,可以满足各类大、中专院校教室灯光控制的要求,很大程度的达到节能目的。

关键词:人体;红外线;传感器;自动控制;热释电

Abstract

Currently light intelligent control systems are not efficiently used in the classroom. In order to improve the system, based on control and current methods of the basis of AT89C52 is developed, which machine of AT89C52 is a major part, and the environment of development is better than before. This system can satisfy the following functions, such as controlling the circuit of illumination, testing and processing daylight signal, testing and processing the signal of body that illuminates the back track exists, reporting to the warning devices,etc.In order to satisfy these functions, the system adopted the the system.

The microcontroller software was developed based on assemble language. Assemble language is one kind of structured program languages, it other . Its commonality is very good and easy to improve and expand. It could be used to develop larger一scale system with more perfect performance. At the same time, the anti-jamming technologies, such as watchdog, are necessary when developing was strong, and its price proportion was ideal,etc. The experiment proved that the system can

satisfy the control command of the classroom' s light device, so it could largely reduce the consuming of energy resources.

Key words: Human body, infrared ray, sensor, automatic control,: BodySensor and Iight to light port356

DoSensLight:Mov c, port33 ;Signal of Sensor

Anl c, port37

Cpl c ; 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.抗电磁干扰

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

探测器正常灵敏度范围内,受3米外H4卤素灯透过玻璃照射,不产生信号。

4.2.4人体存在传感器的安装要求

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

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

2.人体存在传感器远离空调,冰箱,火炉等空气温度变化敏感的地方。 3.人体存在传感器探测范围内不得隔屏、家具、大型盆景或其他隔离物。

4.人体存在传感器不要直对窗口,否则窗外的热气流扰动和人员走动会引起误报,有条件的最好把窗帘拉上。人体存在传感器也不要安装在有强气流活动的地方。人体存在传感器对人体的敏感程度还和人的运动方向关系很大。人体存在传感器对于径向移动反应最不敏感,而对于横切方向(即与半径垂直的方向)移动则最为敏感.在现场选择合适的安装位置是避免红外探头误报、求得最佳检测灵敏度极为重要的一环。

4.3时钟模块

在系统启动自检初始化时,首先会对时钟芯片DS1302的运行状态进行判断,当检测到DS1302处于启动状态时才对其进行初始化启动时。实时时钟芯片DS1302的初始化及其读写程序设计的关键是要遵循其时序要求。

4.3.1数据输入输出

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

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

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

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

表4. 3. 2内部寄存器

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

BEH BFH TCS TCS TCS TCS DS DS RS RS

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

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

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

考虑刚买来的时钟芯片处于一切未知状态,于是必须对DS1302进行自检初始化。DS1302的自检初始化程序设计流程图如图4.3.3.1所示:

图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

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所示:

图4.3.4.1 读写程序流程图

在对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 Mov B, #10 Div AB Mov @R1,B Inc R1 Mov @R1,A Inc R1 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

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

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

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.静态调试:静态调试主要是排除明显的硬件故障。在电路搭建好后,对其进行仔细检查,查看端口是否正确连接,连接是否可靠。同时还应当用万用表检查电路,看应当开路的地方是否开路,应当短路的地方是否短路,电源地线连接是否可靠。在焊接后,查看焊接是否牢固,有无虚焊或短路等。在将芯片、传感器等元件插到电路板上时,要保证各处电源极性、

电压正确,以防止因电源极性接反或电压过高损坏芯片或传感器。此外,插入芯片必须在断电的情况下进行,特别注意芯片的方向不要插反。

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

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

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

系统调试一般来讲是一种复杂,而仔细的工作,所以在调试过程中需要有耐心,仔细检查、解决出现的一切问题。只有所有问题都得到解决后,才能保证整个系统的正常运行。在本系统的调试过程中遇到的主要问题及分析解决: 问题1:电源供电电路中集成稳压器温度过高。分析解决:稳压器温度过高的原因之一是:12V变压器整流滤波后加到集成稳压器输入端的电压较高,使7805上的压降过大。此问题可通过使用9V变压器,在集成稳压器前串入两只二极管降压,同时增大散热片来解决。

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

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

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

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

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

6.结论和建议

6.1结论

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

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

在保证装置能稳定可靠工作的前提下,硬件设计上尽量采用性价比高的元器件,以降低成本。软件设计上采用多任务形式对信号的采集、处理,达到最终控制灯光的目的。

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

6.2建议

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

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

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

致谢

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

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

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

参考文献

[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

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

一、单片机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个可编程I0管脚 (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引脚功能如下:

CS: 选输入;

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

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

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

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

表1 X5045指令及其含义 指令名 WREN WRDI RDSR WRSR READ WRITE 指令格式 0000A801 0000A801 操作 设置写使能锁存器(允许写操作) 复位写使能锁存器(禁止写操作) 读状态寄存器 写状态寄存器 把开始于所选地址的寄存器中的数据读出 把数据写入开始于所选地址的寄存器

本文来源:https://www.bwwdw.com/article/u8v7.html

Top