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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

[原創]自己編的DHT11驅動程序~

查看數: 29157 | 評論數: 44 | 收藏 23
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2015-8-4 17:29

正文摘要:

本帖最后由 王朗的誘惑 于 2015-8-4 21:05 編輯 前幾天在某寶上看到DHT11,感覺藍色的外殼做的很漂亮,然后就買了1個。結果發現網上的程序都是給舊12T單片機用的,注釋也沒幾句,用著很不順手。所以就自己按照數 ...

回復

ID:84652 發表于 2018-9-16 11:16
把主函數里的break都改成continue
ID:84652 發表于 2019-3-1 21:22
修改一處bug:請把程序里所有的t--改成--t,否則錯誤值返回不了。原來的程序一次成功了,所以直到現在才發現這個bug……向大家道歉……

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

ID:987219 發表于 2021-12-13 13:30
雖然看不懂,但是還是感覺很NB
ID:84652 發表于 2021-12-13 13:05
rozzzzz 發表于 2021-12-13 11:31
感謝樓主,如果我的晶振是11.0592的要改那些地方呢

那改的還挺多,延時函數、串口初始化參數、GetData 里的 t 值。搞臺示波器一會就搞定了,沒有示波器或者邏輯分析儀估計要折騰好久。
ID:892505 發表于 2021-12-13 11:31
感謝樓主,如果我的晶振是11.0592的要改那些地方呢
ID:741370 發表于 2020-4-30 16:37
感謝樓主
ID:84652 發表于 2020-4-21 02:10
stc89c52rclpz 發表于 2020-4-20 23:25
用LCD顯示的數據特別不準咋辦。。是這東西本來就誤差大,還是時間沒取好導致數據有誤差啊?或者算法?不能 ...

如果通過了累加校驗應該不會出錯啊……檢查傳感器附近是不是有熱源,也不能有陽光直射;檢查算法,手動輸入數據讓LCD顯示看看數據有沒有變;最后再拿水銀溫度計對照一下看看……如果都不行,試試別的傳感器,比如LM75、DS18B20什么的,看看讀數是不是還不正常。(如果這些都試過了還是不行,建議以后不要看天氣預報)
ID:733775 發表于 2020-4-20 23:25
用LCD顯示的數據特別不準咋辦。。是這東西本來就誤差大,還是時間沒取好導致數據有誤差啊?或者算法?不能直接高位/10,%10?太離譜了家里溫度顯示27攝氏度,天氣預報也就15攝氏度
ID:84652 發表于 2020-3-22 13:13
sasafair 發表于 2020-3-21 19:56
你這個思路比較好   相當于軟件示波器了       借鑒你這個思路調了408AS 的dht11   數據出來了 !!

另外 ...

文本接收時發送的數字需要進行ASCII編碼,比如發送0,實際發送的字節是0x30;發送1,實際發送的字節是0x31,依次類推。
實現的方法有很多,可以自己寫轉換函數,轉換要發送的數據的每個十進制位;也可以用sprintf函數把數據轉換成字符串然后發送字符串;還可以重定向printf然后直接用printf。
你這個情況的話,推薦使用sprintf。如果為了學習ASCII編碼,建議自己寫個轉換函數。
祝好運~
ID:246783 發表于 2020-3-21 19:56
你這個思路比較好   相當于軟件示波器了       借鑒你這個思路調了408AS 的dht11   數據出來了 !!

另外問個問題  :  串口接收時      開文本接收時 數據一直是字符亂碼  怎么解決 ?

                  SendString("\r\n濕度:");
                        SendData(dat_r[0]);                //濕度整數        
             
                SendString("\r\n溫度:");
                SendData(dat_r[2]);                //溫度整數                


/////////////////////////////////////////
我的串口函數  :  
/******************************************************************************

****************************************************************Author:Liming**/
void SendData(unsigned char dat)
{
    while (B_TX1_Busy);               //等待前面的數據發送完成
    B_TX1_Busy = 1;
    SBUF = dat;                 //寫數據到UART數據寄存器
}

/*******************************************************************************
  * @brief  None
  * @param  None
  * @retval None
****************************************************************Author:Liming**/
void SendString(char *s)
{
    while (*s)                  //檢測字符串結束標志
    {
        SendData(*s++);         //發送當前字符
    }
}
ID:626079 發表于 2020-3-20 16:43


謝謝大俠, 高手。已經用你的程序做出來通過……
http://www.zg4o1577.cn/bbs/dpj-182291-1.html
ID:282869 發表于 2020-3-20 13:32
值得參考學習,謝謝分享.
ID:710428 發表于 2020-3-19 20:34
謝謝分享
ID:626079 發表于 2020-3-18 23:14
感謝樓主的程序,麻煩咨詢下樓主,你的STC52程序中
#define JUDGE        4                //用于判斷通信的0和1,與單片機速度和晶振頻率有關
這是起啥作用。 我看在程序里調用時:
if(t >JUDGE)                        //高電平持續時間較長(70us)
dat8 += 1;                        //傳輸值為1

能解答一下為什么t>JDGE是與70us進行比較呢?新手不太明白,謝謝了。
還有dat8 += 1;是不是就是把dat8最后一位給“1”的意思哈?
ID:84652 發表于 2020-2-7 19:30
yechuan220 發表于 2020-1-31 17:23
樓主,有沒有在STC15f2k60s上測試過DHT11?
找了很多網上的代碼,根本就讀不出來。

沒……現在我大概明白,提出這些問題的老哥們是沒有示波器什么的,那就串口調試吧。DHT11這東西不是把信號全發過去才返回的,通信的過程就是反饋的過程,比如主機發一個開始信號,然后DHT11就會響應一個低電平信號,檢測這個信號,就知道之前的開始信號正不正常。類似于打電話,得聽到對方的聲音,才知道信號沒問題,對吧。
ID:259035 發表于 2020-1-31 17:23

樓主,有沒有在STC15f2k60s上測試過DHT11?
找了很多網上的代碼,根本就讀不出來。
ID:84652 發表于 2020-1-7 22:09
夢在夏天 發表于 2019-12-15 20:16
樓主,有沒有在IAP15W4K58S4測試過DHT11?
求分享~

沒有……盲調主要看人品,最好想辦法搞個示波器或者邏輯分析儀。
ID:666819 發表于 2019-12-17 23:32
我測試成功了,謝謝樓主的幫助
ID:627950 發表于 2019-12-15 20:16
樓主,有沒有在IAP15W4K58S4測試過DHT11?
求分享~
ID:84652 發表于 2019-11-19 00:20
zeki520kiki 發表于 2019-11-12 09:11
樓主,有沒有在STC15F408AD測試過DHT11?
找了很多網上的代碼,根本就讀不出來。

我沒試過……如果實在調不出來,強烈建議用示波器或者邏輯分析儀看看波形。
ID:448233 發表于 2019-11-12 09:11

樓主,有沒有在STC15F408AD測試過DHT11?
找了很多網上的代碼,根本就讀不出來。
ID:434090 發表于 2019-3-16 11:34
最近在研究dht11,多謝分享
ID:84652 發表于 2019-3-1 21:18
ontheroad 發表于 2019-3-1 17:29
樓主,有沒有在STC89C52上測試過DHT11?
找了很多網上的代碼,根本就讀不出來。

這是STC89C52RC的程序,晶振頻率11.0592MHz,接口還是P1.0,剛剛測試成功了。

DHT11-STC89.zip

35.33 KB, 下載次數: 80, 下載積分: 黑幣 -5

11.0592MHz

ID:84652 發表于 2019-3-1 19:39
ontheroad 發表于 2019-3-1 17:29
樓主,有沒有在STC89C52上測試過DHT11?
找了很多網上的代碼,根本就讀不出來。

沒有誒,不過我手上有元件,我可以幫你試試~
ID:445069 發表于 2019-3-1 17:29
樓主,有沒有在STC89C52上測試過DHT11?
找了很多網上的代碼,根本就讀不出來。
ID:458168 發表于 2019-1-8 23:12
謝謝樓主
ID:95072 發表于 2018-11-10 16:49
值得學習!!!
ID:326995 發表于 2018-5-10 20:55
代碼很有用
ID:84652 發表于 2017-11-18 10:40
本帖最后由 王朗的誘惑 于 2017-11-18 11:03 編輯
njzyg 發表于 2017-11-18 09:55
樓主好,感謝分享。請問為什么要檢測那么多次錯誤呢。另外  while(DATA && ++t);      ...

DHT11是單總線器件,驅動的時候時序容易出問題,但是環節太多不知道問題出在哪,調試的時候就費勁。不斷檢測錯誤就是想知道問題出在哪個環節,然后有針對性地解決。那個自加的具體時間不知道,和單片機速度有關系,先把前面調試好了,然后記錄下來0和1對應的t值通過串口發上來,取平均值就可以了。
ID:215834 發表于 2017-11-18 09:55
樓主好,感謝分享。請問為什么要檢測那么多次錯誤呢。另外 &nbsp;while(DATA && ++t);&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 語句檢測時間t自加一次需要多久時間,謝謝樓主
ID:84652 發表于 2017-8-25 11:02
cp66 發表于 2017-8-24 13:41
我在stc15上用的,仿真軟件上串口輸出時十六進制,怎么才能輸出的是十進制呢?

寫個發送字符串函數,把數據的十位和個位分開發,串口助手用文本模式接收。
ID:229113 發表于 2017-8-24 13:41
我在stc15上用的,仿真軟件上串口輸出時十六進制,怎么才能輸出的是十進制呢?
ID:84652 發表于 2017-8-21 14:44
aiait 發表于 2017-5-26 11:06
請問大神,要用1602顯示的話,還要用到串口嗎?

把數據送到1602屏幕上就行了吧?只是這樣的話不用串口。串口可以用來調試,看看有沒有數據讀出來。
ID:84652 發表于 2017-8-21 14:43
smallriver 發表于 2017-5-25 13:13
這兩天一直在研究,開始初始化都失敗,然后呢卻卻讀出來數據,真是鬧心,借鑒一下程序看有沒有效果

單總線一般都是時序問題,最好是能有臺示波器看看。
ID:202299 發表于 2017-5-26 11:06
請問大神,要用1602顯示的話,還要用到串口嗎?
ID:202299 發表于 2017-5-26 11:06
請問大神,有沒有DHT11加1602顯示的綜合程序?
ID:141361 發表于 2017-5-25 13:13
這兩天一直在研究,開始初始化都失敗,然后呢卻卻讀出來數據,真是鬧心,借鑒一下程序看有沒有效果
ID:145935 發表于 2017-5-18 10:41
感謝分享,學習了。
ID:186776 發表于 2017-5-17 21:26
學習了

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产黄色在线观看 | 色播视频在线观看 | 天天av网| 久久只有精品 | 一级片免费视频 | 日韩三极| 欧美一二三区 | 欧美日韩在线一区二区 | 日韩网站免费观看 | 日韩at | 看av网址| 国产精品成人一区二区 | 亚洲欧美在线一区 | 黄色一级大片视频 | 精品欧美一区免费观看α√ | 亚洲97 | 午夜在线 | 午夜成人免费视频 | 97精品超碰一区二区三区 | 天天综合网天天综合 | 黄色精品 | 免费毛片网 | 国产视频久久久 | 中文字幕久久精品 | 日韩在线观看一区 | 亚洲欧美在线观看 | 国产日韩视频在线 | 毛片免费观看视频 | 精品无码久久久久国产 | 欧美激情一区二区三级高清视频 | 日韩精品在线看 | 精品综合久久久 | 黄色三级毛片 | 久久久精品一区 | 久草www| 日本高清精品 | 99精品免费久久久久久久久日本 | 日本三级精品 | 91精品国产色综合久久 | 亚洲a网| 免费视频中文字幕 |