基于单片机的电子秤设计

摘 要

本文设计了一种以51单片机来进行控制的电子秤系统,系统的电路部分由以下几个电路模块组成:数据采集和数据处理电路、模数转换电路、LED及蜂鸣器报警电路、最小系统电路、液晶显示电路、矩阵按键电路等。接通电源后,单片机会把压力传感器输入的小信号进行放大处理及模数转换,通过按键设置单价在LCD1602上显示物体总价信息。
对于硬件设计部分,我们本着低成本,高效率,系统稳定可行的指导方针选取了一些实用的元器件进行设计。而软件设计则采用模块化的设计方法,争取把软件设计得方便可读易操作。文中还详细分析了应变式压力传感器在重量测量上的应用及其使用的原理,而HX711作为一个高精度的24位A/D转换器如何在模数转换的过程如何运作也有相应的介绍。当然,这次设计的结果能够得到预期的效果也离不开其他各部分电路的相辅相成,我们也对一些配合电路做了简单介绍。仿真部分则为我们的设计是否合理进行了初步验证。最后,我们完成了实际电路的焊接,使得理论有了实物作为支撑,整个设计能够正常实现功能。

关键词:51单片机;电子称;压力传感器;模数转换;模块化设计

ABSTRACT

The 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
参考文献 30
致 谢 31

1 引 言

1.1 课题研究的意义
电子秤是一种利用杠杆平衡原理或根据胡克定理制成的衡器。它与我们的生活息息相关,它被广泛运用到工业生产和个人活动中。对物体质量的精确测量能够帮我们计算物体价格,了解物体质量的变化从而获取某种需要的信息。各种社会生产活动、科学研究、商品交易、国防建设事业、国计民生等都少不了它的身影。它作为一种不可缺少的计量设备,直接标志着衡器产品技术的好坏,如果它的测量水平得到提高,社会效益和各行各业的科技水平都会显著增加。精度对评判一个电子秤的优劣是十分重要的,当然对于不同的用途有不同精度要求,我们也不能一味的追求精度而忽视了价格。在工业生产或科学研究中,精度越高,往往与公司利益和研究水平的高低有直接关系。
现在市场上的秤样式繁多,对于传统的度量工具如盘秤、杆秤等,存在着测量精度不高,测量过程复杂,读值不方便,甚至存在不法商贩动手脚等问题。现在市场上,电子秤产品的总体水平普遍不高,存在运行不可靠,成本高,校正时间长,能源消耗大等问题。因此,可以从技术上解决上述难题,设计出一个简单高效的电子秤系统,具有一定的现实意义。我们将要设计的电子秤精度达到1g,精度等级比较高。对生活中小物体的精确测量具有一定的使用价值。相较于以往的机械秤而言,在外观、智能性、便携性上都有更大的优势。
本课题的研究使学生们把在课堂上学到的理论知识和生活实际情况紧密结合起来,制作出一个具有多种功能的电子称系统,增强了学生们的动手能力,巩固学到的各种知识,增加了以后工作中的工程经验。在这个设计过程中,同学们通过多种渠道获得并搜集整理所需信息,使学生们具备初步的科研精神,在以后的科研工作中变得更加求实、严谨、负责,并且掌握了论文撰写的基本方法。
1.2 电子秤的发展现状
这几年里,测量方面的电子仪器在数据处理以及过程的控制中得到了广泛的应用。上世纪40年代前,我国电子衡器还处于机械式的状态,直到40年代后期才开始了机械与电子技术结合的趋势。50年代才把称重传感器作为测量的主要方式来制作电子衡器。正是因为制作称重传感器的技术不断地发展和进步,才使得电子秤的发展有了不断进步的可能。现代社会,称重技术已是各种技术领域中必不可少的一个环节。不得不说,电子技术的快速发展促进了人类社会的现代化的进程,电子秤技术自20世纪开始得到迅猛发展,我国电子秤技术也取得了长足发展。
国内在上世纪60年代左右才开始从事研究和生产电子秤,早期的技术发展比较缓慢,生产的是指针式的电子秤。到了80年代中后期,数字式的才渐渐开始普及开来。到了上世纪末本世纪初的时候,才研制出微机式的电子秤。总的来说,发展程度与其它发达国家相比还比较落后,但在某些产品上也具有某些超高的水平。称重技术在发达国家的发展水平已经达到了一个较高的程度,它的产品种类多、发展规模大、产品的性能都比较好。研制成的产品具有稳定性好,准确度高,可靠程度高的特点。我国的称重技术要达到发达国家的水平,还需要从多个环节进行改善[1]。
在未来的发展中将呈现小型化、模块化、高精度、集成化、智能化、综合化、组合性的发展趋势。一个东西发展的过程就是人们对它要求越来越高的过程。只有物美价廉才符合大众的需求。电子称重技术的发展也是如此,它也是不断从模拟、单参数、静态测量向数字、多参数、动态测量转变的。这是对于称重方面的技术来说,现代社会,只有不断地发展融合相邻学科和行业的知识,才能发展出更广阔的空间,具备更强的竞争力。能够快速动态地测量物体的重量在实际生产生活中具有重要价值。总之,电子称重技术在现代社会中有着不可替代的作用并将继续影响着人们的生活。相信未来的称重技术将更加的先进,为以后的生产生活带来更多的便利。
1.3 设计内容和章节安排
这次设计的电子秤系统主要是以51单片机为基础来展开的。其中用到的51单片机为STC89C51,用到的传感器是电阻应变式压力传感器。我们通过压力传感器将物体的重量转变成电压差进行采集来获取重量信息,然后将这个电压信号进行模数转换后输送到单片机的IO接口上等待单片机的处理,最后通过液晶显示出来. 使用时把物体放到称重支架上,把变化的信号滤波、放大、整形等系列处理后,单片机会将输入的信号进行判断和计算。最终把设置的单价,计算的金额以及称重的结果显示在液晶屏上,方便我们查看读数[2]。
该电子秤系统不仅能够采集压力的大小,还具备了单价输入,金额累计,去皮及校准等功能,通过按键可以设置相应的单价,单片机将自动获取物体的重量并且计算总金额。因为传感器的称重限制,我们设计了报警功能让蜂鸣器和灯能够发出超重示警,引起人们的注意,以防传感器被损坏掉。校准功能则是通过改变标准的按键来实现的,每次校准后,就会按照被修改的值进行计算,从而得到相应校准后的结果[3]。
在这整个设计过程中,我们硬件设计能力和软件编程能力将得到充分的锻炼。在设计的前期,我们需要查询各种文献资料,通过不断地筛选和整理设计出符合我们需要的电路原理图。有了硬件电路的模型后,就要开始软件的设计,这才是让硬件部分能够真正的运作起来的主要部分。软件设计的过程中当然少不了仿真软件的使用,这是我们的软件能否具有可实施性的主要依据。当理论部分完成后,就要开始真刀真枪的演练了,我们要完成实物电路并调试最终达到设计的效果。
论文共分为七个部分讲述了整个设计过程。在第一部分主要介绍了电子秤在国内外的研究现状和其发展历程,同时对毕业设计做了一个基本的介绍;第二部分详细地介绍了单片机内部的一些结构和功能以及使用的编程语言;第三部分主要对此次电路设计中的一些常用芯片做了个介绍,例如应变式压力传感器;第四、五部分则分别从硬件和软件设计方面介绍了设计的各个模块;第六部分主要是此次电路的调试部分,从硬件调试和软件调试角度加以分析,最后对其进行了归纳;最后一部分是对此次设计做了一个总结与展望。

2 单片机简介

2.1 单片机内部结构
单片机从产生到发展经历不过短短三十几年,但它的发展却已经经历了四个阶段,现在我们使用的单片机大都属于增强型,它能够兼容其他系列的51单片机,在存储空间和工作速度上都有较大的进展。单片机又叫做微型计算机,我们在芯片上集成了各种部件使它能够进行运算处理、存储、定时计数以及与外部设备进行通信的功能。它只能一次对8位数据进行处理,可编程的空间也非常有限。在本设计中,我们使用了深圳宏晶公司生产的STC89C51芯片,它在扩展功能和高效运行方面有一定的优越性。下面我们就开始介绍下它的基本组成[4]。
一般单片机的外面封装了40个引脚,里面包含了4组8位即32个I/O口;还有负责供电的两个引脚,电源端在正常工作时应与5V左右的电压相连;有三个引脚是负责对单片机进行控制如:是否进行复位、编程怎样进行、选择哪个外部程序存储器;还有负责提供时钟振荡的两个引脚。其中P3口还有第二功能,能够实行一个全双工的异步串行数据传输,响应两个外部中断请求,还有两个定时计数器能引发中断操作。这五个就是单片机进行中断操作的入口,当要执行中断时,就对这些端口进行设置,就能得到相应的结果。当很多中断请求同时出现,CPU会根据中断的优先级来判断选择哪个中断被优先响应,通常会有两个中断优先级。STC89C51提供了4个优先级、中断源也增加了五个、定时计数器则增加了一个。STC89C51的单片机结构框图基本如下,见图2-1。这些扩展都使得单片机能够完成更加复杂的操作,执行更多的功能。这个单片机不仅在性能上更加优越,同时也非常注重产品的低功耗,具有4K的FLASH程序程序存储器。在控制系统中,我们能经常见到它的身影[5]。
在这里插入图片描述

图2-1 STC89C51单片机结构框图

2.2 单片机特点及引脚介绍
单片机可工作在12MHz的晶体振荡频率,内部还有4K的程序存储器和512B的数据存储器供其存储各种程序和数据,提供4组并行的可编程IO口与外部设备连接。内部CPU通过灵巧操作8位数据分析和读取指令。里面有三个定时/计数器、一个看门狗定时器和八个中断向量源。还具有双数据指针、程序存储器三级加密、掉电标示符等特点。
单片机采用双列直插的封装方式,具体引脚配置,如图2-2所示。
在这里插入图片描述

图2-2 STC89C51单片机引脚配置图

(1)电源引脚:VCC(Pin40)接+5V,GND则负责接地。
(2)外接晶振引脚:XTAL1(Pin19 )和XTAL2(Pin18 )在采用片内时钟方式时应分别与石英晶体和振荡电容相接。当选择外部时钟方式时,18脚要悬空。
(3)复位、控制和选通引脚:RST(Pin9)是能使单片机CPU复位的信号输入端。该引脚被连续输入两个机器周期以上的高电平时,就会对晶片进行复位。复位后,程序会恢复到设定的初始值,从从头开始读取程序。ALE/PROG(Pin30 )这个引脚能控制是否锁存地址和输入用于编程的脉冲。PSEN(Pin29 )当要访问外部程序存储器时,此引脚会产生两个负脉冲,而在访问内部程序存储器或读写外部数据时,都不会输出这个脉冲。EA/Vpp(Pin31 )EA可以用来选择访问内部还是外部程序存储器。而Vpp可以提供编程电压。
(4)输入输出端口引脚:P0口即P0.0-P0.7(Pin39-Pin32),可用于8位并行的IO口,作为输出口时,只有外接上拉电阻才能输出高电平;作为输入口时,要通过程序向锁存器写1,成为高阻抗的状态,以避免锁存器为0时对引脚误读的干扰。P0口还可作为分时复用的地址/数据总线来使用,当外部接64K的存储器空间时,P0口送出低8位地址和传送数据。P1口即P1.0-P1.7(Pin1-Pin8),通常当做普通的IO口来使用,内部有上拉电阻,能负载4个TTL。当输入端口时,也要向端口写1。和基本的8051相比,某些引脚扩展了第二功能。P2口即P2.0-P2.7(Pin21-Pin28),8位准双向并行IO口,内部已具有上拉电阻,能够负载4个TTL。当访问外部存储器时,作为高八位地址线。P3口即P3.0-P3.7(Pin10-Pin17),是能负载4个TTL,具有上拉电阻的8位准双向IO口。每个引脚都有第二功能。引脚P3.0(RXD)和P3.1(TXD)用于串行数据的接收和发送;引脚P3.2和引脚P3.3为外部中断请求,分别用于INT0和INT1的中断输入;引脚P3.4(T0)和引脚P3.5(T1),分别是定时/计数器0的外部计数输入和定时/计数器1的外部计数输入。引脚(WR)和引脚(RD)用于读写单片机外部RAM,是外部数据存储器的写入和读取信号[6]。
2.3 单片机中断系统
单片机的程序一般是按照先后顺序执行的。有的时候,我们遇到紧急的情况需要优先处理,则要打断主程序的运行。这便需要单片机能够对中断执行相应的操作。计算机或单片机的一个非常重要的功能部件就是中断系统,有了它,就具备了对外部的异步事件进行处理的能力。
一个完整的中断系统需要解决中断识别、中断响应、中断优先级、中断嵌套、等问题。微处理器通常支持多个中断如stc89c51就有8个中断源,如果要对不同的中断源进行区分,这些中断就要对应不同的中断服务程序。微处理器中,一般为不同的中断源分配不同的向量地址,发生中断后,就跳转到相应入口地址,这样就识别了不同中断。如果一个中断源产生中断请求,中断系统应该能保护现场并从主程序跳入到中断服务程序,执行相应的处理过程。中断服务程序处理完成后,返回到断点,在恢复的现场继续执行主程序。中断优先级和中断嵌套概念的提出有效的解决了多个中断请求同时出现或在一个中断处理的过程中另一个中断请求发生的情况。我们赋予中断源不同的优先级,如表2-1所示。按照中断源的不同分为两个外部中断源、两个定时中断源、和一个串行中断源三类。单片机对中断的处理分为三步,满足中断响应条件后,CPU做出中断响应;然后从软硬件对中断进行处理;最后中断服务程序,返回主程序[7]。
图2-1中断优先级次序
在这里插入图片描述

2.4 单片机最小系统
单片机的最小系统是单片机能够正常工作的最小硬件组合。按不同的作用可以将其划为电源、复位电路和晶体振荡器等功能模块。其结构框图如图2-4所示。
系统上电时,系统就会进入一个特定的初始状态,CPU和特殊寄存器等硬件资源都会被初始化,程序会从头开始执行,这就是复位。当程序出现死机的情况,也需要复位操作,要不然就会持续处于死机状态。复位电路是促使单片机进入复位状态的硬件结构。在实际应用中,我们采用外部电路来复位。单片机的复位电路有上电复位、手动加上电复位、看门狗复位以及一些复杂的复位电路。只要在RST引脚施加24个时钟振荡周期即10ms以上的高电平就可以实现。
振荡器和时钟电路为单片机提供了一个正常工作的时钟信号。数字逻辑电路需要有在一个统一的步调才能运行,而这些复杂的时序电路是单片机内部的基础。时钟电路的工作方式分内部时钟模式和外部时钟模式。通常选取11.05926或12M作为时钟基准。如果要使用P0口,通常则要接一个10KΩ排阻作为上拉电阻[8]。
在这里插入图片描述

      图2-3  单片机最小系统结构图

2.5 编程语言
2.5.1 汇编语言
汇编的语言是机器语言的助记符,可以直接控制硬件,指令执行速度快,且指令的执行时间固定,因此汇编语言的执行效率很高。但语言格式比较晦涩、可读性差、难于编写和调试,也不便于移植,影响了程序代码的共享]。如下表2-2为常用汇编语言操作指令集:
表2-2 汇编语言操作指令集
在这里插入图片描述

2.5.2 C51语言
与汇编语言相比,单片机C语言在结构上更易理解、可读性强,且开发速度快、可靠性好、便于移植。因此,在使用单片机进行系统开发的时候,多使用C语言可以缩短开发周期、降低开发成本。随着单片机硬件系统的发展和产品更新速度的提升,单片机的开发越来越侧重于程序本身的开发效率,以便快速占领市场。因此,单片机C语言已经成为单片机系统研发人员的主要选择。如图2-4就简要介绍使用C语言编写软件系统的组成结构。
在这里插入图片描述

图2-4C51单片机软件系统结构

3 单片机外围电路介绍

3.1称重传感器介绍
传感器一般是指将各种物理量转变成电信号的仪器。在本设计中,我们使用了一种力传感器,它能将物体的压力即物体的重量通过电压的变化来采集起来。在现代称重技术的发展史上,称重传感器已是一个不可缺少的部件,它的发展也制约着称重技术的进步。它就相当于电子衡器的感觉器官,它的性能将直接影响CPU这个大脑的判断,我们不紧缺不了它而且也需要把它发展的更加精确和稳定,电子衡器的发展才能更进一步。经过一代一代科学家和工程师的不断研究,称重传感器的种类不断地丰富起来。将压力转换成电信号的传感器有电磁力式、电阻应变式、液压式、电容式等。其中电阻应变式由于其简单实用、能够适应更加复杂的工作环境而被广泛使用[9]。
应变片附着在发生形变的弹性体上,弹性体受力时,应变片也会发生一定的形变从而影响自身的阻值,这就使应变片所处的补偿电路失去平衡,我们通过检测电桥两端的电压差,计算出相应的物体重量。称重传感器的误差可以从非线性、滞后、温度影响等多方面考虑,具体性能指标如表3-1。
在这里插入图片描述

表3-1 传感器参数

应变片电阻变化规律:当一个质量恒定的物体在稳定的环境下。若长度变长,则横截面积减小。根据R=ρ*L/S,则其电阻值变大,反之电阻值变小。电桥电路是电学中比较常用的测量电路,它能通过检测电阻或电感等元器件物理量间接测量温度、压力等非物理量。这里选择的应变式压力传感器也采用了惠斯通电桥。没有放物体时,电桥处于平衡状态,所以示数应为0;当放上物体时,产生电压差,这个差值就会被后续的模数转换电路和单片机进行处理[10]。简单惠斯通电桥电路如图3-1所示。
在这里插入图片描述

                   图3-1惠斯通电桥

U输入恒定桥压时,UA、UC端的输出与R1、2、3、4阻值有关。
UB=UR2/(R1+R2) (式3-1)
UD=U
R3/(R3+R4) (式3-2)
UBD=UB-UD (式3-3)
3.2 LCD1602液晶显示屏
由于LED数码管只能够显示少量字符和数字,满足不了人们显示的需求,于是液晶便应运而生。液晶用它低功耗、高性能的优势占据了大部分的市场空间。在很多电子产品上都能发现它扮演着一个重要角色如电子表、计算机、数码相机和液晶电视上等。液晶是被澳大利亚植物学家莱尼茨尔于1888年发现,之后被广泛的研究,到上世纪五十年代才大规模的使用。液晶显示就是根据液晶这种有机化合物会受到电光效应的影响,改变分子排列,造成光线穿透的路径发生扭曲或折射的原理制成的。即主要是利用了液晶的扭曲向列效应。LCD是一种被动显示器,其通过调节光的亮度来达到显示效果[11]。
液晶显示模块是一种集成度较高的显示组件,它将液晶显示器件、背光源、控制器、外部连接端口和PCB电路板等组装到一起。常用的液晶显示器件有段型LCD液晶显示、点阵字符液晶显示和连续的点阵像素构成的显示。数显液晶模块就只能显示数字及标识符号;点阵字符液晶模块可以显示数字和西文字符;点阵图形模块则可显示完整的图形。这三种显示模块根据不同的显示需求被应用到各种不同的场合。液晶显示模块最大的优点是可以显示汉字和图形,除了这还具有体积小、功耗低、显示质量高、接口简单、应用范围广、无电磁辐射、重量轻的优点。
本文选用LCD1602带背光,具有16个引脚(见表3-2),是一个字符型液晶显示模块。它能够显示216共32个字符,能够达到我们的显示要求价格也不会太昂贵。字符型液晶电路特性目前在国际上已经越来越趋于统一的样式,控制驱动大都采用HD44780,我们选用的这个液晶模块也是选用了这个基控器。液晶显示的字符原理和数码管一样,都是通过使一组不同的灯发光排列出不同的图形,这里的每一个格子就像是一个发光的led灯。一个字符显示的格子数可以是57或是5*10等不同形式。液晶模块内部电路芯片上有一些字符已经被预先存储到ROM中了,我们在使用时可以根据ASCII选取相应数字或字母。内部还有RAM自定义显示的字符。自定义字符时,我们将这些格子也就是显示单元按8个一组的方式生成一个点阵数组,存储到RAM中。8个就对应了一个字节,所以按照亮的为1,灭的为0,不足8位的在前面补零的方式凑成了8位方便读取。要显示复杂字符时,则要到RAM去找到相应位置的8个字节[12]。

表3-2在这里插入图片描述
LCD1602引脚列表

LCD控制器可以通过RS和RW引脚共同决定选择哪个寄存器,这就对应不同的数据指令读写操作。在刚开始对显示屏操作时,我们要设置显示模式、开关及光标位置、数据指针的位置和选择是否清屏或回车。液晶屏可以显示的区域第一排对应RAM上的00-0F,第二行则对应40-4F。所以我们在设置显示第二排位置时,要注意在前面加上40H。这些都是对液晶模块写入指令的操作(RS=0),我们只要根据不同的指令设置指令码就可以实现。RS为高电平时,就可以对液晶屏写入数据,这次设计中所使用的都是自带的字符,不需要我们进行自定义,因为基本与ASCII兼容,我们只要根据相应的值就可以选择显示想要输出的数。RW为低电平时,就是选择写操作,根据写操作时序图(图3-2),我们知道写操作流程大致是先将RW置为0,然后选择输入数据或指令,将使能端变为高电平,端口就会开始接收发送的数据或指令,经过tpw时间后,关闭使能端,等待下一次写入。读操作与写操作的操作大致相同,就是刚开始要把RW置为1。通常情况下,我们都是对液晶显示进行写操作。
在这里插入图片描述

图3-2 写操作时序图

3.3 AD转换模块HX711
在测控系统中,我们经常需要将采集的各种模拟信号进行转换分析,这样单片机的CPU才能对转换成的数字信号进行处理。目前,有许多AD转换的芯片在市场上广泛应用。按照转换的原理,分为直接转换和间接转换。像比较常用的逐次渐进型就属于直接转换,而双积分型就属于间接转换。而我们这次则没有选用比较传统的ADC,而是使用了Σ-Δ型的AD转换器。Σ-Δ型的AD转换器的制作成本低、分辨率高。综合考虑各部分转换误差和外界干扰,我们选了HX711作为AD转换的芯片[13]。
HX711是24位,具有反应快、抗外部干扰和集成了多种外围电路的特点,可以说这是一种专门为测重而设计的转换芯片,为设计可靠高性能的电子秤的的整体设计降低了成本。它还具有上电自动复位、抑制电源干扰、差分输入可选、输出速率可选、片内集成时钟振荡器和稳压电路的特点。芯片内的稳压电源使外部传感器和AD转换器都无需另外接电源。其内部结构图如3-3所示。
在这里插入图片描述

图3-3 HX711内部结构图
该芯片不仅在性能和价格上具有其它芯片不能比拟的优势,在使用方法上也是非常简单。芯片上有16个引脚,详细功能如图3-4。其中有两路差分输入通道可供选择,不同的通道后连接的低噪放大器的增益是不同的。A通道就可以通过编程选择增益大小,B通道是固定的。我们在使用中,就是通过编程选取增益为128。
在这里插入图片描述

图3-4 HX711芯片引脚图
DOUT(串口数据输出端)和PD_SCK(断电和串口时钟输入)共同组成串口通讯线。我们可以通过设置PD_SCK的输入脉冲数选择增益大小,脉冲数和增益大小对应关系如表3-3所示。
表3-3输入通道和增益选择
在这里插入图片描述

根据数据输出、输入通道和增益选择时序图(图3-5)可知,若转换器未准备就绪,初始状态应把DOUT设为高电平,PD_SCK为低电平。当DOUT变为低电平后,就表明可以在PD_SCK=1时开始发送数据,PD_SCK经过24个脉冲发完数据后,后续的PD_SCK脉冲数选择增益。
在这里插入图片描述

图3-5 操作时序图

4 硬件电路设计

4.1 硬件电路总框图设计
设计一个电子秤,首先们要知道它能实现什么样的功能。当放上物体时,我们要将重量转为电信号,这就需要一个力传感器。获取的电信号是模拟量,不能被CPU处理,就需要进行AD转换。如果要根据单价计算总金额,就需要能够输入数据的键盘。这些获得的重量、单价和总金额都需要显示出来才能达到查看的目的,所以液晶屏也不能少。最后为了避免超重,设置了报警装置。
本设计采用模块化设计法,将硬件结构分功能划成了数据采集、矩阵键盘、显示、报警和单片机最小系统控制模块。具体电路图详见附录,总框架图如图4-1所示。其中,数据采集模块包括称重传感器和A/D转换电路。最小系统则包括单片机、晶振、复位等部件。键盘由4X4位矩阵键盘组成,可以控制显示重量和价钱等信息;显示部分由LCD1602液晶显示[14]。报警功能则有蜂鸣器和LED灯来实现。

在这里插入图片描述

图4-1 硬件电路设计总框图
4.2 数据采集电路设计
数据采集电路是整个电子秤设计的基础,我们所有的功能都是围绕对采集的数据进行的操作。采集电过程包括力-电转换和A/D转换[15]。称重传感器是电阻应变式压力传感器,能够承受10kg的重量,能够将压力转为电压差读取。而AD转换电路采用了专用型24位AD转换器HX 711芯片模块。电路如图4-2所示,串口数据输出DT与P12相连,断电控制和串口时钟输入SCK接P13。通过编程选择SCK输入脉冲数选择通道A ,增益128。
在这里插入图片描述

图4-2数据采集模块电路图

4.3 最小系统电路设计
如上所述,电源电路、时钟电路、单片机、复位电路能够形成一个单片机最小系统(图4-3)。给单片机提供一个时间基准,单片机就会按照这个决定执行速度。时钟电路选用了12MHZ的晶振提供时钟。执行一条基本指令需要的时间为一个机器周期[16]。其中晶振提供一个正弦波信号,电容C1和C2起稳定作用。单片机的复位电路,按下复位按键之后可以使单片机进入刚上电的起始状态,只有是高电平才能正常复位。我们将上电复位和手动复位结合在一起组合成混合复位电路来完成复位的功能。上电复位利用RC充放电,在RST上加一个短暂的高电平,当充完电后,电容断开,程序恢复运行。当程序死机或需要重新开始时,就需要手动复位,按下按键,VCC就直接连接到了RST,电容被短路放电;按键松开,就恢复到低电平,继续给电容充电。图中10K排阻为P0口的上拉电阻,由于P0口跟其他IO结构不一样为漏极开路的结构,因此要加上拉电阻才能正常使用。

在这里插入图片描述

图4-3 最小系统电路图

4.4 矩阵键盘电路设计
键盘是就是电子秤系统的输入设备,能够进行简单的人机互动,里面包含了一组按键。它通过将键盘排列成行列式矩阵的形式,实现了对IO口复用,节约了IO口线的数目。我们使用的是要靠自编软件识别的非编码键盘。通过软件设置相应按键的功能,输入数据或命令,显示屏就会显示我们想要的操作结果。按键是处于常开状态,只有按下时才闭合。电路如4-4所示。将每行按键的一端分别于P3口的前四个引脚依次相连,每个按键的另一端以按列的方式分别与P3端口的后四个引脚相接。我们使用时通过扫描法查询哪一个按键处于低电平的状态,以确定哪个按键被按下。我们将不同的按键返回不同的值来实现对显示屏的操作,实现多种交互性的功能[17]。
在这里插入图片描述

                  图4-4矩阵键盘电路图

4.5 LCD1602显示电路设计
由于本设计中要求显示界面显示一些参数,因此这里选用了LCD1602作为界面显示,可以把一些相关的参数进行显示。将STC89C51的PO口8个引脚分别连接到液晶屏的D0-D7即数据端;P2.5连接到LCD的片选信号,下降沿触发;P2.6作为LCD的读写信号;P2.7当作基控器内寄存器选择信号。具体连接图看图4-5。V0为液晶屏显示对比度的调整端,对比度过高时会产生“鬼影”,所以我们连接了一个10K和1K的电阻,以保证显示时不会影响读数。
在这里插入图片描述

图4-5 LCD1602的引脚连接图

4.6 报警电路设计
报警电路由蜂鸣器和LED灯组成,超重时蜂鸣器会不断发出响声,红灯也会不停闪烁。其电路如图4-6所示。报警电路是声光报警,分两个端口对其分别进行操作。当重量大于10kg时,单片机会通过程序设置端口的电平值,从而使灯和蜂鸣器分别发出光和声音。对于蜂鸣器,就要给P1.0一个低电平,而对于LED灯就需要给P1.1一个高电平,这样才能使它们导通,正常工作。蜂鸣器部分我们使用了一个PNP型的三极管放大驱动,使其工作。
在这里插入图片描述

                      图4-6   报警电路

4.7 硬件电路原理总图
本次设计了一个以单片机为控制核心的电子秤系统。按照设计要求,电子秤需要通过键盘控制单价输入、校准等功能,显示的价格由液晶屏显示,并且需要有超重报警的功能。因此设计电路时,硬件电路除了包含单片机最小系统即振荡电路、复位电路、电源,还在P3口接了一个4*4的矩阵键盘,P0端口通过10KΩ的排阻接到液晶屏的数据端,P2端口中5、6、7脚则控制液晶屏的读写控制。数据的采集和处理由传感器和24位的AD转换芯片HX711来完成,HX711的时钟和数据输出端分别接到P1端口的2、3脚。报警电路则由蜂鸣器和LED灯来实现,P1.0控制蜂鸣器,P1.1控制LED灯。电源为5V的直流电源,加了一个自锁开关可以控制电源的通断。总体的设计电路图如图4-7所示。
在这里插入图片描述

                           图4-7 设计总电路图

5 软件设计

在整个单片机应用系统的总体方案及硬件分配定型后,便可以着手进入具体的设计阶段。可以根据实际的需要来选择单片机设计语言及开发环境。在单片机程序设计时,可以采用结构化的程序设计,将各个功能部件模块化,使用各种子程序,降低下一步调试修改的难度;充分考虑软件运行时的状态,避免未处理的运行状态,否则程序运行时易出错,不受控制;要合理安排各个功能部件的时序,确保程序能正确执行[18]。
系统软件由主程序、键盘扫描程序、HX711读取程序、LCD1602写操作程序组成。主程序由系统初始化和主循环组成,包括时钟中断、按键响应、 各种数值显示设置、称重、获取毛皮等功能子程序。在系统刚刚开始运行时,首先要对各种值进行初始化,然后不停地循环检查是否有什么功能需要被执行,系统会根据设定的按键功能进入相应的状态。主循环完成定时扫描按键,保存校准值的功能。键盘扫描程序确定了哪一个按键被按下,而HX711程序则完成了重量数字信号的采集,LCD1602写操作程序能够对液晶屏的显示进行设置。
5.1主程序流程图
这一部分主要是完成内部各寄存单元的初始化,接口电路的初始化,内部定时器的初始化和调用显示程序对初始状态的显示,以及对外部信号的等待处理,也就是完成前期的准备工作,等待随时对外部信号进行响应。当“开始”键按下时,对单片机内部、液晶显示和定时器进行初始化,然后进行主循环,当定时到达0.5s时,称重并显示然后对键盘进行扫描,根据输入键盘值进行相应操作。当输入校准按键时,开启校准功能并保存校准值。主程序流程图如5-1所示。
在这里插入图片描述

                     图5-1 主程序流程图

因为这个电子秤功能较多,设计时通过不同的功能在主程序里分了几个子函数,按键响应功能子程序就是把扫描程序获取的键值当做参数,进行判断,做出相应的操作。称重功能子程序则实现了把从hx711获取的值进行了超重判断、净重计算、计算并显示总金额的操作。而重量、单价、金额的显示设置则通过调用LCD1602里面的子函数设置显示的位数、位置及内容。时钟中断功能子程序能够每过0.5s就称一次物体的重量,其中用到了定时器,如图5-2所示。
在这里插入图片描述

               图5-2时钟中断程序流程图

5.2键盘扫描程序
本次设计的矩阵键盘工作方式采用的是扫描法(图5-3),就是先对第一行置0,其余三行置1,对每列进行扫描,判断是否有按键按下,。如果没有则对第二行置0,以此类推,进行判断,检测到低电平后,就返回相应键值。
在这里插入图片描述

              图5-3 键盘扫描流程图

5.3 HX711读取程序
图5-4是相应流程图。根据HX711操作时序图,可知现将DT和SCK的值置于未读取状态,等待DT值到可读取的状态,将DT输入的值依次保存起来,然后将保存的值返回。
在这里插入图片描述

图5-4 hx711读取程序流程图
5.4 LCD1602写操作程序
这个程序能够实现对液晶屏的数据或命令写操作,能够控制怎么样在液晶屏上显示以及显示的内容。里面包括写数据子函数,写指令子函数,连续写字符的子函数以及液晶屏的初始化。通过控制RS的高低电平选择是输入数据还是指令,将数据或指令赋给端口,让液晶屏显示相应操作,写指令流程图如图5-4所示。写连续字符则是将指针作为参数调用写数据子函数实现的。
在这里插入图片描述

图5-4液晶屏写指令程序流程图

6 系统调试

在本次设计中,我们首先通过查找资料设计了电路原理图并通过protel软件绘出来,之后又用keil4编写了相应的程序通过proteus进行仿真[19],通过一步步的摸索,确定了最后的软件程序可以实现基本的功能。最后进行相应元器件的购买和焊接工作。通过STC_ISP我们将生成的hex文件下载到单片机内,进行调试,通过调试发现了一些问题并进行修改。调试成功后,验证了此次设计的可行性。系统调试是设计的最后一个环节,但是也不能掉以轻心,如果这一步没有成功,那么前面的设计都只能是空想,没有实际成果作为支撑。
6.1 硬件调试
一个设计能否成功必然是软件和硬件共同作用的结果,但是首先我们要对硬件进行基础的排查,这样能够避免后续工作排查的难度。所以在焊接过程中,我们没有一股脑的把所有器件都焊接起来,而是分功能的焊接,然后对照电路图进行检查连线是否错误,然后用万用表检查是否有虚焊或者短路的情况发生。焊接完成后,我们再次检查了所有的电源是否连接正确。接通电源后,却发现还是有出现一些问题,例如我们一接通电源,液晶屏的背光就立马亮了起来,断开电源后,背光还是继续发光。通过检查发现背光是直接连到了电源两端,没有通过开关连接。排除了一些简单的硬件问题后,我们就可以开始软件调试了。
6.2 软件调试
因为程序要实现较多的功能,设计时也是遇到了不少问题,不管是由于粗心还是由于知识上的不足造成的。但经过不断地调试修改,最终还是解决了这些问题。软件不像硬件一样有实实在在地电路图,只要一点一点地连正确了,基本就完成了。软件里小到一个标点符号都可能影响整个功能,我们通过keil编写程序一步一步实验各种功能。要么是写的程序功能出现错误,要么是功能完全没有实现。我们就只能不断地摸索,然后不停的修改,不断地验证。最后编译成功后生成hex文件在proteus中进行仿真,如图6-2所示。
在这里插入图片描述

                        图6-2 系统仿真图

在调试过程中,本来能实现基本功能,可是之后又发现屏幕只能显示初始化界面,不能显示其它功能。称重传感器没有读数,经过排查,发现是有一根线断了。所以说,软硬件是缺一不可的。

7 总结及展望

经过几个月的不懈努力,从不同的渠道搜集大量相关资料进行方案的设计,到绘制原理图,编写源程序,到进行实物的焊接、系统的调试,在不断发现和不断探索中,我们最终解决了我们设计过程中遇到的各种问题。最终基本实现了设计的基本功能。
这个电子秤可以对10kg以内的物体重量进行测量,并具有通过按键设置单价自动显示总价的功能,当物体超重时具有声光报警功能,还具有累加,去皮及校准的功能。在工程设计中,模块化的思想是经常被人们使用的,这次设计也是基于这个思想完成的。根据所要实现的功能设计相应的电路模块,画出硬件电路。程序设计也是如此,根据不同的功能设计不同的子函数,进行调用,设计更具有可读性,条理清晰。程序流程图的使用也使得设计更加的方便,逻辑更加严密,在编写程序的时候更清楚自己进行到哪一步。设计过程中使用了不同的软件,增加了熟练度。通过实物的焊接与调试,锻炼了我们的动手能力。通过此次设计,对项目的设计环节更加清晰的认识,如果我们以后在工作中遇到类似的问题,就能知道怎么去解决。
现代社会的科技发展越来越快,相信在以后的生活中,人们会使用功能更加完善,称重更加精确,使用更加方便的电子秤[20]。智能化是现在大多数电子设备的发展趋势,电子秤在以后的生活中也会向着这方面发展,具备更多方便实用的功能,例如声控、遥控等。它将不仅仅只是一个称重工具,可以与多个学科相结合,综合具备多种功能。只要我们有需求,它就会不断地发展,变得更加强大。以后它会变得更加小巧,易于携带,集成度更加高。科技正在改变着我们的生活,只有不断地学习研究,才能把各种天马行空的想法变成现实。电子秤作为一个日常生活中不可或缺的测量工具,必将一个全新的面貌走入我们的生活。

参考文献

[1] 赵广平,孙雯萍,孙建军. 电子称重技术现状及发展趋势[J]. 仪表技术传感器,2007,(07).
[2] 孙莹. 单片机在电子秤中的应用[J]. 仪器仪表用户,2001,(03).
[3] 李燕. 电子秤的结构和工作原理[J]. 物理通报,2006,(06).
[4] 赵建领,崔昭霞. 精通51单片机开发技术与应用实例[M]. 电子工业出版社,2012:
[5] 朱华,方路平,英石彦. 增强型8051单片机快速实践教程[M]. 电子工业出版社,2013:
[6] 郑锋,王巧芝,李英建. 51单片机应用系统典型模块开发大全[M]. 中国铁道出版社,2013:
[7] 王欣飞,谢龙汉,谢锋然. 51单片机原理与程序设计[M]. 清华大学大学出版社,2014:
[8] 黄智伟,王明华. 全国大学生电子设计竞赛常用电路模块第2版[M]. 北京航空航天大学出版社,2016:
[9] 宋强,张烨,王瑞. 传感器原理与应用技术[M]. 西南交通大学出版社,2016:
[10] 赵家贵,付小美,董平. 新编传感器电路设计手册[M]. 中国计量出版社出版社,2002:
[11] 吴玮玮. 基于单片机的电子秤系统设计[J]. 机械与电子,2016,(05).
[12] 何希才. 常用传感器应用电路的设计与实践[M]. 科学出版社,2007:
[13] 徐爱钧,徐阳.智能化测量控制仪表原理与设计(第3版) [M].北京航空航天大学出版社,2012:
[14] 王召. 基于单片机的电子秤设计[J]. 科学与财富,2016,8(5).
[15] 沙占友,孟志永,王彦朋. 单片机外围电路设计第二版[M]. 电子工业出版社,2006:
[16] 贺敬凯,刘德新,管明祥. 单片机系统设计、仿真与应用——基于keil和proteus平台[M]. 西安电子科技大学出版社,2011:
[17] 王伞. 常用电路模块分析与设计指导[M]. 清华大学出版社,2013:
[18] 彭伟. 单片机C语言程序设计实训100例——基于PIC和proteus的仿真第二版[M]. 电子工业出版社,2015:
[19] 朱清慧 ,张凤蕊,翟天嵩. Proteus教程第3版[M]. 清华大学大学出版社,2008:
[20] 张争刚,熊刚. 基于单片机的多功能电子秤设计[J]. 机械与电子,2016,34(11):58-61.

致 谢

时间如白驹过隙,转眼我们就要结束我们的大学生活,踏入一个新的旅程。但不管未来的生活如何艰难,相信这四年的大学生活都会给我们留下不可磨灭的印记,各方面的感悟经历都会成为我们以后人生的一个宝贵经验。在此,我要向所有给予了我帮助的人表示由衷的谢意。感谢老师在课堂上的谆谆教诲,感谢同学们在我遇到难题的时候为我出谋划策,还要感谢我的家人让我能够安安心心的在学校学习,从金钱到精神上都给我支持。在这最后的一个学期里,我们完成了选题、查阅资料、写开题报告、完成设计实物等许多工作,这其中也遇到了许多问题,但是我们最后能克服这些难题,都要感谢陪我们一路走来的指导老师周老师。周老师总会抽出时间来与我们沟通,寻求解决的办法。毕业设计过程中,周老师每周都会抽出时间来询问我们遇到的问题以及对我们的工作进度进行了解和督促。在论文修改的过程中,给了我们许多指导意见。当然,还要感谢我的同组同学与我在设计过程中的相互配合,让我能够完成这次设计。最后,再次向以上老师和同学表达由衷的感谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/743973.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

抠图透明背景怎么做?3种方法教你抠图换背景

抠图透明背景怎么做?抠图透明背景是一项在图像处理中常见的任务,它可以帮助我们去除图片中的多余部分,使主体部分与背景分离,从而得到一个透明背景的效果。这一技巧在多个领域都有广泛应用,掌握这种技巧,不…

C++第四弹---类与对象(一)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 类与对象 1、面向过程和面向对象初步认识 2、类的引入 3、类的定义 4、类的访问限定符及封装 4.1、访问限定符 4.2、封装 5、类的作用域 6、类的…

如何在WordPress网站上设置多语言展示

在今天的全球化世界中,拥有多语言网站对于吸引更广泛的受众至关重要。前不就我们遇到Hostease的客户咨询我们的在线客服,他想要对他的wordpress网站支持多语言。我们提供给客户可以尝试以下的插件来支持多语言。 在本教程中,我们将逐步介绍如…

【PCB 小工具】saturnpcb

saturnpcb 官网 打开长这样子; 上面是老版本;看下最新的 推荐还是官方下载 有人在说 这玩意需要在设置板材时候选择;

软件杯 深度学习 opencv python 实现中国交通标志识别

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 🔥 优质…

什么是大顶堆?举个例子

一、什么是大顶堆? 大顶堆(Max Heap)是一种二叉堆的实现,它满足以下性质: 任意节点的值都大于等于其子节点的值。根节点(堆顶)的值是整个堆中最大的。 大顶堆通常用于实现优先队列等数据结构…

嘿!终于等到了!应用开发云资源套餐如约而至!

MemFire Cloud平台更新啦!!此次更新我们推出了万众期待的计费套餐,下面给大家带来详细的介绍~ 计费模式为“基础套餐按量付费”,您可选择购买带有一定配额的基础套餐,超出配额部分可以通过开启“超限按量”功能来转为…

AbilityStorage理解与反思

1.简介: AbilityStage是一个Module级别的组件容器,应用的HAP在首次加载时会创建一个AbilityStage实例,可以对该Module进行初始化等操作。 2.那么Module分为三类:Hap,Har,Hsp 官网上的表述容易误解:实际上AbilitySta…

表单修饰符和事件修饰符

表单修饰符和事件修饰符 表单修饰符 v-model.lazy v-model.lazy 失去焦点后再收集数据 <div id"app"><textarea name"" id"" cols"30" rows"10" v-model.lazy"a"></textarea>{{a}}<textar…

【深度学习】深度估计,Depth Anything Unleashing the Power of Large-Scale Unlabeled Data

论文标题&#xff1a;Depth Anything Unleashing the Power of Large-Scale Unlabeled Data 论文地址&#xff1a;https://arxiv.org/pdf/2401.10891.pdf 项目主页&#xff1a;https://depth-anything.github.io/ 演示地址&#xff1a;https://huggingface.co/spaces/LiheYoung…

PyCharm 中 Python 解释器的配置

温馨提示&#xff1a;本文 PyCharm 版本是 2022.3.3 前言 作为 Python 新手&#xff0c;在了解了基本语法之后&#xff0c;肯定得先用 IDE 工具写个 Hello World&#xff0c;来了解 Python 编程语法及 IDE 工具的常规配置和使用&#xff0c;这里我用的 IDE 工具是 PyCharm。 …

unicloud update 修改

update 修改 使用腾讯云时更新方法必须搭配doc、where方法使用&#xff0c;db.collection(‘test’).update()会报如下错误&#xff1a;param should have required property ‘query’ collection.doc().update(Object data)未使用set、remove更新操作符的情况下&#xff0c…

如何通过libusb直接向zebra打印机发送zpl,跨平台win/linux

环境&#xff1a;windows & linux & Zebra打印机gt820 windows: 之前安装了Zebra打印机官方驱动&#xff0c;所以先卸载掉驱动。再安装Zadig&#xff0c;用Zadig工具来安装WinUSB驱动。 zadig下载&#xff1a;Zadig - USB driver installation made easy 记住这两个数…

c语言指针基础下(下)

指针 字符指针变量 字符串变量的一般使用 int main() {char ch w;char* p &ch;*p h;printf("%c", ch);return 0; }上面就是通过指针的解引用改变了ch的值 int main() {char* p "ni hao a";//这个是常量字符串printf("%s\n", p);//打印…

超融合如何助力水务公司实现虚拟化与容器环境统一管理?

近些年&#xff0c;企业 IT 基础架构现代化转型的步伐逐渐加快&#xff0c;不少金融、医疗、政府等行业的用户&#xff0c;已在生产环境部署 Kubernetes 等云原生基础设施&#xff0c;为业务应用提供敏捷支持。不过&#xff0c;一些企业的容器化转型仍处于起步阶段&#xff0c;…

学习Android的第二十八天

目录 Android Service (服务) 线程 Service (服务) Service 相关方法 Android 非绑定 Service startService() 启动 Service 验证 startService() 启动 Service 的调用顺序 Android 绑定 Service bindService() 启动 Service 验证 BindService 启动 Service 的顺序 …

Instant --java学习笔记

Instant 时间线上的某个时刻 / 时间戳过获取lnstant的对象可以拿到此刻的时间&#xff0c;该时间由两部分组成:从1970-01-01 00:00:00 开始走到此刻的总秒数不够1秒的纳秒数 Instant的常见方法&#xff1a; Instant可以用来记录代码的执行时间&#xff0c;或用于记录用户操作某…

面试经验分享 | 通关某公司面试靶场

0x00:探测IP 首先打开时候长这个样&#xff0c;一开始感觉是迷惑行为&#xff0c;试了试/admin&#xff0c;/login这些发现都没有 随后F12查看网络&#xff0c;看到几个js文件带有传参&#xff0c;就丢sqlmap跑了一下无果 随后也反查了域名一下&#xff0c;发现没有域名&#…

[java入门到精通] 20 反射精讲

复习 1.索引&#xff1a;主要是提高查询性能。 2.索引分类&#xff1a;主键索引 唯一索引 普通索引 组合索引 全文索引 hash索引 3.索引底层数据结构是btree.非叶子结点是由&#xff1a;索引指针域 叶子结点&#xff1a;索引数据(数据地址)&#xff0c;是双链表 4.jdbc:java…

《高效便捷,探索快递柜系统架构的智慧之路》

随着电商业务的蓬勃发展&#xff0c;快递柜系统作为一种高效、便捷的最后一公里配送解决方案&#xff0c;正在受到越来越多企业和消费者的青睐。本篇博客将深入探讨快递柜系统的架构设计理念、优势和实践&#xff0c;帮助读者了解如何构建智能化的快递柜系统&#xff0c;提升物…