找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3703|回复: 3
收起左侧

STM32F103电子秤程序 称重逻辑

[复制链接]
ID:730478 发表于 2020-4-16 17:16 | 显示全部楼层 |阅读模式
实时重量计算,附带可分部拿走部分的重量,OLED显示  同时可通过串口上位机显示拿去部分的重量
51hei.png
单片机源程序如下:
  1. #include "delay.h"
  2. #include "sys.h"
  3. #include "oled.h"
  4. #include "bmp.h"
  5. #include "adc.h"
  6. #include "pwm.h"
  7. #include "key.h"
  8. #include "pwm.h"
  9. #include "HX711.h"
  10. #include "usart.h"

  11. int main(void)
  12.   {        
  13.                
  14.                 char current[]={"current:"};
  15.     char take[]={"t a k e:"};
  16.                 char carry[]={"current:"};
  17.                 u8 i=0 ;
  18.     SystemInit();               /*系统时钟初始化*/
  19.                 delay_init();               /*延时函数初始化*/        
  20.                 OLED_Init();                     /*OLED初始化*/
  21.                 OLED_Clear();        /*OLED清屏*/
  22.                 Init_HX711pin();
  23.           USART1_Config();
  24.                 delay_ms(100);
  25.     key_init();
  26.                 OLED_ShowString(0,2,current,16);
  27.                 OLED_ShowString(0,4,take,16);
  28.                 Get_Weight();        
  29.           offset=Weight_Shiwu;
  30.         while(1)
  31.         {               
  32.     Get_Weight();
  33.     tot=Weight_Shiwu-offset;
  34.           if(tot<=0)tot=0;
  35.     OLED_ShowNum(80,2,tot,6,16);
  36.                
  37.     if (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_10) == 0)
  38.                 {
  39.                         delay_ms(500);
  40.                             if (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_10) == 0)
  41.                                         {
  42.             i++;
  43.                                         }
  44.                 }
  45.     if(i==1)
  46.                 {
  47.                   tot_old=tot;
  48.                         i=2;
  49.                         err=0;
  50.       OLED_ShowChar(75,4,'*',16);
  51.       OLED_ShowChar(65,4,' ',16);
  52.       OLED_ShowNum(80,4,err,6,16);
  53.                 }
  54.     if(i==3)
  55.                 {
  56.       err=tot_old-tot;
  57.                         i=0;
  58.                   if(err<=0)
  59.                   {
  60.                   err=-err;
  61.                    }
  62.       OLED_ShowChar(75,4,'*',16);
  63.       OLED_ShowChar(65,4,'*',16);
  64.       OLED_ShowNum(80,4,err,6,16);
  65.       USART_SendData(USART1,err);
  66.                 }
  67.     //  USART_SendData(USART1,err);
  68.         }         
  69.         
  70. }
  71.         
复制代码

所有资料51hei提供下载:
电子秤串口 oled 拿去重量.7z (206.11 KB, 下载次数: 87)
回复

使用道具 举报

ID:446775 发表于 2021-3-25 15:53 | 显示全部楼层
你用的传感器量程是多大的?我目前做了一款使用51做的,输出用的是LCD1602,感觉不够用,想输出用OLED屏试试
回复

使用道具 举报

ID:874751 发表于 2021-3-19 13:02 | 显示全部楼层

同问
回复

使用道具 举报

ID:887744 发表于 2021-3-5 08:42 来自手机 | 显示全部楼层
怎么接线呢
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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