找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6815|回复: 6
打印 上一主题 下一主题
收起左侧

自己用dht11做的温湿度传感器 msp430源码

  [复制链接]
跳转到指定楼层
楼主
自己用msp430单片机做的温度湿度测量,使用的是DHT11传感器,用lcd1602显示,可正常的显示湿度温度



下载:
dht11湿度温度测量.rar (2.13 KB, 下载次数: 133)

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))  //微秒延时程序
  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低电平响应
  48.         {
  49.                 while (!(P2IN & BIT1));//等待80us响应电平过去
  50.                 while((P2IN & BIT1));//等待80us的准备信号过去
  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_ */
复制代码


评分

参与人数 2黑币 +65 收起 理由
yedakai + 5 很给力!
admin + 60 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:158533 发表于 2016-12-29 19:16 | 只看该作者
楼主,在吗
回复

使用道具 举报

板凳
ID:123712 发表于 2017-1-10 19:10 | 只看该作者
谢谢楼主分享资料,学习中
回复

使用道具 举报

地板
ID:201050 发表于 2017-5-15 18:36 | 只看该作者
超级给力
回复

使用道具 举报

5#
ID:638143 发表于 2019-11-9 13:50 | 只看该作者
谢谢  我在找温度传感器+光线传感器的东西,但是一直没有找到,先看看温度传感器的学习一下
回复

使用道具 举报

6#
ID:681572 发表于 2020-1-5 15:51 | 只看该作者
楼主,在吗??我刚刚看了一下你的程序里有两个隐藏的BUG
回复

使用道具 举报

7#
ID:750600 发表于 2020-5-20 17:52 | 只看该作者
零丁洋 发表于 2020-1-5 15:51
楼主,在吗??我刚刚看了一下你的程序里有两个隐藏的BUG

你调试好使吗,我没整出来
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表