欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

求大神指導學習 基于單片機的窗戶自動控制系統設計

[復制鏈接]
跳轉到指定樓層
樓主
ID:843765 發表于 2021-3-31 11:49 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
243黑幣
由于本論壇禁止直接求程序,禁止伸手黨,所以向大家請教一下大致的實現方法與思路,理清頭緒后我自己來寫程序去實現,謝謝大家

我嘗試做了,但是仿真一直失敗,不知道是軟件問題還是我設計的有問題
程序我是參考的論壇大佬修改的
這是系統框圖,只要求做出電路原理圖和仿真結果圖片,不要很復雜很復雜我也不懂,我只是一個真心想學單片機技術的小白
有沒有大佬來指導一下

3.png (16.92 KB, 下載次數: 58)

3.png

最佳答案

查看完整內容

這個程序你可以參考學習一下,壇子里面還有很多http://m.raoushi.com/bbs/dpj-179272-1.html你把可以把你寫的代碼貼上來,大家一起研究一下問題出在哪里.一起學習技術 Proteus7.5版本仿真結果如下:
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:328014 發表于 2021-3-31 11:49 | 只看該作者
這個程序你可以參考學習一下,壇子里面還有很多http://m.raoushi.com/bbs/dpj-179272-1.html你把可以把你寫的代碼貼上來,大家一起研究一下問題出在哪里.一起學習技術
Proteus7.5版本仿真結果如下:

回復

使用道具 舉報

板凳
ID:584814 發表于 2021-3-31 22:52 | 只看該作者
如果把賞金單位換成米刀結果就不一樣了,全套的都有呵呵
回復

使用道具 舉報

地板
ID:843765 發表于 2021-3-31 23:13 | 只看該作者
51hei團團 發表于 2021-3-31 23:05
這個程序你可以參考學習一下,壇子里面還有很多http://m.raoushi.com/bbs/dpj-179272-1.html你把可以把你寫 ...

我就是參考的那個人的,他的太復雜了  程序多的放不下。
回復

使用道具 舉報

5#
ID:843765 發表于 2021-4-1 20:26 | 只看該作者
51hei團團 發表于 2021-3-31 11:49
這個程序你可以參考學習一下,壇子里面還有很多http://m.raoushi.com/bbs/dpj-179272-1.html你把可以把你寫 ...

unsigned char flage=0;             //0為智能模式(默認模式),1為手動模式
unsigned int status=0;             //默認窗戶為關,1為開
以下是循環判斷執行程序的分析:
while(1)
{
if(anjian==1)      //進行按鍵的判斷,執行相關模式
{
Delay10ms();              //延時消抖判斷
if(anjian==1)
{
led1 = !led1; led2 = !led2;     //進行相關指示燈的亮滅控制,反轉
         flage = !flage;
         Delay300ms();//延時避免程序多次執行
}
}

if(flage==0)              //窗戶開關狀態判斷,通過flag標志位
{

value = rain_read();             //進行雨水量的讀取,采取模擬量
    DHT11_ReadTempAndHumi();            //調用溫濕度傳感器,進行相關數據的獲取
    uart_1_println(temp_value);
  uart_1_println(value);

if(status==0)    //窗戶為關閉狀態
{
if((value>3800)&&(temp_value>250))      關窗條件的設定
{
Motor_run(1)   //電機動作程序調用
}
}
else
{
if(value<3800||temp_value<200)
{
Motor_run(2)   //電機動作程序調用,與上文調用,相比,電機反向
}
}
}
else
{    }  }
回復

使用道具 舉報

6#
ID:843765 發表于 2021-4-1 20:26 | 只看該作者
51hei團團 發表于 2021-3-31 11:49
這個程序你可以參考學習一下,壇子里面還有很多http://m.raoushi.com/bbs/dpj-179272-1.html你把可以把你寫 ...
  1. extern unsigned char DHT11_ReadTempAndHumi(void)
  2. {
  3.    unsigned char i = 0, check_value = 0, count = 0;
  4.    EA = 0;
  5.    dht11 = 0;     //拉低數據線大于 18ms 發送開始信號
  6.    Delay_1ms(20); //需大于 18 毫秒
  7.    dht11 = 1;     //釋放數據線,用于檢測低電平的應答信號
  8.    //延時 20-40us,等待一段時間后檢測應答信號,應答信號是從機拉低數據線 80us
  9.    DHT11_Delay_10us();
  10.    DHT11_Delay_10us();
  11.    DHT11_Delay_10us();
  12.    DHT11_Delay_10us();
  13.    if (dht11 != 0) //檢測應答信號,應答信號是低電平
  14.    {
  15.        //沒應答信號
  16.        EA = 1;
  17.        return ERROR;
  18.    }
  19.    else
  20.    {
  21.        //有應答信號
  22.        while (dht11 == 0 && count++ < NUMBER)
  23.            ;                //等待應答信號結束
  24.        if (count >= NUMBER) //檢測計數器是否超過了設定的范圍
  25.        {
  26.            dht11 = 1;
  27.            EA = 1;
  28.            return ERROR; //讀數據出錯,退出函數
  29.        }
  30.        count = 0;
  31.        dht11 = 1; //釋放數據線
  32.        //應答信號后會有一個 80us 的高電平,等待高電平結束
  33.        while (dht11 != 0 && count++ < NUMBER)
  34.            ;
  35.        if (count >= NUMBER)
  36.        {
  37.            dht11 = 1;
  38.            EA = 1;
  39.            return ERROR; //退出函數
  40.        }
  41.        //讀出濕.溫度值
  42.        for (i = 0; i < SIZE; i++)
  43.        {
  44.            value_array[i] = DHT11_ReadValue();
  45.            if (status == ERROR) //調用 ReadValue()讀數據出錯會設定 status 為 ERROR
  46.            {
  47.                dht11 = 1;
  48.                EA = 1;
  49.                return ERROR;
  50.            }
  51.            //讀出的最后一個值是校驗值不需加上去
  52.            if (i != SIZE - 1)
  53.            {
  54.                //讀出的五字節數據中的前四字節數據和等于第五字節數據表示成功
  55.                check_value += value_array[i];
  56.            }
  57.        } //end for
  58.        //在沒用發生函數調用失敗時進行校驗
  59.        if (check_value == value_array[SIZE - 1])
  60.        {
  61.            //將溫濕度擴大 10 倍方便分離出每一位
  62.            humi_value = value_array[0] * 10;
  63.            temp_value = value_array[2] * 10;
  64.            dht11 = 1;
  65.            EA = 1;
  66.            return OK; //正確的讀出 dht11 輸出的數據
  67.        }
  68.        else
  69.        {
  70.            //校驗數據出錯
  71.           EA = 1;
  72.            return ERROR;
  73.        }
  74.    }
  75. }
復制代碼

上述程序就是DHT11的驅動程序。
回復

使用道具 舉報

7#
ID:843765 發表于 2021-4-1 20:29 | 只看該作者
51hei團團 發表于 2021-3-31 11:49
這個程序你可以參考學習一下,壇子里面還有很多http://m.raoushi.com/bbs/dpj-179272-1.html你把可以把你寫 ...

我沒直接求程序   我只是沒有仿真圖  電腦打不開而已  至于程序對錯我看不出來   因為都是參考別人的
我本身不是干這個的
回復

使用道具 舉報

8#
ID:843765 發表于 2021-4-1 20:32 | 只看該作者
51hei團團 發表于 2021-3-31 11:49
這個程序你可以參考學習一下,壇子里面還有很多http://m.raoushi.com/bbs/dpj-179272-1.html你把可以把你寫 ...

原理圖不清晰  而且我沒電腦就弄不好了  每次都在網吧做的
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表