標(biāo)題:
單片機(jī)HX711+1KG體重秤程序
[打印本頁(yè)]
作者:
dtfsfsfs
時(shí)間:
2019-3-24 14:30
標(biāo)題:
單片機(jī)HX711+1KG體重秤程序
HX711+1KG程序
單片機(jī)源程序如下:
#include "main.h"
#include "HX711.h"
#include "uart.h"
#include "LCD1602.h"
unsigned long HX711_Buffer = 0;
unsigned long Weight_Maopi = 0;
long Weight_Shiwu = 0;
unsigned char flag = 0;
bit Flag_ERROR = 0;
//校準(zhǔn)參數(shù)
//因?yàn)椴煌膫鞲衅魈匦郧不是很一致,因此,每一個(gè)傳感器需要矯正這里這個(gè)參數(shù)才能使測(cè)量值很準(zhǔn)確。
//當(dāng)發(fā)現(xiàn)測(cè)試出來(lái)的重量偏大時(shí),增加該數(shù)值。
//如果測(cè)試出來(lái)的重量偏小時(shí),減小改數(shù)值。
//該值可以為小數(shù)
#define GapValue 1960//不同量程的傳感器此參數(shù)值大小不同,參數(shù)值的推導(dǎo)參考本店提供的原理教程說(shuō)明部分
//****************************************************
//主函數(shù)
//****************************************************
void main()
{
Uart_Init();
Send_Word("Welcome to use!\n"); //串口初始化輸出內(nèi)容
Init_LCD1602();
LCD1602_write_com(0x80);
LCD1602_write_word("Welcome to use!"); //液晶初始化界面顯示
Delay_ms(3000); //延時(shí),等待傳感器穩(wěn)定
Get_Maopi(); //稱毛皮重量
while(1)
{
EA = 0;
Get_Weight(); //稱重
EA = 1;
//顯示當(dāng)前重量
if( Flag_ERROR == 1) //超重或者負(fù)重情況下輸出error
{
Send_Word("ERROR\n");
LCD1602_write_com(0x80+0x40);
LCD1602_write_word("ERROR ");
}
else //以下是重量顯示各個(gè)位對(duì)應(yīng)值進(jìn)行換算
{ //串口輸出
Send_ASCII(Weight_Shiwu/1000 + 0X30);
Send_ASCII(Weight_Shiwu%1000/100 + 0X30);
Send_ASCII(Weight_Shiwu%100/10 + 0X30);
Send_ASCII(Weight_Shiwu%10 + 0X30);
Send_Word(" g\n");
//LCD1602液晶顯示
LCD1602_write_com(0x80+0x40);
LCD1602_write_data(Weight_Shiwu/1000 + 0X30);
LCD1602_write_data(Weight_Shiwu%1000/100 + 0X30);
LCD1602_write_data(Weight_Shiwu%100/10 + 0X30);
LCD1602_write_data(Weight_Shiwu%10 + 0X30);
LCD1602_write_word(" g");
}
}
}
//****************************************************
//稱重
//****************************************************
void Get_Weight()
{
Weight_Shiwu = HX711_Read();
Weight_Shiwu = Weight_Shiwu - Weight_Maopi; //獲取凈重
if(Weight_Shiwu > 0)
{
Weight_Shiwu = (unsigned int)((float)Weight_Shiwu/GapValue); //計(jì)算實(shí)物的實(shí)際重量
if(Weight_Shiwu > 3000) //超重報(bào)警
{
Flag_ERROR = 1;
}
else
{
Flag_ERROR = 0;
}
}
else
{
Weight_Shiwu = 0;
}
}
//****************************************************
//獲取毛皮重量
//****************************************************
void Get_Maopi()
{
Weight_Maopi = HX711_Read();
}
//****************************************************
//MS延時(shí)函數(shù)(12M晶振下測(cè)試)
//****************************************************
void Delay_ms(unsigned int n)
{
unsigned int i,j;
for(i=0;i<n;i++)
for(j=0;j<123;j++);
}
復(fù)制代碼
所有資料51hei提供下載:
9zc 1kg體重秤 LCD.zip
(61.14 KB, 下載次數(shù): 83)
2019-3-24 14:30 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
楓之葉淶
時(shí)間:
2020-3-19 10:40
不錯(cuò),謝謝你啦
作者:
快樂(lè)眼淚
時(shí)間:
2024-2-14 17:10
感謝樓主無(wú)私奉獻(xiàn)!收藏了
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1