基于51单片机的LED调光系统.doc_第1页
基于51单片机的LED调光系统.doc_第2页
基于51单片机的LED调光系统.doc_第3页
基于51单片机的LED调光系统.doc_第4页
基于51单片机的LED调光系统.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

基于STC89C52单片机的LED调光系统1. 系统组成LED调光系统组成框图如图1.1所示。图1.1 LED调光系统组成框图2. 单元硬件电路的设计2.1 基于MAX1771的升压(Boost)电路 MAX1771是美信公司的电源管理芯片,可以做为升压电路使用,电路结构为Boost电路,如下图2.1所示。当电压输入电压的范围是5-12V,输出根据的调节,范围是24-36V。引脚1输出PWM来控制场效应管IRF3205的导通与截止。、和为反馈电阻,引脚3是电压反馈端,内置1.25V的稳压源。当输入到3脚的电压高于或低于1.25V时,芯片会自动调节PWM占空比的减小或增大,以得到稳定的输出。 (2.1) (2.2)图2.1 基于MAX1771的Boost电路原理图2.2 LED驱动电路的设计 LED驱动电路原理图如图2.2所示。由于Buck电路的驱动比较复杂,故使用如下的电路,使在场效应管关断后让LED的负极电压升高,使得LED关闭。当场效应管导通时,LED的负极电压被拉低,使得LED发光。PWM调节方式使得驱动电路更简单,降低了制造成本,并可以获得较精确的亮度步进调节。图2.2 LED驱动电路原理图3软件设计采用STC89C52单片机输出频率为230Hz的PWM来驱动场效应管IRF3205的开断,其中用独立键盘来实现PWM占空比1%-99%连续可调,步进值为1%。同时使用液晶YJD12864C-1对LED的亮度即PWM的占空比进行显示,形成了良好的人机界面。软件流程图如图3.1所示。图3.1 软件流程图 4电路原理图及印制板图 单片机及外围电路原理图图4.1 单片机及外围电路原理图 单片机及外围电路印制板底层图 图4.2 单片机及外围电路印制板底层图 单片机及外围电路印制板元件布局图图4.3 单片机及外围电路印制板元件布局图 LED驱动电路印制板底层图图4.4 LED驱动电路印制板底层图 LED驱动电路印制板元件布局图图4.5 LED驱动电路印制板元件布局图 升压电路印制板底层图图4.6 升压电路印制板底层图 升压电路印制板元件布局图图4.7 升压电路印制板元件布局图程序清单#include #include #define uint unsigned int#define uchar unsigned char#define _Nop() _nop_()#define nop() _nop_() #define V_TH0 0XFF #define V_TL0 0XF6 #define V_TMOD 0X01 sbit RS = P23; /H=data; L=command;sbit RW = P24; /H=read; L=write;sbit E = P25; /input enable;sbit PSB= P27; /H=并口; L=串口;sbit RST= P26; /Reset Signal 低电平有效sbit busy=P07; /lcd busy bit#define lcd_data_port P0void lcd();void init_sys(void); /*系统初始化函数*/ void Delay5Ms(void); unsigned char ZKB1,ZKB2; uchar num_to_char_table=0123456789abcdef;uchar table0= LED 调光系统 ;uchar table1=亮度: ;uchar table2=亮度+ 亮度- 复位;void main (void) init_sys(); ZKB1=80; /*p1.4占空比低电平初始值设定*/ ZKB2=20; /*p1.5占空比低电平初始值设定*/ lcd(); /*函数功能:对系统进行初始化,包括定时器初始化和变量初始化*/ void init_sys(void) /*系统初始化函数*/ /*定时器初始化*/ TMOD=V_TMOD; TH0=V_TH0; TL0=V_TL0; TR0=1; ET0=1; EA=1; /延时 void Delay5Ms(void) unsigned int TempCyc = 500; while(TempCyc-); /*中断函数*/ void timer0(void) interrupt 1 using 2 static uchar click=0; /*中断次数计数器变量*/ TH0=V_TH0; /*恢复定时器初始值*/ TL0=V_TL0; +click; if (click=100) click=0; if (click=ZKB1) /*当小于占空比值时输出低电平,高于时是高电平,从而实现占空比的调整*/ P1_0=0; else P1_0=1; if (click99) ZKB1=99; if (ZKB11) ZKB1=1; void lcd_delay(uchar ms) /*LCD12864 延时*/ uchar j; while(ms-) for(j=0;j=8)|(y_pos=4) ) return; /*X位置超出显示范围退出*/if(y_pos=0) xy_pos = 0x80 + x_pos;else if(y_pos=1) xy_pos = 0x90 + x_pos; /*计算转换地址*/else if(y_pos=2) xy_pos = 0x88 + x_pos;else if(y_pos=3) xy_pos = 0x98 + x_pos; lcd_command_write(xy_pos); lcd_busy_wait(); RS = 1; RW = 0;lcd_data_port = lcd_dat; E= 1; _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); _Nop();E=0;lcd_data_port = 0xff; /*释放数据端口*/ void lcd_char_write1(uchar x_pos,y_pos,lcd_datH,lcd_datL) /*LCD12864 字写入*/ uchar xy_pos;if(x_pos=8)|(y_pos=4) ) return; /*X位置超出显示范围退出*/if(y_pos=0) xy_pos = 0x80 + x_pos;else if(y_pos=1) xy_pos = 0x90 + x_pos; /*计算转换地址*/else if(y_pos=2) xy_pos = 0x88 + x_pos;else if(y_pos=3) xy_pos = 0x98 + x_pos; lcd_command_write(xy_pos); lcd_busy_wait(); RS = 1; RW = 0;lcd_data_port = lcd_datH; E= 1; _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); _Nop();E=0;lcd_data_port = 0xff; /*释放数据端口*/lcd_busy_wait(); RS = 1; RW = 0;lcd_data_port = lcd_datL; E= 1; _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); _Nop();E=0;lcd_data_port = 0xff; /*释放数据端口*/*1MS为单位的延时程序*/void delay_1ms(uchar x) uchar j; while(x-) for(j=0;j10;j+) ; void lcd()uchar i;delay_1ms(1);lcd_system_reset();/*LCD初始化*/for(i=0;i7;i+) lcd_char_write1(i,0,table0i*2,table0i*2+1);for(i=0;i4;i+) lcd_char_write1(i,1,table1i*2,table1i*2+1);for(i=0;i10;i+

温馨提示

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

评论

0/150

提交评论