电子秤的设计.doc_第1页
电子秤的设计.doc_第2页
电子秤的设计.doc_第3页
电子秤的设计.doc_第4页
电子秤的设计.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

摘要电子秤的设计摘 要智能电子秤是将检测与转换技术、计算机技术、信息处理、数字技术等现代新型技术综合为一体的称重仪器。它是一种方便、快捷、称量精确的工具,因而被广泛地运用到超市、零售业等公共场所。本设计主要研究了电子秤的自动称重、自动计价、数据处理等方面。本设计论述了仪器的工作原理,根据设计要求确定了设计方案,给出了仪器的电路设计与软件流程。在系统硬件设计方面,主要是对称重传感器、a/d转换器、单片机、键盘/开关、led显示器等电子秤组成部分的设计,绘制了电子秤具体的电路原理图。在软件设计方面,阐述了如何用单片机对采样数据进行处理,并对数据的采集和转换、计算等问题进行了研究,讨论了单片机控制系统中关键的中断、计算等问题,结果表明通过软件设计实现能更完善。机械方面,设计了电子秤的机械装配图。关键词电子秤;单片机;a/d转换;称重传感器design of electronic scaleabstractintelligent electronic scales is an integrated weighing apparatus that combine detection and conversion technology,computer technology and information processing,digital technology and other modern new technology.it is a convenient,quick,weighing precise tools,and is widely applied to the supermarket ,retail and other public places. this design mainly studies the automatic weighing,electronic scales,automatic valuation,data processing,etc. the principle of work of the instrument is discussed in this design,according to the design requirements ,we determine the design scheme,organized the circuit design of the instrument and software process. in terms of hardware design system,we mainly design the parts that combined the electronic scales such as the weighing transducer,a/d converter and single-chip microcomputer, the keyboard/switch,the led display, designed specific circuit principle diagram of the electronic scale .in the software design,we expound how to use the single chip microcomputer to process the sampling data,and studied the data collection and conversion,calculation,discussed the single chip microcomputer control system,the interruption of the key problem of computing.the result shows that software design can get more perfect results.in areas of the mechanical ,we designed the mechanical assembly drawings of the electronic scales. keywordsintelligence electronic weighing;mcu; a/d converter; weighing sensor i目录目录摘 要iabstractii绪论1第一章 电子秤系统的概况21.1电子秤的发展史21.2电子秤的应用21.3研究动态21.4本电子称的性能指标31.5电子称的工作原理3第二章 总体方案和各硬件的选定42.1 总体方案的选定42.2 各硬件的选型52.2.1 单片机的选择52.2.2 传感器的选择52.2.3放大电路的选择72.2.4 a/d转换器的选择72.2.5键盘部分72.2.6 led显示部分7第三章机械结构8第四章 系统硬件设计104.1 信号采集104.2单片机控制电路134.3键盘和显示电路154.3.1芯片图154.3.2 8279的内部结构及工作原理164.3.3 键盘电路174.3.4 显示电路17第五章 软件的设计205.1 主程序的设计205.1.1主程序设计思路205.1.2 主程序设计原理205.1.3 设计框图如下225.2 系统初始化235.2.1 at89s52初始化235.2.2 8279的初始化245.2.3 icl7019的初始化245.3 a/d转换结果处理程序245.3.1 a/d转换过程255.3.2 采样数据处理255.4 键盘与显示处理程序255.4.1 程序原理255.4.2 键盘模块265.4.3显示模块265.5 数据处理程序275.5.1 重量输出275.5.2 置零28结论29致谢30参考文献31 v华东交通大学毕业设计绪论随着科学技术和经济的发展,出售商品品种的增加,需要称量物品的设备也需要更新换代,人们对称重装置的要求也越,电子称重装置推广,从而进入到传感器,电子学和微处理机领域、使得称重装置变成为电子仪器。它的特点是:精确、智能、方便、明了、可靠,克服了传统的杆秤、盘秤不精确、速度慢、不能计价、易作弊等缺点,在商业领域应用越来越多。 称重技术的突破是微处理机的应用。称重技术的这种发展是由于不仅要求获得静态称重数据,而且进一步要求称重工作的自动化,实现快速称量,以及测量各种动态参数,提高测量精度和各种数据的及时处理。这些精度、速度、性能和功能方面的要求是传统的机械测量系统无法满足的。也就是说、这种技术发展中的突破是必然的结果。电子称重装置出现于80年代初,随着电子元器件集成化的迅速发展,随着微处理机,单片机的发展和计算机软件的开发,产品价格的下降、电子称重装置在技术上的优势;多功能、高精度、操作方便等,使得不仅实验室的传统称量装置已被电子称重装置所取代,这种趋势已经扩展到工业和其他领域。本系统是针对自动称重、计算价格进行了研究的。讲述了用单片机控制a/d转换、键盘输入和数据显示,对如何实现键盘中断、a/d采样进行研究。着重讨论了数据处理问题,结果表明利用软件实现一系列功能使的性能价格比达最优。设计特别适用于测量精度要求较高的场合, 具有较高的实用价值和推广价值。本课题本着电子秤向高精度、高可靠方向研究, 而且向多种功能的方向发展的思想,主要对电子秤一些简单功能进行了研究。主要通过强大软件实现多种计算和数据处理功能, 以满足多种使用的要求。今后, 随着电子高科技的飞速发展, 电子秤技术的发展定将日新月异。同时, 功能更加齐全的高精度的先进电子秤将会不断问世, 其应用范围也会更加拓宽。本文中第一章讲述了电子秤的发展情况,第二章讲述了电子秤的工作原理,第三章讲述了电子秤的机械结构,第四章讲述了电子秤的硬件电路组成部分,第五章是本文的重点部分,详细介绍了电子秤的软件设计,及各部分功能实现的软件设计。第一章 电子秤系统的概况简单,成本随着自动化测量技术的不断发展,传统的称重系统在功能、精度、智能化、性价比等方面越来越难以满足人们的需要,尤其对一些微小质量的测量更显得力不从心。为了实现高智能化的微小质量测量,以及 商业流通领域中经常进行各种精度范围的重量测量,传统的秤砣加秤盘模式已经很难适应现代商业零售的需要。同时商品种类的繁多和对服务更高的要求也促使电子秤的功能进一步扩展,而成为集度量、结算于一体的商业销售终端。 1.1电子秤的发展史早在20世纪80年代,美国、德国等工业发达国家,就开始了数字式称重传感器和数字称重系统的预先研究和初期开发工作,经过十余年的努力,推出了多种数字式智能称重传感器及其称重系统,在电子称重领域备受瞩目,有力的推动了电子衡器数字化和数字称重系统的发展。我国数字式智能称重传感器的研究开发始于20世纪90年代中后期,在短短几年时间里,研制出安装在模拟式称重传感器内部的小型数字化单元,完成了模拟信号与数字信号之间的转换,变模拟式称重传感器为数字化称重传感器,并应用于大型电子汽车衡和电子配料秤等小型称重系统中,取得了较好的测试结果。近年来,又在数字化称重传感器的基础上,研究与实践数字式智能化电路,数字补偿技术与数字补偿工艺,开发整体型数字式智能称重传感器和分离型模块化数字称重传感器系统,已经取得了阶段性成果。可以预计,很快就会在电子衡器数字化和数字称重系统中,见到国产的数字式智能称重传感器和模块化数字式称重传感器系统。1.2电子秤的应用随着科学技术和经济的发展,出售商品品种的增加,需要称量物品的设备也需要更新换代,人们对称重装置的要求也越来越高。智能电子秤正是利用它精确、智能、方便、明了、可靠的特点,广泛应用在商业、企业、医学、日常生活等各个领域。1.3研究动态称重技术的突破是微处理机的应用。称重技术的这种发展是由于不仅要求获得静态称重数据,而且进一步要求称重工作的自动化,实现快速称量,以及测量各种动态参数,提高测量精度和各种数据的及时处理。这些精度、速度、性能和功能方面的要求是传统的机械测量系统无法满足的。也就是说、这种技术发展中的突破是必然的结果。1.4本电子称的性能指标(1)小型商场自动称重装置,能显示重量,手工设置单位价格,计算显示总价。(2) 采用4位半共阴(或共阳)led显示;采用矩阵键盘,用于人工输入。(3) 最大秤重10kg,称重精确到0.005 kg。1.5电子称的工作原理根据电子秤的性能及技术要求,选择at89s52单片机为核心,组成称量系统。系统主要有at89s52单片机、a/d转换器、键盘/显示电路、传感器、放大电路、锁存器等组成。当商品放到秤盘上时,秤盘下的重量变化产生一电信号,信号的强弱随商品重量的大小而变,该电信号经放大电路放大后,送入a/d转换芯片进行模数转换,转换后的数字量与物重成正比,再进入at89s52单片机经过数据处理,at89s52单片机产生一组满足显示要求的数据,送至显示电路显示出实际重量。另一方面,商品单价通过键盘扫描电路送入at89s52单片机,经过数据处理,送至显示电路显示出商品单价。物重与单价经过运算产生总价,也在显示电路上同时显示出来。其基本结构图如图1.1所示。该系统采用应变片式传感器进行测量,得出模拟信号;再进行放大和模数转换,然后送入单片机行处理。由a/d接口模块、主机接口模块、键盘与显示模块组成。称重传感器前置放大器模数转换器 单片机接 口键 盘 盘显示器图1-1基本机构图该结构共分五大部分,即信号采集部分:利用称重传感器获取外部重量信息;信号放大部分;模数转换部分:利用a/d转换器把输入的模拟信号转换成数字信号以送到单片机进行处理;单片机控制部分:单片机是中央控制系统,它接受外部送进的各种数据和控制信息,通过运算和处理,然后送到外部以实现显示等需要;人机接口部分:人机联系部件有键盘、显示器等,这些部件同主机电路的连接是由人机接口电路来完成的。人机接口技术是智能仪表和操作者进行联系并得到实际应用的关键之一。第二章 总体方案和各硬件的选定2.1 总体方案的选定方案一 数码管显示:结构简图如下:图2-1数码管显示方案此方案利用数码管显示物体重量,简单可行,可以采用内部带有模数转换功能的单片机。由此设计出的电子秤系统,硬件部分简单,接口电路易于实现,并且在编程时大大减少程序量,在电路结构上只有简单的输出输入关系。缺点是:硬件部分简单,虽然可以实现电子称基本的称重功能,但是不能实现外部数据的输入,无法根据实际情况灵活地设定各种控制参数。又因为采用了具有模数转换功能的单片机,系统电路过于简单,系统硬件的扩展必受到限制,电子秤的功能过于单一,达不到设计的标准。方案二 在前一种方案的基础上进行扩展,增加一键盘输入装置,增加外界对单片机内部的数据设定,使电子称实现称重计价的功能。结构简图如下: 图2-2带有键盘输入的结构简图此方案设计的电子秤,可以实现称物计价功能,但是局限于数码管的功能,在显示时只能显示单价、购物总额等。在显示重量时,如果数码管没有足够的位数,那么称量物体重量的精度必受到限制,所以此方案需要较多的数码管接入电路中。这样在处理输入输出接口时需要另行扩展足够多的i/o接口供数码管使用,比较麻烦。方案三 前端信号处理时,选用放大、信号转换等措施,外加报警电路,尤其在显示方面采用具有字符图文显示功能的lcd显示器。这种方案不仅加强了人机交换的能力,而且满足设计要求,可以显示所称物体的相关信息等。结构简图如下:图2-3 带lcd显示的结构图目前单片机技术比较成熟,功能也比较强大,被测信号经放大整形后送入单片机,由单片机对测量信号进行处理并根据相应的数据关系译码显示出被测物体的重量。单片机控制适合于功能比较简单的控制系统,而且其具有成本低,功耗低,体积小算术运算功能强,技术成熟等优点。但其缺点是外围电路比较复杂,编程复杂。使用这种方案会给系统设计带来一定的难度。鉴于本电子称的设计并不太复杂,单片机完全能实现所需功能,以及考虑到经济和不需要显示中文,所以在具体设计时,采用第二种设计方案。2.2 各硬件的选型2.2.1 单片机的选择本设计是以单片机为主控制器的设计,可以较容易地将计算机技术和测量控制技术结合在一起,组成新型的只需要改变软件程序就可以更新换代的“智能化测量控制系统”。这种新型的智能仪表在测量过程自动化、测量结果的数据处理以及功能的多样化方面,都取得了巨大的进展。再则由于系统没有其它高标准的要求,又考虑到本设计中程序部分比较大,根据对设计方案的分析,可以选用自带eprom的单片机,由于应用程序不大,应用程序直接存储在片内,不用在外部扩展存储器,这样可简化电路。intel公司的8051和8751都可使用,在这里选用atmenl生产的at89s52单片机。与它们相比有几点优势:第一,片内存储器采用闪速存储器,使程序写入更加方便;第二,提供了更小尺寸的芯片,使整个硬件电路体积更小;第三,可以在线编程。此外价格低廉、性能比较稳定的mcpu具有8k8rom、2568ram、2个16位定时计数器、4个8位i/o接口。这些配置能够很好地实现本仪器的测量和控制要求,满足我们的需要。2.2.2 传感器的选择电子天平的首要部件是传感器,电阻应变式称重传感器因其制作方便,工艺成熟,价格便宜,精度和稳定性好,在市场上占有绝对的优势。本设计选用了市场上较为常见的rsl15微型称重传感器。其尺寸小,高度低,不锈钢材质,适用于空间有限的场合。其相关技术参数如表2-4所示,其机械机构图如图2-4所示。由于本设计的额定载荷为9.999kg,考虑到托盘重,以及各种冲击,为避免传感器超重损坏,需要选用比10kg大的传感器,于是选用了额定载荷为20kg的传感器。表2-1传感器技术参数其结构图如下所示:图2-4 传感器机构图 其相关尺寸如下:表2-2 传感器尺寸2.2.3放大电路的选择压力传感器输出的电压信号为毫伏级,所以对运算放大器要求很高。 我们可以采用专用仪表放大器ina2126, 此芯片内部采用差动输入,共模抑制比高,差模输入阻抗大,增益高,精度也非常好,且外部接口简单。其放大增益为: 通过改变rg的大小来改变放大器的增益。通过调节rg的阻值来改变放大倍数。2.2.4 a/d转换器的选择a/d转换部分在整个设计中是很关键的。按设计要求电子秤的量程为9.999kg,重量误差不能大于0.005kg。即满刻度后,只能有5g的误差,精度要求较高,为0.05%fs。按精度要求,a/d转换后,每位代表的重量不能高于s=5/9999,即s=1/2000,所以至少要选n=11位的adc(其分辨率为1/2048),由于前向通道中,传感器,信号放大以及调理电路等的精度损耗,选用的a/d至少需要比计算的高,所以需要选用至少12位的或更高精度的adc,基于成本和本设计的要求,则选用12位的adc。双积分型a/d转换器精度高,具有精确的差分输入,输入阻抗高(大于103 m),可自动调零,超量程信号,全部输出与ttl电平兼容。电子秤的输入为缓慢变化的压力信号,很容易受到工频信号的影响。而双积分a/d转换器抗干扰能力强,对正负对称的工频干扰信号积分为零,所以对50hz的工频干扰抑制能力较强,对高于工频的干扰已有良好的滤波作用。综合考虑,本设计选用双积分型a/d转换器icl7109。2.2.5键盘部分由于电子秤需要设置单价(10个数字键和1个小数点键),还具有单价、删除、清零、累加(确定)、去皮等5项功能,总共需设置16个键。键盘的扩展有使用以下方案:采用矩阵式键盘:矩阵式键盘的特点是把检测线分成两组,一组为行线,一组列线,按键放在行线和列线的交叉点上。44矩阵键盘结构的键盘接口电路中,每一个按键都通过不同的行线和列线与主机相连接。44矩阵式键盘共可以安装16个键,结合本设计的实际要求,16个按键使用44矩阵式键盘。2.2.6 led显示部分由于本设计要求的重量只精确到0.005kg,所以需要4位led,再加上单价5位,如:999.99元,以及总价6位。如9999.99元。所以总共15位。那么需要15个led数码管。第三章 机械结构电子秤机械图如下 图3-1 主视图图3-2俯视图图3-3 侧视图从上面三视图,可知本电子秤的基本结构。它主要是由四底脚,箱体下端盖,箱体,箱体上端盖,托盘等组成;另外在正前方留有孔口,预留装配led显示器和键盘,如下图所示。图3-4 前板块图本电子秤主要所用材料是钢板材,为0.8毫米,只有托盘为1毫米。在装配正前方面时,首先是将螺钉从里面向外旋入,然后把板面对应套上去,再相应地拧上螺母。第四章 系统硬件设计4.1 信号采集(1)要达到设计的性能要求,传感器的精度起着决定性作用。本设计选用专用于称重的小型压力称重传感器,即rsl15型称重传感器。本设计称重范围为10kg ,重量误差不大于 +0.005kg ,考虑到秤台自重、振动和冲击分量,还要避免超重损坏传感器,所以传感器量程必须大于额定称重10kg。所以需选用量程为20kg的。其电路原理图如下:图4-1 惠斯通电桥图其为典型的桥式电路,用到的是电阻应变传感器半桥式测量电路。它的两只应变片和两只电阻贴在弹性梁上,测量电阻随重力变化导致弹性梁应变而产生的变化。电阻的变化使桥式测量电路的输出电压发生变化。即输出电压的变化反映出重力的变化。电桥的输出电压可由下式表示: (2)压力传感器输出的电压信号为毫伏级,所以对运算放大器要求很高。本设计选用了专用放大器ina2126,此芯片采用差动输入,共模抑制比高,差模输入阻抗大,增益高,精度也非常好,且外部接口简单。其增益为g=5+,通过改变rg的大小来改变放大器的增益。电路图3.2所示,其中r1即为rg,传感器输出的信号经滤波,消除噪声,再到放大器,然后从引脚6和11输出。图4-2 放大滤波电路由于传感器有四个,所以对应需要放大四个,ina2126放大器为ina216的加成版,即相当于两个ina216,所以如图所示可以接入两个传感器的信号。具体接线如图4-2所示。(3) 经放大器放大后有四个电压信号,考虑到经济和接线问题,本设计只选用一个a/d转换器,所以就需要将这四个电压加成,再进行a/d转换。因此,本设计用到了一个反向加法器电路。由放大器放大输出的四个电压信号,分别经10 k电阻接入如图4-3所示的加法器中,再由引脚4输出。当电阻rf与其他四个电阻相同时,即也为10 k,那么由4引脚输出的电压即为输入的四个电压之和的相反数,即 u=(u1+u2+u3+u4)加法电路如下图所示 图4-3 电压加法电路(4) 经放大器输出的信号时摸拟信号,必须转换成数字信号才能送入单片机进行处理,所以需要a/d转换电路。 考虑到其他部分所带来的干扰 ,作为一般小商品称重需求,我们只需要选择12位的a/d转换器就可以了。 双积分型a/d转换器具有很强的抗干扰能力。对正负对称的工频干扰信号积分为零,所以对50hz的工频干扰抑制能力较强,对高于工频干扰(例如噪声电压)已有良好的滤波作用。只要干扰电压的平均值为零,对输出就不产生影响。尤其对本系统,缓慢变化的压力信号,很容易受到工频信号的影响。故而采用双积分型a/d转换器可大大降低对滤波电路的要求。作为电子秤,系统对ad的转换速度要求并不高,精度上12位的a/d足以满足要求。另外双积分型a/d转换器较强的抗干扰能力,和精确的差分输入,低廉的价格。综合的分析其优点和缺点,我们最终选择了icl7109。icl7109输出12位二进制码,且与微处理器有较好的兼容性,可与89s52直接相连 。其电路如下 图4-4 转换器电路图a/d转换器icl7109的输入电压变化范围是-10v+10v,传感器的输出电压信号在020mv左右,因此放大器的放大倍数在500600左右。由于icl7109对高频干扰不敏感,所以滤波电路主要针对工频及其低次谐波引入的干扰。因为压力信号变化十分缓慢,所以滤波电路可以把频率做得很低。另外icl7019需接外基准电压,如下所示: 图4-5 基准电压图转换器icl7109的36号引脚rri+接电位器,调成2基准电压。本系统采用直接接口方式,7109的mode端接地,使7109工作于直接输出方式。振荡器选择端(即os端,24脚)接地,则7109的时钟振荡器以晶体振荡器工作。由传感器传来的微弱信号经放大器放大后为05v,这时噪声的影响不是主要的,可把积分电容cint选大一些,使cint=2caz,选cint= 0.33f,caz=0.15f,通常cint和caz可在0.1f至1f间选择。积分电阻rbuf等于满度电压时对应 的电阻值(当电流为20a、输入电压=4.096v时,rbuf =200k),此时基准电压v+ri和v-ri之间为2v,由电位器r分压取得。本电路中,ce/load引脚接地,使芯片一直处于有效状态。run/hold(运行/保持)引脚接+5v,使a/d转换连续进行。a/d转换正在进行时,status引脚输出高电平,status引脚降为低电平时,由p2.1输出低电平信号到icl7109的hben,读高4位数 据、极性和溢出位;由p2.0输出低电平信号到lben,读低8位数据。本系统中ce/load接rd,run/hold接+5v,a/d转换连续进 行,然而如果89c52不查询p1.0引脚,那么就不会给出hben、lben信号,a/d转换的结果不会出现在数据总线d0d7上。不需要采集数据 时,不会影响89s52的工作,因此这种方法可简化设计,节省硬件和软件。图4-4中mode端接地,7109工作于直接输出工作方式。run/hold接+5v,以使7109连续转换。status作为中断请求信号与单片机的int0中断输入端相连。由于采用了3.58mhz的晶振并经58分频,故7109完成一次转换所需的时间为t=8192(脉冲周期)58/3.58=132.72ms,即转换速率为7.5次/秒。7109输出的12位数据及极性、过量程标志分别由hben和lben控制,分两次送入单片机。4.2单片机控制电路该智能电子秤采用atm公司的at89s52作为cpu,是一种低功耗高性能的八位cmos微控制器。at89s52具有以下标准功能: 8k字节flash,256字节ram,32位i/o口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,at89s52可降至0hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,cpu停止工作,允许ram、定时器/计数器、串口、中断继续工作。掉电保护方式下,ram内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。单片机各端口的第二功能完全是自动的,不需要用指令来转换。如p3.6、p3.7分别是wr、rd信号,当单片机外接ram或有外部i/o口时,它们被用作第二功能,它们就自动充当着传输“写”或“读”信号的作用,不能作为通用i/o口时,也就是说,只要cpu执行到movx指令,就会有相应的信号从p3.6或p3.7送出,不需要事先用指令说明.p3口的第二功能信号都是单片机的重要控制信号.因此在实际使用时,都是按需要选用其第二功能信号,剩下的才以第一功能的身份做数据i/o口使用。 图4-6 at89s52电路图单片机的p0口与a/d转换器的数据线、控制线直接相连。键盘、显示器通过8279与单片机相接,单片机的p1口与8279的数据口相接,键盘的行线接8279的rl0rl3, sl0sl3经74ls138译码输出,连接键盘的列线, sl0sl3又由74ls154译码输出到显示器led的各个位的公共阴极。输出线outb0outb3、outa0outa3作为一个8位段选码数据输出端口,在连接32键以内的简单键盘时,cntl、shift输入端可接地。74als244芯片是8279作为led数码管显示器的段选码输出端口的同相驱动芯片。单片机扩展一个8279芯片,所以需要接一个锁存器74ls373。le脚,接at89s52的psen脚,oe接地,gnd脚分别接电源,管脚q1和vcc分别接接8279的a0和vcc脚,d1-d8分别接8279的db0-db7。如下图所示。图4-7 锁存器接线图4.3键盘和显示电路4.3.1芯片图除述的四个结构外,还需要用到人机联系部件以便接收各种命令和数据,即价格,重量的数据输入清零。集成芯片8279就是如上所述的一种功。能较完善的键盘接口电路,它还具备显示接口的功能。其图如下图4-8 8279连线图8279芯片作为通用接口电路,一方面接受来自键盘的输入数据并进行预处理,另一方面实现对显示数据的管理和对数码显示器的控制。4.3.2 8279的内部结构及工作原理8279是intel公司生产的通用可编程键盘和显示器io接口部件。利用8279,可实现对键盘显示器的自动扫描,并识别键盘上闭合键的键号,不仅可以大大节省cpu对键盘显示器的操作时间,从而减轻cpu的负担,而且显示稳定,程序简单,不会出现误动作。8279主要由下列部件组成,各部件的作用以及引脚的作用如下:(1)io控制和数据缓冲器 双向的三态数据缓冲器将内部总线和外部总线db0db7,用于传送cpu和8279之间的命令,数据和状态。为片选信号。当为低电平时,cpu才选中8279读写。a0用以区分信息的特性。当a0为1时,cpu写入8279的信息为命令,cpu从8279读出的信息为8279的状态。当a0为0时,io信息都为数据。(2)控制逻辑控制与定时寄存器用以寄存键盘及显示器的工作方式,锁存操作命令,通过译码产生相应的控制信号,使8279的各个部件完成一定的控制功能。定时控制含有一些计数器,其中有一个可编程的5位计数器,对外部输入时钟信号进行分频,产生100khz的内部定时信号。外部时钟输入信号的周期不小于500ns。(3)扫描计数器扫描计数器有两种输出方式。一种为外部译码方式(也称编码方式),计数器以二进制方式计数,4位计数状态从扫描线sl0sl5输出,经外部译码器译码出16位扫描线,另一种为内部译码方式(也称译码方式),即扫描计数器的低二位经片内译码器译码后从sl0一sl5输出。(4) 键输入控制这个部件完成对键盘的自动扫描,锁存rl0rl7的键输入信息,搜索闭合键,去除键的抖动,并将键输入数据写入内部先进先出(fifo)的存储器ram。(5)fifo ram和显示缓冲器ram 8279具有8个先进先出(fifo)的键输入缓冲器,并提供16个字节的显示缓冲器ram。8279将段码写入显示缓冲器ram,8279自动对显示器扫描,将其内部显示缓冲器ram中的数据在显示器上显示出来。irq为中断请求输出线,高电平有效。当fifo ram缓冲器中存有键盘上闭合键的编码时,irq线升高,向cpu请求中断,当cpu将缓冲器中的输入键的数据全部读取时,中断请求线下降为低电平;shift、cntlstb为控制键输入线,由内部拉高电阻拉成高电平,也可由外部控制按键拉成低电平rl0rl7为反馈输入线,作为键输入线,由内部拉高电阻(或称为上拉电阻)拉成高电平,也可由键盘上按键拉成低电平。sl0sl5为扫描输出线,用于对键盘显示器扫描。outb0-5、outa0-5为显示段数据输出线,可分别作为两个半字节输出,也可作为8位段数据输出口,此时outb0为最低位,outa5为最高位。bd为消隐输出线,低电平有效,当显示器切换时或使用显示消隐命令时,将显示消隐。rese为复位输入线,高电平有效。当reset输入端出现高电平时,8279被初始复位。4.3.3 键盘电路键盘与8279之间需要译码器74ls138。其工作原理如下: 当一个选通端(g1)为高电平,另两个选通端(g2a)和/(g2b)为低电平时,可将地址端(a、b、c)的二进制编码在y0至y7对应的输出端以低电平译出。比如:abc=110时,则y6输出端输出低电平信号。图4-9 74ls138的管脚接线图键盘的行线接8279的rl0rl3,8279选用外部译码方式,sl0sl3经74ls138译码输出,连接键盘的列线。设计的键盘有0-9十个数字键,小数点键,五个功能键:单价、删除、清零、确定、去皮共16个键。图4-10 4*4矩阵键盘电路4.3.4 显示电路本系统中有15位led显示器,因显示位数比较多,所以要用到4线-16线译码器74ls154,sl0sl3又由74ls154译码输出,经7407驱动到显示器led的各个位的公共阴极。输出线outb0outb3、outa0outa3作为一个8位段选码数据输出端口,控制led显示器每一位数码管显示的内容,当从一位led数码管向下一位切换时,由消隐输出线bd输出低电平,74ls154译码产生低电平,使74ls138输出全为高电平。此时,在8位段数据输出端口输出下一个led显示位的显示内容。74ls138译码循产生低电平,8位段数据输出端口也依次把公共阴极为低电平位的显示位中的显示内分别显示出来,当这一过程很快显示时,就会在几个led中看到了显示的不同内容。图4-11 74ls154引脚图7407芯片是8279作为led数码管显示器的段选码输出端口的同相驱动芯片。图4-12 7407接线电路74ls154的a0、a1、a2、a3脚分别接8279的sl0-sl3管脚,vcc接5v电源,y0-y14分别接到3片7407芯片再到led1-led15显示器。8279接口与led显示器连接时接一个74ls244为3态8位缓冲器,作为总线驱动器,其结构如下图3.13所示。1a1-2a4接到8279的输出线outb0outb3、outa0outa3,g1、g2接地,1y1-2y4接到显示总线,具体见电路原理图。图4-13 74ls244电路图由于本设计要求的重量只精确到0.005kg,所以需要4位led,再加上单价5位,如:999.99元,以及总价6位。如9999.99元。所以总共15位。那么需要15个led数码管。图4-14 led显示组第五章 软件的设计智能电子秤软件系统设计的基本思想是充分利用微机丰富的软件功能,实现称重过程一系列要求,提高系统可靠性,使得系统性能价格比达到最优。智能电子秤作为一种实时性要求不是很高系统,用软件代替部分硬件功能很合算。首先,我们通过对软件进行分析,确定那些任务是由软件来完成的。在本系统中,从软件功能来看,其包括执行软件和监控软件两类。执行软件,完成各种实质性的功能,如采集数据,进行滤波处理,价格计算,中断处理,重量、价格的显示都利用软件来完成,不仅使得电子秤的性能提高,以达最高性能价格比;监控软件,用来协调各模块和操作者之间的关系,如本系统中a/d转换、键盘与显示、数据处理各模块的工作。其次,智能电子秤系统中有着大量的数据计算,各个模块之间进行信息传递,我们必须数据类型和结构进行规划,对系统内程序存储器、ram、定时器/计数器和中断源的分配。最后,完成以上工作后我们就可以进行编程了。在编程时,画出各功能模块的程序流程图,用合适的语言进行编写。5.1 主程序的设计软件程序的主要任务有:重量、单价、总价等参数的显示;数据管理;数据处理;数据运算等功能。5.1.1主程序设计思路电子秤软件设计的总体思想是:根据预先编制的程序对测量进行控制,完成自动诊断、自动清零、自动逻辑判断、自动存取数据完成重量的测试;搜集和处理测得数据,并通过对重量的测试,按各种参数之间关系,经计算后自动求出一系列有关未知参数,如重量、单价和总价监控软件采用模块技术设计,根据系统功能,将软件分为若干个功能相对独立的模块,为每一个模块设计程序流程图。该秤功能程序模块包括:系统初始化、a/d转换数据处理、键盘中断处理、显示模块,数据处理模块。5.1.2 主程序设计原理软件程序包括主程序、显示程序、键盘处理程序、转换程序、数据转换处理程序。控制器中t89s52的int1为中断请求输入线,int0为键盘中断服务程序。a/d中断服务程序完成采样数据的存储;键盘中断服务程序完成扫描,判断数字键或功能键,若为数字将其数据送入数据缓冲区和显示缓冲区。若是功能键进入相应功能键处理程序。键盘上有数字键09、00和五个功能键,数字键用于输入商品单价、物体重量,功能键有单价、清零、删除、确定、小数点。(1)at89s52输入输出端口定义如下: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划分,堆栈指针的设置。完成对各种功能程序段运行开关的设置,中断优先级的确定。5.1.3 设计框图如下上电启动整机初始化有无重量显示重量按单价键数字键输入单价显示单价确认单价*重量显示总价ny5.2 系统初始化系统上电后,对系统进行初始化。初始化程序7主要完成对单片机内专用寄存器的设定,单片机工作方式及端口的工作状态的规定、ram自检、各标志位的设置、设置栈指针、分配内存空间、设定计数器/定时器的工作方式5.2.1 at89s52初始化1. at89s52作为系统中央控制单元,是系统程序中断,数据处理中心,也是其它各模块纽带,对其初始化意义非常大。(1)程序存储器的初始化程序存储器用于存放程序、常数和表格,在执行程序时,从程序存储器中按地址依次取指令执行。at89s52片内含有8k字节闪速可编程/擦除只读存储器。编址范围0000h1fffh;(2)数据存储器的初始化at89s52的数据存储器有256字节,编址为00hffh,内部分工作寄存器区(00h1fh)、位寻址区(20h2fh)、数据缓冲器区(30hffh)。表5-1 ram地址分布30h4fh采样值存储单元50h5fh重量存储单元60h6fh价格存储单元70h7fh显示缓冲单元(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,非门控制方式。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,那么程序就会从主程序的中断处继续往下执行。5.2.2 8279的初始化本课题中8279是连接键盘与显示的接口芯片,在系统上电复位后,8279的命令/状态口地址为7fffh,数据口地址为7ffeh,清除8279fifo堆栈和显示ram,设置编码扫描、输入方式、扫描频率,开外部中断。电子秤的显示是8位显示,外部译码,驱动显示。(1)键盘/显示器方式设置命令字扫描计数器设定为编码方式,将键盘设置为双键互锁,显示器选取右入口显示方式,则命令字为10h。(2)at89s52的晶振频率f=12mhz,则ale线的输出频率为f/12=1mhz,8279内部时钟频率要求100khz,则分频系数应取20,命令字为34h。(3)写显示ram命令字 设命令给出了显示ram的地址信息,ai取1,写显示ram地址自动加1,则命令字为90h,另外显示屏蔽消隐命令字为a0和,清除命令字取d1h。5.2.3 icl7019的初始化本课题中让7109工作于直接输出方式,p1.0口控制转换。见电路图所示,run/hold接+5v,以使7109连续转换。由于采用了3.58mhz的晶振并经58分频,转换速率为7.5次/秒。根据图可知数据口地址为feffh。5.3 a/d转换结果处理程序在智能电子秤控制系统中,除了控制单元和执行单元外,还必须有反馈环节。在反馈环节中,最重要的就是对数据的采集。本文以at89s52单片机为核心,设计一个基于单片机的数据采集系统,通过模拟电压形式输入系统,经双积分a/d转换器icl7109可以采集12路模拟量,精度为12位,并经多次采样,通过滤波,取得更精确的重量值。5.3.1 a/d转换过程智能电子秤作为称重工具,其对数

温馨提示

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

评论

0/150

提交评论