51单片机电子秤
基于51单片机的电子秤程序

基于51单片机的电子秤程序#include#include//#include "LCD1602.h"//#include "HX711.h"#define uint unsigned int#define uchar unsigned charsbit LCD1602_RS = P2^5;sbit LCD1602_RW = P2^6;sbit LCD1602_EN = P2^7;sbit HX711_DOUT=P2^0;sbit HX711_SCK=P2^1;unsigned long HX711_Buffer = 0;unsigned long Weight_Maopi = 0,Weight_Shiwu = 0;char Price_Count = 0;uchar KEY_NUM = 0;uchar Price_Buffer[3] = {0x00,0x00,0x00};unsigned long Money = 0;bit Flag_OK = 0;uchar com;//延时函数//**************************************************** void Delay__hx711_us(void){_nop_();_nop_();}void LCD1602_delay_ms(unsigned int n){unsigned int i,j;for(i=0;i<n;i++)< p="">for(j=0;j<123;j++);}void Delay_ms(unsigned int n){unsigned int i,j;for(i=0;i<n;i++)< p="">for(j=0;j<123;j++);}//**************************************************** //写指令//**************************************************** void LCD1602_write_com( uchar com){LCD1602_RS = 0;LCD1602_delay_ms(1);LCD1602_EN = 1;P0 = com;LCD1602_delay_ms(1);LCD1602_EN = 0;}//****************************************************//写数据//****************************************************void LCD1602_write_data( uchar dat){LCD1602_RS = 1;LCD1602_delay_ms(1);P0 = dat;LCD1602_EN = 1;LCD1602_delay_ms(1);LCD1602_EN = 0;}//****************************************************//连续写字符//****************************************************void LCD1602_write_word(unsigned char *s){while(*s>0){LCD1602_write_data(*s);s++;}}void Init_LCD1602(){LCD1602_EN = 0;LCD1602_RW = 0; //设置为写状态LCD1602_write_com(0x38); //显示模式设定LCD1602_write_com(0x0c); //开关显示、光标有无设置、光标闪烁设置LCD1602_write_com(0x06); //写一个字符后指针加一LCD1602_write_com(0x01); //清屏指令}//**************************************************** //矩阵键盘扫描//**************************************************** unsigned char KEY_Scan(){unsigned char temp = 0;unsigned char com = 0x55 , com1 = 0 , com2 = 0;P3=0xf0;if(P3!=0xf0){com1=P3;P3=0x0f;com2=P3;}P3=0xf0;while(P3!=0xf0);temp=com1|com2;if(temp==0xee)com=1;//数字1if(temp==0xed)com=4;//数字4if(temp==0xeb)com=7;//数字7if(temp==0xe7)com=11;//备用键*号键if(temp==0xd7)com=0;//数字0if(temp==0xb7)com=14;//备用键*号键if(temp==0xde)com=2; //数字2if(temp==0xdd)com=5; //数字5if(temp==0xdb)com=8;//数字8if(temp==0xbe)com=3;//数字3if(temp==0xbd)com=6; //数字6if(temp==0xbb)com=9;//数字9if(temp==0x7e)com=16;//数字A键,去皮功能if(temp==0x7d)com=15;//数字B键清除键,二次测量if(temp==0x7b)com=12;//数字C输入单价错误时返回上一步if(temp==0x77)com=13;//数字D键,计算总价return(com);}unsigned long HX711_Read(void) //增益128{unsigned long count;unsigned char i;HX711_DOUT=1;Delay__hx711_us();HX711_SCK=0;count=0;while(HX711_DOUT);for(i=0;i<24;i++){HX711_SCK=1;count=count<<1;HX711_SCK=0;if(HX711_DOUT)count++;}HX711_SCK=1;count=count^0x800000;//第25个脉冲下降沿来时,转换数据Delay__hx711_us();HX711_SCK=0;return(count);}//****************************************************//称重//****************************************************void Get_Weight(){HX711_Buffer = HX711_Read();HX711_Buffer = HX711_Buffer/100;if(HX711_Buffer > Weight_Maopi){Weight_Shiwu = HX711_Buffer;Weight_Shiwu = Weight_Shiwu - Weight_Maopi; //获取实物的AD采样数值。
基于单片机的电子秤设计1-23.1

摘要本文设计了一种以51单片机来进行控制的电子秤系统,系统的电路部分由以下几个电路模块组成:数据采集和数据处理电路、模数转换电路、LED及蜂鸣器报警电路、最小系统电路、液晶显示电路、矩阵按键电路等。
接通电源后,单片机会把压力传感器输入的小信号进行放大处理及模数转换,通过按键设置单价在LCD1602上显示物体总价信息。
对于硬件设计部分,我们本着低成本,高效率,系统稳定可行的指导方针选取了一些实用的元器件进行设计。
而软件设计则采用模块化的设计方法,争取把软件设计得方便可读易操作。
文中还详细分析了应变式压力传感器在重量测量上的应用及其使用的原理,而HX711作为一个高精度的24位A/D转换器如何在模数转换的过程如何运作也有相应的介绍。
当然,这次设计的结果能够得到预期的效果也离不开其他各部分电路的相辅相成,我们也对一些配合电路做了简单介绍。
仿真部分则为我们的设计是否合理进行了初步验证。
最后,我们完成了实际电路的焊接,使得理论有了实物作为支撑,整个设计能够正常实现功能。
关键词:51单片机;电子称;压力传感器;模数转换;模块化设计ABSTRACTThe paper introduce a kind of electronic weighing system which based on Single-chip Microcomputer.At the beginning,some basic methods about MCU like the internal configuration ,working principle and how to program are introduced. Then ,how to measure an object using a strain type pressure transducer is introduced .Several circuit modules are contained in the design such as data acquisition and data processing circuit, analog to digital conversion circuit, LED and buzzer alarm circuit, minimum system circuit, LCD display module, matrix keyboard circuit, etc.When pressing the button , the detection is begun.the weak analog signal coming from the sensor will be amplified and converted into digital signal.Finally ,the processed signals will be transmitted to the microcomputer . the price is set by pressing different buttons and total price will be shown on the LCD1602.The hardware is designed to be stable,feasible and inexpensive,which will make the design better to be accepted.The software uses modular design.The principle and advantages of the application of the strain gauge pressure sensor to the weight measurement and the application of HX711 to the analog to digital conversion are analyzed in detail.The composition and working characteristics of other circuits are described as well.The feasibility of the circuit is verified by simulation. Finally, the design of the physical circuit is completed, which makes the expected results of the project be realized.Key words: 51 single chip microcomputer; electronic scale;strain pressure sensor; AD conversion; modular design;.目录1 引言 (1)1.1 课题研究的意义 (1)1.2 电子秤的发展现状 (1)1.3 设计内容和章节安排 (2)2 单片机简介 (3)2.1 单片机内部结构 (3)2.2 单片机特点及引脚介绍 (5)2.3 单片机中断系统 (7)2.4 单片机最小系统 (8)2.5 编程语言 (9)2.5.1 汇编语言 (9)2.5.2 C51语言 (9)3 单片机外围电路介绍 (10)3.1称重传感器介绍 (10)3.2 LCD1602液晶显示屏 (12)3.3 AD转换模块HX711 (14)4 硬件电路设计 (16)4.1 硬件电路总框图设计 (16)4.2 数据采集电路设计 (17)4.3 最小系统电路设计 (18)4.4 矩阵键盘电路设计 (19)4.5 LCD1602显示电路设计 (20)4.6 报警电路设计 (21)4.7 硬件电路原理总图 (22)5 软件设计 (23)5.1主程序流程图 (24)5.2键盘扫描程序 (24)5.3 HX711读取程序 (25)5.4 LCD1602写操作程序 (26)6 系统调试 (26)6.1 硬件调试 (27)6.2 软件调试 (27)7 总结及展望 (28)参考文献 (29)致谢 (30)1 引言1.1 课题研究的意义电子秤是一种利用杠杆平衡原理或根据胡克定理制成的衡器。
基于单片机的智能电子秤设计

基于单片机的智能电子秤设计随着科技的不断发展,智能化和自动化已经成为我们生活中不可或缺的一部分。
在众多领域中,智能电子秤的设计与应用也越来越受到。
本文将介绍一种基于单片机的智能电子秤设计方案,该设计具有高精度、低成本、易于实现等优点,具有一定的实用价值。
一、概述智能电子秤是一种能够自动测量物体重量的设备,广泛应用于超市、菜市场等场所。
与传统的机械秤相比,智能电子秤具有测量精度高、使用方便、易于维护等优点。
而基于单片机的智能电子秤设计,更是将智能化和自动化技术融入到电子秤中,提高了设备的性能和可靠性。
二、设计原理基于单片机的智能电子秤设计主要是利用单片机的控制和数据处理能力,实现对物体重量的准确测量。
其核心部件为压力传感器和单片机。
压力传感器负责采集物体的重量信号,并将信号传输给单片机;单片机则对信号进行处理、分析和存储,同时控制显示屏显示物体的重量。
三、硬件设计1、单片机选择单片机是智能电子秤的核心部件,负责控制整个系统的运行。
本设计选用AT89C51单片机,该单片机具有低功耗、高性能、易于编程等优点,能够满足智能电子秤的设计要求。
2、压力传感器选择压力传感器是智能电子秤的重要组成部件,负责采集物体的重量信号。
本设计选用电阻应变式压力传感器,该传感器具有测量精度高、稳定性好、抗干扰能力强等优点。
3、显示模块选择显示模块负责将物体的重量信息呈现给用户。
本设计选用LED显示屏,该显示屏具有亮度高、视角广、寿命长等优点。
4、电源模块选择电源模块为整个系统提供稳定的电源,保证系统的正常运行。
本设计选用线性稳压电源,该电源具有输出电压稳定、纹波小、安全性高等优点。
四、软件设计软件设计是智能电子秤的关键部分之一,直接影响设备的性能和可靠性。
本设计的软件部分采用C语言编写,主要包括数据采集、数据处理、数据显示等模块。
具体流程如下:1、开机后,系统进行初始化操作;2、压力传感器采集物体的重量信号;3、单片机对采集到的信号进行处理和分析;4、单片机将处理后的数据存储到存储器中;5、单片机控制LED显示屏显示物体的重量信息;6、系统继续等待下一次测量。
基于51单片机的智能电子秤

基于51单片机的智能电子秤研究方案:基于51单片机的智能电子秤一、研究背景与意义随着人们生活质量的提高,对电子秤的精确度和智能化程度提出了更高的要求。
研发一种基于51单片机的智能电子秤具有重要的现实意义和市场前景。
本研究旨在利用51单片机技术,结合传感器原理以及数据采集和分析技术,设计和开发一种新型的智能电子秤,以满足人们对于健康和便捷生活的需求。
二、研究目标1. 设计一种基于51单片机的智能电子秤原型;2. 实现电子秤的重量测量、数据存储和数据展示功能;3. 评估该智能电子秤的测量精度和稳定性;4. 提出改进方法并进一步优化设计。
三、方案实施情况1. 硬件设计:a) 选择合适的传感器:选用高精度传感器进行重量测量;b) 电路设计:根据传感器的特点设计合适的电路板,用于放大、滤波、采样和通信等功能;c) 硬件连接:将传感器、显示屏、按键等硬件进行连接。
2. 软件设计:a) 采用51单片机作为核心,进行编程;b) 实现重量测量:通过合适的采样方法和算法,实时获取物体的重量;c) 数据存储与展示:将采集到的数据存储在内部存储器或外部存储器中,并通过显示屏展示给用户;d) 用户交互:设计一套用户友好的界面,使用户可以方便地和智能电子秤进行交互。
四、数据采集和分析1. 采集数据:在实验过程中,选择不同质量的物体进行重量测量,将采集到的数据以合适的格式存储起来。
2. 数据分析:a) 对采集到的数据进行基本统计分析,包括平均值、方差、偏差等;b) 评估智能电子秤的精确度和稳定性;c) 通过数据分析,找出可能的误差来源和改进方向。
五、实验结果分析与结论在以上实验和数据分析的基础上,得出以下结论:1. 通过对数据的统计和分析,验证了智能电子秤的测量精度和稳定性。
2. 针对可能存在的误差来源,提出了改进和优化的方法,如增加重量校准功能、改进传感器的精度等。
3. 通过用户体验和满意度调查,发现智能电子秤在用户中受到了广泛认可和好评,并能满足用户的需求。
基于51系列单片机的电子秤控制设计免费下载

单片机课程设计电子秤设计基于51系列单片机的电子秤控制设计摘要本系统采用单片机 AT89S52 为控制核心,实现电子秤的基本控制功能。
系统的硬件部分包括最小系统板,数据采集、人机交互界面三大部分。
最小系统部分主要是扩展了外部数据存储器,数据采集部分由压力传感器、信号的前级处理和 A/D 转换部分组成。
人机界面部分为键盘输入, 128 64 点阵式液晶显示,可以直观的显示中文,使用方便。
软件部分应用单片机 C 语言实现了本设计的全部控制功能,包括基本的称重功能,和发挥部分的显示购物清单的功能,可以设置日期和重新设定 10 种商品的单价,具有超重报警功能,由于系统资源丰富,还可以方便的扩展其应用关键词压力传感器单片机A/D转换器LED显示器第一部分:方案论证与比较一、控制器部分本系统基于51系列单片机来实现,因为系统需要大量的控制液晶显示和键盘。
不宜采用大规模可编程逻辑器件:CPLD、FPGA来实现。
另外系统没有其它高标准的要求,我们最终选择了AT89S52通用的比较普通单片机来实现系统设计。
内部带有8KB的程序存储器,在外面扩展了32K数据存储器,以满足系统要求。
二、数据采集部分( 1 )、传感器题目没有要求具体的称重范围,我们选择最大量值为20千克。
我们选择的是 L-PSIII 型传感器,量程 20Kg ,精度为,满量程时误差0.002Kg 。
可以满足系统的精度要求。
其原理如下图所示。
称重传感器主要由弹性体、电阻应变片电缆线等组成,内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,输出信号电压可由下式给出:( 2 )、前级放大器部分压力传感器输出的电压信号为毫伏级,所以对运算放大器要求很高。
具体方案:高精度低漂移运算放大器构成差动放大器。
差动放大器具有高输入阻抗,增益高的特点,可以利用普通运放 ( 如 OP07) 做成一个差动放大器。
电阻 R1 、 R2 电容 C1 、 C2 、 C3 、 C4 用于滤除前级的噪声, C1 、 C2 为普通小电容,可以滤除高频干扰, C3 、 C4 为大的电解电容,主要用于滤除低频噪声。
51单片机电子秤程序设计

51单片机电子秤程序设计概述本文档介绍了如何使用51单片机(AT89C51)设计一个简单的电子秤程序。
通过该程序,电子秤能够测量物体的重量并实时显示在液晶显示屏上。
硬件准备在开始编写程序之前,我们需要准备以下硬件设备:- AT89C51单片机开发板- 电子秤传感器模块- 16x2液晶显示屏- 连接线程序设计以下是该电子秤的主要程序设计步骤:1. 引入必要的头文件include <reg51.h>include <lcd.h>2. 定义端口和变量sbit DOUT = P3^7; // 电子秤传感器数据接口float weight = 0; // 测量到的重量3. 初始化液晶显示屏void lcd_init(){// 在这里初始化液晶显示屏的相关设置}4. 启动AD转换void start_conversion(){// 在这里启动AD转换,将传感器的模拟数据转换为数字数据}5. 读取AD转换结果float read_conversion(){// 在这里读取AD转换结果并返回}6. 主程序void main(){lcd_init(); // 初始化液晶显示屏while (1){start_conversion(); // 启动AD转换weight = read_conversion(); // 读取AD转换结果// 将重量显示在液晶显示屏上lcd_gotoxy(1, 1); // 设置光标位置lcd_print("Weight: %.2f kg", weight); // 显示重量delay(500); // 延时一段时间,以控制刷新速度}}总结通过以上步骤,我们可以设计一个简单的51单片机电子秤程序。
该程序可以实时获取电子秤传感器的数据,并将测量到的重量显示在液晶显示屏上。
我们可以根据实际需求进行进一步的功能扩展和优化。
请注意,本文档仅提供了程序设计的概述,并未包含具体的代码实现。
电子秤解决方案 (51MCU+HX711)

单片机电子秤设计报告秤是一种在实际工作和生活中经常用到的测量器具。
随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。
和传统秤相比较,电子秤利用新型传感器、高精度AD转换器件、单片机设计实现,具有精度高、功能强等特点。
本课题设计的电子秤具有基本称重、键盘输入、计算价格、显示、超重报警功能。
该电子秤的测量范围为0-10Kg,测量精度达到5g,有高精度,低成本,易携带的特点。
电子秤采用液晶显示汉字和测量记过,比传统秤具有更高的准确性和直观性。
另外,该电子秤电路简单,使用寿命长,应用范围广,可以应用于商场、超市、家庭等场所,成为人们日常生活中不可少的必需品。
一、功能描述1、采用高精度电阻应变式压力传感器,测量量程0-10kg,测量精度可达5g。
2、采用电子秤专用模拟/数字(A/D)转换器芯片hx711对传感器信号进行调理转换,HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D 转换器芯片。
3、采用STC89C52单片机作为主控芯片,实现称重、计算价格等主控功能。
4、采用128*64汉字液晶屏显示称重重量、单价、总价等信息。
5、采用4*4矩阵键盘进行人机交互,键盘容量大,操作便捷。
6、具有超量程报警功能,可以通过蜂鸣器和LED灯报警。
7、系统通过USB电源供电,单片机程序也可通过USB线串行下载。
二、硬件设计1、硬件方案单片机电子秤硬件方案如图1所示:图1 单片机电子秤硬件方案称重传感器感应被测重力,输出微弱的毫伏级电压信号。
该电压信号经过电子秤专用模拟/数字(A/D)转换器芯片hx711对传感器信号进行调理转换。
HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D 转换器芯片,内置增益控制,精度高,性能稳定。
HX711芯片通过2线串行方式与单片机通信。
基于51单片机的电子秤的设计整理资料

学号:毕业设计GRADUATE THESIS论文题目:基于51单片机的电子秤的设计学生姓名:专业班级:学院:指导教师:年月日第一章功能说明本设计系统以单片机AT89S52为控制核心,实现电子秤的基本控制功能。
在设计系统时,为了更好地采用模块化设计法,分步设计了各个单元功能模块。
系统的硬件部分包括最小系统部分、数据采集部分、人机交互界面和系统电源四大部分。
最小系统部分主要包括AT89S52和扩展的外部数据存储器;数据采集部分由称重传感器,信号的前期处理和A/D 转换部分组成,包括运算放大器AD620和A/D转换器ICL7135;人机界面部分为键盘输入,四位LED数码显示器,可以直观的显示重量的具体数字以及方便的输入数据,使用方便;系统电源以LM317和LM337为核心设计电路以提供系统正常工作电源。
系统的软件部分应用单片机C语言进行编程,实现了该设计的全部控制功能。
该电子秤可以实现基本的称重功能(称重范围为0~9.999Kg,重量误差不大于±0.005Kg),并发挥部分的显示购物清单的功能,可以设置日期和设定十种商品的单价,还具有超量程和欠量程的报警功能。
本系统设计结构简单,使用方便,功能齐全,精度高,具有一定的开发价值。
称重传感器原理即由非电量(质量或重量)转换成电量的转换元件,它是把支承力变换成电的或其它形式的适合于计量求值的信号所用的一种辅助手段。
按照称重传感器的结构型式不同,可以分直接位移传感器(电容式、电感式、电位计式、振弦式、空腔谐振器式等)和应变传感器(电阻应变式、声表面谐振式)或是利用磁弹性、压电和压阻等物理效应的传感器。
对称重传感器的基本要求是:输出电量与输入重量保持单值对应,并有良好的线性关系;有较高的灵敏度;对被称物体的状态的影响要小;能在较差的工作条件下工作;有较好的频响特性;稳定可靠。
传感器下的定义是:“能感受规定的被测量并按照一定的规律转换成可用信号的器件或装置,通常由敏感元件和转换元件组成”。