中文版  ENGLISH 网站地图 RSS订阅 收藏本站
关键字   
  首   页 公司简介 产品展示 解决方案 技术论坛 新闻中心 工程案例 联系我们 
产品分类
技术论坛防爆电子秤的设计原理

分享:

防爆电子秤的设计原理2021-03-17
防爆电子秤的软件设计

3.1防爆电子秤主程序设计软件程序的主要任务有:重量、单价、总价等参数的显示;数据管理;数据处理;数据运算等功能。
3.1.1主程序设计思路电子秤软件设计的总体思想是:根据预先编制的程序对测量进行控制,完成自动诊断、自动清零、自动逻辑判断、自动存取数据完成重量的测试;搜集和处理测得数据,并通过对重量的测试,按各种参数之间关系,经计算后自动求出一系列有关未知参数,如重量、单价和总价监控软件采用模块技术设计,根据系统功能,将软件分为若干个功能相对独立的模块,为每一个模块设计程序流程图。该秤功能程序模块包括:系统初始化、A/D转换数据处理、键盘中断处理、显示模块,数据处理模块。
3.1.2主程序工作原理软件程序包括主程序、显示程序、键盘处理程序、A/D转换程序、数据转换处理程序。控制器中AT89C52的INT1为A/D中断请求输入线,INT0为键盘中断服务程序。A/D中断服务程序完成采样数据的存储;键盘中断服务程序完成扫描,判断数字键或功能键,若为数字将其数据送入数据缓冲区和显示缓冲区。若是功能键进入相应功能键处理程序。键盘上有数字键0~9、00和五个功能键,数字键用于输入商品单价、物体重量,功能键有单价、清零、删除、确定、小数点。(1)AT89C52输入输出端口定义如下:P0口——A/D转换数据采集P1口——芯片8279与单片机的接口严正长:电子秤设计14P2.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划分,堆栈指针的设置。完成对各种功能程序段运行开关的设置,中断优先级的确定。

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

3.2.1 AT89C52的初始化
1. AT89C52作为系统中央控制单元,是系统[8]程序中断,数据处理中心,也是其它各模块纽带,对其初始化意义非常大。
(1)程序存储器的初始化程序存储器用于存放程序、常数和表格,在执行程序时,从程序存储器中按地址依次取指令执行。AT89C52片内含有8K字节闪速可编程/擦除只读存储器。编址范围0000H~1FFFH;
(2)数据存储器的初始化AT89C52的数据存储器有256字节,编址为00H~FFH,内部分工作寄存器区(00H~1FH)、位寻址区(20H~2FH)、数据缓冲器区(30H~FFH)。
(3)堆栈指针在系统初始化时指向07H单元,我们根据需要让其在RAM区开辟堆栈区MOVSP,#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,非门控制方式。TMOD=01010001B=51H(3)定时器/计数器T2初始化T2作为键盘中断延时定时器。定时13ms,其初始化根据中断实际应用来设置。
3.中断初始化(1)系统中中断请求源包括外部INT0和INT1中断请求,中断的允许或禁止是由内可进行位寻址的8位中断允许寄存器IE来控制的。其中EA是总开关,如果它等于0,则所有中断都不允许,本系统中SETB EA让它总开。ET0,ET1分别为定时0,1的中断允许,ET0、ET1为外部中断允许,它们根据实际程序应用来设置,利用位操作指令SETB来实现。(2)中断响应过程CPU响应中断时,首先把当前指令的下一条指令(就是中断返回后将要执行的指令)的地址送入堆栈,然后根据中断标记,将相应的中断入口地址送入PC,执行PC指向所指地址程序。中断完成后,一定要执行一条RETI指令,执行这条后,CPU将会把堆栈中保存着的地址取出,送回PC,那么程序就会从主程序的中断处继续往下执行。

3.2.2 8279的初始化1.8279的初始化本课题中8279是连接键盘与显示的接口芯片,在系统上电复位后,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.

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

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

3.3.1 A/D转换过程智能防爆电子秤作为称重工具,其对数据的精度要求非常高,A/D转换器位数的确定与整个测量控制系统所需测量的范围和精度有关,本设计选择双计分型A/D转ICL7109,它模拟量采集精度达到12位,在实际应用中,可以对电压信号进行直接采集,为了使所采样值更精确,我们要将采样值进行数字滤波。STATUS作为中断请求信号与单片机的中断输入端相连。由于采用了3.58MHz的晶振并经58分频,故7109完成一次转换所需的时间为T=8192(脉冲周期)×58/3.58=132.72ms,即转换速率为7.5次/秒。7109输出的12位数据及极性、过量程标志分别由HBEN和LBEN控制,分两次送入单片机。
3.3.2采样数据处理
(1)采样取值我们在单片机内开辟30H~45H单元存放采样值,工作寄存器0组存放中间参数,R0为地址指针,指向拟以采样值的片内RAM地址;R7存采样次数。
(2)数据滤波本课题中,利用算术平均值法滤波可以抑制智能电子秤采样时随机干扰。其原理是将8次采样值相加,然后求其平均值作为有效采样值。将8次采样值累加和放在R3、R4、R5中,求的平均值在R4、R5中。

3.4键盘与显示处理程序我们知道键盘和显示是人与微机系统打交道的主要设备。在本系统中我们采用8279可编程键盘/显示管理接口。利用8279可实现对键盘/显示器的自动扫描,以减轻CPU负担,并具有显示稳定、程序简单、不会出现误动作等特点。
3.4.1程序原理
(1)8279键盘、显示程序可分为四个部分
1.主程序:首先将8279初始化,对8279写入相应的命令字,使其按要求工作,然后开始不断扫描键盘,判断是否有键按下,当没有键盘按下时则继续扫描键盘;当有键盘有键按下时就取出键值,并判断是功能键还是数字键,且转到相应的子程序处理。
2.键扫描子程序:主要判断有无键按下,利用8279的状态字节可判断FIFO RAM中已键入数据的个数或没有输入字符。当状态字节的低四位全为0时,便可判断无键按下。
3.当判断有键按下后,就转向取键值子程序。首先取出行、列号进行拼装,得到所需的键号。然后与数OAH相比较,从而判断出是功能键还是数字键。若是功能键就转到功能键处理子程序;若是数字键就调用显示子程序进行显示。
4.显示子程序。首先置显示缓冲区首址和计数长度,然后取显示数据转换为段选码,送到LED上显示。

3.4.2键盘模块当发现有键按下时,首先判断是命令键还是数字键。若是数字键,则把按键读数存入存储器,并显示;若是命令键,则根据按键读数查阅转移表;以获得处理子程序的入口。子程序执行完后继续扫描键盘。本系统中键盘控制采用中断方式实现,利用外部中断1端口来实现。采用4*4的16键,分为数字键:0~9、00和5个命令键:置零、小数点、删除、确定、单价。数字键和小数点键:用于输入单价;删除:用于输入的单价错误的时候,重新输入;置零:清楚显示界面;单价:输入单价前使用;确定:称重时输入单价完毕后确定,即可显示总价。当输入为字符时,执行相应的子程序。

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

3.5数据处理程序电子秤作为一种自动计价和称重的仪表,其系统内有着大量的数据需处理,包括重量计算,价格计算。数据处理主要有多字节的乘法运算,二-十进制转换,十-二进制转换。
3.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组。
防爆电子秤机械部分得设计的主要原则是:在精度要求符合的情况下,结构简单,容易装配,价格低廉。当重物放在托盘上时,压力传感器弹簧产生变形,改变电路中的电流,使压力信号转变成电信号,通过单片机处理后显示到LED显示器。

4.2各个零部件的作用及工作原理
(1)螺钉:固定秤体得各个部分,安装电路控制板。
(2)弹簧导向:起固定弹簧的作用。
(3)弹簧:作为称重传感器,传递所称物体的重量。(
4)秤盘:盛放被称的物体。
(5)显示窗口:预留安装显示数码管。
(6)键盘窗口:预留安装键盘。
(7)底座支撑:支撑整个秤体。
(8)牙孔:预留装配电路控制板。
(9)秤体上盖:秤体的一部分。
(10)秤体下盖:秤体的一部分。
(11)秤体:商用电子秤得主体部分,主要包括显示部分、键盘按钮、电路控制部分等。
 
 
版权所有 © 广州市凯士称重设备工程有限公司
电话:020-34563445  传真:020-34563446
地址:广东省广州市番禺区亚运大道石岗东村石岗南路46号之1
网址:www.casgood.com    邮箱:casgood@163.com
微信公众号