标题:
分享一份最近做的基于51单片机的HX711电子秤,有需要的朋友可以作为参考
[打印本页]
作者:
18925405284
时间:
2018-12-10 16:01
标题:
分享一份最近做的基于51单片机的HX711电子秤,有需要的朋友可以作为参考
0.png
(38.19 KB, 下载次数: 29)
下载附件
2018-12-10 17:17 上传
电路原理图如下:
0.jpg
(78.56 KB, 下载次数: 35)
下载附件
2018-12-10 17:17 上传
单片机源程序如下:
#include "key.h"
#include "led.h"
#include "lcd12864.h"
#include "HX711.h"
#include "main.h"
#include <intrins.h>
#include <string.h>
#include "eeprom52.h"
#define uchar unsigned char
#define uint unsigned int
uchar temp; //储存键值
uint GapValue,GapValue1; //修改除数
/*-------------外部定义函数或变量-----------------*/
extern unsigned char code image[];
extern void lcddisplay();
extern unsigned long HX711_Read(void);
extern void weight_get();
extern void maopi_get();
extern void display_price();
extern void display_weight();
extern void display_money();
bit bdata flag_key;
void delay1()
{;;} //延时函数 大概10us
void delay(uint x)
{
uint a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--); //延时时间函数 大概x=1000为1s
}
//定时器0以及lcd12864初始化
void init()
{
rw=0;
psb=1;
delay1(); //根据时序图操作
write_com(0x30); //基本指令操作
write_com(0x0c); //开显示关光标,0x0e就是开显示开光标
write_com(0x06); //写入一个字符,地址加1
write_com(0x01); //清除LCD的显示内?
delay(5);
}
void main()
{
init_eeprom(); //开始初始化保存的数据
init(); //LCD初始化
maopi_get(); //获取开机时候的毛重,所以开机时托盘上应该为零重量 这里是必须要注意的
start_lcd(); //开机动画及其应该初次显示的东西
while(1)
{
weight_get(); //循环地获取重量
temp=keyscan(); //按键扫描
//有效键值0-15
if (temp<16)
{
key_select(temp);//循环地不停检查是否有按键按下,按下则立马执行相应动作
while(temp<16)
{
if(temp==10||temp==11) //这里是修改GapValue值得
{
key_select(temp);//再次确认temp
weight_get(); //继续称重显示
flag_key=1; //修改按键标志
}
// temp=keyscan();
}
}
write_eeprom();//保存设定参数
}
}
复制代码
所有资料51hei提供下载:
hx711.7z
(2.24 MB, 下载次数: 86)
2018-12-10 17:19 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
123大师兄
时间:
2019-4-1 20:24
下载试试,谢谢楼猪
作者:
LIO552
时间:
2020-9-26 10:38
楼主用的是什么单片机。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1