基于单片机的电子秤设计毕业论文.docx
- 文档编号:12896647
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:62
- 大小:366.20KB
基于单片机的电子秤设计毕业论文.docx
《基于单片机的电子秤设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子秤设计毕业论文.docx(62页珍藏版)》请在冰点文库上搜索。
基于单片机的电子秤设计毕业论文
商用电子秤的设计
摘要
在日常生活中,经常需要测量物体的质量,测量的准确性从而显得很重要。
称重技术的改革影响着人民的生活,随着计量技术和电子技术的发展,以前常用的纯机械结构的杆秤、台秤等存在不精确、速度慢、不能计价易作弊等问题,已逐步被电子产品替代。
本次电子秤设计将运用单片机来完成,具有小型化、智能化、准确度高等特点。
本设计以51系列单片机AT89S52为控制核心,实现电子秤的基本功能,即准确采集物体的质量,直观显示重量、单价及总价,并可对不同物品的重量、单价进行调整,此外系统还具有超量程报警功能。
显示部分采用的是1602液晶显示器,运用独立式键盘实现重量、单价的调整和切换显示功能。
软件设计以C语言作为编程语言,采用模块化编程思想,在KeiluVision开发环境下编写应用程序,结合硬件电路做整体调试,最终实现了所设计功能。
整个系统结构简单、使用方便、功能齐全、精度高,具有一定的实用价值。
关键词:
电子秤;单片机;1602液晶;独立键盘
TheDesignofCommercial ElectronicScales
ABSTRACT
Inourdailylife,weusuallymeasuresomethings’wight.Theaccuracyofmeasurementseemtobeveryimportant.Thereforminweightingtechnologyisaffectingourlife.Withthedevelopmentofmeasurementtechnologyandelectronics,thetraditionalmechanicalsteelyardwhichweusedpreviouslyaresiftedoutstepbystep.Becausetheproblemwhichincludinginaccuracy、slow、valuationoreasytocheatingcanberesolvedbyelectronicproducts.ThedesignisbasedonprogrammingofSCM,thenitcantransformproductstobeminitype、modularizationandintelligentize,thetechnicalfunctionofproductsbecomefaster、moreaccurateandmorereliable.
Thedesignforthecontrolof51computersAT89S52core,toachievethebasiccontrolfunctionsofelectronicscales.measuringtheweightexactly、displayingtheweightandunitpriceexactly、displayingthetotalpriceexactly、displayingtheunitpriceafteradjustingtheunitprice、displayingtheunitweightafteradjustingtheunitweight.thedisplayingwayisbaseon1602LCDdisplay.Stand-alonekeyboardunitpriceandtheweightadjustment.independentbuttoncontrolthechangingwhichbetweenthestatus.IselectClanguagetobeprogrammelanguage,andcompiletheprogramintheconditionofKeiluVision.Thedesignadoptthemodularizationprogramminganddebugtheprogramcombinetohardwarecircuit.Ianalysethecauseoferrorandresolvingthoughtindesignningprocess,andfinishthebasicfunctionsofelectronicscale.Thesystematweighinghasalsosuper-rangealarm.Thewholesystemissimple,easytouse,fullyfunctional,highprecision,withsomePracticalvalue.
Keywords:
electronicscale;SCM;1602LCD;singlekeyboard
第1章绪论
1.1选题背景与意义
电子秤是日常生活中常用的电子衡器,广泛应用于超市、大中型商场、物流配送中心。
电子秤在结构和原理上取代了以杠杆平衡为原理的传统机械式称量工具。
相比传统的机械式称量工具,电子秤具有称量精度高、装机体积小、应用围广、易于操作使用等优点,在外形布局、工作原理、结构和材料上都是全新的计量衡器。
电子秤的设计首先是通过称重传感器采集到被测物体的重量并将其转换成电压信号。
输出电压信号通常很小,需要通过高精度高增益AD芯片HX711的信号放大与AD转换,转换成数字量被送入到主控电路的单片机中处理,再经过单片机控制显示器,从而显示出被测物体的重量。
而目前市场上电子秤产品的整体水平不高,部分小型企业产品质量差且技术力量薄弱,设备不全,缺乏产品的开发能力,产品质量在低水平徘徊。
因此,有针对性地开发出一套有实用价值的电子秤系统,从技术上克服上述诸多缺点,改善电子秤系统在应用中的不足之处,具有现实意义。
1.2电子秤的研究现状及发展趋势
近几年,国的电子称重系统从最初的机电结合型发展到现在的全电子型和数字智能型。
电子称重技术逐渐从静态称重向动态称重发展,从模拟测量向数字测量发展,从单参数测量向多参数测量发展。
电子称重系统制造技术及其应用得到了新发展。
国电子称重技术基本达到国际上20世纪90年代中期的水平,少数产品的技术已处于国际领先水平。
做为重量测量仪器,智能电子秤在各行各业开始显现其测量准确,测量速度快,易于实时测量和监控的巨大优点,并开始逐渐取代传统型的机械杠杆测量称,成为测量领域的主流产品。
在国际上,一些发达国家在电子称重力一面,从技术水平、品种和规模等方到了较高的水平。
特别是在准确度和可靠性等方面有了很大的提高。
其中梅特勒一托利多公司生产的BBK4系列高精度电子秤精度达到了1mg,速度大约为1次/秒。
目前,电子秤在称量速度方面需要进一步的研究。
在称重传感器方面,国外产品的品种和结构又有创新,技术功能和应用围不断扩大。
电子秤产品量大面广、种类繁多,从通用的各种规格的电子秤到大型的电子称重系统,从单纯的称重、计价到生产过程检测系统的一个测量控制单元,其应用领域在不断地扩大。
根据近年来电子称重技术和电子衡器的发展情况及电子衡器市场的需求,电子衡器总的发展动向为:
小型化、模块化、智能化、集成化;其技术性能趋向于速率高、准确度高、稳定性高、可靠性高;其应用性趋向于综合性、组合性[1]。
小型化:
体积小、高度低、重量轻,即小薄轻。
为使电子衡器的承载器达到小、薄、轻,开始采用重量轻且刚度大的空心波纹铜板和方形闭合截面的薄壁型材。
模块化:
电子衡器的承载器采用模块式一体组合或分体组合,产生新的品种和规格。
这种模块化组合不但提高了产品的通用性和可靠性,而且也大大提高了生产效率,降低了成本。
智能化:
与电子计算机组合或开发称重用计算机,利用计算机的智能来增加称重显示控制的功能,使其在原有功能的基础上增加判断、自诊断、自适应、自组织等功能。
集成化:
对于某些品种和结构的电子衡器,可以实现承载器与称重传感器一体化或承载器、称重传感器与称重显示控制器一体化。
综合性:
电子称重技术和电子衡器产品的应用围不断扩大,它已渗透到一些学科和工业自动控制领域。
对某些商用电子计价秤而言,只具备称重、计价、显示、打印功能还远远不够,现代商业系统还要求它能提供各种销售信息,把称重与管理自动化紧密结合,使称重、计价、进库、销售管理一体化,实现管理自动化。
这就要求电子计价秤能与电子计算机联网,把称重系统与计算机系统组成一个完整的综合控制系统。
组合性:
在工业生产过程或工艺流程中,不少称重系统还应具有可组合性,即:
测量围可以任意设定;硬件能够依据不定的程序进行修改和扩展;输入输出数据与指令可使用不同的语言,并能与外部的控制和数据处理设备进行通信。
1.3本设计的主要工作
本文的主要任务是以单片机为核心设计功能完善的电子秤,根据生活中电子秤的基本功能及单片机系统的开发流程可知,本设计的主要工作为:
(1)学习和掌握单片机工作原理、编程方法、系统开发流程;
(2)分析电子秤的基本功能,提出总体设计方案;
(3)设计系统硬件电路,并对单片机及各模块方案进行分析和选择,用Protel软件绘制电路原理图;
(4)选择适合系统的开发工具,编写系统的应用程序,在开发环境中编译、连接;
(5)将编译好的应用程序写入单片机,结合硬件进行总体调试,最终实现电子秤的主要功能。
第2章系统方案设计
电子秤的应用系统是由硬件和软件所组成。
硬件指单片机、扩展的输入输出设备等部分;软件是各种工作程序的总称。
硬件和软件只有紧密配合、协调一致,才能提高系统的性能价格比。
从一开始设计硬件时,就应考虑相应软件的设计方法,而软件设计是根据硬件原理和系统的功能要求进行的。
本章主要工作是确定电子秤系统的总体结构,并对软、硬件功能进行划分、协调。
2.1电子秤的设计要求
(1)电子秤称重围:
0~10Kg;重量误差不大于
0.1Kg;
(2)液晶显示:
所称物体重量、输入物品单价、金额;
(3)当物品重量超过电子秤量程,即过载情况,具有超重报警功能。
2.2系统工作原理
电子秤的工作原理如下:
当物体放在秤盘上时,压力施给传感器,该传感器发生形变,从而使阻抗发生变化,同时使用激励电压发生变化,输出一个变化的模拟信号;该信号经放大电路放大输出到模数转换器;转换成便于处理的数字信号输出至单片机;单片机进行处理、运算后将结果送至显示器进行显示。
图2-1系统工作原理
2.3系统方案选择
在设计系统时,针对要实现的功能来设计电子秤的方案有以下几种:
方案一:
在系统工作原理的基础上进行扩展,增加一键盘输入装置,增加外界对单片机部的数据设定,使电子秤实现称重计价的功能。
此方案设计的电子秤,可以实现称物计价功能,但是局限于数码管的功能,在显示时只能显示单价、购物总额以及简单的货物代码等。
在显示重量时,如果数码管没有足够的位数,那么称量物体重量的精度必受到限制,所以此方案需要较多的数码管接入电路中。
这样在处理输入输出接口时需要另行扩展足够多的I/O接口供数码管使用,比较麻烦。
方案二:
前端信号处理时,选用放大、A/D转换等措施,尤其在显示方面采用LCD显示器。
这种方案不仅加强了人机交换的能力,而且满足设计要求。
可以显示所称量的物体信息相关容。
运用LCD显示器则大大节省了I/O口的运用。
鉴于本电子秤设计的功能要求,所以在具体设计时采用了第二种设计方案。
目前单片机技术比较成熟,功能也比较强大,被测信号经放大变换后送入单片机,由单片机对测量信号进行处理并根据相应的数据关系显示出被测物体的重量。
单片机控制适合于功能比较简单的控制系统,而且其具有成本低,功耗低,体积小算术运算功能强,技术成熟等优点。
但其缺点是外围电路比较复杂,编程复杂。
使用这种方案会给系统设计带来一定的难度。
图2-2系统实现方案原理图
2.4各功能模块的分析与选型
图2-3功能模块图
A/D转换模块实现将采集放大的模拟信号转换成数字信号;单片机作为整个系统控制模块它可反复擦写程序,作为整个系统核心,处理数字信号;显示模块通过控制器的处理,显示出重量,单价,总价;报警模块当重量超过量程时,就产生鸣笛声报警;而按键扫描模块是实现设置重量单价等。
2.4.1单片机的选择
系统设计者只能在市场上能够提供的单片机中选择,特别是作为产品大批量生产的应用系统,所选的单片机型号必须有稳定、充足的货源。
应根据系统的功能要求和各种单片机的性能,选择最容易实现系统技术指标的型号,而且能达到较高的性能价格比。
单片机性能包括片硬件资源、运行速度、可靠性、指令系统功能、体积和封装形式等方面。
影响性能价格比的因素除单片机的性能价格外,还包括硬件和软件设计的容易程度、相应的工作量大小,以及开发工具的性能价格比。
AT89S52单片机是AT89S系列中的增强型高档机产品,它片存储器容量是AT89S51的一倍,即片8KB的Flash程序存储器和256B的RAM。
另外,它还增加了一个功能极强的、具有独特应用的16位定时/计数器2等多种功能[2]。
在工程应用中AT89S52有一显著的优势:
不需要烧写器,只借助PC机的并口输出和极为简单的下载电路,便可将程序通过串行方式写入单片机。
并且下载电路可设计在系统中,可以随时修改单片机的软件而不对硬件做任何改动。
由此,通过对目前主流型号的比较,最终选择了AT89S52通用的普通单片机来实现系统设计。
AT89S52是一种兼容MCS51微控制器,工作电压4.0V到5.5V,全静态时钟0Hz到33MHz,三级程序加密,32个可编程I/O口,2/3个16位定时/计数器,6/8个中断源,全双工串行通讯口,低功耗支持Idle和Power-down模式,Powerdown模式支持中断唤醒,看门狗定时器,双数据指针,上电复位标志。
AT89S52单片机具有功耗低、性能高、可在线编程等优点,而价格与51系列却差不多,资源却更多,性价比高。
因此本设计选择AT89S52作为系统的微控制器,它足以满足本系统的设计。
2.4.2按键的选择
键盘分为编码键盘和非编码键盘。
键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘。
而靠软件编程来识别的称为非编码键盘。
在单片机组成的各种系统,用的最多的是非编码键盘,非编码键盘又分为独立键盘和行列式(矩阵式)键盘[3]。
独立键盘需由一个单片机I/O口控制一个按键,矩阵键盘可由少量I/O口控制大量按键(如7个I/O口控制3×4个按键)。
如前所述,本设计仅需4个按键就可实现所有功能的切换和控制,故选用独立键盘,再加一个键可实现附加功能清零。
这样既可以减少单片机硬件资源的占用,也可以避免矩阵键盘繁琐的软件编程。
图2-4独立按键
2.4.3输出模块的选择
方案一:
全部采用数码管显示,数码能显示被测物体的重量等信息。
此方案显示直观,而且编程简单,但若要同时显示单价,金额等诸多信息则需要要大量的数码管。
由此增加了电路的复杂程度,也加大了编程的难度。
方案二:
采用可以设置显示重量,单价,金额等的LCD,它具有低功耗、可视面大、画面友好及抗干扰能力强等功能,其显示技术已得到广泛应用。
LCD显示器的工作原理:
液晶显示器的主要材料是液态晶体。
它在特定的温度围,既具有液体的流动性,又具有晶体的某些光学特性,其透明度和颜色随电场、磁场、光照度等外界条件变化而变化液晶做成显示器件,就可以把上诉外界条件的变化反映出来从而形成现实的效果。
图2-51602液晶
2.4.4报警模块的选择
蜂鸣器模块负责闹铃提醒功能,本设计选用普通有源蜂鸣器,如图2-6,J8为短路冒,BEEP端与单片机P1.5口相连。
但是蜂鸣器单纯的发声十分刺耳,因此需编写程序控制发声的时间使闹铃声更贴近实际。
图2-6蜂鸣器
2.5编程语言及开发工具选择
2.5.1编程语言的选择
对于8051单片机,现有4种语言支持,即汇编、PL/M、C和BASIC。
常用的编程语言有汇编语言和C语言两种,每种语言都有各自的优缺点。
汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器代码的一种语言。
汇编语言可以直接有效地控制计算机各种操作,产生的目标文件运行速度快,执行效率高,程序相对高级语言小。
C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点。
其本身不依赖于机器硬件系统,基本上不做修改就可将程序在不同单片机间进行移植。
同时C语言提供了很多数学函数并支持浮点运算,开发效率较高,可缩短开发时间,增加程序可读性和可维护性[4]。
在51系列单片机下,C语言(C-51)和汇编语言(ASM-51)相比,有如下优点:
(1)对单片机的指令系统不要求了解,仅需对51系列单片机的存储器结构有了解;
(2)寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理;
(3)程序有规的结构,可分为不同的函数,这种方式可使程序结构化;
(4)提供的库包含许多标准子程序,具有较强的数据处理能力;
(5)由于具有方便的模块化编程技术,使已编好程序可容易地移植。
综上所述,本设计选用开发效率高、程序可读性、可维护性高的C语言,并且采用模块化编程方式进行编程。
2.5.2开发环境的选择
单片机的开发环境多种多样,很多公司都研发了单片机开发软件,如AmericanAutomationn、瑞典的IAR、Avocet和Keil等。
开发环境的优劣直接影响单片机应用产品的开发效率[5]。
本设计基于51系列单片机AT89S52,而且选用C语言进行编程,因此选用来自德国的主流开发软件Keil进行编程。
Keil在代码生成方面较其它几款软件在代码生成方面处于领先地位,可产生最少的代码。
支持浮点和长整数、重入和递归。
KeilμVision3集成开发环境是一个基于Windows的软件开发平台,有一个功能强大的编辑器、项目管理器和制作工具。
μVision3支持8051的所有KEIL工具,包括C编译器、宏宏汇编器、器/定位器和目标文件至HEX格式的转换器。
2.6本章小结
本章主要分析了电子秤的基本功能,根据基本功能提出实现思路最后得到总体方案,对于提到的各个单元进行选型,单片机选择了MCS-51系列单片机中的AT89S52系列,调节按键选择独立按键,显示电路选择LCD1602液晶显示器,编程语言选择功能性、结构性、可维护性、可移植性强的C语言,开发工具选择适合51单片机的KeiluVision。
第3章系统软件设计
经过前面详细调研、方案论证后,就进入了正式研制阶段。
从总体上来看,设计任务可以分为硬件设计和软件设计,这两者互相结合,不可分离。
由于本次设计是直接购买开发板,本章将在此基础上重点进行软件设计并最终实现其基本功能,在设计前应熟悉单片机的部资源。
3.1AT89S52的介绍
AT89S52单片机是ATMEL公司新近推出的高档型AT89S系列单片机中的增强型产品。
ATMEL公司是美国20世纪80年代中期成立并发展起来的半导体公司。
该公司的技术优势在于推出Flash存储器技术和高质量、高可靠性的生产技术,它率先将独特的Flash存储技术注入于单片机产品中。
其推出的AT89系列单片机,在世界电子技术行业中引起了极大的反响,在国也受到广大用户欢迎[6]。
AT89S52具有如下特点:
40个引脚,8kBytesFlash片程序存储器,256bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,3个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片时钟振荡器。
表3-1AT89S52功能
兼容MCS-51指令系统
8k可反复擦写ISPFlashROM
32个双向I/O口
4.5-5.5V工作电压
3个16位可编程定时/计数器
时钟频率0-33MHz
全双工UART串行中断口线
256x8bit部RAM
2个外部中断源
低功耗空闲和省电模式
中断唤醒省电模式
3级加密位
看门狗(WDT)电路
软件设置空闲和省电功能
灵活的ISP字节和分页编程
双数据寄存器指针
图3-1AT89S52的引脚图
引脚功能说明:
VCC/GND:
电源/接地引脚;
Port0:
P0是一个8位漏极开路型双向I/O端口,端口置1(对端口写1)时作高阻抗输入端;P0还可以用作总线方式下的地址数据复用管脚,用来操作外部存储器。
在这种工作模式下,P0口具有部上拉作用。
对部Flash程序存储器编程时,接收指令字节、校验程序、输出指令字节时,要求外接上拉电阻;
Port1:
P1是一个带有部上拉电阻的8位双向I/0端口,输出时可驱动4个TTL。
端口置1时,部上拉电阻将端口拉到高电平,作输入用;另外,P1.0、P1.1可以分别被用作定时器/计数器2的外部计数输入(P1.0/T2)和触发输入(P1.1/T2EX);对部Flash程序存储器编程时,接收低8位地址信息;
Port2:
P2是一个带有部上拉电阻的8位双向I/0端口;输出时可驱动4个TTL。
端口置1时,部上拉电阻将端口拉到高电平,作输入用;P2口在存取外部存储器时,可作为高位地址输出;部Flash程序存储器编程时,接收高8位地址和控制信息;
Port3:
P3是一个带有部上拉电阻的8位双向I/0端口,输出时可驱动4个TTL。
端口置1
时,部上拉电阻将端口拉到高电平,作输入用。
表3-2P3引脚功能复用
P3.0
串行通讯输入(RXD)
P3.1
串行通讯输出(TXD)
P3.2
外部中断0(INT0)
P3.3
外部中断1(INT1)
P3.4
定时器0输入(T0)
P3.5
定时器1输入(T1)
P3.6
外部数据存储器写选通WR
P3.7
外部数据存储器写选通RD
RST:
在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此管脚时,将使单片机复位。
只要这个管脚保持高电平,51芯片便循环复位。
复位后P0—P3口均置1,管脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。
当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序;
XTAL1、XTAL2:
XTAL1是片振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。
部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。
晶振的频率可以在1MHz至24MHz选择,电容取30PF左右。
ALE/PROG:
访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节,即使不访问外部存储器,ALE端仍以不变的频率输出脉冲信号(此频率是振荡器频率的1/6),在访问外部数据存储器时,出现一个ALE脉冲;
PSEN:
该引脚是外部程序存储器的选通信号输出端。
当AT89S52由外部程序存储器取指令或常数时,每个机器周期输出2个脉冲,即两次有效。
但访问外部数据存储器时,将不会有脉冲输出;
EA/Vpp:
外部访问允许端。
当该引脚访问外部程序存储器时,应输入低电平。
要使AT89S52只访问外部程序存储器(地址为0000H-FFFFH),这时该引脚必须保持低电平;
3.2主程序设计
3.2.1函数声名以及变量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电子秤 设计 毕业论文