基于单片机的智能台灯系统设计.doc
第1节 引 言21.1智能台灯系统概述21.2本设计任务和主要内容4第2节 系统主要硬件电路设计52.1单片机主机系统电路52.1.1系统电路组成52.1.2系统工作原理52.1.3系统控制核心62.2红外传感器电路72.2.1人体位置检测82.2.2环境光检测82.2.3过零检测部分92.3输出控制部分电路92.4电源控制部分102.5遥控器部分11第3节 系统的软件设计123.1系统程序框图123.2系统主程序设计133.3采样子程序设计153.4数据处理163.3.1滤波程序设计163.3.2遥控器程序设计17第4节 结束语19参考文献20基于单片机的智能台灯系统 第1节 引 言台灯已是千家万户的必需生活用品,经常由于忘记关灯而造成巨大的能源浪费。当夜晚来临时,人们又摸黑去开灯,非常不方便。在这里设计了以人体红外辐射传感控制电路。当人体在台灯的范围内且环境光强较弱时,自动感应开灯;当人体太靠近桌面时,台灯自动感应,警告纠正坐姿,若在一定时间内未离开桌面则自动熄灭。当人离开时则自动关灯,达到节约能源的目的。 单片机控制部分采用AT89C51单片机为核心,主要由热释电红外传感器,光敏电阻信号处理电路,提醒电路,灯光控制电路,故障报警电路等组成,软件选用汇编语言编程。单片机可将热释电红外传感器检测到的人体辐射红外信号及光强信号的模拟量转换成数字量。该系统灵活性强,易于操作,可靠性高,将会有更广阔的开发前景。通过研1.1 智能台灯系统概述 随着科技的高速发展,各种各样的科技产品、家用电器走入人们的生活,这一切都大大地提高了人们的工作效率、改善了人们的生活,现在电器的发展趋势是智能化,这样会使人们使用起来更方便。智能化产品在各个领域都有出色的应用,所以我们打算研究是智能化台灯。虽然按键式的台灯还是台灯市场的主体。但是,现代电子技术的发展和人们的需求变化,已使传统的台灯感受到产品更新换代的威胁。智能型的电器产品渐渐进入人们的生活中。台灯是人们生活中用来照明的一种家用电器。它一般分为两种,一种是立柱式的,一种是有夹子的。它的工作原理主要是把灯光集中在一小块区域内,集中光线,便于工作和学习。一般台灯用的灯泡是白炽灯或者节能灯泡。 有的台灯还有应急功能,用于停电时无电照明已用来应急。它是千家万户的必需生活用品。目前,灯具市场上出售的台灯种类繁多,一般的台灯均采用220V交流电源供电,日光灯管、白炽灯泡为光源,手动开关或触摸感应式开关来控制。但这类台灯,存在很多弊端,一是电压是不安全电压,给人们使用带来不安全因素;二是日光灯还具有频闪效应,经常使用会给人的眼睛带来一定的伤害;三是耗电量大、台灯通常都是以日光灯为主,在几瓦到几十瓦之间;四是人工化,人们由于手工操作,往往会忘记关灯,这也造成电能的浪费,到目前为止,在灯具市场上,很少见到采用+6V的直流电源供电的一种人体智能台灯,它具有既不会出现触电,使用寿命长,无辐射,又无污染等优点。智能台灯可分成自动和手动两种模式。在自动模式下,台灯能根据环境光的亮暗与人是否被台灯所检测到(人是否在)来自动开启台灯。当人被微机检测到,环境光又达到某个程度的时候(可以设定与调节),台灯就会开启。如果环境光没有达到这个程度,台灯不会开启。当人没有被微机检测到,无论多暗,台灯也不会开。 手动模式是为了不习惯使用自动模式的人或是台灯中的微机出故障等紧急情况时用的。在手动模式下,智能台灯和普通台灯是一样使用的。智能台灯最大的优点就是省电和方便。方便不用多说了,来之则亮,去之则暗,不用动手。省电是比较重要的,现在全世界都缺少电能,2003年,美国和加拿大大面积停电。我国也是,每到夏天就有很多省市拉闸限电。如果用上我们的智能台灯,那么假设一天我们可以节省10min 的开灯时间,灯上装的是10W的节能灯泡(一个10W的节能灯泡相当于40W的白炽灯泡)。节省的电能为10W600s = 6000J ,一个月(30天)就能节省180000J,一年就能节省2190000J的电能,相当于0.6千瓦时。不要小看这个0.6千瓦时的电能。如果全国人都能每年节省0.6千瓦时的电能,那么每年全国会省下7.8亿千瓦时的电能,这7.8亿千瓦时的电能相当节省接近4亿人民币,4亿人民币可以建造多少所希望小学,可以救助多少无家可归的孤儿,可以圆多少贫穷的孩子无法圆的上学梦啊!更重要作用的是环境保护。大家都知道我国有70%的电能来自火力发电厂,而火力发电厂少发一度电(就是1千瓦时)会减少1千克的CO2排放。那么节省3.9亿度的电能就等于少向大气排放39万吨的CO2 ,而CO2是温室效应的最归祸首。就是因为全球向大气排入过多的CO2,导致了温室效应的加剧,海平面上升,大片的土地被淹没,气候变暖,降水和土壤湿度进一步减少,气候逐渐干旱,土地沙漠化和草原退化将变的更加严重。1.2 本设计任务和主要内容本论文主要研究单片机控制的智能台灯系统,分别对环境光的亮度、人体的位置、光线自动调节及系统设备的软、硬件各个部分进行了研究。主要内容如下: 根据智能技术的特点,进行智能台灯系统的整体研究与设计。 根据感知环境光的特点,对周围的亮度进行记录和识别。 使用光线自动调节功能,对亮度进行正确的调节。 根据热释电红外传感器来感知人体的位置,判断是否开关,或者是否发出相应警告纠正坐姿的控制方式。 针对人体位置难以用精确的数学模型描述的特点,采用模糊控制理论,对这一理论进行了深入的研究,重点研究区分的模糊控制方式。 无线遥控器系统的发射与接受功能的设计思路的明确。相关公式如下:可变电阻确定如下: (2-1)限流电阻确定如下: (2-2) 第2节 系统主要硬件电路设计 2.1 单片机主机系统电路2.1.1 系统电路组成AT89C51单片机热释电红外传感器2信号处理电路电源控制电路遥控器热释电红外传感器1输出提醒电路图2-1 单片机控制系统原理框图本系统组成如图一所示,主要由三部分组成:1) 传感器及信号处理部分:检测人体辐射红外信号及光强信号经过处理后变成可处理的数字信号2) 以89C51组成的中央处理单元:处理信号并发出控制命令3) 输出提醒电路及电源控制控制电路 :给出提醒信号并根据89C51给出的命令控制灯光2.1.2 系统工作原理整个系统是以89C51控制下工作的。其工作过程为:当环境光比较强时,光敏电阻阻值比较小,信号处理电路检测到低电平信号,禁止热释电红外传感器工作,省去了89C51处理过程。当环境光比较弱时,光敏电阻阻值变大,信号处理电路接收到高电平,从而启动热释电红外传感器工作。热释电红外传感器1探测比较远的距离,当人体进入到传感器1的控测范围内且光强较弱时,信号检测电路处理信号,并向单片机发送一个中断,89C51启动灯光控制电路,使灯慢慢变亮。当环境光比校弱时,且人体过于靠近桌面,热释电红外传感器2检测到信号,同时了在热释电红外传感器1的控测范围内,信号处理电路同时向89C51发送信号,89C51处理信号根据优先级顺序,屏蔽掉热释电红外传感器1的信号,启动延时电路,发出警报使人离开,若在设定的时间内未离开桌面,则启动灯光控制电路,使灯慢慢熄灭。当人体离开热释电红外传感器2的控测范围且在热释电红外传感器1的控测范围内时,灯光又慢慢变亮。2.1.3系统控制核心AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。它是51系列单片机的一个成员,是8051单片机的简化版,是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。因此,AT89C2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。图2-2 单片机控制电路图图2-2是由单片机组成的报警及灯光控制电路。当外部无任何中断时,89C51控制74LS138的使能控制端,使后面电路不工作。当有中断一产生时,89C51启动74LS138,向P0脚低4位发送信号,控制灯慢慢亮。当中断1和中断0同时产生时,89C51屏蔽掉中断1,启动74LS138向P0脚低四位发送数据,使灯光慢慢变暗。这里采用74LS138控制DC832可以节省89C51的管脚,有利于扩展,以便于控制多盏灯。由于采有DC0832可以有效地使灯实现阶梯形的变化。2.2 红外传感器电路图2-3传感器组成的信号检测及处理部分图2-3是由红热释电红外传感器、光敏电阻、BISS0001组成的信号检测及处理电路。红热释电红外传感器只对波长为10m(人体辐射红外线波长)左右的红外辐射敏感,所以除人体以外的其他物体不会引发探头动作。探头内包含两个互相串联或并联的热释电元,而且制成的两个电极化方向正好相反,环境背景辐射对两个热释元件几乎具有相同的作用,使其产生释电效应相互抵消,于是探测器无信号输出。一旦人侵入探测区域内,人体红外辐射通过部分镜面聚焦,并被热释电元接收,但是两片热释电元接收到的热量不同,热释电也不同,不能抵消,于是输出检测信号。 BISS0001是由运算放大器、电压比较器、状态控制器、延迟时间定时器以及封锁时间定时器等构成的数模混合专用集成电路。当外界光强较强时,光敏电阻阻值很小,BISS0001检测到低电平,从而封锁14脚,禁止传感器infare1的信号。当外界光强较弱时,光敏电阻阻值很大,BISS0001检测到低电平,开启14脚;infare1检测到人体信号时,产生微弱的信号输出,经R5、R1005、R4、C1、C6、C7组成的信号放大滤波电路。R1000、R1001、C1000和C1001组成的延时电路。信号经处理后从2脚输出。2.2.1人体位置检测图2-4人体位置检测是靠一个红外发射管(二极管)向前方发射红外线,如果人坐在灯前面,那么发射的红外线就会反射回来,被红外接收头检测到后,就会向计算机传输一个指令,表示人已经到了。如果这时,环境光检测也符合要求,那么台灯就亮了。2.2.2环境光检测图2-5环境光检测是比较重要的一个部分,其中关键的元件有两个,一个是光敏二极管,一个是50K的可变电阻(电位器)。光敏二极管的检测能力的强弱(灵敏度)是根据那个可变电阻来控制的,有的人认为天色还挺亮的,灯就开了,那你就把电阻变大些,光敏二极管的灵敏度就下降了,这样就可以达到等天再暗些再开灯。同样的,如果你觉的天色已经很暗了,灯还不亮,那你把电阻调小些就可以了。这样多调几次,你就能把智能台灯调到一个最理想的最适合你的状态了。2.2.3过零检测部分图2-6过零检测电路用于检测电源电压波形的过零点,产生过零脉冲。整流部分部分产生的全脉动直流电压送到过零检测电路,形成与电压过零点同步的负脉冲同步信号,送到单片机的中断输入端INT0,用于触发可控硅进行同步移项。2.3 输出控制部分电路输出控制部分分为两块:图2-71继电器控制电路:(实框部分)继电器想必大家在初中接触电学时已经学过了。它是通过磁力来控制电路通断,电磁铁通电时,小铁片被吸,于是电路导通。电磁铁不通电时,铁片具有的弹性势能使铁片碰到另一点,电路不通。所以使用继电器控制电路会发出轻微的啪嗒的声音,也被人们称为触点式技术。用它来控制台灯,台灯就只有通断两种可能,要么灯亮,要么灯暗,并不能调光。2可控硅控制电路:(虚框部分)比起继电器,可控硅就复杂的多。它是一种三态固件器件(SCR),其阳极相当于晶体管的集电极,阴极相当于发射极,门控极相当于基极。SCR只工作在导通和截至的状态,故可作为开关元件。可控硅和继电器只须其中的一个工作,智能台灯就可以正常工作。但是可控硅比继电器优越的地方在于可控硅使用的是无触点式技术,虽然它也只有通断两种状态,但是因为它是利用交流电正弦波的一部分,所以它不但开合动作时没有声音,而且可以对灯泡进行调光,因其调光时是处于“软”状态,所以比机械调光具有更好的优越性。2.4 电源控制部分图2-8电源部分是将220V的交流电通过变压器转换成9V交流电,再通过整流桥转换成5V直流电(因为计算机工作需要5V直流电)。此时5V直流电很不稳定,不符合计算机工作的需求。因此还须将电流通过电解电容和集成稳压块7805,逐步达到稳压、滤波的作用。 稳压示意图通过整流桥的电流:通过E0后:最后通过集成稳压块7805这样的电流在通过2个电容后就适合计算机工作了,在电路原理图右上角以+5V输出。2.5 遥控器部分图2-9遥控器系统分为发射与接受两个部分,发射部分就是遥控器。接受部分能接收到遥控器发射的红外线。(与人体位置检测的红外线发射管共用红外接收头)第3节 系统的软件设计系统软件程序设计主要包括: 系统程序框图,主程序设计,采样子程序设计,数据处理程序等。各芯片地址编码为:81551/0口:7FF8H - 7FFDH,ADC0809: OBFF8H-OBFFFH31 系统程序框图图3-1 系统程序框图程序框图如图3-1所示,程序开始后,对程序进行初始化。向P0脚写入低电平,开启所有中断,启动计数器。当中断1来时,进入中断1,设置R0为0,调用延时程序TIME0(延时10ms),判断R0是否等于7,若不是,则加1,继续发送数据进入循环,直至R=7,即实现的是灯慢慢变亮的一个过程。当中断0和中断1同时产生时,根据优先级,屏蔽掉中断1,开启中断0。调用延时程序TIME0(延时1分钟),查询中断0控制位;防止人体不小心到达热释电探测器的探测范围内,采用延时程序来排除干扰,防止误判。若为0,则返回主程序;若为1,则向P0高四位发送数据,使灯保持原来最亮状态,调用延时程序TIME1,判断R0是否等于0,若是则中断返回,若不是,则R0减1,继续循环,直至R0等到于0,此程序的目的是实现灯慢慢变暗。32 系统主程序设计 源程序:ORG0000HAJMP MAINORG0003HAJMPDET1 ;远探测器ORG0013HAJMPDET0;近探测器ORG0050HMAIN: MOV P0,#00000001B;置初始值DET0,DET1可重复触发,灯灭MOVTMOD,#00000010B;方式2,8位自动重装计数器MOV TCON,#00010000B;开启计数器T0MOVIE,#10000111B;开启所有中断SJMP$;灯慢慢变亮DET1:MOVP0,#00000001BCALLTIME0;灯亮度延时10msMOVP0,#00000011BCALLTIME0MOVP0,#00000101BCALLTIME0MOVP0,#00000111BCALLTIME0MOVP0,#00001001BCALLTIME0MOVP0,#00001011BCALLTIME0MOVP0,#00001101BCALLTIME0MOVP0,#00001111BCALLTIME1RETI;灯慢慢熄灭DET0:CALLTIME1;延时1分钟MOVTCON,AANLA,#1JZLOOPMOVP0,#00001111BCALLTIME0MOVP0,#00001101BCALLTIME0MOVP0,#00001011BCALLTIME0MOVP0,#00001001BCALLTIME0MOVP0,#00000111BCALLTIME0MOVP0,#00000101BCALLTIME0MOVP0,#00000011BCALLTIME0MOVP0,#00000001BRETILOOP:RET;延时10msTIME0: SETBTR0MOVR0,#20D_1:MOVR1,#250DJNZR1,$DJNZR0,D_1CLRTR0RET;延时1分钟TIME1:SETBTR0MOVR0,#250MOVR1,#200MOVR2,#60D_2 :DJNZR0,D_2MOVR1,#200DJNZR1,D_2MOVR2,#60DJNZR2,D_2CLRTR0RETEND33 采样子程序设计根据电路图2-5,因EOC未接入单片机,故只能采用延时等待的方法来读取A/D转换结果,ADC0809的INO和INl两个地址分别是OBFF8H, OBFF9H, INO通道采集到的11个数据放入以ADTURNO(片内21H)为首址的一片数据区内,IN1通道采集到的11个数据放入以ADTURN1(片内2CH)为首址的另一片数据区内。 程序清单:AD: MOV R0, #ADTURNO MOV R6, #OBHADLOOP: MOV DPTR, #OBFF8H; 启动INO通道A/D转换GOON: MOVX DPTR, A MOV R7, #OAOH; 延时等待转换结束DLAY: NOP NOP NOP NOP NOP DJNZ R7, DLAY MOVX A, DPTR MOV R0, A;将转换后的数据送入以ADTURNO为首址的一片RAM内INC RODJNZ R6, ADLOOPSJMP ADRET34 数据处理3.3.1滤波程序设计相关部分程序代码::MAOPAO: MOV Rl, #ADTURNO MOV R5, #OAH CLR OOHFILTER: MOV 3CH, R1 INC Rl MOV A, R1 CLR C SUBB A, 3CH JNC NEXT MOV A, Rl MOV R1, 3CH DEC R1 MOV Rl, A INC Rl SETB OOHNEXT: DJNZ R5, FILTER JB OOH, MAOPAO MOV LINEADRO, 26H RET3.3.2 遥控器程序设计控制台灯部分程序代码:LL: LCALL RING30 MOV R7,#1H ;*MOV R1,#38HCLR 7EHWAIT0: JBC 7EH,DD LJMP WAIT0DD: MOV R1,#38HMOV A,R1RR ARR ARR ARR AMOV R4,ARL AADD A,R4MOV DPTR,#TABJMP A+DPTRTAB: LJMP ZEROLJMP EIGHT LJMP FOUR LJMP STOP LJMP TWO LJMP ZERO LJMP SIX LJMP LL LJMP ONELJMP LL LJMP FIVE LJMP LL LJMP THREELJMP LL LJMP SEVEN LJMP LL ORG 0250HZERO: LJMP LLONE: LCALL RING40 OO1: MOV R7,#01HCLR 7EHWAIT1: JBC 7EH,WW1 LJMP WAIT1WW1: MOV R1,#38H MOV A,R1CJNE A,#50H,BB1 LJMP ZZ1 BB1: CJNE A,#80H,QUIT1 SETB P1.3 CLR P1.2CLR P1.1CLR P1.0LJMP QUIT1ZZ1: CLR P1.3 ;CLR P1.2CLR P1.1CLR P1.0LCALL RING50 ;QUIT1: LJMP LL 第4节 结束语首先,通过本次智能台灯系统的设计,在各方面能力上都有着很大程度上提高,单片机方面的专业知识也有很深的了解,也深刻了解写一篇设计报告的步骤和格式,有过这样的一次训练,相信在以后的毕业设计报告中会起到很大的帮助,而且学会良好的格式会为将来的工作提供较好的基础。本系统的主要设计思想来源于生活。台灯是一般家庭的生活必需品,但由于经常忘记关灯而造成巨大的能源浪费。全球这么多台灯,估算一下,消耗能源可观。另一个是作为一个必需品,当然要使生活变得更方便,省去了黑暗中开灯的麻烦,并且可以纠正坐姿。本系统在实验室进行了实物实验。热释电红外探测器1的距离是4m左右(距离可调),主要是因为般来说是门离书桌的距离;以便黑暗中时人一到门口则启动,省去了开灯的麻烦,用户可以根据自己的实际情况进行距离调节。热释电红外探测器1的距离是10cm左右(距离可调),主要考虑是当学习时,有时坐姿不正,引起身体离桌面太近,容易引起近视,此时台灯发出警告,提醒注意,若在设定的时间内未离开,则强制熄灭。有时人学习累了,趴在桌子上睡觉,而忘了关灯,这时系统就会检测到,从而启动延时程序,一段时间过后,台灯就会自动熄灭。本系统的主要技术难点在于对人体红外信号的采集及处理。由于采用的是热释电红外传感器,当人体进入其感应范围时,传感器就会产生几mV信号,然后通过以BISS0001为中心的信号处理电路,对信号进行二次放大,并滤波,以防止外界的信号产生干扰。信号经过BISS0001后从而转化为数字信号输出,便于用单片机进处理。本系统制作的主要设计源泉来源于生活,因此创新之处也在于处理生活中一些比较常见的问题。以专门感应人体红外信号的热释电红外传感器为基础,以BISS0001信号处理电路,利用单片机进行处理,以达到便于控制的目的。当房间亮度不够时,且有人在附近时,台灯便会自动点亮,省去了黑暗中摸开关的麻烦;当学习时由于靠桌面太近,造成坐姿不正,系统就会提示,以纠正坐姿,防止近视;当学习太累了时,趴在桌子上睡会儿时,台灯就会自动熄灭;当无人在时,系统也会使台灯自动熄灭,以达到节省能源的目的。除了硬件部分采用防干扰技术外,在软件中也采用了防干扰技术,当中断0产生时,并不立即执行,而是对其进行延时,防止由于不小心而进入到探测器2的范围内,以免产生误判。虽然本系统以达到了使生活方便的目的,但是电路还是不够简单。因为当有多个热释电红外传感器时,就需要相应的信号检测电路。改进之处在于用一个信号处理电路同时控制多个传感器。还有一个不足之处在台灯开启时,产生的光强容易干扰光敏电阻对环境光强的判别,引起误判,现在的处理方法是传感器部分与控制部分单独分开放置。参考文献1 胡学海.单片机原理及应用系统设计(M).电子工业出版社, 20052 李华.MCS-51系统单片机实用接口技术(M).北京航空航天大学出版社,19933 赵继文.传感器与应用电路设计(M).科学出版社, 20024 余永全.单片机在控制系统中的应用(M).电子工业出版社,20035 何立民.单片机中级教程原理与应用(M).北京航空航天大学出版社,20006 黄继昌.电子元器件应用手册(M).人民邮电出版社, 200420