基于单片机控制的电子秤设计112.docx
《基于单片机控制的电子秤设计112.docx》由会员分享,可在线阅读,更多相关《基于单片机控制的电子秤设计112.docx(30页珍藏版)》请在冰豆网上搜索。
基于单片机控制的电子秤设计112
工学学士学位论文
单片机控制电子秤的设计
专业名称电子信息科技与技术
学生姓名秦锦辉
指导老师夏海洵
扬州大学
20017年6月
摘要…………………………………………………………………
Abstract………………………………………………………………II
1绪论…………………………………………………………………1
2系统方案论证与选型………………………………………………2
2.1控制器部分………………………………………………………3
2.2.传感器的选择……………………………………………………3
2.3.放大电路的选择…………………………………………………4
2.4.A/D转换器的选择………………………………………………6
2.5.键盘处理方案论证……………………………………………6
2.6显示电路的选择……………………………………………6
2.7超量程报警部分选择………………………………………7
3硬件电路设计……………………………………………………8
3.1AT89S52的最小系统电路………………………………………12
3.1.1AT89S52简介………………………………………………9
3.1.2单片机管脚说明……………………………………………9
3.1.3AT89S52的最小电路构成………………………………9
3.2.2A/D转换芯片与单片机接口电路设计…………………………15
3.3显示电路与单片机接口电路设计…………………………………11
3.4键盘电路与单片机接口电路设计…………………………………11
3.5报警电路设计……………………………………………………12
4系统软件设计……………………………………………………14
4.1主程序设计………………………………………………………15
4.2子程序设计…………………………………………………………18
4.2.1A/D转换启动以及数据读取程序设计……………………………18
4.2.2数制转换子程序设计……………………………………………19
4.2.3显示子程序设计………………………………………………21
4.2.4键盘扫描子程序的设计…………………………………………25
4.2.5报警子程序的设计……………………………………………26
设计总结………………………………………………………………28
致谢……………………………………………………………………29
参考文献………………………………………………………………30
附录……………………………………………………………………31
摘要
本文设计的电子称是以单片机为主要部件,用汇编语言进行软件设计。
通过传感器测量信号,用信号放大系统放大信号,经过A/D转换系统转换信号输送给CPU控制系统,通过LCD显示系统显示数据,键盘输入系统用来输入操作指令,阀值报警系统可以防止超量程损坏电子称。
基本上实现了电子秤的基本功能。
具备使用方便,直观,测量准确,成本低等特点。
适应了现代社会发展的需求。
在本设计中将智能化,人性化,自动化用在了电子秤的控制系统中。
系统采用AT89S52芯片作为单片机的主控芯片,外围以称重电路,显示电路,报警电路,键盘电路等构成系统电路板,从而实现了自动称重的各种控制功能。
关键词;电子称单片机AT89S52称重传感器A/D转换器LCD显示器
Electronicdesignbasedonsinglechipmicrocomputercontrol
Abstract:
Thisarticleisbasedonsinglechipdesign,saidthemainelectroniccomponentsinassemblylanguageforsoftwaredesign.Measuredbythesensorsignal,amplifiesthesignalwithasignalamplificationsystem,afterA/DconversionsystemcontrolsignaltransmissiontotheCPU,LCDdisplaysystemdisplaysthedatathroughthekeyboardinputsystemforenteringinstructions,thethresholdalarmsystemtopreventover-rangedamagetoelectronicsaid.Basicallyrealizethebasicfunctionsofelectronicscales.Witheasytouse,intuitive,measurementaccuracy,andlowcost.Adaptedtotheneedsofmodernsocialdevelopment.
Inthisdesignwillbeintelligent,humane,automatedelectronicscalesusedinthecontrolsystem.SystemusestheAT89S52chipasthemicrocontrollercontrolchip,theexternalloadassignedtothecitycircuit,displaycircuit,alarmcircuit,thekeyboardcircuitboardconstitutesasystem,enablingtheautomaticweighingofthevariouscontrolfunctions.
Keywords:
electronicscaleAT89S52loadsensorA/DconverterLCDdisplay
绪论
1.1称重技术和衡器的发展
称重技术自古以来就被人们所重视,作为一种计量手段,广泛应用于工农业、科研、交通、内外贸易等各个领域,与人民的生活紧密相连。
电子秤是电子衡器中的一种,衡器是国家法定计量器具,是国计民生、国防建设、科学研究、内外贸易不可缺少的计量设备,衡器产品技术水平的高低,将直接影响各行各业的现代化水平和社会经济效益的提高。
称重装置不仅是提供重量数据的单体仪表,而且作为工业控制系统和商业管理系统的一个组成部分,推进了工业生产的自动化和管理的现代化,它起到了缩短作业时间、改善操作条件、降低能源和材料的消耗、提高产品质量以及加强企业管理、改善经营管理等多方面的作用。
称重装置的应用已遍及到国民经济各领域,取得了显著的经济效益。
因此,称重技术的研究和衡器工业的发展各国都非常重视。
50年代中期电子技术的渗入推动了衡器制造业的发展。
60年代初期出现机电结合式电子衡器以来,经过40多年的不断改进与完善,我国电子衡器从最初的机电结合型发展到现在的全电子型和数字智能型。
现今电子衡器制造技术及应用得到了新发展。
电子称重技术从静态称重向动态称重发展:
计量方法从模拟测量向数字测量发展;测量特点从单参数测量向多参数测量发展,特别是对快速称重和动态称重的研究与应用。
通过分析近年来电子衡器产品的发展情况及国内外市场的需求,电子衡器总的发展趋势是小型化、模块化、集成化、智能化;其技术性能趋向是速率高、准确度高、稳定性高、可靠性高;其功能趋向是称重计量的控制信息和非控制信息并重的“智能化”功能;其应用性能趋向于综合性和组合性。
电子秤是电子衡器中的一种,衡器是国家法定计量器具,是国计民生、国防建设、科学研究、内外贸易不可缺少的计量设备,衡器产品技术水平的高低,将直接影响各行各业的现代化水平和社会经济效益的提高。
1.2电子秤的组成以及工作原理
电子称是利用物体的重力作用来确定物体质量的测量仪器,也可用来确定与物体质量相关的其他量的大小,参数,或特性。
电子称一般由以下三部分组成。
承重、传力复位系统,称重传感器,测量显示和数据输出的的载荷测量装置。
当被称物体放置在秤体的秤台上时,其重量便通过秤体传递到称重传感器,传感器随之产生力-电效应,将物体的重量转换成与被称物体重量成一定函数关系(一般成正比关系)的电信号(电压或电流等)。
此信号由放大电路进行放大、经滤波后再由模/数(A/D)器进行转换,数字信号再送到微处器的CPU处理,CPU不断扫描键盘和各种功能开关,根据键盘输入内容和各种功能开关的状态进行必要的判断、分析、由仪表的软件来控制各种运算。
运算结果送到内存贮器,需要显示时,CPU发出指令,从内存贮器中读出送到显示器显示,或送打印机打印。
一般地信号的放大、滤波、A/D转换以及信号各种运算处理都在仪表中完成。
1.3设计思路
目前,台式电子秤在商业贸易中的使用已相当普遍,但存在较大的局限性:
体积大、成本高、需要工频交流电源供应、携带不便、应用场所受到制约。
现有的便携秤为杆秤或以弹簧、拉伸变形来实现计量的弹簧秤,居民用户使用的基本是杆秤。
弹簧盘秤制造工艺要求较高,弹簧的疲劳问题无法彻底解决,一旦超过弹簧弹性限度,弹簧秤就会产生很大误差,以至损坏,影响到称重的准确性和可靠性,只是一种暂时的代用品,也被列入逐渐取消的行列。
微控制器技术、传感器技术的发展和计算机技术的广泛应用,电子产品的更新速度达到了日新月异的地步。
本系统在设计过程中,除了能实现系统的基本功能外,还增加了打印和通讯功能,可以实现和其他机器或设备(包括上位PC机和数据存储设备)交换数据.除此之外,系统的微控制器部分选择了兼容性比较好的AT89系列单片机,在系统更新换代的时候,只需要增加很少的硬件电路,甚至仅仅删改系统控制程序就能够实现。
另外由于实际应用当中,称可以有一定量的过载,但不能超出要求的范围,为此我们还设计了过载提示和声光报警功能。
综上所述,本课题的主要设计思路是:
利用压力传感器采集因压力变化产生的电压信号,经过电压放大电路放大,然后再经过模数转换器转换为数字信号,最后把数字信号送入单片机。
单片机经过相应的处理后,得出当前所称物品的重量及总额,然后再显示出来。
此外,还可通过键盘设定所称物品的价格。
主要技术指标为:
称量范围0~5kg;分度值0.01kg;精度等级Ⅲ级;电源DC1.5V(一节5号电池供电)。
这种高精度智能电子秤体积小、计量准确、携带方便,集质量称量功能与价格计算功能于一体,能够满足商业贸易和居民家庭的使用需求。
设计思路框图1-1
第二章系统方案论证与选型
2.1CPU的选择方案
本设计由于要求必须使用单片机作为系统的主控制器,而且以单片机为主控制器的设计,可以容易地将计算机技术和测量控制技术结合在一起,组成新型的只需要改变软件程序就可以更新换代的“智能化测量控制系统”。
这种新型的智能仪表在测量过程自动化、测量结果的数据处理以及功能的多样化方面,都取得了巨大的进展。
再则由于系统没有其它高标准的要求,又考虑到本设计中程序部分比较大,根据总体方案设计的分析,设计这样一个简单的的系统,可以选用带EPROM的单片机,由于应用程序不大,应用程序直接存储在片内,不用在外部扩展存储器,这样电路也可简化。
INTEL公司的8051和8751都可使用,在这里选用ATMENL生产的AT89SXX系列单片机。
AT89SXX系列与MCS-51相比有两大优势:
第一,片内存储器采用闪速存储器,使程序写入更加方便;第二,提供了更小尺寸的芯片,使整个硬件电路体积更小。
此外价格低廉、性能比较稳定的MCPU,具有8K×8ROM、256×8RAM、2个16位定时计数器、4个8位I/O接口。
这些配置能够很好地实现本仪器的测量和控制要求
最后我们最终选择了AT89S52这个比较常用的单片机来实现系统的功能要求。
AT89S52内部带有8KB的程序存储器,基本上已经能够满足我们的需要。
2.2传感器的选择
在本设计中,传感器是个十分重要的元件,因此对传感器的选择也显得十分重要。
不仅要注意其量程和参数,还要考虑与其相配置的各种电路的设计的难易程度和设计性价比等等。
综合考虑,本设计采用SP20C-G501电阻应变式传感器,其最大量程为7.5Kg.称重传感器由组合式S型梁结构及金属箔式应变计构成,具有过载保护装置。
由于惠斯登电桥具诸如抑制温度变化的影响,抑制干扰,补偿方便等优点,所以该传感器测量精度高、温度特性好、工作稳定等优点,广泛用于各种结构的动、静态测量及各种电子秤的一次仪表。
该称重传感器主要由弹性体、电阻应变片电缆线等组成,其工作原理如图2.1所示:
图2-1传感器工作原理图
其工作原理:
用应变片测量时,将其粘贴在弹性体上。
当弹性体受力变形时,应变片的的敏感栅也随之变形,其阻值发生相应的变化,通过转换电路转换为电压或电流的变化。
由于内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,输出信
号电压可由下式2-2给出:
(2-2)
2.3放大电路的选择方案
主要由高精度低漂移运算放大器构成差动放大器,而构成的前级处理电路差动放大器具有高输入阻抗,增益高的特点,可以利用普通运放做成一个差动放大器。
其设计电路如图2.3所示:
图2-3利用普通运放设计的差动放大器电路图
2.4A/D转换器的选择
A/D转换部分是整个设计的关键,这一部分处理不好,会使得整个设计毫无意义。
目前,世界上有多种类型的ADC,有传统的并行、逐次逼近型、积分型ADC,也有近年来新发展起来的∑-Δ型和流水线型ADC,多种类型的ADC各有其优缺点并能满足不同的具体应用要求。
目前,ADC集成电路主要有以下几种类型:
(1)并行比较A/D转换器:
如ADC0808、ADC0809等。
并行比较ADC是现今速度最快的模/数转换器,采样速率在1GSPS以上,通常称为“闪烁式”ADC。
它由电阻分压器、比较器、缓冲器及编码器四种分组成。
这种结构的ADC所有位的转换同时完成,其转换时间主取决于比较器的开关速度、编码器的传输时间延迟等。
缺点是:
并行比较式A/D转换的抗干扰能力差,由于工艺限制,其分辨率一般不高于8位,因此并行比较式A/D只适合于数字示波器等转换速度较快的仪器中,不适合本系统。
(2)逐次逼近型A/D转换器:
如:
ADS7805、ADS7804等。
逐次逼近型ADC是应用非常广泛的模/数转换方法,这一类型ADC的优点:
高速,采样速率可达1MSPS;与其它ADC相比,功耗相当低;在分辨率低于12位时,价格较低。
缺点:
在高于14位分辨率情况下,价格较高;传感器产生的信号在进行模/数转换之前需要进行调理,包括增益级和滤波,这样会明显增加成本。
(3)积分型A/D转换器:
如:
ICL7135、ICL7109、ICL1549、MC14433等。
积分型ADC又称为双斜率或多斜率ADC,是应用比较广泛的一类转换器。
它的基本原理是通过两次积分将输入的模拟电压转换成与其平均值成正比的时间间隔。
与此同时,在此时间间隔内利用计数器对时钟脉冲进行计数,从而实现A/D转换。
积分型ADC两次积分的时间都是利用同一个时钟发生器和计数器来确定,因此所得到的表达式与时钟频率无关,其转换精度只取决于参考电压VR。
此外,由于输入端采用了积分器,所以对交流噪声的干扰有很强的抑制能力。
若把积分器定时积分的时间取为工频信号的整数倍,可把由工频噪声引起的误差减小到最小,从而有效地抑制电网的工频干扰。
这类ADC主要应用于低速、精密测量等领域,如数字电压表。
其优点是:
分辨率高,可达22位;功耗低、成本低。
缺点是:
转换速率低,转换速率在12位时为100~300SPS。
(4)压频变换型ADC:
其优点是:
精度高、价格较低、功耗较低。
缺点是:
类似于积分型ADC,其转换速率受到限制,12位时为100~300SPS。
考虑到本系统中对物体重量的测量和使用的场合,精度要求不是很苛刻,转换速率要求也不高,根据系统的精度要求以及综合的分析,本设计采用了12位逐次逼近型A/D转换器AD574。
2.5键盘处理部分方案论证
由于电子秤需要设置单价(十个数字键),还具有确认、删除等功能,总共需设置17个键(包括一个复位键)。
键盘的扩展有使用以下方案:
采用矩阵式键盘:
矩阵式键盘的特点是把检测线分成两组,一组为行线,一组列线,按键放在行线和列线的交叉点上。
图2-4给出了一个4×4的矩阵键盘结构的键盘接口电路,图中的每一个按键都通过不同的行线和列线与主机相连这。
4×4矩阵式键盘共可以安装16个键,但只需要8条测试线。
当键盘的数量大于8时,一般都采用矩阵式键盘。
结合本设计的实际要求,16个按键使用4×4矩阵式键盘,另外一个复位键使用独立式按键实现。
2.6显示器部分的选择
显示器是人机交换的主要部分,他可以将测量电路测得的数据经过cpu处理后直观的显示出来。
数据显示有两种方案:
LED数码显示和LCD液晶显示。
LCD液晶显示器是一种极低功耗显示器,从电子表到计算器,从袖珍仪表到便携式微型计算机以及一些文字处理机都用到了液晶显示器。
考虑到液晶显示器的直观方便,这次设计选择了LCD液晶显示器。
2.7超量程报警部分选择
智能仪器一般都具有报警和通讯功能,报警主要用于系统运行出错、当测量的数据超过仪表量程或者是超过用户设置的上下限时为提醒用户而设置。
在本系统中,设置报警的目的就是在超出电子秤测量范围时,发出声光报警信号,提示用户,防止损坏仪器。
超限报警电路是由单片机的I/O口来控制的,当称重物体重量超过系统设计所允许的重量时,通过程序使单片机的I/O值为高电平,从而三极管导通,使蜂鸣器SPEAKER发出报警声,同时使报警灯D1发光。
第三章硬件电路设计
在本系统中用于称量的主要器件是称重传感器,称重传感器在受到压力或拉力时会产生电信号,受到不同压力或拉力是产生的电信号也随着变化,而且力与电信号的关系一般为线性关系。
由于称重传感器一般的输出范围为0~20mV,对A/D转换或单片机的工作参数来说不能使A/D转换和单片机正常工作,所以需要对输出的信号进行放大。
由于传感器输出的为模拟信号,所以需要对其进行A/D转换为数字信号以便单片机接收。
单片机根据称重传感器输出的电信号和速度传感器输出的速度信号计算出物体的重量。
在本系统中,硬件电路的构成主要有以下几部分:
AT89C52的最小系统构成、电源电路、数据采集、人-机交换电路等。
3.1.1AT89S52介绍
高性能8位单片机AT89S52是一个低功耗,高性能CMOS8位单片机,片内含8kBytes的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S52具有如下特点:
40个引脚,8kBytesFlash片内程序存储器,256bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
3.1.2AT89S52各引脚功能介绍
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
表3.1P3.0口引脚功能表
P3口引脚
第二功能
P3.0
RXD(串行口输入)
P3.1
TXD(串行口输出)
P3.2
INT0(外部中断0输入)
P3.3
INT1(外部中断1输入)
P3.4
T0(定时器0外部脉冲输入)
P3.5
T1(定时器1外部脉冲输入)
P3.6
WR(外部数据存储器写脉冲输出)
P3.7
RD(外部数据存储器读脉冲输出)
图3-1AT89S52引脚图
3.1.3AT89S52的最小系统电路构成
AT89S52单片机的最小系统由时钟电路、复位电路、电源电路及单片机构成。
单片机的时钟信号用来提供单片机片内各种操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种确定的初态开始运行。
单片机的时钟信号通常用两种电路形式得到:
内部振荡方式和外