智能灯光控制器(单片机控制声控光控灯)_第1页
智能灯光控制器(单片机控制声控光控灯)_第2页
智能灯光控制器(单片机控制声控光控灯)_第3页
智能灯光控制器(单片机控制声控光控灯)_第4页
智能灯光控制器(单片机控制声控光控灯)_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、智能灯光控制器(声控光控灯)班级 姓名 学号 同组者 联系电话 指导教师 日期 2016年 6 月 2 日摘要本文介绍基于51单片机的智能灯光控制器的设计,可以连续调节灯光亮度,可以通过掌声开启和关闭灯光,可以通过光电检测方式感知白天和晚上的变化,当光敏电阻收到光照的时候,端口 1 输出为高电平,传给单片机的 P1.7 口;当光照较弱时端口 1 输出为低电平,传给单片机的 P1.7 口,声控电路功能是:没有声音时输出高电平,有声音时,跳变到低电平。关键词:51单片机 光控电路 声控电路 光敏电阻 驻极体目 录技术指标.4基本原理.4方案论证.5硬件电路设计.5软件设计.8测试报告.12结论.1

2、8心得体会 .18参考文献 .19附录.20技术指标设计一基于单片机的智能灯光控制器,主要技术指标如下。1 采用51系列单片机2 用LED代表受控灯3 可以连续调节灯光亮度4 可以通过掌声开启和关闭灯光5 通过光电检测方式感知白天和晚上的变化,并可程序设定灯光的开关方式。6 外接直流供电,+5V单电源工作基本原理利用驻极体和光敏电阻将光信号和声音信号转换为单片机能识别的电信号来控制LED灯。方案论证利用光敏电阻阻值随光照强度的增大而减小的特性,可以设计一个电压比较电路,白天输出高电平,晚上输出低电平,程序控制单片机识别高低电平即可判断白天还是晚上;利用驻极体把声音信号转换成电信号的功能,设计一

3、个电压放大电路和方波产生电路,把微弱的电信号放大并产生高低电平的跳变,利用单片机的外部中断即可识别这个跳变,也就可以识别是否有声音,从而控制LED灯的亮灭。硬件电路设计整个电路原理图:主要功能电路介绍: 光控电路:该电路就是一个电压比较电路,功能是将正输入和负输入的电压进行比较, 当正输入电压大于负输入电压时,则输出高电平,反之则输出低电平。可以通过调节可变电阻R19的阻值来改变负输入的电压值来调节比较器的灵敏度。所以当光敏电阻收到光照的时候,电阻减小,运放同向输入端为高电平,端口 1 输出为高电平,传给单片机的 P1.7 口;当光照较弱时,电阻增加,运放同向输入端为低电平,端口 1 输出为低

4、电平,传给单片机的 P1.7 口。声控电路:驻极体MK首先接了共射共集两级放大电路(其实一级共射放大就可以了,再加个共集没什么必要),把驻极体的微弱的电压放大了大概80倍,放大电路后是一个方波产生电路,用来产生一个从高电平跳变到低电平的信号,没有声音时输出高电平,有声音时,跳变到低电平。(最好在R2那里加个电位器,可以调节声控的灵敏度,R24也是调节声控灵敏度的,但是范围不太够)单片机最小系统:本单片机最小系统由按键复位电路和外部晶振电路组成,是单片机最基本的工作电路。软件设计本程序利用外部中断0来判断是否有声音输入,并用软件模拟PWM调制的方式来控制LED灯的亮度,P1.7为光控电路输出端,

5、声控输出端接外部中断0,P0.7为LED灯控位,P3.0为亮度增按键,P3.1为亮度减按键,流程图如下:测试报告声控电路测试:给电路板供电后,用示波器测输出端电信号波形,当没有声音时,波形为一条高电平的直线,电压为3.5v3.9v,当有一定分贝的声音输入时,出现高电平跳变为低电平的波形,低电平最低为-300mv,可触发单片机的外部中断,说明声控电路满足要求。光控电路测试:给光敏电阻一定的光照,用示波器测得整个电压比较电路的输出波形为一条高电平的直线,电压为4.3v4.7v;将光敏电阻遮挡住,输出波形变为一条低电平的直线,电压为300mv700mv,并且调节电位器R19可以调节电路对光强的灵敏度

6、,说明光控电路达到预期效果。整个电路的测试:先给板子5v供电,将光敏电阻挡住,LED灯亮,拍一下手,灯灭,再拍一下手,灯亮,按亮度增键,灯变亮,按亮度减键,灯变暗,10级可调;给光敏电阻一定的光照,灯灭,挡住光敏电阻,灯亮,至此整个电路测试完毕,基本达到预期效果。结论本次光电课程设计产品是基于51单片机的智能灯光控制器,外接直流供电,+5V单电源工作,用LED代表受控灯,可以连续调节灯光亮度,可以通过掌声开启和关闭灯光,可以通过光电检测方式感知白天和晚上的变化,并可程序设定灯光的开关方式,完全满足技术指标要求。 心得体会本次光电课程设计让我学会了很多东西,比如电路原理图的设计、绘制,元件库和封

7、装库的建立,pcb图的绘制,各种元件封装的选择,pcb布线等等,还对单片机的编程有了更深的理解,并且能够比较熟练的运用Altium designer软件。电路原理图设计是非常重要的一步,原理图设计好后要及时进行仿真或者插板子测试,发现问题要及时修改,要不然会走很多弯路,浪费很多时间,对于这一点我深有体会。参考文献1 胡乾斌. 单片微型计算机原理与应用 第二版. 华中科技大学出版社200622 陈大钦. 电子技术基础实验 第三波. 高等教育出版社200863 高歌. Altium Designer电子设计应用教程 清华大学出版社20116 附录电路原理图:印制板图:(pcb图和少了原理图中的R2

8、4,实际以原理图为准)元器件清单:330电阻11k电阻42k电阻25.1k电阻23.3k电阻110k电阻533k电阻136k电阻1150k电阻120k电阻1200k电位器11k电位器1光敏电阻110F电解电容447F电解电容120pF瓷片电容2按键3黄光LED1二极管2Lm358 2Stc89c52 1驻极体 1(就是卖的最多的那种驻极体)程序代码:#include unsigned int k=5; /按键值,赋初值unsigned int a=1; /外部中断标志值 sbit S1 =P30 ; /增加键sbit S2 =P31 ; /减少键sbit LED=P07 ; /led灯位sbi

9、t L=P17 ; /光控位void delayms(unsigned char ms);void int0() interrupt 0 /外部中断0服务程序delayms(200);a=a;/拍一次灯亮,再拍一次灯灭IE0=0;void main() TMOD=0x02; /定时器0,工作模式2(0000,0010),8位定时模式 TH0=0x06; /写入预置初值6到定时器0,使250微秒溢出一次(12MHz) TL0=0x06; /写入预置值 ET0=1; /允许定时器0中断 EX0=1; /允许外部中断0中断 IT0=0; /低电平触发 EA=1; /允许总中断 TR0=1;/开定时器

10、 LED=1; L=1;while(1)if(S1=0)/递增按键 delayms(100);/防抖 if(S1=0) if(k=10) k=10; else k+; if(S2=0)/递减按键 delayms(100);/防抖 if(S2=0) if(k=0) k=0; else k- ; void timer0() interrupt 1 /定时器0中断服务程序 static unsigned int n=0 ; /n用来保存当前时间在一个周期中的位置 if(L=0) if(a=1)n+; /每250微秒增加1 if(n=10) /2.5ms的时钟周期 n=0; /使n=0,开始新的周期 LED=0; /使LED灯亮 if(k=n) /按照当前占空比切换输出为高电平 LED=1; /使LED灯灭else L

温馨提示

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

评论

0/150

提交评论