如何用单片机控制LED灯的亮度,不要PWM波的程序

 我来答
创e生活
推荐于2018-04-21 · TA获得超过533个赞
知道小有建树答主
回答量:168
采纳率:100%
帮助的人:48万
展开全部
//程序名称:一只按键控制两只LED灯十种亮度显示
//编程人:xx
//备注:此程序简单

#include<stc12c2052ad.h>
sbit d1=P1^7;、、 //定义LED灯1
sbit d2=P1^6; //定义LED灯2
sbit key1=P3^0; //定义按键灯
void delay(unsigned int a){ //延时程序
unsigned int i;
while( a-- != 0){
for(i = 0; i < 100; i++);
}
}

void main(){
while(1){
unsigned int a,b,c,d;
if(key1==0)d++; //按键判断

switch(d) //按键信息比较
{
case 1: b=9;;a=1;break;

case 2: b=8;;a=2;break;

case 3: b=7;;a=3;break;

case 4: b=6;;a=4;break;

case 5: b=5;;a=5;break;

case 6: b=4;;a=6;break;

case 7: b=3;;a=7;break;

case 8: b=2;;a=8;break;

case 9: b=1;;a=9;break;
}
while(key1==0); 判//判断按键是否松开
if(d==10)d=0; //按键9种亮度判断,是否是第9种,如果是,则d=0
for(c=0;c<2;c++){ //亮度模式循环显示
d1=0;
d2=1;
delay(a);
d1=1;
d2=0;
delay(b);
}
}
}
、//2010.10.05 20;06修改
//此程序是我写的简单程序,已做过实验,并且通过!
ATF144X
2010-11-27 · TA获得超过1.2万个赞
知道大有可为答主
回答量:5344
采纳率:77%
帮助的人:4645万
展开全部
那就只能使用DAC或者电阻网络了,没办法!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sxmman
2010-11-27 · TA获得超过146个赞
知道答主
回答量:91
采纳率:100%
帮助的人:85.5万
展开全部
电路确定的话,一般的电路就只能用PWM波点亮LED实现了,控制频率实现亮度的控制。为什么不用呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式