导航:首页 > 操作系统 > pwm台灯单片机程序

pwm台灯单片机程序

发布时间:2023-08-01 19:21:53

单片机pwm控制LED程序的问题

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit key1=P3^2;
sbit key2=P3^3;
uchar pwm;
uchar pwm2;
void keyscan();
void delay(uchar z);
void main()
{
pwm=100;
pwm2=100;
TMOD=0x11;

TH0=0xff; TL0=0x9c;
TH1=0xff; TL1=0x9c;
EA=1;
ET0=1; ET1=1;
TR0=1;

while(1)
{
keyscan();
}
}
void time0() interrupt 1
{
static uchar kk;
TH0=0xff;
TL0=0x9c;
TR1=1;
kk=pwm;
if(kk>=30)
{

TR1=0;
P1=0x00;
}

}
void time1() interrupt 3
{
static uchar tt;
TH1=0xff;
TL1=0x9c;

tt=pwm2;
if(tt>=50)
{
TR1=0;
P1=0xff;
}
}

void keyscan()
{
if(key1==0)
{
delay(10);
if(key1==0)
{
pwm2=pwm2-1;
pwm =pwm+1;

}
}

if(key2==0)
{
delay(10);
if(key2==0)
{

pwm2=pwm2+1;
pwm =pwm-1;

}

}
}
void delay(uchar z)
{
uchar x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
再把上面复制进去看一下!

⑵ 请教51单片机利用PWM控制灯的亮度的程序

第一,要理解中断在这里的作用是固定的“一小段”时间进入一次。

第二,PWM_ON在程序中的作用很大,它会由0------>CYCLE------>0并且一直循环下去。可以把它看成一个有规律的变化的量。

第三,每进入中断一次count++,满足条件count==PWM_ON或count==CYCLE时改变LED的当前状态。作用是给小灯亮或灭的时间不同。

第四,LED的亮度与其通电时间有关,也可以说成是占空比。上面的条件要理解成是呈线性增加或减小的频率。可以理解成三角波,对应的面积就是通电时间。

不知能不能给你讲明白!

⑶ 求助,51单片机用PWM的RGB呼吸灯程序怎么写

#include<reg52.h>

sbitLED0=P2^0;//译码器控制端,低有效

voidDelay(unsignedintt);//函数声明


voidmain(void)
{

unsignedintset=400,pwm=0;//定义周期并赋值

while(1)//主循环
{
LED0=0;
Delay(60000);//延时,可以看到熄灭的过程
for(pwm=1;pwm<set;pwm++){


LED0=1;//熄灭LED
Delay(pwm);//延时长度,600次循环中从1加至599
LED0=1;//点亮LED
Delay(set-pwm);//延时长度,600次循环中从599减至1

}
LED0=1;
for(pwm=set-1;pwm>0;pwm--){//与逐渐变亮相反的过程

LED0=1;
Delay(pwm);
LED0=0;
Delay(set-pwm);

}
//主循环中添加其他需要一直工作的程序
}
}

voidDelay(unsignedintt)
{
while(--t);
}

阅读全文

与pwm台灯单片机程序相关的资料

热点内容
加密的电梯卡怎么复制苹果手机 浏览:218
warez压缩 浏览:137
黑马程序员培训机构官网天津 浏览:904
mainjavasrc 浏览:58
如何买服务器挖矿 浏览:292
php批量上传文件夹 浏览:560
安卓固件怎么更新 浏览:169
单片机代码例程网站 浏览:923
UG编程如何多平面轮廓2D倒角 浏览:438
视频压缩渐变纹 浏览:852
什么app能看财经新闻 浏览:40
数学奇迹神奇运算法 浏览:360
大厂的程序员的水平如何 浏览:701
遗传算法入门经典书籍 浏览:879
源码炮台脚本 浏览:621
在位编辑命令 浏览:348
曲式分析基础教程pdf 浏览:15
php生成静态html页面 浏览:965
怎么分割pdf 浏览:813
压缩垃圾报警器 浏览:629