找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1933|回复: 0
打印 上一主题 下一主题
收起左侧

15单片机HX711重量传感器代码

[复制链接]
跳转到指定楼层
楼主
ID:650412 发表于 2021-7-13 21:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
15单片机重量传感器+HX711 AD模块;使用串口一输出

单片机源程序如下:
  1. #include "stc15.h"
  2. #include "delay.h"
  3. #include "uart.h"
  4. #include "stdio.h"
  5. #include "HX711.h"

  6. sbit LED1 = P2^6;
  7. sbit LED2 = P2^7;
  8. sbit LED3 = P4^5;
  9. sbit LED4 = P4^6;
  10. //sbit ren=P0^3;


  11. void Get_Weight();
  12. void Get_Maopi();
  13. char putchar(char c);

  14. unsigned long HX711_Buffer = 0;
  15. unsigned long Weight_Maopi = 0;
  16. unsigned long Weight_Shiwu = 0;


  17. #define GapValue 400
  18. bit Flag_ERROR = 0;
  19. void GPIO()                   //串口初始化
  20. {
  21.         P0M0=0X00;P0M1=0X00;
  22.         P1M0=0X00;P1M1=0X00;
  23.         P2M0=0X00;P2M1=0X00;
  24.         P3M0=0X00;P3M1=0X00;
  25.         P4M0=0X00;P4M1=0X00;
  26.         P5M0=0X00;P5M1=0X00;       
  27. }

  28. void main()
  29. {
  30.         GPIO();
  31.        
  32.   Uart1Init();
  33.         Delay_x_ms(1000);
  34.         Get_Maopi();
  35.         while(1)
  36.         {
  37.                 LED1=~LED1;
  38.         Delay_x_ms(2000);
  39.                 EA = 0;
  40.                 Get_Weight();                        //称重
  41.                 EA = 1;       
  42.                 //Uart_1_Sendbit(Weight_Shiwu);
  43.                 printf("距离= %ldCM\r\n",Weight_Shiwu);
  44.         }
  45. }


  46. void Get_Weight()
  47. {
  48.         Weight_Shiwu = HX711_Read();
  49.         Weight_Shiwu = Weight_Shiwu - Weight_Maopi;                //获取净重
  50.         if(Weight_Shiwu > 0)                       
  51.         {       
  52.                 Weight_Shiwu = (unsigned int)((float)Weight_Shiwu/GapValue);         //计算实物的实际重量                                                                                                                                                                                                                                                                                       
  53.                 if(Weight_Shiwu > 5000)                //超重报警
  54.                 {
  55.                         Uart_1_Sendbits("错误");       
  56.                 }
  57.                 else
  58.                 {
  59.                         Uart_1_Sendbits("重量");
  60.                 }
  61.         }
  62.         else
  63.         {
  64.                 Weight_Shiwu = 0;
  65.         //        Flag_ERROR = 1;                                //负重报警
  66.         }
  67.        
  68. }

  69. void Get_Maopi()
  70. {
  71.         Weight_Maopi = HX711_Read();       
  72. }

  73. char putchar(char C)
  74. {
  75.         SBUF= C;
  76.         while(TI==0);
  77.         TI=0;
  78.         return C;
  79. }
复制代码

所有代码51hei提供下载:
15单片机重量传感器.zip (53.12 KB, 下载次数: 27)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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