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