找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1976|回复: 6
打印 上一主题 下一主题
收起左侧

51单片机基于PWM 直流电机迷你风扇控制系统

[复制链接]
跳转到指定楼层
楼主
拜求 51单片机基于PWM  直流电机迷你风扇控制程序
要求能够分三档调速
按下K1键弱风
按下K2键中风
按下K3键强风
按下K4J键停止


QQ截图20180620073950.png (160.89 KB, 下载次数: 23)

QQ截图20180620073950.png

评分

参与人数 2黑币 +8 收起 理由
892313600 + 4 很给力!
云走残阳 + 4

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:320306 发表于 2018-6-20 11:50 | 只看该作者
是51单片机吗?
回复

使用道具 举报

板凳
ID:267330 发表于 2018-6-20 15:39 | 只看该作者
是51单片机吗?不错可以
回复

使用道具 举报

地板
ID:355456 发表于 2018-6-20 19:49 | 只看该作者
这个可以,动脑筋
回复

使用道具 举报

5#
ID:355490 发表于 2018-6-20 20:17 | 只看该作者
我这个暑假好像也要做一个差不多的
回复

使用道具 举报

6#
ID:349556 发表于 2018-6-22 10:38 | 只看该作者

嗯嗯 就是51
回复

使用道具 举报

7#
ID:236125 发表于 2018-6-22 21:51 | 只看该作者
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
#define  CYCLE 10         //pwn周期
sbit  PWN0=P1^4;
sbit  PWN1=P1^5;
sbit  key1=P3^0;        //jia
sbit  key2=P3^1;        //jian
sbit  key3=P3^2;        //tingzhi
sbit  key4=P3^3;  //zhengfanzhuan
char  PWN_ON=0;
char  count=0;         //定时器计数
int  num,flag;//正反转标志位
sbit beep=P2^3;
void delayms(int x)
{
    int i,j;
        for(i=x;i>0;i--)
          for(j=110;j>0;j--);
}            

void keyscan()
{
     if(key1==0)
         {
            delayms(5);
                if(key1==0)
                {
                    while(!key1);
                 if(num<=3)
                          num++;
                          if(num==2)
                          {
                              beep=0;
                                  P0=0x00;
                                  delayms(10);
                                  beep=1;
                                  P0=0xff;
                          }
                          if(num==3)
                          {
                              beep=0;
                                  P0=0x00;
                          }
                }
         }
    if(key2==0)
        {
           delayms(5);
           if(key2==0)
           {
              if(num>0)
                   num--;
                   while(!key2);
                }
         }
         if(key3==0)
         {
            delayms(5);
            if(key3==0)
            {
              while(!key3);
              num=!num;
             }
          }
          if(key4==0)
          {
             delayms(5);
                 if(key4==0)
                 {
                     while(!key4);
                     flag++;
                         if(flag==2)
                         flag=0;
                 }
          }
          switch(num)
          {
             case 0: PWN_ON=0;break;
                 case 1: PWN_ON=4;break;
                 case 2: PWN_ON=7;break;
                 case 3: PWN_ON=10;break;
             default:
                 break;
          }
}
void init()        //初始化
{

        PWN0=1;
        PWN1=1;
    TMOD=0X01;
        TH1=(65535-45872)/256;
        TL1=(65535-45872)%256;
        EA=1;
        ET1=1;
        TR1=1;
}
void main()
{
    init();
        while(1)
        {
            keyscan();
        }
}
void  T1_time()interrupt 3
{  
         TH1=(65535-45872)/256;
         TL1=(65535-45872)%256;
           count++;
          if(count>CYCLE)
          count=0;
          if(count<PWN_ON)//进行正反转
          {
               if(flag==1)
                   {
                     
                          PWN0=0;
              PWN1=1;
                        }
                        else
                        {
                           PWN0=1;
               PWN1=0;
                        }
         }
         else
         {
             PWN0=1;
         PWN1=1;
         }
}
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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