一、设计介绍
模块说明:
- 1、STC89C52:主控芯片 单片机
- 2、LCD1602:用于显示数据信息
- 3、矩阵键盘:使用独立按键组成的4*4键盘,使用8个IO口来获取16个按键的状态
- 4、HX711称重模块:用于获取物体重量的传感器
- 5、有源蜂鸣器:可以发出声音进行警报,有源蜂鸣器只需要给电平就可以直接发出声响,无源蜂鸣器则需要改变高低电平频率来发出声响
功能介绍:
- 1、测量人体体重
- 2、根据输入的性别、年龄、身高以及获取的体重计算出BFR (体脂率)和BMI(身体质量指数)
- 3、可以设置体重报警阈值,超过阈值则进行蜂鸣器报警以及LED闪烁
- 4、所有输入内容均可以掉电保存
- 补充:体脂率计算网站 https://uutool.cn/body/
原理图:
使用立创EDA格式打开,打开方式为将文件夹内 .json 后缀文件拖入嘉立创EDA(标准版) - 免费、易用、强大的在线电路设计软件 立创EDA编辑网站中即可
本次原理图使用立创EDA画出的,对于新手较为方便,全中文易上手,不需要安装任何软件。另,Altium Designer 格式打开后标注会有所丢失,建议使用立创EDA
Proteus仿真图:
实物图:
元器件清单:
如果您不能独自完成焊接,我这边也提供付费焊接服务以及调试,完成后第一时间通过快递寄给您。
二、代码资料展示
主要代码展示:
/********************* 函数声明 *******************/
//显示界面 每个菜单的结构
void Dis_menu();
//显示 数据
void Dis_Dat();
//获取数据
void Get_Dat();
//按键扫描
void Key_Scan();
//刷新设置后的数据
void Dis_Set_Dat();
//定时器0初始化
void timer0_init();
//警报处理函数
void Proc_Alarm();
//读取掉电保存的内容
void Read_e2();
//将数据保存在芯片中
void Write_e2();
//重量显示处理 以及 体脂率计算
void Proc_Weight();
void main()
{
DelayMs(100);//等待系统稳定
LCD_Init();//LCD1602初始化
Dis_menu();//显示菜单界面
Read_e2();//读取掉电保存数据
timer0_init();//定时器0初始化
Get_Maopi();//上电时让电子秤为0
while (1)
{
Get_Dat();//获取数据
Proc_Alarm();//警报处理函数
Key_Scan();//按键扫描
Proc_Weight();//重量显示处理 以及 体脂率计算
}
}
工程管理展示:
下载内容展示:
更多详细功能与代码视频讲解请B站搜索:易佳电子设计 主页搜索该设计编号或名称