RGB三基色单片机按键调光

《电子创新设计》课程作品报告RGB三基色单片机按键调光班级学号姓名前言现代生活中,无论是在繁华的步行街,还是我们美丽的校园中,都能看到巨型显示频的身影,显示屏成为了现代信息传递的一个重要工具,当看到一个个美丽的画面在播放时,我们不禁好奇是什么原理让这些得以实现,众所周知,彩色LED显示屏,是以RGB三原色为基础。显示出了丰富多彩的颜色,但具体的原理可能就没那么多人知道了,抱着学习的目的,以PWM为原理,我们制造了基于单片机的,三个按键控制,三基色显全彩灯光合成电路,希望给大家对了解彩色显示屏工作原理有所帮助。一:PWM原理(脉冲宽度调制)控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率。例如,把正弦半波波形分成N等份,就可把正弦半波看成由N个彼此相连的脉冲所组成的波形。这些脉冲宽度相等,都等于∏/n,但幅值不等,且脉冲顶部不是水平直线,而是曲线,各脉冲的幅值按正弦规律变化。如果把上述脉冲序列用同样数量的等幅而不等宽的矩形脉冲序列代替,使矩形脉冲的中点和相应正弦等分的中点重合,且使矩形脉冲和相应正弦部分面积(即冲量)相等,就得到一组脉冲序列,这就是PWM波形。可以看出,各脉冲宽度是按正弦规律变化的。根据冲量相等效果相同的原理,PWM波形和正弦半波是等效的。对于正弦的负半周,也可以用同样的方法得到PWM波形。在PWM波形中,各脉冲的幅值是相等的,要改变等效输出正弦波的幅值时,只要按同一比例系数改变各脉冲的宽度即可,因此在交-直-交变频器中,PWM逆变电路输出的脉冲电压就是直流侧电压的幅值。根据上述原理,在给出了正弦波频率,幅值和半个周期内的脉冲数后,PWM波形各脉冲的宽度和间隔就可以准确计算出来。按照计算结果控制电路中各开关器件的通断,就可以得到所需要的PWM波形。下图为变频器输出的PWM波的实时波形。二:原理图三:程序#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitred=P0^0;//红色LED输出口sbitgreen=P0^1;//绿色LED输出口sbitblue=P0^2;//蓝色LED输出口sbitk1=P1^4;//红色LEDpwm控制sbitk2=P1^5;//绿色LEDpwm控制sbitk3=P1^6;//蓝色LEDpwm控制ucharr_temp=1,g_temp=1,b_temp=1;//三色占空比数值缓存ucharflag;//定时器T2定时次数标志//延时函数,大约延时10ms.voidDelay10ms()//@11.0592MHz{unsignedchari,j;i=108;j=145;do{while(--j);}while(--i);}//按键扫描程序voidkey(){ucharnum1=0,num2=0,num3=0;//if(k1==0)//按键K1处理程序//{//Delay10ms();if(k1==0){if(r_temp<99){r_temp++;while(!k1){num1++;//长按标志位加到10约100msDelay10ms();if(num1==10r_temp<95){r_temp+=5;num1=0;}if(r_temp>=95)r_temp=1;}}elser_temp=1;}//}if(k2==0)//按键K2处理程序{Delay10ms();if(k2==0){if(g_temp<99){g_temp++;while(!k2){num2++;//长按标志位加到10约100msDelay10ms();if(num2==10g_temp<95){g_temp+=5;num2=0;}if(g_temp>=95)g_temp=1;}}elseg_temp=1;}}if(k3==0)//按键K3处理程序{Delay10ms();if(k3==0){if(b_temp<99){b_temp++;while(!k3){num3++;//长按标志位加到10约100msDelay10ms();if(num3==10b_temp<95){b_temp+=5;num3=0;}if(b_temp>=95)b_temp=1;}}elseb_temp=1;}}}//定时器T016位自动模式定时1ms控制灯灭时间voidInitTimer0()interrupt1//1毫秒@11.0592MHz{ET1=0x00;//关闭定时器1中断TR1=0x00;//AUXR=0XE4;//关闭定时器1计数TL0=0x18;TH0=0xFC;red=1;green=1;blue=1;flag=1;//AUXR=0xF4;//开启定时器1计数//IE2=0x04;EA=1;ET1=1;TR1=1;//开启定时器1中断允许}//定时器T116位自动模式定时10us控制灯亮时间voidInitTimer2()interrupt3//10微秒@11.0592MHz{flag++;TH1=0xFF;//设置定时初值TL1=0xDC;//设置定时初值if(r_temp==flag)red=0;if(g_temp==fla...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?