48-基于51单片机的矩阵电子秤设计

发布者:巳午未最新更新时间:2021-10-14 来源: eefocus关键字:51单片机  HX711模块 手机看文章 扫描二维码
随时随地手机看文章

具体实现功能

系统由STC89C51单片机+HX711模块+按键模块+LCD1602显示+报警模块等构成.


具体功能:


1、系统可实现电子称基本的称重功能(称重范围为0~5Kg,重量误差不大于±0.005Kg);


2、系统应具备输入单价,计算总价的功能;


3、系统超出最大测量范围5Kg时应有报警指示功能(蜂鸣器报警提示)。

设计背景

秤是一种在实际工作和生活中经常用到的测量器具。随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。


与传统秤相比较,电子秤利用新型传感器、高精度AD转换器件、单片机设计实现,具有精度高、功能强等特点。本课题设计的电子秤具有基本称重、键盘输入、计算价格、显示、超重报警功能。该电子秤的测量范围为0-10Kg,测量精度达到5g,有高精度,低成本,易携带的特点。电子秤采用液晶显示汉字和测量重量,比传统秤具有更高的准确性和直观性。另外,该电子秤电路简单,使用寿命长,应用范围广,可以应用于商场、超市、家庭等场所,成为人们日常生活中不可少的必需品。


硬件设计

称重传感器感应被测重力,输出微弱的毫伏级电压信号。该电压信号经过电子秤专用模拟/数字(A/D)转换器芯片hx711对传感器信号进行调理转换。HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D 转换器芯片,内置增益控制,精度高,性能稳定。HX711芯片通过2线串行方式与单片机通信。单片机读取被测数据,进行计算转换,再在液晶屏上显示出来。


矩阵键盘主要用于计算金额。当被测物体重量得到后,用户可以通过矩阵键盘输入单价,电子秤自动计算总金额并在液晶屏显示。电源系统给单片机、HX711电路及传感器供电。


软件设计

本设计主程序使用了定时器,用来实现每0.5秒称重一次的功能,流程图如图所示。

原理图

本系统原理图设计采用Altium Designer19,具体如图。

程序

本设计利用KEIL5软件实现程序设计,具体如图。

关键字:51单片机  HX711模块 引用地址:48-基于51单片机的矩阵电子秤设计

上一篇:49-基于51单片机的PM2.5和温湿度检测报警
下一篇:46-基于51单片机的GPS定位GSM短信上报系统设计

推荐阅读最新更新时间:2024-11-10 12:14

51单片机学习笔记(五)_C51实现单片机串口通信仿真
1、效果图 2、虚拟串口 通过VSPD虚拟串口工具虚拟出两个串口用于通信 VSPD虚拟串口工具下载:http://download.csdn.net/detail/leytton/7565589 3、串口调试 打开两份串口调试工具,第一个打开com1,第二个打开com2,这时在任一串口调试工具发送信息,另一个串口调试工具中能接收到信息 串口调试工具下载:http://download.csdn.net/detail/leytton/7565561 4、Proteus电路设计图 P1串口:属性原件值COMPIM,Physical port为com2,Physical Baud ra
[单片机]
<font color='red'>51单片机</font>学习笔记(五)_C51实现单片机串口通信仿真
51单片机资源——EEPROM(IIC总线)
I2C串行总线的组成及工作原理 采用串行总线技术可以使系统的硬件设计大大简化、系统的体积减小、可靠性提高。同时,系统的更改和扩充极为容易。 I2C串行总线概述 I2C总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串行总线。 I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。 I2C总线通过上拉电阻接正电源。当总线空闲时,两根线均为高电平。连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系。 每个接到I2C总线上的器件都有唯一的地址。主机与其它器件间的数据传送可以是由主机发送数据到其它器件,这
[单片机]
<font color='red'>51单片机</font>资源——EEPROM(IIC总线)
51单片机开发系列一-51单片机开发环境搭建以及入门汇编代码
1. 51单片机概述 51单片机是对所有兼容Intel 8031指令系统的单片机的统称。目前教科书基本都是以早期的MCS-51为原型,讲解微机的原理及其接口技术的。早期的51单片机功能都较弱,需扩展rom,ram等才能组成一个较复杂的系统。而现今流行的8位51单片机都比早期芯片作了较多的功能扩展,性能强劲。生产51单片机的厂家有很多,像atmel的at80c51系列,华邦w78c051系列,宏晶stc80c51系列等,其中台湾宏晶stc系列51单片机在国内尤为流行。因此,笔者采用宏晶性价比较高的一款51单片机stc12c5a60s2来作开发讲解。该款51单片机已经是宏昌第N代产品了,其主要特征如下: 1.1. 增强型8051 CP
[单片机]
<font color='red'>51单片机</font>开发系列一-<font color='red'>51单片机</font>开发环境搭建以及入门汇编代码
51单片机直流电机调速源程序
单片机源程序如下: #include reg52.h sbit IN1=P1^1; sbit IN2=P1^2; sbit IN3=P1^3; sbit IN4=P1^4; unsigned char pwm_val_right=0; unsigned char push_val_right=0; unsigned int time=0; unsigned char pwm_val_left=0; unsigned char push_val_left=0; bit right_moto_stop=1; sbit right_moto_pwm=P2^0; bit left_moto_stop=1; sbit left_mot
[单片机]
51单片机实验】INT0中断计数
前言 —中断源— 52单片机:6个中断源: INT0:外部中断0,P3.2,引起:低电平、下降沿 INT1:外部中断1,P3.3,引起:低电平、下降沿 T0:定时器/计数器0中断,由T0计数器计满回零引起 T1:定时器/计数器1中断,由T1计数器计满回零引起 T2:定时器/计数器2中断,由T2计数器计满回零引起 TI/RI:串行口中断,引起:串行端口完成一帧字符发送/接收 优先级 —51系列单片机中用于中断控制的寄存器为— IE,中断允许控制寄存器,各位定义如下: (外定0;外定1;串;空空;C) EX0(IE.0),外部中断0允许位; ET0(IE.1),定时/计数器T0中断允许位; EX1(IE.
[单片机]
【<font color='red'>51单片机</font>实验】INT0中断计数
STM8L051单片机,PWM配置
STM8L051单片机,PWM配置。 文件.c 中代码如下所示 #include MYPWM.h void MYPWM_Init(void)//PWM初始化 { GPIO_Init(GPIOB,GPIO_Pin_1,GPIO_Mode_Out_PP_High_Fast); //TIME3 ,CH1,PB1,快速推挽输出高电平 TIM3_DeInit();//定时器配置为缺省 CLK_PeripheralClockConfig(CLK_Peripheral_TIM3,ENABLE); //TIME3时钟使能 TIM3_TimeBaseInit(TIM3_Prescaler_8,TIM3_CounterMode_
[单片机]
51单片机堆栈的分析
1.51单片机的堆栈属于向上增长型,堆栈开在内部ram,堆栈指针八位,系统启动时初始化值为07 2.进出栈指令 push acc pop acc 00-7fh是内部ram 80h-0ffh是sfr特殊功能寄存器 不能对80h到0ffh的高端ran进行堆栈操作 不能对r0-r7寄存器组进行堆栈操作 寄存器A进行堆栈操作时只能用直接寻址操作形式 acc 3.子程序与中断 调用子程序与调用中断服务程序,入栈的都是 pcL---pcH,但是调用子程序时入栈的是取指令后尚未执行的PC值,而中断是执行完后的PC值
[单片机]
51单片机串口控制继电器
实验室有个项目,用到报警功能。比如当温度或应力过高或者过低的时候启动报警器,通过给串口发送一个命令来控制继电器。不巧去年被我正负极接反烧了,最近开始搞单片机,哥苦心经营,利用实验室单片机学习板给搞定了,程序如下: #include reg52.h #define uchar unsigned char sbit JDQ=P3^7; //继电器接P3.7 sbit FMQ=P3^6; sbit LED=P0^0; sbit LEDra=P0^1; sbit LEDar=P0^2; uchar dat ; int i=0; void Delay(unsigned int ii) //1mS
[单片机]

推荐帖子

STM32特权级访问的问题
MRSR0,PRIMASKCPSIDI这两个指令应该是在特权级下才能访问的吧,在用户级下使用的话,产生BusFault的但是,我在移植ucosii操作系统的时候,在任务切换时,切换到用户级PSP下运行,运行到关中断函数时,以上两代码处不产生总线中断,也没产生别的异常。是不是我在调试模式下的原因,还是我的处理器的故障,你们有没有遇到这种问题呢谢谢各位!STM32特权级访问的问题特权级和用户级跟使用MSP还是PSP是两回事,特权级和用
rhpozyz stm32/stm8
好的系统设计方案是取得好的竞赛成绩的保证
本帖最后由paulhyde于2014-9-1509:16编辑好的系统设计方案是取得好的竞赛成绩的保证好的系统设计方案是取得好的竞赛成绩的保证本帖最后由paulhyde于2014-9-1509:16编辑不错..先下载看看
runjiang 电子竞赛
wince5.0在pxa270上的双串口使用问题
各位同仁,我在做pxa270平台上wince5.0串口驱动的过程中,发现两个串口(FFUART,BTUART)不能同时正常的收发数据。现在的情况:1。platform.reg注释掉两个串口之一可以启动内核。2。platform.reg两个串口都打开,如果BTUART作为debug口,内核在加载串口BTUART时,就死了。如果FFUART作为debug口,内核在加载串口FFUART时,就死了。如果STUART作为debug口,内核也会死,但是因为没有打印信息,无法确认死哪了。
aiwenwen WindowsCE
为什么给拨码开关电路上电后单片机就不工作了
我用的是stc15w204s,拨码开关设定地址连到单片机的四个I/O口上,但是给拨码开关电路上电后,单片机的灯突然就不亮了,也不工作了。这是为什么呢?为什么给拨码开关电路上电后单片机就不工作了无图无真相,把电原理图贴出来吧。务必保证实物与电原理图一致。拨码开关是无源器件,根本谈不上什么上电,给出具体的电路图。拨码开关是连到单片机的引脚上的。单片机供电是3.3v,拨码开关供电是5v不行,改成都是3.3v就行了...... 3.3V供电,你硬要对其引脚施加5V电压,
小99 51单片机
【Nucleo心得】+ 8x8点阵驱动 (EX04)
8x8点阵除了显示点阵图型外,在某些情况下也希望能够显示数字,而标准的点阵数字是5x7点,这样的大小在8x8点阵里面只能显示1位数。本次实验使用了3x7点字型,这样在8x8点阵里面就可以放进2位数了。(也可以使用3x5点字型,但是数字的辨识效果就没那么清楚)演示程序为设定一个计数器从00计数到99,每隔100ms计数一次。完整程序码如下: #include\"mbed.h\" constcharsegtab={ {0x7f,0x41,0x7f},
slotg stm32/stm8
天线测量实用手册
天线测量实用手册好资料,直接上传下载中心吧本书图文并茂,讲解得通俗易懂看,很值得看看学习怎么下载怎么下载怎么下载啊,扣了3分 点文件就下载了、、、不错,谢谢楼主的分享啊!
btty038 RF/无线
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved