《毕业论文智能温度控制和风扇控制系统》由会员分享,可在线阅读,更多相关《毕业论文智能温度控制和风扇控制系统(41页珍藏版)》请在金锄头文库上搜索。
1、毕毕业业论论文文智智能能温温度度控控制制和和风风扇扇控控制制系系统统集团标准化工作小组 Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN毕业设计说明书学生姓名:学号:学院:专业年级:题目:指导教师:评阅教师:年 月摘要摘要本次毕业设计设计了一个基于热释人体红外的风扇及照明控制系统,采用单片机 STC89C52 为控制器,以热释人体红外和系统来检测室内有无人员以及室内温度,通过光敏电阻来检测室内的光线强度,用温度传感器 DS18B20 来检测室内温度,用 LCD1602 来实时显示系统当前的工作模式和室内的温度,同时可通过按键来实现正常模式与防盗模式两者之间的随意切换。调试结果表明该系
2、统可以实时调节和控制室内风扇的转速和灯管的照明,达到了智能控制和节能的目的,并通过设置启动防盗模式来达到防盗的效果。关键词:关键词:热释人体红外;STC89C52;智能温控风扇;照明控制TitleTitleThe design of intelligent temperature control fan and illumination system based on the body pyroelectric infraredAbstract:Abstract:In this paper we designed an intelligent temperature control fan a
3、ndillumination system based on the body pyroelectric infrared to controlthe fan and the lamp in real time. In this system we use the STC89C52as the intelligent controller, we detect the inner-room temperaturewith the temperature sensor, and decide whether there is a person ornot based on infrared fr
4、om the body, and check the illuminationintensity through the photoconductive resistance. Besides, we utilizethe LCD1602 to display the present working mode and the inner-roomtemperature, meanwhile, we could change the mode freely by pressingthe buttons. Result shows that the system can surely contro
5、l theobjects intelligently and decrease the electric power effectively.Besides, it can also realize the effect of anti-theft by setting theanti-theft mode.Key words:Key words: the body pyroelectric infrared; AT89C51; intelligenttemperature control fan; illumination control目录1 1 绪论绪论智能温控风扇及照明控制系统的研发背
6、景智能温控风扇及照明控制系统的研发背景1.1.1智能温控风扇的设计背景随着空调机在日常生活中的普遍应用,很容易想到电风扇会成为空调的社会淘汰品,其实经过市场的考验和证实,真实的并不是这样的,在空调产品的冲击下,电风扇产品仍然具有很强大的生命力,电风扇在市场的考验中并没有淡出市场,反而销售在不停的复苏中具有强大的发展空间。据市场调查,电风扇的不停复苏主要在以下原因:一是电风扇虽然没有空调机的强大的制冷功能,但电风扇是直接取风,风力更加温和,比较适合老年人、儿童以及体质虚弱的人使用。二是电风扇经过多年的市场使用,较符合人们的使用习惯,而且结构简单、操作方便、安装简易。三是电风扇比起空调产品而言,其
7、价格低廉,相对省电,更易的进入老百姓的家庭。在激烈的市场竞争下,虽然电风扇具有广阔的市场空间,但不断新生产品的出现,要使产品更具市场优势,仅仅是靠传统型的电风扇是远远不够的,因此要对传统的电风扇根据市场的需要进行不断的更新,不断的改进,以使自己的产品立于不败之地。现在电风扇的现状:大部分只有手动调速,再加上一个定时器,功能单一。存在的隐患或不足:比如说人们常常离开后忘记关闭电风扇,浪费电且不说还容易引发火灾,长时间工作还容易损坏电器。再比如说前半夜温度高电风扇调的风速较高,但到了后半夜气温下降,风速不会随着气温变化,容易着凉。之所以会产生这些隐患的根本原因是:缺乏对环境的检测。如果能使电风扇具
8、有对环境进行检测的功能,当房间里面没有人时能自动的关闭电风扇;当温度下降时能自动的减小风速甚至关闭风扇,这样一来就避免了上述的不足。本次设计就是围绕这两点对现有电风扇进行改进。1.1.2智能照明控制系统的设计背景随着社会的发展人们对生活质量的要求越来越高,为方便生活人们越来越多的在各个场所引入照明设备,照明在能耗中所占的比例日益增加。为了达到方便生活的目的,这些照明设备有时会彻夜开着,从而造成了大量电力能源的浪费。据统计,在楼宇能量消耗中,仅照明就占33%,因此照明节能日显重要。现在国内外普及使用的节能开关基本有声控型、触摸型、感光型等。这几种开关各有自己的弊端,如声控型不适合环境嘈杂场所、触
9、摸型虽然能自动关闭但不能自动打开、感光型开关在无人期间不能自动关闭。目前,纵观国内外研究开发的智能照明控制系统,按其通信介质主要有总线型、电力线载波型、无线网络型等。按照网络的拓扑结构可以分为集中式或分布式。集中式智能照明控制系统主要为星形拓扑,即以中央控制节点为中心,把若干外围节点连接起来的辐射式互连结构。各照明控制器、控制面板等设备均连接到中央控制器(CPU)上,由中央控制器向照明控制器等末端执行单元传送数据包;分布式智能照明控制系统以中央监控为中心,组建控制主干网和多个控制子网,各照明控制器,控制面板等设备均具有中央处理器 CPU 单元,每个控制器和面板都可以直接连接在子网上。智能温控风
10、扇及照明控制系统的研制意义智能温控风扇及照明控制系统的研制意义近年来随着经济的发展和科技的进步,人们对用电设备的要求也越来越高,传统的手动风扇及照明控制系统技术受到了时代的强烈冲击,“智能温控风扇及照明”技术随之出现,并迅速地向前发展。一般来说,手动控制系统指的是个人通过按钮的切换、旋转、揿动或遥控器和其他途径执行操作的单一开关或一组开关和调光装置构成的系统,小规模情况下,的确具有成本低廉的优点,但随着系统规模的扩大,手动控制将失去其成本上的效益。此外,不需要照明时,是否关灯完全决定于人为因素,难免浪费电力增大能耗,照明范围越大,问题尤其严重。相对智能照明控制系统而言,传统控制方式简单、有效、
11、直观。但它过多依赖控制者的个人能力,控制相对分散和无法有效管理,其实时性和自动化程度太低。正因为如此,智能温控风扇及照明控制系统的研发有着极为重要的意义。目前,绝大多数楼宇风扇和电灯在使用时都是由人员手动操作,当天气闷热时由楼宇内的人员手动开启风扇和选调风速,当灯光不足或在上楼梯时手动开启电灯,常常会由于人员的疏忽在人离开之后忘记关闭设备而导致用电的浪费。在本系统设计中,考虑采用单片机为控制器,以热释人体红外和温度传感系统来检测室内有无人员以及室内温度,设计一个智能温控风扇及照明控制系统,可以实时调节和控制室内的风扇和灯光的照明,从而达到智能控制和节能的目的。2基于热释人体红外的智能温控风扇及
12、照明控制系统的硬件设计总体设计总体设计图 2-1 所示是基于热释人体红外的智能温控风扇及照明控制系统的总体结构框图。图 2-1系统总体结构框图由上图可以看出,该系统一共包括六个模块:人体感应模块、光度采集模块、温度传感及显示模块、照明控制模块、风扇控制模块、防盗报警模块。系统上电便进入默认的正常工作模式,1602 液晶显示器实时显示当前系统的工作模式以及室内的温度。通过 51 单片机和热释人体红外来检测区域内是否有人,如果距离人体红外感应模块 5-7 米范围内有人出现,则其会输出高电平,然后可通过检测与感应模块相接的单片机I/O 口的高低电平来进行相应的操作。在正常模式下,若有人出现,系统则会
13、一直检测室内的光线强度以及温度,并通过与设定值相比较来进行智能控制:如果光线较暗,则开启两盏 LED 灯;如果光线一般,则开启一盏 LED 灯;若光线较强,则选择不开灯;而如果温度低于设定值,则不开风扇;若温度高于设定值则开启风扇;若温度过高(本系统设置为 40 度),则会发出报警的声音。如果在正常模式下没有人出现,即人体感应模块输出低电平的时候,系统则关闭所有的用电设备(LED 灯、风扇)以节省电能。此外可通过按键来切换当前的工作模式,如果启动了防盗报警模式,当检测到其区域内有人或者温度高于某一设定值时,就会发出连续的报警信号,直到按键按下才停止报警。主控制器主控制器2.2.1 STC89C
14、52 单片机的性能特点STC89C52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能: 8k 字节 Flash,512 字节RAM, 32 位 I/O 口线,内置 4KB EEPROM,MAX810 复位电路,三个 16位 /计数器,一个 6 向量 2 级中断结构,全双工串行口。另外 STC89X52可降至 0Hz 静态逻辑操作,支持 2 种可选择节电模式。空闲模式下,CPU 停止工作,
15、允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率 35Mhz,6T/12T 可选。2.2.2由 STC89C52 构成的单片机最小系统单片机最小系统是指单片机可以正常工作需要的部件(都是必须的),包括 mcu(单片机),时钟(晶振),复位电路,电源。在实际中可以使用几节的干电池供电。由 STC89C52 构成的单片机最小系统图见图 2-2。复位电路的原理是单片机 RST 引脚接收到 2us 以上的电平信号,只要保证电
16、容的充放电时间大于2us,即可实现复位,所以电路中的电容值是可以改变的。按键按下系统复位,是电容处于一个短路电路中,释放了所有的电能,电阻两端的电压增加引起的。图 2-2单片机最小系统人体感应模块人体感应模块人体红外感应模块电路主要由人体被动红外探头、菲涅尔透镜、专用芯片 BISS0001 组成,当有人出现在它的探测区,传感器便能探测到信号并把信号传给单片机,单片机通过检测输出信号再根据实际情况是否该开启器件设备或让房间的电器设备处于一种可开启状态。关于走廊及洗手问用灯情况,当晚上有人经过时,人体红外感应到人便开启走廊用灯或者洗手间用灯。热释人体红外模块电路如图 2-3 所示。图 2-3热释人
17、体红外模块电路图电路中运用了热释红外专用芯片 BISS0001。BISS0001 是由运算放大器、电压比较器、状态控制器、延迟时间定时器以及封锁时间定时器等构成的数模混合专用集成电路。如图 2 所示,当人体辐射的红外线通过菲涅尔透镜被聚焦在热释电红外传感器的探测元上时,电路中的传感器将输出电压信号,然后使该信号先通过一个由 C1、C2、R1、R2 组成的带通滤波器,该滤波器的上限截止频率为 16 Hz,下限截止频率为 Hz。由于热释电红外传感器输出的探测信号电压十分微弱(通常仅有 1mV 左右),而且是一个变化的信号,同时菲涅尔透镜的作用又使输出信号电压呈脉冲形式(脉冲电压的频率由被测物体的移
18、动速度决定,通常为Hz10 Hz 左右),所以应对热释红外传感器输出的电压信号通过运算放大器 OP1 和 OP2 进行二级放大。再经由电压比较器 COP1 和 COP2 构成的双向鉴幅器处理后,检出有效触发信号 Vs 去启动延迟时间定时器。输出信号 Vo 接单片机以便检测,当有人时便输出 5 V 高电平,当人离开之后延时一段时间后便复位为 O V 以便主控制电路的控制。电路设计让芯片处于可重复触发状态以便适合教室的实际情况。重复触发其工作过程:可重复触发工作方式下在 Vc=“1”、A=“1”时,Vs 可重复触发 Vo 为有效状态,并可促使 Vo 在 Tx 周期内一直保持有效状态。在 Tx时间内
19、,只要 Vs 发生上跳变,则%将从 Vs 上跳变时刻起继续延长个Tx 周期;若 Vs 保持为“1”状态,则 Vo 一直保持有效状态;若 Vs 保持为“0”状态,则在 Tx 周期结束后 Vo 恢复为无效状态,并且,同样在封锁时间 Ti 时间内,任何 Vs 的变化都不能触发 Vo 为有效状态。本次设计中,热释人体红外模块是系统实现智能控制的前提,所有功能的实现比如风扇控制、灯管照明控制以及防盗等,都要以检测是否有人为前提,如果检测失准,将会造成控制紊乱,从而一方面浪费了电能,另一方面还给人们的生活和工作带来诸多不便。考虑到自己搭建以上人体感应电路的繁琐性以及给系统正常运行可能造成的不准确性,因而特
20、意选用了一个整体模块 SR-HC500。SR-HC500 有三个端口,如图 2-4 所示:一个接电源、一个接地、一个信号端口,它具有如下几种功能特点:图 2-4 人体感应模块原理图(1)全自动感应:当有人进入起感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平。(2)光敏控制(可选):模模块预留有位置,可设置光敏控制,白天或光线强时不感应。光敏控制为可选功能,出厂时未安装光敏电阻。如果有需要,可另行加入光敏电阻。(3)两种触发方式:L 不可重复,H 可重复。可跳线选择,默认为 H。A.不可重复触发方式:即感应输出高电平后,延时时间一结束,输出将自动从高电平变为低电平。B.可重
21、复触发方式: 即感应输出高电平后,在延时时间段内,如果有人体在其感应范围内活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。(4)具有感应封锁时间(默认设置:秒):感应模块在每一次感应输出后(高电平变为低电平),可以紧跟着设置一个封锁时间,在此时间段内感应器不接收任何感应信号。此功能可以实现(感应输出时间和封锁时间)两者的间隔工作,可应用于间隔探测产品;同时此功能可有效抑制负载切换过程中产生的各种干扰。(5)工作电压范围宽:默认工作电压 DC5V 至 20V。(6)微功耗:
22、静态电流 65 微安,特别适合干电池供电的电器产品。(7)输出高电平信号:可方便与各类电路实现对接。光度采集模块和照明控制模块光度采集模块和照明控制模块光度采集模块的主要元器件用到的是光敏电阻、滑动变阻器和电压比较器 LM393。通过改变滑动变阻器的阻值向系统设定相应光强所对应的参考电压值,并与由光敏电阻所反映的实际电压进行比较,经由LM393 芯片得到输出电压,然后通过输出电平的高低来控制照明系统。其电路原理图如图 2-5 所示:图 2-5 光度采集模块原理图本模块通过两个滑动变阻器设置两个参考电压,比较参考电压和实际电压的大小从而得到几组不同光线强度下的输出电压情况,再根据这些去控制 LE
23、D 灯的亮灭。2.4.1光敏电阻的特性利用具有光电导效应的半导体材料制成的光敏传感器称为光敏电阻。目前,光敏电阻应用的极为广泛,可见光波段和大气透过的几个窗口都有适用的光敏电阻。利用光敏电阻制成的光控开关在我们日常生活中随处可见。当内光电效应发生时,光敏电阻电导率的改变量为: pep nen(式 2-1)在(式 2-1)中,e 为电荷电量,p为空穴浓度的改变量,n为电子浓度的改变量,表示迁移率。当两端加上电压 U 后,光电流为:IphAU(式 2-2)d式中 A 为与电流垂直的表面,d 为电极间的间距。在一定的光照度下,为恒定的值,因而光电流和电压成线性关系。光敏电阻的伏安特性如图 2-6 所
24、示,不同的光照度可以得到不同的伏安特性,表明电阻值随光照度发生变化。光照度不变的情况下,电压越高,光电流也越大,而且没有饱和现象。当然,与一般电阻一样光敏电阻的工作电压和电流都不能超过规定的最高额定值。图 2-6光敏电阻的伏安特性曲线图 2-7光敏电阻的光照特性曲线光敏电阻的光照特性则如图 2-7 所示。不同的光敏电阻的光照特性是不同的,但是在大多数的情况下,曲线的形状都与图 2-7 的结果类似。由于光敏电阻的光照特性是非线性的,因此不适宜作线性敏感元件 ,这是光敏电阻的缺点之一。所以在自动控制中光敏电阻常用作开关量的光电传感器。2.4.2发光二极管电路发光二极管简称为 LED,它是半导体二极
25、管的一种。发光二极管的反向击穿电压约 5 伏。它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流。限流电阻 R 可用下式计算:R(EUf)If(式 2-3)式中 E 为电源电压,Uf为 LED 的正向压降,If为 LED 的一般工作电流。发光二极管的两根引线中较长的一根为正极,应按电源正极。与小白炽灯泡和氖灯相比,发光二极管的特点是:工作电压很低(有的仅一点几伏);工作电流很小(有的仅零点几毫安即可发光);抗冲击和抗震性能好,可靠性高,寿命长;通过调制通过的电流强弱可以方便地调制发光的强弱。由于有这些特点,发光二极管在一些光电控制设备中用作光源,在许多电子设备中用作信号显示器
26、。温度传感及显示模块温度传感及显示模块本模块采用温度传感器 DS18B20 来检测室内的温度,并将实时采集的温度传输至单片机的一个 I/O 口,同时使用 LCD1602 来实时显示室内的温度值。2.5.1温度传感器 DS18B20 简介新型数字温度传感器 DS18B20 具有体积更小、精度更高、适用电压更宽、采用一线总线,在实际应用中取得了良好的测温效果。DS18B20 的主要特性:(1)独特的单线接口方式,DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。(2)测温温范围55125(3)最高分辨率为 0.0625。2.5.2 DS18B20 的一
27、般操作过程(1)初始化;(2)跳过 ROM(命令:CCH);(3)温度变换(命令:44H);(4)读暂存存储器(命令:BEH);注:每次读取温度都要经过上面四个过程。2.5.3 DS18B20 的温度存储方式即温度计算DS18B20 是用 12 位存储温度,最高位为符号位,表 2-1 为它的温度存储方式:表 2-1 DS18B20 温度存储地址分配232221202-12-22-32-4LSBYTEBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0SSSSS262524MSBYTEBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8这是 12 位转化后得到
28、的 12 位数据,存储在 DS18B20 的两个 8 比特的 RAM 中,二进制中的前面 5 位是符号位,如果测得的温度大于 0,这 5位为 0,只要将测到的数值乘于即可得到实际温度;如果温度小于 0,这5 位为 1,测到的数值需要取反加 1 再乘于即可得到实际温度。风扇控制模块风扇控制模块将由 DS18B20 芯片采集到的实时温度与软件设置的温度参数值做对比,用口控制三极管 9012 的导通和截止,通过 PWM 调速方式使风扇在某一温度范围内实现低速、中速或者快速转动,从而实现温控风扇的智能控制。考虑到系统设计重在对现实情况进行模拟,具有一定的实验性,所以本次采用的风扇就是一般的电脑风扇。防
29、盗报警模块防盗报警模块蜂鸣器工作原理简介:当控制端口通以不同频率及不同占空比的信号时蜂鸣器将发出不同强度及不同频率的声音。由于其具有比传统的喇叭体积小,价格低等优点,所以此次提示音电路选用蜂鸣器,具体电路如图 2-8。图 2-8 蜂鸣器驱动电路本模块用一个 9012PNP 三极管作为蜂鸣器的驱动,蜂鸣器的负极接到地,当基极 b 为低电平时三极管导通,蜂鸣器发出声音。当 b 极为高电平时三极管不导通,蜂鸣器不工作。连接一个按键开关来切换正常模式和防盗模式。通过单片机的口控制其发出报警声音,当温度太高或发生火灾时蜂鸣器长鸣以提醒楼宇人员,当开启防盗模式时如果有小偷入侵时蜂鸣器发出连续的报警声。3
30、3基于热释人体红外的智能温控风扇及照明控制系统的软件设计光度采集模块与照明控制模块的软件设计光度采集模块与照明控制模块的软件设计本模块的重点和难点在于硬件部分的设计,软件部分相对而言较为简单,只要将 LM393 的两个输出 out1 和 out2 分情况讨论即可(见表 3-1)。表 3-1开灯情况表Out1Out2光线强度开灯数HL强0LL一般1LH弱2该部分的软件设计流程图如图 3-1:图 3-1 光度采集模块与照明控制模块的软件流程图将 LM393 的两个输出 out1、out2 分别与单片机的和相连,将两个LED 灯的控制端(低电平时亮灯)分别与单片机的和相连,通过不断检测单片机的这四个
31、 I/O 口的高低电平来实现对照明系统的控制。如果out1out2 分别为高电平和低电平,单片机的和就都输出高电平,从而实现不开灯的操作;如果 out1out2 都是低电平,那么单片机的就输出低电平,输出高电平,从而实现开一盏灯的操作;如果检测到 out1out2 分别是低电平和高电平,那么和就都输出低电平,这就实现了开两盏灯的操作。人体感应模块的软件设计人体感应模块的软件设计人体感应模块的硬件电路接口只有一个与单片机实行通讯,当有人出现在其感应距离内时即被触发,这时输出电平为高电平;如果没有人出现在感应距离之内即不被触发,此时输出的电平为低电平。该模块的软件流程图如图 3-2 所示,图中的
32、body 定义为与单片机相接的口。如果有人,则为高电平,如果没人,则输出低电平,这样通过不断地检测口的高低电平就可以判断出是否有人出现。图 3-2 人体感应模块的软件流程图温度控制风扇模块的软件设计温度控制风扇模块的软件设计由于采用了 DSl8B20 单总线的通讯协议方式,所以软件模块在遵循芯片的通讯时序图的同时通过操作单片机 I/O 口的高低电平来进行相关的操作,具体参考头文件的软件设计。通过口将数据传输到单片机内部进行数据的处理,然后将处理得到的温度数值作为风扇风速档次的选择依据。风扇的风速通过调制不同的 PWM 来控制,通过拉高拉低 IO 口电平来控制三极管的导通与截止控制风扇的转速。该
33、部分的软件流程图如图 3-3 所示,首先利用 DS18B20 不断地采集室内的温度,并将处理得到的温度值不断地通过 1602 液晶显示器实时地显示出来。如果温度低于 27 度,则将风扇控制端口置为高电平,使风扇处于静止状态;如果温度高于 27 度但低于 28 度,系统则运行慢速函数;如果温度高于 28 度但低于 30 度,系统则运行中速函数;如果温度高于 30 度但低于 40 度,系统则运行快速函数;如果温度高于了 40 度蜂鸣器则发出报警的声音。图 3-3风扇控制模块的软件流程图系统软件流程总图系统软件流程总图在系统软件设计时首先得将系统进行初始化操作,如对温度采集模块的 DS18B20 温
34、度传感器以及 1602 液晶显示器进行初始化,其中对LCD1602 的初始化操作包括清屏、功能设置、显示与不显示设置和输入模式设置。系统初始化之后首先应该判断当前的工作模式,然后再根据工作模式来进行相应的操作。本系统上电时系统工作在正常模式(通过按键来切换工作模式),以温度传感模块不断地采集室内温度,并通过LCD1602 不断的显示当前温度值。在正常模式下如果有人,那么系统则既要不断采集温度又要不断地检测室内的光线强度,然后根据二者来对用电设备进行自动控制;而如果正常模式下室内没有人,那么就不要打开任何用电设备以避免不必要的浪费。按键一次之后系统便进入防盗模式,这时仍然选择不断地检测室内的温度
35、以便能够及时发现火灾从而做出迅速有效的处理,同时系统不断地扫描是否有人闯入,一旦检测到有人闯入那么系统就会发出连续的报警声。在听到报警声之后,安保人员可按键确认相关信息并取消报警声,然后通过复位键将系统复位,这时系统重新处于有效的工作状态。系统的软件流程总图如图 3-4 所示。图 3-4 系统软件流程总图4 基于热释人体红外的智能温控风扇及照明控制系统的软硬件联机调试硬件电路由万能板搭建焊接而成,之后分模块一一进行调试。首先是调试 LED 灯、蜂鸣器以及风扇,因为这些都是低电平有效的,所以通过编程观察当与其相接的单片机 I/O 口输出低电平时它们是否都能正常工作,结果表明 LED 灯都能正常发
36、光、蜂鸣器能发出鸣叫声、风扇能正常旋转。其次调试的是人体感应模块,当接入+5V 电源后,该模块能正常地被触发,即当有人出现时能输出高电平,而将整个模块用纸包裹起来时则输出低电平。随后便调试光度采集模块,先通过改变室内光线强度(强、一般、弱)测出光敏电阻两端三组不同的电压值,然后分别从强和一般以及一般与弱两组之间选出两个电压作为参考电压,并通过滑动变阻器来达到参考电压值。然而在调试的过程中,理论上当 LM393 的同相端电压低于反相端电压时输出低电平,而同相端高于反相端电压时则会输出高电平,可是多次调试却发现本应输出高电平的情况输出的却是 0V,随后在查了 LM393 的芯片资料之后才知道它(集
37、电极开路输出)只有接上拉电阻才能输出高电平,果然,在接了 10K 的上拉电阻之后输出了高电平。对于温度采集与显示模块,难点在于软件的设计,本次采用 Keiluvision4 来编写程序,使用 STC_ISP_V483 来下载程序。由于想通过按键来切换当前工作模式,所以必须编写按键扫描程序。刚开始调试的时候没有加按键程序只单独操作温度的采集与 1602 显示,调试结果能显示默认的正常模式以及当前室内的温度,可是当加入按键程序来切换模式的时候却出现了问题。一开始是按键要按多次系统显示部分才有反应,即由正常模式切换至防盗模式或者由防盗模式切换至正常模式,于是考虑这是按键失灵的问题,然后换了一个新的按
38、键并再次调试,这才使得模式切换操作正常,可是 1602 的显示模式这一项却又出现了问题,当由Normal mode 切换为 Anti-theft mode 时能正确显示,可是再由 Anti-theft mode 切换到 Normal mode 时却错误地显示了 Normal modemode,于是便考虑到这是之前的显示未被清屏的缘故,然后就在显示工作模式及当前温度的程序之前添加了给 1602 清屏的指令。可当加入这一指令之后,却发现字符在显示的时候那种时间上的先后顺序太过明显,给人视觉上的效果很不好,于是考虑这可能是程序在执行按键扫描以及显示模式、温度的时候时序出现了问题,随后就将按键连接到单
39、片机的口(外部中断 0),并将按键扫描程序加到外部中断程序里面,之后再次调试的时候才取得了比较理想的效果。最后就是风扇控制模块的软件调试部分,本来是想着利用 PWM 调速的方式来调节风扇的转速,因而事先定义了三个不同转速的函数,温度在 27-28之间执行慢速函数,温度在 28-30执行中速函数,温度在30-40执行快速函数,刚开始调试的时候发现风扇确实可以按照当前温度自动调节转速,可是这时 1602 上显示的字符却没有发生变化,即它不能实时地反映当前的模式及室内温度,这时便考虑是循环函数出了问题,仔细看了下循环函数便发现这是因为系统进入了风扇调速的死循环,而外面的模式、温度扫描及显示程序却并没
40、有循环执行,可是当去掉风扇调速的 while 循环程序,再次调试的时候却又出现了一个问题,那就是风扇失去了调速的功能:只要超过一定温度,风扇就以最大的转速工作。仔细检查程序发现这是因为在系统扫描温度采集、转换和显示的时间里控制风扇导通的 I/O 口一直都是低电平(风扇是低电平有效),所以风扇的速度一直都是最大的。后来经过反复思考,并在查阅了相关资料之后找到了既能实时显示相关信息又能实现温控调速的好办法,即先将显示部分定义成一个(显示)函数,然后利用这一函数作为PWM 调速中输出高低电平的延时单元,这样也不会影响系统的显示功能,可以说是一举两得。经过很多次的调试、检查、修改和再调试的过程,基于热
41、释人体红外的智能温控风扇及照明控制系统预期所要求实现的功能基本上都能够正常地实现。结结论论毕业设计是本专业教学中最后一个重要的实践性教学环节,是我们从学校走向工作岗位必要的过渡阶段。对我个人而言,毕业设计是我大学四年学习的总结与检验,是大学四年所学知识的综合运用的体现。此次毕业设计巩固了我所学理论,增强了理论联系实际的能力,更是为以后的工作打下了更坚实的基础。本次毕业设计采用单片机 STC89C52 为控制器,用热释人体红外来感知室内是否有人出现,用温度传感器 DS18B20 来检测室内温度,用光敏电阻来检测室内光线的强弱,用 LCD1602 来实时显示当前的工作模式以及当前室内的温度值。系统
42、上电后 LCD1602 便显示系统默认的正常模式和室内的温度,通过按键可以实现两种模式间的相互切换。该系统可以根据室内的温度来实时自动控制风扇的开关及风扇的转速档位,并且根据室内的光线强弱和是否有人来控制灯管的亮灭。使用蜂鸣器作为报警源,如果启动报警模式,当检测到其区域内有人就会发出报警信号,或者当温度超过一定值时它也会发出长鸣报警声。调试结果表明系统能够达到预定目标,即能够达到智能控制、节约能源以及安全防护的目的,其非常适用于学校教室、图书馆、楼道照明灯等场所。致致谢谢本论文是在王明芳导师的悉心指导之下完成的,四年来,导师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德
43、,朴实无华、平易近人的人格魅力对我影响深远。本论文从选题到完成,几易其稿,每一步都是在导师的指导下完成的,倾注了导师大量的心血,在此我向我的导师王明芳老师表示深切的谢意与祝福!同时我还得感谢做毕业设计以来一直帮助我的同学和朋友,因为之前全身心准备考研,在专业技能的训练和提升上我都有比较大的欠缺,因而这次毕业设计对我来说就是重新学习和应用单片机的知识,使用单片机来做些简单的应用系统设计。作为新手我当然少不了遇到这样或那样的问题,无论是硬件焊接、硬件调试,还是软件的调试,在我查资料或多次调试都未能理解相关知识或者有效解决问题时,我都能及时得到好友梁璟玥和王亮军同学的帮助。再次感谢王明芳老师在理论知
44、识、工作任务、工作方向和进度安排等方面的指导和帮助,感谢身边的朋友和同学能和我一起分析讨论并解决毕业设计过程中遇到的各种问题,感谢学校给了我们这次提高自身水平、理论联系实际的机会,使我们能够将平时所学真正用到实际当中,并在实践中加深了对知识理论的深入认识。参参 考考 文文 献献1李全利.单片机原理及接口技术(第二版)M.北京:高等教育出版社,2赵全利,肖兴达.单片机原理及应用教程(第二版)M .北京:高等教育出版社,20083何希才.传感器及其应用实例M.北京:机械工业出版社,20044陈继述.红外探测器M .北京:国防工业出版社,19865柳刚,黄竹邻,周昊,王双保,易新建.非接触式红外研制
45、M.光电子科技与信息,20056康华光.数字电子技术基础M .北京:高等教育出版社,7康华光.模拟电子技术基础M .北京:高等教育出版社,8唐介.电机与拖动(第二版) M .北京:高等教育出版社,9戴佳,戴卫恒,刘博文.51 单片机 C 语言应用程序设计实例精讲(第二版)M .北京:电子工业出版社,10杨峰.C 语言完全手册M.北京:科学出版社,200811梁合庆.单片机开发调试应注意的问题J .电子产品世界,2000(7)12王福瑞.集成电路器件大全M .北京:希望电子出版社,199913胡汉才.单片机原理及系统设计M .北京:清华大学出版社,200214陈永甫.红外探测与控制电路M.北京:
46、人民邮电出版社,2004:290-32015夏路易电路原理图与电路板设计教程 Protel99seM北京希望电子出版社,200216 Theodore WildiElectrical machine, and power systemM,200217 Omas . Computer Architecture and Logic DesignJ.McGraw-Hill18 Nelson J Getal. Tourism and Sustainable Development:Moritoring, planning, Managing. Unniversity of Waterloo,1993附
47、录附录 1 1原理图原理图附录附录 2 PCB2 PCB 板图板图附录附录 3 3程序程序#include#include#define uchar unsigned char#define uint unsigned intsbit DQ=P14;/读温度准备 TL=ReadOneChar(); /先读的是温度值低位 TH=ReadOneChar(); /接着读的是温度值高位 TN=TH*16+TL/16; /实际温度值=(TH*256+TL)/16,即:TH*16+TL/16 /这样得出的是温度的整数部分,小数部分被丢弃了 TD=(TL%16)*10/16; /计算温度的小数部分,将余数乘
48、以 10 再除以 16 取整, K2K20c; 4c4aK2 ReadyReadTemp(); /这样得到的是温度小数部分的第一位数字(保留 1位小数) display_temp1(TN); /显示温度的整数部分 display_temP3(TD); /显示温度的小数部分void fan_control()L1=1;L2=1;L3=1;if(TN=27&TN28) /q%=33%L1=0;fan=0;display_normal();display();for(c=0;c=28&TN=30&TN=40) /温度过高报警WriteInstruction(0x01);delaynms(5);ala
49、rm1();else L1=1;L2=1;L3=1;fan=1;led1=1;led2=1;buzzer=1; /正常模式下没人的情况/关闭用电设备 display_normal(); /显示正常模式/显示温度 /温度过高报警 display(); if(TN=40) fan=1;led1=1;led2=1;WriteInstruction(0x01);delaynms(5);alarm1(); else if(K2=1) display_theft();display(); /显示防盗模式 /显示温度 /按键切换模式fan=1;led1=1;led2=1;buzzer=1;L1=1;L2=1
50、;L3=1;/关闭用电设备if(body=1)delaynms(2000);if(K2)delaynms(8000);WriteInstruction(0x01);/有小偷入侵delaynms(5);alarm2(); elseif(TN=40)/火灾-温度过高 WriteInstruction(0x01);delaynms(5);alarm1();void int0()interrupt 0void int1()interrupt 2K2=1;K1=0;WriteInstruction(0x01);delaynms(10);K1=1;K2=0;WriteInstruction(0x01);delaynms(10);