找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于stm32的HX711電子秤全套資料 含源碼 原理圖 PCB

  [復(fù)制鏈接]
ID:197561 發(fā)表于 2017-5-7 00:09 | 顯示全部樓層 |閱讀模式
基于stm32的電子秤資料,基于HX711芯片,傳感器數(shù)據(jù)采集板和主控板的完整源碼與原理圖pcb文件都有提供,歡迎大家下載.

傳感器數(shù)據(jù)采集板原理圖:
0.png
0.png

傳感器數(shù)據(jù)采集板pcb:
0.png 0.png

stm32單片機(jī)源程序:
  1. #include <stm32f10x_lib.h>
  2. #include "STM32_Init.h"
  3. #include "stm32f10x_it.h"
  4. #include "main.h"
  5. #include "delay.h"
  6. #include "sys.h"
  7. #include "lcd12864.h"
  8. #include "scale_key.h"
  9. #include "scale_lcd.h"
  10. #include "keyboard.h"
  11. #include "hx711.h"
  12. #include "timer.h"

  13. #define weightNum        0x1FF22

  14. //定義變量
  15. u8 keyNum;        //按鍵位
  16. u16 outWeightNum;          //去皮重
  17. u8 pointNum; //小數(shù)點(diǎn)的位置
  18. u8 saveMoneyFlag;  //保存單價(jià)的次數(shù)
  19. u8 countNum;        //當(dāng)前數(shù)的位置


  20. Thing  curr, moneyOne, moneyTwo, moneyThree;

  21. //按鍵反應(yīng)函數(shù)
  22. void funManage(void)
  23. {
  24.         switch(keyNum)
  25.         {
  26.                 case Clear :                   //清除:去皮指示、去皮量、單價(jià)、E2PROM價(jià)格
  27.                         Skey_Clear();
  28.                         break;        

  29.                 case Total :                   //多次單次金額總價(jià)
  30.                         Skey_Total();
  31.                         break;

  32.                 case OutWeight :         //去皮:當(dāng)前重量,去皮后每次的AD值都要減去當(dāng)前值才計(jì)算重量
  33.                         Skey_OutWeight();
  34.                         break;

  35.                 case SetZero :                 //清掉價(jià)格
  36.                         Skey_SetZero();
  37.                         break;

  38.                 case Save :                         //存儲當(dāng)前金額
  39.                         Skey_Save();
  40.                         break;
  41.         
  42.                 case Zero :        break;
  43.                 case One : break;
  44.                 case Two : break;
  45.                 case Three :break;
  46.                 case Four :        break;
  47.                 case Five :        break;
  48.                 case Six : break;
  49.                 case Server :break;
  50.                 case Eight :break;
  51.                 case Nine :break;
  52.                 case Point :
  53.                         Skey_OneToNine();
  54.                         break;

  55.                 default : break;
  56.         }
  57.                         
  58. }


  59. //12864 顯示函數(shù)
  60. void disManage(void)
  61. {
  62.         switch(keyNum)
  63.         {
  64.                 case Clear :                   //清除:去皮指示、去皮量、單價(jià)、E2PROM價(jià)格
  65.                         DIS_Init();
  66.                         break;        
  67.                 case Total :                   //多次單次金額總價(jià)
  68.                         DIS_Body();
  69.                         break;

  70.                 case OutWeight :         //去皮:當(dāng)前重量,去皮后每次的AD值都要減去當(dāng)前值才計(jì)算重量
  71.                         DIS_OutWeight();
  72.                         break;

  73.                 case SetZero :                 //清掉價(jià)格
  74.                         DIS_Body();
  75.                         break;

  76.                 case Save :                         //存儲當(dāng)前金額
  77.                         DIS_Save();
  78.                         break;
  79.                 case Money1 :                         //金額1
  80.                         DIS_Money1();
  81.                         break;

  82.                 case Money2 :                         //金額2
  83.                         DIS_Money2();
  84.                         break;

  85.                 case Money3 :                         //金額3
  86.                         DIS_Money3();
  87.                         break;
  88.         
  89.                 case Zero :
  90.                 case One :
  91.                 case Two :
  92.                 case Three :
  93.                 case Four :
  94.                 case Five :
  95.                 case Six :
  96.                 case Server :
  97.                 case Eight :
  98.                 case Nine :
  99.                 case Point :
  100.                         if(countNum > 5)
  101.                         {
  102.                                 DIS_MoreLimit();        
  103.                         }
  104.                         else
  105.                         {
  106.                                 DIS_Body();
  107.                         }                        
  108.                         break;

  109.                 default :  //顯示重量的值                        
  110.                         DIS_Body();
  111.                         break;
  112.         }        
  113. }

  114. unsigned long temp;
  115. int main()
  116. {        
  117.         u8 i = 0;
  118.         

  119.         stm32_Init();
  120.         SysTickInit();               
  121.     LCD_Init();        

  122.         DIS_Init();
  123. //        Timerx_Init(5000,7199);//10Khz的計(jì)數(shù)頻率,計(jì)數(shù)到5000為500ms

  124.         curr.weight = 0;
  125.         curr.weightZero = 0;
  126.         curr.money = 0;

  127. //        DIS_Init();
  128. //        LCD_WriteCMD(0x01);        //清屏
  129. //        while(1);
  130.         
  131. //        while(1)
  132. //        {
  133. //               
  134. //                temp = GetValueMidTui();
  135. //                //temp >>= 6;
  136. //                LCD_WriteCMD(0x90);
  137. //                LCD_WriteNum(temp);
  138. //
  139. //                LCD_WriteCMD(0x80);
  140. //                if(temp < 0x20085)
  141. //                {
  142. //                        LCD_WriteNum(0);
  143. //                } else
  144. //                {                                                
  145. //                        temp -= 0x20080;
  146. //                        LCD_WriteNum(temp);
  147. //                }               
  148. //                delay_ms(100);
  149. //                LCD_WriteCMD(0x80);
  150. //                LCD_WriteString("                  ");
  151. //        }                                          
  152.     while(1)
  153.     {        
  154.                 keyNum = Key_Scan();   // 鍵盤掃描
  155.         
  156.                 if(keyNum != 255)
  157.                 {
  158.                         funManage();
  159.                         //功能實(shí)現(xiàn)
  160.                 }
  161.                 else
  162.                 {
  163.                         curr.weight = GetValueMidTui();                //重量  濾波
  164.                         if(curr.weight > (weightNum - outWeightNum))
  165.                         {
  166.                                 curr.weight = 0;
  167.                         } else
  168.                         {                                                


  169. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

下載:
電子秤源碼.7z (382.63 KB, 下載次數(shù): 1588)
electronic balance-主控板.7z (17.58 MB, 下載次數(shù): 770)
electronic balance-傳感器數(shù)據(jù)采集板.7z (9.22 MB, 下載次數(shù): 890)

評分

參與人數(shù) 4黑幣 +20 收起 理由
jankinxie + 5 很給力!
15133530859 + 5 絕世好帖!
yang!@ + 5 贊一個(gè)!
駱駝駝 + 5 共享資料的黑幣獎勵!

查看全部評分

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:184230 發(fā)表于 2017-5-7 12:50 | 顯示全部樓層
正好想做一個(gè),拿來參考一下,多謝了
回復(fù)

使用道具 舉報(bào)

ID:183941 發(fā)表于 2017-5-17 11:27 | 顯示全部樓層
謝謝了!
回復(fù)

使用道具 舉報(bào)

ID:202167 發(fā)表于 2017-5-18 13:52 來自手機(jī) | 顯示全部樓層
好東西,謝謝!n
回復(fù)

使用道具 舉報(bào)

ID:200111 發(fā)表于 2017-5-27 13:37 | 顯示全部樓層
謝謝了
回復(fù)

使用道具 舉報(bào)

ID:207213 發(fā)表于 2017-6-2 21:02 | 顯示全部樓層
很好 ,謝謝了
回復(fù)

使用道具 舉報(bào)

ID:97689 發(fā)表于 2017-6-5 16:40 | 顯示全部樓層
正做這個(gè)項(xiàng)目呢,非常感謝
回復(fù)

使用道具 舉報(bào)

ID:97689 發(fā)表于 2017-6-5 16:41 | 顯示全部樓層
非常感謝
回復(fù)

使用道具 舉報(bào)

ID:214223 發(fā)表于 2017-6-24 12:46 | 顯示全部樓層
弱弱的問一句,ADC  32里面不是自帶得有嗎  
回復(fù)

使用道具 舉報(bào)

ID:221051 發(fā)表于 2017-7-23 11:55 | 顯示全部樓層
Host 發(fā)表于 2017-6-24 12:46
弱弱的問一句,ADC  32里面不是自帶得有嗎

hx711用起來更方便,價(jià)格也就一塊多點(diǎn)。
回復(fù)

使用道具 舉報(bào)

ID:52857 發(fā)表于 2017-7-27 11:44 | 顯示全部樓層
不錯(cuò),學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

ID:224625 發(fā)表于 2017-8-4 10:56 | 顯示全部樓層
您好,我用您的程序提示..\User\inc\main.h(3): error:  #5: cannot open source input file "stm32f10x_lib.h": No such file or directory
回復(fù)

使用道具 舉報(bào)

ID:224625 發(fā)表于 2017-8-4 10:57 | 顯示全部樓層
您用的是MDK3.2版本?
回復(fù)

使用道具 舉報(bào)

ID:69380 發(fā)表于 2017-8-22 16:47 | 顯示全部樓層
謝謝了!
回復(fù)

使用道具 舉報(bào)

ID:220208 發(fā)表于 2017-11-14 10:03 | 顯示全部樓層
感謝大佬啊啊啊啊
回復(fù)

使用道具 舉報(bào)

ID:250014 發(fā)表于 2017-11-16 13:41 | 顯示全部樓層
下下來看看哈
回復(fù)

使用道具 舉報(bào)

ID:250019 發(fā)表于 2017-11-17 08:05 | 顯示全部樓層
下來看看感覺還是不錯(cuò)的
回復(fù)

使用道具 舉報(bào)

ID:250019 發(fā)表于 2017-11-17 14:04 | 顯示全部樓層
為什么里邊沒有庫文件
回復(fù)

使用道具 舉報(bào)

ID:278028 發(fā)表于 2018-1-20 14:52 | 顯示全部樓層
看起來很不錯(cuò)
回復(fù)

使用道具 舉報(bào)

ID:279935 發(fā)表于 2018-1-26 14:15 | 顯示全部樓層
感覺不錯(cuò)
回復(fù)

使用道具 舉報(bào)

ID:267330 發(fā)表于 2018-1-31 11:33 | 顯示全部樓層
我想下載啊
回復(fù)

使用道具 舉報(bào)

ID:284619 發(fā)表于 2018-2-21 15:43 | 顯示全部樓層
下載回來學(xué)習(xí)一下。謝謝!
回復(fù)

使用道具 舉報(bào)

ID:284619 發(fā)表于 2018-2-21 15:43 | 顯示全部樓層
謝謝了!學(xué)習(xí)一下。
回復(fù)

使用道具 舉報(bào)

ID:263867 發(fā)表于 2018-3-22 09:45 | 顯示全部樓層
支持樓主,好東西,就是沒分了
回復(fù)

使用道具 舉報(bào)

ID:249403 發(fā)表于 2018-3-29 15:41 | 顯示全部樓層
謝謝。。。。。。。。
回復(fù)

使用道具 舉報(bào)

ID:76041 發(fā)表于 2018-4-6 14:26 | 顯示全部樓層
下載看看,謝謝!
回復(fù)

使用道具 舉報(bào)

ID:76041 發(fā)表于 2018-5-1 22:51 | 顯示全部樓層
正好能用到,下載直接復(fù)制嘍  多謝樓主
回復(fù)

使用道具 舉報(bào)

ID:320747 發(fā)表于 2018-5-2 20:31 | 顯示全部樓層
好東西
回復(fù)

使用道具 舉報(bào)

ID:322177 發(fā)表于 2018-5-6 15:33 | 顯示全部樓層
請問這個(gè)是可以稱多重東西的?
回復(fù)

使用道具 舉報(bào)

ID:278417 發(fā)表于 2018-5-6 20:54 | 顯示全部樓層
請問題主的程序是不是有問題啊,Data[N] = ReadCount();N定義為12,不夠數(shù)據(jù)存儲啊
回復(fù)

使用道具 舉報(bào)

ID:260557 發(fā)表于 2018-5-9 08:38 | 顯示全部樓層
學(xué)習(xí)了 非常感謝
回復(fù)

使用道具 舉報(bào)

ID:336740 發(fā)表于 2018-5-24 09:28 | 顯示全部樓層
好資料,非常感謝
回復(fù)

使用道具 舉報(bào)

ID:350244 發(fā)表于 2018-6-12 14:37 | 顯示全部樓層
太好了  正在找
回復(fù)

使用道具 舉報(bào)

ID:350783 發(fā)表于 2018-6-13 08:25 | 顯示全部樓層
厲害厲害~~下來學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:351298 發(fā)表于 2018-6-13 18:23 | 顯示全部樓層
正在做 學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

ID:362226 發(fā)表于 2018-6-30 12:28 | 顯示全部樓層
可以的
回復(fù)

使用道具 舉報(bào)

ID:366411 發(fā)表于 2018-7-6 16:43 | 顯示全部樓層
學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

ID:373671 發(fā)表于 2018-7-17 22:23 | 顯示全部樓層
謝謝,拿來學(xué)習(xí)一下,很棒!
回復(fù)

使用道具 舉報(bào)

ID:130752 發(fā)表于 2018-7-31 02:41 | 顯示全部樓層
謝謝!學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

ID:382431 發(fā)表于 2018-8-3 10:17 | 顯示全部樓層
謝謝!學(xué)習(xí)一下,真棒
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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