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

【经验分享】STM32水位检测系统(仿真+程序)

[复制链接]
STMCU小助手 发布时间:2022-5-30 10:41
本设计$ b, x( Q' i+ T3 J8 `2 V
基于STM32单片机的水位检测系统设计(proteus仿真+程序)
仿真图proteus 8.11
程序编译器:keil 5
编程语言:C语言
设计编号:C0046

: O1 N8 b7 B' M- F
主要功能:
使用滑动变阻器模拟水位监测器,通过改变电压值表示水位的变化。stm32通过ADC检测电压值和设定的阈值比较,低于阈值则驱动电机转动,同时通过led表示水位状态。

: Z9 x# D) e( _# f" r
仿真图(提供源文件):
640 (1).png
# V! _, ^- m/ y, G0 [3 J
程序(提供源文件源码):
640.png
% ?) w: _; Z. X7 Y' p% J
以下为部分程序:
  1. int main(void)# w- e' A& o0 ^  C; e$ p7 U
  2. {   5 s( S% I" U7 u8 D5 h+ I0 E# c$ X
  3.   u16 ADCValue;; N" @5 b* E$ `' @8 [: W& V
  4.   float voltage;
    + C8 }! a0 s2 T* G, T
  5.   u8 Mflag=2;
    ' W: d$ u! O7 a4 _/ ^" Z+ B6 G, n
  6.   u8 OPENflag=0;  //起初代表水泵关
    / a) G; k. ]3 d; F9 q( t1 P6 c9 Y
  7.   delay_init();            
    7 _8 y; |' H4 R# C
  8.   Adc_Init();        2 L( G8 y4 q+ S, e+ f6 R: q" Q
  9.   GPIO_InitStructReadtempCmd();2 m, @' j1 ?% L
  10.   MotoR_GPIO();
    ( i1 |- P1 o5 |" w
  11.   lcd_system_reset();# E" l6 \# m& w6 y3 {
  12.   LED1=1;
    2 q4 X" j5 T! d$ x' U9 b
  13.   LED2=0;+ X6 `2 i: k& b$ R- U% U3 J
  14.   MOTOR=1;7 N2 F' g" L) h, J+ Z/ {. F
  15.   while(1)8 P8 Q, p% |6 s6 k+ Y; F
  16.   {
    . y' N% O; y; D% R# P/ A" v- |
  17.       ADCValue=Get_Adc_Average(ADC_Channel_0,10);$ p/ ]0 `0 @1 F4 r; ?# X3 x
  18.     voltage=((float)ADCValue/4096)*3.3;//计算电压
    0 p: p1 U6 j+ d: {1 |7 D4 W
  19.     H=(10000*voltage)/33;
    . P7 T8 f' p5 w
  20.     if(H>400) //40%  阈值& J+ |% x3 S% t, K3 [' {* E" @0 s) E' D
  21.     {, Y0 w- x3 H2 t7 _% z5 R7 w
  22.       display2();. v2 A  k; ]1 j$ C  K8 m0 {
  23.       Mflag=1;    //储水量足够,关闭水泵
    $ q: I% f& I# b5 ~7 j2 m3 Z, y
  24.     }  I. A0 C1 F1 I" @# j2 d
  25.     else
    . }8 W0 Q; p# a! ?6 g, I
  26.      {
    , Y' F2 @. `+ \' U) E
  27.      display1();
    5 `  q" C; _/ `( m5 v
  28.      Mflag=0;  //储水量不足够,需要启动水泵
    / ~$ [; y1 `* ]0 A5 l+ ?( o2 }
  29.      }  
    - c3 j! P/ e9 p, @! m
  30.      if(Mflag==1&&OPENflag==1)
    & A8 f0 e  ~, ^( V
  31.     {
    % A- C' i* ~; X7 Z, Z# i5 I
  32.          LED1=1;
    - T, n8 _& Z; H. r% w0 I2 M
  33.              LED2=0;3 o3 ?+ H+ B. j/ ?3 _
  34.       MOTOR=1;//关闭水泵
    ) E$ j) g9 q' \& Q' Q
  35.         Mflag=2;
    - W, c9 w, r* T! V* S# |# [
  36.         OPENflag=0;   //已经关好
      v$ q, |  [3 |! b  F7 x
  37.     }( t8 t3 B' A$ Y
  38.     else if(Mflag==0&&OPENflag==0)
    . F: Q8 u6 F3 T4 d/ Z  J
  39.      {' U. h9 w+ R1 t/ I# c
  40.        LED1=0;
    # k% z2 e$ s- M0 X6 v/ u& O
  41.            LED2=1;
    , |) F4 k1 Q& y1 \' l
  42.        MOTOR=0;//开水泵0 \. U2 c) y( p1 F3 T; H3 A! j& i
  43.        Mflag=2; ' U2 d% [3 N0 p1 w7 E# K7 s* [" h8 h
  44.        OPENflag=1;    //已经开好           . \2 u% s' @1 e+ ?
  45.      }
    : _( P$ @. W2 W8 k' w
  46.   }
    ) Z, v- G% a2 A# q4 X3 K- }
  47. }
    3 H$ J( o( }' a( i7 P& l
复制代码
/ L) B6 [+ |( E' p3 l/ N# z" I
收藏 评论0 发布时间:2022-5-30 10:41

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版