【Proteus仿真】【32单片机-A011】HX711电子秤系统设计

发布于:2025-06-13 ⋅ 阅读:(16) ⋅ 点赞:(0)

目录

一、主要功能

二、使用步骤

三、硬件资源

四、软件设计

五、实验现象

联系作者

一、主要功能

1、LCD显示测量重量值和阈值
2、测量超过阈值,警报模块启动
3、阈值设置

二、使用步骤

使用LCD1602液晶、按键、蜂鸣器、HX711测量模块。
系统运行后,LCD1602显示测量重量值和阈值;
当测量重量值高于阈值,报警器启动。

三、硬件资源

1、32单片机核心模块
2、按键模块
3、HX711测量模块
4、蜂鸣器模块
5、LCD1602显示模块

四、软件设计

#include "delay.h"
#include "sys.h"
#include "1602.h"
#include "key.h"
#include "Tool.h"
#include "hx711.h"


u8 Set_num=0;		//设置标志位
u8 Key_num=0;//按键值

u32 weight;
u32 weight_value=100;


void key_san(void);//按键判断函数
void Delay(int num)
{
	while(num--) ;
}
void display_data(void)///显示
{	
	LcdWriteCom(0x0C);	  		                            //取消光标闪烁	
	LcdWriteCom(0x80+7); //第一行
	LcdWriteData(weight%10000/1000+0x30);
	LcdWriteData(weight%1000/100+0x30);
	LcdWriteData(weight%100/10+0x30);
	LcdWriteData(weight%10+0x30);
	
	LcdWriteCom(0x80+0x40+6); //第二行
	LcdWriteData(weight_value%10000/1000+0x30);
	LcdWriteData(weight_value%1000/100+0x30);
	LcdWriteData(weight_value%100/10+0x30);
	LcdWriteData(weight_value%10+0x30);
}
int main()
{	
	delay_init();	    	 //延时函数初始化
	LCD1602_Init();      //lcd函数初始化
	KEY_Init();        //按键函数初始化
	TOOL_Init();	//工具初始化
	HX711_Init();
	Get_Maopi();//获取毛皮重量
	while(1) 
	{	
		key_san();//按键判断函数
		weight=Get_Weight();
		if(weight > weight_value)
			BEEP = 0;
		else
			BEEP = 1;
		display_data();///显示
	}	  
}

void key_san()//按键判断函数
{
		Key_num=KEY_Scan(0);
		switch(Key_num)
		{
			case 1://加	
				if(weight_value < 1000)
					weight_value++;
				break;
			case 2://减
				if(weight_value > 0)
					weight_value--;
				break;
	
		}

}



五、实验现象

B站演示视频

联系作者

作者B站链接:https://space.bilibili.com/3493294220773802

专注于51单片机、STM32、Proteus、物联网软件开发,PCB设计。


网站公告

今日签到

点亮在社区的每一天
去签到