基于单片机的电子秤的设计_第1页
基于单片机的电子秤的设计_第2页
基于单片机的电子秤的设计_第3页
基于单片机的电子秤的设计_第4页
基于单片机的电子秤的设计_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

湖南农业大学东方科技学院全日制普通本科生毕业设计基于单片机的电子秤的设计DESIGN OF ELECTRONIC SCALE BASED ON MCU 学生姓名:谢 军学 号:200841914312年级专业及班级:2008级机械设计制造及其自动化(3)班指导老师及职称:李旭 讲师 学 部:理工学部湖南长沙提交日期:2012 年 5 月湖南农业大学东方科技学院全日制普通本科生毕业设计诚信声明本人郑重声明:所呈交的本科毕业设计是本人在指导老师的指导下,进行研究工作所取得的成果,成果不存在知识产权争议。除文中已经注明引用的内容外,本设计不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体在文中均作了明确的说明并表示了谢意。同时,本设计的著作权由本人与湖南农业大学东方科技学院、指导教师共同拥有。本人完全意识到本声明的法律结果由本人承担。 毕业设计作者签名: 年 月 日目 录 摘要1 关键词1 1 前言2 1.1 电子称重技术现状和发展趋势2 1.1.1 电子称重技术的现状2 1.1.2 电子称重技术的发展趋势2 1.2 论题研究内容42 系统方案论证4 2.1 方案一4 2.1.1 方案一工作原理4 2.1.2 方案一原理框图5 2.2 方案二5 2.2.1 方案二工作原理5 2.2.2 方案二原理框图5 2.3 方案比较53 系统硬件电路设计6 3.1 信号采集电路6 3.2 按键及显示电路7 3.3 单片机最小系统10 3.4 片外存储器13 3.5 报警电路设计16 3.6 AD转换电路174 软件设计20 4.1 设计思想21 4.2 程序设计说明21 4.2.1 总流程图21 4.2.2 按键子程序22 4.2.3 十六位显示子程序22 4.2.4 八位显示子程序23 4.2.5 计算金额子程序24 4.2.6 移位子程序26 4.2.7 重量转换子程序26 5 效益分析27 6 结论28参考文献29致谢30附录31基于单片机的电子秤的设计 摘 要:目前,台式电子秤在商业贸易中的使用已相当普遍,但存在较大的局限性:体积大、成本高、需要交流电源供应、携带不便、应用场所受到制约。目前国际化的趋势是电子秤向小型化,模块化,集成化,智能化,其技术性能趋向于速率高,准确度高,稳定性高,可靠性高等,有很好的发展前景。本文设计了一种电子秤,其主要由电源、称重传感器、单片机、键盘/开关、LED显示器等部分构成。主要技术指标为:称量范围0kg40kg;分度值0.01kg;电源5v。仪器主要功能有显示单价、显示重量、显示物品种类、显示总金额、单价设定等。 关键词:单片机;显示;键盘;重量;金额Design of Electromic Scale Based on McuAuthor:Xie Jun Tutor: Li Xu(Oriental Science Technology College of Hunan Agricultural University, Changsha 410128) Abstract: Currently, desktop electronic scale used in commercial trade was fairly widespread, but there is a big limitation: bulky, costly, requires AC power supply, bring inconvenience, site constraints. Current trends of internationalization is the miniaturization of electronic scales, modular, integrated, intelligent, and its technical performance tends to be high speed, high accuracy, high stability, high reliability, have good development prospects. This article has designed an electronic scale, their main power, weight sensor, MCU, LED display, keyboard/switch parts. Main technical indicators: weighing range 0kg-40kg; 0.01kg; 5V power supply. Instrument price main features are displayed, display type, showing the total amount of weight, displaqy items, price setting, and so on.Keywords: SCM; Display; Keyboard; Weight; The amount of1 前言 随着人们生活水平的不断提高,科学技术和生产的发展,商业行为也越来越现代化,人们对称重装置的要求也越来越高。在电子技术高速发展和计算机技术得到广泛应用的今天,尤其是单片机技术和传感技术的巨大进步,对智能电子称重系统的发展起到了很大的推动作用,使电子称重系统不断向着重量轻、携带方便、测量精度高、成本低、使用方便的方向发展。 本设计中的电子秤具备以上特点,有很大的发展潜力,可以推广到市场、超市等场所。该设计是运用压力传感器采集压力信号,并将压力信号转换为电压信号,由于采集的信号是模拟信号,单片机不能对其进行处理,所以通过A/D转换器将采集信号转换为数字量,然后送入单片机进行数据处理。并将重量、单价和总金额通过显示电路显示出来,可以直接读取总金额,使用起来很方便,并且准确度比较高。1. 1 电子称重技术现状和发展趋势1.1.1 电子称重技术的现状60年代初期出现机电结合式电子衡器以来,经过40多年的不断改进与完善,我国电子衡器从最初的机电结合型发展到现在的全电子型和数字智能型。我国电子衡器的技术装备和检测试验手段基本达到国际90年代中期的水平。电子衡器制造技术及应用得到了新发展,电子称重技术从静态称重向动态称重发展;计量方法从模拟测量向数字测量发展;测量特点从单参数测量向多参数测量发展,特别是对快速称重和动态称重的研究与应用。但就总体而言,我国电子衡器产品的数量和质量与工业发达国家相比还有较大差距,其主要差距是技术与工艺不够先进、工艺装备与测试仪表老化、开发能力不足、产品的品种规格较少、功能不全、稳定性和可靠性较差等。我国的电子衡器要打入国际市场、参与国际竞争,就必须执行国际法制计量组织制定的国际建议并要有国际水平的技术与装备、有国际水平的质量。这就要求企业以技术为先导、以质量为中心、以管理为基础,努力提高制造技术与制造工艺水平,稳定产品质量,增强国际市场竞争能力。 面对与国际先进水平的差距和我国国民经济持续发展的大好形势,电子衡器的发展趋势是明确的,就是要从观念上、技术上和管理上迅速赶上,瞄准先进、与时俱进、迎接挑战、开拓创新、以提高制造技术与制造工艺水平为突破口,主要解决电子衡器中的工程化产品的定型设计。生产工艺质量保证,可靠性考核等规模生产中的关键技术与工艺,提高批量生产能力,使我国的民族衡器工业走上健康持续发展的轨道。1.1.2 电子称重技术的发展趋势 (1) 小型化。体积小、高度低、重量轻,即小、薄、轻。近几年新研制的电子平台秤结构充分体现了小薄轻的发展方向。对于低容量的电子平台秤和电子轮轴秤,可采用将薄型或超薄型的圆形称重传感器,直接嵌入钢板或铝板底面与称重传感器外径相同的盲孔内,形成低外形的秤体结构,称重传感器的数量和位置由秤的额定载荷和力学要求计算决定。钢板或铝板就是秤体的台面,称重传感器既是传感元件,又是承力支点,极大地减化了秤体结构,减少了活动连接环节,不但降低了成本,而且提高了稳定性和可靠性。对中等或较大容量的电子平台秤、电子地上衡,已经出现了采用方形或长方形闭合截面的薄壁型钢,并联排队列焊接成一个整体的竹排式结构的秤体,4个称重传感器分别安装在最外边两根薄壁型钢两端的切口内,安装在称重传感器承力点上的固定支承就是秤体的承力支点,既减化了承力传力机构,又节省了秤体高度,这是一种很有发展前途的秤体结构。对于大型电子平台秤,可利用有限单元法进行等强度和刚度计算,采用抗弯钢度大的型材和轻型波纹夹心钢板等。 (2) 模块化。对于大型或超大型的承载器结构,如大型静动态电子汽车衡等,已开始采用几种长度的标准结构的模块,经过分体组合,而产生新的品种和规格。以(5、6、7)m长的同宽度3种标准模块为例,由单块、二块、三块到四块分体组合,可以组合成长度为(528)m的22种规格的分体式秤体结构。当然在实际应用中,根据各行业用户的需要,选择其中10余种常用的标准规格即可。这种模块化的分体式秤体结构,不仅提高了产品的通用性、互换性和可靠性,而且也大大地提高了生产效率和产品质量。 (3) 集成化。对于某些品种和结构的电子衡器,例如小型电子平台秤、专用秤、便携式静动态电子轮轴秤、静动态电子轨道衡等,都可以实现秤体与称重传感器,钢轨与称重传感器,轨道衡秤体与铁路线路一体化。 如秤体与称重传感器一体化的便携式静动态电子轮轴秤,多用硬铝合金厚板制成。其结构原理是经过固溶热处理强化的铝合金板,或通过在4个角上钻孔和铣槽分别形成4个悬臂梁型称重传感器,或在铝合金板的底面铣出多个对称的盲孔和盲槽形成整体剪切梁型称重传感器。这就使得秤体与称重传感器合二为一,即铝合金板既是秤体台面又是一个大板式称重传感器。以后者结构的10t便携式动态电子轮轴秤为例,其尺寸为720mm550mm32mm,重量约为23kg。 (4) 智能化。电子衡器的称重显示控制器与电子计算机组合,利用电子计算机的智能来增加称重显示控制器的功能。使电子衡器在原有功能的基础上,增加推理、判断、自诊断、自适应、自组织等功能,这就是当今市场上采用微机化称重显示控制器的电子衡器与采用智能化称重显示控制器的电子衡器的根本区别。 (5) 综合性。电子称重技术的发展规律就是不断的加强基础研究并扩大应用,扩展新技术领域,向相邻学科和行业渗透,综合各种技术去解决称重计量、自动控制、信息处理等问题。例如在流量计量专业,如果按照传统的理论和方法建造一套标准大流量测量系统,价格相当昂贵。如果采用称重法即质量流量法,只要将重量和时间测量准确,大流量的测量问题就迎刃而解了。对某些商用电子计价秤而言,只具备称重、计价、显示、打印功能还远远不够,现代商业系统还要求它能提供各种销售信息,把称重与管理自动化紧密结合,使称重、计价、进库、销售管理一体化,实现管理自动化。这就要求电子计价秤能与电子计算机联网,把称重系统与计算机系统组成一个完整的综合控制系统。 (6) 组合性。在工业称重计量过程或工艺流程中,不少称重计量系统还要求具有可组合性,即测量范围等可以任意设定;硬件能够依据一定的工作条件和环境作某些调整;硬件功能向软件方向发展;软件能按一定的程序进行修改和扩展;输入输出数据与指令可以使用不同的语言和条形码,并能与外部的控制和数据处理设备进行通信。1.2 论题研究内容 本文主要讲述了基于单片机电子秤的控制部分的设计及理论分析,以及电路的各个部分的功能和程序原理。该系统包括按键、显示、单片机最小系统和信号采集电路。按键使用44矩阵式键盘模块,通过软件编程可以对单片机进行控制,从而实现对单价的设定等功能。显示电路由数码管、译码器构成,CPU通过控制显示电路对被测物品的重量、单价和总金额进行显示。单片机最小系统是指由AT89S51芯片、时钟电路、复位电路等构成的核心控制系统。经过编程,该系统就可以对数据进行处理,并控制外围电路对数据进行显示。信号采集电路由压力传感器来采集压力信号,并将其转换为电压信号,然后经放大送入CPU进行数据处理。文中对程序进行了理论分析,对数据处理过程进行了详细的讲解,极易于理解。2 方案论证 本系统通过传感器将被测物体的应力转换成电压信号输出,但是由于这一信号通常都很小,所以需要先通过放大系统进行放大,然后再对信号进行处理。放大系统把来自传感器的微弱信号放大到适当范围,放大后的信号经过模数转换后成为数字量,然后送入单片机进行数据处理及译码显示,显示被测物体的重量值。2.1 方案一2.1.1 方案一工作原理 本方案运用应力传感器将应力信号转换为电压信号,经放大电路放大后送入A/D转换器进行模数转换,然后将数字量送入单片机进行数据处理,最后通过显示电路显示称重结果。原理框图如图1所示。2.1.2 方案一原理框图 图1简单电子秤原理框图Fig 1 Schematic diagram of simple electronic scale2.2 方案二2.2.1 方案二工作原理 本方案运用应力传感器采集应力信号,并将应力信号转换为电压信号,但是由于信号不符合要求,所以要先用放大电路对电压信号进行放大,使其在适当的范围内,然后送入十二位模数转换器进行转换,最后送入单片机进行数据处理,通过键盘控制和单片机数据处理,将重量、单价和总金额通过显示电路显示出来,可以直接读取总金额,使用起来很方便,并且准确度比较高。原理框图如图2所示。2.2.2 方案二原理框图 图2十二位模数转换电子秤原理框图Fig 2 Twelve bit analog-to-digital conversion electronic balance principle diagram2.3 方案比较 本设计是基于51单片机的电路设计,其功能是测量物体的重量。方案一的电路结构最简单、使用器件最少、体积小,并且可以直接读取重量,该方案虽然能够完成测量物体重量的功能,但是用于买卖商品时并不能直接读取总价格,还要经过计算才能得到,使用起来不是很方便。方案二的电路结构也很简单,此电路采用的是十二位模数转换,并添加了按键控制电路,还可以直接显示总金额,和方案一相比,虽然电路连接变得复杂了,但是提高了分辨率,使测量结果更加精确,而且更加方便实用,功能更全。 通过上述方案的比较最终确定选择方案二,该电路虽然连接比较复杂,但是功能比较强大,可以显示买卖商品的重量、单价和总金额,这样就可以直接读取,使买卖双方都可以看到示数,使用方便,因此选择方案二。3 系统硬件电路设计3.1 信号采集电路(1)压力传感器原理:压力传感器是工业实践中最为常用的一种传感器,而我们通常使用的压力传感器主要是利用压电效应制造而成的,这样的传感器也称为压电传感器。下面就简单介绍一些常用传感器原理及相关产品。电阻应变片受力产生形变,使加在应变片电阻上的电压发生变化。这种应变片在受力时产生的阻值变化通常较小,一般这种应变片都组成应变电桥,并通过后续的放大器进行放大,再传输给处理电路(通常是A/D转换和CPU)显示或执行机构。应变片压力传感器原理如图3所示。 图 3 金属电阻应变丝的结构 Fig 3 Metal resistance wire structure 陶瓷压力传感器原理 压力直接作用在陶瓷膜片的前表面,使膜片产生微小的形变,厚膜电阻印刷在陶瓷膜片的背面,连接成一个惠斯通电桥(闭桥),由于压敏电阻的压阻效应,使电桥产生一个与压力成正比的高度线性、与激励电压也成正比的电压信号。 扩散硅压力传感器原理 扩散硅压力传感器的压力直接作用于传感器的膜片上(不锈钢或陶瓷),使膜片产生与介质压力成正比的微位移,使传感器的电阻值发生变化,用电子线路检测这一变化,并转换输出一个对应于这一压力的标准测量信号。压电压力传感器原理 压电效应是压电传感器的主要工作原理,因为经过外力作用后的电荷,只有在回路具有无限大的输入阻抗时才得到保存。 (2)、压力传感器应用:压力传感器是工业实践中最为常用的一种传感器,其广泛应用于各种工业自控环境,涉及水利水电、铁路交通、智能建筑、生产自控、航空航天、军工、石化、油井、电力、船舶、机床、管道等众多行业,在本设计中用于压力信号采集。信号采集放大电路如图4所示。该电路由CY-YB-411型双孔式称重传感器和集成运算放大器组成。称重传感器用于将压力信号转换为电压信号,该传感器采用金属应变原理,将质量值转换成电压信号输出,具有精度高、温度特性好、稳定性好等特点,适用于平台秤、料计秤等。该传感器额定负荷40kg、额定输出2.00.004V、激励电压12V。图4信号采集放大电路 Fig 4 Signal collecting and amplifying circuit3.2 按键及显示电路原理键盘是用来对CPU进行控制的输入设备。根据键盘上闭合键的识别方法不同,键盘可分为编码键盘和非编码键盘。非编码键盘采用软件的方法产生键码,而编码键盘采用硬件的方法来产生键码。非编码键盘上,闭合键的识别采用软件实现;编码键盘上,闭合键的识别则由专门的硬件译码器产生按键的编号(即键码),产生一个脉冲信号,以通知CPU接收键码。编码键盘使用方便、易于编程,但硬件电路较复杂,因此在单片机系统中应用较少。而非编码键盘几乎不需要附加什么硬件电路,因此在实际中应用较多。根据键盘的结构来分,键盘可分为独立式和矩阵式两类。当系统操作比较简单,所需按键较少时,可采用独立式非编码键盘;当系统操作比较复杂,需要数量较多的按键时,则采用矩阵式非编码键盘。本系统采用44矩阵式键盘模块,它本身用于按键数量较多的场合,它由行线和列线组成,按键位于行线和列线的交叉点上,4条行线和4条列线又分别与单片机的8个I/O口相连,通过软件控制查询判断是否有按键按下。如果无按键按下,则执行下一个语句;如果有按键按下,判断是哪个按键,通过查表来确定按键的编号,然后执行相应的操作,其中按键09用于数字输入,按键AF用于控制输入。其工作过程在按键子程序设计中有详细的讲解。 在按键过程中,键盘所用开关为机械弹性开关,利用了机械触点的合、断作用。在一个电压信号通过机械触点的断开、闭合过程中会产生抖动, 抖动时间长短和开关的机械特性有关,一般为5ms10ms, 抖动会影响对按键的判断,有时按一下会被误判为两下或更多,从而影响实验现象,所以要消除因抖动而引起的误判。去抖有两种方法:硬件去抖、软件去抖。在本设计中采用软件去抖,通过延时40 ms来实现。本系统对物品重量、金额等显示有两种方法:一种方法用液晶显示器进行显示,它的功耗低、体积小、美观、方便、使用寿命长,且能显示图形、字母等,接口简单,可以直接与单片机进行连接,但成本较高。另一种方法用发光二极管显示器(简称LED)进行显示,它配置灵活、使用方便,而且价格低廉,虽然显示内容有限,但足以满足显示的需要,所以本系统显示电路选择使用发光二极管显示器进行显示。本设计采用LED作为显示器。LED显示器由发光二极管构成,常用的LED有7段和“米”字段之分。这种显示器有共阳极和共阴极两种。共阴极LED显示器的发光二极管的阴极连接在一起,通常此公共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样共阳极LED的阳极连接在一起,通常此公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。在本设计中采用共阳极LED显示器。LED数码管的引脚排列(俯视图)及内部结构如图5所示。AG表示7个笔段,DP为小数点。LED数码管分普通亮度和高亮度两种。LED数码管正常发光时段工作电流为5mA10mA的属于普通亮度数码管,低于2mA的为高亮度数码管,后者的发光效率高而功率低。此外,LED数码管还有一位、双位、多位之分。图5 LED数码管Figure 5 LED digital tube LED显示分为动态显示和静态显示两种。LED显示器工作于静态方式时,各位的共阴极(或共阳极)连接在一起并接地(或+5V),每一位的段选线(adp)分别与一个8位的琐存器输出相连,各个LED的显示符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。也正因为如此,静态显示器的亮度较高。这种显示方式接口编程容易,付出的代价是占用口线较多。若用单片机的I/O接口,则要占用多个8位I/O口。如果显示位数增多,则静态显示更是无法适应。而动态显示则是循环显示多个数码管,在不同的时间向I/O口送不同数据,同时选通不同的数码管,通过译码显示,这样就可以使用同一I/O口控制数码管分时显示不同的数据,从而达到节省I/O口的目的。因此在显示位数较多的情况下,一般采用动态显示。在本系统中,要用16个数码管进行显示,采用静态显示是不符合实际的,所以采用动态显示,这样不仅节省了I/O口,而且简化了电路。显示电路图如图6所示:显示电路由数码管、译码器构成,CPU通过控制显示电路对被测物品的重量、单价和总金额进行显示。图 6 显示电路图Figure 6 Shows a circuit diagram3.3 单片机最小系统所谓单片机最小系统是指由AT89S51芯片、时钟电路、复位电路等构成的核心控制系统。如图7所示。经过编程,该系统就可以对数据进行处理,并控制外围电路对数据进行显示。图7单片机最小系统Fig 7 The smallest single-chip system(1) 时钟电路: 单片机各功能部件的运行都必须以时钟频率为基准,时钟频率直接影响单片机的速度,并且直接影响单片机工作的稳定性。单片机的时钟信号通常用两种电路形式:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接微调电容和晶体振荡器(晶振)或陶瓷谐振器,就构成了外部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。电容起稳定振荡频率、快速起振的作用,其电容值通常在5pF至30pF之间。晶振频率的典型值为通常在12pF至40MHz之间,晶振频率越高,系统的时钟频率也越高,单片机的运行速度也就越快。内部振荡方式所得的时钟信号比较稳定,实用电路中使用较多。外部振荡方式是把外部已有的时钟信号引入单片机内,这种方式适宜用来使单片机的时钟与外部信号保持同步。由于内部时钟电路相对更方便更通用些,所以常使用内部时钟电路。电容的大小会影响振荡器频率的高低、振荡器的稳定性、起振的快速性和稳定性。本设计中C1、C2选择30pF,晶振采用11.0592MHz,电路如图8所示。图8 AT89S51时钟电路Fig 8 The AT89S51clock circuit (2)复位电路: AT89S51的复位是由外部电路来实现的。只要给RST引脚加上2个机器周期以上的高电平信号,就可以使AT89S51复位。复位的主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序,该操作不影响内部RAM的状态。除了进入系统的正常初始化之外,当程序运行出错或操作错误使系统处于死锁状态时,为摆脱死锁状态,也需按复位键重新启动。复位电路通常采用上电自动复位和按钮复位两种方式。为了便于操作,本设计采用按钮复位,如图9所示。复位通过RST端经电阻与电源VCC接通而实现的,当时钟频率选用11.0592MHz时,C取10F,R17约为1K,R18约为10K图 9 按钮复位电路Fig 9 Button Reset ci rcuit3.4 片外存储器 电子秤要对物品的单价进行存储,但是单片机复位后,其内部所存储的数据将会丢失,不能满足需要,所以要扩展外部存储器。外部存储器的种类很多,如AT24C02、AT24C04、AT24C08、AT24C16、AT24C164、AT24C32等。由于本设计所要存储的数据很少,不需要太大的存储空间,因此选择AT24C02存储器。为了对AT24C02有更深的理解,并且能够更好的运用该存储器,首先介绍一下关于IC总线的相关内容,对更好的运用AT24C02有很大的帮助。IC串行通信简介:IC总线是目前最常见的一种智能化仪器仪表组成方案,其结构简单,可靠性和抗干扰性较好,可构成各种通用的硬件和软件模块,方便重复利用,大大简化了系统的设计过程。IC总线 是Philips公司推出的一种双向二线制总线。IC总线包括一条数据线(SDA)和一条串行时钟线(SCL)。协议允许总线接入多个器件,并支持多主机工作。51系列微控制器不具备与IC总线的接口功能,因此,用软件模拟IC总线的接口功能。IC总线不仅仅是一种内部连接总线,从某种角度来说,它是一种串行通信链接协议。如果要解决编口的问题,先要了解IC总线系统内部的物理连接特性、链接协议以及数据通信格式等协议内容。一个典型的IC总线系统结构如图10所示。假设系统中器件均具有IC总线接口,通过一条数据线(SDA)和一条串行时钟线(SCL)连接到IC总线,并通过总线识别,即器件寻址。图10典型的IC总线系统结构图Fig 10 Typical IC bus system structure diagram SDA和SCL都是双向线,通过上拉电阻接电源,总线空闲时,这两根线处于高电平状态。用单片机控制IC总线时,硬件连接非常简单,只要拿出两个I/O口,在软件中分别定义成SDA和SCL与IC总线的SDA和SCL直接相连,再加上上拉电阻即可。硬件接口如图11所示。图 11 IC总线硬件接口电路Fig 11 IC bus interface circuit 存储器AT24C02接口电路:为了增加单片机的可寻址空间,了解带IC总线的串行EPROM的工作原理,在最小系统模块中外扩了存储器AT24C02的接口,存储器AT24C02是美国ATMEL公司的低功耗CMOS串行EPROM,它内含2568位存储空间,具有工作电压宽(2.55.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)等特点。其引脚如图12所示。由引脚图可见,AT24C02共有8个引脚,采用DIP8封装。其主要引脚功能如下:(1)SCL是串行时钟输入端。用于对输入和输出数据的同步,写入EPROM的串行数据用SCL的上升沿同步,读出的串行数据用SCL的下降沿同步。(2)SDA是串行数据输入/输出(或地址输入)端。 图 12 AT24C02 引脚图 Fig 12 AT24C02 pin map(3)WP是写保护,用于硬件数据保护功能。(4)TEST是测试,用于对存储器的检测。(5)Vcc是电源电压,接+5V电源端。(6)GND是接地端。(7)A0、A1、A2:片选或页面选择地址输入端。也称为可编程地址输入端,用于设定芯片地址。在设计此接口电路时,将AT24C02的1、2、3脚三条地址线接地,即A2A1A0=000;WP引脚置低电平,这样可以对整个存储器进行正常的读/写操作,引出SDA和SCL引脚,以便使AT24C02的读写更灵活,AT24C02接口电路的原理图如图13所示。图13 AT24C02接口原理图Fig 13 Schematic diagram of AT24C02interfaceAT24C02的串行接口及控制逻辑: (1) 启动与停止逻辑单元启动信号:当SCL处于高电平时,SDA从高到低的跳变作为IC总线的启动信号,启动状态应在操作命令之前建立;停止信号:当SCL处于高电平时,SDA从低到高的跳变作为IC总线的停止信号,表示一种操作结束,其后将结束所有相关的通信。SDA和SCL端通常接有上拉电阻,当SCL为高电平时,对应的SDA上的数据位有效;当SCL为低电平时,允许SDA上的数据变化。IC总线的起始信号和终止信号如图14所示。图14 IC总线的起始信号和终止信号Fig 14 I L C bus starting signal and a termination signal(2) 串行逻辑控制单元根据SCL、SDA以及“启动”与“停止”单元发出的各种信号进行区分并排列出有关“寻址”、“读数据”和“写数据”等逻辑,将他们传送到相应的操作单元。例如,当操作命令为“寻址”时,它通知地址数加1并启动器件地址比较器工作;在“读数据”操作时,它控制“数据输出确认逻辑单元”;在“写数据”时,它将控制升压/定时电路,以便向EPROM电路提供编程所需的电压。(3) 地址/计数器单元产生访问EPROM存储单元的地址,并将其分别送到X译码器进行字选(字长8位),送到Y译码器进行位选。(4) 数据输入/输出应答逻辑单元地址和数据均以8位码串行输入/输出。数据传送时,每成功传送一个字节数据后,接收器都会产生一个应答信号,在第九个时钟周期将SDA信号线置于低电平作为应答信号。3.5 报警电路的设计当电路检测到称重的物体超过仪器的测量限制时,将产生一个信号给报警电路。使报警电路报警从而提醒工作人员注意,它是有89S51的P2.6口来控制的,当超过设置的重量时(5Kg),通过程序使P2.6口值为高电平,从而使三极管导通,报警电路接通,使蜂鸣器SPEAKER发出报警声,同时使报警灯LED发光。由于持续的声音不能够引起人们的关注,所以本系统的报警电路采用间断的声音和频闪的灯光来实现。这一任务的实现主要靠程序来完成。图15 报警电路设计图Fig 15 Design of alarm circuit diagram3.6 AD转换电路本部分的功能是对传感器输出的模拟信号进行采集并转换成数字信号。由于单片机不能直接输入模拟信号,因此信号输入前必须先把模拟信号变为数字信号,而完成此功能的核心部分是模数转换器件。模数转换器(A/D转换器)是一种能够把输入的模拟电压变成数字量的器件,即把被控对象的模拟信号变成单片机可识别的数字信号。根据模数转换器的原理不同,可将其分成两类:一类是直接型A/D转换器,另一类是间接型A/D转换器。直接型A/D转换器输入的模拟信号被直接转换为数字代码,不经过任何的中间变量。而间接型的A/D转换器,先把输入的模拟电压变换成某种中间变量,然后再把这个中间变量转变成为数字代码输出。目前市场上有很多电路结构和性能指标的A/D转换器出售。这些芯片在精度、速度与价格方面千差万别,较为常见的A/D转换器主要是并行模拟型、逐次逼近型、双积分型和电压频率转换构成的A/D转换器。AD574A是美国模拟数字公司(Analog)推出的单片高速12位逐次比较型A/D转换器,内置双极性电路构成的混合集成转换显片,具有外接元件少、功耗低、精度高等特点,并且具有自动校零和自动极性转换功能,只需外接少量的阻容件即可构成一个完整的A/D转换器,其主要功能特性如下: (1)分辨率:12位 (2)非线性误差:小于1/2LBS或1LBS (3)转换速率:25us (4)模拟电压输入范围:010V和020V,05V和010V两档四种 (5)电源电压:15V和5V (6)数据输出格式:12位/8位 (7)芯片工作模式:全速工作模式和单一工作模式AD574的引脚说明(芯片引脚图如图16所示): 图16 AD574芯片引脚图Fig 16 AD574 chip pin map AD574芯片主要引脚说明: 1Pin1(+V)+5V电源输入端。 2 Pin2(12/8)数据模式选择端,通过此引脚可选择数据纵线是12位或8位输出。 3 Pin3()片选端。 4 Pin4(A0)字节地址短周期控制端。与12/8端用来控制启动转换的方式和数据输出格式。须注意的是,12/8端TTL电平不能直接+5V或0V连接。 5 Pin5()读转换数据控制端。6Pin6(CE)使能端。现在讨论AD574A的CE、12/8、和A0对其工作状态的控制过程。在CE=1、=0同时满足时,AD574A才会正常工作,在AD574处于工作状态时,当=0时A/D转换,当=1是进行数据读出。12/8和A0端用来控制启动转换的方式和数据输出格式。A0=0时,启动的是按完整12位数据方式进行的。当A0=1时,按8位A/D转换方式进行。当=1,也即当AD574A处于数据状态时,A0和12/8控制数据输出状态的格式。当12/8=1时,数据以12位并行输出,当12/8=0时,数据以8位分两次输出。而当A0=0时,输出转换数据的高8位,A0=1时输出A/D转换数据的低4位,这四位占一个字节的高半字节,低半字节补零。其控制逻辑真值表见表1。 7Pin7(V+)正电源输入端,输入+15V电源。 8Pin8(REF OUT)10V基准电源电压输出端。 9Pin9(AGND)模拟地端。 10Pin10(REF IN)基准电源电压输入端。 11Pin(V-)负电源输入端,输入-15V电源。 12Pin1(V+)正电源输入端,输入+15V电源。 13Pin13(10V IN)10V量程模拟电压输入端。 14Pin14(20V IN)20V量程模拟电压输入端。 15Pin15(DGND)数字地端。表1控制逻值表Table 1 control logic value tableAD574A控制端标志意义CEA0工作状态0XXXX禁止x1XXX禁止100X0启动12位转换100X1启动8位转换101接+5VX12位并行输出有效101接0V0高8位并行输出有效101接0V1低4位并行输出有效 16Pin16Pin27(DB0DB11)12条数据总线。通过这12条数据总线向外输出A/D转换数据。 17Pin28(STS)工作状态指示信号端,当STS=1时,表示转换器正处于转换状态,当STS=0时,声明A/D转换结束,通过此信号可以判别A/D转换器的工作状态,作为单片机的中断或查询信号之用。AD574A的工作模式:以上所述的是AD574A的全控状态,如果需AD574A工作于单一模式,只需将CE、12/8端接至+5V电源端,和A0接至0V,仅用端来控制A/D转换的启动和数据输出。当=0时,启动A/D转换器,经25us后STS=1,表明A/D转换结束,此时将置1,即可从数据端读取数据。AD574A的接口电路:图17是AT89S51单片机与AD574A的接口电路,其中还使用了三态锁存器74LS373和74LS00与非门电路,逻辑控制信号由(、和A0)有AT89S51的数据口P0发出,并由三态锁存器74LS373锁存到输出端Q0、Q1和Q2上,用于控制AD574A的工作过程。AD转换器的数据输出也通过P0数据总线连至AT89S51,由于我们只使用了8位数据口,12位数据分两次读进AT89S51,所以接地。当AT89S51的p3.0查询到STS端转换结束信号后,先将转换后的12位A/D数据的高8位读进AT89S51,然后再将低4位读进AT89S51。这里不管AD574A是处在启动、转换和输出结果,使能端CE都必须为1,因此将AT89S51的写控制线和读控制线通过与非门74LS00与AD574A的使能端CE相连。 图17 AT89S51 单片机与AD574A的接口电路Fig 17 AD574A AT89S51 microcontroller interface circuit4 系统软件设计51单片机的应用程序设计,既可以使用C语言,也可以使用汇编语言,两种语言各有其优势。用C语言进行程序设计可以方便地实现程序设计模块化,代码结构清晰、可读性强、易于维护、更新和移植,适合较大规模的单片机程序设计。因此,使用C语言进行单片机程序设计已经成为单片机程序设计的主流选择之一。汇编语言与硬件紧密相关,可以方便地实现诸如中断管理以及模拟/数字量的输入/输出等功能,且占用系统资源小、执行速度快。但当应用程序达到一定规模后,由于汇编语言的代码可读性较差,将增加编写和阅读代码的难度,不利于应用系统的升级和维护。在本论文中采用汇编语言编写程序,因为该设计的程序不是很庞大,采用汇编语言编写的程序思路清晰且易于理解。4.1 设计思想在软件设计过程中,采用先分后总的方法,先对各个部分的子程序进行设计,然后再将各个子程序结合到一起,这样设计可以方便程序的调试,各个子程序经调试结束后结合到一起就可以了,该方法可以大大缩短软件调试的时间,方便有效。4.2 程序设计说明4.2.1 总流程图图18 总流程图Fig 18 The general flow chart4.2.2 按键子程序按键子程序用于查询按下的键是哪个键,其处理过程如图19所示。出口为A寄存器。图19按键子程序流程图Fig 19 The key subroutine flow chart4.2.3 十六位显示子程序该子程序用于显示十六位数字,其处理过程如图20所示。入口为R0指向的缓存区。图20十六位显示子程序流程图Fig 20 6 shows program flow chart 4.2.4 八位显示子程序该子程序用于显示八位数字,其处理过程如图21所示。入口为R0所指地址,出口为A寄存器。图 21 八位显示子程序流程图Fig 21 8 shows program flow chart4.2.5 计算金额子程序 该子程序用于完成重量乘单价得出金额,其中DAT1BUF是定义缓存区38H,其处理过程如图22所示。入口为R0所指缓存区。 图 22 计算金额子程序流程图 Fig 22 The calculation amount of subprogram flow chart4.2.6 移位子程序按键左移四位子程序处理过程如图23所示。入口为R0所指缓存区;出口为R0所指地址。图 23 移位子程序流程图Fig 23 Transposition process flowchart4.2.7 重量转换子程序该子程序用于将A/D采集的二进制数转换为重量的十进制BCD码,其处理过程如图24所示。入口为R2、R3寄存器,R0所指缓存区;出口为R0所指地址。图24 重量转换子程序流程图Fig 24 Weight conversion subroutine flow chart5 效益分析随着社会的发展,系统的设计都要考虑产品的效益。在工程实践中,节能问题得到越来越多的重视,在激烈的市场竞争中,谁能有效的降低生产成本及原材料成本,谁就能在市场竞争中立于不败之地。在本设计中

温馨提示

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

评论

0/150

提交评论