毕业设计(论文)-基于单片机的智能电子秤设计.pdf_第1页
毕业设计(论文)-基于单片机的智能电子秤设计.pdf_第2页
毕业设计(论文)-基于单片机的智能电子秤设计.pdf_第3页
毕业设计(论文)-基于单片机的智能电子秤设计.pdf_第4页
毕业设计(论文)-基于单片机的智能电子秤设计.pdf_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

- I - 基于单片机的智能电子秤设计基于单片机的智能电子秤设计基于单片机的智能电子秤设计基于单片机的智能电子秤设计 摘摘摘摘要要要要 智能电子秤是将检测与转换技术、计算机技术、信息处理、数字技术等技术综合一 体的现代新型称重仪器。它与我们日常生活紧密结合,成为一种方便、快捷、称量精确 的工具,广泛应用于商业、工厂生产、集贸市场、超市、大型商场及零售业等公共场所 的信息显示和重量计算。 智能电子秤主要以单片机作为中心控制单元,通过称重传感器进行模数转换单元, 再配以键盘、显示电路及强大软件来组成。该电子秤不但计量准确、快速方便,更重要 的是具有自动称重、自动计价功能,还可实现去皮、净/毛转换,自动计算,数字显示功 能。智能电子称由于携带方便,使用简单,对人们生活的影响越来越大。 本系统针对电子秤的自动称重、自动计价、数据处理进行研究。为了阐明用单片机 是如何对采样数据进行处理,对数据的采集和转换、计算问题进行了研究。讨论了单片 机控制系统中关键的中断、计算问题,通过软件设计实现系统更完善。本文在给出智能 电子秤硬件设计的基础上,详细分析了电子秤的软件控制方法。单片机控制的电子秤结 构简单,成本低廉,具有广泛的应用前景。 关键词电子秤;单片机;称重传感器 哈尔滨理工大学学士学位论文 - II - BasedBasedBasedBased O O O On n n n SCMSCMSCMSCM s s s s S S S Smartmartmartmart E E E Electroniclectroniclectroniclectronic S S S Scalecalecalecale D D D Designesignesignesign AbstractAbstractAbstractAbstract 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 bigger 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.Toexpound 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, and 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 analyzed 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. KeywordsKeywordsKeywordsKeywordsIntelligence electronic weighing ;SCM ;weighingsensor ; 哈尔滨理工大学学士学位论文 - III - 目录目录目录目录 摘要.I AbstractII 第 1 章 绪论1 1.1 课题背景.1 第 2 章 智能电子秤系统的概况2 2.1 电子秤的发展史.2 2.2 智能电子秤应用范围.2 2.3 智能电子秤的研究动态.2 第 3 章 智能电子秤的工作原理3 3.1 智能电子秤性能及技术要求.3 3.2 工作原理.3 3.3 基本结构.3 第 4 章 智能电子秤的硬件设计4 4.1 信号采集电路.4 4.2 单片机控制系统.6 4.3 键盘显示接口电路.6 第 5 章 智能电子秤的软件设计8 5.1 主程序设计.8 5.1.1 主程序设计思路8 5.1.2 主程序工作原理9 5.1.3 主程序流程框图9 5.2 系统初始化.10 5.2.1AT89C52 的初始化.11 5.2.2 8279 的初始化12 5.2.3 ICL7109 的初始化12 5.3A/D 转换结果处理程序 12 5.3.1A/D 转换过程. 13 5.3.2 采样数据处理15 5.3.3 程序16 5.4 键盘与显示处理程序.18 5.4.1 程序原理19 5.4.2 键盘模块19 5.4.3 显示模块22 5.5 数据处理程序.23 5.5.1 重量输出23 5.5.2 价格计算24 5.5.3 置零26 结论1 致谢3 参考文献4 哈尔滨理工大学学士学位论文 - IV - 附录 A5 附录 B 14 哈尔滨理工大学学士学位论文 1 第第第第 1 1 1 1 章章章章 绪论绪论绪论绪论 1.11.11.11.1 课题背景课题背景课题背景课题背景 随着科学技术和经济的发展,出售商品品种的增加,需要称量物品的设备也需要更 新换代,人们对称重装置的要求也越高,电子称重装置推广,从而进入到传感器,电子 学和微处理机领域、使得称重装置变成为电子仪器。它的特点是:精确、智能、方便、 明了、可靠,克服了传统的杆秤、盘秤不精确、速度慢、不能计价、易作弊等缺点,在 商业领域应用越来越多。 称重技术的突破是微处理机的应用。称重技术的发展是由于不仅要求获得静态称重 数据,而且进一步要求称重工作的自动化,实现快速称量,以及测量各种动态参数,提 高测量精度和各种数据的及时处理。这些精度、速度、性能和功能方面的要求是传统的 机械测量系统无法满足的。也就是说、这种技术的突破是必然的结果。 电子称重装置出现于 80 年代初,随着电子元器件集成化的迅速发展,随着微处理 机,单片机的发展和计算机软件的开发,产品价格的下降、电子称重装置在技术上的优 势;多功能、高精度、操作方便等,使得不仅实验室的传统称量装置已被电子称重装置 所取代,而这种趋势已经扩展到工业和其他领域。 本系统是针对自动称重、计算价格进行了研究的。讲述了用单片机控制A/D转换、键 盘输入和数据显示,对如何实现键盘中断、A/D采样进行研究。着重讨论了数据处理问 题,结果表明利用软件实现一系列功能使得性能价格比达最优。设计特别适用于测量精 度要求较高的场合, 具有较高的实用价值和推广价值。 本课题本着电子秤向高精度、高可靠方向研究, 而且向多种功能的方向发展的思 想,主要对电子秤一些简单功能进行了研究。主要通过强大软件功能实现电子秤自诊 断、自校正、皮重、净重显示等特种功能、特殊的数据处理功能、多种计算和数据处理 功能, 以满足多种使用的要求。 今后, 随着电子高科技的飞速发展, 电子秤技术的发展定将日新月异。同时, 功能 更加齐全的高精度的先进电子秤将会不断问世, 其应用范围也会更加拓宽。 本文中第一章讲述了电子秤的发展情况,第二章讲述了电子秤的工作原理,第三章 讲述了电子秤的硬件电路组成部分。第四章详细介绍了电子秤的软件设计,及各部分功 能实现的软件设计。 哈尔滨理工大学学士学位论文 2 第第第第 2 2 2 2 章章章章 智能电子秤系统的概况智能电子秤系统的概况智能电子秤系统的概况智能电子秤系统的概况 随着自动化测量技术的不断发展,传统的称重系统在功能、精度、智能化、性价比 等方面越来越难以满足人们的需要,尤其对一些微小质量的测量更显得力不从心。为了 实现高智能化的微小质量测量,以及 商业流通领域中经常进行各种精度范围的重量测 量,传统的秤砣加秤盘模式已经很难适应现代商业零售的需要。同时商品种类的繁多和 对服务更高的要求也促使电子秤的功能进一步扩展,而成为集度量、结算于一体的商业 销售终端。 本着这些思想,本商用电子秤系统设计由传感器、A/D 转换、单片机和 LED 显示器等 组成,具有结构简单,成本低,精度高等优点。 2.12.12.12.1 电子秤的发展史电子秤的发展史电子秤的发展史电子秤的发展史 早在20世纪80年代,美国、德国等工业发达国家,就开始了数字式称重传感器和数 字称重系统的预先研究和初期开发工作,经过十余年的努力,推出了多种数字式智能称 重传感器及其称重系统,在电子称重领域备受瞩目,有力的推动了电子衡器数字化和数字 称重系统的发展。 我国数字式智能称重传感器的研究开发始于 20世纪90年代中后期,在短短几年时间 里,研制出安装在模拟式称重传感器内部的小型数字化单元,完成了模拟信号与数字信 号之间的转换,变模拟式称重传感器为数字化称重传感器,并应用于大型电子汽车衡和 电子配料秤等小型称重系统中,取得了较好的测试结果。近年来,又在数字化称重传感 器的基础上,研究与实践数字式智能化电路,数字补偿技术与数字补偿工艺,开发整体 型数字式智能称重传感器和分离型模块化数字称重传感器系统,已经取得了阶段性成 果。可以预计,很快就会在电子衡器数字化和数字称重系统中,见到国产的数字式智能 称重传感器和模块化数字式称重传感器系统。 2.22.22.22.2 智能电子秤应用范围智能电子秤应用范围智能电子秤应用范围智能电子秤应用范围 随着科学技术和经济的发展,出售商品品种的增加,需要称量物品的设备也需要更 新换代,人们对称重装置的要求也越来越高。智能电子秤正是利用它精确、智能、方 便、明了、可靠的特点,广泛应用在商业、企业、日常生活等各个领域。 2.32.32.32.3 智能电子秤的研究动态智能电子秤的研究动态智能电子秤的研究动态智能电子秤的研究动态 称重技术的突破是微处理机的应用。称重技术的这种发展是由于不仅要求获得静态 称重数据,而且进一步要求称重工作的自动化,实现快速称量,以及测量各种动态参 数,提高测量精度和各种数据的及时处理。这些精度、速度、性能和功能方面的要求是 传统的机械测量系统无法满足的。也就是说、这种技术发展中的突破是必然的结果。 哈尔滨理工大学学士学位论文 3 第第第第 3 3 3 3 章章章章 智能电子秤的工作原理智能电子秤的工作原理智能电子秤的工作原理智能电子秤的工作原理 3.13.13.13.1 智能电子秤性能及技术要求智能电子秤性能及技术要求智能电子秤性能及技术要求智能电子秤性能及技术要求 1电子称重仪表必须具有清零、去皮重净毛转换分度数设定、最大称量设 定分度值设定零中心指示、自动累计、欠电压指示等功能。 2最大秤重 10Kg 3采用 4 位半共阴(或共阳)12.5mm 红色 LED 显示,精确到小数点后 2 位数 4有自动计算价格的功能(键盘输入) 5使用电阻应变片“电桥”采样输入 3.23.23.23.2 工作原理工作原理工作原理工作原理 根据智能电子秤的性能及技术要求,选择 89C52 单片机为核心,组成称量系统。系统 主要有 89C52 单片机、A/D 转换器、键盘/显示电路、传感器、放大电路、锁存器、等组 成。 当商品放到秤盘上时,秤盘下的重量电阻应变式传感器产生一电信号,信号的强弱随 商品重量的大小而变,该电信号经放大电路放大后,送入 A/D 转换芯片进行模数转换, 转换后的数字量与物重成正比,再进入 89C52 单片机经过数据处理,89C52 单片机产生一 组满足显示要求的数据,送至显示电路显示出实际重量。另一方面,商品单价通过键盘 扫描电路送入 89C52 单片机,经过数据处理,送至显示电路显示出商品单价。物重与单 价经过运算产生总价,也在显示电路上同时显示出来。 3.33.33.33.3 基本结构基本结构基本结构基本结构 该系统采用应变片式传感器进行测量,得出模拟信号;再进行放大和模数转换,然后 送入单片机行处理。由A/D接口模块、主机接口模块、键盘与显示模块组成。 称 重 传 感 器 前 置 放 大 器 模 数 转 换 器 单 片 机 接 口 键盘 显示器 该结构共分五大部分,即信号采集部分:利用称重传感器获取外部重量信息;信号 放大部分;模数转换部分:利用 A/D 转换器把输入的模拟信号转换成数字信号以送到单 片机进行处理;单片机控制部分:单片机是中央控制系统,它接受外部送进的各种数据 和控制信息,通过运算和处理,然后送到外部以实现显示等需要;人机接口部分:人机 联系部件有键盘、显示器等,这些部件同主机电路的连接是由人机接口电路来完成的。 人机接口技术是智能仪表和操作者进行联系并得到实际应用的关键之一。 哈尔滨理工大学学士学位论文 4 第第第第 4 4 4 4 章章章章 智能电子秤的硬件设计智能电子秤的硬件设计智能电子秤的硬件设计智能电子秤的硬件设计 4.14.14.14.1 信号采集电路信号采集电路信号采集电路信号采集电路 (1)要达到设计的性能要求,传感器 1的精度起着决定性作用。本设计选用应用于 称重系统90以上的高精度电阻应变式传感器。电阻应变传感器是将被测量的力通过它 所产生的金属弹性变形转换成电阻变化的敏感元件。题目要求称重范围 10Kg ,重量误 差不大于 +0.005Kg ,考虑到秤台自重、振动和冲击分量,还要避免超重损坏传感器, 所以传感器量程必须大于额定称重即10KG。我们选择的是 L-PSIII 型传感器,量程 20Kg ,精度为0.01%,满量程时误差 0.002Kg 。可以满足本系统的精度要求。 本设计的测量电路采用最常见的桥式测量电路(见图3-1),用到的是电阻应变传感 器半桥式测量电路 2。它的两只应变片和两只电阻贴在弹性梁上,测量电阻随重力变化导 致弹性梁应变而产生的变化。电阻的变化使桥式测量电路的输出电压发生变化。即输出 电压的变化反映出重力的变化。电桥的输出电压可由下式表示: Eout= ()242 42 RR RR + + + + 4 4 3 3 2 2 1 1 R R R R R R R R Ein 上式说明电桥的输出电压 V 和四个桥臂的应变片感受的应变量的代数和成正比。 RdRa RcRb Res Bridge Ein Eout 图 3-1 桥式测量电路图 (2)压力传感器输出的电压信号为毫伏级,所以对运算放大器要求很高。 我们考 虑可以采用专用仪表放大器 INA128 此芯片内部采用差动输入,共模抑制比高,差模输入 阻抗大,增益高,精度也非常好,且外部接口简单。 放大器增益,通过 改变 Rg 的大小来改变放大器的增益。 INA128 构成的放大器及滤波电路如图 3-2 所示: 哈尔滨理工大学学士学位论文 5 RdRa RcRb Res Bridge -V 4 IN+ 3 IN- 2 OUT 6 REF 5 RG 1 RG 8 +V 7 INA128P Rg VCC VCC +12V-12V Res1 Res1 100pF 100pF 220F 220F 图 3-2 INA128 构成的放大器及滤波电路图 通过调节 Rg 的阻值来改变放大倍数。微弱信号 Vi1 和 Vi2 被分别放大后从 INA128 的第 6 脚输出。A/D 转换器 ICL7109 的输入电压变化范围是-10V+10V,传感器的输出电 压信号在 020mv 左右,因此放大器的放大倍数在 500600 左右。由于 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。 哈尔滨理工大学学士学位论文 6 P1.0/T2 1 P1.1/T2EX 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 RST 9 P3.0/RxD 10 P3.1/TxD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.5/T1 15 P3.6/WR 16 P3.7/RD 17 XTAL2 18 XTAL1 19 VSS 20 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 P2.7/A15 28 PSEN 29 ALE 30 EA/VPP 31 P0.7/AD7 32 P0.6/AD6 33 P0.5/AD5 34 P0.4/AD4 35 P0.3/AD3 36 P0.2/AD2 37 P0.1/AD1 38 P0.0/AD0 39 VCC 40 P89C52X2BN RUN/HOLD 26 GND 1 OS 24 MODE 21 STATUS 2 INHI 35 INLO 34 V- 28 INT 32 RC_ 38 RC+ 37 COM BUF 30 AZ 31 BOO 25 SEND 27 39 VRO 29 V+ 40 LBEN 18 CE/HOLD 20 36 OI 22 TEST 17 OO 23 HBEN 19 B8 9 B6 11 B7 10 B4 13 B3 14 B5 12 B2 15 BI 16 POL 3 B12 5 OR 4 B11 6 B10 7 B9 8 ICL7109 12 3.58MHz 0.15uF 0.33uF 200K 10K 1K 1uF 100pF +5V 12 12MHz 30pF 30pF VIN 1 VOUT 2 GND 3 NC 4 NC 5 NC 6 NC 7 NC 8 MC1403D +5V -5V +5V2V +5V 1uF OE 1 LE 11 D1 3 Q1 2 D2 4 Q2 5 D3 7 Q3 6 D4 8 Q4 9 D5 13 Q5 12 D6 14 Q6 15 D7 17 Q7 16 D8 18 Q8 19 VCC 20 GND 10 SN74LS373N NC NC NC 1K 10uF 8.2K100 +5V VCC A0 图 3-3 ICL7109 接口原理图 图中 MODE 端接地,7109 工作于直接输出工作方式。RUN/HOLD 接+5V,以使 7109 连 续转换。STATUS 作为中断请求信号与单片机的中断输入端相连。由于采用了 3.58MHz 的 晶振并经 58 分频,故 7109 完成一次转换所需的时间为 T=8192(脉冲周期) 58/3.58=132.72ms,即转换速率为 7.5 次/秒。7109 输出的 12 位数据及极性、过量程标志 分别由 HBEN 和 LBEN 控制,分两次送入单片机。 4.24.24.24.2 单片机控制系统单片机控制系统单片机控制系统单片机控制系统 该智能电子秤采用 ATM 公司的 AT89C52 4作为 CPU,它是一种低功耗高性能的八位 CMOS 微控制器,与 MCS-51 微控制器件兼容本设计的控制电路。以单片机 89C52 为控制中 心,负责接收数据和外接设备的信号,再处理数据,发出控制信号,以达到所需的要 求。单片机 5的 P0 口与 A/D 转换器的数据线、控制线直接相连。键盘、显示器通过 8279 与单片机相接,单片机的 P1 口与 8279 的数据口相接,键盘的行线接 8279 的 RL0RL3, SL0SL3 经 74LS138 译码输出,连接键盘的列线, SL0SL3 又由 74LS154 译码输出, 经 7407 驱动后到显示器 LED 的各个位的公共阴极。输出线 OUTB0OUTB3、OUTA0OUTA3 作为一个 8 位段选码数据输出端口,在连接 32 键以内的简单键盘时,CNTL、SHIFT 输入 端可接地。74LS07 芯片是 8279 作为 LED 数码管显示器的段选码输出端口的同相驱动芯 片,见后附录 A。 4.34.34.34.3 键盘显示接口电路键盘显示接口电路键盘显示接口电路键盘显示接口电路 本设计系统除了前面所述的四个结构外,还需要用到人机联系部件以便接收各种命 令和数据,即价格,重量的数据输入,清零、去皮重、净毛转换、分度数设定、最大 称量设定、分度值设定、零点自动跟踪、零中心指示、过载显示、自动累计、欠电压指 示等命令的输入。集成芯片 8279 就是如上所述的一种功能较完善的键盘接口电路,它还 哈尔滨理工大学学士学位论文 7 具备显示接口的功能。8279 芯片作为通用接口电路,一方面接受来自键盘的输入数据并 进行预处理,另一方面实现对显示数据的管理和对数码显示器的控制。 本系统中有 14 位 LED 显示器,44 键盘和 8279 的接口电路。图中键盘的行线接 8279 的 RL0RL3,8279 选用外部译码方式,SL0SL3 经 74LS138 译码输出,连接键盘 的列线,因显示位数比较多,所以要用到 4 线-16 线译码器 74LS154,SL0SL3 又由 74LS154 译码输出,经 7407 驱动后到显示器 LED 的各个位的公共阴极。输出线 OUTB0 OUTB3、OUTA0OUTA3 作为一个 8 位段选码数据输出端口,控制 LED 显示器每一位数码管 显示的内容,当从一位 LED 数码管向下一位切换时,由消隐输出线 BD 输出低电平, 74LS154 译码产生低电平,使 74LS138 输出全为高电平。此时,在 8 位段数据输出端口输 出下一个 LED 显示位的显示内容。74LS138 译码循环产生低电平,8 位段数据输出端口也 依次把公共阴极为低电平位的显示位中的显示内容分别显示出来,当这一过程很快显示 时,人们就会在几个 LED 中看到了显示出来的不同内容。在连接 32 键以内的简单键盘 时,CNTL、SHIFT 输入端可接地。74LS07 芯片是 8279 作为 LED 数码管显示器的段选码输 出端口的同相驱动芯片。 哈尔滨理工大学学士学位论文 8 第第第第 5 5 5 5 章章章章 智能电子秤的软件设计智能电子秤的软件设计智能电子秤的软件设计智能电子秤的软件设计 智能电子秤软件系统设计的基本思想是充分利用微机丰富的软件功能,实现称重过程 一系列要求,提高系统可靠性,使得系统性能价格比达到最优。智能电子秤作为一种实 时性要求不是很高系统,用软件代替部分硬件功能很合算。 首先,我们通过对软件进行分析,确定那些任务是由软件来完成的。在本系统中,从 软件功能来看,其包括执行软件和监控软件两类。执行软件,完成各种实质性的功能, 如采集数据,进行滤波处理,价格计算,中断处理,重量、价格的显示都利用软件来完 成,不仅使得电子秤的性能提高,以达最高性能价格比;监控软件,用来协调各模块和 操作者之间的关系,如本系统中A/D转换、键盘与显示、数据处理各模块的工作。 其次,智能电子秤系统中有着大量的数据计算,各个模块之间进行信息传递,我们必 须数据类型和结构进行规划,对系统内程序存储器、RAM、定时器/计数器和中断源的分 配。 最后,完成以上工作后我们就可以进行编程了。在编程时,画出各功能模块的程序流 程图,用合适的语言进行编写。 5.15.15.15.1 主程序设计主程序设计主程序设计主程序设计 我们采用模块程序设计技术来设计电子秤的软件系统,根据系统功能,我们将软件划分成 若干个相对独立的模块,为每一个模块设计程序流程图。软件程序的主要任务有:重量、单 价、总价等参数的显示;数据管理;数据处理;数据运算等功能。 5.1.15.1.15.1.15.1.1 主程序设计思路主程序设计思路主程序设计思路主程序设计思路 电子秤软件设计的总体思想是:根据预先编制的程序对测量进行控制,完成自动诊 断、自动清零、自动逻辑判断、自动存取数据完成重量的测试;搜集和处理测得数据,并 通过对重量的测试,按各种参数之间关系,经计算后自动求出一系列有关未知参数,如重 量、单价和总价。 监控软件采用模块技术设计,根据系统功能,将软件分为若干个功能相对独立的模 块,为每一个模块设计程序流程图。该秤功能程序模块包括:系统初始化、A/D 转换数据 处理、键盘中断处理、显示模块,数据处理模块。 图 4-1主程序监控流 系统初始化 A/D 转换模块 数据处理 显示 键盘中断 哈尔滨理工大学学士学位论文 9 5.1.25.1.25.1.25.1.2 主程序工作原理主程序工作原理主程序工作原理主程序工作原理 软件程6序包括主程序、显示程序、键盘处理程序、转换程序、数据转换处理 程序。控制器中T89C52 的 INT1 为中断请求输入线,INT0 为键盘中断服务程序。 A/D 中断服务程序完成采样数据的存储;键盘中断服务程序完成扫描,判断数字键或功能 键,若为数字将其数据送入数据缓冲区和显示缓冲区。若是功能键进入相应功能键处理程 序。键盘上有数字键 09 和五个功能键,数字键用于输入商品单价、物体重量,功能键有 去皮、清零、净/毛转换等功能、小数点。 (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 划分,堆 栈指针的设置。完成对各种功能程序段运行开关的设置,中断优先级的确定。 5.1.35.1.35.1.35.1.3 主程序流程框图主程序流程框图主程序流程框图主程序流程框图 开机后,机器自检,检查称重显示是否为零。若称重显示不为零,则显示为错误标 志,并进行微调,使之显示为零;若称重显示为零,进行整机初始化,然后启动 0.5S 延 时程序,并判断标志位是否到 0.5S;如果到了,则进行称重及数据运算处理,否则直接 将显示数据送显示缓冲区,接下来判别有无键按下,若有则进入键功能处理程序,若没 有键按下,则返回主程序。 哈尔滨理工大学学士学位论文 10 整机初始化 自诊断有错? 到 0.5S? 调清零子程序 调去皮子程序 净重 毛重 清 0.5 到标志 有按键? 键功能处理程序 数 字 键 清 零 去 皮 净 毛 转 换 数据处理、显示,输出 去皮 N 净重子程序 显示错误标志 图 4-2主程序流程 Y 标定? 调标定子程序 数据计算处理 清单甲? 调清单价子程序 置零 清 单 价 N Y Y Y N Y 上电启动 哈尔滨理工大学学士学位论文 11 5.25.25.25.2 系统初始化系统初始化系统初始化系统初始化 系统上电后,对系统进行初始化。初始化程序7主要完成对单片机内专用寄存器的设 定,单片机工作方式及端口的工作状态的规定、RAM 自检、各标志位的设置、设置栈指 针、分配内存空间、设定计数器/定时器的工作方式。 5.2.15.2.15.2.15.2.1 AT89C52AT89C52AT89C52AT89C52 的初始化的初始化的初始化的初始化 1.AT89C52 作为系统中央控制单元,是系统8程序中断,数据处理中心,也是其它各模块 纽带,对其初始化意义非常大。 (1)程序存储器的初始化 程序存储器用于存放程序、常数和表格,在执行程序时,从程序存储器中按地址依 次取指令执行。AT89C52 片内含有 8K 字节闪速可编程/擦除只读存储器。编址范围 0000H1FFFH; (2)数据存储器的初始化 AT89C52 的数据存储器有 256 字节,编址为 00HFFH,内部分工作寄存器区 (00H1FH) 、位寻址区(20H2FH) 、数据缓冲器区(30HFFH) 。 表 2RAM 地址分布 30H4FH采样值存储单元50H5FH重量存储单元 60H6FH价格存储单元70H7FH显示缓冲单元 (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 来控制的,如下所示: EAXXESET1EX1ET0EX0 其中 EA 是总开关,如果它等于 0,则所有中断都不允许,本系统中 SETBEA让它总 开。ET0,ET1 分别为定时 0,1 的中断允许,ET0、ET1 为外部中断允许,它们根据实际 程序应用来设置,利用位操作指令 SETB来实现, (2)中断响应过程 CPU 响应中断时,首先把当前指令的下一条指令(就是中断返回后将要执行的指 哈尔滨理工大学学士学位论文 12 令)的地址送入堆栈,然后根据中断标记,将相应的中断入口地址送入 PC,执行 PC 指向 所指地址程序。中断完成后,一定要执行一条 RETI 指令,执行这条后,CPU 将会把堆栈 中保存着的地址取出,送回 PC,那么程序就会从主程序的中断处继续往下执行。如图: 本课题中我们设置允许外部中断 0、中断 1,定时器 0、计数器 1 都中断允许,则 IE 是 EAXXESET1EX1ET0EX0 10001111 5.2.25.2.25.2.25.2.2 8279827982798279 的初始化的初始化的初始化的初始化 本课题中 82799是连接键盘与显示的接口芯片,在系统上电复位后,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. 5.2.35.2.35.2.35.2.3 ICL7109ICL7109ICL7109ICL7109 的初始化的初始化的初始化的初始化 本课题中让 7109 工作于直接输出方式,P1.0 口控制转换。见图 3-3 所示, RUN/HOLD 接+5V,以使 7109 连续转换。由于采用了 3.58MHZ 的晶振并经 58 分频,转 换速率为 7.5 次/秒。根据图可知数据口地址为 FEFFH; 中断服务程序入口 保护现场 中断服务 恢复现场 中断返回 哈尔滨理工大学学士学位论文 13 5.35.35.35.3 A/DA/DA/DA/D 转换结果处理程序转换结果处理程序转换结果处理程序转换结果处理程序 在智能电子秤控制系统中,除了控制单元和执行单元外,还必须有反馈环节。在反 馈环节中,最重要的就是对数据的采集10。本文以 AT89C52 单片机为核心,设计一个基 于单片机的数据采集系统,通过模拟电压形式输入系统,经双积分 A/D 转换器 ICL7109 可以采集 12 路模拟量,精度为 12 位,并经多次采样,通过滤波,取得更精确的重量 值。 5.3.15.3.15.3.15.3.1 A/DA/DA/DA/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 控制,分两次送入单片机。其转换过程如下: 哈尔滨理工大学学士学位论文 14 启动 A/D 设采样次数 开中断 建立采样标志 读 A/D 数字量 存入片内 RAM 采样次数是否到? 采样 F0 是否建立? 结束 采样值滤波 图 4-3ICL7109A/D 流程框图 Y N N Y 开始 哈尔滨理工大学学士学位论文 15 5.3.25.3.25.3.25.3.2 采样数据处理采样数据处理采样数据处理采样数据处理 (1)采样取值 我们在单片机内开辟 30H45H 单元存放采样值,工作寄存器 0 组存放中间参数,R0 为地址指针,指向拟以采样值的片内 RAM 地址;R7 存采样次数。 (2)数据滤波 本课题中,利用算术平均值法滤波可以抑制智能电子秤采样时随机干扰。其原理是 将 8 次采样值相加,然后求其平均值作为有效采样值。将 8 次采样值累加和放在 R3、 R4、R5 中,求的平均值在 R4、R5 中。 设采样次数#08H- R7 开始 设采样地址#30H-R0 读 低 字 节 存 低 字 R0 加 1 指向下一个单元地址 读 高 字 节 R71=0? 结束 图 44采样流程图 N 哈尔滨理工大学学士学位论文 16 清 A,R2,R4,R5 取下一个数据低字节-A A+R5-R5 取一个数据高字节-R4 取一个数据低字节-R5 取下一个数据高字节-A A+R4-R4 累加完? 结束 开始 R3R4R5/R7- 图 4-5滤波流程 N 5.3.35.3.35.3.35.3.3 程序程序程序程序 程序如下: (1)主程序 INT1:MOVR0 ,#30H;R0 作地址指针,指向拟以存放数据的片 RAM 的地址 MOVR7,#08H ;R7 作计数器,拟存采样次数 SETBEA ;总开中断 SETBEX1;外部中断 1 CLRF0;清采样完成标志 SJMPNEXT;采样标志未建起,仍转 NEXT ELSE:采样已完成,继续执行主程序 (2)读取采样值: ORG0013H LJMPTRANS; 外部中断 1 服务程序 哈尔滨理工大学学士学位论文 17 TRANS:MOVDPTR ,#0FFFFH MOVXA,DPTR;读低字节 MOVR0,A ;存低字 INCR0 MOVDPTR, #0FFFFH MOVXA,DPTR;读高字节 MOVR0,A;存高字节 DJNZR7,TRANS;采样次数未到,转 TRANS SJMPDONE;采样次数已到,转 DONE DONE:SETBF0 RETI (3)采样值滤波 入口条件:数据块的首址在 DPTR 中,双字节数据个数在 R7 中。 出口信息:平均在R4、R5中 影响资源:PSW、A、R2R6 堆栈需求: 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;读取一个数据的低字节 INCDPTR ADDA,R5; 累加到累加和中 MOVR5, A MOVA, B ADDCA, R4 MOVR4, A JNCDM21 INCR3 DM21:DJNZR2,DM20; 累加完全部数据 POPDPH; 恢复首址 POPDPL LJMPDV31 ;求平均值 DV31 功能:三字节二进制无符号数除以单字节二进制数 入口条件:被除数在 R3、R4、R5 中,除数在 R7 中。 哈尔滨理工大学学士学位论文 18 出口信息:OV=0 时,双字节商在 R4、R5 中,OV=1 时溢出。 影响资源:PSW、A、B、R2R7 堆栈需求: 字节 DV31:CLRC MOVA,R3 SUBBA,R7 JCDV30 SETBOV ;商溢出 RET DV30:MOVR2,#10H ;求 R3R4R5R7R4R5 DM23:CLRC MOVA, R5 RLCA MOVR5,A MOVA,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论