|
51單片機(jī)驅(qū)動HX711,實現(xiàn)稱重、單價選擇、計價,顯示使用的是LCD1602。已通過軟件標(biāo)定校準(zhǔn)和砝碼校準(zhǔn)。附上視頻鏈接:鏈接:https://pan.baidu.com/s/1laQH_O64TADYU5DC_vQFNQ
提取碼:ljfe和源碼。
單片機(jī)源程序如下:
- #include "lcd1602.h"
- #include "hx711.h"
- #include "key.h"
- typedef unsigned char u8;
- typedef unsigned int u16;
- u8 code word[] = "Weight: . KG";
- u8 word1[] = "SP:";
- u8 Weight_Val[5];
- u8 Price_Val[4];
- float Total_Price;
- void Weight_Datapro(unsigned int value)
- {
- Weight_Val[0] = value / 10000;
- Weight_Val[1] = value % 10000 / 1000;
- Weight_Val[2] = value % 1000 / 100;
- Weight_Val[3] = value % 100 / 10;
- Weight_Val[4] = value % 10;
-
- DisplayOneChar(7,0,Weight_Val[0]+0x30);
- DisplayOneChar(8,0,Weight_Val[1]+0x30);
- DisplayOneChar(10,0,Weight_Val[2]+0x30);
- DisplayOneChar(11,0,Weight_Val[3]+0x30);
- DisplayOneChar(12,0,Weight_Val[4]+0x30);
- }
- void Price_Datapro(unsigned int value)
- {
- value /= 10;
- Price_Val[0] = value / 1000;
- Price_Val[1] = value % 1000 /100;
- Price_Val[2] = value % 100 / 10;
- Price_Val[3] = value % 10;
-
- DisplayOneChar(8,1,Price_Val[0]+0x30);
- DisplayOneChar(9,1,Price_Val[1]+0x30);
- DisplayOneChar(10,1,'.');
- DisplayOneChar(11,1,Price_Val[2]+0x30);
- DisplayOneChar(12,1,Price_Val[3]+0x30);
- DisplayOneChar(13,1,'
- );
- }
- void main(void)
- {
- LcdInit();
- LcdShowStr(0, 0, word);
- LcdShowStr(0, 1, word1);
- LcdShowStr(5, 1, "TP:");
- Get_Maopi();
-
- while(1)
- {
- Key_Down();
- Get_Weight();
- Weight_Datapro(Weight_Shiwu);
- Total_Price = price * Weight_Shiwu;
- Price_Datapro(Total_Price);
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
QX-1602.rar
(47.02 KB, 下載次數(shù): 69)
2020-7-24 19:18 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
HX711參考驅(qū)動程序(C51).pdf
(46.28 KB, 下載次數(shù): 50)
2020-7-24 19:18 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
|