电子秤的设计与实现
基于单片机的电子秤的设计与实现(毕业论文)
1.2 电子称重系统的应用领域
1.
本课题的主要设计思路是:利用压力传感器采集因压力变化产生的电压信号,经过电压放大电路放大,然后再经过模数转换器转换为数字信号,最后把数字信号送入单片机。单片机经过相应的处理后,得出当前所称物品的重量及总额,然后再显示出来。此外,还可通过键盘设定所称物品的价格。
在设计期间,本人努力查阅相关资料,对称重的基本原理以及各软件、硬件模块做了认真的分析、研究。根据性能成本考虑,在以下几方面做了仔细的分析研究,主要有:系统模块的划分、A/D精度的考虑、单片机与外围模块的接口电路以及电子秤应用程序的实现等。
论文的结构如下:
第二章 叙述了系统的方案论证以及硬件设备的选型。
第三章 详细叙述了硬件电路的设计过程,主要是各个模块的具体设计过程,以及各部分性能指标的要求和实现。
第四章 叙述了该设计软件部分的设计思路,主要是主程序和各个子程序的详细设计方案。
第五章 叙述了该设计仿真和调试结果。
第六章 论文工作的总结。
第二章 系统方案论证与选型
按照本设计功能的要求,本设计大致可分为五个模块:数据采集模块、信号放大模块、模数转换模块、单片机控制模块、人机交换模块。(其中人机交换模块中包括:声光报警、LCD显示、键盘输入)系统设计总体方案框图如图2-1所示。
图2-1设计思路框图
测量部分是利用称重传感器检测压力信号,得到微弱的电信号(本设计为电压信号),而后经处理电路(如滤波电路,差动放大电路,)处理后,送A/D转换器,将模拟量转化为数字量输出。控制器部分接受来自A/D转换器输出的数字信号,经过复杂的运算,将数字信号转换为物体的实际重量信号,并将其存储到存储单元中。控制器还可以通过对扩展I/O的控制,对键盘进行扫描,而后通过键盘散转程序,对整个系统进行控制。数据显示部分根据需要实现显示功能。
多功能精准电子秤的设计与实现
多功能精准电子秤的设计与实现摘要:随着社会信息化的发展,以及智能化的政务服务体系的不断完善,电子秤已经逐渐融入到人们的日常生活中。
在用户逐步深入使用了解电子秤的过程中,仅仅称量的功能已经不能满足用户的需求。
目前电子秤逐渐向多功能、精准化方向发展。
通过结构优化设计,结合现有用户的审美潮流与使用习惯,电子秤也更加可靠、准确、省时省力。
关键词:多功能精准电子秤;设计与实现;引言电子秤是一种通过电子传感器实现力电转换的计量设备,相较于传统的机械秤,具有读数方便、称量准确等特点。
随着科技水平的高速发展,电子秤的技术水平、功能多样化也在逐步提高和完善。
用户群的细分,使电子秤不断的集成新的功能。
如婴儿秤、孕妇秤、体脂秤、身高秤、地毯秤等。
此外,电子秤的精准化测量水平也在逐步提高,如高精度厨房秤、口袋秤、高精度人体秤等。
本文主要通过电子秤多功能、精准化两个方面来阐述电子秤的设计与实现方法。
1、电子秤多功能的设计与实现电子秤的多功能设计主要是根据用户的使用场景,分析用户称重时的使用需求,不断收集用户需求,结合市场导向,从而设计出多功能的电子秤。
本部分内容主要结合几个应用实例,阐述电子秤多功能的设计与实现方法。
1.1婴儿人体两用秤婴儿人体两用秤的出现将四点式电子人体秤与婴儿秤合二为一。
具体的设计与实现方法如下:在四点式电子人体秤的基础上,设计卡接口,卡接口用于卡接托盘,托盘用于承载婴儿。
当使用人体秤时,将托盘拆卸掉,即切换为四点式电子人体秤模式;当婴儿称重时,将托盘通过卡接口安装,即切换为婴儿秤模式。
该两用秤的结构设计要点是托盘的安装方式、托盘本身的结构强度,安装方式要可靠,常见的为活动扣与弹性扣;托盘本身的强度要通过结构设计来加强,防止承载时过大的变形,导致婴儿不舒适。
1.2地毯秤为满足电子秤复杂地面的使用需求,有厂家设计出一种地毯秤,即将在四个支撑点下增加一个支撑壳体。
当秤体在较柔软或者不平整的地面上称量时,靠支撑壳体将力传递给四个支撑点,四个支撑点将力传递给传感器,实现准确称量。
基于单片机的智能电子秤控制系统的设计
基于单片机的智能电子秤控制系统的设计智能电子秤控制系统是一种集成数字电子技术、传感技术、自动控制技术于一体的高精度、高可靠性的电子秤系统。
本文将介绍基于单片机的智能电子秤控制系统的设计原理及实现方法。
一、系统设计原理基于单片机的智能电子秤控制系统主要由称重传感器、AD转换模块、单片机、LCD显示模块和通信接口模块等组成。
其工作原理如下:1. 称重传感器智能电子秤的核心部件是称重传感器,用于将物体的重量转换为电信号。
常用的称重传感器有应变式、电阻式、电容式等。
它们能够根据物体的质量变化而改变输出电信号,作为下一步处理的输入信号。
2. AD转换模块AD转换模块用于将模拟信号转换为数字信号,通过单片机进行处理。
通过AD转换模块,可以将称重传感器输出的模拟信号转换为单片机可以理解的数据,为后续的数据处理提供基础。
3. 单片机单片机是整个智能控制系统的核心,负责接收AD转换模块的信号,并进行数据处理,并通过LCD显示模块将结果实时显示出来。
同时,单片机还可以通过通信模块与其他设备进行数据交互。
4. LCD显示模块LCD显示模块用于将称重结果以数字形式显示出来,提供直观的测量结果给用户。
5. 通信接口模块通信接口模块允许智能电子秤与其他设备进行数据交互,如与计算机进行连接,实现数据的上传和下载。
二、系统设计方法基于单片机的智能电子秤控制系统的设计可以按照以下步骤进行:1. 硬件设计根据系统的功能需求,选择适当的称重传感器和AD转换模块,并通过电路设计将其与单片机和LCD显示模块进行连接。
此外,根据实际需求选择合适的通信接口模块。
2. 软件设计编写单片机的控制程序,包括AD转换的初始化和读取、数据处理、LCD显示等功能。
根据实际需求,可以添加一些额外的功能,如单位选择、重量校准等。
3. 系统测试将硬件和软件进行组装后,进行系统测试。
通过放置不同重量的物体进行秤量,检查显示结果的准确性和稳定性。
同时,测试通信功能是否正常工作。
单片机电子秤毕业设计
单片机电子秤毕业设计毕业设计题目:基于单片机的电子秤设计与实现一、设计要求:1.设计并实现一款能够准确测量物体质量的电子秤,使用单片机进行控制与数据处理。
2.电子秤应具备高精度、高稳定性和可靠性等特点。
3.电子秤的测量范围应足够大,能够适用于不同质量的物体。
4.电子秤的设计应尽可能简洁、实用、易于操控和维护。
二、设计方案:1.传感器选择:使用称重传感器作为负载传感器,可选用应变片式传感器或压阻式传感器。
2.信号放大与转换:将传感器测得的微小变化信号通过专用放大电路进行放大,并转换为0-5V或0-3.3V的直流电压信号。
3.单片机控制与显示:使用适当的单片机进行控制与数据处理,可选用常见的51单片机或STM32系列单片机,并通过数码管、液晶显示屏或LED显示屏等显示当前测量的质量值。
4.按键与操作:通过按键实现归零、单位选择、累计等基本操作实现。
5.通信接口:可选用串口或IIC总线等通信模式,将测量结果实时传输到上位机或其他设备。
6.电源系统:使用稳压电源保证整个系统的稳定工作。
三、设计流程:1.硬件设计:a.选择合适的电子元件,包括称重传感器、单片机、显示器、按键、通信模块等。
b.设计传感器接口电路,包括信号放大与转换电路。
c.设计按键与控制电路,将按键输入与单片机相连接,实现操作控制功能。
d.设计显示电路,将单片机输出与显示设备相连接,实现结果显示功能。
e.设计电源电路,保证整个系统的稳定工作。
2.软件设计:a.编写初始化程序,对单片机进行初始化设置。
b.编写按键扫描程序,实现按键输入的检测和处理。
c.编写称重传感器读取程序,实时读取称重传感器输出的模拟电压信号。
d.编写质量计算程序,根据传感器输出的模拟电压信号进行质量计算,并实现单位选择功能。
e.编写显示程序,将计算得到的质量值进行显示。
f.编写通信程序,如果需要与上位机或其他设备进行通信,则需要编写相应的通信协议和数据传输程序。
四、测试与调试:1.对硬件进行连接并进行通电测试,确保电子秤的各个部分能够正常工作。
电子秤的设计与实现
南阳理工学院本科生毕业设计(论文)学院:电子与电气工程学院专业:电气工程及其自动化学生:指导教师:完成日期2014 年 5 月南阳理工学院本科生毕业设计(论文)电子秤的设计与实现Design and Implementation of Electronic Scales总计:25 页表格:0 个插图:17 幅南阳理工学院本科毕业设计(论文)电子秤的设计与实现Design and Implementation of Electronic Scales学院:电子与电气工程学院专业:电气工程及其自动化学生姓名:学号:指导教师(职称):评阅教师:完成日期:南阳理工学院Nanyang Institute of Technology电子秤的设计与实现[摘要]用单片机作为实现电子秤的中心控制单元,通过压力传感器对重力进行A/D转换单元,再加以键盘和显示电路以及软件来实现。
电子秤不仅称量准确并且快速方便,最重要的是自动称重、数字显示对人们生活的影响越来越大,广受欢迎。
本课题由单片机作为主控制系统,称量物体重量部分包括压力传感器、A/D转换器及显示单元,所以电子秤拥有了功能量多、性能价格比较高、功率损耗较低、控制系统方案简单、方便携带、运行速度很快、自动测量精准及自动化等特点。
[关键词]重量;压力传感器;a/d转换器;数码管Design and Implementation of Electronic ScalesElectrical Engineering and Automation Specialty ZHU Yan - qingAbstract:MCU as the implementation of electronic scales central control unit via a pressure sensor on gravity for a/d conversion unit, coupled with a keyboard and display circuits and software. Accurate electronic scales and weighing only quick and easy, most importantly, automatic weighing, figures show the impact on people's lives more and more, the most popular. The issue by the microcontroller as the main control system, weighing weight of the object portion includes a pressure sensor, a/d converter and display unit, so the amount of electronic scales have multi-function, high performance and low cost, low power consumption, simple control system solutions easy to carry, run fast, precise automatic measurement and automation features.Key words:Weight;sensor;a/d converter;digitron目录1 引言 (1)1.1 电子秤的研究背景 (1)1.2 电子秤的国内外发展现状 (1)1.2.1 电子秤国内外现状 (1)1.2.2 电子秤的发展趋势 (1)1.3 课题研究目的与意义 (2)2 设计方案及元器件介绍 (3)2.1 电子秤的基本工作原理 (3)2.2 电子秤设计要求 (3)2.3 电子秤系统各模块的方案选型 (4)2.3.1 A/D转换器 (4)2.3.2 传感器 (4)2.3.3 电子秤主控制系统核心 (4)2.3.4 显示器 (5)3 硬件设计 (6)3.1 电子秤硬件设计方案 (6)3.2 单片机电子秤应用电路 (6)3.3 电子秤AD转换芯片HX711及其电路 (7)3.4 称重传感器 (8)3.5 显示电路 (10)3.6 电源电路 (12)4 软件设计与结果 (12)4.1 软件流程 (12)4.2 Proteus仿真软件 (13)5 硬件下载与调试 (14)结束语 (17)参考文献 (18)附录 (19)致谢 (25)1引言1.1 电子秤的研究背景秤是一种在实际工作和生活中经常用到的测量器具。
电子行业课程设计电子秤
电子行业课程设计电子秤1. 引言电子秤是一种利用电子技术来测量物体质量的仪器。
在电子行业课程设计中,设计和制作一个电子秤是一个常见的任务。
本文将介绍电子秤的基本原理、设计要求以及实现过程。
2. 基本原理电子秤通过测量物体所产生的重力来确定物体的质量。
其基本原理如下:1.电子秤采用压力传感器来测量物体对秤盘的压力。
2.压力传感器将压力转换为电信号。
3.电信号经过放大和滤波后,被微处理器处理。
4.微处理器根据压力信号的大小计算出物体的质量。
5.最后,将质量数值显示在数码显示屏上。
3. 设计要求设计一个电子秤需要满足以下要求:1.精度要求:电子秤的测量精度应满足工业或商业应用的要求,一般为0.1g或更高。
2.承重能力:电子秤的设计应根据使用场景和物体的质量范围确定合适的承重能力。
3.可靠性:电子秤的设计应考虑系统的稳定性和可靠性,包括传感器的精度、放大电路的稳定性等。
4.功耗:电子秤的设计应考虑尽可能降低功耗,延长电池寿命。
5.显示和操作:电子秤应提供直观的显示屏和简单的操作方式,以方便用户使用。
6.价格和成本:电子秤的设计应考虑成本控制,尽量降低生产成本和售价。
4. 实现过程电子秤的实现过程可以分为以下几个步骤:4.1 传感器选择选择合适的传感器是设计电子秤的关键步骤。
常用的传感器有压力传感器和应变传感器。
根据设计要求,选择合适的传感器,同时考虑成本和可获得性。
4.2 电路设计电路设计包括放大电路、滤波电路、模数转换和微处理器接口。
通过放大电路和滤波电路,将传感器输出的低电压信号放大和去除干扰信号。
然后,进行模数转换将模拟信号转换为数字信号。
最后,将数字信号通过微处理器进行处理和计算。
4.3 软件开发软件开发主要包括数据处理和显示。
微处理器通过编程对传感器产生的模拟信号进行处理和计算,得到物体的质量数值。
然后,将质量数值通过数码显示屏显示出来。
4.4 调试和优化完成硬件和软件的设计后,进行调试和优化是非常重要的一步。
电子秤的设计与实现
电子秤的设计与实现一.研究的目的和意义随着时代科技的迅猛发展,微电子学和计算机等现代电子技术的成就给传统的电子测量与仪器带来了巨大的冲击和革命性的影响。
常规的测试仪器仪表和控制装置被更先进的智能仪器所取代,使得传统的电子测量仪器在远离、功能、精度及自动化水平定方面发生了巨大变化,并相应的出现了各种各样的智能仪器控制系统,使得科学实验和应用工程的自动化程度得以显著提高。
传统的机械秤有很多缺点,比如精度不高,结构复杂,易老化,成本高等。
随着社会的发展,市场对秤的要求的越来越高,尤其是人体秤、厨房秤等各类便携式小型秤。
电子秤与传统的机械秤相比有许多优越性,它用压力传感器取代机械秤的弹簧大大减小了秤的体积和制造难度,以LCD或LED显示屏取代传统的刻度盘使外形更加美观,由于内部集成了单片机以及软件系统,电子秤还拥有传统机械秤无法比拟的智能性。
他可以完成过载报警,总价计算,数据通信等众多功能。
目前市场上使用的称量工具,或者结构复杂,或者运行不可靠,且成本高,而且整体水平不高,部分小型企业质量差且技术薄弱,设备不全,缺乏产品的开发能力,产品质量在低水平徘徊。
因此,有针对性的开发出一套具有实用价值的电子秤系统,从技术上克服上述诸多缺点,改善电子秤应用中的不足之处,具有现实意义。
二.设计原理1.电子秤的原理就是利用压力传感器采集因压力变化产生的电压信号,经过电压放大电路放大,然后再经过A\D模数转换器转换为数字信号,最后把数字信号送入单片机。
单片机经过相应的处理后,得出当前所称物品的重量及总额,然后再显示出来。
此外,还可通过键盘设定所称物品的价格。
2. 原理仿真设计电路图图13.程序框图(1)主程序设计开始LCD 初始化重量数据显示总价计算LCD 清屏报警AD 转换重量数据处理是否超过上限按键判断Y N Y N图2 主程序设计(2)子程序A/D 0832的转化图3 A/D 0832的转化(3)显示子程序的设计图4 显示子程的设计(4)按键子程的设计在程序中可以先判断按键编码,然后根据编码将键盘代表的数值送到相应的存储单元,再进行功能选择或数据处理。
电子秤毕业设计
电子秤毕业设计一、引言在当今社会,电子秤作为一种重要的测量工具,广泛应用于商业、工业、农业以及日常生活等各个领域。
其高精度、快速响应和便捷操作的特点,使得它成为了不可或缺的设备。
本次毕业设计旨在设计一款功能完善、性能可靠的电子秤。
二、设计目标与要求(一)精度要求能够准确测量物体的重量,精度达到 01g 以内,满足一般商业和工业应用的需求。
(二)量程范围设计量程为 0 10kg,以适应常见物体的称重需求。
(三)显示与操作配备清晰直观的液晶显示屏,操作按键简单易懂,方便用户进行称重、去皮、单位转换等操作。
(四)稳定性与可靠性在不同环境条件下(如温度、湿度变化)能够保持稳定的测量性能,具备良好的抗干扰能力,长时间使用不易出现故障。
三、系统总体设计(一)硬件设计1、传感器选择选用高精度的电阻应变式传感器,其具有精度高、稳定性好、线性度优良等特点。
2、信号调理电路将传感器输出的微弱信号进行放大、滤波和模数转换,以获得准确的数字信号。
3、微控制器采用主流的单片机作为控制核心,负责处理传感器数据、控制显示和执行操作逻辑。
4、电源模块提供稳定的电源供应,确保系统正常工作。
(二)软件设计1、编程语言选择 C 语言进行编程,具有高效、灵活和可移植性强的优点。
2、算法实现采用均值滤波算法对采集的重量数据进行处理,提高测量精度;通过线性拟合算法对传感器的输出特性进行校准,保证测量的准确性。
四、硬件电路设计(一)传感器接口电路设计合适的接口电路,实现传感器与信号调理电路的连接,确保信号传输的稳定性和准确性。
(二)信号放大与滤波电路采用运算放大器和无源滤波器构建放大与滤波电路,将传感器输出的微弱信号放大到合适的幅度,并去除噪声干扰。
(三)模数转换电路选用高精度的 ADC 芯片,将模拟信号转换为数字信号,供单片机处理。
(四)单片机最小系统包括单片机芯片、晶振电路、复位电路等,为单片机的正常运行提供必要的条件。
(五)显示与按键电路使用液晶显示屏显示重量、单位等信息,通过按键实现操作功能。
实用电子秤的设计与制作
实用电子秤的设计与制作一、引言电子秤是一种能够测量物体质量的装置,它通过将电流通过物体,并测量电流通过物体所产生的电阻来计算物体的质量。
电子秤通常由传感器、电子机械与显示器组成。
传感器用于测量电阻,电子机械用于将电流通过物体,显示器则用于显示质量的数值。
本文将介绍一个实用电子秤的设计与制作。
二、设计与制作步骤1.材料准备电子秤的材料包括传感器、电子机械和显示器。
传感器可以选择四个应变片组成的电桥传感器,电子机械可以选择脉冲宽度调制方式的推力电机,显示器可以选择7段LED显示屏。
此外,还需要准备电源、线路板和电子元件,如电阻和电容。
2.传感器连接将四个应变片组成电桥传感器。
首先,将每个应变片焊接在金属膜上,再将膜片固定在称盘的四个角上。
接下来,将应变片的一端与称盘固定在一起,另一端与电桥电路连接。
电桥电路由四个电阻组成,将电桥的输出连接到放大器电路。
3.电子机械设计电子机械部分由脉冲宽度调制方式的推力电机组成。
根据物体质量的不同,通过改变电机的脉宽来改变电流的大小。
电机的转速与质量成正比。
为了实现这一点,需要通过微控制器来控制电机的输出电流。
电机的输出轴与称盘相连,负责将电流传递到物体上。
4.显示和控制部分设计将放大器电路和微控制器连接在一起,以实时测量传感器输出的电流。
微控制器将读取的电流转换为质量数值,并通过7段LED显示屏显示。
此外,还可以添加按键和EEPROM存储器,以实现更多的功能,如单位切换和数据存储。
5.电源设计为了提供正常运行所需的电能,电子秤需要一种稳定的电源。
可以选择使用市电直接供电,或者使用电池作为电源。
如果使用电池,则需要添加电池低压保护电路和充电电路。
三、制作过程1.将传感器组装在称盘上,并连接电桥电路。
2.设计和制作电子机械部分,将电机与称盘相连。
3.设计和制作放大器电路和微控制器电路,并将它们连接在一起。
4.设计和制作显示部分,将7段LED显示屏连接到微控制器。
5.设计和制作电源部分,将电源电路连接到电子秤的电路中。
手提电子秤的设计与实现
手提电子秤的设计与实现手提电子秤是现代生活中常见的一种电子测量工具,它主要用于测量物体的重量。
在设计与实现手提电子秤时,需要考虑到精度、便携性、用户友好性等方面。
以下将从硬件设计和软件设计两个方面详细介绍手提电子秤的设计与实现。
硬件设计:1.传感器选择:手提电子秤的测量精度主要依赖于所选用的传感器。
常见的传感器有压阻式、拉应变式、电容式等。
需要根据实际需求选择合适的传感器,并合理设置其参数。
2.外观设计:手提电子秤需要具备良好的便携性,因此在外观设计上需要考虑尺寸、重量、手柄设计等因素,使得使用者可以方便地携带和使用。
3.电池供电:手提电子秤一般采用电池供电,因此需要选择适合的电池,并设计合理的电池管理系统,以提供稳定的电源供应。
4.数据采集与处理:手提电子秤需要采集传感器测得的重量数据,并进行相应的处理,计算得出准确的重量数据。
因此需设计合适的数据采集与处理模块,确保测量结果的准确性。
软件设计:1.人机界面设计:手提电子秤需要设计一个用户友好的界面,使得使用者能够直观地了解测量结果。
可采用数字显示屏等方式展示数据,同时提供一些功能按钮,如切换单位、归零等。
2.数据处理算法:手提电子秤的重量数据需要经过一系列处理算法才能得出准确的结果。
可根据传感器类型和特性,选择合适的数据处理算法,如滤波算法、校准算法等。
3.单元切换功能:手提电子秤一般可以支持多种单位的切换,如千克、克、磅等。
设计时需考虑到不同单位之间的转换关系,并提供相应的功能按钮或操作方式。
4.错误处理与提示:在使用过程中,可能会出现各种错误情况,如传感器故障、重量超出范围等。
需要设计相应的错误处理与提示机制,给予用户准确的错误信息。
总结:手提电子秤的设计与实现需要综合考虑硬件和软件两个方面的要求。
在硬件设计中,需要选择合适的传感器、设计便携的外观和电池管理系统;在软件设计中,需要设计用户友好的界面、合适的数据处理算法、单位切换功能以及错误处理与提示机制。
电子称的设计与制作基于单片机的设计
误差范围应不超过±0.5%,重复性误 差不超过±0.25%。
性能分析
稳定性
在多次测试中,电子称的读数应保持稳定,无明 显波动。
线性度
加载砝码时,读数应与实际重量呈线性关系,无 显著弯曲。
响应时间
加载或卸载砝码后,电子称的读数应在短时间内 达到稳定。
优化建议与改进措施
1 2
优化算法
调整单片机内部算法,降低误差范围,提高测量 精度。
电子称的设计
硬件设计
传感器选择
选择高精度、低漂移的称重传感器, 如应变片式传感器,以获取准确的称 重数据。
信号调理电路
设计信号调理电路,将称重传感器的 输出信号调整为适合单片机接收的电 压或电流信号。
单片机控制电路
选择合适的单片机型号,并设计单片 机控制电路,包括电源电路、时钟电 路和复位电路等。
单片机与其他组件的连接
称重传感器
通过适当的接口电路( 如差分放大器)将称重 传感器的输出信号接入 单片机的ADC输入端。
显示模块
单片机通过并行或串行 接口与显示模块连接, 控制显示模块的显示内 容。
按键和报警器
单片机通过GPIO口与按 键和报警器连接,实现 用户操作和重量超限报 警。
03
CATALOGUE
显示与按键电路
选择合适的显示屏和按键模块,设计 显示与按键电路,实现用户交互功能 。
软件设计
数据采集与处理
01
编写程序实现单片机从称重传感器读取称重数据,并进行滤波
、去噪、放大等处理。
校准与补偿
02
编写程序实现电子称的校准和补偿功能,以确保称重结果的准
确性。
人机交互
03
编写程序实现用户通过显示屏和按键进行操作,如设LCD 显示模块等,各模块协同工作实现称重功能。
电子秤设计报告范文
电子秤设计报告范文一、简介电子秤是通过电子传感器测量物体质量的一种设备。
随着科技的发展,电子秤取代了传统的机械秤,具有精确、方便、智能等特点。
本次设计旨在研究电子秤的工作原理、设计思路以及实际应用。
二、工作原理电子秤的工作原理主要是利用电子传感器测量物体受力的变化。
当物体放置在电子秤上时,物体的重力作用在电子传感器上产生变化,传感器输出的电信号经过放大、滤波等处理后转化为数字信号,根据这些信号计算出物体的质量,并在显示屏上显示出来。
三、设计思路1.电子传感器选择:我们采用了压力传感器作为电子秤的重要组成部分。
压力传感器能够准确地感知物体施加在其上面的力,是一种较为常见的传感器。
2. 单片机选择:我们选用了Atmega328P单片机作为主控芯片。
Atmega328P具有较强的处理能力和广泛的应用范围,能够满足电子秤的计算和控制需求。
3.显示模块:我们选择了数码管显示模块作为电子秤的显示装置。
数码管显示简单明了,便于用户观察。
4.电源电路:电子秤需要稳定的电源供电。
我们设计了一个直流稳压电源电路,保证电子秤的正常运行。
五、设计步骤1.搭建电子秤平台:设计一个结构稳定的平台,并安装压力传感器在其下方。
2.连接电路:将压力传感器与单片机连接,并接入电源电路和数码管显示模块。
3.编写程序:利用C语言编写单片机的程序,实现电子秤的各项功能,如AD转换、数据处理、结果显示等。
六、实际应用七、结论本次设计成功实现了一个简单的电子秤,通过压力传感器、单片机和数码管的协作,能够准确测量物体的质量。
电子秤的设计思路和步骤简单明了,且应用广泛,有良好的实际应用前景。
毕业设计基于单片机的多功能电子秤的设计与实现
目录第一章绪论 (1)1.1 研究的背景和意义 (1)1.2 研究现状 (1)1.3 主要研究内容 (2)1.4 本文的组织结构 (2)第二章系统方案的设计 (3)2.1 电子秤的设计要求 (3)2.1.1 基本要求 (3)2.1.2 特色和创新 (3)2.2 系统的设计思路及工作原理 (3)2.2.1 工作原理 (3)2.2.2 基本设计思路 (3)2.3系统元器件选型及参数介绍 (5)2.3.1单片机选型 (5)2.3.2 数据采集部分 (6)2.3.3人机交互部分 (8)2.3.4 电源部分 (9)2.3.5 具体实施方案简介 (9)第三章系统的硬件设计 (11)3.1基于STC89C52的主控电路 (11)3.2 数据采集系统 (12)3.2.1 称重传感器 (12)3.2.2 A/D转换电路 (13)3.3 显示电路 (14)3.4 时钟电路 (15)3.5 报警电路 (16)3.6 键盘 (17)3.7 系统硬件电路的绘制 (18)3.7.1Protel99SE软件介绍 (18)3.7.2系统原理图的绘制 (19)第四章软件设计 (20)4.1 主程序流程图 (20)4.1.1时钟模块程序 (20)4.1.2称重模块程序 (21)4.1.3重要的子程序 (22)4.2 主要中断程序流程图 (25)4.3 核心代码 (26)第五章系统的调试 (34)5.1 调试过程中遇到的问题 (34)5.2 误差分析以及调试结果 (34)5.2.1 误差来源 (34)5.2.2调试结果 (35)5.2.3 结果分析 (37)结束语 (38)致谢 (39)参考文献 (40)附录A (41)附录B (42)附录C (43)第一章绪论1.1 研究的背景和意义电子秤是一种与人民现实生产生活息息相关,被广泛应用于各个领域的电子衡器,诸如工业生产,商业贸易,交通运输,港口,机械制造,医疗保健,冶金,矿山和国防建设等各个方面。
带语音播报功能的电子秤设计与实现毕业答辩
带语音播报功能的电子秤设计与实现毕业答辩
很高兴听到你的毕业答辩题目,以下是我的建议。
1. 设计思路
电子秤可以通过添加一个语音播报模块来实现语音播报功能。
主要思路是通过称重传感器获取物体的重量,然后通过控制单元将称重数据送到主控板上进行处理,最后将结果发送到语音模块进行语音播报。
2. 功能模块设计
(1)称重传感器模块:选取一款精度高、准确度稳定的称重传感器作为主要传感器模块,能够准确获取物体的重量数据。
(2)控制单元:控制单元负责对称重传感器进行控制,采集传感器数据,并把重量数据送到主控板进行处理。
(3)主控板:负责对采集到的数据进行处理,并将结果发送给语音模块。
(4)语音模块:负责将处理后的语音信号转化为人声,进行语音播报。
3. 硬件设计
在硬件设计方面,可以使用单片机(如STC89C52)作为主控芯片,选用常用模拟信号处理芯片(如LM358)用于数据放大和处理,使用语音合成芯片(如ISD1820)用于语音播报。
将各个模块进行串联,在电路板上针对电源、信号线等各项关键参数进行相应的设计,从而得到一个稳定、精准、便携的电子秤。
4. 软件设计
在软件设计方面,可以采用C语言编写程序实现接收和处理称重传感器数据,并将处理后的数据传递到语音模块进行语音播报。
同时,还需要对程序进行优化,使其在处理数据的同时,实现适当的算法优化和调整,从而保证电子秤的稳定性和精度。
5. 测试结果展示
通过制成样机,在教室或工厂中进行实地测试,需要对电子秤的稳定性、精度和语音合成信号的清晰度及音量等指标进行详细测量和分析,以证明该电子秤能够满足用户的不同需求。
基于STM32电子秤系统的设计与实现
教学单位信息工程系学生学号嵌入式课程设计论文(设计)题目基于STM32的电子秤系统学生姓名专业名称电子信息工程指导教师成员基于STM32 的电子秤系统设计与实现摘要:智能电子秤是将检测与转换技术、计算机技术、信息处理、数字技术等技术综合一体的现代新型称重仪器。
它与我们日常生活紧密结合成为一种方便、快捷、称量精确的工具,广泛应用于商业、工厂生厂、集贸市场、超市、大型商场、及零售业等公共场所的信息显示和重量计算。
本作品使用STM32单片机作为中心控制单元,通过称重传感器采集质量信息,以HX711进行模数转换单元,在配以TFT液晶显示和触摸屏控制,及WT588D进行语音播报组成。
该电子称不但计量准确、快速方便,更重要的自动称重、计价功能外,还可实现去皮、净/毛转,自动计算,数字显示,语音播报,显示实时温度,实时时间。
本系统是针对是电子称的自动称重、自动计价、数据处理,语音播报进行研究的。
为了阐明用单片机是如何对采样数据进行处理,对数据的采集和转换、计算问题进行了研究。
讨论了单片机控制系统中关键的中断、计算问题,结果表明通过软件设计实现更完善。
本文在给出智能电子称硬件设计的基础上,详细分析了电子称的软件控制方法。
由于单片机控制的电子称结构简单,成本低廉,深受人们的喜爱,本文将对此进行详细讨论关键字:电子秤;STM32;称重传感器;HX711;TFT液晶屏幕;WT588DAbstract:Intelligent electronic balance values detection and the modern new -type names of technical comprehensive one body such as conversio n technical, computer technology, message handling and digital tec hnology instrument. Its and our close combination of daily life becomes a kind of convenient, shortcut, weighing accurate tool ,is applied extensively in commercial, factory raw factory , gat hers trade market, supermarket and large scale market , the mess age of the etc. public place of retail trade shows and weight calculation.Intelligent electronic name passes through name mainly with STM32 as central control unit, value sensor to carry out modulus con version unit , it is matching with keyboard , show by TFTand powerful software to form. It is accurate that this electron claims to not only measure , fast convenience, more important automatic name may still realize besides heavy, valuation function to remove the peel , completely / hair turns , calculate volu ntarily, figure shows , is welcomed by masses of user. Intellige nt electronic name since carry convenience.This system aims at is the automatic name of electronic name he avy, automatic valuation and data handling carry out research. To expound to use single flat machine , it is to how to carry out handling for sampling data , is for the collection of data and conversion and calculation problem has studied. Have discuss ed the suspension of the key in single flat machine control sys tem , calculate problem , show as a result that through softwar e design, realization is perfected more. This text is weighing t he foundation of hardware design to intelligent electron , has a nalysed the software control method of electronic name in detail. Since the electron of single flat machine control weighs struct ure, is simple, cost is cheap, receive deeply people like , thi s text will carry out detailed discussion for this.Key words:Intelligent and electronic to scale; Single flat machine 89c52; W eigh heavy sensor; LED shows目录摘要 ...................................................................................................... 错误!未定义书签。
简易电子秤的设计
简易电子秤的设计一、简易智能电子秤系统结构与原理称重传感器:当被称物体放置在秤盘上时,压力传感器产生力电效应,将物体的压力转换成与被称物体压力成一定函数关系的电信号。
信号处理电路:该电信号先通过前端信号处理电路进行初步处理,以增强信号的稳定性和准确性。
AD转换器:经过信号处理的模拟电信号需要通过AD转换器(如H711芯片)将其转换成数字信号,以便于微控制器进行处理。
H711是一款专为高精度电子秤设计的24位AD转换器芯片,具有集成度高、响应速度快、抗干扰性强等优点。
微控制器(MCU):数字信号送入微控制器后,MCU通过扫描键盘和各种功能开关,根据输入内容和开关状态进行判断、分析和控制,完成各种运算和显示功能。
显示模块:微控制器将计算结果输出到显示模块,如数码管或液晶显示屏,以显示被称物体的重量、价格等信息。
通过以上结构与原理,简易智能电子秤能够实现物体的准确称重,并通过微控制器的处理和控制,提供更多的智能化功能。
二、硬件设计在简易电子秤的设计中,硬件部分是实现秤重功能的基础。
本节将详细介绍电子秤的硬件设计,包括传感器选择、信号处理电路、显示模块和电源管理。
传感器是电子秤的核心部件,负责将物体的重量转换为电信号。
在本设计中,我们选用应变式称重传感器。
这种传感器基于金属电阻应变片的原理,当物体施加压力时,应变片会产生电阻变化,通过惠斯通电桥转换为电压信号输出。
这种传感器具有灵敏度高、稳定性好、抗干扰能力强等特点。
传感器输出的电压信号非常微弱,需要通过信号处理电路进行放大、滤波和线性化处理。
信号处理电路主要包括放大器、滤波器和AD转换器。
放大器:使用运算放大器对传感器信号进行放大,以满足后续电路的处理需求。
显示模块用于直观地显示秤重结果。
本设计采用LCD显示屏,可以清晰地显示数字和字符。
微处理器将处理后的重量数据发送给LCD 显示屏进行显示。
电源管理是确保电子秤稳定运行的关键。
本设计采用内置电池供电,通过电源管理模块进行电压稳定和电池电量监测。
电子秤设计与制作
判断、分析、各种运算 • 运算结果送到内存贮器,需要显示时,CPU发出指令,从
内存贮器中读出送到显示器显示,或送打印机打印
R1R2 R3R4
当:R1 = R2 = R3 = R4 = R R+△R1、R+△R2、R+△R3、R+△R4
V R R 1 R R 4 e R R 1 R R 2R R 3 R R 4
Ve R 1 R 2 R 3 R 4 4R R R R
在力的作用下,R1、R3被拉伸,阻值增大,△R1、△R3正值, R2、R4被压缩,阻值减小,△R2、△R4为负值。
电子秤设计与制作
(三)电子秤主要部件
称重传感器 1.常用各种称重传感器: 电阻应变式、电容式、压磁式、压电式、谐振式等 2.电阻应变式称重传感器:电阻应变式称重传感器是把电阻应变计粘贴在弹性敏感
元件上,然后以适当方式组成电桥的一种将力(重量)转换成电信号的传感器。
电子秤设计与制作
若不考虑Rm,在应变片电阻变化以前,电桥 的输出电压为: V R1 R4 e
2、硬件设计与制作 3.电源部分
DRAWN BY JIMOOM
桥式整流
1
T1
D1
U2 稳压管
LM7808
1 Vin
Vout 3
限流电阻
D2 R2 2.2 2W
4007
U3 稳压管
LM7805
VDD
1 Vin
Vout 3
GND 2
GND 2
220V AC
智能电子秤的设计与实现研究
智能电子秤的设计与实现研究智能电子秤已经成为现代家庭生活中不可或缺的工具,它的出现将人们从繁琐的计量过程中解放出来,让我们更加轻松便捷地完成各种测量工作。
在本文中,我们将探讨智能电子秤的设计与实现研究。
一、智能电子秤的构造与原理智能电子秤通常包含四个关键元件:称量传感器、AD转换器、微处理器和显示屏。
称量传感器是整个电子秤的核心部件,在称量过程中通过量化转换将物体重量转化为电信号;AD转换器将模拟信号转化为数字信号,微处理器则通过读取和处理数字信号,最终将结果显示在屏幕上。
智能电子秤的原理主要由两个部分组成:称重部分和数据处理部分。
称重部分通过称量传感器实现物体的重量测量,然后将数据传递给AD转换器进行转换和处理;数据处理部分则由微处理器来完成,通过编程算法处理AD转换器输出的数据,最终将结果以数字形式显示在液晶屏幕上。
二、智能电子秤的设计与实现对于智能电子秤的设计,我们需要考虑以下几个因素:1.精准度:智能电子秤的精度是至关重要的。
为了确保精准度,称量传感器应该具有高精度和高灵敏度,并且在秤体设计过程中应该考虑到不同重量范围的测量能力。
2.便携性:智能电子秤通常需要在各种环境下使用,因此在设计时,需要考虑到便携性和易于携带性。
为此,秤盘和秤体的设计应该具有轻便和易于携带的特点。
3.多功能性:智能电子秤应该具有多种测量功能和单位的选择,这样用户可以方便地选择不同的测量模式,准确地测量各种物体的重量。
基于以上因素,我们可以设计一款智能电子秤的实现方案:1.硬件实现:在硬件方面,我们使用高精度的称量传感器作为电子秤的核心部分,并且在秤盘和秤体的设计上采用轻便、耐用的材料。
同时,在AD转换器和微处理器的选择上,我们应该考虑到高速、高精度和稳定性等因素。
2.软件实现:在软件方面,我们需要设计一个符合测量需求的界面,并实现多种测量模式和单位的选择。
此外,我们需要开发测量算法,以确保测量的准确性和稳定性。
最后,我们需要将算法和数据处理程序嵌入微处理器中,使之与称量传感器进行协同工作。
简易电子称的设计与实现
简易电子称的设计与实现
简易电子称的设计与实现是一项技术性任务,需要熟悉电子测量技术、智能接口设计、传感器原理以及电子称的工作原理。
针对简易电子称设计与实现,基本流程如下:
1. 确定机器的功能特性。
根据使用场景和用户需求,要精确定义机器功能及指标,如量程、精度、响应速度等。
2. 进行测量技术分析。
根据电子称的使用场景,确定测量技术方案,如力传感器,惯性传感器,电容传感器,电桥传感器等。
3. 设计接口和电路。
根据设备的功能需求,根据传感器选择的型号,设计接口模式,如串口,以太网,USB,I2C,GPIO等,同时设计电路,接口,信号和电源等连接方式。
4. 智能设备接入。
传感器原理以及电子称的工作原理,基于智能设备的实现,例如IOT智能传感器实现,PCB设计以及调试。
5. 系统调试。
选择合适的测试仪器,调整设备各个参数,进行系统调试,确保设备在误差范围内正常工作。
6. 安全性测试。
对设备进行安全性测试,测试设备在电磁干扰、温度、高压、自恢复能力等方面的表现,确保设备能够安全可靠地运行。
7. 抗干扰测试。
对设备进行抗干扰测试,测试设备在不同的环境条件下的性能表现,确保电子称可以长时间稳定、准确地工作。
综上所述,简易电子称的设计与实现需要熟悉电子测量技术、智能接口设计、传感器原理以及电子称的工作原理,并根据使用场景和用户需求进行机器功能定义,采用各种传感器技术,完成接口和电路的设计,并进行安全性和抗干扰性测试,以确保设备的安全可靠性。
单片机中的电子秤设计与实现
单片机中的电子秤设计与实现在当前的科技发展中,单片机技术的应用越来越广泛。
在生活中,电子秤是我们经常使用的一种设备,它通过测量物体的重量来达到称重的目的。
本文将介绍如何使用单片机来设计和实现电子秤。
一、电子秤的工作原理电子秤是利用物体的质量与力的关系来测量重量的。
其工作原理可以简单分为以下几个步骤:1. 传感器:传感器通常采用应变片或者负载传感器。
当物体放在电子秤上时,它产生的压力被传递到传感器上引起应变,传感器产生电信号。
2. 运算放大器:传感器输出的电信号需要经过运算放大器进行放大和滤波处理,以提高精度和稳定性。
3. 数字转换器:经过运算放大器处理后的模拟信号需要通过模数转换器(ADC)转换为数字信号,以便单片机能够进行处理和显示。
4. 单片机:经过ADC转换后的数字信号被传输到单片机中,单片机对其进行处理并进行相应的算法运算。
5. 显示装置:单片机处理完毕后,将结果通过显示装置展示给用户。
二、电子秤设计1. 硬件设计电子秤的硬件设计需要选取合适的传感器、运算放大器、ADC模块和显示装置等组件。
在设计中需要考虑秤台的尺寸、重量范围以及精度要求等因素。
2. 软件设计电子秤的软件设计是指单片机程序的编写。
根据电子秤的工作原理,需要编写相应的算法来处理传感器输出的模拟信号,进行AD转换和计算操作,最后将结果通过显示装置进行展示。
三、电子秤实现1. 硬件实现根据设计的硬件方案,进行电子秤的组装和接线。
确保传感器、运算放大器、ADC模块和显示装置等元件能够正常工作。
2. 软件实现按照软件设计的要求,将单片机程序烧录到相应的芯片中。
通过单片机的IO口与硬件进行连接,确保单片机能够正常接收和处理传感器的输入信号,并将计算结果传送到显示装置。
四、电子秤的应用电子秤的应用非常广泛,常见的场景包括商超超市的商品称重、厨房食材称重、实验室样品称重等。
电子秤的使用方便、准确度高,能够提高工作效率和减少人工操作的误差。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子秤的设计与实现一.研究的目的和意义随着时代科技的迅猛发展,微电子学和计算机等现代电子技术的成就给传统的电子测量与仪器带来了巨大的冲击和革命性的影响。
常规的测试仪器仪表和控制装置被更先进的智能仪器所取代,使得传统的电子测量仪器在远离、功能、精度及自动化水平定方面发生了巨大变化,并相应的出现了各种各样的智能仪器控制系统,使得科学实验和应用工程的自动化程度得以显著提高。
传统的机械秤有很多缺点,比如精度不高,结构复杂,易老化,成本高等。
随着社会的发展,市场对秤的要求的越来越高,尤其是人体秤、厨房秤等各类便携式小型秤。
电子秤与传统的机械秤相比有许多优越性,它用压力传感器取代机械秤的弹簧大大减小了秤的体积和制造难度,以LCD或LED显示屏取代传统的刻度盘使外形更加美观,由于内部集成了单片机以及软件系统,电子秤还拥有传统机械秤无法比拟的智能性。
他可以完成过载报警,总价计算,数据通信等众多功能。
目前市场上使用的称量工具,或者结构复杂,或者运行不可靠,且成本高,而且整体水平不高,部分小型企业质量差且技术薄弱,设备不全,缺乏产品的开发能力,产品质量在低水平徘徊。
因此,有针对性的开发出一套具有实用价值的电子秤系统,从技术上克服上述诸多缺点,改善电子秤应用中的不足之处,具有现实意义。
二.设计原理1.电子秤的原理就是利用压力传感器采集因压力变化产生的电压信号,经过电压放大电路放大,然后再经过A\D模数转换器转换为数字信号,最后把数字信号送入单片机。
单片机经过相应的处理后,得出当前所称物品的重量及总额,然后再显示出来。
此外,还可通过键盘设定所称物品的价格。
2. 原理仿真设计电路图图1 3.程序框图(1)主程序设计图2 主程序设计(2)子程序A/D 0832的转化图3 A/D 0832的转化(3)显示子程序的设计图4 显示子程的设计(4)按键子程的设计在程序中可以先判断按键编码,然后根据编码将键盘代表的数值送到相应的存储单元,再进行功能选择或数据处理。
键盘扫描子程序的流程图如下:图5 按键子程序的设计3.程序清单#include<regx51.h>#include<intrins.h>#include <absacc.h>#include <math.h>#define uchar unsigned char#define uint unsigned int#define BUSY 0x80 //常量定义#define DATAPORT P0sbit bADcs=P1^3; //片选位sbit bADcl=P1^6; //时钟位sbit bADda=P1^7; //数据位sbit LCM_RS=P1^0;sbit LCM_RW=P1^1;sbit LCM_EN=P1^2;uint x1,y1,z1=0,w1,temp1;uchar ad_data,k,n,m,e,num,s; //采样值存储uchar z;uchar data1;char press_data; //标度变换存储单元unsigned char ad_alarm; unsigned char press_ge=0; //显示值百位unsigned char press_shifen=0; //显示值十位unsigned char press_baifen=0; //显示值个位unsigned char press_qianfen=0; //显示值十分位uchar code str0[]={"Weight: . Kg "};uchar code str2[]={"Price: "};uchar code str3[]={"Total: "};uchar code table2[]={0x37,0x38,0x39,0xfd,0x34,0x35,0x36,0x78,0x31,0x32,0x33,0x2d,0x3d,0x 30,0x2e,0x2b}; //键盘码void intu();void jianpan();void delay(uint);void lcd_wait(void);void delay_LCM(uint); //LCD延时子程序void initLCM( void); //LCD初始化子程序void lcd_wait(void); //LCD检测忙子程序void WriteCommandLCM(uchar WCLCM,uchar BusyC); //写指令到ICM子函数void WriteDataLCM(uchar WDLCM); //写数据到LCM子函数void DisplayOneChar(uchar X,uchar Y,uchar DData); //显示指定坐标的一个字符子函数void DisplayListChar(uchar X,uchar Y,uchar code *DData); //显示指定坐标的一串字符子函数void weishu(uint m);void weishu1(uint m);void display(void);void ad0832();void alarm(void);void data_pro(void);void ad0832(void){ uchar i;bADcs = 0;//当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,开始工作CS为低电平bADcl=0; //第一个时钟下降沿前da为1,第二个与第三时钟下降沿前的数据为通道选择bADda=1; //选置起始位bADcl=1;bADcl=0; // 1downbADda=1; //通道选择第1位bADcl=1;bADcl=0; // 2 downbADda=0; //通道选择第2位,通道选择为1,0选通道0bADcl=1;bADcl=0; // 3 downbADda=1;bADcl=1;bADcl=0; // 4 downfor(i=8;i>0;i--){ad_data<<=1; //从第7位开始,要左移data1=data1<<1bADcl=0;bADcl=1;if(bADda==1) ad_data|=0x01; //如果输出1,data1最后一位补1}bADcs=1; //转换完后CS置1}/**********main funcation************/void main(void){delay(50); //系统延时500ms启动ad_data=0; //采样值存储单元初始化为0initLCM( );intu();WriteCommandLCM(0x01,1); //清显示屏DisplayListChar(0,0,str0);DisplayListChar(0,1,str2);while(1){ad0832(); //采样值存储单元初始化为0data_pro();display();jianpan();if(k==1){if(s<=3){DisplayOneChar((s+7),1,table2[num-1]);if(s==1)data1=n;elsedata1=data1*10+n;}}if(k=='='){z1=data1*temp1;WriteCommandLCM(0x01,1);DisplayListChar(0,1,str3);s=0;weishu1(z1);k=0;}if(k==' '){WriteCommandLCM(0x80+0x40,1);WriteCommandLCM(0x01,1);z1=0;s=0; //防止清零时指针后移动}}/*********延时K*1ms,12.000mhz**********/void delay(uint k){uint i,j;for(i=0;i<k;i++)for(j=0;j<10;j++);}/**********写指令到ICM子函数************/void WriteCommandLCM(uchar WCLCM,uchar BusyC) {if(BusyC)lcd_wait();DATAPORT=WCLCM;LCM_RS=0; // 选中指令寄存器LCM_RW=0;LCM_RW=0; // 写模式LCM_EN=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();LCM_EN=0;/**********写数据到LCM子函数************/void WriteDataLCM(uchar WDLCM){lcd_wait( ); //检测忙信号DATAPORT=WDLCM;LCM_RS=1; // 选中数据寄存器LCM_RW=0; // 写模式LCM_EN=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();LCM_EN=0;}/***********lcm内部等待函数*************/void lcd_wait(void){DATAPORT=0xff; //读LCD前若单片机输出低电平,而读出LCD为高电平,则冲突,Proteus仿真会有显示逻辑黄色LCM_EN=1;LCM_RS=0;LCM_RW=0;LCM_RW=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();while(DATAPORT&BUSY){ LCM_EN=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();LCM_EN=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}LCM_EN=0;}/**********LCM初始化子函数***********/void initLCM( ){LCM_EN=0;DATAPORT=0;delay(10);WriteCommandLCM(0x38,0); //三次显示模式设置,不检测忙信号delay(5);WriteCommandLCM(0x38,0);delay(5);WriteCommandLCM(0x38,0);delay(5);WriteCommandLCM(0x38,1); //8bit数据传送,2行显示,5*7字型,检测忙信号WriteCommandLCM(0x08,1); //关闭显示,检测忙信号WriteCommandLCM(0x01,1); //清屏,检测忙信号WriteCommandLCM(0x06,1); //显示光标右移设置,检测忙信号WriteCommandLCM(0x0c,1); //显示屏打开,光标不显示,不闪烁,检测忙信号}void intu(){k=0;x1=0;y1=0;z1=0;}/****显示指定坐标的一个字符子函数****/void DisplayOneChar(uchar X,uchar Y,uchar DData){Y&=0x01;X&=0x0f;if(Y)X|=0x40; //若y为1(显示第二行),地址码+0X40 X|=0x80; //指令码为地址码+0X80WriteCommandLCM(X,1);WriteDataLCM(DData);}/*******显示指定坐标的一串字符子函数*****/void DisplayListChar(uchar X,uchar Y,uchar code *DData) {uchar ListLength=0;Y&=0x01;X&=0x0f;while(X<10){DisplayOneChar(X,Y,DData[ListLength]);ListLength++;X++;}}/*****************系统显示子函数*****************/ void display(void){WriteCommandLCM(0x0c,1); //显示屏打开,光标不显示,不闪烁,检测忙信号DisplayListChar(0,0,str0);//DisplayListChar(0,1,str2);DisplayOneChar(8,0,press_ge+0x30);DisplayOneChar(10,0,press_shifen+0x30);DisplayOneChar(11,0,press_baifen+0x30);DisplayOneChar(12,0,press_qianfen+0x30);delay(1000); //稳定显示}void data_pro(void){unsigned int;float press;if(0<ad_data<256){int vary=ad_data;press=(0.019531*vary);temp1=(int)(press*1000); //放大1000倍,便于后面的计算press_ge=temp1/1000; //取压力值百位press_shifen=(temp1%1000)/100; //取压力值十位press_baifen=((temp1%1000)%100)/10; //取压力值个位press_qianfen=((temp1%1000)%100)%10; //取压力值十分位} }void weishu1(uint m){uchar wei5,wei4,wei3,wei2,wei1,wei0;wei5=m/100000;wei4=m%100000/10000;wei3=m%10000/1000;wei2=m%1000/100;wei1=m%100/10;wei0=m%10;DisplayOneChar(7,1,0x30+wei4);DisplayOneChar(8,1,0x30+wei3);DisplayOneChar(9,1,'.');DisplayOneChar(10,1,0x30+wei2);//DisplayOneChar(10,1,'.');DisplayOneChar(11,1,0x30+wei1);DisplayOneChar(12,1,0x30+wei0);}/***** 键盘扫描程序*****/void jianpan(){ uchar temp;P2=0xfe;temp=P2;temp=temp&0xf0;if(temp!=0xf0){delay(5);temp=P2;temp=temp&0xf0;while(temp!=0xf0){temp=P2;switch(temp){case 0xee:num=1;n=7;k=1,s++;break;case 0xde:num=2;n=8;k=1,s++;break;case 0xbe:num=3;n=9;k=1,s++;break;case 0x7e:num=4;k='/',s++;break;}while(temp!=0xf0){temp=P2;temp=temp&0xf0;}//DisplayOneChar((s+6),1,table2[num-1]); }}P2=0xfd;temp=P2;temp=temp&0xf0;if(temp!=0xf0){delay(1);temp=P2;temp=temp&0xf0;while(temp!=0xf0){temp=P2;switch(temp){case 0xed:num=5;n=4;k=1;s++;break;case 0xdd:num=6;n=5;k=1;s++;break;case 0xbd:num=7;n=6;k=1;s++;break;case 0x7d:num=8;k='*';s++;break;}while(temp!=0xf0){temp=P2;temp=temp&0xf0;}//DisplayOneChar(k+6,1,table2[num-1]);}}P2=0xfb;temp=P2;temp=temp&0xf0;if(temp!=0xf0){delay(1);temp=P2;temp=temp&0xf0;while(temp!=0xf0){temp=P2;switch(temp){case 0xeb:num=9;n=1;k=1;s++;break;case 0xdb:num=10;n=2;k=1;s++;break;case 0xbb:num=11;n=3;k=1;s++;break;case 0x7b:num=12;k='-';s++;break;}while(temp!=0xf0){temp=P2;temp=temp&0xf0;}// DisplayOneChar(k+6,1,table2[num-1]);}}P2=0xf7;temp=P2;temp=temp&0xf0;if(temp!=0xf0){delay(1);temp=P2;temp=temp&0xf0;while(temp!=0xf0){temp=P2;switch(temp){case 0xe7:num=13;k=' ';break;case 0xd7:num=14;n=0;k=1;s++;;break;case 0xb7:num=15;k='=';s++;break;case 0x77:num=16;k='+';s++;;break;}while(temp!=0xf0){temp=P2;temp=temp&0xf0;}//DisplayOneChar(k+6,1,table2[num-1]);}}}三.元件清单C51单片机1个LCD1602显示1个A/D0832芯片1个UA741放大器1个按键13个电解电容30PF 1个15PF电容2个10k电阻1个1k电阻5个1k滑动变阻1个4.7k滑动变阻1个四.调试过程遇到的问题及解决方法在调试过程中,一开始单片机程序烧不进去,发现是单片机坏了,找老师重新换了一块,重量部分显示,但发现没有放大,在进行检查电路发现,放大器的3和4引脚短路,器件本身是坏的,重新换了一个,有了放大,在调试按键部分的过程中,按键显示不正常,经过重新修正程序和换了单片机,按键和总价显示正常。