傳感器與電路板對接順序: 紅、白、黑、綠 四根線分別依次對應電路板上的 E+、E-、A-、A+ 。 系統供電5V,可使用手機充電器USB接口或電腦USB接口直接供電。
一、日歷時間的設置 接通電源后,打開開關,開機默認處于“日歷時間模式”。屏幕顯示如下圖: 在“日歷時間模式”下,僅A、B、C、D四個按鍵有效。 A:設置;依次按下A鍵,年、月、日、時、分、秒的光標依次閃爍,可通過B、C鍵調節。 B:加鍵;按一下,數值加一。 C:減鍵;按一下,數值減一。 D:查看鬧鐘;進入“鬧鐘界面”。
1.png (36.05 KB, 下載次數: 0)
下載附件
2025-6-13 11:20 上傳
二、鬧鈴的設置 在鬧鐘設置界面,依次按下A鍵,鬧鈴的:開/關、時、分、秒的光標依次閃爍。 然后可通過B、C鍵進行調節。 按D鍵則隨時可退出“鬧鈴設置界面”返回到“日歷時間界面”。
2.png (27.55 KB, 下載次數: 0)
下載附件
2025-6-13 11:21 上傳
三、計價秤功能 在正常顯示時間的情況下,按下C鍵,將切換到到“計價秤模式”,顯示界面如下圖: 第一行顯示重量,單位是kg。 第二行顯示“單價P”和“金額M”,單位都是元。 在“計價秤模式”下,16按鍵全部有效。 數字鍵介紹 1234567890數字鍵代表數字,可通過鍵盤設置P= 的值,數值可精確到0.1g。 設置單價后系統會自動計算出金額M。 A:清零、去皮 B:清除單價P C:切換到“日歷時間模式” D:切換到“計數秤模式”
3.png (30.51 KB, 下載次數: 0)
下載附件
2025-6-13 11:21 上傳
四、計數秤功能 在計價秤模式下,按下D鍵,即切換到“計數秤模式”,顯示如下圖: 第一行:重量值kg。 第二行:D=單個物品重量值,N=物品個數。
鍵盤說明: 1234567890數字鍵代表數字,可通過鍵盤設置D= 的值,數值可精確到0.1g。 設置單重后系統會自動計算出個數N。 A:清零/去皮 B:清除單重D C:切換到“日歷時間模式” D:切換到“計數秤模式”
4.png (27.02 KB, 下載次數: 0)
下載附件
2025-6-13 11:21 上傳
五、系統校準方法: 打開開關,等系統穩定后,在秤盤上放一個固定重量的物體(比如放100個一角硬幣320g)。如果系統顯示重量不等于這個固定重量(320g),就長按 # 鍵3秒,然后屏幕的第一行右邊會顯示出“校準系數”。 校準系數出現以后,可以通過C、D兩個鍵對校準系數進行增大和較小,通過對“校準系數”的調節使得屏幕上重量顯示的值正好等于物體的真實重量(320g)。 最后長按 # 鍵3秒,校準系數消失,校準完成。
電路原理圖如下:
原理圖截圖.jpg (175.38 KB, 下載次數: 0)
下載附件
2025-6-13 18:37 上傳
單片機源程序如下:
- #include<reg52.h>
- #include <intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar naozhong_en; //鬧鐘開關位
- sbit bell = P2 ^ 7; //蜂鳴器,低電平響
- /*********************電子秤*******************************/
- unsigned long HX711_Buffer = 0;
- unsigned long Weight_Maopi = 0; //毛皮重量
- long Weight = 0;//重量
- long danjia = 0;//單價
- long zongjia = 0;//總價
- uint com1, com2, temp; //鍵盤用的到的變量
- uchar com, P_a = 0, P_b = 0, P_c = 0, P_d = 0, m = 0;
- bit a = 0;
- bit jia_shu = 0;
- bit Flag_ERROR = 0;
- void Delay_ms(unsigned int n);
- void Get_Weight();
- void Get_Maopi();
- void display_weight();//顯示重量和校準參數
- void delay_3us();//3US的延時程序
- void keyscan_4x4();//矩陣鍵盤掃描函數
- //hx711 IO設置
- sbit HX711_DOUT = P2 ^ 0;
- sbit HX711_SCK = P2 ^ 1; //IO設置
- void Delay__hx711_us();
- unsigned long HX711_Read(void);
- uint GapValue;//校準參數:GapValue
- //不同的傳感器特性曲線不是很一致,每個傳感器需矯正這個參數才能測量準確。
- //當測試的重量偏大時,增加該數值。如果測試的重量偏小時,減小改數值。
- uchar flag_24c02;//和24C02通訊是否正常的標志
- sbit sda_24c02 = P1 ^ 7; //定義24C02串行數據線
- sbit scl_24c02 = P1 ^ 6; //定義24C02串行時鐘線
- void delay_3us();
- void nack_24c02();//24C02非應答信號
- void stop_24c02();//停止通訊信號
- void star_24c02();//啟動信號
- void cack_24c02();//檢測應答信號
- void mack_24c02();//發送應答信號
- void w1byte_24c02(uchar byte1);//向24C02寫入一字節的數據
- uchar rd1byte_24c02(void);
- void read_24c02();//讀數據操作
- void write_24c02();//寫入16字節的數據操作
復制代碼
PCB:無
仿真: 無
代碼:
代碼.7z
(574.01 KB, 下載次數: 0)
2025-6-13 18:38 上傳
點擊文件名下載附件
所有資料51hei提供下載(內含代碼): 下載積分: 黑幣 -5
|