电子秤的设计毕业设计

更新时间:2024-04-30 11:16:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘要

摘 要

智能电子秤是将检测与转换技术、计算机技术、信息处理、数字技术等技术综合一体的现代新型称重仪器。它与我们日常生活紧密结合成为一种方便、快捷、称量精确的工具,广泛应用于商业、工厂生厂、集贸市场、超市、大型商场、及零售业等公共场所的信息显示和重量计算。

智能电子称主要以单片机作为中心控制单元,通过称重传感器进行模数转换单元,在配以键盘、显示电路及强大软件来组成。该电子称不但计量准确、快速方便,更重要的自动称重、计价功能外,还能自动计算,数字显示,受到广大用户欢迎。智能电子称由于携带方便,使用简单,对人们生活的影响越来越大。

本系统是针对是电子称的自动称重、自动计价、数据处理进行研究的。为了阐明用单片机是如何对采样数据进行处理,对数据的采集和转换、计算问题进行了研究。讨论了单片机控制系统中关键的中断、计算问题,结果表明通过软件设计实现更完善。本文在给出智能电子称硬件设计的基础上,详细分析了电子称的软件控制方法。由于单片机控制的电子称结构简单,成本低廉,深受人们的喜爱,本文将对此进行详细讨论。 关键词

电子秤;单片机;A/D转换;称重传感器

I

严正长:电子秤设计

Abstract

Intelligent electronic balance values detection and the modern new-type names of technical comprehensive one body such as conversion technical, computer technology, message handling and digital technology instrument. Its and our close combination of daily life becomes a kind of convenient, shortcut, weighing accurate tool , is applied extensively in commercial, factory raw factory , gathers trade market, supermarket and large scale market , the message of the etc. public place of retail trade shows and weight calculation.

Intelligent electronic name passes through name mainly with single flat machine as central control unit, value sensor to carry out modulus conversion unit , it is matching with keyboard , show circuit and powerful software to form. It is accurate that this electron claims to not only measure , fast convenience, more important automatic name may still realize besides heavy, valuation function to remove the peel , completely / hair turns , calculate voluntarily, figure shows , is welcomed by masses of user. Intelligent electronic name since carry convenience, it is more and more big to use the simple influence for that people live.

This system aims at is the automatic name of electronic name heavy, automatic valuation and data handling carry out research. To expound to use single flat machine , it is to how to carry out handling for sampling data , is for the collection of data and conversion and calculation problem has studied. Have discussed the suspension of the key in single flat machine control system , calculate problem , show as a result that through software design, realization is perfected more. This text is weighing the foundation of hardware design to intelligent electron , has analysed the software control method of electronic name in detail. Since the electron of single flat machine control weighs structure, is simple, cost is cheap, receive deeply people like , this text will carry out detailed discussion for this.

Keywords

Intelligence electronic weighing ; MCU; A/D converter; weighing sensor ;

II

目录

目 录

摘 要 ........................................................................................................ I Abstract .................................................................................................... II 绪论........................................................................................................... 1 1. 智能电子秤系统的概况 ....................................................................... 2 1.1 电子秤的发展史 ........................................................................... 2 1.2 智能电子秤应用范围 ................................................................. 2 1.3智能电子秤的研究动态................................................................. 2 2.智能电子秤的工作原理 ......................................................................... 4 2.1 智能电子秤性能及技术要求 ........................................................ 4 2.2 工作原理 ...................................................................................... 4 2.3 基本结构 ...................................................................................... 4 3 智能电子秤的硬件设计 ......................................................................... 5 3.1信号采集电路 ............................................................................... 5 3.2 单片机控制系统 ........................................................................... 7 3.3键盘显示接口电路 ...................................................................... 10 4 智能电子秤的软件设计 ....................................................................... 13 4.1主程序设计 ................................................................................. 13 4.1.1主程序设计思路 ................................................................. 13 4.1.2 主程序工作原理............................................................... 14 4.1.3 主程序流程框图 ................................................................ 15 4.2系统初始化 ................................................................................. 16

III

严正长:电子秤设计

4.2.1 AT89C52的初始化 .......................................................... 16 4.2.2 8279的初始化 ................................................................. 18 4.2.3 ICL7109的初始化 ........................................................... 18 4.3 A/D转换结果处理程序 ............................................................. 18 4.3.1 A/D转换过程 ................................................................... 18 4.3.2采样数据处理 ...................................................................... 19 4.4 键盘与显示处理程序 .................................................................. 19 4.4.2 键盘模块 ............................................................................ 20 4.5数据处理程序 .............................................................................. 23 4.5.1 重量输出 ............................................................................ 23 4.5.2 置零 .................................................................................. 23 5机械部分 ............................................................................................... 25 5.1设计原理...................................................................................... 25 5.2各个零部件的作用....................................................................... 27 结 论 ..................................................................................................... 28 致 谢 ..................................................................................................... 30 参考文献.................................................................................................. 31 附录一 系统主程序 ............................................................................. 32

IV

华东交通大学毕业设计

绪论

随着科学技术和经济的发展,出售商品品种的增加,需要称量物品的设备也需要更新换代,人们对称重装置的要求也越,电子称重装置推广,从而进入到传感器,电子学和微处理机领域、使得称重装置变成为电子仪器。它的特点是:精确、智能、方便、明了、可靠,克服了传统的杆秤、盘秤不精确、速度慢、不能计价、易作弊等缺点,在商业领域应用越来越多。

称重技术的突破是微处理机的应用。称重技术的这种发展是由于不仅要求获得静态称重数据,而且进一步要求称重工作的自动化,实现快速称量,以及测量各种动态参数,提高测量精度和各种数据的及时处理。这些精度、速度、性能和功能方面的要求是传统的机械测量系统无法满足的。也就是说、这种技术发展中的突破是必然的结果。

电子称重装置出现于80年代初,随着电子元器件集成化的迅速发展,随着微处理机,单片机的发展和计算机软件的开发,产品价格的下降、电子称重装置在技术上的优势;多功能、高精度、操作方便等,使得不仅实验室的传统称量装置已被电子称重装置所取代,这种趋势已经扩展到工业和其他领域。

本系统是针对自动称重、计算价格进行了研究的。讲述了用单片机控制A/D转换、键盘输入和数据显示,对如何实现键盘中断、A/D采样进行研究。着重讨论了数据处理问题,结果表明利用软件实现一系列功能使的性能价格比达最优。设计特别适用于测量精度要求较高的场合, 具有较高的实用价值和推广价值。

本课题本着电子秤向高精度、高可靠方向研究, 而且向多种功能的方向发展的思想,主要对电子秤一些简单功能进行了研究。主要通过强大软件实现多种计算和数据处理功能, 以满足多种使用的要求。

今后, 随着电子高科技的飞速发展, 电子秤技术的发展定将日新月异。同时, 功能更加齐全的高精度的先进电子秤将会不断问世, 其应用范围也会更加拓宽。

本文中第一章讲述了电子秤的发展情况,第二章讲述了电子秤的工作原理,第三章讲述了电子秤的硬件电路组成部分。第四章是本文的重点部分,详细介绍了电子秤的软件设计,及各部分功能实现的软件设计。

1

严正长:电子秤设计

1. 智能电子秤系统的概况

简单,成本随着自动化测量技术的不断发展,传统的称重系统在功能、精度、智能化、性价比等方面越来越难以满足人们的需要,尤其对一些微小质量的测量更显得力不从心。为了实现高智能化的微小质量测量,以及 商业流通领域中经常进行各种精度范围的重量测量,传统的秤砣加秤盘模式已经很难适应现代商业零售的需要。同时商品种类的繁多和对服务更高的要求也促使电子秤的功能进一步扩展,而成为集度量、结算于一体的商业销售终端。

本着这些思想,本商用电子秤系统设计由传感器、A/D转换、单片机和LED显示器等组成,具有结构低,精度高等优点。

1.1 电子秤的发展史

早在20世纪80年代,美国、德国等工业发达国家,就开始了数字式称重传感器和数字称重系统的预先研究和初期开发工作,经过十余年的努力,推出了多种数字式智能称重传感器及其称重系统,在电子称重领域备受瞩目,有力的推动了电子衡器数字化和数字称重系统的发展。

我国数字式智能称重传感器的研究开发始于 20世纪90年代中后期,在短短几年时间里,研制出安装在模拟式称重传感器内部的小型数字化单元,完成了模拟信号与数字信号之间的转换,变模拟式称重传感器为数字化称重传感器,并应用于大型电子汽车衡和电子配料秤等小型称重系统中,取得了较好的测试结果。近年来,又在数字化称重传感器的基础上,研究与实践数字式智能化电路,数字补偿技术与数字补偿工艺,开发整体型数字式智能称重传感器和分离型模块化数字称重传感器系统,已经取得了阶段性成果。可以预计,很快就会在电子衡器数字化和数字称重系统中,见到国产的数字式智能称重传感器和模块化数字式称重传感器系统。

1.2 智能电子秤应用范围

随着科学技术和经济的发展,出售商品品种的增加,需要称量物品的设备也需要更新换代,人们对称重装置的要求也越来越高。智能电子秤正是利用它精确、智能、方便、明了、可靠的特点,广泛应用在商业、企业、日常生活等各个领域。

1.3智能电子秤的研究动态

称重技术的突破是微处理机的应用。称重技术的这种发展是由于不仅要求获得静态称重数

2

华东交通大学毕业设计

据,而且进一步要求称重工作的自动化,实现快速称量,以及测量各种动态参数,提高测量精度和各种数据的及时处理。这些精度、速度、性能和功能方面的要求是传统的机械测量系统无法满足的。也就是说、这种技术发展中的突破是必然的结果。

3

严正长:电子秤设计

2.智能电子秤的工作原理

2.1 智能电子秤性能及技术要求

(1)商场自动称重装置,并显示重量,手工设置单位价格,计算显示总价。 (2) 采用4位半共阴(或共阳)LED显示。

2.2 工作原理

根据智能电子秤的性能及技术要求,选择AT89C52单片机为核心,组成称量系统。系统主要有AT89C52单片机、A/D转换器、键盘/显示电路、传感器、放大电路、锁存器、等组成。

当商品放到秤盘上时,秤盘下的重量变化产生一电信号,信号的强弱随商品重量的大小而变,该电信号经放大电路放大后,送入A/D转换芯片进行模数转换,转换后的数字量与物重成正比,再进入AT89C52单片机经过数据处理,AT89C52单片机产生一组满足显示要求的数据,送至显示电路显示出实际重量。另一方面,商品单价通过键盘扫描电路送入AT89C52单片机,经过数据处理,送至显示电路显示出商品单价。物重与单价经过运算产生总价,也在显示电路上同时显示出来。

2.3 基本结构

该系统采用应变片式传感器进行测量,得出模拟信号;再进行放大和模数转换,然后送入单片机行处理。由A/D接口模块、主机接口模块、键盘与显示模块组成。

称重传感器 前置放大器 模数转换器 单片机 接 口 键 盘 盘 显示器

该结构共分五大部分,即信号采集部分:利用称重传感器获取外部重量信息;信号放大部分;模数转换部分:利用A/D转换器把输入的模拟信号转换成数字信号以送到单片机进行处理;单片机控制部分:单片机是中央控制系统,它接受外部送进的各种数据和控制信息,通过运算和处理,然后送到外部以实现显示等需要;人机接口部分:人机联系部件有键盘、显示器等,这些部件同主机电路的连接是由人机接口电路来完成的。人机接口技术是智能仪表和操作者进行联系并得到实际应用的关键之一。

4

华东交通大学毕业设计

3 智能电子秤的硬件设计

3.1信号采集电路

(1)本设计选用弹簧做为传感器。被测量的力通过弹簧它所产生的弹性变形来改变接入电阻的大小,从而使电路中的电流发生改变,电流的改变与所称重量称一定的正比关系。要求称重范围 10Kg ,重量误差不大于 +0.005Kg ,考虑到秤台自重、振动和冲击分量,还要避免超重损坏传感器,所以传感器量程必须大于额定称重即10KG 。

(2)压力传感器输出的电压信号为毫伏级,所以要接入放大器。我们考虑可以采

用专用仪表放大器INA128 此芯片内部采用差动输入,共模抑制比高,差模输入阻抗大,增益高,精度也非常好,且外部接口简单。 放大器增益 改变Rg的大小来改变放大器的增益。 INA128放大器如图3-1所示

,通过

图3-1放大器INA128引脚图

通过调节Rg的阻值来改变放大倍数。微弱信号从第3脚输入放大后从INA128的第6脚输出,2,5脚接地,1,7脚接5V电压。

5

严正长:电子秤设计

(3)经过放大电路的信号是模拟信号即模拟量,需要把它变成数字量才能送入单片机控制系统受理,所以需要有A/D转换电路。由对传感器量程和精度的分析可知, A/D 转换器误差应在 0.03%以下 :

8位A/D精度: 10Kg/256=39.06克 12 位 A/D 精度: 10Kg/4096=2.44g 14 位 A/D 精度: 10Kg/16384=0.61g

考虑到其他部分所带来的干扰 ,8位 A/D 无法满足系统精度要求。作为一般小商品称重需求,我们只需要选择12位的A/D转换器就可以了。 双积分型 A/D转换器具有很强的抗干扰能力。对正负对称的工频干扰信号积分为零,所以对50HZ的工频干扰抑制能力较强,对高于工频干扰(例如噪声电压)已有良好的滤波作用。只要干扰电压的平均值为零,对输出就不产生影响。尤其对本系统,缓慢变化的压力信号,很容易受到工频信号的影响。故而采用双积分型A/D转换器可大大降低对滤波电路的要求。

作为电子秤,系统对 AD的转换速度要求并不高,精度上12位的AD足以满足要求。另外双积分型A/D转换器较强的抗干扰能力,和精确的差分输入,低廉的价格。综合的分析其优点和缺点,我们最终选择了ICL7109。ICL7109输出12位二进制码,且与微处理器有较好的兼容性,可与AT89C52直接相连,接口原理图见图3-2。

6

华东交通大学毕业设计

图3-2AT89C52与IC7109的连接

A/D转换器ICL7109的输入电压变化范围是-10V~+10V,传感器的输出电压信号在0~20mv左右,因此放大器的放大倍数在500~600左右。由于 ICL7109对高频干扰不敏感,所以滤波电路主要针对工频及其低次谐波引入的干扰。因为压力信号变化十分缓慢,所以滤波电路可以把频率做得很低。ICL7109 主要有如下特性:(1)高精度(精确到 1/212=1/4096);(2) 低噪声(典型值为 15μVP-P);(3)低漂移(<1μV/℃);(4)高输入阻抗(典型值 1012?);(5)低功耗 (<20mW);(6)转换速度最快达 30 次/秒,当采用 3.58MHz 晶振作振源时,速度为 7.5 次/秒;(7)片内带有振荡器,外部可接晶振或RC 电路以组成不同频率的时钟电路;(8)12 位二进制输出,同时还有一位极性位和一位溢出位输出;(9)输出与 TTL 兼容,以字节方式(分高低字节)三 态输出,并且具有 VART 挂钩方式,可以用简单的并行或串行口接到微处理系统;(10)可用 RVNHOLD(运行/保持)和 STATUS(状态)信号监视 和控制转换定时;(11)所有输入端都有抗静电保护电路。

本系统采用直接接口方式,7109 的 MODE 端接地,使 7109 工作于直接输出方式。振荡器选择端(即OS 端,24 脚)接地,则 7109 的时钟振荡器以晶体振荡器工作。由传感器传来的微弱信号经放大器放大后为 0~5V,这时噪声的影响不是主要的,可把积分电容 CINT选大一些,使 CINT=2CAZ,选 CINT= 0.33μF,CAZ=0.15μF,通常 CINT 和 CAZ 可在 0.1μF 至 1μF 间选择。积分电阻 RINT 等于满度电压时对应 的电阻值(当电流为 20μA、输入电压=4.096V 时,RINT=200k?),此时基准电压 V+RI 和 V-RI 之间为 2V,由电阻 R1、R3 和电位器 R2 分压取得。本电路中,CE/LOAD 引脚接地,使芯片一直处于有效状态。RUN/HOLD(运行/保持)引脚接+5V,使A/D 转换连续进行。

A/D 转换正在进行时,STATUS 引脚输出高电平,STATUS 引脚降为低电平时,由 P2.6 输出低电平信号到 ICL7109 的 HBEN,读高 4 位数 据、极性和溢出位;由 P2.7 输出低电平信号到 LBEN,读低 8 位数据。本系统中尽管 CE/LOAD 接地,RUN/HOLD 接+5V,A/D 转换连续进 行,然而如果 89C52 不查询 P1.0引脚,那么就不会给出 HBEN、LBEN 信号,A/D 转换的结果不会出现在数据总线 D0~D7 上。不需要采集数据 时,不会影响 89C52 的工作,因此这种方法可简化设计,节省硬件和软件。STATUS作为中断请求信号与单片机的中断输入端相连。由于采用了3.58MHz的晶振并经58分频,故7109完成一次转换所需的时间为T=8192(脉冲周期)×58/3.58=132.72ms,即转换速率为7.5次/秒。7109输出的12位数据及极性、过量程标志分别由HBEN和LBEN控制,分两次送入单片机。

3.2 单片机控制系统

该智能电子秤采用ATM公司的AT89C52作为CPU,它是一种低功耗高性能的八位CMOS微控制器,与MCS-51微控制器件兼容本设计的控制电路。以单片机89C52为控制中心,负责接收数据和外接设备的信号,再处理数据,发出控制信号,以达到所需的要求。89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用

7

严正长:电子秤设计

INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于80C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。80C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。

89C52单片机的引脚功能

本系统控制电路所采用的单片机是89C52,它是40引脚,DPI封装的集成电路芯片。随着半导体工艺的成熟和生产的工业化,使它的价格越来越低,是经济型系统首选机型。89C52具有丰富的I/O接口,内置定时计数器和中断系统。各引脚分布和功能如下: 1.主电源引脚

单片机能够工作,需要电能,就少不了通过一个引脚给单片机提供电源。单片机使用的是+5V电源,在本系统中,有专门的辅助电源,产生+5V电压,从40脚VCC接入,一般要接+5V电源,加引脚是一个接地引脚。 2.外接晶体振荡器的引脚

单片机是一种时序电路,只有在提供脉冲信号的作用下,才能正常工作。因为不同用户对单片机的速度要求的不一样,因此在单片机的内部,并没有集成晶体振荡器,而由用户根据具体的控制情况和要求选择外接。但外接的晶体振荡器的振荡信号,还不足以驱动单片机内部的时钟电路,因此,在89C52的内部,都设计一个高增益的放大器将外接的晶体振荡器产生的信号放大。在原理图的18和19引脚,X1和X2就分别是放大器的输出和输入端。在本系统中,我们选用单片机的振荡周期为12MHZ。所以,采用外接12MHz晶体振荡器,同时外加30PF电容,构成时钟振荡。 3.I/O口第一功能

89C52有强大的I/O接口分别是P0.0-P0.7,Pl.0-P1.7,P2.0-P2.7,P3.0-P3.7,一共有32个引脚,这32个引脚都可以作为输入/输出用,这32个引脚,就构成了89C52的4个并行I/O接口,完成数据的传送和控制。 4.控制信号引脚:

ALE:地址锁存允许输出信号。ALE信号是以晶体振荡频率的六分之一的固定频度周期性出现的正脉冲信号。每出现一次,就意味着CPU要进行一次从程序存储器取指令字节的操作。即使不访问外部存储器,也会在ALE引脚上以同样的频率了出现正脉冲。因此可以将这个正脉冲作为外部时钟或外部定脉冲使用。RST:复位信号,用于单片机的初始化操作。EA:内部和外部程序存储器的访问控制信号。当EA为高电平时,既可访问片内程序存储器,也可访问外部的程序存储器。这就取决于PC值的大小。若PC值在内部程序存储器的容量范围内,就访问内部的程序存储器。所以当EA为高平时,如果地址小于8K(89C52内部有8K的程序存储器),访问内部程序存储器。本系统的程序大约占2K的程序存储器,所以没有扩展外部程序存储器,故EA接为+5V高电平。 5.I/O口第二功能

由于工艺及标准化等原因,芯片的引脚数目是有限的。MCS-52系列把芯片引脚数目

8

华东交通大学毕业设计

定为40个,但单片机为实现其功能所需要的信号数目却远远超过这个数,为解决这个矛盾,当引脚数量有限时,唯一可行的办法,即给其中的一些信号引脚赋以双重功能。对于同一系列中各种型号的单片机,其引脚的基本功能是相同的,所不同的是引脚的第二功能。有的引脚的第二功能比它的第一功能还有用,有时可以不利用它的基本功能,但是不能没有它的第二功能,缺少了它的第二功能,单片机甚至不能工作。P0~P3口的基本功能都是作为通用的双向I/O口,它们的第二功能分别如下: P0口:该压力水罐智能供水系统仅用内部存储器时,所以仅使用P2口的通用I/O口的功能。

Pl口:P1口只能作为通用的I/O口使用。P2口:该压力水罐智能供水系统仅用内部存储器时,所以仅使用P2口的通用I/O口的功能。

P3:在51单片机中,P3口的8引脚都具有特定的第二功能,而且都是很重 要的功能。

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 访问外部数据存储器读信号输出端

单片机各端口的第二功能完全是自动的,不需要用指令来转换。如P3.6、P3.7分别是WR、RD信号,当单片机外接RAM或有外部I/O口时,它们被用作第二功能,它们就自动充当着传输“写”或“读”信号的作用,不能作为通用I/O口时,也就是说,只要CPU执行到MOVX指令,就会有相应的信号从P3.6或P3.7送出,不需要事先用指令说明.P3口的第二功能信号都是单片机的重要控制信号.因此在实际使用时,都是按需要选用其第二功能信号,剩下的才以第一功能的身份做数据I/O口使用.

单片机的P0口与A/D转换器的数据线、控制线直接相连。键盘、显示器通过8279与单片机相接,单片机的P1口与8279的数据口相接,键盘的行线接8279的RL0—RL3, SL0—SL3经74LS138译码输出,连接键盘的列线, SL0—SL3又由74LS154译码输出到显示器LED的各个位的公共阴极。输出线OUTB0—OUTB3、OUTA0—OUTA3作为一个8位段选码数据输出端口,在连接32键以内的简单键盘时,CNTL、SHIFT输入端可接地。74ALS244芯片是8279作为LED数码管显示器的段选码输出端口的同相驱动芯片。

9

严正长:电子秤设计

图3-3AT89C52引脚接线图

3.3键盘显示接口电路

本设计系统除了前面所述的四个结构外,还需要用到人机联系部件以便接收各种命令和数据,即价格,重量的数据输入清零。集成芯片8279就是如上所述的一种功能较完善的键盘接口电路,它还具备显示接口的功能。8279芯片作为通用接口电路,一方面接受来自键盘的输入数据并进行预处理,另一方面实现对显示数据的管理和对数码显示器的控制。

本系统中有13位LED显示器,4×4键盘和8279的接口电路。图中键盘的行线接8279的RL0—RL3,8279选用外部译码方式,SL0—SL3经74LS138译码输出,连接键盘的列线,因显示位数比较多,所以要用到4线-16线译码器74LS154,SL0—SL3又由74LS154译码输出,经7407驱动后到显示器LED的各个位的公共阴极。输出线OUTB0—OUTB3、OUTA0—OUTA3作为一个8位段选码数据输出端口,控制LED显示器

10

华东交通大学毕业设计

每一位数码管显示的内容,当从一位LED数码管向下一位切换时,由消隐输出线BD输出低电平,74LS154译码产生低电平,使74LS138输出全为高电平。此时,在8位段数据输出端口输出下一个LED显示位的显示内容。74LS138译码循环产生低电平,8位段数据输出端口也依次把公共阴极为低电平位的显示位中的显示内容分别显示出来,当这一过程很快显示时,人们就会在几个LED中看到了显示出来的不同内容。在连接32键以内的简单键盘时,CNTL、SHIFT输入端可接地。74LS07芯片是8279作为LED数码管显示器的段选码输出端口的同相驱动芯片。

图3-4芯片8279的引脚接线

11

严正长:电子秤设计

图3-5译码器74LS154N与8279的连接

本设计系统除了前面所述的四个结构外,还需要用到人机联系部件以便接收各种命令和数据,即价格,重量的数据,计算显示总价。集成芯片8279就是如上所述的一种功能较完善的键盘接口电路,它还具备显示接口的功能。8279芯片作为通用接口电路,一方面接受来自键盘的输入数据并进行预处理,另一方面实现对显示数据的管理和对数码显示器的控制。

本系统中有14位LED显示器,4×4键盘和8279的接口电路。图中键盘的行线接8279的RL0—RL3,8279选用外部译码方式,SL0—SL3经74LS138译码输出,连接键盘的列线,因显示位数比较多,所以要用到4线-16线译码器74LS154,SL0—SL3又由74LS154译码输出,经7407驱动后到显示器LED的各个位的公共阴极。输出线OUTB0—OUTB3、OUTA0—OUTA3作为一个8位段选码数据输出端口,控制LED显示器每一位数码管显示的内容,当从一位LED数码管向下一位切换时,由消隐输出线BD输出低电平,74LS154译码产生低电平,使74LS138输出全为高电平。此时,在8位段数据输出端口输出下一个LED显示位的显示内容。74LS138译码循环产生低电平,8位段数据输出端口也依次把公共阴极为低电平位的显示位中的显示内容分别显示出来,当这一过程很快显示时,人们就会在几个LED中看到了显示出来的不同内容。在连接32键以内的简单键盘时,CNTL、SHIFT输入端可接地。7407芯片是8279作为LED数码管显示器的段选码输出端口的同相驱动芯片。

12

华东交通大学毕业设计

4 智能电子秤的软件设计

智能电子秤软件系统设计的基本思想是充分利用微机丰富的软件功能,实现称重过程一系列要求,提高系统可靠性,使得系统性能价格比达到最优。智能电子秤作为一种实时性要求不是很高系统,用软件代替部分硬件功能很合算。

首先,我们通过对软件进行分析,确定那些任务是由软件来完成的。在本系统中,从软件功能来看,其包括执行软件和监控软件两类。执行软件,完成各种实质性的功能,如采集数据,进行滤波处理,价格计算,中断处理,重量、价格的显示都利用软件来完成,不仅使得电子秤的性能提高,以达最高性能价格比;监控软件,用来协调各模块和操作者之间的关系,如本系统中A/D转换、键盘与显示、数据处理各模块的工作。

其次,智能电子秤系统中有着大量的数据计算,各个模块之间进行信息传递,我们必须数据类型和结构进行规划,对系统内程序存储器、RAM、定时器/计数器和中断源的分配。

最后,完成以上工作后我们就可以进行编程了。在编程时,画出各功能模块的程序流程图,用合适的语言进行编写。 4.1主程序设计

软件程序的主要任务有:重量、单价、总价等参数的显示;数据管理;数据处理;数据运算等功能。

4.1.1主程序设计思路

电子秤软件设计的总体思想是:根据预先编制的程序对测量进行控制,完成自动诊断、自动清零、自动逻辑判断、自动存取数据完成重量的测试;搜集和处理测得数据,并通过对重量的测试,按各种参数之间关系,经计算后自动求出一系列有关未知参数,如重量、单价和总价。

监控软件采用模块技术设计,根据系统功能,将软件分为若干个功能相对独立的模块,为每一个模块设计程序流程图。该秤功能程序模块包括:系统初始化、A/D转换数据处理、键盘中断处理、显示模块,数据处理模块。 系统初始化 A/D转换模块

13

严正长:电子秤设计

数据处理 显示 图 4—1 主程序监控流程图

键盘中断 4.1.2 主程序工作原理

软件程序包括主程序、显示程序、键盘处理程序、A/D转换程序、数据转换处理程序。控制器中AT89C52的INT1为A/D中断请求输入线,INT0为键盘中断服务程序。A/D中断服务程序完成采样数据的存储;键盘中断服务程序完成扫描,判断数字键或功能键,若为数字将其数据送入数据缓冲区和显示缓冲区。若是功能键进入相应功能键处理程序。键盘上有数字键0~9和五个功能键,数字键用于输入商品单价、物体重量,功能键有清零、单价/总价转换显示、删除、小数点、加、乘。 (1) AT89C52输入输出端口定义如下: P0口——A/D转换数据采集 P1口——芯片8279与单片机的接口 P2.0、P2.1——采样值高低字节的读取 P2.7 ——8279的片选端

P3口——8279与ICL7109的控制端

(2) 外部中断INT0用于A/D转换服务程序

外部中断INT0完成A/D转换中断请求,包括数据采集及处理,当采集完一次申请中断,总共采集8次。

(3) 外部中断INT1用于键盘中断服务程

单片机外部中断INT1完成对键盘显示接口功能芯片8279的按键和数据状态显示的控制,并可输入单价,各种命令处理,显示价格、重量等参数。 (4) 定时中断T0用于A/D转换中断延时

电子秤作为一种称重仪器,对所称精确度要求颇高,所以必须通过数值滤波求的有效采样值,通过定时来完成这一系列的操作。我们定时0.5S,即定时为50ms,分10次来累计结果。

(5) 定时中断T2用于键盘中断延时

T2设为定时器状态,定时时间为13ms。在中断服务中首先扫描键盘,判断有无键按下。若有,则执行键识别程序。然后返回主程序进行其他操作。 (6) 初始化程序完成所有系统设置

系统初始化程序完成对键盘接口功能芯片8279初始化设置,完成片内RAM 划分,堆栈指针的设置。完成对各种功能程序段运行开关的设置,中断优先级的确定。

14

华东交通大学毕业设计

4.1.3 主程序流程框图

开机后,机器自检,检查称重显示是否为零。若称重显示不为零,则显示为错误

标志,并进行微调,使之显示为零;若称重显示为零,进行整机初始化,然后启动0.5S延时程序,并判断标志位是否到0.5S;如果到了,则进行称重及数据运算处理,否则直接将显示数据送显示缓冲区,接下来判别有无键按下,若有则进入键功能处理程序,若没有键按下,则返回主程序。

上电启动 自诊断有 显示错误标识 整机初始化 到0.5秒? 数据计算处理

清零 调清零子程序 清0.5到标志 数据处理,显示,输出 有按键否 键功能处理程序 数字键 清零

15 严正长:电子秤设计

图4—2 主程序流程框图

4.2系统初始化

系统上电后,对系统进行初始化。初始化程序[7]主要完成对单片机内专用寄存器的设定,单片机工作方式及端口的工作状态的规定、RAM自检、各标志位的设置、设置栈指针、分配内存空间、设定计数器/定时器的工作方式。

4.2.1 AT89C52的初始化

1. AT89C52作为系统中央控制单元,是系统[8]程序中断,数据处理中心,也是其它各模块纽带,对其初始化意义非常大。 (1)程序存储器的初始化

程序存储器用于存放程序、常数和表格,在执行程序时,从程序存储器中按地址依次取指令执行。AT89C52片内含有8K字节闪速可编程/擦除只读存储器。编址范围0000H~1FFFH; (2)数据存储器的初始化

AT89C52的数据存储器有256字节,编址为00H~FFH,内部分工作寄存器区(00H~1FH)、位寻址区(20H~2FH)、数据缓冲器区(30H~FFH)。

表2 RAM地址分布

30H~4FH 60H~6FH 采样值存储单元 价格存储单元 50H~5FH 70H~7FH 重量存储单元 显示缓冲单元 (3)堆栈指针在系统初始化时指向07H单元,我们根据需要让其在RAM区开辟堆栈区MOV SP,#2FH;从30H开始 堆栈,拟议存放数据采样值与各中间参数。 2. 定时器/计数器初始化

(1) 定时器/计数器T0初始化

在程序的开始处,我们设置0.5S定时来处理采样值。所以根据实际情况,我们设T0为定时器并且定时为50ms。因定时时间够大,所以采用16位定时/计数方式工作。所以T0设定为工作方式1,非门控方式,TMOD.2=0,M1=0,M0=1,GATE=0; 方式寄存器TM TH0、TL0初值计算 由于T=(65536-X)×1=50000

得 X=15536=3CB0H 即 TH0=3CH, TL=0B0H

(2)定时器/计数器T1初始化

我们设T1为计数器,也用16位定时/计数方式工作。所以TMOD.6=1, TMOD.5=0, TMOD.4=1,非门控制方式。

16

华东交通大学毕业设计

TMOD=01010001B=51H (3)定时器/计数器T2初始化

T2作为键盘中断延时定时器。定时13ms,其初始化根据中断实际应用来设置。 3. 中断初始化

(1) 系统中中断请求源包括外部INT0和INT1中断请求,中断的允许或禁止是由 内可进行位寻址的8位中断允许寄存器IE来控制的,如下所示: E AX X E SET 1EX 1ET 0EX 0其中EA是总开关,如果它等于0,则所有中断都不允许,本系统中SETB EA 让它总开。ET0,ET1分别为定时0,1的中断允许,ET0、ET1为外部中断允许,它们根据实际程序应用来设置,利用位操作指令SETB 来实现, (2)中断响应过程

CPU响应中断时,首先把当前指令的下一条指令(就是中断返回后将要执行的指令)的地址送入堆栈,然后根据中断标记,将相应的中断入口地址送入PC,执行PC指向所指地址程序。中断完成后,一定要执行一条RETI指令,执行这条后,CPU将会把堆栈中保存着的地址取出,送回PC,那么程序就会从主程序的中断处继续往下执行。如图:

中断服务程序入口 保护现场 中断服务 恢复现场

中断返回 图4-3

本课题中我们设置允许外部中断0、中断1,定时器0、计数器1都中断允许,则IE是

17

严正长:电子秤设计

4.2.2 8279的初始化

1. 8279的 初始化

本课题中8279[9]是连接键盘与显示的接口芯片,在系统上电复位后,8279的命令/状态口地址为7FFFH,数据口地址为7FFEH,清除8279FIFO堆栈和显示RAM,设置编码扫描、输入方式、扫描频率,开外部中断。电子秤的显示是8位显示,外部译码,驱动显示。

(1) 键盘/显示器方式设置命令字

扫描计数器设定为编码方式,将键盘设置为双键互锁,显示器选取右入口显示方式,则命令字为10H。

(2)AT89C52的晶振频率f=12MHZ,则ALE线的输出频率为f/12=1MHZ,8279内部时钟频率要求100KHZ,则分频系数应取20,命令字为34H。 (3)写显示RAM命令字

设命令给出了显示RAM的地址信息,AI取1,写显示RAM地址自动加1,则命令字为90H,另外显示屏蔽消隐命令字为A0和,清除命令字取D1H.

4.2.3 ICL7109的初始化

本课题中让7109工作于直接输出方式,P1.0口控制转换。见原理图所示,RUN/HOLD接+5V,以使7109连续转换。由于采用了3.58MHZ的晶振并经58分频,转换速率为7.5次/秒。根据图可知数据口地址为FEFFH。

4.3 A/D转换结果处理程序

在智能电子秤控制系统中,除了控制单元和执行单元外,还必须有反馈环节。在反馈环节中,最重要的就是对数据的采集。本文以AT89C52单片机为核心,设计一个基于单片机的数据采集系统,通过模拟电压形式输入系统,经双积分A/D转换器ICL7109可以采集12路模拟量,精度为12位,并经多次采样,通过滤波,取得更精确的重量值。

4.3.1 A/D转换过程

智能电子秤作为称重工具,其对数据的精度要求非常高,A/D转换器位数的确定与整个测量控制系统所需测量的范围和精度有关,本设计选择双计分型A/D转ICL7109,它模拟量采集精度达到12位,在实际应用中,可以对电压信号进行直接采

18

华东交通大学毕业设计

集,为了使所采样值更精确,我们要将采样值进行数字滤波。STATUS作为中断请求信号与单片机的中断输入端相连。由于采用了3.58MHz的晶振并经58分频,故7109完成一次转换所需的时间为T=8192(脉冲周期)×58/3.58=132.72ms,即转换速率为7.5次/秒。7109输出的12位数据及极性、过量程标志分别由HBEN和LBEN控制,分两次送入单片机。

4.3.2采样数据处理

(1)采样取值

我们在单片机内开辟30H~45H单元存放采样值,工作寄存器0组存放中间参数,R0为地址指针,指向拟以采样值的片内RAM地址;R7存采样次数。 (2)数据滤波

本课题中,利用算术平均值法滤波可以抑制智能电子秤采样时随机干扰。其原理是将8次采样值相加,然后求其平均值作为有效采样值。将8次采样值累加和放在R3、R4、R5中,求的平均值在R4、R5中。

4.4 键盘与显示处理程序

我们知道键盘和显示是人与微机系统打交道的主要设备。在本系统中我们采用8279可编程键盘/显示管理接口。利用8279可实现对键盘/显示器的自动扫描,以减轻CPU负担,并具有显示稳定、程序简单、不会出现误动作等特点。 4.4.1 程序原理

(1)8279键盘、显示程序可分为四个部分

1.主程序:首先将8279初始化,对8279写入相应的命令字,使其按要求工作,然后开始 不断扫描键盘,判断是否有键按下,当没有键盘按下时则继续扫描键盘;当有键盘有键按下时就取出键值,并判断是功能键还是数字键,且转到相应的子程序处理。

2.键扫描子程序:主要判断有无键按下,利用8279的状态字节可判断FIFO RAM中已键入数据的个数或没有输入字符。当状态字节的低四位全为0时,便可判断无键按下。

3.当判断有键按下后,就转向取键值子程序。首先取出行、列号进行拼装,得到所需的键号。然后与数OAH相比较,从而判断出是功能键还是数字键。若是功能键就转到功能键处理子程序;若是数字键就调用显示子程序进行显示。

4.显示子程序。首先置显示缓冲区首址和计数长度,然后取显示数据转换为段选

19

严正长:电子秤设计

码,送到LED上显示。

4.4.2 键盘模块

(1)键盘监控程序图

如图4是一键一义键盘监控程序结构,微处理器平时周而复始扫描键盘,当发现有键按下时,首先判断是命令键还是数字键。若是数字键,则把按键读数存入存储器,并显示;若是命令键,则根据按键读数查阅转移表;以获得处理子程序的入口。子程序执行完后继续扫描键盘。

开始

图4-4 读键值中断程序框图 返回 A-﹥RAM单元 读键输入值-﹥A 读FIFORAM命令-﹥8279 (2)本系统键盘中断服务程序图

本系统中键盘控制采用中断方式实现,利用外部中断1端口来实现。采用3*4的12键,分为数字键:0~9,和2个命令键:置零、小数点。数字键和小数点键:用于输入单价; 置零:用于输入的单价错误的时候,重新输入。

当输入为字符时,执行相应的子程序。

20

华东交通大学毕业设计

开始 中断入口 按8279键值 置零键 Y 小数点? Y 数字键? 清单价、总价 建标志F=1 F不为1 存入单价整数部分 返回 存入单价小数部分 图4-5 键盘中断服务流程图

4.4.3 显示模块

操作者是从显示设备上获取微机系统的信息,因此,操作者每操作一下,显示设备上都应该有一定的反应。这说明,显示模块与操作有关,即监控程序需要调用显示模块。显示模块可以由命令键来驱动或者自动执行模块来驱动 。通常,自动执行模块调用时,只让一处调用显示模块,其他各处不得直接调用显示模块,此时要设置一个显示申请标志,当某模块需要显示时,将申请标志置位,同时设定有关显示内容,将显示模块安排在一个重复执行的循环中。

21

严正长:电子秤设计

开始 8279显示初始化 显示缓冲区首址-﹥R0 长度-﹥R7 取显示数据转换段选码 写入8279显示RAM 指向下一个显示缓冲器 R7-1-﹥R7=0? N 返回 图4-6 显示子程序程序 22

华东交通大学毕业设计

4.5数据处理程序

电子秤作为一种自动计价和称重的仪表,其系统内有着大量的数据需处理,包括

重量计算,价格计算。数据处理主要有多字节的乘法运算,二-十进制转换,十-二进制转换。

4.5.1 重量输出

本课题中,A/D转换采用ICL7109芯片,它是12位输出,重量计算要求精确到克,其输出值范围为000000000000B ~111111111111B转换为十进制数0~4096,而系统所要求输出重量范围0~10000g,所以我们进行线性参数的标度变换,

AX=(AM/NM)NX。其量化单位为10000/4096=2.44。如下:为使技术方便我们将2.44=244/100,即化为定点数来算。244=11110100B,100=01100100B采样值在R4R5中,并选用工作寄存器1组。

4.5.2 置零

(1)清零

23

严正长:电子秤设计

开始 50H-﹥R0, #00H-﹥R0 N R0+1=6F? 结束 图4-8 置零流程图

24

华东交通大学毕业设计

5机械部分

5.1设计原理

商用电子秤机械部分得设计的主要原则是:在精度要求符合的情况下,结构简单,

容易装配,价格低廉。

图5-1电子秤主视图

25

严正长:电子秤设计

图5-2电子秤俯视图

图5-3 电子秤左视图

26

本文来源:https://www.bwwdw.com/article/4vng.html

Top