第一章 RGB三基色单片机按键调光.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《电子创新设计》课程作品报告RGB三基色单片机按键调光班级学号姓名前言现代生活中,无论是在繁华的步行街,还是我们美丽的校园中,都能看到巨型显示频的身影,显示屏成为了现代信息传递的一个重要工具,当看到一个个美丽的画面在播放时,我们不禁好奇是什么原理让这些得以实现,众所周知,彩色LED显示屏,是以RGB三原色为基础。显示出了丰富多彩的颜色,但具体的原理可能就没那么多人知道了,抱着学习的目的,以PWM为原理,我们制造了基于单片机的,三个按键控制,三基色显全彩灯光合成电路,希望给大家对了解彩色显示屏工作原理有所帮助。一:PWM原理(脉冲宽度调制)控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率。  例如,把正弦半波波形分成N等份,就可把正弦半波看成由N个彼此相连的脉冲所组成的波形。这些脉冲宽度相等,都等于 ∏/n ,但幅值不等,且脉冲顶部不是水平直线,而是曲线,各脉冲的幅值按正弦规律变化。如果把上述脉冲序列用同样数量的等幅而不等宽的矩形脉冲序列代替,使矩形脉冲的中点和相应正弦等分的中点重合,且使矩形脉冲和相应正弦部分面积(即冲量)相等,就得到一组脉冲序列,这就是PWM波形。可以看出,各脉冲宽度是按正弦规律变化的。根据冲量相等效果相同的原理,PWM波形和正弦半波是等效的。对于正弦的负半周,也可以用同样的方法得到PWM波形。在PWM波形中,各脉冲的幅值是相等的,要改变等效输出正弦波的幅值时,只要按同一比例系数改变各脉冲的宽度即可,因此在交-直-交变频器中,PWM逆变电路输出的脉冲电压就是直流侧电压的幅值。根据上述原理,在给出了正弦波频率,幅值和半个周期内的脉冲数后,PWM波形各脉冲的宽度和间隔就可以准确计算出来。按照计算结果控制电路中各开关器件的通断,就可以得到所需要的PWM波形。下图为变频器输出的PWM波的实时波形。二:原理图三:程序#include reg52.h#include intrins.h #define uchar unsigned char#define uint unsigned intsbit red=P0^0; //红色LED输出口sbit green=P0^1; //绿色LED输出口sbit blue=P0^2; //蓝色LED输出口sbit k1=P1^4; //红色LEDpwm控制sbit k2=P1^5; //绿色LEDpwm控制sbit k3=P1^6; //蓝色LEDpwm控制ucharr_temp=1,g_temp=1,b_temp=1; //三色占空比数值缓存uchar flag; //定时器T2定时次数标志//延时函数,大约延时10ms.void Delay10ms() //@11.0592MHz{unsigned char i, j;i = 108; j = 145;do {while (--j); } while (--i);}//按键扫描程序void key(){uchar num1=0,num2=0,num3=0; // if(k1==0) //按键K1处理程序 // {// Delay10ms();if(k1==0) {if(r_temp99) { r_temp++;while(!k1) { num1++; //长按标志位加到10约100msDelay10ms();if(num1==10r_temp95) {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_temp99) {g_temp++;while(!k2) { n

文档评论(0)

0520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档