基于某单片机地称重控制系统设计_第1页
基于某单片机地称重控制系统设计_第2页
基于某单片机地称重控制系统设计_第3页
基于某单片机地称重控制系统设计_第4页
基于某单片机地称重控制系统设计_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

文档文档届毕业生毕业设计说明书题目: 基于单片机的称重控制系统设计院系名称:专业班级:0000: 口号:指导教师: 教师职称:C51□□□□□使得系统更加实用。C51□□□□□使得系统更加实用。摘要由于称重器具在商业贸易中的重要作用,称重技术的发展一直都受到人们的关注。本文设计实现了一种新型的多功能电子称重系统,该系统采用了最为常见的STC89C52□□□□□□,□□□□□□□□□□□□□□,□□□□□□□□□,□□□能自动地计算总价并可以把测量结果直观地显示在液晶屏幕上,同时本系统还具有超量程自动报警功能。另外本系统还扩展了电子万年历和电子温度计的功能,本文论述了课题提出的背景,系统方案确定的依据以及系统具体硬件电路的设计方案和软件编程的基本思路,最后针对系统的测试结果进行了分析。关键词:电子称重系统;单片机;称重传感器; A/D转换;时间和温度;人机交互TitleDesignofweighingcontrolSystemBasedOnMCUABSTRACTDuetotheimportantroleofweighingapparatusinthetrade,developmentofweighingtechnologyhasbeenpaidcloseattentiontobypeople.Thispaperpresentsanewtypeofmultifunctionalelectronicweighingsystem.ThisdesignisbasedonthemostcommonC51seriesmicrocontrollerSTC89C52asacontrolcore,itrealizedthebasicfunctionsofelectronicscales.Thisdesigncanacquisitionqualityaccurately,displaytestdataintuitively,setthepricefordiffidentthingsandautomaticalarmwhenitisoverrange.Atthesametime,thesystemalsoextendsthefunctionofelectroniccalendarandthethermometer,makingthesystemmoreintelligentandpractical.Thispaperdiscussesthebackgroundofthesubject,howthesystemschemeisdetermined,designofthehardwarecircuitsystemandsoftwareprogramming.Attheendofthepaper,thesystemtestresultswereanalyzed.KeyWordsElectronicscale;singlechipmicrocomputer;sensor;A/Dconversion;human-computerinteraction;timeandtemperature目录TOC\o"1-5"\h\z\o"CurrentDocument"摘要 II\o"CurrentDocument"ABSTRACT III\o"CurrentDocument"第1章前言 1选择课题的背景和意义 1电子秤的现状及未来的发展趋势 1设计的主要任务 2.\o"CurrentDocument"第2章系统方案设计 3系统总体构想及其工作原理 3系统方案的确定 3.各个模块选型的分析 5\o"CurrentDocument"第3章系统硬件电路的设计 15MCU□□□□□□□□□ 152□□□□□□A/D转换芯片HX7n的电路设计 15数据输入模块的电路设计 16液晶显示模块的电路设计 16报警模块的电路设计 17时钟模块和温度模块的电路设计 17\o"CurrentDocument"第4章系统软件部分的设计 18编程语言和开发工具的选择 18编程语言的选择 18软件开发环境的选择 18程序设计的总体思路 18各个模块程序设计说明 20键盘扫描程序 203.2A/D转换程序设计 20\o"CurrentDocument"LCD□□□□□□ 21报警模块程序设计 22时钟模块程序设计 22温度模块程序设计 224.4小结 2.3\o"CurrentDocument"第5章系统整体校调 24调试方法和步骤 24调试过程中出现的问题及其解决方法 25调试结果 2.5\o"CurrentDocument"第6章讨论与展望 27结论 2.7系统需改进的地方 27致谢 28\o"CurrentDocument"参考文献 29附录(部分源程序) 28第1章前言1.1选择课题的背景和意义称重技术自古历来都受到人们的特别重视。早在我国父系氏族社会的末期就出现了所谓“度、量、衡”的说法,其中的“衡”也就是指测量物体轻重的工具,是以今天我们还把称重工具称作“衡器”。在贸易中对货物交换量的准确确定必须要用到称重器具,最初人们采用木制或陶制的容器作为交换货物粗略的计量, 后来出现的秤可以相对精确地测定物品的质量。 因此自从人类文明诞生之日起, 称重技术就和人类的经济社会生活密切相关, 同时随着社会的发展和技术的进步也在不断地革新。 随着现代发贸易对称重器具要求的不断提高, 传统机械式称重器具缺点也日渐显露,比如精度不高,工作效率低,不能自动计价等,尤其是容易被无良商家利用充当其作弊的工具。 虽然这些秤几经改进, 但是仍然不能同时确保准确性和可靠性, 这种状况直到电子秤的出现才发生了改变。 电子秤由于大大减少了纯机械部件的应用, 有效地避免了机械材料个体性差异带来的测量误差, 同时电子秤又大量地运用现代电子技术, 可以实现丰富的功能, 另外科学友好的用户操作界面又兼顾了设备的易用性。 上述诸多优点是以往任何一种传统的机械式称重器具所不具备的, 因此电子型的称重器具得到了很好的发展, 迅速得到了普及,目前已经占据了衡器市场的大部分份额。电子称重技术虽然已经得到了非常好的发展, 但是目前的电子称重器具依然有很大的提升空间,另外人们对电子秤各项性能的要求也在不断地提高。 由此可见, 现今对于电子称重技术的研究还是很有必要的, 现实也要求我们进一步提升电子称重工具的性能, 以便于更好地服务于现代的经济贸易活动。 据此可以判断本课题不仅有一定的理论研究价值, 同时又关乎人们日常的生活,也具有很强的实用价值。1.2电子秤的现状及未来的发展趋势电子秤从简单到复杂,由简陋到精密一直在发展。电子称重工具由开始的机械式发展到了机电结合式,最终实现了完全的电子化,同时也由单一功能发展到了多种功能。上世纪 70年代中期电阻应变式称重传感器在技术上取得了重大的突破,中国的电子秤工业也随之迎来了空前的大发展。国民生产的各个部门出现了各种各样的电子秤,极大地促进了我国工商业的发展。轻纺工业,煤炭能源工业,冶金工业,仓储货运部门以及食品生产工业的生产过程中都要用到各式各样的电子称重仪器。此外诸如商业贸易领域的称重和计价,电子元件生产的计数称量也同样不能缺少电子称重装置的。以上实例也仅仅是电子秤技术在国民经济中使用领域的冰山一角罢了,因为电子秤在生产和生活中应用的例子实在是不胜枚举。从以上这些例子说明电子称重技术是非常重要的,其应用范围也是十分广泛的。总之,电子称重技术在国民经济发展和社会进步中发挥着重要的作用,已经越来越受到人们的重视。改革开放以来,伴随着国家经济体制改革的进程,电子称重工业的行业规模,技术能力以及在我国经济中的作用,已经发生了变化的巨大,远非昔日可比。国家也投入了大量的资金和人力对电子秤行业予以了大力的支持,据有关方面的不完全统计,到 "七五"末期,国家对电子秤行业的累计投资已经达到了 3亿多人民币,并动用了一千多万美元的外汇。纵观历史,近代以来随着科技的爆炸式发展,秤这种古老的计量工具也发生了翻天覆地的巨变,几千年来中国人眼中的“秤”便是指木杆秤,虽然直至今日这种秤还依然发挥着作用,但是使用的范围已经越来越窄,现在的人都普通习惯使用更加方便和精确的电子称重工具。在二十一世纪的今天,人们希望电子秤可以使用更加方便,更加智能化,这也就给电子秤工业提出了更高的要求。现代电子称重仪器往往需要和电子计算机相组合,电子计算机的引入,大大扩展了电子称重仪器的功能,进一步扩大了其使用范围。未来的电子称重工具将会向智能化和多样化的方向继续发展。通过分析近些年来电子衡器类产品的发展现状及国内外用户的使用需求,电子衡器总的发展将会趋向于是模块化,小型化,多样化和智能化,可以预见未来电子称重器具的应用范围还将继续扩大。1.3设计的主要任务STC89C52单片机是本系统的控制核心,除了实现电子秤的称重以及计价功能外,系统还将实现电子万年历,电子时钟,电子温度计等功能,此外还具有单价输入,金额自动计算,超量程自动报警等功能。 此外本设计还具有友好的人机交互界面, 大大提高了设备的易用性和实用性, 4*4薄膜型矩阵键盘可以供用户方便地输入单价信息,还可以用于快速准确地校准电子万年历的日期和时间, LCD1286点阵式液晶屏,可以直观地显示中文和西文字符,进一步拓展了系统的功能, 在称重模式下可以清晰地显示待测物体的质量, 单价和总价, 在万年历模式下也可以清晰地显示年,月,日,星期的日期信息和时,分以及秒,温度等其他信息。本课题提精确出了一种基于单片机控制的智能化电子称重系统, 具有很多传统电子秤所没有的新功能,精确度同样可以做到很高,本设计方案实现了一个功能非常强大同时又简单易用的电子称重系统。第2章系统方案设计2.1系统总体构想及其工作原理□□□□□□□□□□□STC89C52RC□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□称重传感器及其□□□□□□□□□□□□□□□□□□□时钟和温度模块以及电源模块等部分组成。最小系统主要由STC89C52□□□□□□□□□□□□;□□□□□□□□□□□□□□□□□□□A/D□□□□□□□□□□□A/D□□□□□□□□□□□□□24位A/D□□芯片HX711口这种芯片是专为电子秤量身打造的。4*4薄膜型矩阵键盘和LCD12864□□□□□□□□□□□□□□□□□□□□□□□□□;□□□□□□□□□□□□□□□DS1302;温度采集模块□□□□□□□□□□□□□□□□DS18B20。本系统结构简单、功能多、易于使用□系统有一定□理论研究价值和实际应用价值。□□□□□□□□□□□2-1所示:图2.1平行梁式称重传感器2.2系统方案的确定本系统基本的设计思路是 ;单片机行梁式压力传感器为最叩的甲制模块Inn/D□A明in^,nuj膜键盘,液晶显示屏等而■□-1,实□系].方案要求的各项功能。□□□□□□□□□□ \';51系列的芯片HX711AD□□□□□□□□□□□□STC89C521】T□□□□□□□□□□用 CPLD或FPGA等大规模可编程逻辑器件。I态机的工作方式不太适合本系统II大。)另外本系统除而实现□□□□□□□□□□□□□aSTC89c52RC基本功能外,单片机(主控控芯片)口特殊□要求,这种非常常用且廉价的单□机来实现系统叩。

IL称重传感部分口口是电阻应变式平行梁压力传感器皿的内部口加是电瓜口测物I II "□同的点阵式“「一「型的]口□口值也会[….数据采集:,■■■■■部分传感器□薄 I;;扩展的时钟考虑到系统需优一片机去控制面的外..模块—口L

nu大规模可时钟模块状।□□较多1302芯片实口口 UI「所以最终选择了 ■STC89C52;;.,J温度模块:! DS18B20芯片:电阻应变片 □□□□□□□发生相应□变化,人机交互界面从而□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□■系统的总体框图2-2所示。当垂直于传感器受力面的正向压力态,电桥将会输出相应的电压,量转化成了电信号输出。Rl作用于梁上时,梁将产生形变口应变片R3、R4□□□□,□□□□□□□□□□□□□□□□□—图2-2传感器的示意图I-P电压的大小与作用与传感器上的重力成正比关系,从而将非电R1、A/D□□□□□□□□□□□□□□□□□□□□HX7n专用芯片。HX711□□□□□□□精度电子秤而量身打造的24位A/D。HX711□□□□□□□□□□□□,稳压电源。因此采用此芯片将会减少很多外围电路的设计工作,该芯片具有非常高的集成度,抗干扰性能也非常强。该芯片的选用降低了电子秤的整机成本,同时也大大简化了数据处理电路部分的设计,提高了整机的性能,增强了可靠性。单片机对该芯片的编程也非常简单,芯片内部的寄存器是不需要进行编程的,数据和控制信号直接通过芯片引脚驱动。模拟信号的输入有通道A和通道个通道都有对应的可编程信号放大器,。其中A通道的增益可以通过编程在128和64之间方便地切换,128增益时最大的输入信号幅值为±20mV,64增益时最大输入信号电压幅值为±40mV。B通道的增益值是固定的为64,一般可以利用B□□□□□□□□□由于芯片内部集成了优质的电源模块,因此称重传感器以及芯片内部的因此系统电路板上无需额外的模拟电源供电,非常地方便。另外片内集成了稳定的时钟振荡电路,芯片外部不需要再接任何器件。当系统通电时,HX711□□□□□□□□□□,□□□□□□□□化程序。人机交互界面采用 4*4薄膜型矩阵键盘来实现数据的输入和相关功能的切换,显示模块选取的是 12864液晶, 该液晶具有中英文显示的能力,显示重量, 单价, 总价, 以及时间和温度,显示效果清晰醒目。该液晶是晶讯联公司产的128*64汉字液晶屏,该液晶既可以当普通的图像型液晶显示模块使用,同时内置中文字库IC,编程者可以从字库IC中直接读取内部字库的字形数据,然后再写入到12864的驱动IC□,□□□□□□□□□□□辅助功能模块部分,时钟模块选择了现在非常流行常用的DS1302,温度检测模块是高精度数字温度传感器DS18B20。至此本系统的主要设计方案就已经介绍完了,系统的设计总体上优先采用了目前比较成熟和常见的方案,这样系统就可以具有很高的稳定性和可靠性, 同时也可以有效地降低系统的实现成本。2.3各个模块选型的分析□□□□□□□□□□□□□□□□□□,□□□□ A/D转换的时序,同时还需要控制□□□□□□,□□□□□□□□□□□□□□□□□□, 51单片机,AVR单片机,MSP4300列单片机, PIC单片机以及 ARM单片机均符合系统的设计要求。但是考虑到系统对单片机的处理速度和系统资源都没有特别高的要求,因此系统从开发难度和周期以及实现成本考虑宜于采用成本低廉且技术成熟的单片机,综合考虑决定选用 51单片机,51系列单片机是目前是应用最为广泛的单片机之一,技术比较成熟,开发难度适中。51□□□□□□□□□□ Intel8031□□□□□□□□□□□□□□□□□□□ 51单片□□□□□□□□,□□□□□□□□□□□□, Flash的引入使51□□□□□□□□,□□□□□□□□□ 8□□,□□□□□□□□□□□□ ATMEL公司的AT89系列51单片机最具代表性,曾经一度十分地风靡。之后许多公司纷纷推出自己的 51内核单片机,其中国内的佼佼者便是宏晶科技,他们生产的增强型 51单片机以其强大的性能和低廉的价格深受开发者的喜爱和追捧,本系统选用的单片机便是出自宏晶公司,可以预见今后很长一段时间 51单片机仍将占有大量市场。□□□□□□□□□□ STC89C52是因为 STC89C52□□□□□□□□□□□□□□ 8位□□,□□使用范围非常广□ STC89C52内置8K字节的在系统可编程的 flashrom。STC89C52采用传统51内核的同时又有非常多项有益的改进,可谓是旧瓶装新酒,使得STC89C52]□□□□□的增强型单片机,使其成为嵌入式控制应用首□□□□□之一□STC89C52RC片机的特性:①属于增强型的 8051系列单片机,其指令系统与经典的 51单片机完全兼容。口宽工作电压:分为 3V单片机和5V单片机。□□□□□□□□□□ 48MHZ,□□□□□□□□□□□□□□□□□ 8051的两倍。□□□□□□□□□□□ 8K字节。□□□□□□ 512Byte的用户数据存储空间。⑥P0到P3总四组32个通用I/O口,四组I/O□□□□□□□, 其中P0□□□□□□□□电阻,因此作为普通 I/O口使用,需要外部加上拉电阻,当 P0口为总线用时,无需上拉电阻。□□□□□□□□□ P3.0和P3.1实现串口下载程序。不用像其他单片机那样还需要专用编程器或仿真器,非常迅速和便捷。□□□□□2KB的EEPROM。⑨总共有3个16位定时器/计数器。⑩总共有4路外部中断,可以选择下降沿触发或低电平触发,此外单片机进入节能模式时,也可被外部中断以低电平触发的中断方式所唤醒。STC89C52的实物图如2-3STC89C52□□□□□□□ 2-4图2-3STC89C52实物图I2/PL0T2EX/P1.11 W2 39VCCP0.0/ADC?1.23 33P0.1/AD1P1.3P1.4P1.5P1.654 37 .5 36 _6 35 _7 34 .P0r2/AB2PO.3/AD3PO.4/ADIPG.5/AD5Pl.T8 33―PO.6/AD6RST9 E32PO.7/AD7RXD/PX010f31—EATXD/Pj.1IXT0/P3.211 30.12 29_ALEZPROGPSEM1XT1/P3.3T0/P3.:4T1/P3.5WP3.6而舟3“7图=12 28 .U 27 —15 26 —16 2541STC89C52引脚讷图』P2.7/AL5P2.6/AL4P2.5/AL3P2.4/AL2P2.3/ALIXTAL218 23P2.2/A1Q□□□□□□□□□□□□□□□□□□□□□□为电阻应变岫容应变式,液压转换22_P2.1/A9vssL式,□□□□□, □□□□□□□□□□□□□□□□20 21L 下面就[P2.D/A8]□□□□□□□□□□□□□范围一一做以介绍。□□□□□□□,□□□□□□□□□□□□□.□□□□□□□□□□□,□□□□□□□,□□□□□□□□□□□□□□□□□□□有待测物时,被测物的重力通过杠杆作用在表盘轴上从而使其旋转,则表盘轴上的移动光栅也随之转动,光栅产生的莫尔条纹也会移动。再通过光电管换算出发生移动的莫尔条纹的数量,从而把转轴的角度位移转换成了对应的光电信号。我们通过测量光栅的转动角度,就可以最终被测物的实际质量。□.□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□上时重力作用施加于杠杆使表盘转轴转动,和转轴相连的码盘亦随之转动。光电池可以把光信号转换成电信号,因此码盘转动角度和光电池的电信号呈一定关系,输出的电信号经由数字化处理,就可以得到待测物的实际质量。以前的机电结合秤上光电式传感器曾经被大量使用。②压磁式称重传感器是通过检测铁芯上绕的线圈的阻抗变化,间接得到待测物质量的。我们知道铁磁材料的磁导系数与磁阻会随着其所受外力的大小发生相应的改变,而磁导系数和磁阻的变化会引起线圈阻抗的变化,也可以说线圈阻抗的变化与外力大小成一定的比例关系,我们通过检测线圈阻抗的变化,就可以得到外力的大小,进而求出待测物体的质量。③压电式称重传感器是通过晶体表面电荷的转移现象测定物体质量的。一定方向的外力作用与某些晶体介质时,晶体内部的正负电荷会发生相反方向的移动,晶体表面的两个方向就聚集了大量符号相反的束缚电荷,这些束缚电荷的电荷密度与外力的大小成正比关系,[18]据此可以得到物体的实际质量。④液压式称重传感器的量程比较大,一般应用于工业场合。它的原理也比较简单,是通过其内部液压油的压强变化达到测量目的的。当中午作用于液压油时,液压油会受到压缩,所以其压强会增大,增大的程度与物体重力有关。我们可以通过测出压强的变化,来确定被测物的质量。液压式称重传感器的结构相对简单,稳定性好,但是其准确度很低。□□□□□□□□□□□□□□□□□□□□□□□□□□□,□□□□□□□□□□□□,弹性体会发生形变,从而引起电容极板间距的变化。我们知道电容器的电容大小和其极板间距有关, 当电容发生变化时,电路的震荡频率会发生变化。通过计算得知振荡电路的振荡频率与电容器的极板间距呈正比例的关系。很明显,电容器极板间距的变化和待测物的质量有关,过测量电路的变化量。我们就可以求出被测物的实际质量。电容式称重传感器价格便宜,功率消耗低,精确度在1/200和/500之间。⑥振动式称重传感器的金属丝或金属膜的尺寸,材质和密度都一定时,其固有频率就只与其受到的外部力的大小有关。不同的待测物施加的重力也不同,金属丝的振动频率也就会发生不同的改变,我们设法用频率测量仪器测出金属丝震荡频率的改变,就可求得待测物的质量。振动VV字形固定的。当有被测物作式称重传感器分为音叉式以及振弦式。□.□□□□□□□□□□□□□□□□□□□□□□□□□□用于弦丝时,弦丝的V形交汇点会向下移动,与此同时弦的左半部拉力增大,弦的右半部拉力两部分的频率之差和物体的质量有0.001减小。弦的左右两部分的固有频率都会发生就会发生变化,一定关系,我们得到这个频率差就可以求出被测物的质量。振弦式传感器的精确度高达到1.0001,其量程可达几百千克的级别,优势比较明显。但与此同时其结构过于复杂,加工两部分的频率之差和物体的质量有0.001难度非常大,因此造价很高,只适用于特殊场合。□.□□□□□□□□□□□□,□□□□□□□□□□□□□,□□□□□□□□□□□□的固有振荡频率。当音叉受到待测物的重力作用时其固有频率会增大,频率增大的量与重力大的固有振荡频率。当音叉受到待测物的重力作用时其固有频率会增大,频率增大的量与重力大小的平方根成正比。可见音叉固有频率的变化量反映了物体的质量大小,求出音叉频率的变小的平方根成正比。可见音叉化量就可以得到物体的质量。音叉式称重传感器功耗低,计量准确度高,可惜最大量程只有10kg。这种传感器的工作原⑦陀螺仪式称重传感器是最近几年来新兴的一种新型数字型称重传感器。这种传感器的工作原理利用了陀螺的进动特征与力矩效应,陀螺仪式称重传感器的位移与物体作用力不在一个方向理利用了陀螺的进动特征与力矩效应,陀螺仪式称重传感器的位移与物体作用力不在一个方向上,不必考虑静态平衡问题。这种传感器几乎不存在滞后性,线性非常好,精度高,响应速度快,抗干扰能力很强。陀螺仪式称重传感器最大的特点是它输出的信号直接就是数字型的,快,抗干扰能力很强。供单片机直接处理,无需再经过模数转换过程,使用起来非常方便。⑧电阻应变式称重传感器内部的弹性体上有四个电阻应变计,构成了惠更斯电桥,待测物重力使当弹性体产生形变,其上的电阻应变计的电阻发生不同的变化,电桥的平衡状态被打破,出相应的电信号。由于输出的电信号与物体的重力存在线性关系,所以通过后面的信号处理电路测出这个电信号的幅值,就可以测出物体的实际质量。电阻应变式称重传感器的量程范围很⑧电阻应变式称重传感器内部的弹性体上有四个电阻应变计,构成了惠更斯电桥,待测物重力使当弹性体产生形变,其上的电阻应变计的电阻发生不同的变化,电桥的平衡状态被打破,出相应的电信号。由于输出的电信号与物体的重力存在线性关系,所以通过后面的信号处理电路测出这个电信号的幅值,就可以测出物体的实际质量。电阻应变式称重传感器的量程范围很大,最高可称量上千千克的物体,其计量准确度也比较高。电阻应变式称重传感器结构简单,可以适应大部分的工作环境,可靠性也较好。因此目前这种称重传感器得到了非常广泛的应用。可以适应大部分的工作环境,可靠性也较好。因此目前这种称重传感器得到了非常广泛的应用。综上所述,反复对比各类称重传感器后可以得出结论:从技术成熟度,结构复杂程度,计量精确度和制造成本综合考虑,电阻应变式称重传感器是最佳的选项。本方案选用的是电阻应变式平行梁传感器,目前应用最为广泛。在各种各样的电子秤中,可能使用的都是这种称重传感器。厨房秤和珠宝秤等行业领域,是工业和农业自动化系统中一可能使用的都是这种称重传感器。厨房秤和珠宝秤等行业领域,是工业和农业自动化系统中一种不可或缺的核心部件。其外形是不规则的长方体形状(如图界部分人对其的一种称呼。2-5),平行梁称重传感器是业图2-5种不可或缺的核心部件。其外形是不规则的长方体形状(如图界部分人对其的一种称呼。2-5),平行梁称重传感器是业图2-5平行口传感器外形平行梁传感器的原理(如图2-6):外力作用于弹性体时,弹性体发生弹性形变,电阻应就可以得到待测变片由于是贴在弹性体上的也随之产生形变,产生形变后电阻应变片的阻值也将发生变化,桥不再平衡,输出的差动信号经过放大和A/D转换,□□□□□□□□□□,引出导线表2-1平行梁传感器参数星程(kg)3,综合误差(%F.S)0.05额定输出温度飘移(%r.s/io℃)W0.15灵敏度(niv/v)1.0工0.1零点输出(mV/V)工0.1非线性(%F.S)0.05输入电阻(Q)1000=50重复性(%F.S)0.05输出电阻(Q)1000二50滞后说F.S)0.05绝缘电阻(MQ)2000(100VDC)蠕变(%F.S/3min)0.05推荐激励泡压(V)5〜10零点漂移(%F.S/lmin)0.05工作温度范围(℃)TO〜-50零点温度漂移(%F.S/10℃)0.2过载能力(%r.s)150平行梁传感器可以在各种恶劣的条件下保持正常地工作, 它的体积也一般比较小, 非常适合小型化的民用称重设备。平行梁传感器精度高、量程大、构造简单、频率响应特性优异,当然它也存在着缺点: 电桥输出的差动信号微弱需要进行放大, 而且当称量物体重量较大时其线性特征会变差,当然这些缺点可以通过优化电路设计在一定程度上得到补救。由于平行梁传感器输出的信号是模拟信号,单片机无法直接进行处理,因此需要通过A/D□□□□□□□□□□□□□□□□,□□□□□□□□原始□□□□□□,如果直接处理误差会非常大,所以还需要进行信号的放大。另外还要给传感器和 A/D转换芯片提供稳定可靠的电源,因此这里有两种方案可供选择。方案一,采用高精度的 A/D转换芯片,同时设计信号放大电路和电源供电电路。此种方法可以保证具有良好的效果,但是由于电路结构非常复杂,工作的温度性无法保证,另外也势必会增加成本;方案二,采用电子秤专用集成 A/D芯片,可以省去放大电路和电源电路的设计,简化系统结构,同时由于采用专用芯片,因此其精确性和可靠性也有保障。综合考量之下,我决定选择方案二。经过长时间的资料查找,海芯科技的一款电子秤专用的 A/D转换芯片进入了我的视线,□□□□□□□□□□□□□□□□□□□□□□□□□□□□□,□□□ HX711(引脚示意图如图2-7)。1稳压电路电源VSUP匚1・16nDVDD数字电源稳压电路控制输出BASE匚215二1RATE输出数据速率控制输入模拟电源AVDD匚314二1XI外部时钟或晶振输入稳压电路控制输入VFB二413=□XO晶振输入模拟地AGND二512=□DOUT串口数据输出参考电源输出VBG二611nPDSCK断电和串口时钟输入通道A负输入端INNA二710二1INPB通道B正输入端通道A正输入端INPA匚89ZJINNB通道B负输入端图2-7HX711引脚示意图A/D转换器以及信号处理部分此处选用 '、HX71l。HX711□□□□□□□□□□□□,□□电源。因此采用此芯片将会减少很多外围电路的设计工作,该芯片具有非常高的集成度,抗干扰性能也非常强。该芯片的选用降低了电子秤的整机成本,同时也大大简化了数据处理电路部分的设计,提高了整机的性能,增强了可靠性。由于芯片内部集成了优质的电源模块,因此称重传感器以及芯片内部的 A/D可以从芯片直接获取电源,因此系统电路板上无需额外的模拟电源供电,非常地方便。另外片内集成了稳定的时钟振荡电路,芯片外部不需要再接任何器件。当系统同电时,HX7n□□□□□□□□□□,□□□□□□□□□□□□任何器件。当系统同电时,HX7n芯片的特点:口通道 A和通道 B两路可选择的差分输入。□□□□□□□□□□□□□□□□,□□□□□□□□□□□□□□□□□□□,□□□□□□□ HX7n内部的 A/D□□□□□□□□□□□□□□□□□□□□□□□□,□□□□□□□□□□□□□;□□□□□□□□□□⑤具有上电自动复位电路。□□□□□□□□□:□□□□□□□□,□□□□□□□□□□□□□□□□□□□□□□□□□□□□ 10HZ和80HZ之间转换。□□□□50Hz或60Hz电源的干扰。⑨超低的功耗。⑩工作电压范围是 2.6到5.5V。⑪可以在 -40到85℃的环境下工作。@16□□□□□□□□□□数据输入模块的选择相对来说非常简单,这个模块也属于人机交互界面的其中一部分,需要完成称重系统金额等数据的输入以及时钟模块时间的调整。因此无非就是有独立键盘和矩阵键盘两种选择,而本系统至少需要设置 10个数字键,还有若干的功能转换按键,考虑到按键数量比较多,毫无疑问矩阵键盘将会是最佳的选择。经过对比,本系统选择了近些年来颇为流行的一种键盘即薄膜型键盘。薄膜键盘其实是一种薄膜开关,此种键盘按键一般很多,按键分布整齐,人们习惯叫它薄膜键盘。薄膜键盘外观漂亮,体积较小,重量特别轻。具有防水,防灰尘,耐酸碱,防油污,抗震以及寿命长等诸多特点。薄膜键盘集文字标识,商标印制,显示透明窗为一体,目前已经被广泛地应用于智能化的电子测量仪器、家用电器、医疗器械等诸多领域。薄膜键盘的优点:④使用寿命很长且可以耐弯折。表2-2键盘按键功能分布123功 能转 换456时 间调 整789去 皮功 能*0#预 留按 键显示模块可以在常见的数码管和液晶屏之间取舍,考虑到本设计要显示的数据量会比较多,如果采用数码管显示,则所需的数码管位数就会非常多,将会占用单片机大量宝贵的I/O口,本就有限的51□□□□□□□□□□□□□□□□,□□□□□□□□□□□□□杂,编程也会有一定难度,同时大量的数码管从美观和显示效果来看也不甚理想。可见数码管只适用于显示内容相对较少的情况,当显示内容较多时,数码管往往就显得鞭长莫及了。□□□□□□□□□□□□□□□□ LCD□,□□□□□□□□□□ 1602和12864为典型代表的普通屏,还有更加高端的彩色 TFT屏。从成本和实用性来看彩色屏可以被排除,因为就普通的电子秤来说不需要显示大量的彩色图像,用彩色屏有些牛刀杀鸡的感觉,同时就 51单片机的处理速度来说去驱动高分辨率的彩色屏也会显得力不从心。 1602成本最低,但是其显示区域较小且有不能显示中文的局限性,因此,本方案选择 12864液晶作为系统的显示部分。系统选用的是 12864液晶屏,内置字库,采用 8位并行数据传输模式,它的显示分辨率为128口64,可以同时最多显示四行 32个16*16点口的汉字或 64个16*8□□□□□□□□□□本模块还具有绘图功能,非常适合做人机交互模块。同时 12864的功耗也很低,价格相对便宜,其硬件电路的设计比同类模块也要简单。报警模块相对来说也比较简单,本设计采用的是比较经典的蜂鸣器报警方案。蜂鸣器是一种常见的电子讯响设备,蜂鸣器被广泛地应用于游戏机,家用电器和医疗设备等电子设备的报警电路中。蜂鸣器价格低廉,电路结构简单,响度大,工作稳定性高,是一种非常理想的报警电路设计方案。蜂鸣器分为有源蜂鸣器和无源蜂鸣器,其中有源蜂鸣器接通合适的电源就可以连续

发出声响,而无源蜂鸣器必须有音频信号的输入才能发声,和普通的扬声器更像。我们常说的有源或无源蜂鸣器,其中的“源”是指震荡源,而不是电源。有源蜂鸣器内部带有独立的震荡源,因此只要一通电就会发出响声;但是无源蜂鸣器内部是没有震荡源的,所以直流信号无法直接驱动其鸣叫。只有输入一定频率的方波信号才可以驱动它发声。有源蜂鸣器一般都比无源蜂鸣器贵,就是因为它内置了一个震荡源。无源蜂鸣器虽然有其自身的优点,比价格便宜,发声频率可编程,在个别特殊情况下甚至可以和但是无源蜂鸣器的控制程序就要远远比有源蜂鸣器复杂了,其中往往需要涉及定时器的编程,相反有源蜂鸣器的编程非常简单只需要控制是小批量的话无源蜂鸣器的成本优势也并不明显,加之本设计只是需要普通的声音报警,没有要求音调的变化。毫无疑问,在本设计中,有源蜂鸣器是最好的选择。□□□□□□□□□□ DS1302、PCF8485和简单、成本低廉、应用简单的优点,因而在目前的电子设备中被广泛地应用。在这类芯片中DS1302是目前最为经典,使用也最广泛的一种。池提供充电功能,采用高效的串行数据传输模式,可以在接入电源时为备用电池充电,当然LED复用同一个 I/O口。I/O口电平的高低变化就可以了。另外如过LED复用同一个 I/O口。I/O口电平的高低变化就可以了。另外如过DS1307等都比较流行。这些芯片都具有接口DS1302由DALLAS□□□□,□□□□□□□经过对比,我决定选用 DS1302作时钟芯片,因为其技术相对比较成熟,价格适中,功能也符合设计的要求。 DS1302是一种低功耗,多功能的实时时钟芯片,具有进行闰年补偿功能,在2.5V到5.5V□□□□□□□□□□□□□□ DS1302通过简单的三个 I/O□□□□□□□□□□□□ DS1302比DS1202□□□□□□□□□□□□,□□□□□□□□□□□,□此DS1302是DS1202□□□□□□□□,□□□□□□□□□□□可以不直接接触,因此这种传感器的测温上限非常高,理论上可以不用考虑敏感元件的耐高DS1302的管脚示意图如图 2-8可以不直接接触,因此这种传感器的测温上限非常高,理论上可以不用考虑敏感元件的耐高温上限。但是这种传感器造价相对昂贵,主要是用来测量运动中的目标、或温度变化迅速的目标的表温,尤其是1800℃以上的高温。因此这种传感器就本系统来说不是特别合适。接触式一类的传感器的热电偶或热电阻的测温范围大,并且灵敏度高,转换时间短,但是需要与之配套的外围电路相对复杂,适用于专用的测温仪器的开发,考虑到本系统中的测温功能只是其中一个辅助功能,对温度传感器的测温性能并无特别高的要求,为了简化电路设计减小开发难度,在此选用集成温度传感器。集成温度传感器又有模拟和数字的区分,其中模拟型的是把敏感元件和基本信号变换电路以及控制电路全部集成在了单一的I芯片上,这种芯片优点比较明显:灵敏度高,线性度较好并且响应速度很快。数字型集成温度传感器把温度敏感器件,A/D转换器和存储器等集成在了一个ICQ,□□□□□□□□□□,□□□□□□□□IC中读取数据,再经过换算就可DS18B20.□□□□□□□□□可以完成和MCU的通信,不需要额外的备用电源,3.0V到5.5V□□□□□□□□□□□,它可以测量零下55℃到125℃的温度范围DS18B20.□□□□□□□□□可以完成和MCU的通信,不需要额外的备用电源,3.0V到5.5V□□□□□□□□□□□,它可以测量零下55℃到125℃的温度范围,量程内的测温精度可以达到±0.5℃。DS18B20可编程的分辨率为9到12位,虽然响应时间稍长,但对于本系统来说完全可以符合要求。DS18B20□□□□□□□□2-9:以得到实际的温度值,使用更加加方便。对比以上方案,设计最终选择了一款数字集成温度传感器PINASSIGNMENTBOTTOMVIEW20引脚示23□ALLAS□S1B2OBOTTOMVIEW20引脚示23□ALLAS□S1B2O2.4小结2.4小结DS1®2010-^2PACKAGE本章内容对系统的总体设计方案做了简单的介绍,之选型依据。□□□□□□□□□□□□□□□!]□□□□非常重统[□□□□模块选择得当可以以最简单最廉价]方案实现设计所要求]功能,效的保障,达到事半功倍的效果。相反如果模块选择失当,整个设计进程将会折,最终□□□□□□□□□□□□□□□□□□□本章内容对系统的总体设计方案做了简单的介绍,之选型依据。□□□□□□□□□□□□□□□!]□□□□非常重统[□□□□模块选择得当可以以最简单最廉价]方案实现设计所要求]功能,效的保障,达到事半功倍的效果。相反如果模块选择失当,整个设计进程将会折,最终□□□□□□□□□□□□□□□□□□□]结果往往也不理想。gCfct

>第3章系统硬件电路的设计3.1MCU的最小系统电路设计单片机最小系统的设计参考了经典的51单片机的电路设计,包括震荡电路,复位电路,该方案已经久经实践的检验,所以是非常成熟的,因此在此不再赘述,具体的电路连接图如下图方法如图RXD/P3.0ALE/PROGPSENP2',7/A1534F__323938373635alert转0.3.2称重传感器和-RXD 10R0W4ROW3DOUTPDSCK-01-2-3Au^.-万7I<一-I一I<I<I<-<T1ppppppnflp_IJP0.0/AD0P0.1/AD1P0.2/AD2PO:3AD33-1单片机最小系统瓯4诡D4P9.5/AD5HX711的册设计区P0.7/AD73-2

LCD_CS

ES匚__里色线电源负接E一红色线电源正按E+京白色线信号负接5—人绿色线信 研.号正癖-"-HX'其中AVDD和GND为称重传感器提供电源。具体□□设计如图3.3数据输入模块的电路设计VSUPDVDDBASERATEAVD口VFBXIAGNDXOINA一INB-数据口,P3.5为使能端□E),P3.6为读写控制端□R/W),P3.7为数据/□□□□□(D/I),P0.2为串/并选择控制端(3-5LCM1vccfGND1VCC2VO 3 P37五-^36 56P20 万P21 7P22 亍~^23 W-P24 rrP25 fl图3-5LCD12864接口电工P27 14P02 fTPO1-POO 17iJvssVDDVOD.T/CSR/W/SIDECLK01234567

DDDDDDDD▽「「I 19VLL.GND20PSB/CS1CS2RSTVEE/NCBLABLK3.5报警模块的电路设计□□□□□□□□□□□□, 由于51单片机的I/O□□□□□□□□□□□, □□□□□□□□□□□□□; LED□□□□□□□□ LED通过串接1K电阻后和P0.7□□□□□□□□电路设计如图3-6蜂鸣器(超重报警)3.6时钟模块和温度模块的电路设计3.6时钟模块和温度模块的电路设计DS1302□□□□□□□□□□□□,□□□□□□□□□□□□□□□□,□□□ P3.4口接时钟端,DS18B20由于是单EP3.3为数据口,简单,数据端口接VCC2VCC1XISCIXX2IOGNDESTDS1302P0.3,如图-22PVCC3-7P03DS18B2O第4章系统软件部分的设计4.1编程语言和开发工具的选择4.1.1编程语言的选择51单片机的编程语言有汇编语言或是短,所占用的存储空间相对很小性能。使用汇编语言编写复杂的应用却非常困难用C51□□□□□□□□□□□□编语言来讲的,如果程序编写得科学合理,那么码,同时C语言的易读性和可移植性却是汇编语言望尘莫及的言,减小了程序眼的编程难度。所以本方案选择4.1.2软件开发环境的选择□□□□□ C51□□□□□□□□□□□:MicroComputerControls、KEIL等。其中发人员的喜爱, 在国内 51单片机开发界因此本设计采用4.2程序设计的总体思路C51语言等高级语言。其中汇编语言产生的目标代码,因此汇编程序的执行速度较快 ,可以充分发挥出单片机的硬件,并且程序的可读性以及可移植性都不强。,需要占用更多的程序存储空间。但这些都只是相对于汇KEIL□□□□□□,KEILV4□□□□□□□□□□□□□□□□□□□C□□□□□□□□□□□□□□□□□□□,编程效率将会大大高于汇编语C51□□□□□□□□□□□□□□□□IAR、Avocet、Tasking、Dunfiledshareware、KEIL□□□□□□□□□□□□□□□□□□□是国内编程人员首选的开发工具。本次设计的系统包含的模块数量比较多,如果所有函数都在一个源代码文件中实现,容易使源代码文件过于臃肿, 同时程序的可读性和可维护性也会较差。编程的思想, 即每个模块的功能均只由一个源代码文件实现,源代码文件调用。 每个源程序和对应的头文件均以相应的模块名来命名,这样处理的结果会使整个设计的程序部分可读性非常强,的程序设计方法也便于对各个模块的调试采取分而治之,因此本设计考虑采用模块化同时对应一个头文件, 以供其他力求做到闻名而知意,也大大提高了程序的可移植性。 这样然后再各个击破的策略, 可以尽可能地减小程序调试的难度。整个程序的结构图如图4-1:Id-、Source[jroup1

|…阂STARTUP.A51

白…固LCD12B&4IDE.C|iQreg52.h“…匐intrins.h白…因hx711.c|iQreg52.h“…目intrins.h

jianpan.c=…Qreg52.h白…固DS18B2O.C|iQreg52.h|…Qstdio.h“…目intrins.h“…图conmon.h白…固dsl302jc:…Qreg52.h“…/intrins.h“…图conmon.h白…因main.c□□□□□□□□□□,□□□□□□□□□,□□□□□□程图如图4.2。4-1h序吊骊Zh“…图stdio.h“…国intrins.h“…国Icdl2364ide.h“…国conmon.h…Qjianpan.h“…国dsl8b2O.h…国dsl302h…国hx711.hA键来切换,具体的程序流否按下B键A键是图4-2程序流程图NNYYi进入万年历模式进入称重模式各个模块初始化获取数据占设置单价显示数据N正常走时 ♦开始校时 Y/去皮C <fC键各个模块程序设计说明键盘扫描程序矩阵键盘扫描程序是在“jianpan.c”源文件中实现的。程序扫描的方法是先给某一行置低矩阵键盘扫描程序是在“电平,然后对每一列进行完整扫描,列扫描完成后在变化另一行,同样进行列扫描,直至每一行都被扫描过,键盘也就完成了一次扫描,总共有16个按键,也就是说需要做16次判断,如果有键被按下,则返回其键值。由于系统没有设计硬件消抖电路,因此需要在程序中加入软件消抖,具体的实现方法是加入适当的延时,行都被扫描过,键盘也就完成了一次扫描,总共有16个按键,也就是说需要做16次判断,如果有键被按下,则返回其键值。由于系统没有设计硬件消抖电路,因此需要在程序中加入软件消抖,具体的实现方法是加入适当的延时,以消除按键抖动造成的电平跳变,从而增加按键稳定性。详细程序请参考附录部分相关内容。A/D□□□□□□HX711□□□□□□□□□□□□□□DOUT和时钟线PDSCK,□□□□□□□□□□□□据和选择输入通道以及增益。当DOUT为高电平时,说明明A/D转换器未就绪,需要等待,HX711□□□□□□□□□□□□□□DOUT和时钟线PDSCK,□□□□□□□□□□□□据和选择输入通道以及增益。当DOUT为高电平时,说明明A/D转换器未就绪,需要等待,串口时钟输入信端PDSCK此时应该为低电平。DOUT从高电平变低电平后,说明A/D转换已经就绪,此时如果绪,此时如果PD_SCK输入了25到27个的时钟脉冲。其中第一个时钟脉冲的上升沿将读出输出的24位数据的最高位,一直到第24个时钟脉冲完成,24位数据就完成了输出输。剩下的第25到第27个时钟脉冲是用来设定下一次A/D□□□□□□□□□□□□□□□□□A/D转换器的输入通道或增益任意一个参数发生改变时,出的24位数据的最高位,一直到第24个时钟脉冲完成,24位数据就完成了输出输。剩下的第25到第27个时钟脉冲是用来设定下一次A/D□□□□□□□□□□□□□□□□□A/D转换器的输入通道或增益任意一个参数发生改变时,都需要至少经过4个数据输出周期输出的数据才能稳定,也就是说4个数据输出周期后DOUT才会变为低电平,开始输出有效数据。详细设置参见表4-1。从HX7n读出的24位二进制数还需要经过换算才能转换为最终的实际重量。具体换算方法为:传感器电源为固定的4.3V,传感器灵敏度为1mv/v,经过A/D的128□□□□□□□□□压(重物为4.3v*1mv/V*128=550.4mV(4.1)同时A/D□□□□□□□4.3V,所以,不难得出口量程最终输出的二进制数为:550.4mV*224/4.3V□2147483(4.2)根据传感器的线性特征,可以得到,当输出二进制数为n时,对应的实际质量x为:xQn/4.30g12864的程序设计采用并行显示方式的,具体的端口定义见图LCD显示程序设计12864的程序设计采用并行显示方式的,具体的端口定义见图#defineLCDdataP2〃数据口sbitLCD_RS-= P3”;〃寄存器选择输入sbitLCD-RW=P3rt6;//液晶漆/写控制sbitLCD-EN= P3^5;〃液晶使能控制sbitLCD二FSB= P0^2;〃串/并方式控制sbitLCD-RST=P。八0;〃液晶复位端口4-3:图4-312864端口定义液晶初始化完成后,先显示屏幕上一些固定的信息,然后再显示从传感器或芯片上读出的数据。考虑到要显示的信息比较多,12864有限的屏幕不能一次性地把所有内容显示完全,经数据。考虑到要显示的信息比较多,测试滚动显示的效果也不理想,因此设计把信息分成了两屏来显示,具体实现方法是通过键盘

测试滚动显示的效果也不理想,因此设计把信息分成了两屏来显示,具体实现方法是通过键盘12864单上的“A”12864单次显示内容少的问题。报警模块程序设计报警模块的程序非常简单,根据硬件电路的设计,只要当读取的传感器的数据超过了设定值,此时只要将连接蜂鸣器和蜂鸣器和LED就会产生报警信号,试连续的蜂鸣器报警声太过尖锐,会引起使用者的不适,因此后期程序经过了改进,报警模块的程序非常简单,根据硬件电路的设计,只要当读取的传感器的数据超过了设定值,此时只要将连接蜂鸣器和蜂鸣器和LED就会产生报警信号,试连续的蜂鸣器报警声太过尖锐,会引起使用者的不适,因此后期程序经过了改进,经过测在程序中加入了稍许的延时,实现了间歇性的报警声,效果较之以前有很大提高。时钟模块程序设计时钟模块程序设计的难点是时间的调整,部分,根据设计的要求,需要由键盘直接输入时□□□□,□□□□□□□□□□□ DS1302□□□□□□□□□□,□□□□□□□□□□间显示在 12864液晶屏上。时钟模块程序的流程图如图 4-4图4-4时钟模块程序流程图init_DS18B20(init_DS18B20()”,然后再在大循DS18B20□□□□□□□□□□□□温度模块程序设计□□□□□□□□□□□□ DS18B20□□□□□□□□环中调用DS18B20□□□□□□□□ □□□□□□□□□序号列号的操作,直接读取温度寄存器。DS18B20□□□□□□□□□□□□□□□□□□□序号列号的操作,直接读取温度寄存器。中,读取之后需要把两字节的数据合并, 然后转换为12864可以直接显示的字符, 最后在液晶屏上显示出当前的温度值。小结本系统的程序设计由于模块化编程思想的引入而使其调试难度大大降低, 每个模块都可以单独进行调试,当模块单独工作正常时, 再将其放入整个系统进行联合调试, 如果系统哪一部分出现问题,也可以迅速找到问题根源并进行修改, 由此可见模块化编程对于结构复杂的程序编写是一种非常行之有效的方法。第5章系统整体校调调试方法和步骤根据前面所述模块化的编程方法,系统的调试基本上也遵循了这一原则。即先易后难,先局部再整体的调试方法, 先调试一些相对简单的模块, 比如蜂鸣器报警和液晶显示, 程序编译□□□□□□□□□□□□ protues□□□□□□□□□□□□, □□□□□□□, 最后把程序烧写进单片机进行实际硬件的测试。 由于软件仿真和实际的硬件一般都存在一定的差距, 软件仿真通过的模块不一定可以在硬件测试中通过。根据硬件测试的结果对程序进行相应的调整,直至硬件测试也通过。当各个模块软件仿真和硬件测试通过后,需要进行系统的联合调试,也就是要把各个独立的模块给整合进一个系统。 这一步的调试也相当地关键, 需要保证各个模块既可以正常地工作又不能影响到其他模块,所以各个模块需要达到局部独立工作,但整体上又协调统一的要求。图5-1和图5-2是某些模块的仿真过程。图5-1时钟模块仿真结果

电子秤图5-2称重模块仿真图>:«=>:3单总总元千元$Mt|E根EmEE己E:电子秤图5-2称重模块仿真图>:«=>:3单总总元千元$Mt|E根EmEE己E:Eml泗目遑8.0904.90808.09SIdo6606006060dog§yBE占E6RE己E!E己H总gg[?调试过程中出现的问题及其解决方法程序调试主要分为两大部分,即万年历模式和电子秤模式。其中万年历模式中时间显示相对比较简单,程序调试的难点在于时间调整函数的处理。 由于矩阵键盘的引入, 系统设计要求时间调整需要通过键盘直接输入要调整的数值, 而不是像传统时钟那样只通过一个按键实现时间数据单步的加减。调试过程中特别是两次按键之间的延时更是需要反复试验才能确定最为合适的参数。电子秤模式中调试的难点在于称重特想参数需要多次不断地校正,由于每个称重传感器的特性曲线都不尽相同,同时还存在一定的非线性,因此需要用标准砝码,反复去校正。知道找出相对最好的特性参数,才可以使称量结果的误差减到最小。调试结果经过长时间不断的调试,整个系统的表现终于达到了设计的各项功能和性能的要求。系统□□□□□,□□□□□□□□□□□□,□□□□□□□□□□□□ A”键自由切换。在万年历模式下液晶显示屏幕上可以显示年、月、日、星期、时、分、秒和当前温度值,时间的□□□□□□□□□“ B”来激活,可以从键盘数字键直接输入调整的目标值,调整完一项时间参数后通过按键 “B”切换到下一项的调整, 直到所有时间参数都调整完毕, 最后按下 “B”键时万年历恢复正常的时间显示模式。当切换到称重模式时, 已经屏幕上会显示欢迎信息和待测物的质量, 单价以及金额的信息。为了方便用户使用,本系统还增加了“去皮”功能,可以直接得到待测物的实际重量,非常方

□□□□□□, □□□□□□□□□□□□□□□ C”实现的。使用过程中使用者可以随时变换单价信息,类似于时间的调整,可以通过数字键盘直接输入单价,系统默认单价为三位数,其中一位为小数部分, 足以应付日常使用, 输入单价后系统将会自动计算出相应的金额并显示在液晶屏上。此外系统还具有超重报警功能, 当待测物的质量超过了系统的量程,动响起警报声,给使用者以提醒。 报警功能的加入有效地保护了称重系统的使用安全,系统故障出现的概率。用标准砝码测试的结果如表 5-1所示表5-1测试结果砝码重量( g)实际显示重量1(g)实际显示重量2(g)实际显示重量3(g)10099999850049950049910009989999992000199920002000300030002999299940003999399939995000499849984997经过测试系统的平均称重误差大约为 1/358,由于传感器本身以及其他元器件都做不到理想的线性, 程序中已经根据测试结果进行了线性补偿。 经过多次校准和非线性补偿后,蜂鸣器会自减少了本称重蜂鸣器会自减少了本称重第6章讨论与展望结论本系统从前期论证到选题,查找资料,系统设计,程序编写,软件仿真,硬件调试到最后的项目完成,前后历时近三个月。期间我查找了大量的资料文献,设计了很多方案才确定了最终的方案,程序编写和调试过程更是倾注了我大量的心血。不过值得欣慰的是最终我完成了设计要求,可以说通过本次设计我付出了很多,同时也收获了很多,不论是理论方面还是实际动手能力都得到了很大的提升。 同时这次设计任务也是对我四年来所学知识的综合考察,通过完成设计任务进一步巩固了以前所学到的各种知识,同时也认识到了自身的不足。本系统不仅按设计要求实现了基于单片机控制的称重系统, 功能和测试精度均达到了设计的要求。同时系统还进一步扩展了许多实用的功能,比如万年历功能和电子温度计的加入使得系统功能更加多样化,有效地提高了整个系统的实用性,是本次设计的一个亮点。系统需改进的地方虽然系统完成了设计的要求, 但是由于本次设计任务时间有限, 同时又限于本人的水平,本系统还是有很多值得改进的地方。比如原本的方案要在称重系统中加入语音播报的功能,可以进一步提高系统的易用性和友好性,但是考虑到本系统扩展的功能较多,已经使单片机有限的I/O资源几近枯竭,再加入新的功能将会非常困难,加之电子秤专用语音芯片在市场上非常难买,很多元件市场都难觅其踪,不得已这个设想只能遗憾地被放弃了。另外系统是硬件电路设计和软件编程都还有进一步优化的空间。硬件电路方面还可以优化电路的布线,进一步提高系统的抗干扰能力,使测量结果更加稳定和准确,同时应该也可以使整个系统更加地紧凑,而不是像现在稍显臃肿。软件设计方面优化的空间同样很大,可以进一步提高代码的执行效率,从而提高系统的整体性能。作为大学四年最重要的一个课程设计,完成大学生涯中这最后的一项学业任务,对每个毕业生都是一个不小的挑战。努力外,我也受到了很多人的帮助,在此我想向他们表示真诚的感谢!首先,我要非常感谢毕业设计时间紧,给大学生涯画上一个完美的句号。在本次系统的设计以及论文的完成过程中,xxx□□□□□□□□□□□□□□□□□□□的导师,在设计任务的初期就对于我们设计的完成进度非常关心和重视。指导我们的的毕业设计,这对于我们是莫大的鞭策和鼓励。在本论文的完成过程中,给了我很大的帮助,给我打论文提了很多有用的建议,最后,我要感谢学校的各位老师和我的同学。年我才学到了很多知识,这是本次论文完成的基础。任务重。我们都非常渴望圆满地对于我不懂的地方也给予了耐心的指导。正是有了各位老师孜孜不倦的教导,在论文撰写的过程中我也曾向多位老师请教过问题,他们也都非常耐心地予以了解答,并给了我许多力所能及的帮助。但是毕业设计确实除了我自身的老师是我毕业设计老师曾多次询问和x老师也大学四我的各位同学在论文的完成中也给予了我很多支持,我们经常一起探讨遇到的各种问题,并且相互帮助和鼓励,在此向我要向他们表示感谢。参考文献[1]ShengC,ChenghuiY.Circuitdesignofelectronicweighingsystem[J].□□□□ ,2010(10.1109/INDUSIS.2010.5565882).[2]方原柏.□□□□□ [M].1.冶金工业出版社 ,2007-08-01:11-19.[3]白云飞.□□□□□□□□□□□ [D].陕西省定边县质量技术监督局 ,2010-5中华人民共和国国家标准 .电子计价秤 [S].GB/T7722-1995.中华人民共和国国家标准 .电子台案秤 [S].(GB/T7722-2005)[6]钟颖,孟江.□□□□□□□□□□□ [M].1.中国计量出版社,2011-1-1.[7]阳鸿钧.□□□□□□□□□□□□ [M].1.中国电力出版社,2009-1-1.□□□□□□□□□□□□ .□□□□□□□□□□ [M].1.□□□□□□□□□□□ ,2010-4-1.□□□□,□□ □.□□□□□□: □□□□□□□□ [M].3.中国计量出版社,2000-10-1.[10]赵亚军.□□□□□□□ [M].2.□□□□□□□ ,2011-5.[11]杨茂俊.□□□□□□□ [M].2.□□□□□□□ ,1991-12.□□□□□□□□□ .□□□□ [M].1.□□□□□□□□□ ,1996-12.[13](德)柯希克(ManfredKochsiek).称重手册[M].1.□□□□□□□ ,1992-8.[14]中国衡器协会.□□□□ [A].第九届□□□□研讨会论文集 [C].中国衡器协会,2010-4.[15]施昌彦.□□□□□□□ [A].测力与称重技术论文选 [C].计量出版社,2013-10-12.[16]蔡正平.□□□□□□□□□□□□□□□□ [A].□□□□□□□□□□□□□□□□□□□□□□□ [C].计量出版社,1986-11-1.[17]曹立平.□□□□□□ [A].□□□□□□□□□□□□□□□□□□□□□ [C].中国口器协会出版,1999-11.[18]高春冰.□□□□□□□□□□□□□ [D].□□□□□□□□□□ ,2010-5.[19]刘九卿.□□□□□□□□□□□□□□□□□ [D].中国运载火箭技术研究院第七零二研究所,2000-5.[20]唐荻表.□□□□□□□□ [D].中国上海口豪衡器有限公司 ,2010-7.[21]王琦.电阻应变式称重传感器的设计 [D].哈尔滨林业机械研究所 黑龙江 哈尔滨,2005-3.[22]施昌彦.□□□□□□□□□□□□□□□□ [D].中国计量科学研究院 ,2001-3.中船[23]赵广平,孙雯萍,孙建军.电子称重技术现状及发展趋势 [D].九江职业技术学院;中船重工集团公司第七研究院第七七研究所 (九江);中船重工集团公司第七研究院第七七研究所(九江),2007-5.附录主程序文件//端口连接//12864:D/I-P3.7R/W-P3.6E-P3.5PSB-P0.2RST-P0.0data-P2//键盘:P1 DS18B20—— P0.3DS1302:RST-P3.2DIO-P3.3CLK-P3.4//HX711:DOUT-P0.5SCK-P0.4蜂鸣器-P0.6LED-P0.7#include<reg52.h>#include<stdio.h>#include<intrins.h>#include"LCD12864IDE.h"// LCD12864的头文件#include"jianpan.h"#include"DS18B20.h"#include"ds1302.h"////#include"jianpan.h"#include"DS18B20.h"#include"ds1302.h"//////矩阵键盘的头文件温度传感器的头文件时钟模块的头文件#include"hx711.hsbitBuzzer=P0"6; //蜂鸣器报警sbitled=P0"7;unsignedlongHX711_Buffer=0; //用于存放从 HX7n读出的数字量unsignedlongWeight_Shiwu,maopi=0;unsignedcharPrice_Count=0;unsignedlongintprice;//总价ucharcodedis1[]={"欢迎使用 "};//LCD上的固定显示内容ucharcodedis2[]={"20"};ucharcodedis3[]={"年"};ucharcodedis4[]={"月"};ucharcodedis5[]={"日"};ucharcodedis6[]={"星期"};ucharcodedis7[]={"温度℃ "};unsignedcharPrice_Buffer[3]={0x00,0x00,0x00};//存放单价,其中两位整数,一位小数//unsignedlongMoney=0;ucharcodedis8[]={"欢迎使用"};ucharcodedis9[]={"质量(kg):"};ucharcodedis10[]={"单价(元):"}ucharcodedis11[]={"金额(元):"}voidget_maopi()//去毛皮{HX711_Buffer=HX711_Read()HX711_Buffer=HX711_Buffer/100;//简化为16位maopi=HX711_Buffer;Price_Buffer[0]=Price_Buffer[1]=Price_Buffer[2]=0x00;delay_ms(150);}voidGet_Weight()//获取重量

{HX711_Buffer=HX711_Read();HX711_Buffer=HX711_Buffer/100;//简化为 16位if((HX711_Buffer>maopi)&(HX711_Buffer<24405))//重量在量程之内{Weight_Shiwu=HX711_Buffer;AD采样数值。//计算实物的实Weight_Shiwu=Weight_Shiwu-AD采样数值。//计算实物的实Weight_Shiwu=(unsignedint)((float)Weight_Shiwu/4.22+0.05);际重量(g)因为不同的传感器特性曲线不一样,因此,每一个传感器需要矫正这里的4.30这个除数。+0.05是为了四舍五入百分位Buzzer=1; //关闭警报led=1;}(21474)elseif(HX711_Buffer>24405) 〃大于5Kg的最大量程,报警(21474){Buzzer=~Buzzer;led=~led;delay_ms(800);}}voidmain(){uchari,num=0,mod=0;uchartemputer[5]={":"};//存放温度ucharnum1,a;//num1为按键次数delay_ms(10); //延时lcd_init(); //初始化 LCDinit_DS18B20();//初始化温度传感器get_maopi();while(1){keynum();//不断进行键盘检测if(key==10)//字母 A用于切换称重和万年历模式{if(mod<1){mod=mod+1;lcd_wcmd(0x01);delay_ms(2);}else{mod=0;lcd_wcmd(0x01);delay_ms(2);}}if(mod==0) //万年历模式{lcd_pos(0,2);i=0;while(dis1[i]!='\0'){lcd_wdat(dis1[i]);i++;}lcd_pos(1,0);i=0;while(dis2[i]!='\0'){lcd_wdat(dis2[i]);i++;}lcd

温馨提示

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

评论

0/150

提交评论