基于单片机的智能LED台灯设计,附电路图、成品演示图、源程序
智能灯触摸台灯制作资料程序+原理图pcb分享给大家
智能灯触摸台灯制作资料程序+原理图pcb分享给大家such808发表于 2015-7-25 13:17:12 | 只看该作者 |只看大图上传资料希望各位喜欢程序预览:1.#include<reg52.h>2.fanhui();3.duanma[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x8 0,0x90};//共阳数字段码 0-94.sbit g1=P2^1;sbit g2=P2^3;sbit g3=P2^5;sbit g4=P2^7; //位选5.sbit key1=P1^1;sbit key2=P1^5;sbit key3=P1^7;//按键6.sbit spek=P1^0; //蜂鸣器7.sbit powr=P2^0; //继电器开关8.sbit chumo=P1^3; //触摸选项9.char sum=0,s=59,min=0,h=0,add=0;10.void delay()11.{12.int a,b;13.for(a=10;a>0;a--)14.for(b=50;b>0;b--);15.}16.delay1()17.{18.int a,b;19.for(a=50;a>0;a--)20.for(b=300;b>0;b--);21.}22./////////////////////////////////////////////////////23.////////////////////时间处理函数/////////////////////24./////////////////////////////////////////////////////25.jishi()26.{27.if(s<0)28.{29.s=59;min--;30.}31.if(min<0)32.{33.min=59;34.h--;35.}36.if(h<0)37.{38.h=23;39.}40.}41./////////////////////////////////////////////////////42.////////////////////显示函数/////////////////////////43./////////////////////////////////////////////////////44.xianshi()//45.{46.P0=duanma[h/10];////小时显示47.g1=0;48.delay();49.g1=1;50.P0=duanma[h%10];51.g2=0;52.delay();53.g2=1;54.if(add>25)55.{56.P0=duanma[min/10]+0x80;/////分显示57.g3=0;58.delay();59.g3=1;60.P0=duanma[min%10]+0x80;61.g4=0;62.delay();63.g4=1;64.}65.else66.{67.P0=duanma[min/10];/////分显示68.g3=0;69.delay();70.g3=1;71.P0=duanma[min%10];72.g4=0;73.delay();74.g4=1;75.}76.}77.//////////////////////////////////////////////////////78.////////////////待机程序/////////////////////////////79./////////////////////////////////////////////////////80.daiji()81.{82.powr=1;83.g4=g3=g2=g1=1;84.delay1();delay1();delay1();delay1();delay1();85.while(1)86.{87.delay1();delay1();88.if(chumo==1)89.{90.delay();91.if(chumo==1)92.{93.while(chumo==1);94.spek=0;95.delay1();96.spek=1;97.sum=0,s=59,min=0,h=0,add=0;//重新对初始变量赋值98.powr=0;99.break;100.}101.}102.}103.fanhui();//重头开始104.}105.//////////////////////////////////////////////////////// 106.//////////////////返回起始点////////////////////////////// 107.///////////////////////////////////////////////////// 108.fanhui() //开始标号109.{110.while(1) //预备显示111.{112.g1=g2=g3=g4=0; //显示三条横线(---)0xbf113.P0=0xbf;114.delay1();115.delay1();116.delay1();117.delay1();118.g1=g2=g3=g4=1;119.delay1();120.delay1();121.delay1();122.delay1();123.124.if(key1==0)125.{126.spek=0;127.delay1();128.if(key1==0)129.while(key1==0);130.spek=1;131.break;132.}133.if(chumo==1) ///////检测有无关闭指令134.{135.delay1();delay1();delay1();delay1(); 136.if(chumo==1)137.{138.while(chumo==1);139.spek=0;140.delay1();141.spek=1;142.daiji();143.}144.}145.}146.}147.///////////////////////////////////////////////////// 148.////////////////////按键函数///////////////////////// 149.///////////////////////////////////////////////////// 150.anjian()151.{152.if(chumo==1)153.{154.delay1();delay1();155.if(chumo==1)156.{157.while(chumo==1);158.spek=0;159.delay1();160.spek=1;161.daiji();162.}163.}164.if(key1==0)165.{166.delay1();167.if(key1==0)168.{169.spek=0;170.delay1();171.spek=1;172.while(key1==0);173.while(1)174.{175.P0=duanma[h/10];////小时显示176.g1=0;177.delay();178.g1=1;179.P0=duanma[h%10];180.g2=0;181.delay();182.g2=1;183.P0=duanma[min/10]+0x80;/////分显示184.g3=0;185.delay();186.g3=1;187.P0=duanma[min%10]+0x80;188.g4=0;189.delay();190.g4=1;191.while(add>49)192.{193.g1=g2=g3=g4=1;194.}195.if(key2==0) //时调整加、、、、、、、、、196.{197.delay1();198.if(key2==0)199.{200.spek=0;201.delay1();202.spek=1;203.if(h==24)204.{205.h=0;206.}207.else208.h++;209.}210.}211.if(key3==0) //分调整加、、、、、、、、、212.{213.delay1();214.if(key3==0)215.{216.spek=0;217.delay1();218.spek=1;219.if(min==60)220.{221.min=0;222.}223.else224.min++;225.}226.}227.if(key1==0) //调试确定并退出调试状态228.{229.delay();230.if(key1==0)231.{232.spek=0;234.spek=1;235.while(key1==0);236.break; //跳出本while语句,即本函数结束237.}238.}239.}240.}241.}242.}243.///////////////////////////////////////////////////// 244.////////////////////主函数/////////////////////////// 245.///////////////////////////////////////////////////// 246.void main()247.{248.TMOD=0x01;249.TH0=(65535-20000)/255;250.TL0=(65535-20000)%255;251.EA=1;252.ET0=1;253.TR0=1;254.chumo=0;255.while(1)256.{257.if(chumo==1)258.{259.delay1();260.if(chumo==1)261.while(chumo==1);262.spek=0;264.spek=1;265.powr=0;266.break;267.}268.}269.fanhui(); //调用初始返回函数270.while(1) //执行主程序271.{272.xianshi();273.anjian();274.if(h==0)275.{276.if(min==0)277.{278.if(add<25)279.{280.g4=g3=g2=g1=1;281.delay1();282.delay1();283.delay1();284.delay1();285.}286.if(s==0)287.{288.daiji();289.}290.}291.}292.}293.}294.///////////////////////////////////////////////////// 295.////////////////////秒表定时中断服务函数///////////// 296.///////////////////////////////////////////////////// 297.dingshi()interrupt 1298.{299.TH0=(65535-20000)/255;300.TL0=(65535-20000)%255;301.add++;302.if(add==50)303.{304.add=0;305.s--;306.jishi();307.}308.}复制代码。
基于单片机的智能LED台灯设计
基于单片机的智能LED台灯设计摘要LED 台灯具有节能、环保、寿命长的特点,越来越受到人们的青睐。
本文设计了一款基于单片机的智能 LED 台灯,通过单片机控制LED灯的亮度和色温,实现智能调光和调色功能,同时提供人体感应、定时开关等智能功能,以满足用户的不同需求。
关键词LED 台灯;单片机;智能控制;调光;调色二、设计原理2.1 单片机选择在本设计中,我们选择了常见的 STM32 单片机作为控制核心。
STM32 具有丰富的外设资源和强大的计算能力,可以很好地满足 LED 台灯的智能控制需求。
2.2 亮度调节LED 台灯的亮度是通过 PWM(脉冲宽度调制)来实现的。
通过控制 PWM 的占空比,可以精确地调节 LED 的亮度。
我们可以通过单片机的定时器来产生 PWM 信号,从而控制LED 的亮度。
2.3 色温调节LED 台灯的色温调节可以通过控制 RGB LED 或者使用特殊的 LED 芯片来实现。
在本设计中,我们选择了使用特殊的 LED 芯片,通过改变驱动电流的大小来调节 LED 的色温。
这样可以实现从冷白光到暖白光的平滑调节,满足用户对不同环境的需求。
2.4 智能功能为了提升 LED 台灯的智能化程度,我们还加入了人体感应和定时开关等功能。
通过红外传感器可以检测到人体的存在,并自动调节灯光的亮度和色温;定时开关可以让用户设定 LED 台灯的开关时间,方便用户根据生活习惯来控制台灯的开关。
三、硬件设计3.1 LED 选择LED 台灯的光源选择是非常重要的,我们选用了高亮度的 SMD LED,其发光效率高,寿命长,且色温范围广,可以满足用户对不同色温的需求。
3.2 单片机控制电路单片机控制电路主要包括电源模块、人体感应模块、PWM 生成模块和电流调节模块。
电源模块负责对 LED 台灯整体的供电,人体感应模块负责检测人体的存在,PWM 生成模块负责产生调节 LED 亮度的 PWM 信号,电流调节模块负责调节 LED 的色温。
基于单片机的智能台灯设计
摘要89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。
89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。
手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。
而个人电脑中也会有为数不少的单片机在工作。
汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。
现在可以说单片机是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。
台灯是最普遍的家用照明器,随着节能计划的提出,许多电子产品走上节能化。
台灯传统对于人们伤害很大,市面上所谓的护眼灯,实际上是用高频电子镇流器将原本50赫兹提高到5万赫兹,肉眼分辨不出来频闪。
实际上是高频闪的,危害更大。
本文设计了一种基于89C2051的节能台灯,并且作出了零件图和设计图.关键词:89C51 单片机台灯节能目录................................................................................................ .1 绪论................................................................................................ .2 1、1 设计内容及要求 . (3)1、2设计构思 (3)1、3系统组成及电路设计: (4)1、4 总体电路图 (5)2、1 89C51单片机 (6)2、1、1 结构特点 (6)2、1、3 AT89C51单片机的管脚说明 (8)2、1 传感器及信号处理电路 (11)2、1、1 热释电红外传感器的结构组成及工作原理 (12)2、1、3 光敏电阻 (15)2、2 计时提醒电路 (17)2、2、1 基本原理 (18)2、2、4 计时提醒电路的仿真结果 (20)附录 (21)绪论随着科学技术的不断发展和进步,生产与自动化的观念逐渐深入人心。
50-基于51单片机的智能台灯设计
50-基于51单片机的智能台灯设计具体实现功能系统由STC89C52单片机+L数码管+光敏电阻+人体感应模块+红外接近传感器模块构成。
具体功能:(1)亮度不够且有人靠近时台灯自动亮;(2)靠的太近会提醒坐姿不正(蜂鸣器);(3)附近无人时台灯自动熄灭(30秒),时间可调;(4)根据环境亮度调节等亮度;(5)可手动调节台灯亮度;(6)设定学习时间。
设计背景台灯已是千家万户的必需生活用品,经常由于忘记关灯而造成巨大的能源浪费。
当夜晚来临时,人们又摸黑去开灯,非常不方便。
在这里设计了以人体红外辐射(波长为9.5um)传感控制电路。
当人体在台灯的范围内且环境光强较弱时,自动感应开灯;当人体太靠近桌面时,台灯自动感应,警告纠正坐姿,若在一定时间内未离开桌面则自动熄灭。
当人离开时则自动关灯,达到节约能源的目的。
硬件设计整体硬件电路是以51单片机为控制核心,主要由热释电红外传感器,光敏电阻信号处理电路,提醒电路,灯光控制电路,故障报警电路等组成。
单片机可将热释电红外传感器检测到的人体辐射红外信号及光强信号的模拟量转换成数字量。
(1)LED驱动电路LED驱动电路采用3路串联、每路4颗的LED灯,使用三极管S8050来控制LED灯的亮灭。
在软件上采用PWM控制方式,以此达到控制LED灯的亮度。
(2)光敏感应电路对于台灯亮度的感应采用了光敏电阻,利用光敏电阻的阻值随着亮度的改变而改变,电阻值的改变会改变光敏电阻上的电压值。
这时,通过AD转换器采集电压,转换成相应的光强数据传输给单片机。
(3)人体感应电路人体感应电路采用了HC-SR501基于红外线技术的数字传感器。
当传感器感应到人体时,传感器IO引脚输出高电平;当无人体时,传感器输出低电平。
(4)红外接近传感器红外接近传感器采用了E18-D80NK数字型传感器,检测到目标是低电平输出,正常状态是高电平输出;此传感器的功能为检测用户是否坐于台灯前。
软件设计程序开始后,对程序进行初始化。
基于单片机的智能台灯
基于单片机的智能台灯目录1.引言1.1背景1.2 目的2.系统概述2.1系统架构2.2硬件组成2.3 软件流程3.硬件设计3.1单片机选择3.2 电源设计3.3 感光元件选择与接口设计3.4 Led灯设计与控制3.5 用户接口设计4.软件设计4.1 系统初始化4.2 感光元件数据采集与处理4.3 灯光控制算法4.4 用户接口程序设计5.测试与验证5.1 硬件测试5.2 软件测试6.总结与展望1.引言1.1 背景本章节介绍台灯应用背景,包括现有台灯存在的问题和智能台灯的发展趋势。
1.2 目的本章节介绍本文档的目的,即设计一款基于单片机的智能台灯,以解决现有台灯存在的问题,并提供更多的功能和便利性。
2.系统概述2.1 系统架构本章节介绍智能台灯的系统架构,包括硬件和软件两个层面。
2.2 硬件组成本章节详细介绍智能台灯的硬件组成,包括单片机选择、电源设计、感光元件选择与接口设计、Led灯设计与控制以及用户接口设计等方面。
2.3软件流程本章节详细介绍智能台灯的软件流程,包括系统初始化、感光元件数据采集与处理、灯光控制算法以及用户接口程序设计等方面。
3.硬件设计3.1 单片机选择本章节介绍选择合适的单片机,并解释选择的理由。
3.2 电源设计本章节详细介绍智能台灯的电源设计,包括电源输入和输出的接口设计、电源稳定性和效率的考虑等方面。
3.3 感光元件选择与接口设计本章节详细介绍选择合适的感光元件,并设计相应的接口电路,以便实现感光元件数据的采集和处理。
3.4Led灯设计与控制本章节详细介绍智能台灯的Led灯设计和控制方法,包括Le d灯的数量、功率以及调光控制等方面。
3.5 用户接口设计本章节详细介绍智能台灯的用户接口设计,包括按键或触摸屏设计、显示器界面设计等方面。
4.软件设计4.1 系统初始化本章节详细介绍智能台灯的系统初始化过程,包括初始化各个外设、设置相关参数等方面。
4.2 感光元件数据采集与处理本章节详细介绍感光元件数据的采集和处理方法,使得系统能够根据环境光亮度动态调整灯光亮度。
基于51单片机的智能台灯设计
摘要LED台灯作为LED绿色照明光源产品,作为国家绿色照明推广使用的产品。
随着时代发展,节能环保、健康与人们的日常生活变得密不可分,科技的进步,也使家电更加智能化和人性化。
台灯作为家电中基础的,也是必不可少的,所以,提出PWM调光灯设计。
该设计是以STC89C51RC单片机为控制核心的集多种功能于一体的智能LED台灯。
该台灯实现了光亮度具有手动、自动两种调节方式;具有呼吸模式功能,还具有红外遥控功能。
硬件设计部分分为单片机控制模块、按键模块、照明模块、光敏模块、LED指示模块、遥控模块等多个部分。
单片机主控制芯片选用STC89C51RC,LED指示模块选用三种不同颜色的小LED来指示不同的工作模式,通过按键模块来调整工作模式和LED的亮度,照明模块选用12草帽型白光LED,光敏模块选用ADC0809芯片实现对光敏信号的采集,并利用PWM 调光技术对LED进行光度的自动调节。
可以通过红外遥控远距离无线遥控,通过单片机C语言编程进行软件设计,综合实现了全部控制功能。
关键词LED台灯光度PWM调光自动调节AbstractLED lamp as LED green lighting products, as the country to promote the use of green lighting products. With the development of the times,energy saving and environmental protection, health and the peopledaily life are inseparable, the progress of science and technology,also makes home appliances more intelligent and humanized. The lamp as home appliances based, so is also essential,, put forward PWM dimming the lights design.The design is based on STC89C51RC SCM as control core and multi functions in one of the intelligent LED lamp. The table lamp realizes the brightness with manual, automatic two types of regulation;respiratory mode function, but also has the function of infrared remote control. The design of the hardware part consists of MCU control module, keyboard module, lighting module, photosensitive module,LED module, remote control module instruction. The MCU main control chip STC89C51RC, LED indicating module with three kinds ofdifferent colors of small LED to indicate different working modes,brightness through the key module to adjust the working mode and the LED lighting module, using 12 straw hat type white LED,photosensitive module uses ADC0809 chip implementation of a signal acquisition, automatic regulation and luminosity of LED using PWM dimming technology. Through the infrared remote control, wireless remote control, software design of the MCU C language programming,integrated control functions are realized by.Key wordLED lamp dimming automatically adjust luminosity of PWM目录第1章绪论 (5)1.1 课题研究背景 (5)1.2 系统方案的提出 (5)1.2.1 LED优势 (5)1.2.2 方案简述 (6)第2章系统方案的选择 (7)2.1 控制芯片的选择方案 (7)2.1.1 STC89C51RC (7)2.1.2 A VR单片机 (7)2.1.3 FPGA (8)2.1.4 主控制芯片的确定 (8)2.2 照明模块的选择 (8)2.2.1 三极管驱动 (8)2.2.2 PWM芯片控制 (9)2.2.3 照明方案的确定 (10)2.3 遥控模块的选择 (10)2.3.1 超再生无线模块 (10)2.3.2 红外遥控 (11)2.3.3 遥控方案的确定 (11)第3章硬件设计 (12)3.1 单片机STC89C51芯片简介 (12)3.2 LED驱动电路 (16)3.3 按键控制电路 (18)3.4 LED指示电路 (19)3.5自动控制电路 (19)3.5.1 光敏电路 (20)3.5.2 ADC0809模数转换 (20)3.6遥控电路 (21)第4章软件设计 (23)4.1 Keil C51 (23)4.2 Protel99SE (23)4.3 程序流程图 (25)第5章调试 (26)5.1 硬件调试 (26)5.2 软件调试 (26)第6章总结 (27)参考文献 (28)附录一:protel99se 原理图 (29)附录二:源程序 (30)前言LED照明又称固态照明,作为继白炽灯、荧光灯后的第三代照明技术,具有节能、环保、安全可靠的特点,固态光源是被业界看好的未来十年替换传统照明器具极具潜力的新型光源,代表照明技术的未来。
基于单片机的智能LED台灯设计
基于单片机的智能LED台灯设计一、设计方案1.硬件部分单片机选用STM32F103C8T6,这款单片机具有丰富的外设资源,可以满足LED台灯的控制需求。
LED灯珠选用RGB三色灯珠,可实现丰富的光色变换。
电源部分采用稳压电源芯片,保证LED台灯的稳定工作。
控制部分采用红外接收模块,实现遥控功能。
还可以添加温湿度传感器、光敏传感器等传感器,实现台灯的智能化控制。
软件部分的设计主要包括单片机程序设计和手机APP开发。
单片机程序设计主要实现以下功能:控制LED灯珠的亮度、颜色和模式,接收红外遥控信号,接收传感器信号,并通过串口通信将数据传输到手机APP。
手机APP主要实现远程控制LED台灯,设置定时开关机,查看温湿度和光照强度等功能。
二、设计实现步骤首先进行硬件设计,按照功能模块划分,设计PCB板。
在设计PCB板时,要充分考虑电路的可靠性和稳定性,尽量减小电路的干扰和损耗。
2.软件设计单片机程序设计采用C语言进行编程,主要包括LED灯控制程序、红外遥控程序、传感器数据处理程序等。
手机APP开发采用Android或IOS平台进行开发,主要使用Java或Swift语言进行编程。
3.联调测试完成硬件设计和软件编程后,进行联调测试。
首先对硬件进行功能测试,确保各个模块能正常工作。
然后进行软件联调测试,确保单片机和手机APP之间能正常进行数据通信。
4.生产制造完成联调测试后,进行生产制造。
首先进行小规模生产,进行功能测试和质量检验。
然后进行大规模生产,生产成品LED台灯。
5.市场推广LED台灯生产完成后,进行市场推广。
通过线上线下渠道进行推广,让更多的消费者了解到智能LED台灯的优点,并购买使用。
三、设计特点1.节能环保LED灯具有节能环保的特点,与传统白炽灯相比,LED灯具有更高的光效,能有效节省能源,减少能源消耗,降低环境污染。
2.色彩丰富RGB LED灯珠能够发出红、绿、蓝三种颜色的光,通过不同比例的混合可以发出丰富的颜色,满足人们对灯光色彩的多样化需求。
基于单片机的智能台灯设计
基于单片机的智能台灯设计一、引言本文档描述了基于单片机的智能台灯设计的详细内容。
智能台灯是一种通过单片机控制的台灯,具有自动调光、语音控制等智能化特性。
本文将介绍台灯的整体设计思路、硬件设计、软件设计、测试与验证等内容。
二、设计思路2.1 目标与需求分析2.2 总体设计方案2.3 功能拆分与模块划分三、硬件设计3.1 主控单元3.1.1 单片机选型3.1.2 主控单元电路设计3.2 光照传感器3.2.1 光照传感器选型3.2.2 光照传感器接口设计3.3 LED灯光模块3.3.1 LED灯光模块选型3.3.2 LED灯光模块电路设计3.4 语音识别模块3.4.1 语音识别模块选型3.4.2 语音识别模块接口设计3.5 电源与供电模块3.5.1 电源选型3.5.2 电源电路设计四、软件设计4.1 系统框架设计4.2 光照传感器数据采集与处理4.3 LED灯光控制算法设计4.4 语音控制算法设计4.5 系统交互界面设计五、测试与验证5.1 硬件测试5.1.1 主控单元功能测试5.1.2 光照传感器功能测试5.1.3 LED灯光模块功能测试5.1.4 语音识别模块功能测试5.1.5 电源与供电模块测试5.2 软件测试5.2.1 系统功能测试5.2.2 性能测试5.3 验证结果与分析附件:附件一、电路原理图附件二、电路板布局图附件三、系统软件代码法律名词及注释:1、单片机:也称为微控制器,是一种集成了微处理器核心、存储器、输入输出接口以及其他辅助功能的集成电路芯片。
2、光照传感器:用于感知光照强度的传感器,常用的有光敏电阻、光电二极管等。
3、LED灯光模块:采用LED作为光源的照明模块,具有高效、节能等特点。
4、语音识别模块:用于将语音信号转换为数字信号并进行语音识别的模块,常用的有声学模型、语音识别算法等。
基于单片机的智能台灯设计
基于单片机的智能台灯设计一、引言二、智能台灯的功能需求分析(一)亮度调节用户能够根据不同的使用场景和个人需求,灵活调节台灯的亮度。
例如,在阅读时需要较高的亮度,而在睡前阅读时则需要较柔和的光线。
(二)色温调节提供不同的色温选择,如冷光、暖光和自然光,以适应不同的环境和视觉需求。
(三)自动感应具备人体感应功能,当人靠近时自动亮起,人离开一段时间后自动熄灭,节省能源。
(四)定时功能可以设置定时关闭,避免用户在使用过程中睡着而忘记关灯。
(五)光线自适应能够根据周围环境的光线强度自动调整台灯的亮度,保持舒适的照明效果。
(一)单片机选择选用合适的单片机作为控制核心,如 STM32 系列。
STM32 具有高性能、低功耗、丰富的外设接口等优点,能够满足智能台灯的控制需求。
(二)光照传感器采用光敏电阻或环境光传感器,实时检测周围环境的光线强度,并将信号传输给单片机进行处理。
(三)人体感应模块使用红外热释电传感器来检测人体的存在,当有人靠近时,传感器输出信号给单片机,控制台灯亮起。
(四)LED 驱动电路选择合适的 LED 驱动芯片,如恒流驱动芯片,以保证 LED 灯珠的稳定工作和亮度调节。
(五)按键模块设置若干按键,用于用户手动调节亮度、色温、定时等功能。
(六)显示模块可以采用液晶显示屏(LCD)或数码管,显示当前的亮度、色温、定时时间等信息。
(一)主程序流程系统初始化后,进入主循环。
不断检测光照传感器、人体感应模块和按键模块的输入信号,根据信号执行相应的操作,如调节亮度、色温、控制台灯的开启和关闭等。
(二)亮度调节算法通过 PWM(脉冲宽度调制)技术实现亮度调节。
根据用户设定的亮度值,调整 PWM 信号的占空比,从而改变 LED 的平均电流,实现亮度的变化。
(三)色温调节算法采用不同颜色的 LED 灯珠(如冷白、暖白),通过调节两种颜色LED 灯珠的电流比例,实现色温的变化。
(四)人体感应处理当人体感应模块检测到有人靠近时,立即开启台灯,并根据环境光强度自动调整亮度。
基于单片机的智能LED台灯设计
基于单片机的智能LED台灯设计1. 引言1.1 背景介绍LED 台灯现在已经成为时尚家居中不可或缺的一部分,它带来了舒适的照明效果,同时也具备节能、环保等优点。
随着科技的不断发展,人们对于台灯的功能和设计要求也越来越高。
基于单片机的智能LED 台灯设计应运而生,它不仅可以实现智能控制,还能够实现多种照明效果,满足不同场景下的需求。
传统的LED 台灯往往只是简单地提供照明功能,无法灵活地调节亮度和色温。
而基于单片机的智能LED 台灯设计则可以通过编程控制LED 光源的亮度和色温,实现渐变、闪烁等效果。
搭配传感器和无线通信模块,还可以实现自动调节光线、远程控制等功能,为用户带来更便捷、智能的照明体验。
通过对基于单片机的智能LED 台灯设计进行研究,不仅可以提升LED 台灯的功能和性能,还可以推动照明科技的发展,为人们的生活带来更大的便利和舒适。
【字数:225】1.2 研究意义LED灯具有节能、环保、耐用等优点,而智能LED台灯可以根据环境光照和用户需求智能调节光线亮度和颜色温度,提升用户体验。
基于单片机的智能LED台灯设计不仅可以实现智能控制功能,还可以通过合理的电路设计和程序算法提高LED灯的使用寿命和稳定性。
智能LED台灯设计结合了单片机技术和光电技术,具有较高的技术含量,可供学术研究和工程应用。
研究基于单片机的智能LED台灯设计具有重要的意义,有助于推动LED照明技术发展,提升LED产品的性能和智能化水平,满足人们对高品质生活的需求。
【字数:204】1.3 研究目的研究目的是通过设计基于单片机的智能LED台灯,实现灯具的智能化控制和节能优化。
具体目的包括:1. 设计一款高性能的LED灯具,通过单片机控制实现灯光的亮度调节和色温调节,提高灯具的灵活性和便捷性。
2. 开发一套智能照明控制系统,通过单片机实现灯具的远程控制和定时开关功能,提升用户体验和舒适度。
3. 设计具有美观实用性的LED台灯外观,使其外观设计与功能实用性相结合,吸引用户的注意并增加产品的市场竞争力。
基于单片机的智能台灯设计ppt课件
+
起。使用该小灯,不仅简化了
-
设计,而且在外形上更加美观,
更接近实际台灯的样式。实际
GND
电路采用PNP三极管的驱动,
只要单片机该IO口输出一个低
电平信号,即可控制三极管导
通,继而点亮LED灯。
D2 USB-Light
.
硬件介绍——指示灯模块
本设计采用了一颗绿色的LED 作为模式指示灯。当指示灯点 亮时,代表当前是亮度自动控 制模式。相反的,当指示灯熄 灭是,代表当前是亮度手动控 制模式。
VCC
R5 1K
D1 GREEN
LED
.
软件介绍——系统流程图
.
仿真截图展示
.
实物展示
.
最后,衷心感谢在百忙之中 评阅论文和参加答辩 的各位老师、教授。
.
• 欢迎批评指导!! • 感谢聆听! • THANK YOU FOR WATCHING!
• 放映结束
.
•
感
感
谢
谢
阅
阅 读
读
P10 P11 P12 P13 P14 P15 P16 P17 RESET P30/RXD P31/TXD P32/INT0 P33/INT1 P34/T0 P35/T1 P36/WR P37/RD XTAL2 XTAL1 GND
C3 30pF
GND
定运行,晶振电路为
GND
单片机执行代码提供
时钟脉冲。
.
硬件介绍——系统框图
按键模块 人体红外检测模块 光照强度采集模块
单片机 最小系
统
照明模块 指示灯模块
整个设计在硬件上可以分为六个模块,分别是: 单片机最小系统模块、按键模块、人体红外 检测模块、光照强度采集模块、照明模 块、指示灯模块。接下来分别对 这六个模块进行一一介绍。
基于单片机的智能LED台灯设计
基于单片机的智能LED台灯设计智能LED台灯是一种集成了单片机技术的台灯产品,具有智能控制、节能环保、颜色温度调节等多种功能。
它不仅可以提供舒适的光源,还可以实现智能控制和灯光效果的调节,适应不同的环境需求。
本文将介绍基于单片机的智能LED台灯的设计原理、硬件结构和软件系统,并分析其在实际应用中的优势和前景。
一、设计原理基于单片机的智能LED台灯的设计原理主要包括单片机控制、LED驱动、传感器检测和无线通信等方面。
单片机作为整个台灯系统的核心控制器,负责实现各种功能的控制和调节。
LED驱动模块通过单片机控制实现对LED灯珠的亮度、颜色等参数的调节。
传感器模块检测环境光线、温湿度等参数,帮助台灯实现自适应的光照和环境控制。
无线通信模块用于实现台灯与智能手机或其他智能设备的连接,实现远程控制和智能化管理。
二、硬件结构三、软件系统四、应用优势基于单片机的智能LED台灯具有多种应用优势。
它可以实现智能化控制和管理,用户可以通过手机APP实现对台灯的远程控制和智能化管理,提高了用户的使用体验。
它具有多种光照效果和色温调节功能,可以根据不同的使用场景和环境需求进行调节,提供更加舒适的光照体验。
它可以实现节能环保,LED灯源具有低功耗、长寿命等优点,可以有效节约能源和保护环境。
它具有较高的灵活性和可扩展性,可以通过软件升级和硬件扩展实现更多的功能和应用。
五、市场前景随着智能家居市场的不断发展和智能化需求的增加,基于单片机的智能LED台灯具有较大的市场前景。
它可以通过智能化控制和管理满足用户对于光照效果和色温调节的个性化需求,提高用户的使用体验。
随着LED灯源的技术进步和成本的不断降低,智能LED台灯的成本也将逐渐降低,更加容易被消费者接受。
随着智能手机和无线技术的发展,智能LED台灯可以与其他智能设备实现连接和互联,进一步提高了其智能化和便利性。
智能LED 台灯还可以结合环境保护和节能意识,满足消费者对于能源节约和环保的需求,具有较高的市场潜力。
基于单片机的智能LED台灯设计
基于单片机的智能LED台灯设计一、绪论LED 台灯是一种使用 LED 作为光源的台灯,由于 LED 具有节能、环保、长寿命等特点,被广泛应用于照明领域。
本设计旨在基于单片机技术,实现 LED 台灯的智能化控制,提高其功能性和实用性。
二、LED 台灯设计方案2.1 LED 台灯的基本结构LED 台灯一般由灯体、LED 光源、光学器件、散热器和控制电路等组成。
本设计采用单片机作为控制核心,通过控制电路实现 LED 的亮度调节、色温调节和光效控制功能。
2.2 单片机选型本设计选择常用的 51 单片机作为控制核心,具有良好的稳定性和可靠性,且具有丰富的外设接口,适合 LED 台灯的控制需求。
2.3 LED 光源选择LED 光源是 LED 台灯的关键部件,本设计选择功率较大、发光效果良好的高亮度LED 作为光源,以满足台灯的照明需求。
2.4 控制电路设计2.5 功能性设计LED 台灯除了光照功能外,还应具备一定的智能功能,如定时开关、光线感应、遥控调节等,本设计将在控制电路中加入相应的模块,以实现 LED 台灯的智能控制。
3.1 亮度调节方案LED 台灯的亮度调节通常采用 PWM 调光技术,通过改变 LED 的通电时间比例,来实现 LED 的亮度调节。
本设计利用单片机的 PWM 输出功能,控制 LED 的亮度级别,实现LED 台灯的亮度调节功能。
3.3 灯效控制方案LED 台灯的灯效控制通常采用灯珠排列方式和光学器件设计,使光照均匀、柔和,且具有一定的抗眩光性能。
本设计结合光学器件设计,通过单片机控制 LED 的工作状态,实现 LED 台灯的灯效控制。
单片机控制电路包括单片机、外围电路、PWM 输出、信号输入等,本设计将单片机与LED 驱动电路相连,以控制 LED 的亮度和色温。
LED 驱动电路包括稳流电路、电源滤波、过流保护等,本设计将 LED 与对应的驱动电路相连,以实现 LED 的正常工作。
智能控制模块包括定时器、光敏电阻、红外接收器等,本设计将这些模块与单片机相连,实现 LED 台灯的智能化控制功能。
(完整)基于C51单片机和PWM调光的LED台灯设计
摘要LED台灯作为LED绿色照明光源产品,作为国家绿色照明推广使用的产品。
在实际的应用中,发现LED灯在周边亮度大时依然以同一功率发光,存在电能浪费;在周边亮度小时LED灯不能提供足够和恰当的光度。
本文介绍了以STC89C51为控制核心,通过光敏电阻感应光度,并利用PWM调光技术对LED进行光度的自动调节。
同时设置手动控制。
该LED台灯电路简单,很大程度上节省电能,延长LED灯寿命,适宜阅读.关键词LED台灯光度 PID PWM调光自动调节原创性声明本设计所用到的程序代码和电路均是来自本团队,如没有经过允许,不得复制和转载。
目录前言 (4)总体方案设计 (5)硬件设计 (5)软件设计 (9)总结 (12)附录1:作品照片 (13)附录2:程序 (15)前言LED照明又称固态照明,作为继白炽灯、荧光灯后的第三代照明技术,具有节能、环保、安全可靠的特点,固态光源是被业界看好的未来十年替换传统照明器具极具潜力的新型光源,代表照明技术的未来。
发展新固态照明,不仅是照明领域的革命,而且符合当前政府提出的“建设资源节约型和环境友好型社会”的要求。
LED台灯就是以LED(Light Emitting Diode)即发光二极管为光源的台灯,LED是一种固态的半导体器件,它可以直接把电转化为光.LED台灯是典型的绿色照明光源产品,作为国家绿色照明推广使用的产品,具有广阔的应用前景。
在实际的应用中,发现LED灯在周边亮度大时依然以同一功率发光,存在电能浪费。
另外一方面,因为LED的发热量和电流存在正相关的关系,发热影响了LED的寿命,所以在不必要的亮度下也减少了LED的寿命.然而,当LED在周边亮度小时,LED灯不能提供足够和恰当的光度,这样又影响了阅读,造成视觉疲劳。
PWM方法的基本思想就是利用单片机具有的PWM端口,在不改变PWM方波周期的前提下,通过软件的方法调整单片机的PWM控制寄存器来调整PWM的占空比,从而控制充电电流.本方法所要求的单片机必须具有ADC端口和PWM端口这两个必须条件,另外ADC的位数尽量高,单片机的工作速度尽量快。
基于单片机的智能LED台灯设计
基于单片机的智能LED台灯设计智能LED台灯是一种利用单片机作为控制核心的LED灯具。
它具有调节亮度、调节色温、远程控制等功能,可以根据用户的需求来调节灯光的亮度和色温。
下面,我将介绍一种基于单片机的智能LED台灯的设计。
我们需要选择一款高亮度、高色温的LED灯珠作为光源。
LED灯珠的好坏直接影响到台灯的光照效果,因此在选择LED灯珠时要选择质量较好的产品。
为了满足用户对灯光亮度的调节需求,LED灯珠的亮度也需要具有可调节的特点。
我们需要选择一款适合的单片机作为控制核心。
单片机负责接收用户指令,并控制LED灯珠的亮度和色温。
在选择单片机时,要考虑到其计算能力、存储空间和接口等方面的要求,以满足台灯的控制需求。
接下来,我们需要设计控制电路,将单片机与LED灯珠连接起来。
通过电阻和电容组成的降压电路将220V交流电转换为5V直流电,供单片机和LED灯珠使用。
然后,将单片机的输出信号通过电路连接到LED驱动电路,来控制LED灯珠的亮度。
为了实现台灯亮度的调节功能,我们可以使用PWM技术。
PWM(Pulse Width Modulation)是一种通过改变信号的占空比来控制电路的输出电压或电流的技术。
通过调节PWM的占空比,可以改变LED灯珠的亮度。
单片机可以根据用户的指令,改变PWM的占空比,从而实现灯光的亮度调节。
为了实现台灯色温的调节功能,我们可以使用可调电阻来改变LED灯珠的电流,从而改变色温。
可调电阻可以通过单片机的输出信号控制,从而实现色温的调节。
我们可以添加一些额外的功能,如远程控制、定时开关等。
通过添加无线模块,可以使台灯与手机或其他远程控制设备连接起来,实现远程控制功能。
通过添加时钟模块,可以实现定时开关功能,用户可以根据自己的需求设置台灯的开启和关闭时间。
基于单片机的智能LED台灯设计
基于单片机的智能LED台灯设计1. 引言1.1 背景介绍LED 台灯是一种具有节能、环保和智能化特点的照明产品,已经被广泛应用于家居、办公等领域。
随着科技的不断发展,人们对LED 台灯的功能和性能要求也越来越高。
基于单片机的智能LED 台灯设计成为了研究的热点之一。
随着人们对智能家居的需求不断增加,智能LED 台灯作为照明产品的一种,具有着迅速增长的市场需求。
传统的LED 台灯只能实现基本的照明功能,而基于单片机的智能LED 台灯设计可以实现更多的功能,如定时开关、光线调节、颜色温度调节等,大大提升了用户的体验感。
通过对基于单片机的智能LED 台灯的研究和设计,可以使LED 台灯具有更好的性能和更多的功能,提高LED 台灯的竞争力。
本文将对基于单片机的智能LED 台灯进行深入研究,探讨其设计原理、硬件设计、软件设计、功能特点和性能评估,从而为LED 台灯的研究和发展提供参考。
1.2 研究意义通过研究设计基于单片机的智能LED台灯,可以深入了解LED照明技术与单片机控制技术的结合应用,促进LED照明产品的技术升级和创新。
智能LED台灯的设计可以实现照明的智能控制,满足用户对于照明场景的个性化需求,提高用户的使用体验。
智能LED台灯的设计还可以有效提升LED照明产品的能效,降低能耗,促进绿色环保理念的传播与实践。
研究基于单片机的智能LED台灯设计不仅具有重要的理论研究意义,还具有广泛的应用前景和社会价值。
通过对智能LED台灯的设计研究,可以推动LED照明产品向智能化、高效化方向发展,为照明行业的可持续发展做出贡献。
2. 正文2.1 智能LED台灯设计原理智能LED台灯设计的原理基于单片机技术和光电子技术相结合,通过单片机控制LED灯的亮度、色温和灯光效果,实现智能化控制。
智能LED台灯采用传感器检测环境光强度,根据环境光的变化自动调节LED灯的亮度,保证光照舒适度和节能效果。
用户可以通过手机APP或遥控器控制LED灯的开关、亮度、色温等参数,实现个性化的光照需求。
基于C51单片机和PWM调光的LED台灯设计
基于C51单片机和PWM调光的LED台灯设计LED台灯是一种节能环保的照明产品,具有调光功能可以根据需要调节亮度。
本文将以C51单片机为核心,结合PWM调光技术设计一款LED台灯。
1.系统设计本设计的LED台灯由C51单片机、三极管、电阻、电容、可变电阻和LED灯组成。
C51单片机作为控制器,通过PWM调整LED的亮度。
三极管起到放大电流的作用,电阻和电容用于稳压滤波,可变电阻用于调节亮度。
2.硬件设计(1)电源电路LED台灯的电源电路由变压器、整流电路和稳压滤波电路组成。
变压器将220V交流电转换为合适的低压交流电,整流电路将交流电转换为直流电,稳压滤波电路将输出的直流电进行稳压和滤波。
(2)控制电路C51单片机作为控制器,需要将其正常工作电压5V进行稳定和滤波,因此在其供电端接入电容和电阻以实现稳定电压。
三极管通过放大电流的方式驱动LED。
(3)亮度调节电路可变电阻与PWM信号相连,通过调节可变电阻的阻值来改变PWM信号的占空比,进而改变LED的亮度。
3.软件设计(1)初始化设置初始化IO口,设置PWM输出引脚。
设置定时器和定时器中断,设定一个较小的时间间隔,用于产生PWM信号。
(2)PWM生成使用定时器中断来产生PWM信号。
通过改变定时器中断产生的时间间隔,可以改变PWM信号的占空比。
占空比越大,LED越亮;占空比越小,LED越暗。
(3)亮度调节利用ADC模块读取可变电阻的电压值,将其转换为具体的阻值。
根据阻值计算出对应的占空比,通过改变定时器中断的时间间隔来调整PWM信号的占空比,从而改变LED的亮度。
4.结果验证将C51单片机烧录好的程序与硬件连接,通过调节可变电阻,LED的亮度可以自由调节。
5.总结本设计利用C51单片机和PWM调光技术实现了LED台灯的设计,通过调节PWM信号的占空比来改变LED的亮度,实现了灯光的调光功能。
这种设计具有低功耗、节能环保的特点,在实际应用中有很大的潜力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关闭的功能。该传感器检测距离通过编写程序控制。 以上的程序见附录三。
4 总结
该设计实现了自动检测屋内是否有人并自动开启/关闭功能;台灯具有光亮 度调节功能;具有时间显示功能;具有温度显示功能;具有闹铃功能。但在细节 方面还有不足之处。LED 亮度达不到很亮的程度,只能在一个很小的范围变化, 以致于光亮度不够。
附录一 实物照片
附录二 硬件电路图
附录三 程序
#include<reg52.h> #include<shizhong.h> void delay(uint z) {
uint x,y; for(x=z;x>0;x--)
for(y=110;y>0;y--); } void delay1(unsigned char t)
图 9 红外传感电路
检测屋内是否有人我们选用 BIS0001 红外热释传感器,因为该传感器灵敏度 好,好控制,而且价钱不贵。3 脚接电源 VCC,1 脚接地,2 脚通过一个 NPN 型 的三极管接至单片机的 P37 口。由于该传感器的带负载能力较弱,加一个三极管 作为其驱动电路,当 P37 口给低电平时有效。检测距离可通过软件调节。
图 6 时钟模块电路
因为 DS12C887 时钟芯片的集成度都很高,而且它自带锂电池,即使断电了 时钟仍然在工作,所以我们选择了 DS12C887 时钟芯片作为时钟。各脚的连接见 图 6.由于其集成度很高,我们只需按照其数据手册焊接电路即可。 2.6 闹铃模块电路设计 闹铃模块电路如图 7,
图 7 闹铃模块电路
2.2 按键模块电路设计 按键模块电路如图 3,
图 3 按键模块电路
按键 K5、K6 用来调节台灯的亮度,K7 控制模式,即控制台灯是工作在感应 模式下还是工作在手动模式下,亦或是关闭状态。其余的用作调节时钟以及闹铃。 按键均采用低电平有效连接方式。通过按下按键 K5 可以让台灯变暗,按下按键 K6 可以让台灯变亮。其余几个 S1 到 S4 按键可以对时钟进行设置调节,并调节 设置闹铃,当时间与设置的时间一致是闹铃报警,即蜂鸣器响。
{ while(t--) ;
} void di() {
BEEP=0; delay(100); BEEP=1; }
void write_com(char com) {
rs = 0; rw = 0; lcden=0; P1=com; delay(1); lcden=1; delay(1); lcden=0; }
图 5 温度模块电路
由于 DS18B20 温度传感器的集成度很高,封装简单,所以我们选用该芯片 作温度模块电路。1 脚接电源 VCC,2 脚数据线接单片机 P24 口,3 脚接地。芯
片采集到的数据通过 2 脚传给单片机的 P24 口让单片机进行处理,之后送给显示 模块进行显示。 2.5 时钟模块电路设计 时钟模块电路如图 6,
测按键是否按下,判断工作在那个模式下。单片机接收并处理来自 DS18B20 传 过来的数据在液晶上显示当时的室内温度,液晶还显示当前的时间,日期。当需 要设置闹钟或调整时间时,又检测按键是否按下,以便对时间进行修正、设置闹 钟时间。最后进入循环。
3.2 按键模块程序设计 按键用来调整时间和设置闹钟,调光亮度,各键功能在介绍硬件部分已描述。
EA=1; EX1=1; IT1=1; t0_num=0; slnum=0; write_com(0x38); write_com(0x01); write_com(0x06); write_com(0x0C);
write_com(0x80); for(num=0;num<=15;num++)
{ write_date(table[num]); delay(1);
加上 5V 直流电源后,后七大模块在单片机控制之下分别工作。
2 硬件设计
2.1 单片机控制模块设计 硬件电路如图 2,
图 2 单片机控制模块电路
这里我们选用 12M 的晶振,晶振系统由两个 30pF 的电容 CAP 和晶振组成, 接到单片机的 18、19 两管脚。晶振给单片机提供硬件本身的时钟振荡。一个 10μF 的电解电容和一个 1k 的电阻组成复位电路,接至单片机的第 9 管脚。P0 口加上 排阻,即其就是 P0 口的上拉电阻,这就是给 P0 加驱动电路,电源通过排阻向 P0 口供电,使其能够驱动与 P0 口相连的元件。
关键词:单片机,智能,显示,温度,时间。
1 LED 台灯功能描述及总体该方案
1.1 功能描述 根据主要功能要求,该设计利用 51 单片机实现了电子时钟、温度的显示以 及设置闹铃等功能。具体可分为一下几种: 1) 显示当前的时间,24 时制的时、分、秒; 2) 可调节时间; 3) 显示当前屋内温度; 4) 能检测屋内是否有人并自动开启/关闭; 5) 可调节 LED 光亮度; 6) 可设置闹铃时间并报警。
write_date('O');delay(5); write_date('N'); break; case 2: write_date('T');delay(5);
write_date('U');delay(5); write_date('E'); break; case 3: write_date('W');delay(5); write_date('E');delay(5); write_date('D');
3 软件设计
3.1 主程序的设计
开始
系统初始化 检测屋内有人?
按键按下?
LED 工作
闹钟
显示时间、日期、温 度 修正时间,设置闹钟 图 10 主程序流程图
主程序如图 10,一给单片机上电,单片机就初始化。然后通过接收并处理 BIS0001 传感器出阿叔过来的数据,检测屋内是否有人,若有人则工作。然后检
闹铃模块主要就是一个蜂鸣器,其作用是当到达设定的时间到时发出蜂鸣声 报警。用一个 PNP 型三极管和蜂鸣器连接主要是给蜂鸣器一个驱动,让蜂鸣器 为高电平有效,即 P07 口高电平时蜂鸣器发声报警。 2.7 显示模块电路设计
显示模块电路如图 8,
图 8 显示模块电路
液晶显示部分,我们选用 LCD1602C,其接法和普通的 1602 接法一样。1 脚接地,2 脚接电源,3 脚接一个电位器以调节液晶显示器的亮度,16 脚接地, 15 脚接背光电源,其余接法见图 8。在调试的时候,有时液晶不亮,多半是因为 遗漏背光电源,也有可能是虚焊导致。 2.8 红外传感模块电路设计 红外传感模块电路如图 9,
} void write_ds(char add,char date) {
dscs=0; dsas=1; dsds=1; dsrw=1;
P1=0xff; P1=add; dsas=0; dsrw=0; P1=0xff; P1=date; dsrw=1; dsas=1; dscs=1; } uchar read_ds(char add) { char ds_date; dsas=1; dsds=1; dsrw=1; dscs=0; P1=0xff; P1=add; dsas=0; dsds=0; P1=0xff; ds_date=P1; dsds=1; dsas=1; dscs=1; return ds_date; } void write_week(char we) { write_com(0x80+12); switch(we) { case 1: write_date('M');delay(5);
因为有年月日,时分秒几个参数要调,所以设置这几个参数的计数。当按下一个 键时,单片机进行相应的操作。当调光亮度时,按下 K5 键变暗,按下 K6 键变 亮,这是通过调 PWM 实现的。
3.3 台灯模块程序设计 该模块只需给 P00 到 P03 口送低电平即可,再通过按键调光亮。
3.4 温度模块程序设计 设计初始化函数,设计读 DS18B20 数据和对 DS118B20 写数据的函数,再写出 从 DS18B20 读温度并转换为十进制的函数,最后写显示温度的函数。
break; case 4: write_date('T');delay(5);
write_date('H');delay(5); write_date('U'); break; case 5: write_date('F');delay(5);
2.3 台灯模块电路设计
台灯模块电路如图 4,
图 4 台灯模块电路
本设计采用 16 颗 LED 作为发光系统,每两颗并联在一起后和一个 1K 的电 阻串联,用 P00 到 P03 口控制。电阻起限流作用,考虑到 I/O 口资源,我们用每 两个并联的方式以节省 I/O 口资源。通过按键 K5、K6 调节 PWM 输出以达到调 节光亮度的效果。4 个 I/O 均采用低电平有效方式,即给相应的 I/O 低电平 LED 工作。 2.4 温度模块电路设计 温度模块电路如图 5,
void write_date(char date) {
rs=1; rw = 0; lcden=0; P1=date; delay(1); lcden=1; delay(1); lcden=0; }
void init() {
uchar num; flag1=0; flag=0; flag_ri=0; A=0;//人体感应
3.7 显示模块程序设计 设计 1602 的初始化函数,编写对 1602 写命令指令和对其写数据的子函数。
让所有的日期,时间,温度都在液晶上显示出来。
3.8 红外热释传感模块程序设计 编写一个从红外传感读数据的函数,检测有人与否,若有人,传感器发给单
片机一个高电平,单片机控制去 LED,使得单片机的 P00 到 P03 口为低电平, LED 亮,否则给低电平,LED 灭。这就实现了检测屋内有人与否并自动开启或