智能电子秤的设计文档格式.docx

上传人:b****5 文档编号:19868970 上传时间:2023-01-11 格式:DOCX 页数:23 大小:277.90KB
下载 相关 举报
智能电子秤的设计文档格式.docx_第1页
第1页 / 共23页
智能电子秤的设计文档格式.docx_第2页
第2页 / 共23页
智能电子秤的设计文档格式.docx_第3页
第3页 / 共23页
智能电子秤的设计文档格式.docx_第4页
第4页 / 共23页
智能电子秤的设计文档格式.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

智能电子秤的设计文档格式.docx

《智能电子秤的设计文档格式.docx》由会员分享,可在线阅读,更多相关《智能电子秤的设计文档格式.docx(23页珍藏版)》请在冰豆网上搜索。

智能电子秤的设计文档格式.docx

4.3.2键盘模块14

4.3.3显示模块16

结论18

参考文献21

一、绪论

随着科学技术和经济的发展,出售商品品种的增加,需要称量物品的设备也需要更新换代,人们对称重装置的要求也越,电子称重装置推广,从而进入到传感器,电子学和微处理机领域、使得称重装置变成为电子仪器。

它的特点是:

精确、智能、方便、明了、可靠,克服了传统的杆秤、盘秤不精确、速度慢、不能计价、易作弊等缺点,在商业领域应用越来越多。

本系统是针对自动称重、计算价格进行了研究的。

讲述了用单片机控制A/D转换、键盘输入和数据显示,对如何实现键盘中断、A/D采样进行研究。

着重讨论了数据处理问题,结果表明利用软件实现一系列功能使的性能价格比达最优。

设计特别适用于测量精度要求较高的场合,具有较高的实用价值和推广价值。

二、智能电子秤的工作原理

2.1智能电子秤性能

(1)电子称重仪表必须具有清零、去皮重.净/毛转换.分度数设定、最大称量设定.分度值设定.零中心指示、自动累计、欠电压指示等功能。

(2)最大秤重10Kg

(3)采用4位半共阴(或共阳)12.5mm红色LED显示,精确到小数点后2位数,

(4)有自动计算价格的功能(键盘输入),

(5)使用电阻应变片“电桥”采样输入。

2.2工作原理

根据智能电子秤的性能及技术要求,选择89C52单片机为核心,组成称量系统。

系统主要有89C52单片机、A/D转换器、键盘/显示电路、传感器、放大电路、锁存器、等组成。

当商品放到秤盘上时,秤盘下的重量电阻应变式传感器产生一电信号,信号的强弱随商品重量的大小而变,该电信号经放大电路放大后,送入A/D转换芯片进行模数转换,转换后的数字量与物重成正比,再进入89C52单片机经过数据处理,89C52单片机产生一组满足显示要求的数据,送至显示电路显示出实际重量。

另一方面,商品单价通过键盘扫描电路送入89C52单片机,经过数据处理,送至显示电路显示出商品单价。

物重与单价经过运算产生总价,也在显示电路上同时显示出来。

2.3基本结构

该系统采用应变片式传感器进行测量,得出模拟信号;

再进行放大和模数转换,然后送入单片机行处理。

由A/D接口模块、主机接口模块、键盘与显示模块组成。

(如图2-1所示)

图2-1系统框图

信号采集部分:

利用称重传感器获取外部重量信息;

信号放大部分;

模数转换部分:

利用A/D转换器把输入的模拟信号转换成数字信号以送到单片机进行处理;

单片机控制部分:

单片机是中央控制系统,它接受外部送进的各种数据和控制信息,通过运算和处理,然后送到外部以实现显示等需要;

人机接口部分:

人机联系部件有键盘、显示器等,这些部件同主机电路的连接是由人机接口电路来完成的。

人机接口技术是智能仪表和操作者进行联系并得到实际应用的关键之一。

三、智能电子秤的硬件设计

3.1信号采集电路

(1)要达到设计的性能要求,传感器[1]的精度起着决定性作用。

本设计选用应用于称重系统90%以上的高精度电阻应变式传感器。

电阻应变传感器是将被测量的力通过它所产生的金属弹性变形转换成电阻变化的敏感元件。

题目要求称重范围10Kg,重量误差不大于+0.005Kg,考虑到秤台自重、振动和冲击分量,还要避免超重损坏传感器,所以传感器量程必须大于额定称重即10KG。

我们选择的是L-PSIII型传感器,量程20Kg,精度为0.01%,满量程时误差0.002Kg。

可以满足本系统的精度要求。

本设计的测量电路采用最常见的桥式测量电路(见图3-1),用到的是电阻应变传感器半桥式测量电路[2]。

它的两只应变片和两只电阻贴在弹性梁上,测量电阻随重力变化导致弹性梁应变而产生的变化。

电阻的变化使桥式测量电路的输出电压发生变化。

即输出电压的变化反映出重力的变化。

电桥的输出电压可由下式表示:

上式说明电桥的输出电压V和四个桥臂的应变片感受的应变量的代数和成正比。

图3-1桥式测量电路

(2)压力传感器输出的电压信号为毫伏级,所以对运算放大器要求很高。

我们考虑可以采用专用仪表放大器INA128此芯片内部采用差动输入,共模抑制比高,差模输入阻抗大,增益高,精度也非常好,且外部接口简单。

放大器增益

,通过改变Rg的大小来改变放大器的增益。

INA128构成的放大器及滤波电路如图3-2示:

图3-2INA128构成的放大器及滤波电路

通过调节Rg的阻值来改变放大倍数。

微弱信号Vi1和Vi2被分别放大后从INA128的第6脚输出。

A/D转换器ICL7109的输入电压变化范围是-10V~+10V,传感器的输出电压信号在0~20mv左右,因此放大器的放大倍数在500~600左右。

由于ICL7109对高频干扰不敏感,所以滤波电路主要针对工频及其低次谐波引入的干扰。

因为压力信号变化十分缓慢,所以滤波电路可以把频率做得很低。

(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[3]。

ICL7109输出12位二进制码,且与微处理器有较好的兼容性,可与89C52直接相连,接口原理图见图3-3。

图3-3接口原理图

图中MODE端接地,7109工作于直接输出工作方式。

RUN/HOLD接+5V,以使7109连续转换。

STATUS作为中断请求信号与单片机的中断输入端相连。

由于采用了3.58MHz的晶振并经58分频,故7109完成一次转换所需的时间为T=8192(脉冲周期)×

58/3.58=132.72ms,即转换速率为7.5次/秒。

7109输出的12位数据及极性、过量程标志分别由HBEN和LBEN控制,分两次送入单片机。

3.2单片机控制系统

该智能电子秤采用ATM公司的AT89C52[4]作为CPU,它是一种低功耗高性能的八位CMOS微控制器,与MCS-51微控制器件兼容本设计的控制电路。

以单片机89C52为控制中心,负责接收数据和外接设备的信号,再处理数据,发出控制信号,以达到所需的要求。

单片机[5]的P0口与A/D转换器的数据线、控制线直接相连。

键盘、显示器通过8279与单片机相接,单片机的P1口与8279的数据口相接,键盘的行线接8279的RL0—RL3,SL0—SL3经74LS138译码输出,连接键盘的列线,SL0—SL3又由74LS154译码输出,经7407驱动后到显示器LED的各个位的公共阴极。

输出线OUTB0—OUTB3、OUTA0—OUTA3作为一个8位段选码数据输出端口,在连接32键以内的简单键盘时,CNTL、SHIFT输入端可接地。

74LS07芯片是8279作为LED数码管显示器的段选码输出端口的同相驱动芯片。

3.3键盘显示接口电路

本设计系统除了前面所述的四个结构外,还需要用到人机联系部件以便接收各种命令和数据,即价格,重量的数据输入,清零、去皮重、净/毛转换、分度数设定、

最大称量设定、分度值设定、零点自动跟踪、零中心指示、过载显示、自动累计、欠电压指示等命令的输入。

集成芯片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输入端可接地。

四、智能电子秤的软件设计

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

智能电子秤作为一种实时性要求不是很高系统,用软件代替部分硬件功能很合算。

4.1主程序设计

电子秤软件设计的总体思想是:

根据预先编制的程序对测量进行控制,完成自动诊断、自动清零、自动逻辑判断、自动存取数据完成重量的测试;

搜集和处理测得数据,并通过对重量的测试,按各种参数之间关系,经计算后自动求出一系列有关未知参数,如重量、单价和总价。

4.1.1主程序工作原理

软件程[6]序包括主程序、显示程序、键盘处理程序、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与7109的控制端

(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

划分,堆栈指针的设置。

完成对各种功能程序段运行开关的设置,中断优先级的确定。

4.1.3主程序流程框图

开机后,机器自检,检查称重显示是否为零。

若称重显示不为零,则显示为错误标志,并进行微调,使之显示为零;

若称重显示为零,进行整机初始化,然后启动0.5S延时程序,并判断标志位是否到0.5S;

如果到了,则进行称重及数据运算处理,否则直接将显示数据送显示缓冲区,接下来判别有无键按下,若有则进入键功能处理程序,若没有键按下,则返回主程序。

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

在智能电子秤控制系统中,除了控制单元和执行单元外,还必须有反馈环节。

在反馈环节中,最重要的就是对数据的采集[10]。

本文以AT89C52单片机为核心,设计一个基于单片机的数据采集系统,通过模拟电压形式输入系统,经双积分A/D转换器ICL7109可以采集12路模拟量,精度为12位,并经多次采样,通过滤波,取得更精确的重量值。

4.2.1A/D转换过程

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

其转换过程如下4-3所示:

4.2.2程序

程序如下:

(1.)主程序

INT1:

MOVR0,#30H;

R0作地址指针,指向拟以存放数据的片RAM的地址

MOVR7,#08H;

R7作计数器,拟存采样次数

SETBEA;

总开中断

SETBEX1;

外部中断1

CLRF0;

清采样完成标志

SJMPNEXT;

采样标志未建起,仍转NEXT

ELSE:

采样已完成,继续执行主程序

(2.)读取采样值:

ORG0013H

LJMPTRANS;

外部中断1服务程序

TRANS:

MOVDPTR,#0FFFFH

MOVXA,@DPTR;

读低字节

MOV@R0,A;

存低字

INCR0

MOVDPTR,#0FFFFH

MOVXA,@DPTR;

读高字节

MOV@R0,A;

存高字节

DJNZR7,TRANS;

采样次数未到,转TRANS

SJMPDONE;

采样次数已到,转DONE

DONE:

SETBF0

RETI

(3)采样值滤波

入口条件:

数据块的首址在DPTR中,双字节数据个数在R7中。

出口信息:

平均在R4、R5中

影响资源:

PSW、A、R2~R6堆栈需求:

4字节

DPTREQU30H

MOVR7,#08H

DDM2:

MOVA,R7;

保存数据个数

MOVR2,A;

初始化数据指针

PUSHDPL;

保存首址

PUSHDPH

CLRA;

初始化累加和

MOVR3,A

MOVR4,A

MOVR5,A

DM20:

MOVXA,@DPTR;

读取一个数据的高字节

MOVB,A

INCDPTR

MOVXA,@DPTR;

读取一个数据的低字节

ADDA,R5;

累加到累加和中

MOVR5,A

MOVA,B

ADDCA,R4

MOVR4,A

JNCDM21

INCR3

DM21:

DJNZR2,DM20;

累加完全部数据

POPDPH;

恢复首址

POPDPL

LJMPDV31;

求平均值

DV31功能:

三字节二进制无符号数除以单字节二进制数

被除数在R3、R4、R5中,除数在R7中。

OV=0时,双字节商在R4、R5中,OV=1时溢出。

PSW、A、B、R2~R7堆栈需求:

2字节

DV31:

CLRC

MOVA,R3

SUBBA,R7

JCDV30

SETBOV;

商溢出

RET

DV30:

MOVR2,#10H;

求R3R4R5/R7-→R4R5

DM23:

MOVA,R5

RLCA

MOVR5,A

MOVA,R4

RLCA

MOVR4,A

MOVR3,A

MOVF0,C

CLRC

ANLC,/F0

JCDM24MOVR3,A

INCR5

DM24:

DJNZR2,DM23

MOVA,R3;

四舍五入

ADDA,R3

JCDM25

SUBBA,R7

JCDM26

DM25:

INCR5

MOVA,R5

JNZDM26

INCR4

DM26:

CLROV

RET;

商在R4R5中

4.3键盘与显示处理程序

我们知道键盘和显示是人与微机系统打交道的主要设备。

在本系统中我们采用8279可编程键盘/显示管理接口。

利用8279可实现对键盘/显示器的自动扫描,以减轻CPU负担,并具有显示稳定、程序简单、不会出现误动作等特点。

4.3.1程序原理

1.主程序:

首先将8279初始化,对8279写入相应的命令字,使其按要求工作,然后开始不断扫描键盘,判断是否有键按下,当没有键盘按下时则继续扫描键盘;

当有键盘有键按下时就取出键值,并判断是功能键还是数字键,且转到相应的子程序处理。

主程序流程图如图所示。

2.键扫描子程序:

主要判断有无键按下,利用8279的状态字节可判断FIFORAM中已键入数据的个数或没有输入字符。

当状态字节的低四位全为0时,便可判断无键按下,其程序流程图如下所示

3.当判断有键按下后,就转向取键值子程序。

首先取出行、列号进行拼装,得到所需的键号。

然后与数OAH相比较,从而判断出是功能键还是数字键。

若是功能键就转到功能键处理子程序;

若是数字键就调用显示子程序进行显示。

4.显示子程序。

首先置显示缓冲区首址和计数长度,然后取显示数据转换为段选码,送到LED上显示。

4.3.2键盘模块

本系统中键盘控制采用中断方式实现,利用外部中断1端口来实现。

采用4*4的16键,分为数字键:

0~9,和5个命令键:

去皮、置零、小数点、净/毛转换。

数字键和小数点键:

用于输入单价;

去皮键:

用于去除皮重;

清单价:

用于输入的单价错误的时候,重新输入。

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

键盘输入为一个字符时,代表一种命令。

按输入的命令字符去执行对应的处理程序。

在本程序中,A、B、C、D、E、F对应程序入口去皮、净/毛转换、价格计算、清单价、置零,标号分别为XA、XB、XC、XD、XE、XF。

设命令字符在A中,

LTB5:

MOVDPTR,#TAB5

MOVB,A

LOP5:

CLRA

MOVCA,@A+DPTR

JZLEDN

INCDPTR

CJNEA,B,LNF5

CLRA

MOVCA,@A+DPTR

MOVB,A

MOVCA,@A+DPTR

MOVDPL,A

MOVDPH,B

JMP@A,DPTR

LNF5:

SJMPLOP5

LEND:

TAB:

DB’A’

DWXA

DB‘B’

DWXB

DB’C’

DWC

DB‘D’

DWXD

DB‘E’

DWXE

DB‘F’

DWF

4.3.3显示模块

操作者是从显示设备上获取微机系统的信息,因

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

当前位置:首页 > 外语学习 > 法语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1