基于51单片机的PWM调光灯设计综述_第1页
基于51单片机的PWM调光灯设计综述_第2页
基于51单片机的PWM调光灯设计综述_第3页
基于51单片机的PWM调光灯设计综述_第4页
基于51单片机的PWM调光灯设计综述_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

摘要目前市场上的LED台灯,作为LED的绿色护眼光源产品而进行开发和研究,还是作为我国的照明推广家用型产品。随着时代的变迁,社会的发展,节能和环保这一主题已经是当今社会必要发展的目标了、健康与人们的日常生活变得密不可分,科技的进步,也使家电更加智能化和人性化。台灯作为家电中基础的,也是必不可少的,所以,提出PWM调光灯设计。本设计主要是将STC89C51RC单片机作为控制核心,这是将多种功能集于一体的智能LED台灯。该台灯具有手动、自动两种调节亮度的方式;主要的产品功能有呼吸模式、红外遥控操作等等。硬件的设计部分为单片机控制模块、按键控制模块、照明显示模块、光敏感应模块、 LED灯指示报警模块、远程遥控模块等组成。单片机主要控制芯片型号选用STC89C51RC,LED指示报警模块选择三种颜色不同的LED指示灯来显示三种不同的工作模式,通过按键控制模块进行调整和控制工作模式和LED亮度程度,照明模块选用草帽型12白光LED,光敏感应模块采用可以对光敏信号的采集芯片ADC0832,并利用PWM调光技术对LED进行光度的自动调节。可以通过红外遥控远距离无线遥控,通过单片机C语言编程进行软件设计,将所需的设计要求全部可以进行功能的控制。关键词LED台灯光度PWM调光自动调节第5章调试硬件调试硬件调试主要是对自己所做好的电子电路板进行通电前的万用表检查,看看有无短路、断路的现象, 通过通电时, 用示波器进行观察电路输出部分的电压属不属于正常范围内, 通过示波器观察输出波形是不是符合指标,在检查硬件电路时要注意用电的安全性。硬件电路调试可分为静态调试过程与动态调试过程两个阶段进行。静态调试阶段是在电路系统没有通电时的一种硬件电路中的元器件检测。第一步:直观目测。检查外部的各种元件或者是电路是否有少焊、断点的现象。第二步: 用万用表测试。 先用万用表一一检查电路中元器件的两端电压实属正常, 的连接点,再检测各种电源线与地线之间是否有短路现象。第三步: 通电检测。 通过电源电压的连接使得电路板通电, 检测所有插座或是器件的电压是否符合在要求的值范围内。第四步: 程序功能调试检查。 将单片机通过最小系统模块进行烧写程序, 将单片机安装到项目系统内,进行控制PW快行光的调速功能。动态调试是在通电条件的情况下发现和排除系统硬件中存在的器件内部故障、 器件连接逻辑错误等的一种硬件检查。 动态调试的一般方法是由部分到整体, 由简单到复杂。 由部分到整体是指首先按逻辑功能硬件电路分为几个部分, 只进行某一部分电路模块的调试, 这样可以将故障的范围限定在最小的局面上。 当各模块电路无故障后, 将各电路组合加入系统中,在对各电路功能及各电路间可能存在的相互联系进行调试。 由简单到复杂是将信号流经的各器件按照距离单片机的逻辑距离进行由简单到复杂的分层, 然后分层调试。 调试时,仍采用去掉无关元件的方法,逐层调试下去,就会排查到哪些元件出现了故障。软件调试软件调试是通过对程序的编写, 以及对程序的烧写操作进行连接、 执行进行判断系统电路的运行状况, 通过程序中的编译进行检查是否存在语法错误与逻辑错误, 可以及时在程序上进行错误的修改, 也可以通过仿真软件进行仿真电路, 观察仿真效果, 这样可以减少在设计过程中不必要的错误。第6章总结基于STC89C51RC系列的单片机进行控制PWM的转动速度从而进行台灯的调光技术, 主要以STC89C51作为主控芯片模块、 手动控制模块、 自动控制模块和呼吸模式模块组成。手动控制模块中,设置十个档,通过输出不同的 PWM占空比对光度进行手动调节换挡。自动控制模块中,通过 ADC0832模数转换芯片不断测量光敏电阻两端的电压来测量感应的光度, 将电压和预设的阈值进行对比,调整PWM的占空比从而进行对光度的自动调节。 PWM调速LED台灯电路简单,节能环保,灯的使用寿命强,适合学生及长期工作在灯光下的人群。呼吸模式模块中设定小夜灯可以进行夜起时的照明。控制方面增加了远程遥控功能,减少了人力,使用更加方便。最后,在本次课程设计中,主要有以下体会:1、对LED的驱动电路有进一步的学习,明白了如何对 LED进行规定电流驱动,并通过输出不同的占空比来调节 LED的亮度,从而对LED的耗电进行相应的管理;2、掌握了AD转换的原理和相关芯片的应用电路, 比如通过 ADC0832芯片对外界的模拟量进行转换等等。3、熟悉掌握了红外远程遥控的应用电路。4、培养了自己的项目意识,遇到困难可以及时请教老师和同学,使得自己的能力得到很到的提高, 作为一名大学生, 并且还是一个即将踏入社会的大学生,多增加一些知识是非常有必要的选择, 通过此次项目的研究与学习, 我感觉我会更加的努力奋进,去迎接更好更充实的自己。参考文献周明珠.无触点开关在控制中的应用 [J].现代电子技术,2002,4(1):62-71赵玉安.人体热释电红外传感器介绍 [J].中国电子制作,2006,9(1):35-40俞海珍,李宪章,冯浩 .热释电红外传感器及其应用 [J].电子照明技术 ,2006.(1):25-28曹巧媛.单片机原理及应用 [M].北京:北京 :电子工业出版社, 1997谢晓军.红外遥控技术在付费率电度表中应用 [J],电测与仪表,1996,4(1):24-26吴可久.8031单片机在遥控解码方面的应用 [J].电子技术, 1993,2:13-15张友德等 .单片机原理应用与实验 [M].上海:复旦大学出版社, 1992(王幸之.单片机应用系统抗干扰技术 [M].北京:北京航空航天大学出版社 ,2001,69-78TOC\o"1-5"\h\z张义和,王敏男 ,许宏昌等 .例说51单片机 .北京 :人民邮电出版社 ,2008刘坤 ,宋戈 ,赵波等 .51单片机C语言应用技术开发技术大全 .北京 :人民邮电出版社 ,2008白延敏.51单片机典型系统开发实例精讲 .北京 :电子工业出版社 ,2009周丽娜.Protel99SE电路设计技术 .北京 :中国铁道出版社 ,2009王为青,程国钢.单片机KeilCX51应用开发技术.北京:人民邮电出版社,2007江志红.51单片机技术与应用系统开发案例精选 .北京 :清华大学出版社 ,2009)附录一:protel99se原理图iizja:??:I-CTTrflJrr加4西刀.n^umuusb接niizja:??:I-CTTrflJrr加4西刀.n^umuusb接n附录二:源程序//调用单片机头文件//调用单片机头文件#defineucharunsignedchar//无符号字符型 宏定义变量范围0~255#defineuintunsignedint//无符号整型 宏定义变量范围0~65535sbitSCL=P2A2; //SCL定义为P1口的第3位脚,连接ADC0832SCL脚sbitDO=P2A3; //DO定义为P1口的第4位脚,连接ADC0832DO脚sbitCS=P2A0;〃CS定义为P1口的第4位脚,连接ADC0832CS脚sbitred=P1A4; //红色指示灯sbittd_led=P3A5; //台ucharf_pwm_l; //越小越亮bitflag_moshi;uchardangwei;//档位ucharguangxian; //光线的显示变量/***********************1ms*****************************/voiddelay_1ms(uintq){uinti,j;for(i=0;i<q;i++)for(j=0;j<120;j++);}/***********读数模转换数据********************************************************///请先了解 ADC0832模数转换的串行协议,再来读本函数,主要是对应时序图来理解,本函数是模拟 0832的串行协议进行的//110通道//111通道unsignedcharad0832read(bitSGL,bitODD){unsignedchari=0,value=0,value1=0;SCL=0;DO=1;CS=0; //开始SCL=1; //第一个上升沿SCL=0;DO=SGL;SCL=1; //第二个上升沿SCL=0;DO=ODD;SCL=1; //第三个上升沿SCL=0; //第三个下降沿DO=1;for(i=0;i<8;i++)(SCL=1;SCL=0;//开始从第四个下降沿接收数据value>>=1;if(DO)value++;}for(i=0;i<8;i++){ //接收校验数据value1>>=1;

if(DO)value1+=0x80;SCL=1;SCL=0;}CS=1;SCL=1;if(value==value1) //与校验数据比较,正确就返回数据,否则返回 0returnvalue;return0;}ucharkey_can;/********************独立按键程序*****************/voidkey()staticucharkey_new;key_can=20;if((P2&0xf0)!=0xf0){delay_1ms(1);

if(((P2&0xf0)!=0xf0)&&(key_new==1))key_new=0;switch(P2&0xf0)red=0;case0xd0:key_can=1;break;//左边第1个case0xb0:key_can=2;break;//左边第2case0xd0:key_can=1;break;//左边第1个case0xb0:key_can=2;break;//左边第2个case0x70:key_can=3;break;//左边第3个delay_1ms(80);red=1;elsekey_new=1;/***************档位***************/voidled_dangwei(uchardat)switch(dat)case7:TR1=0;//最亮td_led=0;break;case6:TR1=1;//亮f_pwm_l=20;break;case5:TR1=1;//亮f_pwm_l=40;break;case4:TR1=1;//亮f_pwm_l=60;break;case3:TR1=1;//亮f_pwm_l=80;break;case2:TR1=1;//亮f_pwm_l=90;break;case1:TR1=1;//亮f_pwm_l=95;break;case0:TR1=0;//灭td_led=1;break;}}/****************按键处理函数 ***************/voidkey_with(){if(key_can==1) //设置键{flag_moshi=~flag_moshi;}if(flag_moshi==1) //手动模式{if(key_can==2) //加{dangwei++;if(dangwei>=7)dangwei=7;if(key_can==3) //减{if(dangwei!=0)dangwei--;}led_dangwei(dangwei); //档位}}/*************定时器0初始化程序 ***************/voidtime_init(){EA=1; //开总中断TMOD=0X10; //定时器 1工作方式 1ET1=1; //开定时器 0中断TR1=0; //允许定时器 0定时/*********************************************************************名称:Main()

*功能:主函数输入 :无输出 :无***********************************************************************/voidMain(){//初始化定时器//初始化定时器red=0;f_pwm_l=99;while(1){key();if(key_can<10)key_with();if(flag_moshi==0) //自动模式red=1;elsered=0; //手动模式if(flag_moshi==0)//自动模式if(guangxian<=10)//开灯{TR1=0;//最亮td_led=0;}elseif(guangxian>=90)//关灯{TR1=0;//灭td_led=1;}else{TR1=1;f_pwm_l=guangxian;}}guangxian=ad0832read(1,0);/采集光线/guangxian=guangxian*99/255;delay_1ms

温馨提示

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

评论

0/150

提交评论