单片机89c2051 pwm全彩可调led
hongyanj2013/12/16电子技术 IP:广东
新手学单片机,瞎折腾的!
高手给点意见!
4种功能可调
pwm 1.2K
4个控制按键
中断0,中断1,定时器0,定时器0,

1,开机白光

2,按一下中断0-七彩闪烁
中断1:  减慢闪烁频率
定时器0: 增加闪烁频率

3,按二下中断0-七彩渐变(16万档)
中断1:  减慢变色频率
定时器0: 增加变色频率

4,按三下中断0-灯灭

5,按四下中断0-调色模式(100万色,调出自己喜欢的颜色)
中断1,定时器0,定时器0,
每按一次红,绿,蓝亮度对应增加1/100.

6,按四下中断0-调色模式
中断1,定时器0,定时器0,
每按一次红,绿,蓝亮度对应减少1/100.

while(n==0)
{
P1_0=1;
P1_1=1;
P1_2=1;
}
while(n==1)
{
P1_0=1;
Delay(y);
P1_0=0;
P1_2=1;
P1_1=1;
Delay(y);
P1_2=0;
P1_1=0;
P1_1=1;
Delay(y);
P1_1=0;
P1_0=1;
P1_2=1;
Delay(y);
P1_0=0;
P1_2=0;
P1_2=1;
Delay(y);
P1_2=0;
P1_0=1;
P1_1=1;
Delay(y);
P1_0=0;
P1_1=0;
}
while(n==2)
{
P1_0=0;
P1_1=0;
P1_2=0;
for (j=0;j<100;j++)
{
if (j==g)
{
P1_0=1;
}
if (j==r)
{
P1_1=1;
}
if (j==k)
{
P1_2=1;
}
}
if (x==2)
{
m=m+1;
if (m>q)
{
if (gb==0)
{
g=g+1;
if (g>105)
{
gb=1;
}
}
if(gb==1)
{
g=g-1;
if (g<1)
{
gb=0;
}
}

if (rb==0)
{
r=r+3;
if (r>110)
{
rb=1;
}
}
if (rb==1)
{
r=r-3;
if (r<3)
{
rb=0;
}
}
if (kb==0)
{
k=k+2;
if (k>115)
{
kb=1;
}
}
if (kb==1)
{
k=k-2;
if (k<2)
{
kb=0;
}
}
m=0;
}
}
}
  
}

void in0 (void) interrupt 0
{
P1_7=1;
P1_6=1;
P1_5=1;
P1_4=1;
P1_3=1;
x=x+1;
if (x>5)
{
x=1;
}
switch(x)
{
case 1:
n=1;
P1_3=0;
     break;
case 2:
n=2;
     P1_4=0;
break;
case 3:
n=2;
g=100;
r=100;
k=100;
     P1_5=0;
break;
case 4:
n=2;
     P1_6=0;
break;
case 5:
n=2;
     P1_7=0;
break;
}
}

void in1 (void) interrupt 2
{
switch(x)
{
case 1:
n=1;
if(y<65000)
{
y=y+1000;
}
break;
case 2:
   q=q+10;
break;
case 3:
     break;
case 4:
     if (k>1)
{   
k=k-1;
}
break;
case 5:
if (k<102)
{
k=k+1;
}
break;
  
}
}

void Timer1 (void) interrupt 3
{
switch(x)
{
case 1:
if(y>1000)
{
y=y-1000;
}
break;
case 2:
if (q>10)
{
     q=q-10;
}
break;
case 3:
   break;
case 4:
if (g>1)
{
g=g-1;
}
break;
case 5:
if (g<102)
{
g=g+1;
}
break;
  
}
TH1 = 0xFF;
TL1 = 0xE7;
}

void Timer0 (void) interrupt 1
{
switch(x)
{
case 1:
break;
case 2:
break;
case 3:
     break;
case 4: //变亮
if (r>0)
   {
r=r-1;
}
break;
case 5:  //变暗
     if (r<102)
{
r=r+1;
}
break;   
}
TH0 = 0xFF;
TL0 = 0xEC;
}
来自:电子信息 / 电子技术
3
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
xiaobai152
11年2个月前 IP:未同步
658127
程序是用C编的么。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
hongyanj 作者
11年2个月前 IP:未同步
658147
xiaobai152 发表于 2013-12-16 10:22
程序是用C编的么。。。



Keil uVision2
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
hongyanj
笔友
文章
4
回复
22
学术分
0
2013/04/18注册,6年2个月前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:邮箱
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}