久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2453|回復: 2
打印 上一主題 下一主題
收起左側

單片機智能風扇程序和原理圖都畫得差不多,就是不知道哪兒錯了。求助大佬

[復制鏈接]
跳轉到指定樓層
樓主
ID:762484 發表于 2020-6-7 15:59 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  設計內容:1、3個獨立按鍵分別控制“自然風”、“睡眠風”、“常風”,(三者的區別是直流電機的停歇時間不同),并在數顯管上顯示出區別
   2、每種類型風可以根據按下獨立按鍵次數分為4個檔的風力調節。
    3、設計風扇的過熱保護,用繼電器實現。即當風扇運行一段時間后,暫停10秒。
   4、其他創新內容(如報警提示
程序如下:#include<reg51.h>  //頭文件
sbit K1=P1^0;                //定義按鍵 開關
sbit K2=P1^1;                //正常風
sbit K3=P1^2;                //自然風
sbit K4=P1^3;                //睡眠風

sbit mada=P2^0;                         //馬達驅動
sbit jdq=P2^1;                         //繼電器驅動
int PWM=40;                                 //PWM寄存器
int dang=1;                                 //檔位寄存器
int i,j;   //輸出PWM是的變量
int moshi=0;        //模式標志
int time;        //睡眠和自然風開關間隙時間,定時寄存器
int time1;        //定時工作1分鐘休息10秒鐘,定時寄存器
int daima=0;        //數碼管顯示位選選擇
sbit p1=P2^4;         //數碼管位選
sbit p2=P2^5;
sbit p3=P2^6;
sbit p4=P2^7;
char data_7seg[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff,0x86};           //數碼管段碼

void xianshi()                                                //顯示子程序
{  switch(daima)
  {case 0:
   p1=0;p2=0;p3=0;p4=0;                                //位選關
   P0=data_7seg[moshi];                        //發送第一位數碼管顯示代碼
   p1=1;p2=0;p3=0;p4=0;                                //第一個位選開
   daima=1;                                                //顯示延遲
   break;

   case 1:
   p1=0;p2=0;p3=0;p4=0;                                //位選關
   P0=data_7seg[10];                        //發送第二位數碼管顯示代碼
   p1=0;p2=1;p3=0;p4=0;                                //第二個位選開
   daima=2;                                                //顯示延遲
   break;

   case 2:
   p1=0;p2=0;p3=0;p4=0;                            //位選關
   P0=data_7seg[10];                        //發送第三位數碼管顯示代碼
   p1=0;p2=0;p3=1;p4=0;                                //第三個位選開
   if(moshi==0)
   daima=0;                                                //顯示延遲
   else
   daima=3;
   break;

   case 3:
   p1=0;p2=0;p3=0;p4=0;                                //位選關
   P0=data_7seg[dang];                        //發送第四位數碼管顯示代碼
   p1=0;p2=0;p3=0;p4=1;                                //第四個位選開
   daima=0;                                                //顯示延遲
   break;
}
}

void key()                                           //按鍵掃描
{        if(K1==0)           //檔位切換
    { dang++;                          //循環
          if(dang>4)
          dang=1;

          switch(dang)                        //根據檔位控制PWM占空比
          {         case 1: PWM=40; break;
                   case 2: PWM=60; break;
                 case 3: PWM=80; break;
                 case 4: PWM=100; break;
          }
        }
        while(K1==0);

        if(K2==0)           //正常模式按鍵
    {
         moshi=1;           //正常模式
        }
        while(K2==0);

    if(K3==0)           //自然風模式按鍵
    {
        moshi=2;           //自然風模式
        }
        while(K3==0);

        if(K4==0)           //睡眠模式按鍵
    {
        moshi=3;           //睡眠模式
        }
        while(K4==0);
}

void main()                        //主程序
{         
    mada=0;                         //初始化端口
        i=100;
        jdq=0;
        TMOD=0X12;                        //定義中斷和開啟中斷                                                                                                               
        TH0=256-100;
        TL0=256-100;
        ET0=1;TR0=1;
        EA=1;
        TH1 = 0x3C;
    TL1 = 0x0B0;
    ET1 = 1;
    TR1 = 1;
        while(1)           //無限循環
        {  key();           //按鍵掃描
           if(moshi==0)          //模式=0,待機
           {i=0;jdq=1;time1=0; }
           else
           if(moshi==1)                //模式=1,正常
           i=PWM;                        //正常輸出
           else
           if(moshi==2)                 //模式=2,自然風
           {  if(time<200) //開10秒,關5秒
              i=PWM;
                  else
                  i=0;
           }
           else
           if(moshi==3)           //模式=3,睡眠風
           {  if(time<100) //開5秒,關10秒
              i=PWM;
                  else
                  i=0;
           }


        }
}

void Timer0Interrupt(void) interrupt  0     //定時器中斷,輸出PWM,占空比
{      
        if(j>100)
        j=0;
        if(j<i)
        {
        mada=1;
        }
        else

        {
    mada=0;
        }      
         xianshi();
}
void Timer1Interrupt(void) interrupt 3                          //定時器中斷0,計時
{
    TH1 = 0x3C;
    TL1 = 0x0B0;
    if(moshi>1)
        time++;
        else
        time=0;


        time1++;
        if(time1>=1400)
    time1=0;

        if(time1>=1200)
        jdq=1;
        else
        if(moshi>0)
        jdq=0;
        if(time>=300)  time=0;
}

電風扇控制系統仿真圖.rar

29.73 KB, 下載次數: 72

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:332444 發表于 2020-6-7 22:26 | 只看該作者
有同事告知我花費10年時間研究交流電微風扇,類似這樣的題目,據說夏天可不用開空調,而且做成產品銷售還不錯。
回復

使用道具 舉報

板凳
ID:774581 發表于 2020-6-10 15:01 來自手機 | 只看該作者
樓主你做好了嗎?求教,設計要求和你一樣。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 九九热re| 成人免费影院 | va在线| 亚洲一区国产精品 | 国产成人免费观看 | 中文二区| 日韩不卡一区二区三区 | 国产精品.xx视频.xxtv | 亚洲毛片| 一级免费毛片 | 国产高清区 | 日韩欧美精品在线播放 | 国产精品一码二码三码在线 | 久久久久久综合 | 一区二区三区在线免费观看 | 国产一区二区三区 | 狠狠干美女| 国产高清精品网站 | 精品一区视频 | 青青草久久 | 精品国产一区二区三区久久久蜜月 | 日韩精品久久久久久 | 精久久久 | a级黄色片在线观看 | 国产精品99久久久精品免费观看 | 久久精品无码一区二区三区 | 午夜精品在线观看 | 热99精品视频 | 亚洲国产精品久久 | 91亚洲国产成人精品一区二三 | 午夜看片网站 | 国产综合欧美 | 91精品国产91久久久久久 | 国产一区欧美 | 搞av.com| 欧美精品一区二区三区在线 | 久久99这里只有精品 | 久久精彩视频 | 欧美精品在线观看 | 国产欧美一区二区三区另类精品 | 欧美日韩视频在线 |