找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

分享一份最近做的基于51單片機的HX711電子秤,有需要的朋友可以作為參考

[復(fù)制鏈接]
ID:357526 發(fā)表于 2018-12-10 16:01 | 顯示全部樓層 |閱讀模式
0.png

電路原理圖如下:
0.jpg

單片機源程序如下:
  1. #include "key.h"
  2. #include "led.h"
  3. #include "lcd12864.h"
  4. #include "HX711.h"
  5. #include "main.h"
  6. #include <intrins.h>
  7. #include <string.h>
  8. #include "eeprom52.h"

  9. #define uchar unsigned char
  10. #define uint unsigned int
  11. uchar temp;                                                //儲存鍵值
  12. uint GapValue,GapValue1;                //修改除數(shù)
  13. /*-------------外部定義函數(shù)或變量-----------------*/
  14. extern unsigned char code image[];         
  15. extern void lcddisplay();
  16. extern unsigned long HX711_Read(void);
  17. extern void weight_get();
  18. extern void maopi_get();
  19. extern void display_price();
  20. extern void display_weight();
  21. extern void display_money();
  22. bit bdata flag_key;


  23. void delay1()
  24. {;;}                                                   //延時函數(shù) 大概10us

  25. void delay(uint x)
  26. {
  27.     uint a,b;
  28.         for(a=x;a>0;a--)
  29.           for(b=110;b>0;b--);           //延時時間函數(shù) 大概x=1000為1s
  30. }                        

  31. //定時器0以及l(fā)cd12864初始化
  32. void init()
  33. {
  34.         rw=0;
  35.         psb=1;
  36.         delay1();                  //根據(jù)時序圖操作
  37.         write_com(0x30);  //基本指令操作
  38.         write_com(0x0c);  //開顯示關(guān)光標,0x0e就是開顯示開光標
  39.         write_com(0x06);  //寫入一個字符,地址加1
  40.         write_com(0x01);  //清除LCD的顯示內(nèi)?
  41.         delay(5);
  42. }        
  43. void main()
  44. {        
  45.         init_eeprom();  //開始初始化保存的數(shù)據(jù)        
  46.     init();                //LCD初始化        
  47.         maopi_get();        //獲取開機時候的毛重,所以開機時托盤上應(yīng)該為零重量  這里是必須要注意的
  48.         start_lcd();    //開機動畫及其應(yīng)該初次顯示的東西               
  49.         while(1)
  50.         {
  51.                   weight_get();    //循環(huán)地獲取重量
  52.                   temp=keyscan();  //按鍵掃描
  53.                   //有效鍵值0-15
  54.                   if (temp<16)
  55.                   {
  56.                          key_select(temp);//循環(huán)地不停檢查是否有按鍵按下,按下則立馬執(zhí)行相應(yīng)動作
  57.                          while(temp<16)
  58.                          {
  59.                                 if(temp==10||temp==11) //這里是修改GapValue值得
  60.                                 {        
  61.                                          key_select(temp);//再次確認temp
  62.                                          weight_get();          //繼續(xù)稱重顯示
  63.                                          flag_key=1;          //修改按鍵標志
  64.                                 }
  65.                         //        temp=keyscan();
  66.                           }
  67.                    }
  68.                   write_eeprom();//保存設(shè)定參數(shù)
  69.         }        
  70. }
  71.          
復(fù)制代碼

所有資料51hei提供下載:
hx711.7z (2.24 MB, 下載次數(shù): 86)


評分

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

查看全部評分

回復(fù)

使用道具 舉報

ID:489773 發(fā)表于 2019-4-1 20:24 | 顯示全部樓層
下載試試,謝謝樓豬
回復(fù)

使用道具 舉報

ID:823423 發(fā)表于 2020-9-26 10:38 | 顯示全部樓層
樓主用的是什么單片機。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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