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);">
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
回复
提示