基于51单片机电子秤设计

合集下载

基于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、单片机选择单片机是智能电子秤的核心部件,负责控制整个系统的运行。

本设计选用AT89C51单片机,该单片机具有低功耗、高性能、易于编程等优点,能够满足智能电子秤的设计要求。

2、压力传感器选择压力传感器是智能电子秤的重要组成部件,负责采集物体的重量信号。

本设计选用电阻应变式压力传感器,该传感器具有测量精度高、稳定性好、抗干扰能力强等优点。

3、显示模块选择显示模块负责将物体的重量信息呈现给用户。

本设计选用LED显示屏,该显示屏具有亮度高、视角广、寿命长等优点。

4、电源模块选择电源模块为整个系统提供稳定的电源,保证系统的正常运行。

本设计选用线性稳压电源,该电源具有输出电压稳定、纹波小、安全性高等优点。

四、软件设计软件设计是智能电子秤的关键部分之一,直接影响设备的性能和可靠性。

本设计的软件部分采用C语言编写,主要包括数据采集、数据处理、数据显示等模块。

具体流程如下:1、开机后,系统进行初始化操作;2、压力传感器采集物体的重量信号;3、单片机对采集到的信号进行处理和分析;4、单片机将处理后的数据存储到存储器中;5、单片机控制LED显示屏显示物体的重量信息;6、系统继续等待下一次测量。

基于单片机的电子秤的方案设计

基于单片机的电子秤的方案设计
基于单片机的电子秤的方案设 计
目录
01 一、引言
03 三、硬件设计
02 二、总体设计 04 四、软件设计
目录
05 五、调试与优化
07 参考内容
06 六、应用前景
一、引言
随着科技的不断发展,智能化和数字化逐渐成为测量与控制领域的主流趋势。 其中,电子秤作为一种高精度的测量设备,在贸易结算、工业生产等领域具有广 泛的应用。基于单片机的电子秤因其具有体积小、成本低、易于集成等优点,越 来越受到人们的。本次演示将介绍一种基于单片机的电子秤设计方案,以期为相 关领域的工程技术人员提供参考。
4、数据显示:将重量数据显示 在显示模块上。
5、报警提示:如遇超重或欠重 情况,系统会进行报警提示。
6、数据存储:可预留数据存储接口,方便用户对重量数据进行存储或传输。
五、总结
本次演示介绍了基于51单片机的电子秤设计,通过利用电阻应变式传感器进 行重量检测,经过51单片机处理后将重量数据显示出来。这种设计具有精度高、 稳定性好、使用方便等优点,可广泛应用于各种场合的重量检测。随着技术的不 断发展,我们有理由相信,以51单片机为核心的电子秤设计将会有更广阔的应用 前景。
3、采用软件滤波算法,减少外界干扰对测量精度的影响;
4、对程序进行优化,提高数据 处理速度和准确性。
经过调试与优化后,电子秤的性能得到了显著提升,测量精度得到了提高。
六、应用前景
基于单片机的电子秤具有广泛的应用前景。在实际应用中,该电子秤可应用 于贸易结算、工业生产、食品药品等行业。同时,由于其体积小、成本低等优点, 可以方便地集成到各种称重系统中。
Байду номын сангаас
二、电子秤的工作原理
电子秤是利用传感器测量物体的重量,并将重量转换为电信号,再通过信号 处理电路进行处理,最终以数字形式显示出来。51单片机作为一种通用的微控制 器,可以方便地对电子秤进行控制和数据处理。

基于51单片机的智能电子秤

基于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单片机电子秤程序设计

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单片机电子秤程序。

该程序可以实时获取电子秤传感器的数据,并将测量到的重量显示在液晶显示屏上。

我们可以根据实际需求进行进一步的功能扩展和优化。

请注意,本文档仅提供了程序设计的概述,并未包含具体的代码实现。

基于MCS-51的电子称设计1

基于MCS-51的电子称设计1

【设计题目】基于MCS-51的电子称设计【设计要求】(1)设计一款电子秤,用LED液晶显示器显示被称物体的质量(2)可以设定该秤所称的上限(3)当物体超重时,能自动报警(4)具有较小的误差率(5)可以进行清零操作【设计过程】1.方案设计本方案利用电阻应变式压力传感器和MCS-51单片机等器件制作的电子秤。

该秤可以对量程范围内的物体进行称量,能实现称重、数码显示、清零等功能。

该电子秤利用电桥测量原理,将压力应变传感器阻值转换为电压值,再经过放大器将电压放大,通过确定输出电压和标准重量的关系,形成一台原始电子秤。

本设计由以下几部分组成:电阻应变传感器、信号放大器、模数转换、单片机、显示器。

其流程图如图1所示。

图1 电子称的流程图由电阻应变式传感器感受被测物体的质量,通过电桥输出电压信号,通过放大电路将输出信号放大,而后送入A/D转换单元进行模数转换,将转换后的数字信号送给单片机;单片机接收数据后,对数据进行处理,将其转换为对应的重量信息,送液晶显示模块进行显示。

单片机同时也可以进行去皮调零操作,因此单片机还需查寻键盘是否有输入,执行相应的功能。

2.硬件详细设计2.1电阻应变传感器设计电阻应变式传感器是将被测量的力,通过它产生的金属弹性变形转换成电阻变化的元件。

由电阻应变片和测量线路两部分组成。

电阻应变片产生的误差,主要来源于温度的影响,本设计主要在实验室内进行,温度的影响暂不处理。

电阻应变式传感器结构图如图2所示。

图2 电阻应变式传感器结构图在电桥测量电路中,将一对变化相反的应变片接入电桥一臂,另一臂接两个相同的阻值作为基准值;当桥臂电阻初始值R1=R2=R3=R4=350时平衡,其变化值为ΔR1=ΔR2=ΔR3=ΔR4=d 时,其桥路输出电压Uout 与d 成正比。

2.2放大电路硬件设计由于传感器输出的信号比较微弱,必须通过一个放大器对其进行放大,才能满足A/D 转换器对输入信号电平的要求。

本设计中选用由三运放构成的具有高输入阻抗,高共模抑制比的仪表放大器作为前级,再接一个反相比例放大器作为后级输出。

基于51单片机电子秤设计

基于51单片机电子秤设计

摘要电子秤是日常生活中常用的称重设备,广泛应用于超市、大中型商场、物流配送中心。

电子秤在结构和原理上取代了以杠杆平衡为原理的传统机械式称量工具。

相比传统的机械式称量工具,电子秤具有称量精度高、装机体积小、应用范围广、易于操作使用等优点,在外形布局、工作原理、结构和材料上都是全新的计量衡器。

微电子技术的发展为电子秤提出了改进的空间。

电子秤向着简单、便宜发展,智能化、精确的电子秤成为了人们的追求。

本简易电子秤以常见的AT89C51为核心,以电阻应变片采集应变数据,通过HX711放大并进行AD转换供单片机处理,用LCD1602显示所测量的重量,同时本电子秤系统还提供单价设置进行求价格的计算以及去皮功能,通过一些简单低成本的元器件就完成了一个功能齐全的电子秤的制作,将传统电子秤的成本进行了缩减。

关键词:电阻应变片 AT89C51 HX711 电子秤第一章方案与论证一、方案类型(一)方案一通过单片机为主控芯片,用应变片采集应变数据,通过专用仪表放大器INA128对采集到的信号进行放大,在配上模数转换芯片对放大了的模拟信号转化为数字信号,传入单片机中进行数据处理,找出函数关系并转化关系。

通过数字信号转化为重量值显示在LDC1602上,同时通过键盘进行数据输入,输入单价、去皮等功能。

通过蜂鸣器和二极管实现超额报警功能。

(二)方案二以单片机为主控芯片,应变片采集应变数据,将放大和模数转换用HX711芯片来同时进行实现,将模拟量传入主控芯片单片机中进行数据转换,通过函数关系转换为重量显示到LED 上或者LCD1602上,同时通过键盘按键进行数据输入,输入单价、去皮等功能,并通过蜂鸣器进行数据处理。

(三)方案三运用PLC作为主控制器,PLC运用广泛,它具有接线简单,通用性好,编程简单,使用方便,可连接为控制网络系统,易于安装,便于维护等优点。

二、方案论证与选定运用51单片机作为主控芯片,AT89C51是一种高效微控制器。

基于单片机的电子秤设计

基于单片机的电子秤设计

基于单片机的电子秤设计随着科技的不断发展,电子秤在日常生活和工业生产中发挥着越来越重要的作用。

传统的电子秤往往采用复杂的电路和机械结构,使得其体积大、成本高、可靠性差。

为了解决这些问题,本文将介绍一种基于单片机的电子秤设计方案。

一、系统设计方案基于单片机的电子秤主要由传感器、信号处理电路、单片机和显示模块组成。

其中,传感器负责采集物体的重量信息,信号处理电路则对传感器输出的信号进行放大和滤波,单片机对处理后的信号进行读取和计算,并将结果传输给显示模块。

二、硬件设计1、传感器电子秤的传感器部分通常采用应变片式或电容式传感器。

其中,应变片式传感器具有精度高、稳定性好的优点,但其输出信号较小,需要经过放大处理;电容式传感器则具有响应速度快、过载能力强的优点,但其精度和稳定性相对较差。

因此,在选择传感器时需要根据实际需求进行权衡。

2、信号处理电路信号处理电路主要包括放大器和滤波器两部分。

放大器用于将传感器输出的微弱信号进行放大,以便于后续处理;滤波器则用于去除信号中的噪声和干扰。

此外,还需要设计适当的电源电路,为整个系统提供稳定的电源。

3、单片机单片机是整个系统的核心,负责对传感器输出的信号进行读取和计算。

本设计采用AT89C51单片机,该单片机具有价格低、性能稳定、易于编程等优点。

4、显示模块显示模块用于将单片机的计算结果直观地展示给用户。

本设计采用LED数码管作为显示器件,具有简单易用、成本低等优点。

三、软件设计软件部分主要包括数据采集、数据处理和数据显示三个模块。

数据采集模块负责读取传感器的输出信号;数据处理模块则对采集到的数据进行滤波、放大和计算;数据显示模块则将处理后的结果通过LED数码管展示给用户。

此外,还需要设计适当的延时和去抖动算法,以提高系统的稳定性和精度。

四、测试与结论为了验证本设计的有效性,我们对基于单片机的电子秤进行了测试。

测试结果表明,该电子秤的测量精度和稳定性均得到了较好的实现,同时具有体积小、成本低、可靠性高等优点。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于51单片机电子秤设计摘要电子秤是日常生活中常用的称重设备,广泛应用于超市、大中型商场、物流配送中心。

电子秤在结构和原理上取代了以杠杆平衡为原理的传统机械式称量工具。

相比传统的机械式称量工具,电子秤具有称量精度高、装机体积小、应用范围广、易于操作使用等优点,在外形布局、工作原理、结构和材料上都是全新的计量衡器。

微电子技术的发展为电子秤提出了改进的空间。

电子秤向着简单、便宜发展,智能化、精确的电子秤成为了人们的追求。

本简易电子秤以常见的AT89C51为核心,以电阻应变片采集应变数据,通过HX711放大并进行AD转换供单片机处理,用LCD1602显示所测量的重量,同时本电子秤系统还提供单价设置进行求价格的计算以及去皮功能,通过一些简单低成本的元器件就完成了一个功能齐全的电子秤的制作,将传统电子秤的成本进行了缩减。

关键词:电阻应变片 AT89C51 HX711 电子秤第一章方案与论证一、方案类型(一)方案一通过单片机为主控芯片,用应变片采集应变数据,通过专用仪表放大器INA128对采集到的信号进行放大,在配上模数转换芯片对放大了的模拟信号转化为数字信号,传入单片机中进行数据处理,找出函数关系并转化关系。

通过数字信号转化为重量值显示在LDC1602上,同时通过键盘进行数据输入,输入单价、去皮等功能。

通过蜂鸣器和二极管实现超额报警功能。

(二)方案二以单片机为主控芯片,应变片采集应变数据,将放大和模数转换用HX711芯片来同时进行实现,将模拟量传入主控芯片单片机中进行数据转换,通过函数关系转换为重量显示到LED 上或者LCD1602上,同时通过键盘按键进行数据输入,输入单价、去皮等功能,并通过蜂鸣器进行数据处理。

(三)方案三运用PLC作为主控制器,PLC运用广泛,它具有接线简单,通用性好,编程简单,使用方便,可连接为控制网络系统,易于安装,便于维护等优点。

二、方案论证与选定运用51单片机作为主控芯片,AT89C51是一种高效微控制器。

它为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

但方案一中,放大和AD转换模块为独立模块,它们的独立设计费事费力且还会存在误差较大的情况。

相比于方案一,方案二一HX711作为放大和AD转换芯片,简化了电路结构。

HX711是一款专为高精度电子秤设计的24位AD转换器芯片。

与同类型其他芯片相比,该芯片集成了包括文雅电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。

精度方面很好的满足了题目中的要求,相比于方案一,方案二根据可行性。

方案三采用PLC作为主控芯片,但其价格昂贵,违背了我们制作电子秤的简单、便捷、便宜的原则,所以我们并没考虑选用PLC作为主控芯片。

综合考虑后,我们决定选择方案二来进行本简易电子秤系统的设计与制作。

通过精度、价格、简单程度出发考虑,方案二是最合适的。

第二章设计方案一、设计思路传感器放大电路AD 转换主控芯片去皮超额报警单价LCD显示图2-1总体思路图电阻应变片HX711AT89C51按键输入去皮蜂鸣器超额报警键盘输入单价LCD1602显示图2-2 具体思路二、各部分设计(一)传感器部分设计传感器应题目要求选用电阻应变片,是用于测量应变的元件。

它能将机械构件上应变的变化转换为电阻变化。

为了减少测量误差,本简易电子秤系统采用全桥差动形式,全桥差动测量电路不仅没有非线性测量误差,且电压灵敏度是单臂电阻应变片工作时的四倍,运用全桥差动[1]使得本电子秤系统更加稳定和可靠。

图2-3 全桥差动电路(二)主控芯片主控芯片是电子秤的核心部分,它能接受转换后的传感器信号,同时也能扫描接受到键盘的输入信号,计算价格后控制显示器的输出,能够实现去皮功能,当超过称重量量程时还要控制报警装置报警。

本简易电子秤选用AT89C51作为主控芯片,AT89C51是一种带4K字节 FLASH存储器的低电压、高性能CMOS 8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C051是它的一种精简版本。

AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

51单片机的操作简单,功能强大,价格便宜。

运用51单片机作为主控芯片可以减少成本,而且制作简便,能够实现本系统的所有功能,是一个不错的选择。

(三)放大与AD转换模块在系统总体设计时,我们考虑到了将放大与AD转换作为单独的模块进行设计,但是思考后发现这其中还有更好的选择。

HX711是一款专为高精度电子秤而设计的24位A/D转换器芯片。

与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。

同时HX711还自带放大功能,可选增益为64和128两种。

运用HX711保证了题目要求的高精度,可实现精度误差控制在01g以内,保证了我们完成题目的要求。

(四)键盘方案针对题目要求,需要我们输入单间进行计算,单价包含0-9十个数字,数字键占用十个,确定和清除占用两个,去皮占用一个,复位占用一个。

去皮键、复位键、清除键单独用一个IO口引出;将十个数字键、确定键、计算总价键十二个键制成3x4的矩阵键盘[2]。

通过设计成矩阵键盘的模式而减少单片机IO口的占用,为其他功能腾出空间。

图2-4 3x4矩阵键盘第三章电路设计一、单片机最小系统电路AT89C51是片内有ROM/EPROM的单片机,其最小系统简单、可靠,仅由时钟电路、复位电路、电源电路构成。

(一)时钟电路AT89C51虽然有内部振荡电路,但要形成时钟,必须外部附加电路。

AT89C51单片机的时钟产生方法有两种。

内部时钟方式和外部时钟方式。

本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。

振荡晶体可在1.2MHZ到12MHZ之间选择。

电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,可在20pF到100pF之间取值。

所以本设计中,振荡晶体选择12MHZ,电容选择22pF。

(二)复位电路AT89C51的复位电路是由外部的复位电路来实现的。

只需给复位引脚RST加上大于2个机器周期的高电平就可使其复位。

复位电路通常采用上电自动复位和按键复位两种方式。

本设计就是用的按键手动复位。

其中电平复位是通过RST端经电阻与电源Vcc接通而实现的。

(三)电源电路AT89C51的电源脚分别为20脚Vss和40脚Vcc。

这两个脚分别接地和+5V直流电源,31脚EA为内外存储器的控制端,接+5V允许访问外部存储器。

图3-1 晶振电路和复位电路二、AD转换电路HX711是一款专为高精度称重传感器而设计的24位A/D转换器芯片。

与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点、降低了电子秤的整机成本,提高了整机的性能和可靠性。

该芯片与后端MCU芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器编程。

输入选择开关可任意选取通道A或通道B,与其内部的低噪声可编程放大器相连。

通道A的可编程增益为128或64,对应的满额度差分输入信号幅值分别为±20mV或±40mV。

通道B则为固定的64增益,用于系统参数检测。

芯片内提供的稳压电源可以直接向外部传感器和芯片内的A/D转换器提供电源,系统板上无需另外的模拟电源。

芯片内的时钟振荡器不需要任何外接部件。

上电自动复位功能简化了开机的初始化过程。

图3-2 HX711模块电路三、LCD1602显示电路本设计采用的是LCD1602显示,LCD1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5×7或者5×11等点阵字符位组成,每个点阵字符位都可以显示一个字符。

每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。

1602LCD是指显示的内容为16×2,即可以显示两行,每行16个字符液晶模块。

图3-3 LCD1602电路四、总设计电路图3-4 系统总电路第四章测试方法与测试结果一、测试方法由于本系统是一个简易电子秤系统,所以最好的测量方法就是通过测量标准砝码的质量来比对本电子秤系统的测量显示值。

以测量结果显示值减去砝码质量再除以砝码质量得出误差百分比,同时也得出精确程度。

(一)键盘测量与LCD1602测量键盘与LCD1602的测量我们放在一起进行,编写按键与LCD1602显示函数,将对应按键编码成0-9,按下按键通过LCD1602来进行显示所按下键盘的数值,通过这种方法我们同时测量了键盘与LCD1602的功能,保证了电路焊接的正确性。

(二)模数转换对应数值测量将HX711连接到电路中,通过LCD1602来显示转换后的数值信号,依次将10g、20g、30g、40g到500g的砝码放到秤盘上,依次独处LCD1602的显示数值,将这五十组数据放入到Excel 表格中,通过Excel绘制线性图形。

通过线性图形拟合出线性函数关系。

(三)测量质量检测分别用10g、20g、50g、100g、200g、500g的砝码放到本简易电子系统的秤盘上,比对测量显示值,求出误差百分比和测量精度。

除此之外,我们还用一个10克、两个2克砝码组成一个五十克砝码;一个10克砝码、两个20克砝码和一个50克砝码组成一个100克方法等组合放在秤盘中心进行测量,以此来确定本简易电子秤系统的精确度。

二、测量结果(一)AD转换后数值信号值与砝码质量的对应关系表4-1 AD值与砝码质量(g)的对应关系量通过表中的数据,通过Excel折线图进行拟合,拟合出的结果为数据呈现线性关系,这满足应变片的性质,得出的转换函数为:y=0.1185x+1085.8145。

图4-1 折线图(二)简易电子秤测量结果与标准砝码比对关系在确定了函数转换关系之后,电子秤的制作基本快要完成,将函数关系编写到程序中就实现电子秤的制作。

将10g-500g依次增长10g的砝码放入到秤盘中,比对标准砝码值与测量显示值之间的关系发现误差基本控制在1g之内,0-50g期间大致控制在了0.5g的范围内,基本完成了题目所给要求。

三、测量结论本简易电子秤系统达到了题目要求,拥有输入单价求价格的功能,同时还能满足价格的叠加在单片机芯片中计算而不用,输入一个记录一个值那么麻烦。

相关文档
最新文档