|
軟件平臺 :MounRiver Studio(MRS),硬件平臺:CH32V103開發板、DHT11溫度傳感器。
1、DHT11簡介
DHT11是一款有已校準數字信號輸出的溫濕度傳感器。 其精度濕度±5%RH, 溫度±2℃,量程濕度5-95%RH,溫度-20~+60℃。該傳感器包括一個電阻式測濕元件和一個NTC測溫元件,可通過單片機等微處理器簡單的電路連接就能夠實時的采集本地濕度和溫度。 DHT11與單片機之間能采用簡單的單總線進行通信,僅僅需要一個I/O口。單總線是美國DALLAS公司推出的外圍串行擴展總線技術。與SPI、I²C串行數據通信方式不同.它采用單根信號線,既傳輸時鐘又傳輸數據,而且數據傳輸是雙向的,具有節省I/O口線、資源結構簡單、成本低廉、便于總線擴展和維護等諸多優點。傳感器內部濕度和溫度數據40Bit的數據一次性傳給單片機,數據采用校驗和方式進行校驗,有效的保證數據傳輸的準確性。
關于DHT11具體信息,可參考其產品手冊
2、硬件連接
DHT11的VCC、GND引腳與單片機VCC、GND引腳連接
DHT11的Dout引腳與單片機PA1連接(用戶可自定義)
3、MRS中開發流程
1)首先新建一個CH32V103C8T6 的工程,流程與之前文章中操作相同,新建hardware文件夾,外設DHT11文件夾,DHT11.c源文件以及DHT11.h頭文件,添加頭文件路徑,
如圖:
1.png (38 KB, 下載次數: 79)
下載附件
2021-10-26 10:46 上傳
在頭文件定義兩個確定IO傳輸方向的宏,以及IO操作函數的宏備用,其他就是函數聲明,代碼如下:
2.png (15.64 KB, 下載次數: 80)
下載附件
2021-10-26 10:46 上傳
源文件中實現DHT11初始化函數,復位函數,檢測函數,通信函數,其中DHT11一次完整的數據傳輸為40BIT,高位先出,數據格式為:8位濕度整數數據+8位濕度小數數據+8位溫度數據+8位溫度小數據+8位校驗位,根據DHT11手冊說明,小數位為預留位,現在全為0,校驗位為8位濕度整數數據+8位濕度小數數據+8位溫度數據+8位溫度小數據結果的末8位,校驗位正確時,再將溫濕度數據輸出。
具體函數代碼如下:
3.png (22.02 KB, 下載次數: 78)
下載附件
2021-10-26 10:46 上傳
4.png (31.12 KB, 下載次數: 75)
下載附件
2021-10-26 10:46 上傳
5.png (16.06 KB, 下載次數: 78)
下載附件
2021-10-26 10:46 上傳
主函數邏輯實現循環讀和打印即可
7.png (16.47 KB, 下載次數: 77)
下載附件
2021-10-26 10:46 上傳
2)成功編譯之后,可進入調試來觀察寄存器的值(不要在讀取數據過程中打斷點)
8.png (47.05 KB, 下載次數: 81)
下載附件
2021-10-26 10:46 上傳
3)調試無誤之后,將程序下載到板子,用串口打印助手觀察輸出
9.png (39.9 KB, 下載次數: 69)
下載附件
2021-10-26 10:46 上傳
|
|