课程设计报告智能照明控制系统设计_第1页
课程设计报告智能照明控制系统设计_第2页
课程设计报告智能照明控制系统设计_第3页
课程设计报告智能照明控制系统设计_第4页
课程设计报告智能照明控制系统设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、题目名称:智能照明控制系统设计 摘要: 本系统以光敏电阻的光强采集、a/d转换、单片机at89c51为核心,组成最小控制系统,并和高亮led显示电路共同构成。外界光强的大小通过电压的线性转换,并用延时来控制灯亮度来体现。该系统能够随环境光强的变化或软件所设定的时间自动控制灯的亮灭;同时系统可以根据光线强度自动控制灯的亮度,也可以手动调节灯的亮度。关键词:51学习板 adc0804 光敏电阻 中断定时 延时目 录1方案设计与论证31.1整体设计方比较和选择32 系统设计42.1 总体设计42.2各单元模块功能介绍及电路设计52.2.1光线采集模块52.2.2模数转换模块62.2.3 at89c5

2、1单片机62.2.4 led显示模块72.2.5电源模块73软件设计74系统测试104.1测试方案104.2测试结果104.3结果分析105结语11附录:12附1:元器件明细表12附2:电路图图纸及实物图13附3:程序清单141方案设计与论证1.1 整体设计方比较和选择本系统包括智能系统和照明系统。这两个部分的具体的设计思路如下所示:智能系统是基于学习板上的51单片机,理论结合实际的应用,故主要是软件程序的编写,其次是单片机的扩展口与a/d芯片和高亮发光二极管的连接。其有4个并行i/o端口,分别是p0、p1、p2和p3,每个端口都有双向i/o功能。p0口在学习板上控制数码管的显示,故在设计本系

3、统时暂不考虑,p1口只能做i/o口使用,且其内部有上拉电阻,因p1.0-p1.3控制数码管、按键和学习板上的灯的使能端,故只剩p1.4-p1.7口,不妨将p1.5与高亮发光二极管相连(因为p1口有上拉电阻故可直接相连),p1.7控制a/d的使能端;p2口与a/d芯片的数字输出端相连,为单片机输入转化后的8位二进制;p3口实有特殊功能,直接与a/d芯片的端口相连。照明系统是基于光敏电阻的光线采集电路,光敏电阻器的阻值随入射光线的强弱变化而变化,在黑暗条件下,它的阻值(暗阻)可达110m欧,在强光条件下,它阻值(亮阻)仅有几百至数千欧姆。只要人眼可感受的光,都会引起光敏电阻的阻值变化。当外界光线强

4、度变化时,可以将光敏电阻的电压值经过模数转换成8位二进制,送入单片机进行处理,再由程序根据这8位二进制数据来处理判断灯的亮灭或灯的亮度。方案1:方案的特点:该电路采用的是基极分压式射极偏置电路该电路具有很好的稳定性,阻值很大的r1直接接在三极管的基极,起到很强的控制基极电流的作用,可以有效防止由于温度等原因造成的电阻阻值波动对测量结果的影响。三极管将由光强变化引起的电流变化转化为电压变化输出,接入adc0804数模转换的输入端口。方案2:方案特点:该电路简单,利用光敏电阻与定值电阻r组成环境光检测电路,通过测量r两端电压的变化来体现环境光强弱的变化。方案论证:方案1的最大的特点是可以防止温度等

5、其他原因造成的电阻波动对测量结果的影响,而考虑到此次的课程设计的目的是了解智能照明控制系统的基本原理,基于51学习板,掌握和夯实单片机的扩展和应用,故选择方案2这一简单的环境光采集电路,同样可以达到系统随时间和环境光线强度自动控制灯的亮灭。而且,该电路简单,不容易被损坏。2 系统设计2.1 总体设计 本设计硬件电路包括电源模块、光线采集模块、模数模块、at89c51单片机模块和led显示电路模块等5部分组成。各模块之间的关系如图1所示。 光线采集模块模数转换at89c51单片机led显示电路电 源 模 块 图1系统硬件结构框图主控系统模块采用基于51内核的at89c51单片机及模数转换电路来完

6、成信号采集、控制和通信功能,在本设计中at89c51单片机模块担当了控制核心,首先通过光线采集电路对外部的光强参数进行数据采集,输出的电压值经过8位a/d转换器,将光敏电阻感应光强产生的模拟信号转换为数字信号采样,送至单片机at89c51进行处理,再通过算法将其与内部参考数据进行分析与比对,实现当外界环境光强变化时led灯能够随之变化的功能。2.2 各单元模块功能介绍及电路设计2.2.1光线采集模块光线采集模块通过adc0804将光敏电阻感应光强产生的模拟信号转换为数字信号采样至单片机,实现对外界环境光强数据的采集。电路连接如下: 由vcc=5v,则光敏电阻两端的电压,即vin(+)=vccr

7、光敏/(r光敏+r),而 01.vvin(+)4.9v (保证在参考电压范围之内05v)其中,本课程设计中r光敏范围大约是在5k-300k之间,故由上不等式可以得出:r,即有6.1krt1;在手动调节灯的亮灭的时候,数码管可以正确显示占空比的值,不足是灯的亮度改变等级不明显。经过各项性能的测试,系统的指标和电路基本达到预期的效果,如果能考虑到实际的光敏电阻的感光性和灯的亮灭区间,系统将更加完善。5结语本报告详细讲述了系统设计方案,并给出了相关程序流程。由于系统架构设计合理,功能电路实现较好,系统性能优良、稳定,较好地达到了题目要求的各项指标。基于学习板系统进行软件调试很容易。在自动调节灯的亮度

8、时,通过延时用数码管显示灯的亮的占空比,从而改变了灯的亮度。本系统的智能控制是以51学习板上的at89c51单片机控制单元为核心,通过电脑的驱动,完成对系统灯的控制,采用一个高亮发光二级管的亮灭来显示整个系统的效果。系统设计智能化控制的同时,还设计了手动按键的控制,达到了简单的智能照明。 附录:附1:元器件明细表器件名称规格数量电容150pf1个光敏电阻1个电阻10千欧4个芯片底座20pin1个芯片adc08041个学习板1个插针若干杜邦线19根led灯高亮灯一个附2:电路图图纸实物图附3:程序清单基本要求的程序:#include #define uint unsigned int#defin

9、e uchar unsigned char sbit adcs=p17; sbit adrd=p37; sbit adwr=p36; sbit led=p15; sbit seg_ce=p10; sbit dig_ce=p11;uchar tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/0到9uint ad_data,m=0,n=0,t1=5,t2=25; /ad_data表示ad输出8位2进制,t1为定时5秒后启动光采集电路,t2为定时25秒后关闭光采集电路void delay(uint i) uint j; for(i;i0;i

10、-) for(j=124;j0;j-); void keyscan(uint num) /显示5秒 uint ge,shi; ge=num%10; shi=num/10; p0=0; seg_ce=1;seg_ce=0; /清段选 p0=0xff; dig_ce=1;dig_ce=0; /清位选 p0=tabge; seg_ce=1;seg_ce=0; p0=0xfe; dig_ce=1;dig_ce=0; /显示5秒 void read_ad()adcs=0;adwr=0;delay(1);adwr=1;delay(1); /启动ad,开始采样(/wr低电平保持的最短时间为100ns启动转换

11、后必须加入一个延时以等待ad采样结束adrd = 0;delay(1);ad_data =p2;delay(1);adrd=1; /读数据读取转换结果(/rd200ns)adcs=1;void main() p0=0; p1=0x2c;/初始化p1_5为低(灯一开始是灭的) tmod=0x01; /方式1,16位定时器 th0=(65536-50000)/256; tl0=(65536-50000)%256; /设置定时器初值 ie=0x82; /设置中断允许 tr0=1; /启动定时器 while(1) if(m=0)keyscan(t1); if(t1=0)/5秒已完,启动光采集电路 wh

12、ile(t2) read_ad(); if(ad_data125) /当外界很亮的时候关灯 led=1; else led=0; /亮灯 delay(1); if(t2=0) led=0; /25秒已完 ,forever亮 void t0_timer()interrupt 1 /定时器t0中断函数th0=(65536-50000)/256; tl0=(65536-50000)%256;if(t1!=0)m+; /不为0说明光采集电路还未启动,还在5秒之内if(m=20) /1秒 时间 m=0; t1-; if(t2!=0)n+; /不为0说明还在25秒之内if(n=20) /1秒 时间 n=0

13、;t2-; #include #define uint unsigned int#define uchar unsigned charsbit dig_ce = p11; sbit seg_ce = p10;sbit key_ce = p13;sbit led= p15;uint z; uchar tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /0-9 void delay(uint i) uint j; for(i;i0;i-) for(j=19;j0;j-); void keyscan() uchar temp1,temp2;

14、 p0=0;seg_ce=1;seg_ce=0; p0=0xfe;dig_ce=1;dig_ce=0;delay(1); /扫描第一行,将第一行置低电平 key_ce=0; /将p1_3口拉低,74ls244使能 temp1=p0; /读p0口数据 temp1=temp1&0x0f; /提取按键相关数据-p0口的低四位 if(temp1!=0x0f) /判断是否有按键按下 delay(10); /延时消抖 temp2=p0;temp2=temp2&0x0f; /再读p0口,并提取p0口低四位数据 if(temp1=temp2) switch(temp2) case 0x0e:z=z+10; b

15、reak; / 按k0键每按一次键就增加10%的亮度,从而逐渐变亮,若低四位的值与0x0e相等,就执行其后的语句 case 0x0d:z=z-10;break; / 按k1键每按一次键就减少10%的亮度,从而逐渐变暗 case 0x07:z=0; break; /按k3键清零 default:break; /等待按键释放 while(temp2!=0x0f) /不断地读取p0口数据,只要结果不等于0x0f,说明有按键没有被释放,直到释放,才退出 temp2=p0; temp2=temp2&0x0f; key_ce=1; /关使能端 if(z=100) p0=0xff; dig_ce=1;dig

16、_ce=0; /清段选 p0=tabz%10; seg_ce=1;seg_ce=0;delay(5); / 个位 p0=0xfe; dig_ce=1;dig_ce=0;delay(5); p0=0xff;dig_ce=1;dig_ce=0; p0=tab(z/10)%10;seg_ce=1;seg_ce=0;delay(5);/ 十位 p0=0xfd; dig_ce=1;dig_ce=0;delay(5); p0=0xff; dig_ce=1;dig_ce=0; p0=tabz/100|0x80;seg_ce=1;seg_ce=0;delay(5); / 百位 p0=0xfb; dig_ce=

17、1;dig_ce=0;delay(5); else z=0; void main() p0=0; p1=0x2c; z=0; / 100为100%的占空比 / 机器周期 led=1; while(1) keyscan(); led=0; delay(z); led=1; delay(100-z); 拓展2(自动控制灯的亮灭) #include #define uchar unsigned char#define uint unsigned int sbit adcs=p17; /a/d使能端 sbit adrd=p37; sbit adwr=p36; sbit led=p15;uint ad_data,num;void delay(uint z) /50微 uint x,y; for(x=z;x0;x-) for(y=10;y0;y-);void read_ad()adcs=0;adwr=0;delay(10);adwr=1;delay(10); /启动ad,开始adrd = 0;delay(10);ad_data =p2;delay(10);adr

温馨提示

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

评论

0/150

提交评论