R310kR410kU11234581091967CSRDWRCLK ININTRA GNDD GNDVREF/2CLK RVIN+VIN-ADC0804VCCDB0(LSB)DB1DB2DB3DB4DB5DB6DB7(MSB)201817161514131211R110kC1150pF2.2.3 AT89C51单片机 单片机主要通过程序来控制灯的亮灭或灯的亮度。AT89C51单片机电路图如下:C2U133p191P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD3938373635343332212223242526272810111213141516172345678910KXTAL1RP1X112M18C133pXTAL29RST293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51
2.2.4 LED显示模块
LED显示模块主要由高亮LED灯构成。主要是由单片机的外部中断来控制LED灯的亮度。单片机每接收到一个同步信号后,就启动一个延时程序。而延
6
时的长短由按键或是外界光强来改变。当延时结束后,单片机会产生一个触发信号,使灯发光。电路连接如下:
D接单片机的P1_5口LED-RED 2.2.5电源模块
电源模块主要是由学习板连接电脑所获得的电压,再分别连到所需电路中去。
3 软件设计
根据智能照明系统的思想和原理,本次设计制作的电路比较简单。系统重点在软件设计,硬件设计相对较简单。主要和关键的问题是根据光敏电阻、A/D芯片和学习板上的51单片的工作原理来编写程序以达到所要求实现的照明系统和智能系统。其流程图如下所示:
1基本要求:系统能够随时间和环境的光线强度自动控制灯的亮灭。(先定时5s使灯不受外界环境变化的影响,5s结束后,灯随外界光强度变化,25s后,灯一直亮)
开始
端口初始化 定时器T0申请中断初始
定时中断
N 设定系统控制灯 的时间到否? 重装初值 Y
7
A/D芯片模数转换
设定外界控设定系统控
制灯的时间制灯的时间
单位(s) 显示灯随外界的 单位(s)
变化情况 N 设定外界控制灯
的时间到否? 中断返回
Y 灯 亮
结束
(a)主程序 (b)中断程序
2发挥部分:1.灯的亮度由外界光线的变化调节; 开始
A/D模数
转换
由电压值判断灯
的亮度的等级
Y 灯的显示
结束
3发挥部分:2.灯的亮度由学习板上的按键手动调节; 开始 开始 扫描第一行 端口初始化 N 有键闭合? 数码管显示 Y 占空比 延时消抖 延时,显示N 灯的亮度变有键闭合? 化 Y
8
判断键值和占空比变化
结束 (a)手动调节的主程序
键释放? Y N 数码管显示占空比(两位小数) N 返回主程
序 (b)数码管显示芯片 4系统测试
4.1测试方案
步骤1:基于proteus和keil软件,根据基本要求实现仿真;
步骤2:先安上元件后,焊接电路,用万用表测试电路是否正确连通,以确定
无虚焊、漏焊和焊接错误等问题,然后将集成芯片安上。以此可以防止集成芯片由于电压过大而烧坏;
步骤3:将焊接好的电路与学习板上的51单片机相连,检查连接无误后,装载
程序,调试,运行;
步骤4:观察硬件反映情况,检查错误,调整程序,以达到实现所要求的功能
和现象的目的。
4.2测试结果
当装载基本要求的程序后,数码管由5--0倒计时,在此期间高亮发光二极管灯灭,且当外界变暗或是变亮,都对灯没有影响;当数码管为0时,在接下来的25秒内,外界的变化会影响灯的亮灭;
当装载自动调节灯的亮灭的程序后,光线逐渐变强的时候,灯的亮度也会逐渐增加。
当装载手动调节灯的亮度的程序,随着按键的变化,可以发现灯随着按键K0,数码管显示的占空比增加,灯变亮;若按K1键,数码管显示的占空比减小,灯变暗;若按K3键占空比清零。
4.3结果分析
在实现基本要求时,光敏电阻对光线比较敏感,外界光线变化会使灯亮灭明显,不足的是数码管显示系统控制灯的时间(t1)和外界控制灯的时间(t2)是
9
同步的,限制了t2>t1;
在手动调节灯的亮灭的时候,数码管可以正确显示占空比的值,不足是灯的亮度改变等级不明显。
经过各项性能的测试,系统的指标和电路基本达到预期的效果,如果能考虑到实际的光敏电阻的感光性和灯的亮灭区间,系统将更加完善。
5结语
本报告详细讲述了系统设计方案,并给出了相关程序流程。由于系统架构设计合理,功能电路实现较好,系统性能优良、稳定,较好地达到了题目要求的各项指标。基于学习板系统进行软件调试很容易。在自动调节灯的亮度时,通过延时用数码管显示灯的亮的占空比,从而改变了灯的亮度。
本系统的智能控制是以51学习板上的AT89C51单片机控制单元为核心,通过电脑的驱动,完成对系统灯的控制,采用一个高亮发光二级管的亮灭来显示整个系统的效果。系统设计智能化控制的同时,还设计了手动按键的控制,达到了简单的智能照明。
10