找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 7901|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

自己用dht11做的溫濕度傳感器 msp430源碼

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:147614 發(fā)表于 2016-11-13 11:57 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
自己用msp430單片機(jī)做的溫度濕度測(cè)量,使用的是DHT11傳感器,用lcd1602顯示,可正常的顯示濕度溫度



下載:
dht11濕度溫度測(cè)量.rar (2.13 KB, 下載次數(shù): 134)

msp430源碼:
  1. /*
  2. * humidity.h
  3. *
  4. *  Created on: 2016年11月5日
  5. *      Author: Administrator
  6. */

  7. #ifndef HUMIDITY_H_
  8. #define HUMIDITY_H_

  9. #include "lcd1602.h"
  10. #define CPU_F ((double)1000000)
  11. #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))  //微秒延時(shí)程序
  12. #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))

  13. uchar Read_dht11_byte();
  14. void Get_dat();

  15. uint R_H,R_L,T_H,T_L,RH,RL,TH,TL,check1,check;
  16. uchar H1[1],T1[1],H[1],T[1];

  17. uchar Read_dht11_byte()
  18. {
  19.         uchar i = 0,dat = 0,k;
  20.         P2DIR &= ~BIT1;

  21.         for(i=0;i<8;i++)
  22.         {
  23.                 while(!(P2IN & BIT1));
  24.                 delay_us(20);
  25.                 if((P2IN&BIT1))
  26.                 {
  27.                         k = 1;
  28.                         while((BIT1 & P2IN));
  29.                 }
  30.                 else
  31.                         k = 0;
  32.                 dat <<= 1;
  33.                 dat |= k;
  34.         }
  35.         return dat;
  36. }
  37. void Get_dat()
  38. {

  39.         P2DIR |= BIT1;
  40.         P2OUT &= ~BIT1;

  41.         P2OUT |= BIT1;
  42.         P2OUT &= ~BIT1;
  43.         delay_ms(18);
  44.         P2OUT |= BIT1;
  45.         delay_us(20);
  46.         P2DIR &= ~BIT1;
  47.         if(!(P2IN & BIT1))//等待DHT低電平響應(yīng)
  48.         {
  49.                 while (!(P2IN & BIT1));//等待80us響應(yīng)電平過(guò)去
  50.                 while((P2IN & BIT1));//等待80us的準(zhǔn)備信號(hào)過(guò)去
  51.             R_H = Read_dht11_byte();
  52.             R_L = Read_dht11_byte();
  53.             T_H = Read_dht11_byte();
  54.             T_L = Read_dht11_byte();
  55.             check1 = Read_dht11_byte();

  56.     check = (R_H+R_L+T_H+T_L);
  57.         if(check == check1)
  58.         {
  59.                 RH = R_H;
  60.                 RL = R_L;
  61.                 TH = T_H;
  62.                 TL = T_L;
  63.         }
  64.         H1[0] =(char) (0x30 + RH /10);
  65.         H[0] = (char)(0x30 + RH %10);
  66.         T1[0] =(char) (0x30 + TH /10);
  67.         T[0] = (char)(0x30 + TH %10);

  68.         LCDShowStr(0,0,"H:");
  69.         LCDShowStr(2,0,H1);
  70.         LCDShowStr(3,0,H);
  71.         LCDShowStr(4,0,"%RH");
  72.         LCDShowStr(0,1,"T:");
  73.         LCDShowStr(2,1,T1);
  74.         LCDShowStr(3,1,T);
  75.         LCDShowStr(4,1,"C");
  76.         }
  77. }
  78. #endif /* HUMIDITY_H_ */
復(fù)制代碼


評(píng)分

參與人數(shù) 2黑幣 +65 收起 理由
yedakai + 5 很給力!
admin + 60 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:158533 發(fā)表于 2016-12-29 19:16 | 只看該作者
樓主,在嗎
回復(fù)

使用道具 舉報(bào)

板凳
ID:123712 發(fā)表于 2017-1-10 19:10 | 只看該作者
謝謝樓主分享資料,學(xué)習(xí)中
回復(fù)

使用道具 舉報(bào)

地板
ID:201050 發(fā)表于 2017-5-15 18:36 | 只看該作者
超級(jí)給力
回復(fù)

使用道具 舉報(bào)

5#
ID:638143 發(fā)表于 2019-11-9 13:50 | 只看該作者
謝謝  我在找溫度傳感器+光線(xiàn)傳感器的東西,但是一直沒(méi)有找到,先看看溫度傳感器的學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

6#
ID:681572 發(fā)表于 2020-1-5 15:51 | 只看該作者
樓主,在嗎??我剛剛看了一下你的程序里有兩個(gè)隱藏的BUG
回復(fù)

使用道具 舉報(bào)

7#
ID:750600 發(fā)表于 2020-5-20 17:52 | 只看該作者
零丁洋 發(fā)表于 2020-1-5 15:51
樓主,在嗎??我剛剛看了一下你的程序里有兩個(gè)隱藏的BUG

你調(diào)試好使嗎,我沒(méi)整出來(lái)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表