电子称设计 毕业设计说明书

上传人:仙*** 文档编号:27709124 上传时间:2021-08-19 格式:DOC 页数:36 大小:1.11MB
返回 下载 相关 举报
电子称设计 毕业设计说明书_第1页
第1页 / 共36页
电子称设计 毕业设计说明书_第2页
第2页 / 共36页
电子称设计 毕业设计说明书_第3页
第3页 / 共36页
点击查看更多>>
资源描述
电子称设计摘要: 随着微电子技术的应用,市场上使用的传统称重工具已经满足不了人们的要求。为了改变传统称重工具在使用上存在的问题,在本设计中将智能化、自动化、人性化用在了电子秤重的控制系统中。本设计系统以单片机AT89S52为控制核心,实现电子秤的基本控制功能。在设计系统时,为了更好地采用模块化设计法,分步设计了各个单元功能模块。本系统设计结构简单,使用方便,功能齐全,精度高,具有一定的开发价值。关键词:数据采集、单片机、A/D转换、液晶显示。1. 引言1.1前 言 随着微电子技术的应用,市场上使用的传统称重工具已经满足不了人们的要求。为了改变传统称重工具在使用上存在的问题,在本设计中将智能化、自动化、人性化用在了电子秤重的控制系统中。本系统主要由单片机来控制,测量物体重量部分由称重传感器及A/D转换器组成,加上显示单元,此电子秤俱备了功能多、性能价格比高、功耗低、系统设计简单、使用方便直观、速度快、测量准确、自动化程度高等特点。本系统以AT89S52单片机为主控芯片,外围附以称重电路、显示电路、报警电路、键盘电路等构成智能称重系统电路板,从而实现自动称重系统的各种控制功能。可以说,此设计所完成的电子秤很大程度上满足了应用需求。1.2选题背景与意义随着第二次世界大战后的经济繁荣,为了把称重技术引入生产工艺过程中去,对称重技术提出了新的要求,希望称重过程自动化,为此电子技术不断渗入衡器制造业。在1960年开发出了与衡器相联的专门称重值打印机。当时的带电子装置的衡器其称量工作是机械式的,但与称量有关的显示、记录、远传式控制器等功能是电子方式的。电子秤的发展过程与其它事物一样,也经历了由简单到复杂、由粗糙到精密、由机械到机电结合再到全电子化、由单一功能到多功能的过程。近年来,电子秤已愈来愈多地参与到数据处理和过程控制中。现代称重技术和数据系统已经成为工艺技术、储运技术、预包装技术、收货业务及商业销售领域中不可缺少的组成部分。随着称重传感器各项性能的不断突破,为电子秤的发展奠定了其础,国外如美国、西欧等一些国家在20世纪60年代就出现了0 .1 %称量准确度的电子秤,并在70年代中期约对75 %的机械秤进行了机电结合式的电子化改造。随着生活水平的提高,商品的种类和样式越来越来多,我们出门买东西无论是在超市还是在市场都经常会用到电子称,电子称在我们的日常生活中已经成为必不可少的工具,因此,有针对性地开发出一套有实用价值的电子秤系统,从技术上克服上述诸多缺点,改善电子秤系统在应用中的不足之处,具有现实意义。1.3电子衡器的发展动态电子衡器产品量大面广、种类繁多,从通用的各种规格的电子秤到大型的电子称重系统,从单纯的称重、计价到生产过程检测系统的一个测量控制单元,其应用领域在不断地扩大。根据近年来电子称重技术和电子衡器的发展情况及电子衡器市场的需求,电子衡器总的发展动向为:小型化、模块化、智能化、集成化;其技术性能趋向于速率高、准确度高、稳定性高、可靠性高;其应用性趋向于综合性、组合性。 小型化:体积小、高度低、重量轻,即小薄轻。为使电子衡器的承载器达到小、薄、轻,开始采用重量轻且刚度大的空心波纹铜板和方形闭合截面的薄壁型材。 模块化:电子衡器的承载器采用模块式一体组合或分体组合,产生新的品种和规格。这种模块化组合不但提高了产品的通用性和可靠性,而且也大大提高了生产效率,降低了成本。智能化:与电子计算机组合或开发称重用计算机,利用计算机的智能来增加称重显示控制的功能,使其在原有功能的基础上增加推理、判断、自诊断、自适应、自组织等功能。集成化:对于某些品种和结构的电子衡器,可以实现承载器与称重传感器一体化或承载器、称重传感器与称重显示控制器一体化。 综合性:电子称重技术和电子衡器产品的应用范围不断扩大,它已渗透到一些学科和工业自动控制领域。对某些商用电子计价秤而言,只具备称重、计价、显示、打印功能还远远不够,现代商业系统还要求它能提供各种销售信息,把称重与管理自动化紧密结合,使称重、计价、进库、销售管理一体化,实现管理自动化。这就要求电子计价秤能与电子 计算机联网,把称重系统与计算机系统组成一个完整的综合控制系统。 组合性:在工业生产过程或工艺流程中,不少称重系统还应具有可组合性,即:测量范围可以任意设定;硬件能够依据不定的程序进行修改和扩展;输入输出数据与指令可使用不同的语言,并能与外部的控制和数据处理设备进行通信。2.电子秤的组成结构2.1.1电子称的基本结构电子秤是利用物体的重力作用来确定物体质量(重量)的测量仪器,也可用来确定与质量相关的其它量大小、参数、或特性。不管根据什么原理制成的电子秤均由以下三部分组成:(1)承重、传力复位系统 它是被称物体与转换元件之间的机械、传力复位系统,又称电子秤的秤体,一般包括接受被称物体载荷的承载器、秤桥结构、吊挂连接部件和限位减振机构等。(2)称重传感器即由非电量(质量或重量)转换成电量的转换元件,它是把支承力变换成电的或其它形式的适合于计量求值的信号所用的一种辅助手段。按照称重传感器的结构型式不同,可以分直接位移传感器(电容式、电感式、电位计式、振弦式、空腔谐振器式等)和应变传感器(电阻应变式、声表面谐振式)或是利用磁弹性、压电和压阻等物理效应的传感器。对称重传感器的基本要求是:输出电量与输入重量保持单值对应,并有良好的线性关系;有较高的灵敏度;对被称物体的状态的影响要小;能在较差的工作条件下工作;有较好的频响特性;稳定可靠。(3)测量显示和数据输出的载荷测量装置即处理称重传感器信号的电子线路(包括放大器、模数转换、电流源或电压源、调节器、补尝元件、保护线路等)和指示部件(如显示、打印、数据传输和存贮器件等)。这部分习惯上称载荷测量装置或二次仪表。在数字式的测量电路中,通常包括前置放大、滤滤、运算、变换、计数、寄存、控制和驱动显示等环节。2.1.2电子称的基本工作原理当被称物体放置在秤体的秤台上时,其重量便通过秤体传递到称重传感器,传感器随之产生力电效应,将物体的重量转换成与被称物体重量成一定函数关系(一般成正比关系)的电信号(电压或电流等)。此信号由放大电路进行放大、经滤波后再由模/数(A/D)器进行转换,数字信号再送到微处器的CPU处理,CPU不断扫描键盘和各种功能开关,根据键盘输入内容和各种功能开关的状态进行必要的判断、分析、由仪表的软件来控制各种运算。运算结果送到内存贮器,需要显示时,CPU发出指令,从内存贮器中读出送到显示器显示,或送打印机打印。一般地信号的放大、滤波、A/D转换以及信号各种运算处理都在仪表中完成。2.2课题设计方案分析 2.2.2电子秤设计的基本思路将电子秤大致能划分为三大部分,数据采集模块、控制器模块和人机交互界面模块。其中数据采集模块由压力传感器、信号的前级处理和A/D转换部分组成。转换后的数字信号送给控制器处理,由控制器完成对该数字量的处理,驱动显示模块完成人机间的信息交换。此外添加了一个过载、欠量报警提示的特殊功能。如图2-1(上图为本系统的设计图)2.3单片机的选型AT89S52单片机是AT89S系列中的增强型高档机产品,它片内存储器容量是AT89S51的一倍,即片内8KB的Flash程序存储器和256B的RAM。另外,它还增加了一个功能极强的、具有独特应用的16位定时计数器2等多种功能。在工程应用中AT89S52有一显著的优势:不需要烧写器,只借助PC 机的并口输出和极为简单的下载电路,便可将程序通过串行方式写入单片机。并且下载电路可设计在系统中,可以随时修改单片机的软件而不对硬件做任何改动。由此,通过对目前主流型号的比较,我们最终选择了AT89S52通用的普通单片机来实现系统设计。AT89S52是一种兼容MCS51微控制器,工作电压4.0V到5.5V,全静态时钟0 Hz 到33 MHz,三级程序加密,32个可编程I/O口,2/3个16位定时/计数器,6/8个中断源,全双工串行通讯口,低功耗支持Idle和Power-down模式,Power down模式支持中断唤醒, 看门狗定时器,双数据指针,上电复位标志。另外在外扩展了32K数据存储器,以满足系统要求。2.4数据采集模块2.4.1传感器传感器下的定义是:“能感受规定的被测量并按照一定的规律转换成可用信号的器件或装置,通常由敏感元件和转换元件组成”。其中敏感元件指传感器中能直接感受被测量的部分,转换元件指传感器中能将敏感元件输出量转换为适于传输和测量的电信号部分。此外传感器是一种检测装置,能感受到被测量的信息,并能将检测感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。它是实现自动检测和自动控制的首要环节。称重传感器在电子秤中占有十分重要的位置,被喻为电子秤的心脏部件,它的性能好坏很大程度上决定了电子秤的精确度和稳定性。通常称重传感器产生的误差约占电子秤整机误差的50%70%。若在环境恶劣的条件下(如高低温、湿热),传感器所占的误差比例就更大,因此,在人们设计电子秤时,正确地选用称重传感器非常重要。称重传感器的种类很多,根据工作原理来分常用的有以下几种: 电阻应变式、电容式、压磁式、压电式、谐振式等。(本设计采用的是电阻应变式)电阻应变式称重传感器包括两个主要部分,一个是弹性敏感元件:利用它将被测的重量转换为弹性体的应变值;另一个是电阻应变计:它作为传感元件将弹性体的应变,同步地转换为电阻值的变化。电阻应变片所感受的机械应变量一般为10 - 610 - 2,随之而产生的电阻变化率也大约在10 - 610 - 2数量级之间。这样小的电阻变化用一般测量电阻的仪表很难测出,必须采用一定形式的测量电路将微小的电阻变化率转变成电压或电流的变化,才能用二次仪表显示出来。在电阻应变式称重传感器中通过桥式电路将电阻的变化转换为电压变化。电阻应变式称重传感器工作原理框图如图2-1所示: 载荷P 应变 电阻变化R 输出电压敏感元件应变片测量电桥如图2-2电阻应变式称重传感器工作原理框图当传感器不受载荷时,弹性敏感元件不产生应变,粘贴在其上的应变片不发生变形,阻值不变,电桥平衡,输出电压为零;当传感器受力时,即弹性敏感元件受载荷P时,应变片就会发生变形,阻值发生变化,电桥失去平衡,有输出电压。如图2-3 桥式测量电路R1、R2、R3、R4为4个应变片电阻,组成了桥式测量电路,Rm为温度补偿电阻,e为激励电压,V为输出电压。 若不考虑Rm,在应变片电阻变化以前,电桥的输出电压为:V= 由于桥臂的起始电阻全等,即R1 = R2 = R3 = R4 = R,所以V=0 。当应变片的电阻R1、R2、R3、R4变成R+R1、R+R2、R+R3、R+R4时,电桥的输出电压变为:V=通过化简,上式则变为:V=也就是说,电桥输出电压的变化与各臂电阻变化率的代数和成正比。如果四个桥臂应变片的灵敏系数相同,且 = K,则上式又可写成:V=1 - 2 + 3 - 4 )式中K为应变片灵敏系数,为应变量。上式表明,电桥的输出电压和四个轿臂的应变片所感受的应变量的代数和成正比。在电阻应变式称重传感器中,4个应变片分别贴在弹性梁的4个敏感部位,传感器受力作用后发生变形。在力的作用下,R1、R3被拉伸,阻值增大,R1、R3正值,R2、R4被压缩,阻值减小,R2、R4为负值。再加之应变片阻值变化的绝对值相同,即R1 = R3 = + R或1 = 3 = +R2 = R4= - R或2 = 4 = - 因此,V=4 = e K。若考虑 Rm,则电桥的输出电压变成:V= = K e令SU = ,则SU = K SU称为传感器系数或传感器输出灵敏度。对于一个高精度的应变传感器来说,仅仅靠4个应变片组成桥式测量电路还是远远不够的。由于弹性梁材料金相组织的不均匀性及热处理工艺、应变片性能及粘贴工艺、温度变化等因素的影响,传感器势必产生一定的误差。为了减少传感器随温度变化产生的误差,提高其精度和稳定性,需要在桥路两端和桥臂中串入一些补偿元件。如:初始不平衡值的补偿、零载输出温度补偿、输出灵敏度温度补偿等。2.4.2前级放大器由传感器或敏感元件转换后输出的信号一般电平较低而由电桥等电路变换后的信号亦难以直接用来显示、记录、控制或进行A/D转换。为此,测量电路中常设有模拟放大环节。这一环节目前主要依靠由集成运算放大器的基本元件构成具有各种特性的放大器来完成。放大器的输入信号一般是由传感器输出的。传感器的输出信号不仅电平低,内阻高,还常伴有较高的共模电压。因此,一般对放大器有如下一些要求:1) 输入阻抗应远大于信号源内阻。否则,放大器的负载效应会使所测电压造成偏差。2) 抗共模电压干扰能力强。3) 在预定的频带宽度内有稳定准确的增益、良好的线性,输入漂移和噪声应足够小以保证要求的信噪比。从而保证放大器输出性能稳定。4) 能附加一些适应特定要求的电路。如放大器增益的外接电阻调整、方便准确的量程切换、极性自动变换等。基于以上分析,我们最终决定采用制作方便而且精度很好的专用仪表放大器AD620。AD620具有体积小、功耗低、精度高、噪声低和输入偏置电流低的特点。其最大输入偏置电流为20nA,这一参数反映了它的高输入阻抗。AD620在外接电阻Rg时,可实现11000范围内的任意增益;工作电源范围为2.318V;最大电源电流为1.3mA;最大输入失调电压为125 V;频带宽度为120kHz(在G=100时)。AD620的内部结构如下图所示:如图2-4 AD620的内部等效图AD620的接口如下图所示:如图2-5 AD620的接口图电路的工作原理:A1、A2工作在负反馈状态,其反向输入端的电压与同相输入端的电压相等。即Rg两端的电压分别为Vin+、Vin-。因此设图(2-4)中电阻R1=R2=R,则A1、A2两输出端的电压差U12为将上式代入第一个式子得放大器的增益Av为可见,仅需调整一个电阻Rg,就能方便的调整放大器的增益。由于整个电路对称,调整时不会造成共模抑制比的降低。在接口图(2-5)中,通过改变可变电阻R3的阻值大小来改变放大器的增益,放大器增益计算公式如下:2.4.3A/D转换器A/D转换器是一种能把输入模拟电压或电流-成与它成正比的数字量,也就是说能把被控对象的各种模拟信息变成计算机可以识别的数字信息。A/D转换器种类较多,从原理上可分为四种:双积分式A/D转换器,逐次逼近式A/D转换器、并行A/D转换器、计数器式A/D转换器及型A/D转换器。在电子秤的设计中用的比较多的是双积分式A/D转换器和型A/D转换器。双积分ADC的基本原理是对输入模拟电压和参考电压分别进行两次积分,将输入电压平均值变成与之成正比的时间间隔,然后利用时钟脉冲和计数器测出此时间间隔,进而得到相应的数字量输出。如图2-6所示是电子秤中常用的双积分式A/D转换电路,它由积分器、比较器、模拟电子开关,积分电阻、积分电容、自动回零电阻、电容组成。其中VG是模拟地,VFR是基准电压(相对于VG为负值),VX是检测电压。如图2-6双积分A/D转换电路其次双积分型A/D转换器具有很强的抗干扰能力。对正负对称的工频干扰信号积分为零,所以对50HZ的工频干扰抑制能力特强,对高于工频干扰(例如噪声电压)也具有良好的滤波作用。只要干扰电压的平均值为零,对输出就不产生影响。尤其对本系统,缓慢变化的压力信号,很容易受到工频信号的影响。故而采用双积分型A/D转换器可大大降低对滤波电路的要求。作为电子秤,系统对AD的转换速度要求并不高,精度上14位的AD足以满足要求。另外双积分型A/D转换器较强的抗干扰能力,和精确的差分输入,低廉的价格。最终选择了精度为10Kg/ 20000= 0.5g的ICL7135。2.5人机交互界面模块2.5.1键盘输入键盘输入是人机交互界面中重要的组成部分,它是系统接受用户指令的直接途径。键盘是由若干个按键开关组成,键的多少根据单片机应用系统的用途而定。键盘由许多键组成,每一个键相当于一个机械开关触点,当键按下时,触点闭合,当键松开时,触点断开。单片机接收到按键的触点信号后作相应的功能处理。因此,相对于单片机系统来说键盘接口信号是输入信号。ZLG7289是周立功单片机公司设计的串行输入输出可编程键盘显示芯片,有强大的键盘显示功能,支持64键控制,可以比较方便地扩展系统。另外ZLG7289内部有译码电路,大大简化了程序。最终选择ZLG7289作为键盘扫描显示芯片。2.5.2输出显示采用可以设置显示单价,金额,中文,购物日期等的LCD,它具有低功耗、可视面大、画面友好及抗干扰能力强等功能,其显示技术已得到广泛应用。LCD 显示器的工作原理:液晶显示器的主要材料是液态晶体。它在特定的温度范围内,既具有液体的流动性,又具有晶体的某些光学特性,其透明度和颜色随电场、磁场、光照度等外界条件变化而变化。因此,用液晶做成显示器件,就可以把上诉外界条件的变化反映出来从而形成现实的效果。虽然ZLG7289具有控制数码管显示的功能,但考虑到本题目要求中文显示,数码管无法满足,只能考虑用带有中文字库的液晶显示器。由于可以分页显示,无需太大屏幕,最终选择点阵式12864型LCDOCM4x8C。3.AT89S52的主控电路3.1.1AT89S52芯片AT89S52单片机是ATMEL公司新近推出的高档型AT89S系列单片机中的增强型产品。ATMEL公司是美国20世纪80年代中期成立并发展起来的半导体公司。该公司的技术优势在于推出Flash存储器技术和高质量、高可靠性的生产技术,它率先将独特的Flash存储技术注入于单片机产品中。其推出的AT89系列单片机,在世界电子技术行业中引起了极大的反响,在国内也受到广大用户欢迎。AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器。器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构。芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,3个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S52设计和配置了振荡频率可为0Hz,并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器、串行口、外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。主要功能特性见下表: 兼容MCS-51指令系统 8k可反复擦写(1000次)ISP Flash ROM 32个双向I/O口 4.5-5.5V工作电压 3个16位可编程定时/计数器 时钟频率0-33MHz 全双工UART串行中断口线 256x8bit内部RAM 2个外部中断源 低功耗空闲和省电模式 中断唤醒省电模式 3级加密位 看门狗(WDT)电路 软件设置空闲和省电功能 灵活的ISP字节和分页编程 双数据寄存器指针如表3-1 AT89S52功能引脚封装如下图所示:如图3-1 AT89S52的引脚图3.1.2主控电路的设计P1口和P2.0P2.6口作为地址总线,其中P1口作为低地址线和数据总线复用,P2.0P2.6口做高地址线。P2.7作为62256的片选控制总线,ALE接锁存器74LS373的使能端。P3.6和P3.7作为外部数据存储器写/读选通信号输出端分别接62256的/WE和/OE端。主控电路图如下:如图3-2 主控电路设计图3.2电子秤的信号处理流程3.2.1称重数据处理测量精度和可靠性是电子秤设计的关键,引入软件数据处理技术,可以克服或弥补包括传感器在内的各测量环节硬件本身的缺陷或弱点,使原来靠硬件电路难以实现的信号处理可以得到解决,提高电子秤的综合性能。在电子称重系统中,主要的数据处理技术有:无效物理量的消除、零漂处理、标度变换技术、非线性补偿技术、数字滤波技术等。(1)无效物理量的消除在称重系统中,称重传感器输出的信号是秤台、支架和被测物之和的转换信号,实际所要测的是被测物的重量,因此,秤台、支架等是无效的物理量,在信号处理过程中要用软件方法来消除。(2)零漂处理零位稳定是影响电子秤精度非常重要的因素,因受温度或其它因素影响将引起零位不稳定,这种现象称为零漂。由于零漂的影响,零输入信号时,输出可能不为零,为消除这个零位漂移值,采用零位补偿技术,零位补偿就是把这个零位漂移值储存起来,每一数据采集时减去这个数值,得到的数值就是消除零漂的有效信号。(3)标度变换在实际测量中,被测模拟信号被检测出来并转换成数字量后,需要转换成操作人员所熟悉的工程量。因为,被测对象经传感器、A/D转换后得到的数字量是一系列的数码,这些数码值并不等于原来带有量纲的参数值,它仅仅对应于参数的大小,因此,必须把它转换成带有量纲的数值后才能显示或打印输出,这种转换就是工程量变换,又称标度变换。 对一般的线性系统,其标度变换公式如下: Ax = A0 +(Am A0)(Nx N0)/(Nm N0 ) A0 :测量范围最小值 A m:测量范围最大值N0:A0所对应的数字量 Nm:Am所对应的数字量 Nx:Ax所对应的数字量其中,A0 、Am 、N0 和Nm对于某一固定的被测参数来说它们是常数,不同的参数有着不同的值。 对于测重系统而言,标度变换实质是建立重量W与A/D转换数据N关系的数学模型。 假设秤台和支架重量为W0 相应的A/D为N0 ,称量物体时,物体、秤台和支架总重为W,相应的A/D为N,最大量程范围为Wm,相应的A/D为Nm,物体净重为Wc = W- W0 ,它们之间的数学关系如下: Wc = W- W0 =(N - N0)(Wm - W0 )/(Nm - N0 )上式标度变换中,只考虑了净重与A/D转换之间的数学量的关系,还没考虑仪器仪表的精确度等级和分辨率问题。在实际的称重系统中,根据国家计量法规要求,系统的分辨率、精确度等级都有明确要求,在硬件配置条件满足的情况下,分辨率、精确度等级通常通过软件设置分度值d、分度数n来解决。它们与上式的关系为: Wm - W0 = n d =(Nm - N0 )K d n=(Nm - N0 )K K = n /(Nm - N0 ) K称为标准系数(倍率),在软件设计中通常通过一个调校子程序来确定,然后存放在一个能长期保存的存储器中。测量时物体的净重 Wc = W- W0 =(N - N0)K d(4)非线性补偿在检测中,由于检测传感器的输入输出特性往往只在一定范围内近似呈线性,而在某些范围内则明显呈非线性,同时,传感器具有离散性,还可能有温漂、滞后等。在信号处理过程中也常用软件处理方法来补偿和校正以上误差。常用的非线性补偿处理的方法有三种:分段线性插值法、曲线拟合法、查表法。对于不太弯曲的输入输出曲线,可采用线性插值法,对于很弯曲的输入输出曲线,可采用二次抛物线插值法,对于不规则的输入输出曲线,可采用分段曲线拟合法。对于用应变称重传感器的称重系统来说,由于其非线性度不是很大,所以常采用分段线性插值法。 3.2.2信号处理电路以下为滤波放大电路图:如图3-3 信号滤波放大图上图中电容C5、C6用来滤除采样信号电压中的高频噪声,选用0.1uF的普通独石电容;电容C7、C84用来滤除采样信号电压中的低频噪声,选用22uF的普通独石电容。电阻R3、R4选用较小的阻值,因为采样信号电压值只有毫伏级,所以其阻值不宜太大,否则导致放大器由于输入电流太小而放大效果不明显。微弱信号Vi1和Vi2被分别放大后从AD620的第6脚输出。A/D转换器ICL7135的输入电压变化范围是-2V+2V,传感器的输出电压信号在020mv左右,因此放大器的放大倍数在200300左右,可将R9接成1K的滑动变阻器。由于ICL7135对高频干扰不敏感,所以滤波电路主要针对工频及其低次谐波引入的干扰。因为压力信号变化十分缓慢,所以滤波电路可以把频率做得很低。图中的LM741的输出端与AD620的地端相连,LM741的2脚与6脚相连构成电压跟随器,R15与正负电源相接,通过改变R15的阻值可使VO与 RET之间的压差变化,从而实现调零、去皮的功能。ICL7135与单片机的接口在读取A/D转换后的结果时,选用数据选择器作为数据读取的控制器,这样简化了ICL7135与单片机的接口电路,便于硬件设计与软件编程的实现。在ICL7135进行A/D转换结束后输出的/STRB负脉冲引起AT89S52中断。同时在第一个/STB负脉冲时由软件将P1.7口置0,因而使S=0,使74LS157的Y(1Y,2Y,3Y,4Y)=A(4A,3A,2A,1A)。AT89S52读P1.0P1.3口便读得BCD码,此时D5=1。此后, D4,D3,D2,D1轮流为“1”,即可读得千位、百位、十位和个位的BCD码。前端信号处理电路设计如下图:如图3-4信号数模转换图ICL7135的输出时序图:如图3-5输出时序图在A/D转换结束后立即更新输出锁存器并不断地扫描输出BCD码。在A/D转换期间BUSY为低电平,转换完毕后BUSY变为高电平。A/D转换结束后立刻顺序并连续不断地输出位驱动信号D5、D4、D3、D2、D1(均为正脉冲)。当D5为高电平时,B8、B4、B2、B1是万位BCD码。同样当D4为高电平时,B8、B4、B2、B1是千位BCD码。同理D3、D2、D1为正脉冲时各对应百、十、个位的BCD码。在A/D转换完毕后,还连续输出5个/STB负脉冲,它们分别位于D5、D4、D3、D2、D1正脉冲的中间,脉冲宽度为T/2。在设计时,还考虑过使用另一种接口电路,它巧妙地运用了ICL7135 地“Busy”端功能,只要一个I/O口和单片机内部的一个定时器就可把ICL7135的数据送人单片机,可以节省大量的单片机资源,减小系统的体积。原理如下:“Busy”输出端(ICL7135的21脚)高电平的宽度等于积分和反积分时间之和。ICL7135内部规定积分时间固定为10001个时钟脉冲时间,反积分时间长度与被测电压的大小成比例。如果利用单片机内部的计数器对ICL7135的时钟脉冲计数,利用Busy作为计数器门控信号,控制计数器只要在Busy为高电平时计数,将这段Busy高电平时间内计数器计的内容减去10001,其余数等于被测电压的数值。3.3人机交互界面模块设计3.3.1键盘输入控制电路如表3-2 ZLG7289引脚说明引 脚 号名 称说 明1,2VDD正电源3,5NC悬空4VSS接地6/CS片选输入端此引脚为低电平时可向芯片发送指令及读取键盘数据7CLK同步时钟输入端向芯片发送数据及读取键盘数据时此引脚电平上升沿表示数据有效8DATA串行数据输入/输出端当芯片接收指令时此引脚为输入端当读取键盘数据时此引脚在读指令最后一个时钟的下降沿变为输出端9/KEY按键有效输出端平时为高电平当检测到有效按键时此引脚变为低电平1016SGSA段g段a 驱动输出17DP小数点驱动输出1825DIG0DIG7数字0 数字7 驱动输出26OSC2振荡器输出端27OSC1振荡器输入端28/RESET复位端低电平有效SPI串行接口工作方式介绍:ZLG7289 采用串行方式与微处理器通讯,串行数据从DATA 引脚送入芯片,并由CLK 端同步。当片选信号变为低电平后,DATA 引脚上的数据在CLK 引脚的上升沿被写入ZLG7289 的缓冲寄存器。ZLG7289 的指令结构有三种类型:1、不带数据的纯指令,指令的宽度为8 个BIT 即微处理器需发送8个CLK 脉冲;如图3-6 纯指令时序图2、带有数据的指令宽度为16 个BIT 即微处理器需发送16 个CLK 脉冲;如图3-7 带数据指令时序图3、读取键盘数据指令宽度为16个BIT,前8个为微处理器发送到ZLG7289的指令,后8 个BIT为ZLG7289返回的键盘代码,执行此指令时ZLG7289的DATA端在第9个CLK 脉冲的上升沿变为输出状态并与第16个脉冲的下降沿恢复为输入状态,等待接收下一个指令。下图为电路图:图3-9 键盘接口图图中P1.5口接/CS;P1.6口接CLK;P1.0口接DIO;P3.2口接/KEY,利用中断0通知AT89S52读数。键盘控制芯片ZLG7289 控制键盘的扫描,当监测到有键按下后ZLG7289 的9脚便产生一个低电平通知单片机,单片机可以采用查询或者中断方式将数据通过P3.0口以串行方式读入。因为查询方式会浪费大量的时间,所以本系统采用的是中断方式。2、 参数选择参考如下8只下拉电阻和8 只键盘连接位选线DIG0DIG7 的8 只位选电阻应遵从一定的比例关系,下拉电阻应大于位选电阻的5 倍而小于其50 倍,典型值为10 倍,下拉电阻的取值范围是10K100K, 位选电阻的取值范围是1K10K。所以取上拉电阻为10K,下拉电阻为100K。ZLG7289需要一外接晶体振荡电路供系统工作,其典型值分别为F=16MHz C=15pF。实际使用时取F=12MHz,C=15pF。3.3.2LCD显示电路OCM4x8C是具有串/并接口,其内部含有中文字库的图形点阵液晶显示模块。该模块的控制/驱动器采用台湾矽创电子公司的ST7920,因而具有较强的控制显示功能。OCM4x8C的液晶显示屏为12864点阵,可显示4行、每行8个汉字。为了便于简单、方便地显示汉字,该模块具2Mb的中文字型CGROM,该字型ROM中含有8192个1616点阵中文字库;同时,为了便于英文和其它常用字符的显示,具有16Kb的168点阵的ASCII字符库;为便于构造用户图形,提供了一个64256点阵的GDRAM绘图区域,且为了便于构造用户所需字型,提供了4组1616点阵的造字空间。利用上述功能,OCM4x8C可实现汉字、ASCII码、点阵图形、自造字体的同屏显示。为便于和多种微处理器、单片机接口,模块提供了4位并行、8位并行、2线串行、3线串行多种接口方式。该模块具有2.7V5.5V的宽工作电压范围,且具有睡眠、正常及低功耗工作模式,可满足系统各种工作电压及便携式仪器低功耗的要求。液晶模块显示负电压,也由模块提供,从而简化了系统电源设计。模块同时还提供LED背光显示功能。除此之外,模块还提供了画面清除、游标显示/隐藏、游标归位、显示打开/关闭、显示字符闪烁、游标移位、显示移位、垂直画面旋转、反白显示、液晶睡眠/唤醒、关闭显示等操作指令。如表3-3引脚功能说明引 脚 号名 称说 明1VSSGND(0V)2VDD逻辑电源(+5V)3V0LCD电源(悬空)4RS(CS)H:数据,L:指令5R/W(SID)H:读,L:写6E(SCLK)使能7DB0数据08DB1数据19DB2数据210DB3数据311DB4数据412DB5数据513DB6数据614DB7数据715PSBH:并行,L:串行16NC空脚17RST复位(低电平有效)18NC空脚19LEDA背光源正极(LED+5V)20LEDK背光源负极(LED-0V)电路图中PSB接低电平,进入串行接口模式;串行数据线SID接P3.1口;串行时钟线SCLK接P1.6;RS固定接高电平。此为典型二线串行模式。字符显示RAM地址与字符显示位置关系:如表3-4 RAM地址与字符显示位置关系80H81H82H83H84H85H86H87H90H91H92H93H94H95H96H97H88H89H8AH8BH8CH8DH8EH8FH98H99H9AH9BH9CH9DH9EH9FH2/3线串行接口方式:当模块的PSB脚接低电平时,模块即进入串行接口模式。串行模式使用串行数据线SID与串行时钟线SCLK来传送数据,即构成2线串行模式。OCM4x8C还允许同时接入多个液晶显示模块以完成多路信息显示功能。此时,要利用片选端“CS”构成3线串行接口方式,当“CS”接高电位时,模块可正常接收并显示数据,否则模块显示将被禁止。通常情况下,当系统仅使用一个液晶显示模块时,“CS”可连接固定的高电平。模块2线串行工作操作时序如下图所示:如图3-10 2线串行时序图由图3.12可以看出,单片机与液晶模块之间传送1字节的数据共需24个时钟脉冲。首先,单片机要给出数据传输起始位,这里是以5个连续的“1”作数据起始位,如模块接收到连续的5个“1”,则内部传输被重置并且串行传输将被同步。紧接着,“RW”位用于选择数据的传输方向(读或写),“RS”位用于选择内部数据寄存器或指令寄存器,最后的第8位固定为“0”。在接收到起始位及“RW”和“RW”的第1个字节后,下一个字节的数据或指令将被分为2个字节来串行传送或接收。数据或指令的高4位,被放在第2个字节串行数据的高4位,其低4位则置为“0”;数据或指令的低4位被放在第3个字节的高4位,其低4位也置为“0”,如此完成一个字节指令或数据的传送。需要注意的是,当有多个数据或指令要传送时,必须要等到一个指令完成执行完毕后再传送下一个指令或数据,否则,会造成指令或数据的丢失。这是因为液晶模块内部没有发送/接收缓冲区。3.4报警电路的设计下图为系统报警电路原理图,用于超载和欠量程提示。系统设计了两个发光二极管作为超载和欠量程指示灯,使系统更加完善。当系统判断为超载或欠量程时,ICL7135给输出一个高电平信号OR(超载)或UR(欠量程),经非门后形成低电平从而驱动发光二极管发光提示。如图3-11 报警电路原理图4.1 软件流程图及程序设计为了方便程序调试和提高可靠性,程序设计采用自上而下、模块化、结构化的程序设计方法,把总的编程过程逐步细分,分解成一个个功能模块,每个功能模块相互独立,每个模块都能完成一个明确的任务,实现某个具体的功能。本设计按任务模块划分的程序主要有初始化程序、主程序, A/D转换子程序、显示子程序、键盘处理子程序。4.1.1初始化程序设计流程图单片机系统上电后,进入初始化程序,完成单片机片内各模块的设置和A/D转换器的功能设置初始化,然后进入主程序。如图 4-1初始化程序设计流程图4.1.2 主程序设计流程图单片机完成初始化程序后进入主程序,主程序主要完成对存储参数的读取,对检测到的数据进行数据处理,键处理,显示处理等。如图4-2主程序设计流程图4.2主程序设计及其相关程序设计4.2.1主程序设计uint max_weight;/最大称量uchar dsel;/分度值uchar dp;/小数点float beilv;/倍率ulong zero_save;/传感器零位值bdf;uint code num_ten4=1,10,100,1000;uchar code adcount24=2,4,5;/数据处理进平均次数uchar code tab_dsel4=1,2,5,10;/分度值表/0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9uchar code tab=0xB7,0x03,0xD6,0xC7,0x63,0xE5,0xF5,0x83,0xF7,0xE7,/A , b , C , d , E , F , 暗, - , t , P0xF3,0x75,0xB4,0x57,0xF4,0xF0,0x00,0x40,0x74,0xF2,/H , L , o , J , r , n , U, =, - i0x73,0x34,0x55,0x07,0x50,0x51,0x37,0x44,0x04,0x01;/显示位码表/0, 1, 2, 3, 4, 5, 6uchar code digit=0xfe,0xdf,0xef,0xfd,0xfb,0xbf,0xF7;/显示位码表sbit P_OE =P21;/显示控制sbit P_LE =P20;sbit buz0 =P36;/蜂鸣器sbit buz1 =P37;/*/bit b_follow;/启动零位跟踪标记bit b_serial;/串口发送完标记bit b_followdelay;/第一次不进行零位跟踪bit b_steady;/稳定标记/*/void (* data task)(void);/函数指针变量,接受下一步要做的任务uint idata fendushu;/分度数uchar weight_led6 ;/重量窗显示缓存uchar idata temp_var;uchar weight_dp;/小数点位数uchar fu_number;/负号显示位置uchar wdcount;/稳定计数uchar adup_count;/异常值计数uchar addcount3;/累加次数/*/extern void key_scan(void);/按键扫描extern void weight_disp(void);/重量计算,超载报警extern void start_set(void);/单片机初始化设置extern void adc (void);/读取AD值extern void ad_processor(void);/AD数据滤波处理extern void fun_weight(void);/正常称重状态extern void bd_start(void);/重量或电压标定选择extern void dy_disp(void);/电压显示extern void led_disp(ulong temp,uchar num);extern uchar get_jiaoyan(uchar *address,uchar num);/计算校验字extern void neima(void);void delay60ms(uchar time);/40ms延时void fendu_val(void);/分度数运算void check_canshu(void);/读参数,并校验是否正确void ver_disp(void);/显示版本号void seg_check(void);/笔画检测/*/void main (void)start_set(); /单片机初始化beep_time=3; /开机鸣叫flash_num=6; /没有闪烁位spi_sys(); /ad芯片初始化check_canshu(); /读参数,并校验是否正确if(bdf.shuduval2) /若是异常值,用默认值bdf.shuduval=1;addcount3=4;bdf_dp_temp=bdf.dp; /保存小数点(标定修改参数时用)bdf_dsel_temp=bdf.dsel;/保存分度值(标定修改参数时用)key_scan(); /标定按键扫描switch(key_temp) /功能键处理函数case 0xc0:b_biaoding=1;task=bd_start ; break;/default:bdf.dp=0;ver_disp();/显示版本号seg_check();/笔画检测fendu_val();/分度数运算zero_current=ad_steady;/保存当前零位值task=fun_weight;break;do /主循环程序adc(); /A/D采样ad_processor();/数据处理zero_follow(); /零位跟踪程序neima(); /内码计算weight_disp(); /重量显示key_scan(); /按键扫描(* task)(); /任务切换函数while(1);/*/void fendu_val(void)/分度数运算 uchar i;ulong temp;temp=(ulong)bdf.max_weight*num_tenbdf_dp_temp;fendushu=temp/bdf.dsel;i=fendushu/3000;if (i=0)i=1;half_sel_bound=5/bdf.beilv;/半个分度的原始码follow_bound=i*half_sel_bound;/计算零位跟踪时的原始码,按3000分度time_weight=200;/*/void ver_disp(void)/显示版本号及最大量程weight_led0=7;/ 7weight_led1=1;/ 1weight_led2=2;/ 2weight_led3=17;/ -weight_led4=0;/ 0weight_led5=5;/ 5fun_led=0xff;delay60ms(15);/40ms延时beep_time=3;led_disp(bdf.max_weight,5);/显示最大量程weight_led0=15;/ Fdelay60ms(20);/40ms延时4.2.2 信号采样与A/D转换子程序的设计如图4-3信号采样与A/D转换子程序的设计extern uchar code adcount23;extern bit bAd;/已产生AD值extern bit b_warnled;extern bit b_steady;extern bit b_up_last;extern uchar adup_count;extern ulong idata ad_steady;/AD数据处理后的稳定值extern uchar add_count;/AD累加计数器extern ulong idata add_val;/AD累加值extern uchar wdcount;extern uchar adup_count;/AD异常值计数extern uchar addcount3;extern ulong idata up_val;extern ulong idata adval;/AD芯片采样
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸下载 > CAD图纸下载


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!