51单片机PWM控制LED的亮度仿真程序图谱
单片机输出PWM斩波,控制LED的亮度并在图谱上面显示出来
仿真开启
参考代码:
#include “reg51.h”
unsigned int cd,dd;
unsigned char cc,ee;
sbit LED=P2^0;
void led_int() interrupt 1 using 0
{
TH0=0xf1;
TL0=0xf1;
TR0=1;
dd++;
if(dd11)
{
if((cc0x50)&&(ee0)){cd=0;}
if((cc0)&&(ee==0x50)){cd=1;}
if(cd){cc++;ee–;}
else {cc–;ee++;}
dd=0;
}
}
void delay(unsigned int i)
{
unsigned int j;
while(i–)
{
for(j=0;j<0x20;j++);
}
}
void main()
{
cc=0;
ee=0x50;
TMOD=0x01;
TH0=0xf0;
TL0=0xf0 ;
EA=1;
ET0=1;
TR0=1;
while(1)
{
LED=0;
delay(ee);
LED=1;
delay(cc);
}
}
最后,如果有什么意见或者建议欢迎您留言给我,让我们共同学习一起进步,
如果需要 程序完整源代码和 设计文件,请在下方留言或者私信我,看到后会第一时间回复。
谢谢!