基于单片机的超市电子秤设计概述.docx

上传人:小飞机 文档编号:2018900 上传时间:2022-12-31 格式:DOCX 页数:71 大小:622.77KB
返回 下载 相关 举报
基于单片机的超市电子秤设计概述.docx_第1页
第1页 / 共71页
基于单片机的超市电子秤设计概述.docx_第2页
第2页 / 共71页
基于单片机的超市电子秤设计概述.docx_第3页
第3页 / 共71页
基于单片机的超市电子秤设计概述.docx_第4页
第4页 / 共71页
基于单片机的超市电子秤设计概述.docx_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《基于单片机的超市电子秤设计概述.docx》由会员分享,可在线阅读,更多相关《基于单片机的超市电子秤设计概述.docx(71页珍藏版)》请在三一办公上搜索。

1、XX大学学士学位论文摘 要随着科学技术的不断发展,单片机在多个领域均有应用,其中电子秤作为其中之一在日常生活中已经非常普遍。本论文主要论述的内容为基于单片机的小型超市电子秤的设计。本文主要论述基于单片机的小型超市电子秤的设计与实现。本系统的控制核心为单片机,此外还包括A/D转换模块、矩阵键盘、显示模块等电路。主要实现重量显示,手动输入单价并自动显示总价的功能,实用性高。硬件部分的核心是AT89C52单片机,对整个系统进行控制,输入端用压力传感器进行数据采集并转变为电压信号,再将模拟量传递给24位的A/D转换芯片HX711转换为数字量后送入单片机,手动输入物品单价,经单片机处理后由液晶显示屏显示

2、物品重量,单价和总价。本文内容主要为:绪论、系统元器件选型、硬件电路设计、软件编程以及实物调试。系统软件部分采用c语言编程,其中包括转换程序、数字处理程序、显示程序、报警程序等。本系统基本实现了预期的实验结果,实现的功能功能有物品称重、单价输入、总价计算以及超重报警。关键词:单片机;电子秤;c语言AbstractWith the development of science and technology, single chip has been used in many fields, including electronic scales as one of which has been

3、very common in everyday life.This paper mainly discusses the design of small supermarket electronic scale based on single chip microcomputer.This paper mainly discusses the design and implementation of the electronic scale of small supermarket based on MCU. The whole system is the core of the microc

4、ontroller, and contains the matrix keyboard, conversion chip, display circuit, reset circuit, etc.The main realization of the weight display, manually enter the unit price and automatically display the total value of the function, high practicality. Hardware part is to STC89S52 SCM as the core contr

5、ol, data acquisition by a pressure sensor, again by 24 bit AD conversion chip hx711 convert analog to digital quantity into the microcontroller, manually enter the item price, SCM treated by LCD display goods weight, unit price and total price. The main contents of this paper are as follows: introdu

6、ction, hardware circuit design, software programming and hardware debugging.The system basically achieved the expected results of the experiment, the realization of the meters power down storage, adjust the unit price, display the amount of mileage and other basic functions.Keywords: MCU-technology

7、; electronic scale ; C language目 录1绪论11.1设计背景11.2国内外研究现状31.3系统需求分析与总体设计42.系统元器件选型52.1单片机选型52.2压力传感器选型62.3显示器选型82.4 A/D转换芯片选型93.系统硬件电路设计123.1系统电源电路123.2单片机控制电路设计123.3系统显示电路设计143.4键盘电路的设计153.5系统报警电路设计163.6系统原理图的绘制174.系统软件设计184.1编程软件介绍194.2主程序的设计194.3子程序的设计204.3.1 A/D转换子程序214.3.2显示子程序214.3.3按键程序设计224.3

8、.4报警程序设计235.系统调试245.1硬件电路焊接与检测245.2电子秤称重调试24结论28致谢29参考文献30附录A 英文原文31附录B 汉语翻译35附录C 系统原理图38附录D 程序源代码39V1 绪 论1.1 设计背景在科技迅速发展的21世纪,电子技术作为其中一个非常亮眼的部分在近年来发展迅速并广泛应用于多个行业。随着电子技术的快速发展,各种电子元器件的不断更新换代以及许多转换电路的推出,电子技术在世界发展中越来越突出,人们的生活已经离不开电子产品。电子产品具有广阔的发展前景。 从古至今,称量技术的应用和精度都受到了人们的高度重视,称量技术的发展在很大程度上影响到了农业,工业甚至是科

9、学技术的发展。对于称量工具,它不仅是一个简单的提供重量数据的仪器,更是在科学研究领域、工业生产领域以及日常生活中的一个重要部分,它的发展对于自动化领域的发展有着不可忽视的作用。因为称量仪器起到了精确控制生产,减少能源消耗,降低作业时间和作业难度的作用,提高了产品的质量,改善了企业管理和效益。称重装置在国民生产的许多领域均有应用,获得了明显的经济和科技效益。电子秤作为称量工具的一种,是一种新型的高端的仪器仪表,相比传统的台秤和杆秤,它的体积更小,精度更高,并且使用方便,正因为有这些优点,它现在在我们的日常生活中已经应用的非常普遍,它可以工作在各种环境下,可实现重量数字化显示,并可远程传输重量信号

10、,在与计算机联网后实现生产过程自动化,从而提高生产效率。电子秤整个系统的实现首先是通过压力传感器来检测被测物体的压力同时将其转换为电压信号,由于获取的电信号的变化非常小,现在常见的处理方法是在称重的前端加上一个放大的装置,而在本次系统设计中,采用24位A/D转换芯片HX711,在收集到传感器的信号后进行A/D转换输出数字信号给单片机,同时可以通过矩阵键盘手动输入物品单价。将算法写入单片机后进行数字处理得出结果后驱动显示模块显示物品重量,单价和总价。按照系统设计的基本要求,整个系统有三部分组成,即数据采集传输转换部分,控制处理部分,显示驱动部分。在扩展功能方面,本次设计加入了超重报警部分,由于是

11、小型超市电子秤设计,此次的电子秤额定称重为5kg,在被测物体超重时,电子秤会有蜂鸣器发出报警以示超重。1.2 国内外研究现状单片机的产生是在20世纪的70年代,通过不断发展现在几乎应用到了各个领域,可以说现在它已经成为了一种相当成熟的技术。随着电子技术的发展以及各种电子元件的推陈出新,单片机技术的发展趋向于小型化、智能化、多元化,在线仿真和各种开发工具也推动了单片机的发展,伴随着信息产业的逐渐发展,在嵌入式领域单片机的应用比较迎来越来越广阔的发展空间。 目前国内以Intel公司推出的8位单片机8048/8051应用较多,此外还有Motorola公司和Philipes等也有诸多应用,高性能的机型

12、成为时代的主流。在未来,随着技术的进步和人们的需求,单片机将会重点提高性能,采取更先进的工艺,实现稳定控制,高速运行,稳定工作。称量自古以来就饱受国家和人民的重视,在过去,杠杆秤、盘秤等作为主要称量工具,存在着诸如精度不够准确、误差大、效率低等一系列问题和弊端。随着电子衡器的发展,称量手段也越来越多样化,电子秤作为一种高精度,使用方便的称量工具在日常生活中的使用已经十分普遍。目前国内的电子秤大概类型有:机电一体化台秤、基于单片机的电子秤、基于DSP的电子秤、以及国外有基于CCD(Charge Coupled Device,电荷耦合器件)的电子秤等。从国内引入单片机开始,以单片机作为核心控制器的

13、电子秤逐渐发展起来,这种电子秤精度高、操作简单、使用方便、快捷,颇受人们的喜爱。目前,基于单片机的电子秤在市场上的使用逐渐成为主流,并且在不断进步和发展。本系统的设计在综合考虑实用性和发展情况后决定使用单片机作为核心控制器来设计电子秤。1.3 系统需求分析与总体设计本次任务为小型超市电子秤设计,应实现的功能包括:重量显示、单价显示、总价显示,扩展功能为超重报警。在实现这些功能的同时应兼顾准确性、快速性、小型化、操作简单、方便实用等优点。以至于在实际生活中能多次使用,长期使用,并且能够准确报警防止设备损坏。单片机的优点众多,比较突出的有体积小、结构简单、使用方便等等,在使用中可以实现模块化,利用

14、其处理速度快和控制能力强以及可靠性高的特点可以实现多种多样的控制,因此单片机在人们生活中的应用以及越来越普遍。采用单片机可以实现诸多功能而且简便实用,被测物体可以采用压力传感器获取电信号后再转换为数字信号,单价可通过矩阵键盘人工输入,搭配驱动显示模块可组成人机交互部分。整个系统在理论上可以实现所要求的基本和拓展功能,并且操作简单,实用性高。根据需求分析,选取单片机作为硬件电路的核心控制器,用压力传感器采集被测物体的电压力信号,再经过A/D转换部分将数字量输入到单片机,同时配备矩阵键盘,用户可手动输入价格。单片机作为系统的枢纽,在处理完两部分信息后驱动显示模块,显示物品的单机、重量以及总价。同时

15、本次设计电子秤量程为5KG,在超重后单片机会驱动报警电路,使蜂鸣器报警。根据以上思路设计系统的结构图如图1.1所示。报警电路LCD显示矩阵键盘A/D转换 压力传感器 单片机最小系统图1.1系统总体结构图如图所示本系统包括:压力检测与数模转换部分、单片机最小系统、矩阵键盘模块电路、显示驱动模块电路、报警模块电路。其中数据采集与转换部分用到压力传感器和HX711A/D转换芯片,单片机最小系统包括:89C52单片机、晶振电路、上电复位电路,显示电路模块用的是LCD1602液晶显示屏,报警电路采用蜂鸣器来实现有声报警。电子秤称重的实现首先是压力传感器将采集到的模拟信号输入到A/D转换芯片,经过转换后将

16、数字信号输送到控制电路单片机中,单片机对得到的数字信号进行分析判断,如果超过了量程则直接驱动报警电路产生蜂鸣器报警。如果没有超过量程则单片机会驱动显示电路显示出物品的重量。由于压力传感器采集到的电信号变化非常微小,一般采用串联放大装置,本系统采用24位A/D转换芯片,减小了硬件设计的难度,节约了成本。本系统具有人机交互显示模块,可通过手动输入单价并自动得出总价,此部分对软件编程的要求比较高,大部分功能需通过算法来实现。由于是小型超市电子秤,本系统设计量程为0-5KG,在超重后会产生蜂鸣器报警现象,使电子秤更加人性化和智能化。 2 系统元器件选型本章内容主要介绍单片机、压力传感器、A/D转换芯片

17、、显示器的选型以及所选器件的主要特点。2.1单片机选型为了保证系统可以稳定工作,首要考虑的因素就是单片机的选型,因为如果选择得不合适,就会严重影响单片机控制系统的正常运行,甚至无法达到预先设计的功能。目前市场上常用到的单片机有以下几类:1:51系列单片机,其中包括:Atmel公司生产的AT89CXX系列、AT89SXX系列以及AT89C20系列等,还有STC公司生产的51系列单片机。2:AVR系列的单片机。3:PIC系列的单片机包括8位、16位和32位。4:NEC单片机。在单片机选型上应重点注意以下问题:1、技术性,所选单片机应该能满足在所要求的技术指标下稳定运行。2、实用性,单片机的运行不是

18、一时的,应该能满足长期稳定的运行。3、可开发性,选用的单片机应满足开发手段,例如程序开发,软件仿真等。同时还能反复开发使用。在满足以上这些基本要求的同时还要兼顾考虑到体积小、结构简单、经济实用等优点。在以上的单片机型号中AT89C52系列的单片机具有以下特点: 宽电压:5.5-3.8v; 低功耗设计:空闲模式,掉电模式; 033MHz的时钟频率; 可以反复擦洗的8KB内存的程序存储器; 硬件看门狗(WDT); 高速SPI通信端口; 全双工异步串行口,兼容普通8051的串口; 32个可编程输入/输出引脚; 6个终端源,2级优先级; 2个数据指针 参考以上功能,在理论上采用AT89C52单片机可以

19、满足系统需求,且能稳定可靠运行。AT89C52单片机有40个引脚,其中两个作为电源引脚,两个作为时钟引脚连接到外部的晶振电路,32个输入输出引脚,此外还有控制引脚和电源复用引脚。AT89C52单片机的引脚图如图2.1所示。 图2.1 单片机引脚图2.2 压力传感器选型压力传感器是有源传感器中的一种,它的工作原理是选取的电阻材料在受到压力的时候其阻值会发生相应变化,从而在特定的表面会产生电荷,在输出端会产生微弱的电压变化,即在接受到外部压力后会产生适当形变,然后产生微弱的电信号。电阻应变片式压力传感器在近些年来被普遍采用,它是利用某些材料在机械力的作用下会发生一定的形变从而其阻值也会产生相应的变

20、化。利用这个原理可以检测到有电压的变化,然后通过转换可以得出被测物体的压力大小,但其电压变化非常微小,常常难以精确的检测出来。本系统采用四片电阻应变片组成一个电桥电路,对检测微弱电压信号的能力有了很大的提升,系统的压力传感器输出在0-20MV之间,通过电桥电路实施等效放大,从而提高了系统的称重可实现性和称重精度。根据以上介绍可以总结出应变片式传感器有如下特点: 宽大的测量范围,适用于多种传感器; 灵敏度高,分辨力好,精度高; 使用方便,可以远距离传输; 结构小,对环境适应性强,频率响应好。现在市场的主流应变片式压力传感器的型号为:PE型、BSH型、MTB型、Z6FD型、HL型等。其中HL型压力

21、传感器具有体积小、反应灵敏、精度高的优点,再结合本次设计的电子秤量程为0-5KG,满量程误差不超过0.005KG,所以选择压力传感器的型号为HL-8,其量程为5KG,精度为0.1% ,可以满足本次系统设计的精度要求。2.3 显示器选型现在市场上使用较多的显示屏幕为数码管显示和LCD液晶显示,对于这两种显示方式,系统在选择前进行了分析比较。数码管是利用发光二极管组成的半导体发光器件,按能显示数字“8”的个数可以将其分为1位、2位、4位等数码管。数码管所显示的信息非常优秀而且颜色比较单一,若要显示多段信息则使用多段数码管进行级联,那样会使硬件电路连接变得复杂并且增加成本,并且有可能导致显示不清和闪

22、烁的现象。对比数码管显示,液晶显示器的优点非常明显,首先液晶显示器工作稳定,亮度可通过电阻调节。其采用的材料是平面玻璃,在较小的面积上可以实现高分辨率,字符显示可以变得非常细腻。作为信息时代的产物,随着工艺的不断提高,液晶显示器在电子技术的领域已经越来越广泛。现在市场上使用较多的液晶显示器为LCD1602液晶显示器,LCD1602液晶显示器的显示原理是采用点阵字符型显示,可以显示的内容包括:阿拉伯数字,大小写字母等,显示功能强大,显示亮度具有调节功能。各个字符可以通过8位二进制的数字来控制,通过改变高4位和低4位的数值来控制显示的地址和内容。LCD1602液晶显示器有16个引脚,具体的引脚功能

23、如下介绍: P1口和P2口为显示器的电源引脚; VO口为模拟电源,RS口为寄存器选择引脚,RW为读写选择口,E脚为使能端; P7P14脚为8个双向输入通道; 15脚和16脚为背光电源叫。根据以上特点,使用液晶显示屏LCD1602功能更全,显示效果更好。当然,整个系统的成本也会略高。LCD1602液晶显示器引脚图如图2.2所示。图2.2 LCD16022.4 A/D转换芯片选型在工程上,在选择A/D转换芯片的时候往往会考虑以下要素:精度、速度、数字接口方式,模拟信号类型等。目前,市场上主要用到的A/D转换芯片的类型有TLV0831芯片、ADS820芯片、ADC0809芯片、HX711芯片等。本系

24、统在称重时要求实时显示物品重量,转换频率高,同时此次设计对称重的精度要求非常高,而传统的积分型和逐次比较型A/D转换芯片不能达到这些要求。HX711A/D转换模块集成度高,整个模块内不仅含有HX711芯片还包括稳压电源,时钟电路等,在硬件电路焊接时非常方便。整个模块有4个输出,分别为电源线和地线,以及数字信号输出和时钟信号输出。HX711芯片16个引脚的定义为:P1口为稳压电路电源,P2口为稳压电路控制输出,P3口为模拟电源,P4口为稳压电路控制输入,P5口为模拟地,P6口为参考电源输出端,P7口为通道A负输入端,P8口为通道A正输入端,P9口为通道B负输入端,P10为通道B正输入端,P11口

25、断电与串口时钟输入端,P12口为串口数据输出端,P13口为晶振输入端,P14为外部时钟或晶振输入端,P15口为输出数据速率控制输入端,P16口为数字电源端。HX711芯片引脚图如图2.3所示。图2.3 HX711引脚3 系统硬件电路设计本章内容主要介绍系统主电路以及各部分子电路的设计,主要包括:系统电源电路模块、单片机控制电路模块、显示电路模块、键盘电路模块以及报警电路模块。3.1 系统电源电路此次设计中,AT89C52单片机和HX711芯片以及液晶显示屏均需要5V电压,所以系统只有采用5V的电源供电,才能保证整个系统稳定可靠的工作。为了方便调试,系统采用两种电源接口供电方式,既有USB接口供

26、电方式又有外置电源供电方式。直接向整个系统供给5V的直流稳压电源。同时,为方便使用,串联自锁开关后再给整个系统供电。系统电源电路设计如图3.1所示。图3.1 电源电路图在上图中,由电源开关引出的VCC端接各个芯片的电源端给整个系统供电,开关的输入端直接接外部5V直流稳压电源。3.2 单片机控制电路设计单片机控制电路所起到的作用为:系统上电开机后,整个系统复位,在复位按键按下之后系统会有2微秒的复位过程。单片机复位功能的实现是单片机的9脚RST脚得到一个高电平,系统进入复位状态。单片机的工作电压是5V,在单片机中,如果电压高于1.5V则单片机认定其为高电平;如果电压低于1.5V,则单片机自动认定

27、其为低电平。本系统采用一个20UF的电容,当电容完全充电时,其两端电压是单片机工作电压的0.7倍即3.5V。此时串联的10K电阻起到分压作用,当上电开始时电容逐渐充电电压逐渐从0V升到3.5V此时单片机的9脚RST脚电压从5V衰减到1.5V,整个系统完成复位。在晶振电路方面,选取的晶体振荡器为12M是为了方便计时,在单片机中时钟周期是机器周期的12倍,选用12M的晶体振荡器则计时器每计一次时的时间为1us。单片机控制电路的具体连接如图3.2所示。 图3.2 单片机控制电路3.3 系统显示电路设计系统显示模块所用到的主要器件为LCD1602液晶显示器。单片机与显示屏之间的连接电路如图3.3所示。

28、在图3.3中,1脚和2脚为液晶显示屏1602的接地和电源引脚,3脚为背光调节引脚,通过10K的电阻接地,背光可通过改变电阻值来调节亮度;4脚、5脚、6脚为液晶片选控制引脚,分别连接到单片机的P1.0、P1.1、P1,2端口,7脚至14脚为数据接口,与单片机的P0口相连来实现数据的传输,第15引脚和16引脚为液晶显示器的背光控制脚,分别接到电源和地。图3.3 系统显示电路图3.4 键盘电路的设计小型超市电子秤在实际应用中需要提供矩阵键盘来实现手动输入物品单价来实现人机交互。本次设计采用4*4矩阵键盘, 电子秤在开机时自动检测托盘的重量并存于程序中,在称量过程中,将获取到的重量自动减去托盘的重量,

29、所以显示的重量即为物体的实际重量,在没有物体时,显示重量为零。在电子秤获取重量后,手动输入单价会自动显示物品的总价,可以实时显示物品重量和总价。矩阵键盘与单片机连接电路如图3.4所示,其中设置了十个数字键,两个功能键,其余四个键留作扩展。3.5 系统报警电路设计本次电子秤量程为5KG,为了防止器件损坏延长使用寿命,系统的扩展功能为超重报警,选择的报警器为蜂鸣器。报警电路的设计是利用三极管的关断功能来实现报警,在图3.5中采用PNP型三极管,利用单片机控制三极管的基极,当单片机输出低电平时,三极管导通,蜂鸣器的正极与电源接通,蜂鸣器通电发出报警声,当单片机高电平时,三极管截止,蜂鸣器断电停止报警

30、,所选用的三极管的信号为9012。报警指示电路如图3.5所示。图3.4 键盘电路图图3.5 报警电路3.6 系统原理图的绘制Protel99SE绘图软件是在90年代Protel Technology公司设计研发的,在当时是被当做一种印制板自动的布线工具来使用,早期是运行在DOS环境下,发展至今已经可以应用于多种操作系统,成为一个完整的全方位的电子设计系统。软件中包含了系统原理图的绘制、电路混合信号仿真、印制电路板的设计等功能。在原理图绘制方面,不仅包含了大量的元器件可供选择还可以实现多器件整体操作,总线的布置走动也十分方便,同时它具有很强的数据交换能力和模拟功能,可以展现出很好的信号仿真效果。

31、 采用Protel99SE软件绘制原理图的主要步骤如下所述: 建立系统所需元件库; 加载所建元件库到工程项目中; 在原理图页面放置所需元器件; 按电气性能和原理连接各元件; 建立元件封装库并加载到工程文件中;根据以上步骤,选取系统包含的元件并按照电气原理和最初设计连接成系统原理图,其中包括单片机控制模块、显示模块、系统电源电路、键盘电路以及报警电路。具体原理图如图3.6所示。图3.6 系统原理图4 系统软件设计本章内容主要介绍系统软件部分的设计,其中包括:主程序、A/D转换程序、显示程序、按键程序以及报警程序。各部分程序的源代码如附录D所示。4.1 编程软件介绍在单片机开发应用中,除了要进行硬

32、件电路的设计外,软件编程也是必不可少的环节。与汇编语言相比,C语言是对汇编语言进行了抽象,并在一定程度上更加符合人类的思维习惯,开发效率更高,更加模块化,可移植性更好,程序可读性和可维护性更强,并且提供了数学函数并支持浮点运算。综合这些优点,本系统采用C语言编程,编译环境为keil UV3。keil C51是美国keil software公司出品的51系列兼容单片机的C语言软件开发系统。Keil C51软件提供了丰富的库函数和功能强大的集成开发调试工具,软件呈全Windows界面,另外在代码编译生成后,可以看到keil c51生成目标代码的效率非常之高,语句生成的汇编代码很紧凑,容易理解,在开

33、发大型软件时更能体现高级语言的优势。Keil c51可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C语言或汇编源文件,然后分别有C51及A51编辑器编译连接生成单片机可执行的二进制文件(.HEX),然后通过单片机的烧写软件将HEX 文件烧入单片机内。软件主要有三个方面:一是初始化整个系统;二是按键扫描检测;三是数据采集和数据处理并进行显示。这三部分程序的源代码体现在主程序中,整体程序结构好,模块化强,同时易于修改和调试。4.2 主程序的设计 系统程序设计采用模块化的方法,由主程序调用各子程序,包括:初始化模块、显示模块,矩阵键盘模块、A/D转换模块、

34、数据处理模块。主要实现三个方面的功能:一是初始化系统;二是按键检测;三是压力数据采集、A/D转换后处理并进行显示。这些操作在主程序中分别进行。对于整个系统,主程序是信息处理的关键,主程序的作用在于完成编程芯片的初始化以及调用各个子程序。在上电启动使系统初始化后,单片机读取A/D转换芯片发来的数据,首先检测物体是否超重,然后调用扫描键盘子程序,同时驱动显示模块显示重量,最后再调用价格子程序显示物品的总价。程序设计的步骤可大致分为三步:1.分析系统要实现的功能,找出合理的算法和数据结构;2.建立程序流程图,将问题分步解决;3.根据流程图选用适当的程序指令编写程序。根据以上步骤,在分析系统要实现的功

35、能后可以按步骤设计系统的主程序流程图,具体的流程图如图4.1所示。 开始蜂鸣器报警总价计算物品重量显示按键判断重量是否超过上限A/D转换键盘扫描LCD清屏LCD初始化YNNY图4.1 系统程序流程图系统上电后首先进行LCD初始化,然后扫描矩阵键盘,在传感器检测到被测物体的压力后,将其转变为电信号再A/D转换装置将数字信号送给单片机。单片机对数字信息进行判断,检测物体如果超出称重量程则直接驱动蜂鸣器报警。在没有超重的前提下,单片机驱动显示模块显示被测物体的重量、单价以及总价。4.3 子程序的设计系统子程序主要包括:初始化程序、显示程序、键盘模块、A/D转换模块、数据信息处理模块。4.3.1 A/

36、D转换子程序 A/D转换程序主要实现的功能是当传感器将被测物体的压力信号转换为模拟信号送给HX711芯片后将模拟信号转换为数字信号并送到单片机,这部分程序设计的流程图如图4.2所示。开始A/D转换完成A/D转换启动HX711初始化N数据显示数据存储 Y图4.2 A/D转换程序流程图传感器将压力信号转换为电信号,然后将模拟信号送入A/D转换模块,开始执行算法指令。先将HX711芯片初始化,启动A/D转换,自动检测转换是否完成,在完成后将数据存储并显示,如果转换没有完成则返回继续执行转换。4.3.2 显示子程序 系统的显示子程序主要是来判断数据是否需要显示,以及如何去显示,是十分重要的程序之一。本

37、次系统设计是采用LCD1602作为系统的显示器,在系统上电开机时要先对显示器进行初始化,然后检测矩阵键盘有无输入,从而确定是否显示物品单价。显示程序是实现人机交互的重要程序,在设计是应多次检测调试,确保能正常运行。系统显示程序的流程图如图4.3所示。开始显示器初始化有无按键N Y显示按键信息检测物体 N Y显示总价 返回图4.3 显示程序流程图单片机在处理完数字信息后会驱动显示模块将要显示的数据显示出来,首先将LCD初始化,然后检测是否有按键产生,如果有则显示按键信息。同时如果检测到单片机发来的被测物体重量信息则会显示物品重量,单片机计算出总价后也会驱动显示器显示物品的总价。4.3.3 按键程

38、序设计 本次设计系统采用4*4矩阵键盘,具体实现数字按键,删除,单价清零的功能。在程序中先判断按键的编码,然后根据编码读取到按键代表的数值并将其送入单片机相应的存储单元中,由单片机进行数据处理、功能选择,按键程序流程图如图4.4所示。开始LCD初始化显示界面字符按键按下 N YLCD显示图4.4按键程序流程图在检测按键信息之前先将显示器初始化,显示初始界面,然后开始自动检测有无按键按下,如果有则显示按键信息,若没有则继续显示为初始界面。4.3.4 报警程序设计本次设计的电子秤量程为0-5KG,超重报警为扩展功能,利用PNP三极管9012的开关功能来驱动蜂鸣器实现有声报警。报警程序的流程图如图4

39、.5所示。A/D转换模块将模拟信号转换为数字信号后送到单片机,单片机将信号转换为单位为千克的物品重量,在与设定初值5千克进行比较。如果物品重量大于5千克,单片机会驱动蜂鸣器报警,如果物品没有超重,则控制蜂鸣器的三极管处于关断状态。 开始设置临界报警值检测物品的重量判断物体是否超重 N Y驱动蜂鸣器报警图4.5 报警程序流程图5 系统调试5.1 硬件电路焊接与检测根据系统的原理图确定电路元件清单,并确定各元件在电路板上的位置,组织好线路后进行焊接。在焊接过程中要注意检查,检查的目的是防止电路故障或元件损坏而导致系统原件烧毁,采用的方法为用万用表检查单片机、电源、芯片以及各元件的引脚连线是否正确,

40、焊接是否正常,同时也要重点避免电路的短路。在检查无误,排除电路故障之后才能将系统上电开机。 称重传感器作为整个电子秤的衡量标准,同时也是数据来源,在系统上电前必须要检测是否正常。检测的内容包括: 1、外观检查。传感器的外观应保存完好,不能出现裂痕。 2、线路检查。传感器的电源线、信号线线应用万用表检测,不能出现短路、断路、绝缘的现象。3、空载检测。将传感器接入测量电路,在没有被测物体时,传感器的实数应为零并保持稳定。5.2电子秤称重调试 在电路检测无误后,系统可进行称重调试,系统实物图如图5.1所示。系统调试需测量电子秤称重精度和准度,单价输入是否正确,总价计算是否正确。具体测试可分以下四个部

41、分进行。1.将10g砝码放在秤盘上,显示器显示重量为0.01kg;换上1000g砝码显示器显示1kg。经过测试,系统称重准确且精度符合要求。系统实物图如图5.2所示。 2.在实物矩阵键盘一次按下1、0、0三个按键后,显示器单价区域显示物品的单价为1元/kg,经过测试表明矩阵键盘工作正常,按键输入准确。系统实物图如图5.3所示。 3.在第二步的基础上,在托盘上放上100g的砝码,同时输入单价6.66元/kg后系统显示总价为0.66元。测试证明系统可以正确计算并显示物品的总价。系统实物图如图5.4所示。4用力按压托盘,使得电子秤所测重量超过5kg时,蜂鸣器发出警报声以示报警,测试表明系统报警功能可

42、以正常运行。经过上述测试,系统预期的功能,包括:称重、单价输入、总价计算以及报警功能都能实现。其中称重精度满足要求,矩阵键盘灵敏度高,单价输入准确,总价计算迅速、正确,报警功能反应灵敏。图5.1 系统实物图图5.2 称重测试图图5.3 单价测试图图5.4 总价测试图结 论本系统设计基于单片机的小型超市电子秤, 由数据采集模块、矩阵键盘模块、单片机控制模块、显示模块、报警模块五部分构成。软件程序部分主要包括主程序、显示程序、A/D转换程序、按键程序、报警程序。本次设计出的电子秤使用方便,精度高,可在市场上直接使用,在设计的系统中包括了数字电子技术,自动控制技术、显示技术以及报警技术等,具有非常高

43、的实用性和推广价值。在硬件电路上,各部分元件选型标准严格,综合考虑元件各方面性能,使用AT89C52单片机作为核心控制器,将其高速高效的信息处理能力和充足的片内外设充分利用,使系统整体更加小型化和智能化。总体而言,本次设计的电子秤具有操作简单、体积小、工作稳定、成本低等优点。软件编程部分采用C语言编程,程序呈现模块化,可读性高,同时具备很强的数据处理能力,在一定程度上保证了系统的稳定运行。本次设计的电子秤实现的功能主要有以下几个方面:1.上电开机后,系统可以自动复位初始化,在检测被测物体重量时,误差在允许范围内,测重精度高。2.系统显示屏亮度适中、清晰度高,矩阵键盘输入灵敏,总价计算迅速、准确

44、无误,人机交互简单快捷。3.使用超量程的被测物体,系统自动报警。系统经多次检测运行正常,主要目标均能实现,但因时间和技术水平上的欠缺,有些功能还需改进,例如不能实现语音播报,希望能日后学习改进,把系统做的更加完善。致 谢毕业设计是对我大学四年所学知识的一次检验,同时也是给了我一个查缺补漏的机会,本次设计不仅锻炼了我动手焊接元器件的能力,也让我重新认识到C语言运用的重要性,更锻炼了我综合运用硬件电路设计和软件编程等各方面知识的能力。在这里我要感谢我的导师,在我做毕业设计的每个阶段,张老师都给我解答了许多困惑,我也从张老师那里学到了很多东西。同时,也感谢在我遇到困难能与我一起讨论,共同进步的同学们

45、,从老师和同学们身上学到的东西必将积极影响我今后的学习和工作。最后还有感谢大学四年来我所有的授业恩师,正是你们的辛勤付出才使我打下了专业知识的基础。感谢我的大学给我提供了良好的学习环境,并对我提出了更高的要求,使我取得进步,精益求精。参考文献1 李群芳,张士军.单片微型计算机.电子工业出版社,2008年:P20P26.2 周向红,刘国凡.51系列单片机应用于实践程序.北京航空航天大学出版社,2008年:P1P60.3 赵家伟,张家栋.单片机原理与接口技术.清华大学出版社,2010年:P34P65.4 张齐,杜群贵.单片机应用系统设计技术.电子工业出版社,2007年:P1P36.5 张洪,润张江语.电子线路与电子技术.清华大学出版社,2005年:P32P110.6 及力,Protel99SE原理图与PCB设计教程.电子工业出版社,2004年:P56P123.7 唐颖,单片机原理与应用及C51程序设计.北京大学出版社,2008年:P35P80.8 林立,张俊亮.单片机原理及应用基于protues和keilc.电子工业出版社,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号