你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】基于stm32的温湿度采集(仿真+程序)

[复制链接]
STMCU小助手 发布时间:2022-5-31 19:00
本设计:8 ^: e% O! x: g4 ?0 I
基于stm32的温湿度采集Proteus仿真(仿真+程序)
仿真图protues 8.9
程序编译器:keil 5
编程语言:C语言
编号:C0041
5 [* A+ R2 U8 `. o4 N: K) d
功能描述:
通过STM32采集DHT11温度传感器的数据,将温湿度信息显示在LCD显示屏上及虚拟串口上。
( r+ d: I. W7 }2 ^: G
仿真图(源文件):
640 (1).png
源程序(提供源文件):
640.png
以下为部分程序:
  1. int main(void)" N/ q8 e# Z8 V/ r* W  p
  2. {
    $ f  G1 Z4 K* d4 h! _* ~
  3.     DHT11_Data_TypeDef DHT11_Data;
    : m1 Z, O1 Y+ g# x4 w: W/ J) }4 i# C- G
  4.     RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);   
    8 i5 j! y+ D9 z% E& N- `
  5.     /* 配置SysTick 为1us中断一次 *// ]4 J5 B2 x$ ^6 w. Q$ i
  6.     SysTick_Init();
    4 o- f' G8 z% x0 R
  7.     LED_GPIO_Config();
    : y/ w' ?6 u! a  ~% g( ?, |- }! M0 K
  8.     //LED1_ON;
    ! R, ?$ F# u8 f* T6 J) z
  9.     LED2_ON;/ h. @  q: K( j0 F
  10.     LED3_ON;! W9 u  q$ l# x3 ?/ Q% R
  11.     //NVIC_Configuration();
    8 @" {9 b# c# e3 c2 t- R
  12.     LcdGpioInit();
    9 v) z+ J0 Z) R7 m& @8 D5 J6 y
  13.     LCD1602Init();
    # J! U: g& ]: T. }* z; Q/ i, X# H
  14.     USART_Config();//初始化串口1
    * Q+ O* R3 \, \3 I# [' x6 u( M
  15.     NVIC_Configuration();
      y3 g- Q* s. y& [
  16.     printf("\r\n***dht11 温湿度传感器实验***\r\n");
    % f, h! X9 ?5 N: S: i
  17.     /*初始化DTT11的引脚*/) s/ a0 I3 M0 L6 _
  18.     DHT11_Init();
      t0 F7 g0 Q( c0 \% g* C* s
  19.     //printf("22\n");
    6 y4 e$ i8 S: D5 M# h* E: i( j. S
  20.     dht11_delay_ms(10);   * V- [6 U- u9 ?0 y
  21.     while(1)4 }3 q) a# B. T: e: I+ K# I4 ]
  22.     {" f: U8 P4 K& I
  23.         //调用DHT11_Read_TempAndHumidity读取温湿度,若成功则输出该信息
      [- L+ k8 ^6 X* a5 C$ u7 p
  24.         if( DHT11_Read_TempAndHumidity ( & DHT11_Data ) == SUCCESS)2 {* z8 l4 N9 x" V& ]; I1 L0 X5 y
  25.         {+ i; C! I+ w8 n, P
  26.             uint8_t index = 0;
    1 U, \2 W' Q/ r( V* k- \: D
  27.             char str[20];0 r2 f9 }  W+ n" u* F
  28.             printf("\r\n读取DHT11成功!\r\n\r\n湿度为%d.%d %RH ,温度为 %d.%d℃ \r\n", DHT11_Data.humi_int, DHT11_Data.humi_deci, DHT11_Data.temp_int, DHT11_Data.temp_deci);
    . @- V! b, L5 W; E4 W* v, J
  29.             sprintf(str, "H:%d.%d T:%d.%d", DHT11_Data.humi_int, DHT11_Data.humi_deci, DHT11_Data.temp_int, DHT11_Data.temp_deci);
    ) S. S$ B# j5 `  O* J7 |
  30.             LcdWriteCom(0x80);//设置第一行 数据地址指针0 q" Y6 f4 q$ X/ T  \- V
  31.             for(index = 0; index < 20; index++)
    ( i; \- k5 N4 |, O& |5 J% d1 z) {
  32.             LcdWriteDate(str[index]);  //写入数据
    , c- V& Q& m& \9 z
  33.         }
    $ o! D; ]2 c0 l6 \1 r9 h
  34.         else0 b; I+ I' q! ?3 T  `- @
  35.         {5 i& D, ~( u, [& V, g& C0 C
  36.             printf("Read DHT11 ERROR!\r\n");
    ) K% E9 [6 y( E, h
  37.         }
    - u: L6 h; u! X
  38.         Delay_ms(10);
    : T2 e1 a+ P+ j1 s7 a% c# L! C- i! B9 e
  39.     }
复制代码

2 @( v9 m9 [" a# P; u- }* ~& F2 P
赞 收藏 评论0 发布时间:2022-5-31 19:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版