/**********************************************************************
***********************************************************************/
#include "main.h"
#include "HX711.h"
#include "uart.h"
#include "LCD1602.h"
#include
#define uchar unsigned char //无符号字符型 宏定义 变量范围0~255
#define uint unsigned int //无符号整型 宏定义 变量范围0~65535
unsigned long HX711_Buffer = 0;
unsigned long Weight_Maopi = 0;
long Weight_Shiwu = 0;
unsigned char flag = 0;
bit Flag_ERROR = 0;
sbit beep= P1^7;
#define GapValue 405
//****************************************************
//主函数
//****************************************************
void main()
{
Uart_Init();
Init_LCD1602();
LCD1602_write_com(0x80);
LCD1602_write_word("Welcome to use!");
Delay_ms(1000); //延时,等待传感器稳定
Get_Maopi(); //称毛皮重量
while(1)
{
EA = 0;
Get_Weight(); //称重
EA = 1;
Scan_Key();
//显示当前重量
if( Flag_ERROR == 1)
{
LCD1602_write_com(0x80+0x40);
LCD1602_write_word("ERROR ");
beep=0;
}
else
{
beep=1;
Send_ASCII(0x82);
Send_ASCII(0x4);
Send_ASCII(Weight_Shiwu >> 8);
Send_ASCII(Weight_Shiwu);
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 Scan_Key()
{
if(KEY1 == 0)
{
Delay_ms(5);
if(KEY1 == 0)
{
while(KEY1 == 0);
Get_Maopi(); //去皮
}
}
}
//****************************************************
//称重
//****************************************************
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); //计算实物的实际重量
if(Weight_Shiwu > 5000) //超重报警
{
Flag_ERROR = 1;
Send_ASCII(0x82);
Send_ASCII(0x4);
Send_ASCII(5000 >> 8);
}
else
{
Flag_ERROR = 0;
}
}
else
{
Weight_Shiwu = 0;
Send_ASCII(0x82);
Send_ASCII(0x4);
Send_ASCII(0 >> 8);
}
}
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
该博客介绍了如何使用单片机和Android应用进行蓝牙电子秤的连接与数据交互。通过提供的代码,展示了如何读取和处理称重数据,并实现了超重报警功能。内容包括主函数、重量获取、按键扫描等关键步骤,适用于电子秤的DIY爱好者和开发者。

2300

被折叠的 条评论
为什么被折叠?



