智能型多功能LED台灯_第1页
智能型多功能LED台灯_第2页
智能型多功能LED台灯_第3页
智能型多功能LED台灯_第4页
智能型多功能LED台灯_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

原创性声明本队郑重声明:本队所设计的作品,是本队在指导老师的指导下,利用暑期课余时间独立进行研究工作所取得的成果。本作品除了参考文献列举的地方外,不含任何其他人已经发表或制作的研究成果。本声明的法律结果由本队承当。二零队员签名:***目录摘要………………31.系统设计方案……………………41.1方案的提出…………………41.2系统方案介绍………………41.3功能与指标…………………51.4实现原理……………………61.5硬件框图……………………71.6软件流程……………………102.系统测试…………122.1热释电红外传感测试………122.2台灯电池满电工作时间测试………………122.3台灯电池电能检测测试……132.4测试设备……………………132.5特色…………133.结论………………134.附录………………13附1.元器件明细表…………………13附2.电路图图纸……………………14附3.程序清单………15附4.参考文献………385.查新报告…………38摘要本工程针对台灯的节电和使用的方便性进行创新设计与研究,以单片机为核心,综合运用热释电红外、太阳能充电、光检测等技术,设计制作出智能型多功能LED台灯。该台灯具有自动开、关,自动调光等功能,实现对台灯用电情况和亮度调节的智能控制。本工程创造性设计出活动台灯头,可作为外用手灯,并加装语音提示电路,实现了一灯多用、充电、纠正坐姿及用眼过度语音提示的节能环保的智能型LED台灯的设计理念。关键词:智能单片机LEDAbstractThisprojectfortheuseofinnovativelampdesignandresearch,bysinglechipprocessorasthecore,comprehensiveuseofheat-releasinginfraredsensor,solarenergy,wirelesstransmissiontechnology,designakindofintelligentlamp,itscharacteristicisinwhensomeoneandexternallightintensityweakercanautomaticallyopenlamp,nopersontoturnoffthelights,energysaving,Accordingtoanoutsidetoautomaticallyadjustthelampbrightnessilluminationintensity,andaudiowitheyes,protecteyesight,Makefulluseofsolarenergy,LEDlighting,accomplishtrulyintelligent,energysaving,lowcarbon,greenenvironmentalprotection.Keywords:IntelligenceMUCLowcarbon1系统设计方案1.1方案的提出台灯已是千家万户的必需生活电器,经常由于忘记关灯而造成巨大的能源浪费。在我国,照明耗电占年发电总量的12%(超过100亿kW•h),现在的台灯绝大局部是采用普通的白炽灯、荧光灯、节能灯和螺旋节能灯,并且控制方式多采用手动开关,不能连续调节,更不能自动调节。当夜晚来临时,人们又摸黑去开灯,非常不方便,与现在家电的智能化,人性化,低碳设计理念相违背。LED被认为是21世纪的照明光源。LED发光器件是冷光源,光效高,工作电压低,而且能耗低,可控制好、无辐射,同样亮度下,LED能耗为白炽灯的10%,荧光灯的50%。LED寿命可达10万小时,是荧光灯的10倍,白炽灯的100倍。随着能源紧缺、电价越来越高、环保要求及LED的光效的提高,用LED替代现在台灯普遍使用的白炽灯或荧光灯,环保无污染。另外,LED的光谱几乎全部集中于可见光频段,其发光效率可达80~90%,并且传统的台灯中的光源体使用的是交流电,所以每秒钟会产生100-120次的频闪。LED灯是把交流电直接转换为直流电,不会产生闪烁现象,保护眼睛,可以获得“柔和”的灯光环境。另外一个情况是现在中国约30%的人有不同程度的视力问题,其中近视是主要问题,近年来,我国的近视率已上升为全球第二,仅次于日本,但近视的总人数确是全球第一。引起近视的主要原因是用眼不健康,如用连续用眼时间过长,看书,学习时的坐姿不正确等。现在的普通台灯90%的供电系统是用交流电经变压后直接供电,在用电顶峰期时使用会增加供电系统的负担,并且停电时不能工作,移动使用性较差。太阳能是新型的绿色能源,但普及率还不高。因此,我们提出智能LED台灯方案。1.2系统方案介绍本工程的设计思想来源于生活,所具有的功能也是为台灯使用的方便性及节能环保而设置。针对目前普通台灯存在的能耗高、操作使用不便及功能单一三个问题进行系统分析与研究,以单片机STC12C5410AD为控制核心,用热释电红外传感器D203B检测是否人进入使用台灯的范围,用光敏电阻判断有人在使用台灯范围时是否需要开灯,用语音芯片ISD25120进行语音提示与报警,主要利用太阳能给台灯电池充电。综合运用传感技术、光检测技术及太阳能技术,实现台灯根据使用环境中是否有人员和环境补光亮度等来自动控制台灯的开关及照明的亮度。当用户在使用台灯时的坐姿不正确就会语音提示用户纠正坐姿;当用户使用台灯时间到达预先设定值时会语音提示用户休息,科学安排用眼时间,保护视力。人性化设计,添加用户录放音及编辑功能,让用户及其家人自行录制语音提示声,提升语音提示的易接受度和舒适度。本工程的创新点是:第一,智能。以人体红外辐射〔波长为10um〕传感控制电路实现人体距离台灯的自动检测,实现自动感应开关灯,到达智能控制和节能的目的;通信单片机控制,实现自动调光、手动调光、无线遥控调光。第二,低碳。台灯采用LED光源体,耗电极小;采用太阳能电池板给台灯电池充电,充分利用绿色能源,符合节能减排,营造低碳生活环境的开展趋势。第三,多功能。台灯灯头可以与底座支架别离,变成手灯模式,移动性较强,使用范围更广;采用多路LED独立工作,提高电路的可靠性;加装语音提示电路,具有充电,纠正坐姿及用眼过度语音提示的人性化设计。1.3功能与指标功能〔1〕台灯自动感应开关功能台灯自动感应点亮要满足两个条件:①有人在使用台灯范围内活动②外界环境的光照强度较弱。当有人在台灯上的热释电红外的探测范围内活动并且环境光强较弱时,台灯逐渐点亮;或者用户可以无线遥控点亮台灯。当人离开后,延时一段时间后台灯渐渐熄灭。〔2〕保护视力功能用户可根据实际情况设定用眼的提示时间,提示时间有30分钟,60分钟,90分钟,120分钟,4个模式,从用户使用台灯时开始计算,到达用户设定的提示时间后,系统会发出语音提示,提醒用户注意休息,科学安排用眼时间,保护视力;另外一种情况是,当用户使用台灯时的坐姿不正确时,系统也会发出语音提示,提醒用户纠正坐姿。两次纠正坐姿提示后,如果用户还是这种坐姿,那么可认为用户伏在桌子上休息,台灯渐渐熄灭。〔3〕自动,手动调光功能在智能模式下,台灯能根据外界的光照强度自行调节台灯的亮度,使用户始终能有一个适宜的光照环境;如果用户不需要自动调光,可以用旋钮来进行手动调光,或者使用无线遥控进行调光,可以根据用户自身的需要来控制台灯的亮度。〔4〕太阳能充电功能台灯除了有220V交流电供电,USB供电外,主要是利用太阳能电池板吸收太能能给台灯的电池充电,充分利用绿色能源,符合节能,低碳的开展趋势。〔5〕用户自由录音功能这是本工程的人性化设计,提示声不但可以从PC机上下载,更可由用户及其家人根据个人喜好自由录制修改。录音操作简单方便,按下录音按钮即可进行录音操作,每段录音时间8秒钟,8秒钟后用户会听到“录音完毕”的提示音,一段报警音就录制完毕。用户总共可以录制9段提示音,更改手刹使用不当和超速提示的提示音。〔6〕电能监测功能时实对台灯电池进行监测,当电池能量缺乏时,电能指示灯中的黄灯点亮,并进行语音提示用户给台灯充电,实现声光报警;当电池能量即将耗尽时,系统自动关闭,对电池进行保护作用。指标工作电压:7.2V工作电流:60mA~220mA电池容量:800mA静态功耗:0.072W动态功耗:1.08W报警方式:语音报警和灯光报警工作环境温度:0~75产品外形尺寸:长153mm,宽120mm,高3501.4实现原理台灯自动点亮及纠正坐姿提示热释电红外传感器D203B是被动式的,即有人在其检测范围内活动时它工作并输出信号,信号经放大器BISS0001放大后给一个信号单片机的外部中断0,使台灯逐渐点亮;然后用单片机定时器延时点亮一段时间,如果在延时点亮这段时间内单片机再次接收到热释红外给的外部中断信号,立即从新开始点亮的延时,这样就做到了有人在使用台灯时台灯持续亮着;当人离开,在点亮延时这段时间内单片机没有再次接收到热释红外给的外部中断信号,点亮延时这段时间过后,台灯就会渐渐熄灭。另外一个热释电红外安装在台灯底部,它的检测信号经BISS0001处理后给一个信号单片机外部中断1,由于单片机中断的优先级关系,平时正常工作是外部中断0的信号吧外部中断1的信号给屏蔽掉。但外部中断1有接收到信号而外部中断0没接收到信号时,延时一段时间,如果这种状态持续,那么可判断用户坐姿不正确,语音提示纠正坐姿,两次提示后,还是这种状态,即可判断用户是伏在桌子上休息,灯就会慢慢熄灭。语音提示用眼时间的设定从台灯点亮的那一刻起开始计算用眼时间,通过两个IO口上下电平的4种不同组合方式来设定4种不同的提示时间:两个IO口为00组合时,使用台灯30分钟后提示;为01组合时,使用台灯60分钟后提示;为10组合时,使用台灯90分钟后提示;为11组合时,使用台灯120分钟后提示。自动调光及手动调光脉冲宽度调制〔PWM〕是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM控制技术以其控制简单,灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。我们运用脉宽PWM法,通过测量光敏电阻两端的电压值,经AD转换后得出的数值来改变单片机的PWM的占空比,实现自动调光功能。手动调光功能的原理也是一样,通过测量电位器两端的电压值,经AD转换后得出的数值来改变单片机的PWM的占空比,实现手动调光。电池电能监测通过测量电池两端的电压值经AD转换后与一个基准电压进行比拟,以此来判断电池电量的饱和程度。语音提示原理将语音芯片的总时间分成几段,利用一定的时间长度作为一个段地址,通过单片机定时器的计时平行地映射信息段的地址,从而得到每段录音的起始地址。由单片机控制语音芯片的地址和录音操作引脚,把不同提示音录进语音芯片的不同位置。当单片机接收到放音信号时,就通过控制语音芯片的地址和放音操作引脚,把相对应的提示音播放出来。1.5硬件框图系统硬件框图如图〔1〕所示图〔1〕系统硬件框图1.5是否有人需要使用台灯检测单元主要由D203B热释电红外线传感器和信号处理芯片BISS0001组成。红热释电红外传感器只对波长为10μm〔人体辐射红外线波长〕左右的红外辐射敏感,所以除人体以外的其他物体不会引发探头动作。探头内包含两个互相串联或并联的热释电元,而且制成的两个电极化方向正好相反,环境背景辐射对两个热释元件几乎具有相同的作用,使其产生释电效应相互抵消,于是探测器无信号输出。一旦人侵入探测区域内,人体红外辐射通过局部镜面聚焦,并被热释电元接收,但是两片热释电元接收到的热量不同,热释电也不同,不能抵消,于是输出检测信号。

BISS0001是由运算放大器、电压比拟器、状态控制器、延迟时间定时器以及封锁时间定时器等构成的数模混合专用集成电路。配以热释电红外传感器和少量外接元器件构成被动式的热释电红外开关。当外界光强较强时,光敏电阻阻值很小,BISS0001检测到低电平,从而封锁14脚,禁止传感器PIR的信号。当外界光强较弱时,光敏电阻阻值很大,BISS0001检测到低电平,开启14脚,这样就省去了单片机的处理过程。传感器PIR检测到人体信号时,产生微弱的信号输出,经R14、R15、R2、C9、C10、C11组成的信号放大滤波电路。R18、R19、C13和C14组成的延时电路。信号经处理后从2脚输出。自动识别用户及环境光强电路如图〔2〕所示.图〔2〕自动识别用户及环境光强电路1.5.2控制单元方案一:选用传统的STC89C51单片机作为核心控制器件,该系列单片机电路成熟,应用广泛,且与我们在学校学习单片机的课程内容相匹配,应用方便。但传统51单片机自身不带AD转换器、PWM存放器等功能,选用它要另外买AD转换芯片,本钱加高。方案二;选用新一代增强型单片机STC12C5410AD,该单片机兼容传统51单片机的程序指令,学习使用方便;并且自身带10路高速AD转换器,4个PWM存放器,功耗低,性价比更高。综合考虑整个系统的优越性,性价比等因素,我们决定选择方案二。1.5.2〔1〕台灯蓄电池方案一:台灯蓄电池选用6V铅酸蓄电池,其特点是技术成熟,价格廉价,但体积大,重量大,能量质量比低,对充放电要求严格。循环寿命在200次左右,最高也就300次,最多也就能使用1-1.5年时间。铅酸蓄电池中存在着大量的铅,在废弃后假设处理不当,将对环境产生污染。方案二:台灯蓄电池选用两个3.7V锂电池,其特点是体积小,重量轻,同等规格容量的锂离子电池的体积是铅酸蓄电池体积的2/3,重量是铅酸蓄电池的1/3,无记忆效应,可随时充放电。锂离子电池循环寿命到达300次以上,标准充电〔5小时率〕使用,最高可达500次,甚至1000次以上。与铅酸蓄电池在同样条件下使用,寿命将会到达3年,是铅酸蓄电池的2倍。还有另外重要的一点,锂材料无任何有毒有害物质,被世界认为绿色环保电池,该电池无论在生产及使用中均无污染。但是锂电池价格比拟贵,比同容量的铅酸蓄电池贵2倍。综上所述,考虑到我们的台灯电池是放在支架上并与支架别离的,为了减轻支架的负担,更是为了低碳,耐用,实用,绿色环保,我们决定选择方案二。〔2〕台灯供电台灯主要利用太阳能给电池充电,利用绿色能源,节能低碳;当无太阳而台灯电池又没电时,可以用交流电经变压器处理后给台灯供电,或者用PC机的USB接口给台灯供电,保证台灯在任何情况下都能有电工作。语音模块语音模块选用语音芯片ISD1760,它有60秒录放音时间,可实现语音分段录音与随机组合放音。语音模块电路如图〔3〕所示。图〔3〕语音模块电路1.6软件流程编程算法思想程序采用模块化设计思想。以主程序为核心设置功能模块子程序,简化了设计结构。运行过程中通过主程序调用各功能模块子程序。该系统的工作软件主要完成以下功能:信号输入模块实现相应传感器信号输入单片机数据通道,在控制系统软件中,将热释电红外探测器和光强度探测的信号经BISS0001处理后输出的信号作为单片机的外部中断信号,由此产生决定台灯开关的开关信号,另外将环境光强数据A/D转换,然后作为系统调节亮度的控制信号编码输出到系统的输出模块,到达控制LED发光亮度的目的,实现智能照明的目的。程序框图开始开外部中断0开始开外部中断0

开看门狗

进入掉电模式热释信号?遥控信号?启动台灯、记时

检测亮度、电量遥控模式?遥控模式坐姿有误?语音提示用眼到达预设时间?语音提示电量缺乏?语音提示到达红外延时时间?待机模式结束关机?YYNNYNNYYNYNYNYN2.系统测试2.1热释电红外传感器热释电红外传感器一用于检测用户在当前光强下是否需要自动点亮台灯。由于我们平时使用台灯到人体的距离大概是1米左右,因此选择传感器一相应敏感距离为1.5m。芯片BISS0001的触发时间为2秒。菲涅尔透镜的角度约为139°*126°。所以传感器的检测范围限制在台灯使用范围之内。当用户离开或静止不动超过30秒时,传感器能迅速检测到用户离座信号,从而实现智能检测。热释放电红外传感器二用于检测用户坐姿是否正确,因此调节热释传感器二的相对敏感距离为0.8m。电压反应电阻R17与传感器的相应敏感距离测试结果如表〔1〕所示,触发延时时间如表〔2〕所示。表〔1〕电压反应电阻R14与传感器的相应敏感距离测试电压反应电阻R26第一级放大倍数相对应敏感距离50K4400.820K11001.515K14662.10K22003.5m表〔2〕触发延时对照表时间调节电阻R28220K390K490K触发延时时间2s4s6s2.2台灯电池工作时间本工程设计出的智能型多功能台灯由于主要是利用太阳能充电以及可以作为手电筒使用,所以电池是极其重要的一个局部。因此,本工程中我们参加了对电池进行了实时监测功能。电池充满电后的使用时间如表〔1〕所示,电能监测情况如表〔2〕所示。台灯工作模式连续工作时间第一次测试第二次测试第三次测试智能工作模式5h4.6h4.手电筒模式3.4h2.83.2待机模式表〔1〕电池充满电后的使用时间电池两端电压黄、绿指示灯情况语音报警台灯工作情况绿灯亮,黄灯灭无正常工作黄灯亮,绿灯灭有正常工作黄灯灭,绿灯灭无不工作表〔2〕电能监测情况2.3测试设备万用表、示波器、稳压电源、秒表2.4特色1.针对目前普通台灯缺乏但却又是人们十分需要的功能设计研究,具有较强的实用性。创造型设计灯头与灯座可别离结构,可作为手灯使用,实现一灯多用。3.太阳能充电为主,绿色环保,响应并很好地宣传了当今低碳生活的潮流。辅以交流电、USB供电,使台灯随时随地都可工作。4.人性化的设计理念,提示音自由编辑,语音提示效果户可随个人喜好更改提示音,增强了语音提示的舒适度。3.结论本工程本着智能,多功能,低碳,人性化的设计理念,智能地实现了台灯自动感应人体及环境光强和自动调节亮度;语音提示用眼时间,保护视力;语音提示电池电能情况,保护电池,增强使用寿命;太阳能充电,节能低碳,绿色环保;台灯的底座可别离,别离后台灯可以作为手电筒使用,使用范围广。工程到达了初定的目标,同时还提出人体追踪〔即台灯跟着人体的活动而自动调整照明方向〕等设想,但由于时间关系,只能作为本工程的扩展功能,以对设计进行进一步的完善。4.附录附1:元器件明细表序号元器件名称元器件型号数量价格〔元〕1单片机STC12C5410AD1102语音芯片ISD17001123太阳能电池板110*70mm2244热释电红外传感器B203265信号处理芯片BISS0001256白光大草帽LED3667无线发射接收器188零散原件39800mA锂电池226合计98元附2:电路图图纸系统总电路原理图附3:程序清单MYSTC12C5410AD.H:#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlonguintcnt,sec,sec1,sec2,sec3,sec4; //分别为:定时器溢出次数、使用台灯时间、红外延迟时间、亮度检测时间、电源检测时间、防近视延时时间uintset_time=60; //用眼提示时间,单位是1suinteye_time=20; //防近视提示时间,单位是1sbiteye_flag=0;//用来暂存IE1biteye_start=0; //防近视记时启动标志ucharcnt1=0,pwm=0xff,pwmh=0; //因为是8路AD,所以pwm=255,pwmh是高电平的次数ucharcontrol_pwmh; //遥控设置的pwmh值bitlight_flag=1; //0是遥控控制,1是电位器或光敏电阻控制uintset_light_time=2; //设置亮度检测时间,单位是500usuintset_power_time=10; //设置电源检测时间,单位是1sucharbdataSR0_L;//SR0存放器ucharbdataSR0_H;ucharbdataSR1;//SR1存放器sbitCMD=SR0_L^0;//SPI指令错误标志位sbitPU=SR0_L^2;//上电标志位sbitEOM=SR0_L^3;//EOM标志位sbitINTT=SR0_L^4;//操作完成标志位sbitRDY=SR1^0;//准备接收指令标志位sbitPLAY=SR1^2;//播放标志位sbitREC=SR1^3;//录音标志位sbitERASE=SR1^1;//擦除标志位/*******************************接线**************************************/sbitout=P3^0; //LED输出sbitt1=P1^2; //设置提示时间的锁存开关sbitt2=P1^3;sbitpower_green=P3^4; //电源的2个状态灯sbitpower_yellow=P3^5; sbitSS=P1^7; //语音模块接线sbitSCK=P1^6;sbitMOSI=P1^5;sbitMISO=P1^4;sbitr0=P3^2; //遥控接收A端sbitr1=P2^1; //遥控接收B端sbitr2=P2^2; //遥控接收C端sbitr3=P2^3; //遥控接收D端/**********************************接线**************************************/voidFeed() //看门狗函数{ WDT_CONTR=0x34; //不在空闲模式时计数,溢出时间:629.1ms}voidDelay(uintk) //延时程序{ uinti; while(--k){for(i=0;i<120;i++);} }voidDelayus(uintk) //us级延时程序{ while(--k);}ISD1700.HucharISD_SendData(ucharDATA){uchari,BUF_ISD=DATA;SCK=1;//初始条件SS=0;//使能ISD1700的SPIDelayus(4); //延时for(i=0;i<8;i++)//发送&接收8位数据{SCK=0;Delayus(2);if(BUF_ISD&0x01)//将BUF_ISD中的最低位数据发送到MOSI端口MOSI=1;elseMOSI=0;BUF_ISD>>=1;//BUF_ISD右移一位if(MISO)//逐个接收MISO端口的数据。将数据存在BUF_ISD//的最高位BUF_ISD|=0x80;SCK=1;Delayus(6);}MOSI=0;return(BUF_ISD);//返回接收到的数据}voidISD_PU() //令ISD1700上电{ ISD_SendData(0x01); ISD_SendData(0x00); SS=1;}voidISD_PD() //令ISD1700掉电{ ISD_SendData(0x07); ISD_SendData(0x00); SS=1;}voidISD_STOP() //令ISD1700停止当前工作{ ISD_SendData(0x02); ISD_SendData(0x00); SS=1;}voidISD_RD_Status() //读取ISD1700状态{ ISD_SendData(0x05); ISD_SendData(0x00); ISD_SendData(0x00); Delayus(2); SR0_L=ISD_SendData(0x05); SR0_H=ISD_SendData(0x00); SR1=ISD_SendData(0x00); SS=1;}voidISD_CHK_Mem() //检查ISD1700环形存储结构{ ISD_SendData(0x49); ISD_SendData(0x00); SS=1;}voidISD_CLR_Int() //清楚中断和EOM位{ ISD_SendData(0x04); ISD_SendData(0x00); SS=1;}voidISD_SET_Play(ucharsl,sh,el,eh) //选址播放声音片段{ ISD_SendData(0x80); ISD_SendData(0x00); ISD_SendData(sl); ISD_SendData(sh); ISD_SendData(el); ISD_SendData(eh); SS=1;}voidISD_WR_APC2(ucharapcdatal,apcdatah) //对APC存放器进行写数据{ ISD_SendData(0x65); ISD_SendData(apcdatal); ISD_SendData(apcdatah); SS=1;} //ISD1700初始化voidISD_Init(){ SS=1; SCK=1; MOSI=0; do { ISD_PU();Delay(50); ISD_RD_Status(); }while(CMD|(!PU)); ISD_WR_APC2(0x40,0x00); do { ISD_RD_Status(); }while(RDY==0);}voidISDWORK_Play(ucharnum) //播放指定声音片段{ ISD_Init(); //初始化ISD1700芯片 ISD_CHK_Mem(); //检查环形存储结构 if(num==1) //调用用眼时间提示语音片段 { ISD_CLR_Int(); do{ISD_RD_Status();}while(RDY==0); Delay(5); ISD_SET_Play(0x20,0x00,0x77,0x00); do{ISD_RD_Status();}while(PLAY==1); ISD_CLR_Int(); } if(num==2) //调用电源电量提示语音片段 { ISD_CLR_Int(); do{ISD_RD_Status();}while(RDY==0); Delay(5); ISD_SET_Play(0x79,0x00,0xd0,0x00); do{ISD_RD_Status();}while(PLAY==1); ISD_CLR_Int(); } if(num==3) //调用防近视提示语音片段 { ISD_CLR_Int(); do{ISD_RD_Status();}while(RDY==0); Delay(5); ISD_SET_Play(0x20,0x01,0xd0,0x01); do{ISD_RD_Status();}while(PLAY==1); ISD_CLR_Int(); } ISD_PD(); //ISD1700掉电}台灯.C#include"MYSTC12C5410AD.H"#include"ISD1700.H"voidInit() //中断初始化函数{ Feed();TMOD=0x21; TH0=(65536-50000)/256;TL0=(65536-50000)%256; //T0为50ms定时 TH1=(65536-500)/256;TL1=(65536-500)%256; //T1作为PWM的频率,为2KHz ET0=1;TR0=1;ET1=1;TR1=1; //开中断,T0和T1运行 PT0=1;PT1=1; //设置中断优先级,T0和T1优先 EX1=1;IT1=1; //开外部中断1,设置下降沿触发 sec1=0; //初始化红外延时}voidKey() //设置提示时间函数{ Feed(); //喂狗 if(t2==0&&t1==0)set_time=60; //四种状态,四个提示时间 if(t2==0&&t1==1)set_time=30; if(t2==1&&t1==0)set_time=90; if(t2==1&&t1==1)set_time=120;}ucharADC(ucharadcvcc) //AD转换函数{ Feed(); P1M0=0x03;P1M1=0x03; //设置P1.1口和P1.0口为开漏模式 ADC_CONTR|=0x80;//1000,0000翻开A/D转换电源 Delay(10);//延时20ms ADC_CONTR&=0xE0; //1110,0000清ADC_FLAG,ADC_START位和低3位 ADC_CONTR=ADC_CONTR&0xf8|adcvcc;//设置当前通道号 Delay(10);//延时使输入电压到达稳定 ADC_DATA=0;//清A/D转换结果存放器 ADC_CONTR|=0x08; //0000,1000ADCS=1,启动转换 do{;}while((ADC_CONTR&0x10)==0);//0001,0000等待A/D转换结束 ADC_CONTR&=0xE7; //1110,0111清ADC_FLAG和ADC_START位,停止A/D转换 returnADC_DATA; //返回转换结果}voidPower_Light(ucharpower_data) //检测电源状态函数{ if(power_data<=0xff&power_data>0xbd) { power_green=0;power_yellow=1; //5V到3.7V,绿灯亮 } if(power_data<=0xbd&power_data>0xa3) { power_green=1;power_yellow=0; //3.7V到3.2V,黄灯亮 } if(power_data<=0xa3) { power_green=1;power_yellow=1; //3.2V以下,灯全灭 ISDWORK_Play(2); //语音提示电量缺乏 } }voidLight_Light() //LED亮度调节函数{ if(light_flag) { if(ADC(0)<=0x28) //0.8伏以下屏蔽 control_pwmh=pwmh=0x28; else control_pwmh=pwmh=ADC(0); //将AD转换结果送给pwm的高电平个数 } else pwmh=control_pwmh;}voidControl(){ if(!r0)light_flag=1; //交由电位器或光敏控制亮度 if(r1) { pwmh=control_pwmh; //防止关灯时亮度跳变 sec1=300; //关台灯,进入掉电模式 } if(r2) { if(control_pwmh>=255) light_flag=0; //如果占空比到达100%,就不变,交由遥控控制亮度 else { light_flag=0; //交由遥控控制亮度 control_pwmh=pwmh; //遥控的占空比值取台灯的占空比值 control_pwmh++; //遥控的占空比值加1 Delay(2); //延时 } } if(r3) { if(control_pwmh<=31) light_flag=0; else { light_flag=0; //交由遥控控制亮度 control_pwmh=pwmh; //遥控的占空比值取台灯的占空比值 control_pwmh--; //遥控的占空比值减1 Delay(2); //延时 } }}voidCheck() //检测亮度、电源、提示函数{ Control(); //检测遥控信号 if(sec2>=set_light_time) { sec2=0; //清零台灯亮度记时时间 Light_Light(); //运行亮度调节函数 } if(sec3>=set_power_time) { sec3=0; //清零电量记时时间 Power_Light(ADC(1)); //运行电源检测函数 } if(sec>=set_time) { sec=0; //清零用眼提示时间 ISDWORK_Play(1); //播放用眼提示声音片段 } if(IE0==0&eye_flag==1)eye_start=1; //开始防近视提示记时 if(sec4>=eye_time) { sec4=0; //清零防近视记时时间 ISDWORK_Play(3); //播放防近视提示声音片段 }}voidAuto_Light(ucharauto_light_data,bitflag) //亮度逐渐变化函数,flag=1时:逐渐变亮;flag=0时:逐渐变暗{ uchart; //定义临时变量 if(flag) //判断变亮还是变暗 for(t=0;t<=auto_light_data;t++) { pwmh=t;Delay(2);Feed(); //占空比逐渐变大,LED逐渐变亮 } else { for(t=auto_light_data;t>0;t--) { pwmh=t;Delay(2);Feed(); //占空比逐渐变小,LED逐渐变暗 } ADC_CONTR=ADC_CONTR&0x00; //关闭AD } }voidmain() //主函数,开了必要的中断后进入掉电模式{ EA=1; //开总中断 IT0=1; //设置外部中断0为下降沿触发 EX0=1; //开外部中断 Feed(); //喂狗 Delay(20);PCON=0x02; //延时后进入掉电模式}voidTime0()interrupt1 //T0中断效劳函数{ TH0=(65536-50000)/256; //初始化T0计数 TL0=(65536-50000)%256; cnt++; //定时器T0溢出数加1 if(cnt>=20) //cnt=20时,时间为1s { sec++;sec1++;sec3++;cnt=0;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论