电子秤的设计毕业设计(5)

2019-06-11 22:03

华东交通大学毕业设计

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


电子秤的设计毕业设计(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:西南大学试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: