一.硬件方案
本设计利用压力传感器采集因压力变化产生的电压信号,经过电压放大电路放大,然后再经过模数转换器转换为数字信号,最后把数字信号送入单片机。单片机经过相应的处理后,得出当前所称物品的重量,然后再显示出来。此外,还可通过连接蓝牙,在手机APP显示当前重量。
本设计硬件主要由51单片机+最小系统+LCD1602液晶显示模块+HX711模块+LED模块+蜂鸣器模块+矩阵按键模块+10kg压力传感器;如图:
二.设计功能
(1)LCD1602显示屏显示当前的重量,单位是g。
(2)有去皮功能,有微调校准重量功能。
(3)最大称重9.999kg。
(4)AD采用24位AD模块HX711。
所有资料:
三.设计原理图
(1)原理图主要采用AD软件进行设计,如图:
四.软件设计
(1)程序流程图
(2)主程序源码
//****************************************************
//主函数
//****************************************************
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");
}
}
}
全套资料下载链接: