找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2453|回復(fù): 0
收起左側(cè)

15單片機(jī)HX711重量傳感器代碼

[復(fù)制鏈接]
ID:650412 發(fā)表于 2021-7-13 21:19 | 顯示全部樓層 |閱讀模式
15單片機(jī)重量傳感器+HX711 AD模塊;使用串口一輸出

單片機(jī)源程序如下:
  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);         //計(jì)算實(shí)物的實(shí)際重量                                                                                                                                                                                                                                                                                       
  53.                 if(Weight_Shiwu > 5000)                //超重報(bào)警
  54.                 {
  55.                         Uart_1_Sendbits("錯(cuò)誤");       
  56.                 }
  57.                 else
  58.                 {
  59.                         Uart_1_Sendbits("重量");
  60.                 }
  61.         }
  62.         else
  63.         {
  64.                 Weight_Shiwu = 0;
  65.         //        Flag_ERROR = 1;                                //負(fù)重報(bào)警
  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. }
復(fù)制代碼

所有代碼51hei提供下載:
15單片機(jī)重量傳感器.zip (53.12 KB, 下載次數(shù): 30)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表