|
本设计 基于STM32大棚DHT11温湿度监测protues仿真设计 资料包含:程序+仿真+原理图+PCB(具体看下文资料清单) 原理图:Altium Designer 仿真图:protues 8.9 程序编译器:keil 5 编程语言:C语言 设计编号:C0032
+ f2 l2 A7 Q( M+ ^+ w, |9 t7 ?主要功能: 1.液晶实时显示DHT11温度和湿度值; 2.具有温湿度超上限阈值报警功能; 3.温湿度上限值阈值可通过按键调节。 仿真图(提供源文件): 电路图(提供源文件): PCB(提供源文件): ) t* A* x; a: C e
程序(提供源文件源码):
/ h8 A/ `+ _+ V1 k' v6 n, c5 R6 t以下为部分程序: - int main(void)
7 D% t8 R/ a/ k+ P: p; q6 L$ Z6 f - {2 R" e1 |, l# f% a8 G4 ?
- /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
) U( c! Q+ d5 S# x1 L, l; _4 d - HAL_Init();) b, ^3 A1 ?/ |- K9 E8 L" j
- /* Configure the system clock */
4 |5 s2 {+ F" O# o) [ - SystemClock_Config();
- I2 ~3 D2 j9 Z+ V - delay_init(10); //初始化延时函数! ^3 N0 _ I8 M2 g3 [" C, ?
- TIM3_Init(2400-1, 72-1); // 10ms
+ ~5 P' W$ }' F - 7 z/ E: }+ a) u3 c' {( H
- Key_Init();) V+ h" N8 d! N1 |0 D, Q
- Beep_Init();4 V3 q% R* ]( s1 }* q
- LCD_Init();
9 O/ g" |( V6 G Y5 L - DHT11_Init();
/ O/ @& o8 H& E" Q% O$ S
. [3 s; [" c% }8 R2 J$ L. I- while(1)
( D; F- P) _" ^/ b9 N) I5 |/ ?" L4 [ - {" E# T, D3 B0 ~3 G. F" n0 s5 n3 [
- if(DHT11_Read_TempAndHumidity(&DHT11_Data) == SUCCESS)
( Y) V) A0 `' o; T: p4 p - { ?% a) g0 t2 Y7 b- n
- temp_table[3] = DHT11_Data.temp_int / 10 + 0x30;7 Y$ ]8 [3 o* H! V" R/ v/ C2 z( q
- temp_table[4] = DHT11_Data.temp_int % 10 + 0x30;7 X. J4 J# v- B: H+ K8 d' ~
- temp_table[5] = 'c';
# R! C8 O, j! T$ }& L X" }8 `
* `$ ?% z- r# S% b" {- L. o- humi_table[3] = DHT11_Data.humi_int / 10 + 0x30;% u, V( z b8 [0 s: A
- humi_table[4] = DHT11_Data.humi_int % 10 + 0x30;3 c0 P7 U y) z9 B
5 r, L& q* c Z! f- ^% a a- U5 w. Q3 R9 }
- tMax_table[3] = temp_max / 10 + 0x30;8 @7 A& ?$ z0 `8 J: f/ z1 L5 K
- tMax_table[4] = temp_max % 10 + 0x30;
# \* ?- i) I9 { - tMax_table[5] = 'c';
0 |& P, Q6 j. d- L/ V, g
0 N5 z( ?- W( z5 _9 S$ k5 R' ]- hMax_table[3] = humi_max / 10 + 0x30;
# q R- z* J+ v7 T4 h8 ~, f7 O% H - hMax_table[4] = humi_max % 10 + 0x30;% \2 q7 {* t5 ^" X( r8 y
- 6 C, V) i' @, t% X- x
- 2 [2 P" T7 {) d% {0 H0 }
- LCD_write_string(0, 0, (char*)temp_table);
; R5 Q( x% g& s- g! | - LCD_write_string(8, 0, (char*)humi_table);; D6 c/ b! `+ N5 M v& |9 N
- 4 ]4 [* }) p+ Q
- LCD_write_string(0, 1, (char*)tMax_table);6 F/ F p% o; l. }$ I
- LCD_write_string(8, 1, (char*)hMax_table);
$ ]* T( h0 [9 [& i - }0 }( g' ^ q3 ?/ i( G7 B) F
- if(DHT11_Data.temp_int >= temp_max || DHT11_Data.humi_int >= humi_max)
9 O2 n3 T3 o$ H T- L% O7 B: J# d - {
6 y, k4 ~. ^4 M4 U - LED2_ON();
9 R8 ?. e! z( n p) w* i - BEEP_ON();$ W; S8 l3 G3 z: z4 M7 u
- } h7 p( m/ x; }* k' K! s
- else+ O; E# r5 U* N. l6 V# S1 J# m5 C$ v
- {( O$ V. h- l1 h5 u$ l
- LED2_OF();0 Z+ A% R% G! Z* L1 m' ~
- BEEP_OF();& w$ a9 \, h1 @0 T
- }
* E5 U9 O4 v2 \/ `6 L- y: i - delay_ms(500);
- ]; G& O: C* r7 _
9 n! Z! i ]* d' O- }
- q$ m" ?" Q$ J. t6 B4 n: p, {: J - }
复制代码 1 ~! ~# v9 k1 v8 B1 F' L i S
|