找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3364|回复: 0
收起左侧

用PWM调速制作一个电风扇

[复制链接]
ID:80321 发表于 2015-10-29 12:24 | 显示全部楼层 |阅读模式
#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;
    }

}

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的积分奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表