LED漸變程序
請教大俠!我是單片機新手,我想編一LED漸變的程序,但總不理想,還請大俠指點迷津.1140837691.asm
全部回復(130)
正序查看
倒序查看
@leasor
你單純用軟件實現可能效果很差,讓我想想給個硬件實現,明天可以嗎??
1.增大1k電阻,1u電路可以增大電路的放電常數,1k電阻的增加影響到LED的亮度減小,LED的限流1K電阻減小可以增大它的亮度.
500) {this.resized=true; this.width=500; this.alt='這是一張縮略圖,點擊可放大。\n按住CTRL,滾動鼠標滾輪可自由縮放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/38/1140931070.jpg');}" onmousewheel="return imgzoom(this);">

0
回復
用帶PWM的MCU較好,控制相當簡單.
附模擬PWM程序:
零耗時低頻寬脈沖軟PWM信號控制Keil C51演示程序http://blog.21ic.com/more.asp?name=hotpower&id=530
附模擬PWM程序:
零耗時低頻寬脈沖軟PWM信號控制Keil C51演示程序http://blog.21ic.com/more.asp?name=hotpower&id=530
0
回復
#include
#define uchar unsigned char
#define R 0X01
#define G 0X02
#define B 0X04
#define Y R|G
#define Q G|B
#define Z R|B
#define W R|G|B
uchar code color[8]={R,Y,G,Q,B,Z,W,R};
/***************************************************************/
/***************************************************************/
//漸變函數
void jianbian(){
uchar ww,xx,HUIDU,BAOCI,COLORMOD;
for(COLORMOD=0;COLORMOD<7;COLORMOD++)
{
for(HUIDU=0;HUIDU<255;HUIDU++)//為占空比,
{
for(BAOCI=0;BAOCI<30;BAOCI++)
{
for(ww=0;ww
for(xx=0;xx<255-HUIDU;xx++){P1=color[COLORMOD];}
}
}
}
}
/***********************************************************/
/* */
/* 主程序 */
/* */
/***********************************************************/
void main(void)
{
P0=0;
do{
jianbian();
}
while(1);}
#define uchar unsigned char
#define R 0X01
#define G 0X02
#define B 0X04
#define Y R|G
#define Q G|B
#define Z R|B
#define W R|G|B
uchar code color[8]={R,Y,G,Q,B,Z,W,R};
/***************************************************************/
/***************************************************************/
//漸變函數
void jianbian(){
uchar ww,xx,HUIDU,BAOCI,COLORMOD;
for(COLORMOD=0;COLORMOD<7;COLORMOD++)
{
for(HUIDU=0;HUIDU<255;HUIDU++)//為占空比,
{
for(BAOCI=0;BAOCI<30;BAOCI++)
{
for(ww=0;ww
for(xx=0;xx<255-HUIDU;xx++){P1=color[COLORMOD];}
}
}
}
}
/***********************************************************/
/* */
/* 主程序 */
/* */
/***********************************************************/
void main(void)
{
P0=0;
do{
jianbian();
}
while(1);}
0
回復
#include
#define uchar unsigned char
#define R 0X01
#define G 0X02
#define B 0X04
#define Y R|G
#define Q G|B
#define Z R|B
#define W R|G|B
uchar code color[8]={R,Y,G,Q,B,Z,W,R};
/***************************************************************/
/***************************************************************/
//漸變函數
void jianbian(){
uchar ww,xx,HUIDU,BAOCI,COLORMOD;
for(COLORMOD=0;COLORMOD<7;COLORMOD++)
{
for(HUIDU=0;HUIDU<255;HUIDU++)//為占空比,
{
for(BAOCI=0;BAOCI<30;BAOCI++)
{
for(ww=0;ww
for(xx=0;xx<255-HUIDU;xx++){P1=color[COLORMOD];}
}
}
}
}
/***********************************************************/
/* */
/* 主程序 */
/* */
/***********************************************************/
void main(void)
{
P0=0;
do{
jianbian();
}
while(1);}
#define uchar unsigned char
#define R 0X01
#define G 0X02
#define B 0X04
#define Y R|G
#define Q G|B
#define Z R|B
#define W R|G|B
uchar code color[8]={R,Y,G,Q,B,Z,W,R};
/***************************************************************/
/***************************************************************/
//漸變函數
void jianbian(){
uchar ww,xx,HUIDU,BAOCI,COLORMOD;
for(COLORMOD=0;COLORMOD<7;COLORMOD++)
{
for(HUIDU=0;HUIDU<255;HUIDU++)//為占空比,
{
for(BAOCI=0;BAOCI<30;BAOCI++)
{
for(ww=0;ww
for(xx=0;xx<255-HUIDU;xx++){P1=color[COLORMOD];}
}
}
}
}
/***********************************************************/
/* */
/* 主程序 */
/* */
/***********************************************************/
void main(void)
{
P0=0;
do{
jianbian();
}
while(1);}
0
回復
@楊成
#include#defineucharunsignedchar#defineR 0X01#defineG 0X02#defineB 0X04#defineY R|G#defineQ G|B#defineZ R|B#defineW R|G|Bucharcodecolor[8]={R,Y,G,Q,B,Z,W,R};/***************************************************************//***************************************************************///漸變函數voidjianbian(){ucharww,xx,HUIDU,BAOCI,COLORMOD; for(COLORMOD=0;COLORMOD
兄弟,你的程序怎么看不懂啊?
0
回復
@joanny
哈哈,我自己刪的
各位單片機師傅,我是一個標準初學的菜鳥,單片機對我來說,是一點也不懂,我以前是在三雄極光做電子鎮流器和節能燈的,突然改行做LED,我對這單片幾確實沒多大信心,是我中山的一個老鄉鼓勵我學習單片機的,他說他以前也和我一樣,學了一年不到就會了,我也想學著試試;我看到你們漸變程序,心里有說不出的高興,我將你們的程序抄下來,在KEIL里面進行編譯,顯示有6處錯誤,我對KEIL也不熟悉,很難實現能用的程序,我希望各位高手能多指教,俗話說"拜師不如訪友嘛",我真誠的希望我們能成為朋友,我用的是89C2051,因此,我對單片機沒信心學習好.
0
回復