新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)控制LED七彩漸變燈

51單片機(jī)控制LED七彩漸變燈

作者: 時(shí)間:2016-11-18 來源:網(wǎng)絡(luò) 收藏
自己設(shè)計(jì)的51單片機(jī)控制LED七彩漸變燈

MCU:89C51,89S51,89C2051等

本文引用地址:http://m.butianyuan.cn/article/201611/315727.htm

晶振:12MHz

電路驅(qū)動(dòng)(LED連接):

P1.0連接藍(lán)色LED

P1.1連接紅色LED

P1.2連接綠色LED (必須使用純綠色高亮LED,不可使用普通草綠管)

全為低電平驅(qū)動(dòng)(低電平點(diǎn)亮),可以加三極管驅(qū)動(dòng),紅、藍(lán)、綠LED也可以交換位置

控制方式:PWM

頻率:約300-700Hz(我沒有計(jì)算或測(cè)量過,只是試驗(yàn)顯示效果足夠好)

調(diào)節(jié)級(jí)數(shù):共600級(jí),相當(dāng)平滑

編譯后的HEX文件:

687241197859316.rar

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

#include

sbit gl=P1^2; //綠色

sbit rl=P1^1; //紅

sbit bl=P1^0; //蘭

timer(unsigned char t)

{unsigned char b;

for(b=0;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文件寫入單片機(jī),接好電路即可工作



評(píng)論


技術(shù)專區(qū)

關(guān)閉