适合新手,pwm调速的小电风扇
时间:10-02
整理:3721RD
点击:
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit dianji01=P0^0;
sbit dianji02=P0^1;
sbit s1=P1^1;
sbit s2=P1^4;
uint flag;
uint pwm=16;
void delay(uint i)
{
uchar j;
while(i--)
for(j=0;j<120;j++);
}
void init()
{
ET1=1;
EA=1;
TH1=0XFE;
TL1=0X00;
TR1=1;
}
void keyscan()
{
if(s1==0)
{
delay(50);
if(s1==0)
{
if(pwm<32)
{
pwm++;
}
}
}
if(s2==0)
{
delay(50);
if(s2==0)
{
if(pwm>1)
{
pwm--;
}
}
}
if(pwm>flag)
{
dianji01=1;
}
else
{
dianji01=0;
}
}
void main()
{
init();
while(1)
{
keyscan();
delay(100);
}
}
void interrupr() interrupt 3
{
TR1=0;
TH1=0XFE;
TL1=0X00;
TR1=1;
flag++;
if(flag>32)
{
flag=0;
}
}
#define uint unsigned int
#define uchar unsigned char
sbit dianji01=P0^0;
sbit dianji02=P0^1;
sbit s1=P1^1;
sbit s2=P1^4;
uint flag;
uint pwm=16;
void delay(uint i)
{
uchar j;
while(i--)
for(j=0;j<120;j++);
}
void init()
{
ET1=1;
EA=1;
TH1=0XFE;
TL1=0X00;
TR1=1;
}
void keyscan()
{
if(s1==0)
{
delay(50);
if(s1==0)
{
if(pwm<32)
{
pwm++;
}
}
}
if(s2==0)
{
delay(50);
if(s2==0)
{
if(pwm>1)
{
pwm--;
}
}
}
if(pwm>flag)
{
dianji01=1;
}
else
{
dianji01=0;
}
}
void main()
{
init();
while(1)
{
keyscan();
delay(100);
}
}
void interrupr() interrupt 3
{
TR1=0;
TH1=0XFE;
TL1=0X00;
TR1=1;
flag++;
if(flag>32)
{
flag=0;
}
}
顶一个,stc也有专用的pwm
不错啊!收藏了
看看 111111111111111111111111111111
不错学习了收藏了
你好,我是北京捷峰联合市场咨询公司的,有一个关于电风扇改装爱好者和发烧友的入户访问需要风扇改装者参加,不知您是否是在北京还有时间是否方便,时间是 4月13日、4月14日 2天中的一天。访问会耽误1小时,给您300元礼金。如果不方便,能麻烦您给介绍2个吗?谢谢!我电话 18701203620,QQ:694367200. 再次感谢!