找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2344|回复: 1
收起左侧

基于STM32单片机(F103芯片)控制水位程序

[复制链接]
ID:511988 发表于 2019-5-19 10:39 | 显示全部楼层 |阅读模式
  1. #include "stm32f10x.h"
  2. #include "delay.h"
  3. #include "fdc2214.h"
  4. #include "oled.h"
  5. #include "sys.h"
  6. #include "myiic.h"
  7. #include "stdio.h"
  8. #include "KG.h"

  9. int average(void)
  10. {
  11.         int i,sum=0,Max_s_0=0;
  12.         for(i=1;i<=10;i++)
  13.         {
  14.                 FDC2214_GetData();
  15.           Data_processing();
  16.                 if(Max_s_0<=s_0) Max_s_0=s_0;
  17.                 sum+=s_0;
  18.         }
  19.         return (sum-Max_s_0)/9;
  20. }

  21. int main (void)
  22. {
  23.         int a;
  24.         delay_init();
  25.   FDC2214_IIC_Init();
  26.         OLED_Init();
  27.         OLED_Display_On();
  28.         IIC_Init();
  29.         FDC2214_Init();
  30.         KG_Init();


  31.         OLED_Display_On();
  32. //  OLED_ShowNum(0,0,9,1,16);
  33. //        OLED_Refresh_Gram();

  34.   while(1)
  35.   {
  36.                 a=average()/10;
  37.                 a=s_0/10;
  38.           OLED_Show3FNum(0,0,a,6,0,12);
  39.     OLED_Refresh_Gram();
  40.           KG0=1;
  41.           KG1=0;
  42.           if(525<=a&&a<=530)
  43.                 {
  44.                                   KG0=0;
  45.                                         KG1=0;
  46.                         delay_ms(5000);
  47.                 }
  48.                 OLED_Refresh_Gram();
  49.                
  50.                 if(505<=a&&a<=510)
  51.                 {
  52.                                         KG0=0;
  53.                                         KG1=0;
  54.                         delay_ms(5000);
  55.                 }
  56.                 OLED_Refresh_Gram();
  57.                
  58.                 if(485<=a&&a<=490)
  59.                 {
  60.                                         KG0=0;
  61.                                         KG1=0;
  62.                         delay_ms(5000);
  63.                 }
  64.                 OLED_Refresh_Gram();
  65.                
  66.                 if(a<470)
  67.                         break;
  68.   }
  69.        
  70.         while(1)
  71.         {
  72.                 a=average()/10;
  73.           OLED_Show3FNum(0,0,a,6,0,12);
  74.     OLED_Refresh_Gram();
  75.           KG0=0;
  76.           KG1=1;
  77.                 if(a>550) break;
  78.         }
  79. }
  80.        
复制代码


利用的是fdc2214传感器,以供参考。



main.zip

612 Bytes, 下载次数: 12, 下载积分: 黑币 -5

oled.zip

3.96 KB, 下载次数: 9, 下载积分: 黑币 -5

KG.zip

549 Bytes, 下载次数: 10, 下载积分: 黑币 -5

KG (2).zip

289 Bytes, 下载次数: 8, 下载积分: 黑币 -5

回复

使用道具 举报

ID:1 发表于 2019-5-19 19:10 | 显示全部楼层
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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