⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 七彩渐变程序及方法.txt

📁 七彩渐变的实现方式,是一个学习的好程序.
💻 TXT
字号:
自己设计的51单片机控制LED七彩渐变灯 
MCU:89C51,89S51,89C2051等 

晶振:12MHz 

电路驱动(LED连接): 
P1.0连接蓝色LED 
P1.1连接红色LED 
P1.2连接绿色LED (必须使用纯绿色高亮LED,不可使用普通草绿管) 
全为低电平驱动(低电平点亮),可以加三极管驱动,红、蓝、绿LED也可以交换位置 

控制方式:PWM 

频率:约300-700Hz(我没有计算或测量过,只是试验显示效果足够好) 

调节级数:共600级,相当平滑 
HEX代码: 
:0D009300E4FEEEC39F50060000000E80F555 
:0100A000223D 
:06005F00A9078D828C83CD 
:10006500E4FDE96008C292FF120093D292E5824551 
:10007500836009C291AF82120093D291EB4A600965 
:0D008500C290AF03120093D2900DBD0AD5BA 
:01009200224B 
:100003007508C8E4F509F50AE5086008E50A70040F 
:1000130015080509E5096008E50870041509050ACE 
:10002300E50A6008E5097004150A0508E5082509CD 
:10003300FFE433FE7C00EF250AFFEC3EFEEF64C8CD 
:100043004E60087508C8E4F509F50AE509FD7C006A 
:0C005300E50AFB7A00AF0812005F80ACE9 
:030000000200A15A 
:0C00A100787FE4F6D8FD75810A020003A8 
:00000001FF 

C语言源程序: 
/******************************* 
程序名称:七彩LED渐变程序 
编写者:ZH YU 
MCU:51/2051 
晶振:12MHz 
*********************************/ 
#include<reg51.h> 
#include<intrins.h> 

sbit gl=P1^2;   //绿色 
sbit rl=P1^1;   //红 
sbit bl=P1^0;   //兰 

timer(unsigned char t) 
{unsigned char b; 
   for(b=0;b<t;b++) 
   {_nop_(); 
    _nop_(); 
_nop_();} 
} 


ledout(unsigned char g,r,b) 
{unsigned char a; 
  for(a=0;a<10;a++) 
{if(g!=0) 
    {gl=0;timer(g);gl=1;} 
  if(r!=0) 
    {rl=0;timer(r);rl=1;} 
  if(b!=0) 
    {bl=0;timer(b);bl=1;} 
  } 
} 

main() 
{ unsigned char g,r,b; 
  g=200;r=0;b=0; 
  while(1) 
  {if(g!=0&&b==0) 
    {g--;r++;} 
   if(r!=0&&g==0) 
    {r--;b++;} 
   if(b!=0&&r==0) 
    {b--;g++;} 
   if(g+r+b!=200) 
    {g=200;r=0;b=0;} 
   ledout(g,r,b); 
  } 
} 
入无法下载HEX,大家可以用KEIL自己编译,或者使用记事本保存HEX代码(重命名为.HEX文件)都可以 
再把.hex文件写入单片机,接好电路即可工作 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -