本设计 基于STM32大棚DHT11温湿度监测protues仿真设计 资料包含:程序+仿真+原理图+PCB(具体看下文资料清单) 原理图:Altium Designer 仿真图:protues 8.9 程序编译器:keil 5 编程语言:C语言 设计编号:C0032 , ?' b) l9 P/ H$ h# V
主要功能: 1.液晶实时显示DHT11温度和湿度值; 2.具有温湿度超上限阈值报警功能; 3.温湿度上限值阈值可通过按键调节。 仿真图(提供源文件): 电路图(提供源文件): PCB(提供源文件):
! N1 X+ i9 Y8 S) L程序(提供源文件源码): 0 H7 B: D( n$ V$ F
以下为部分程序: - int main(void)
, P0 E, @4 Z, }) M - {# e- f0 N! P$ n
- /* Reset of all peripherals, Initializes the Flash interface and the Systick. */4 f$ E" N/ J4 K. S; M# S
- HAL_Init();
. m* `& q! o; o5 }+ b! p7 M - /* Configure the system clock */1 N! t3 N( @" W* p# p m
- SystemClock_Config();
: V$ X) m# Y9 W" {: j- q - delay_init(10); //初始化延时函数
: `9 t# F7 f4 q; s: b - TIM3_Init(2400-1, 72-1); // 10ms
v. a ^; Z2 e8 G* j9 L6 j
t1 t l/ n( }- Key_Init();
! O: A5 h5 m' T8 z- H - Beep_Init();5 h( s2 o1 `" u
- LCD_Init();2 E9 u; A2 C0 g8 F& n, \. b
- DHT11_Init();: ~9 w7 g p- y* S
; h5 c% O9 [: l9 l/ R# T! O- while(1)
6 T) a/ A3 a9 {4 ~) ? D - {2 R; W( D8 ]+ A; V( n% l0 H, d3 i
- if(DHT11_Read_TempAndHumidity(&DHT11_Data) == SUCCESS)/ Q5 h6 ?' Q5 a7 R% g+ t
- {. k' S e0 @; F* ]9 b3 Y
- temp_table[3] = DHT11_Data.temp_int / 10 + 0x30;3 o" \9 ^3 \8 H5 a8 x y( t9 |
- temp_table[4] = DHT11_Data.temp_int % 10 + 0x30;7 f8 ^: ?4 V- D% E1 E' u2 y
- temp_table[5] = 'c';
- U5 a* b3 J: N; c: L) g2 S9 ] i$ U
, |# M* p1 [0 q- j- humi_table[3] = DHT11_Data.humi_int / 10 + 0x30;9 a$ y- e0 v6 \4 U9 z E) N: A
- humi_table[4] = DHT11_Data.humi_int % 10 + 0x30;
& \! F/ S8 o7 F5 } - 3 z8 i9 g2 m7 S v
. o4 g/ ?1 i W9 O5 j- tMax_table[3] = temp_max / 10 + 0x30;
6 Q7 x9 _4 _ ^9 i( V8 H: Y - tMax_table[4] = temp_max % 10 + 0x30;' P1 X+ j" E! U5 o* C
- tMax_table[5] = 'c';
' B1 [' \ _0 l- ~! b( p! y - / D8 m3 j# B9 l5 D& P+ m
- hMax_table[3] = humi_max / 10 + 0x30;
' p5 i M2 ^; W5 a+ u# \1 r - hMax_table[4] = humi_max % 10 + 0x30;
8 m* k+ ~$ w/ V - ( u2 V; x+ ]1 g' Y9 S. b
- 1 R2 |, H" C- P' M4 g$ S
- LCD_write_string(0, 0, (char*)temp_table);
# H, |: }2 c% b9 j- j' k. M" z - LCD_write_string(8, 0, (char*)humi_table);
G( U# C; ^% p: p: ~: ? - 0 R. `. ]7 \0 X
- LCD_write_string(0, 1, (char*)tMax_table);" w) D. S8 g& J b9 `
- LCD_write_string(8, 1, (char*)hMax_table);+ R W; U4 O! Q
- }
* u) i, q/ a0 _) y( O. H# t5 _/ U) b - if(DHT11_Data.temp_int >= temp_max || DHT11_Data.humi_int >= humi_max): m) x$ X2 m2 U! n& f( t
- {
6 U! X) z1 e* L7 c* Y - LED2_ON();( s% K* V) U. ^6 A8 m
- BEEP_ON();
* C1 Y7 w: i% R) c7 W2 v1 X - } 5 Q. [/ q7 n4 s. c6 G
- else* F5 [. I8 t4 B0 l
- {: j: o6 C7 ?% @! F: ^/ Z9 ]& S& _9 v* H
- LED2_OF();' y5 M5 z$ h" B7 E8 g8 H) `
- BEEP_OF();
0 D" M o+ o7 D, [5 i; C. k) V( q - } . m. t k! W9 ^/ ~0 V
- delay_ms(500);
. r* l8 n4 f# p - 5 N1 L! v6 s0 t
- }' M2 F7 f$ g# Q. S6 y* Z& q
- }
复制代码 ; u' x% C5 r* A9 n n: N
|