基于单片机电子秤设计-毕业汇编_第1页
基于单片机电子秤设计-毕业汇编_第2页
基于单片机电子秤设计-毕业汇编_第3页
基于单片机电子秤设计-毕业汇编_第4页
基于单片机电子秤设计-毕业汇编_第5页
已阅读5页,还剩67页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

最新基于单片机电子秤设计--毕业汇编电子秤的设计摘要:本课题是以STC89C52单片机为核心控制芯片实现电子秤自动称重功能。该电子称重系统主要以STC89C52单片机作为中心控制单元,称重传感器及A/D转换器测量物体重量,外加显示单元和矩阵键盘模块,实现了电子秤基本的称重、具备置零、输入单价、计算总价、显示等功能,且超出最大测量范围时有报警指示功能。在本设计中将智能化、自动化、人性化用在了电子称重的控制系统中不但测量准确、快速方便,更重要的是具备自动称重、液晶数字显示等特点。关键词:STC89C52单片机;称重传感器;A/D转换器;液晶显示ElectronicscaledesignAbstract:ThispaperisbasedontheSTC89C52microcontrollerasthecorecontrolchiptorealizethefunctionofautomaticweighingelectronicscale.TheelectronicweighingsystemmainlytoSTC89C52microcontrollerasthecentralcontrolunit,weighingsensorandA/Dconvertertomeasuretheweightoftheobject,externaldisplayunitandmatrixkeyboardmodule,realizestheelectronicscalebasicweighing,withzero,inputunit,calculationoftotalprice,displayandotherfunctionsandexceedsthemaximummeasurementrangewithalarmindicationfunction.Inthisdesign,itwillbeintelligent,automationandhumanizationintheelectronicweighingcontrolsystemnotonlyaccuratemeasurement,fastandconvenient,butmoreimportantithaveautomaticweighing,LCDdigitaldisplaycharacteristics.Keywords:MCS-51microcontroller;weighingsensor;A/Dconverter;LCDdisplay目录TOC\o"1-3"\h\u23726第1章绪论 1175281.1选题背景与意义 1115271.2电子秤的研究现状及发展趋势 146121.3本设计的主要工作 219393第2章系统的组成及工作原理 3221102.1系统的组成 3310342.2系统的工作原理 318944第3章系统硬件设计 4264453.1主控芯片STC89C52单片机基本系统 428028 423009 43146 428916 5264213.2A/D转换芯片HX711接口电路的设计 54067 619196 7133033.3压电传感器的设计 1015646 1023698 1030702 11310743.4显示电路设计 1230816 13142112.5键盘输入 1413108第4章系统软件设计 1632044.1C语言在单片机中的应用 16297904.2系统主程序流程图 1657904.3子程序设计 1717127 1725506 1813464 1831857第5章系统的调试 19166215.1AD值反向转换重力值的参数计算 19165855.2误差分析 1925955结束语 2024496参考文献 2117003附录1英语文献 2218308附录2系统总原理图 26462附录3程序清单 27537附录4实物图 33第1章绪论1.1选题背景与意义电子秤是日常生活中常用的电子衡器,广泛应用于超市、大中型商场、物流配送中心。电子秤在结构和原理上取代了以杠杆平衡为原理的传统机械式称量工具。相比传统的机械式称量工具,电子秤具有称量精度高、装机体积小、应用范围广、易于操作使用等优点,在外形布局、工作原理、结构和材料上都是全新的计量衡器。电子秤的设计首先是通过称重传感器采集到被测物体的重量并将其转换成电压信号。输出电压信号通常很小,需要通过高精度高增益AD芯片HX711的信号放大与AD转换,转换成数字量被送入到主控电路的单片机中处理,再经过单片机控制显示器,从而显示出被测物体的重量。而目前市场上电子秤产品的整体水平不高,部分小型企业产品质量差且技术力量薄弱,设备不全,缺乏产品的开发能力,产品质量在低水平徘徊。因此,有针对性地开发出一套有实用价值的电子秤系统,从技术上克服上述诸多缺点,改善电子秤系统在应用中的不足之处,具有现实意义。1.2电子秤的研究现状及发展趋势近几年,国内的电子称重系统从最初的机电结合型发展到现在的全电子型和数字智能型。电子称重技术逐渐从静态称重向动态称重发展,从模拟测量向数字测量发展,从单参数测量向多参数测量发展。电子称重系统制造技术及其应用得到了新发展。国内电子称重技术基本达到国际上20世纪90年代中期的水平,少数产品的技术已处于国际领先水平。做为重量测量仪器,智能电子秤在各行各业开始显现其测量准确,测量速度快,易于实时测量和监控的巨大优点,并开始逐渐取代传统型的机械杠杆测量称,成为测量领域的主流产品[1]。在国际上,一些发达国家在电子称重力一面,从技术水平、品种和规模等方到了较高的水平。特别是在准确度和可靠性等方面有了很大的提高。其中梅特勒一托利多公司生产的BBK4系列高精度电子秤精度达到了1mg,速度大约为1次/秒。目前,电子秤在称量速度方面需要进一步的研究。在称重传感器方面,国外产品的品种和结构又有创新,技术功能和应用范围不断扩大。电子秤产品量大面广、种类繁多,从通用的各种规格的电子秤到大型的电子称重系统,从单纯的称重、计价到生产过程检测系统的一个测量控制单元,其应用领域在不断地扩大。根据近年来电子称重技术和电子衡器的发展情况及电子衡器市场的需求,电子衡器总的发展动向为:小型化、模块化、智能化、集成化;其技术性能趋向于速率高、准确度高、稳定性高、可靠性高;其应用性趋向于综合性、组合性。小型化:体积小、高度低、重量轻,即小薄轻。为使电子衡器的承载器达到小、薄、轻,开始采用重量轻且刚度大的空心波纹铜板和方形闭合截面的薄壁型材。模块化:电子衡器的承载器采用模块式一体组合或分体组合,产生新的品种和规格。这种模块化组合不但提高了产品的通用性和可靠性,而且也大大提高了生产效率,降低了成本。智能化:与电子计算机组合或开发称重用计算机,利用计算机的智能来增加称重显示控制的功能,使其在原有功能的基础上增加判断、自诊断、自适应、自组织等功能。集成化:对于某些品种和结构的电子衡器,可以实现承载器与称重传感器一体化或承载器、称重传感器与称重显示控制器一体化。综合性:电子称重技术和电子衡器产品的应用范围不断扩大,它已渗透到一些学科和工业自动控制领域。对某些商用电子计价秤而言,只具备称重、计价、显示、打印功能还远远不够,现代商业系统还要求它能提供各种销售信息,把称重与管理自动化紧密结合,使称重、计价、进库、销售管理一体化,实现管理自动化。这就要求电子计价秤能与电子计算机联网,把称重系统与计算机系统组成一个完整的综合控制系统。组合性:在工业生产过程或工艺流程中,不少称重系统还应具有可组合性,即:测量范围可以任意设定;硬件能够依据不定的程序进行修改和扩展;输入输出数据与指令可使用不同的语言,并能与外部的控制和数据处理设备进行通信。1.3本设计的主要工作本文的主要任务是以单片机为核心设计功能完善的电子秤,根据生活中电子秤的基本功能及单片机系统的开发流程可知,本设计的主要工作为:(1)学习和掌握单片机工作原理、编程方法、系统开发流程;(2)分析电子秤的基本功能,提出总体设计方案;(3)设计系统硬件电路,并对单片机及各模块方案进行分析和选择,用Protel软件绘制电路原理图;(4)选择适合系统的开发工具,编写系统的应用程序,在开发环境中编译、连接;(5)将编译好的应用程序写入单片机,结合硬件进行总体调试,最终实现电子秤的主要功能。第2章系统的组成及工作原理2.1系统的组成本数字电子秤系统主要分为单片机控制电路、A/D转换电路、传感器、LCD显示、矩阵键盘、蜂鸣器模块等几部分,其系统组成如图2.1所示。单片机单片机STC89C52电子秤专用24位高精度高增益传感器芯片HX711称重传感器HL-8型蜂鸣器报警模块4*4矩阵键盘点阵式1602型的LCD单片机控制模块人机交互界面数据采集部分图2.1系统的组成框图2.2系统的工作原理系统原理如图2.1所示,系统通过传感器将压力转化为电信号,即传感器内部的电阻应变片感受到压力后,电阻发生了微小的变化,通过全桥测量电路将电阻的微小变化转化为电压的微小变化,HX711将信号放大到A/D转换芯片能采集的范围,然后由A/D转换芯片进行采集,接着把采集到的24位高低电平通过D-OUT送到单片机进行处理,然后把数字信号输送到显示电路中,由液晶显示器输出测量结果。系统主要用单片机进行控制输出,在线性度的确定过程中,需要对程序进行反复修改,最终实现设计的要求。第3章系统硬件设计3.1主控芯片STC89C52单片机基本系统STC89C52是一种低功耗、高性能8位微控制器,系统具有8K的在可编程闪烁存储器,与80C51产品指令和引脚完全兼容[2]。在单芯片上,拥有灵巧的8位CPU和在系统上可编程闪烁存储单元,使得STC89C52为众多嵌入式控制应用系统提供灵活、有效的解决方案[3]。STC89C52主要具有以下功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口[4]。另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选[5]。STC89C52单片机引脚功能电源引脚:VCC,电源输入,接+5V电源GND,接地线外接晶振引脚:XTAL1:片内振荡电路的输入端;XTAL2:片内振荡电路的输出端控制引脚:RST/VPP:复位引脚,引脚上出现2个机器周期的高电平将使单片机复位ALE/PROG:地址锁存允许信号PSEN:外部存储器读选通信号EA/VPP:程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令可编程输入/输出引脚:STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。PO口:8位双向I/O口线,名称为P0.0~P0.7P1口:8位准双向I/O口线,名称为P1.0~P1.7P2口:8位准双向I/O口线,名称为P2.0~P2.7P3口:8位准双向I/O口线,名称为P3.0~P3.7复位是单片机的初始化操作。它的主要功能是初始化PC为0000H,单片机从0000H单元开始执行程序。除了正常的初始化到系统中,当程序运行出错或操作错误。系统处于死锁状态时,为了摆脱困境,也需要按复位键重新启动。RST引脚是复位信号输入端。复位信号是高有效,有效时间应该是24个振荡周期(即两个机器周期)以上。复位电路由两部分组成,芯片。外部电路产生一个复位信号(RST)送到施密特触发器,然后在每个机器周期的S5P2输出施密特触发采样信号片上复位电路,得到所需的内部复位操作。其电路图如图3.1所示。图3.1STC89C52单片机复位电路,晶振电路图STC89C52单片机反相放大器配置为使用一个内部振荡器,XTAL1和XTAL2分别输入和该晶体的输出端,外接石英晶体或陶瓷谐振器及补偿电容C2,C3构成并联谐振电路。当外部晶振为石英晶体时,电容C2,C3为30pf±10p;当外部晶振为陶瓷谐振器时,C2,C3电容为40pf±10p。STC89C52系统一般选择在1.2-12MHz的振荡频率。外部电容C2,C3会影响振荡频率的大小,频率稳定,振动时间和温度稳定性。在电路板的设计,晶体和电容应靠近单片机,为了减少寄生电容,保证振荡器稳定可靠工作。在本系统中,选用12MHz的石英晶体,电容C1,C2为30pF。其电路图如图3.1所示。3.2A/D转换芯片HX711接口电路的设计根据设计要求,输出电流信号的系统要求是20~1000mA,步进1mA,并显示值,因此,至少12位转换精度驱动器数量的A/D转换器需要。根据系统的设计要求,考虑到I/O单片机接口资源的限制等因素,最终选择的hx711量化精度可以达到1/4096<1/1000,完全可以满足设计精度要求。HX711接口电路如图3.2所示。图3.2HX711接口图HX711是一个24位的高精度A/D转换芯片的称重传感器的设计。该芯片的外围电路包括电源,和芯片的时钟振荡器,与其他类型的芯片相比,该芯片集成度高,响应速度快,抗干扰能力强,降低电子秤的成本,提高了性能和可靠性。接口芯片和MCU芯片端口编程是非常简单的,由引脚控制信号,不需要芯片编程。输入可以选择A或B通道,对应于为差量或差分输入信号幅度,通道可编程增益为128或64,B通道为32的固定增益。稳压电源芯片可以直接提供模拟电源到外部传感器,A/D转换器,无需额外电源仿真。不需要任何外部元件芯片的时钟振荡器,电源自动复位功能简化了开机初始化过程。HX711的引脚功能如表3.1所示。表3.1HX711引脚功能管脚号名称性能描述1VSUP电源稳压电路供电电源:2.6-5.5V(不用稳压电路时接AVDD)2BASE模拟输出稳压电路控制输出(不用稳压电路时为无连接)3AVDD电源模拟电源:2.6-5.5V4VFB模拟输入稳压电路控制输入(不用稳压电路时应接地)5AGND地模拟地6VBG模拟输出参考电源输入7INA模拟输入通道A负输入端8INA+模拟输入通道A正输入端9INB模拟输入通道B负输入端10INB+模拟输入通道B正输入端11PD-SCK数字输入断电控制(高电平有效)和串口时钟输入12DOUT数字输出串口数据输出13X0数字输入输出晶振输入(不用晶振时为无连接)14X1数字输入外部时钟或晶振输入,0:使用片内振荡器15RATE数字输入输出数据速率控制,0:10Hz;1:80Hz16DVDD电源数字电源:2.6-5.5V模拟输入通道A模拟差分输入可直接与桥式传感器的差分输出相接。由于桥式传感器输出的信号较小,为了充分利用A/D转换器的输入动态范围,该通道的可编程增益较大,为128或64。这些增益所对应的满量程差分输入电压分别±20mV或±40mV。通道B为固定的增益,所对应的满量程差分输入电压为±40mV。通道B应用于包括电池在内的系统参数检测,表3.2为主要电器参数介绍。表3.2主要电气参数参数条件及说明最小值典型值最大值单位满额度差分输入范围V(inp)-V(inn)±0.5(AVDD/GAIN)V输入共模电压范围AGND+0.6AVDD-0.6V输出数据速率使用片内振荡器,RATE=010Hz使用片内振荡器,RATE=DVDD80外部时钟或晶振,RATE=0fclk/1,105,920外部时钟或晶振,RATE=DVDDfclk/138,240输出数据编码二进制补码8000007FFFFF(HEX)输出稳定时间(1)RATE=0400mvRATE=DVDD50输入零点漂移增益=1280.2增益=640.8输入噪声增益=128,RATE=050nV(rms)增益=128,RATE=DVDD90温度系数输入零点漂移(增益=128)±7nV/℃增益漂移(增益=128)±3ppm/℃输入共模信号抑制比增益=128,RATE=0100dB电源干扰抑制比增益=128,RATE=0100dB输出参考电压(VBG)1.25V外部时钟或晶振频率111.059230MHz电源电压DVDD2.65.5VAVDD,VSUP2.65.5模拟电源电路(含稳压电路)正常工作1600uA断电0.3数字电源电路正常工作100uA断电0.2供电电源数字电源(DVDD)应使用与MCU芯片相同的数字供电电源。HX711芯片内额稳压电路可同时向A/D转换器和外部传感器提供模拟电源。稳压电源的供电电压可与数字电源相同。稳压电源的输出电压值(VAVDD)由外部分压电阻R1、R2和芯片的输出参考电压VBG决定,VAVDD=VBG(R1+R2)/R2。应选择该输出电压比稳压电源的输入电压(VSUP)低至少100mV。如果不使用芯片内的稳压电路,管脚VSUP和管脚AVDD应相连,并接到电压为2.6~5.5V的低噪声模拟电源。管脚VBG上不需要外接电容,管脚VFB应接地,管脚BASE为无连接。时钟选择如果将管脚XI引脚接地,HX711将自动选择使用内部时钟振荡器,并自动关闭外部时钟输入和振荡器电路。在这种情况下,输出数据速率通常10Hz或80Hz。如果你需要输出数据率准确,外部输入时钟是通过20pF引脚电容连接到西,或晶体振荡器相连,西与XO引脚。在这种情况下,时钟振荡器电路芯片会自动关闭,时钟或外部时钟输入。在这个时候,如果晶体的频率为10Hz或80Hz11.0592MHz,输出数据准确率。输出数据速率和晶体之间的关系的频率增加或减少的比例。使用外部输入时钟,外部时钟信号不一定是方波。单晶体时钟信号输出引脚通过连接到20pF电容,作为外部时钟输入。串口通讯串口通讯线由管脚PD-SCK和DOUT组成,用来输出数据,选择输入通道和增益。当数据输出管脚DOUT为高电平,表明A/D转换器还未准备好输出数据,此时串口时钟输入信号PD-SCK应为低电平。当DOUT从高电平变低电平后,PD-SCK应输入25至27个不等的时钟脉冲。其中第一个时钟脉冲的上升沿将读出输出24位数据的最高位(MSB),直至第24个时钟脉冲用来选择下一个A/D转换的输入通道和增益,输入通道和增益说明如表3.3所示。表3.3输入通道和增益选择PD-SCK脉冲数输入通道增益25A12826B6427A64PD-SCK的输入时钟脉冲数不应少于25或多于27,否则会造成串口通讯错误。当A/D转换器的输入通道或增益改变时,A/D转换器需要4个数据输出周期才能稳定。DOUT在4个数据输出周期后才会从高电平变低电平,输出有效数据,如表3.4所示。表3.4四个周期选择说明符号说明最小值最大值单位T1DOUT下降沿到PD-SCK脉冲上升沿0.1usT2PD-SCK脉冲上升沿到DOUT数据有效0.1usT3PD-SCK正脉冲电平时间0.250usT4PD-SCK负脉冲电平时间0.2us复位和断电当芯片上电时,芯片内的上电自动复位电路会使芯片自动复位。管脚PD-SCK输入来控制HX711的断电。当PD-SCK为低电平时,芯片处于正常工作状态。如果PD-SCK从低电平变高电平并保持在高电平超过60us,HX711即进入断电状态。如果使用片内稳压电源电路,断电时,外部传感器和片内A/D转换器会被同时断电。当PD-SCK重新回到低电平时,芯片会自动复位后进入正常工作状态。芯片从复位或断电状态后,通道A和增益128会被自动选择为作为第一次A/D转换的输入通道和增益。随后的输入通道和增益选择由PD-SCK的脉冲数决定,参见串口通讯一节。芯片从复位或断电状态进入正常工作状态后,A/D转换器需要4个数据输出周期才能稳定。DOUT在4个数据输出周期后才会从高电平变为低电平,输出有效数据。3.3压电传感器的设计应变片式电阻传感器是以应变片为传感器元件的传感器。它具有以下优点:1.精度高,测量范围广;2.使用寿命长,性能稳定可靠。3.结构简单、尺寸小、重量轻,因此在测量时,对工件工作状态及应力分布影响小;4.频率响应特性好。应变片响应时间约为100ns;5.可在高低温、高速、高温、强烈振动、强磁场、核辐射和化学腐蚀等恶劣环境条件下工作;6.应变片种类繁多,价格便宜。电阻应变片的工作原理是基于电阻应变效应,即在导体产生机械形变时,它的电阻值相应发生变化。应变片式电阻传感器应用很广。本设计采用的是梁式力传感器,该传感器结构简单、灵敏度高。适用于小压力测量。应变片式电阻传感器的结构和原理 电阻应变式传感器测量,通过金属弹性变形到原始的电阻变化。两部分由应变计和测量电路。应变计:有两种常用的电阻应变片和半导体应变计,本设计是基于电阻应变计,为了获得高的电阻,电阻丝排成网状,贴在绝缘衬底上的电阻丝,两端的导线,导线与顶盖层,从而起到保护的作用[6]。电阻应变片也有误差,产生的因素很多,所以在测量时我们一定要注意。其中的温度的影响最重要,环境温度影响电阻值变化的原因主要是:A:电阻丝温度系数引起的。B:电阻丝与被测原件对桥接零点和输出,灵敏度的影响,即使采用同一批应变也会因应变片之间稍有温度特性之差而引起误差,所以对要求精度较高的传感器,必须进行温度补偿,解决的办法是在被粘贴的基片上采用适当及温度系数的自动补偿,并从外部对它加以适当的补偿。非线性误差是传感器特性中最重要的一点。产生非线性误差的原因很多,一般来说主要由结构设计决定,通过线性补偿,也可以得到改善。滞后和蠕变是关于应变片及粘合剂的误差。由于粘合剂为高分子材料,其特性随温度变化较大,所以称重传感器必须在规定的温度范围内使用[7]。电阻应变片的工作原理是基于电阻应变效应,即在导体产生机械形变时,它的电阻值相应发生变化[8]。设有一根电阻丝,如图所示。它在未受力时的原始电阻值为(式3.1)式中:——电阻丝的电阻率;——电阻丝的长度;——电阻丝的面积。电阻丝在外力的作用下,将引起电阻变化,且有(式3.2)令电阻丝的轴向效应为,由材料力学可知,为电阻丝材料的泊松系数,经整理可得(式3.3)通常把单位应变所引起的电阻相对变化称作电阻线的灵敏系数,其表达式为(式3.4)从上式可以明显看出,电阻丝灵敏系数由两部分组成:表示受力后由材料的几何尺寸变化引起的;表示由材料电阻变化所引起的。对于金属材料,项的阻值要比小得多,可以忽略,故=。大量实验证明,在电阻丝拉伸比例极限内,电阻的相对变化与应变成正比,即=1.7~3.6。上式可写成。应变式传感器常用的测量电路有单臂电桥、差动半桥和差动全桥,其中差动全桥可提高电桥的灵敏度,消除电桥的非线性误差,并可消除温度误差等共模干扰。一般在测量中都使用4片应变片组成差动全桥,本设计所采用的传感器就是全桥测量电路。其电路图如图3.3所示。桥式测量电路有四个电阻,其中任何一个都可以是电阻应变片电阻,电桥的一个对角线接入工作电压U,另一个对角线位输出电压Uo。其特点是:当四个桥臂电阻达到相应关系时,电桥输出为零,或则就有电压输出,可用灵敏检流计来测量,所以电桥能够精确地测量微小的电阻变化。应变电阻作为桥臂电阻接在电桥电路中。无压力时,电桥平衡,输出电压为零;有压力时,电桥的桥臂电阻值发生变化,电桥失去平衡。全桥测量电路中,将受力性质相同的两片应变片接入电桥对边[9]。其输出灵敏度比半桥提高了一倍,非线性误差和温度误差均得到了改善。图3.3全桥测量电路3.4显示电路设计方案一:LED显示LED是发光二极管的英文缩写,LED,LED。这是一个显示控制半导体发光二极管的显示屏幕显示各种信息,文本,图形,图像,动画,视频,视频信号等。LED显示器结构:基本的半导体数码管是由七个条状发光二极管芯片排列而成的。可实现0~9的显示。其具体结构有“反射罩式”、“条形七段式”及“单片集成式多位数字式”等。LED显示器与显示方式:LED显示模块是由一个发光二极管显示字段显示。通常使用的是七个LED。显示块,常见的有两种阴极和阳极。共阴极LED显示发光二极管阴极炭块的共同点。当一个发光二极管的阳极为高电平,发光二极管;共阳极LED显示发光二极管和阳极并接。使用LED显示块LED显示设计中的N。nLED显示N位选线和8×n根线选择。根据不同的方式,位选线和截面线选择不同的连接方法。段选择器控制字符的选择,一个明亮的选择器控制显示,黑暗。LED显示的静态显示和动态显示的方式有两种。我们采用动态显示方式。在多个LED显示时,为了简化电路,降低成本,将位线并联连接的所有碎片,由一个8位的I/O控制,和共阴极或阳极杆分别通过I/O口线控制的响应。两个74LS244分别用于驱动信号和位置信号,信号锁存器74LS273锁存地址7FFFh。方案二:LCD显示LCD液晶显示器是LiquidCrystalDisplay的简称,液晶显示器的结构放在两块平行玻璃晶体液,细的金属丝和许多垂直和水平两片玻璃之间,通过功率控制杆水晶分子改变方向,将产生出光的折射。比LED好很多,但价格较贵。在日常生活中,我们所熟悉的液晶显示器。液晶显示模块具有许多电子产品通过设备,如万用表,计算器,电子手表和许多家用电子产品可以在主显示器,看到数字,特殊符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光二极管,LED数码管,液晶显示。发光管、LED数码管常用的,硬件和软件都比较简单,有了前面的部分,这是没有介绍,本章重点介绍字符型液晶显示中的应用。在单片机系统中应用晶液显示器作为输出器件有以下几个优点:(1)显示质量高:接收到的信号中的每个点的液晶显示器一直保持那种色彩和亮度,恒定的光,而不是阴极射线管显示器(CRT),需要不断刷新新亮点。因此,液晶显示器的高画质、无闪烁。(2)数字式接口:液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。(3)体积小、重量轻:液晶显示器通过液晶分子的电极控制来达到显示的目的,在相同的重量比传统显示器的显示面积较轻。(4)功耗低:相对而言,液晶显示器的功耗在电极内部的主要消耗和驱动IC,因此功耗比其他显示器少的多。液晶显示的原理是基于液体的物理性质,显示控制区域的电压,电流将被显示,可显示图形。薄的液晶显示器,适合于大规模集成电路直接驱动,易于实现全彩色显示的特点,已广泛应用于许多领域的计算机,数码相机,便携式PDA移动通信工具等。各种图形液晶显示原理(1)线段的显示:由m×n液晶显示单元,假定液晶显示64行,每行有128列,每8列对应1字节的8位,每行由16字节,共16×8=128点,64×16的屏幕显示单元1024字节的RAM和显示内容和显示相对相应的,光明与黑暗的对应位置的每个字节。例如,屏幕的亮度区RAM000h00fh第一行——16字节的内容,当(小时)=FFH,则屏幕的左上角显示一个短的光线,长度为8个点;当(3ffh)=FFH,然后屏幕的右下角显示一个短线;当(小时)=FFH(001h,=00H),(002h)=00H,(00eh)=00H,(00fh)=00H,由8的亮线,在屏幕的顶部8行显示一条虚线。这是液晶显示的基本原理。(2)字符的显示:使用液晶显示字符是更复杂的,因为一个字符由6×8或8×8点阵组成,有必要寻找和显示内存8屏幕上相应位置的字节数,而且使每一个字节的“1”不同,“0”,其他是“1”,“0”不亮。这样形成一个字符。但由于字符发生器的控制器,显示字符比较简单,可以在文本模式的控制器,根据列数设置光标显示在LCD上的排名开始,每一行,查找相应的地址,RAM,发送代码的字符。(3)汉字的显示:常用的图形显示汉字,从微机前显示汉字点阵码提取(通常用字模提取软件),每个汉字占32B,分为左右两半,各占1,3,5部,左边2,4右,6…根据列数设置光标显示在LCD上的排名开始,每一行都可以找到相应的内存地址,发送到显示器,显示汉字的前1个字节,和光标的位置,发送二字节对齐,线柱,发送第三个字节可以显示直到最后得到一个完整的32B显示汉字。1602字符型LCD简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。我们以1602LCD字符型液晶显示器为例。1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,1602LCD主要技术参数:显示容量:16×2个字符,芯片工作电压:4.5—5.5V,工作电流:2.0mA(5.0V),模块最佳工作电压:5.0V,字符尺寸:2.95×4.35(W×H)mm。由于本次设计的显示模块需要显示多位数字,如果采用数码管显示的话将会占用多个单片机I/O口,使得电路变得更为复杂。所以选用液晶显示,1602LCD符合基本条件,能够采用。1602液晶模块的引脚连线如图3.4。其中,第1、2脚为液晶的驱动电源;第三脚VL为液晶的对比度调节,通过在VCC和GND之间接一个10K多圈可调电阻,中间抽头接VL,可实现液晶对比度的调节;液晶的控制线RS、R/W、E分别接单片机的P0.5、P0.6、P0.7;数据口接在单片机的P2口;BL+、BL-为液晶背光电源。图3.41602液晶模块的接线图1602液晶模块的初始化过程:延迟15ms写指令38H(不检测忙信号)延迟5ms写指令38H(不检测忙信号)延迟5ms写指令38H(不检测忙信号)(以后每次写指令、读/写数据操作之前均需检测忙信号)写指令38H:显示模式设置写指令08H:显示关闭写指令01H:显示清屏写指令06H:显示光标移动设置写指令0CH:显示开及光标设置2.5键盘输入键盘输入是人机界面的重要组成部分,它是一种直接的方式将系统接受用户命令。经营者通过键盘发送到系统指令或信息所需的数据。因此,键盘模块设计的好坏,对系统的可靠性和稳定性直接相关。键盘是由多个按键开关,按键数据单片机应用系统中的使用。键盘是由许多按键,每个按键对应一个机械触点开关,当键被按下时,触点闭合,松开按钮,打开接触。接触信号按钮对应的处理函数后,接收单片机。因此,相比于单片机系统键盘接口信号是输入信号。方案一:专用芯片式设计专用键盘处理芯片一般功能比较完善,该芯片可以完成编码处理,扫描,和沉重的按键消抖的关键问题,甚至集成显示接口功能。如数字是一个比较成熟的通用设计的8位微处理器的键盘/显示器接口芯片,它的功能是:从键盘输入数据,接收和处理;控制数据管理和数据显示。专用键盘处理芯片的优点,可靠性高,简单,使用方便,适合处理关键更多的情况。但在许多实际应用中,考虑到成本因素,未必是最好的选择。方案二:矩阵式键盘设计矩阵式键盘又叫行列式键盘。用I/O口线组成行、列结构,按键设置在行列的交点上。例如,用2×2的行列结构可构成4个键的键盘,4×4行列结构可构成16个键的键盘。因此,在按键数量较多时,可以节省I/O口线。相对于专用芯片式可以节省成本,且更为灵活。缺点就是需要用软件处理消抖、重键等问题。考虑到成本方面,我决定采用矩阵键盘,如图3.5所示。图3.54*4矩阵键盘接线图第4章系统软件设计在单片机应用系统的开发中,软件的设计是最为复杂和困难的,在大多数情况下,工作量大,尤其是那些控制系统比较复杂的情况。如果机电一体化设计,往往需要考虑单片机的硬件资源分配。本系统的软件设计主要包括系统的初始化,键盘,显示器和输入频率信号处理。程序设计是一项复杂的工作,为了应对复杂的工作,必须有相应的步骤和方法。其步骤可概括为以下三点:⑴分析系统控制要求,确定算法:对复杂的问题进行具体的分析,找出合理的计算方法及适当的数据结构,从而确定编写程序的步骤。这是能否编制出高质量程序的关键。⑵根据算法画流程图:画程序框图可以把算法和解题步骤逐步具体化,以减少出错的可能性。⑶编写程序:根据程序框图所表示的算法和步骤,选用适当的指令排列起来,构成一个有机的整体,即程序。一个理想的程序数据的方法是结构化程序设计方法。结构化程序设计是程序控制结构的使用适当的限制,特别是限制语句(或指令)的使用,从而控制程序的复杂度,程序的执行过程保持一致性,减少逻辑错误和容易修改,调试。根据控制系统,本系统的软件设计主要有主程序,初始化程序,显示子程序,数据采集子程序、延时程序,等等。4.1C语言在单片机中的应用C语言是一种通用的计算机程序设计语言,在国际上非常流行。它既可以用来编写计算机的系统程序,也可以用来编写一般的应用程序。以前计算机的系统软件主要用汇编语言编写,单片机应用系统更是如此。C语言是当前最流行的程序设计语言,它像其它高级语言一样,面向用户,面向解题的过程,编程者不必熟悉具体的计算机内部结构和指令;C语言又像汇编语言一样,可以对机器硬件进行操作。如进行端口I,0操作、位操作、地址操作,并可内嵌汇编指令,将汇编指令当作它的语句一样[10]。我们知道,汇编语言将涉及计算机硬件,所以C语言又像低级语言一样,可以对计算机硬件进行控制,因此人们把它称为介于高级语言与低级语言之间的一种中级语言。正是因为C语言具有这样的特性,所以很适合编写要对硬件进行操作的软件程序。本文采用C语言进行编写.因为此系统软件比较,其存储量较大,因此必须应用C语言编程了。4.2系统主程序流程图在系统通电后,主程序完成系统初始化,包括变量和系统变量的初始值的系统定义,然后调用A/D采集功能,24位串行数据采集模块、A/D转换为十进制输出,然后到零和校准,最后分离四十进制数据1000,100,十、液晶显示,调用函数,对应于相应的数值显示。系统主函数流程图如图4.1所示。程序初始化程序初始化读取重量值显示重量值启动A\D转换否是警告报警开始结束超过上限?重量超出范围?是否图4.1主程序流程图4.3子程序设计程序A\D端初始化采集4位串行数据输出数据编码选择下次采集通道和增益A\D端初始化采集4位串行数据输出数据编码选择下次采集通道和增益开始返回图4.2A/D数据采集子函数流程图显示子程序主要是来判断是否需要显示,以及如何去显示,也是十分重要的程序之一。设计流程图如图4.3所示。开始开始显示初始化界面显示初始化界面NN有无按键有无按键YY显示按键功能显示按键功能NN检测重物检测重物YY显示总价信息显示总价信息返回返回图4.3显示子程序流程图YNNYYNNY按键按下LCD初始化界面字符显示调用LCD显示返回键按下开始图4.4键盘扫描子程序流程图第5章系统的调试系统硬件调试比较简单,首先检查焊接的电路是正确的,用万用表检测电路板是否有短路或断路器。经过测试,然后接上电源,用万用表测量值的电源部分的输出电压,正常调试之前接收的各部分电路[11]。请按复位按钮复位系统调用功能,液晶显示,显示正确,连接传感器和一个24位串行A/D转换芯片电路和A/D转换电路,所有编程的芯片,观察液晶是否显示,如果没有显示,即软件零,零是用手工完成的,慢慢的把压力传感器,看是否液晶数值遵循数量增加,当放手时,看看数值液晶背近是否接近1000。5.1AD值反向转换重力值的参数计算满量程输出电压=激励电压*灵敏度1.0mv/v,例如:供电电压是5v乘以灵敏度2.0mv/v=满量程10mv。相当于有10Kg重力产生时候产生10mV的电压。假设重力为Akg,测量出来的AD值为y,10Kg传感器输出,发送给AD模块儿的电压为(式5.1)经过128倍增益后转换为24bit数字信号为(式5.2)所以(式5.3)因此得出(式5.4)所以得出程序中计算公式(式5.5)5.2误差分析由于所采用的传感器灵敏度很高,如果传感器在水平方向固定的不是很好,会存在一定的误差。另外传感器的引线也很灵敏,稍微触动一下,也会产生误差。结束语随着集成电路和计算机技术的飞速发展,使电子设备的整体水平也发生了巨大的变化,传统的智能仪表逐渐由仪器代替。智能仪器的核心部件是单一的,具有广泛的应用和发展,因为它的高价格,从而加速了智能仪器的发展。传感器作为信息的测量和控制系统的招生对象,越来越受到人们的重视。像“特征”的人体传感器工程仿真,它是一种特殊的测量信息(物理,化学,生物等)按一定规律转换成基于上述装置是一个设备或设备的可用信号在电子称的设计输出全桥设计。因此,只有深入了解智能仪表,单片机,传感器,其各部分之间的关系符合要求。经过几个月的努力,终于按照毕业设计进度要求如期完成了实用电子秤控制系统的硬件设计任务。在做毕业设计的过程中,虽然碰到了不少的困难,但是在老师的指导以及自己的努力下,终于取得了一定成果。一、主要工作及结论1、熟悉STC89C52单片机功能及工作特性,掌握其接口扩展方法。2、通过对数据采集的分析,了解了各种传感器、放大器及A/D转换器有了更深的认识。3、对键盘和显示器进行选型比较,得出各种型号优劣比。4、采用面向对象的思想,分层次、分模块构建设计的总体框架。二、存在的问题1、系统设计不够优化,有待改善。比如系统的超量程信号直接由单片机送入报警电路,没有设计保护电路再入单片机处理后送入报警电路。2、没有更多的扩展电路,如日历时钟电路,通信接口电路等。日历时钟电路可以显示购买日期,与PC机的通信接口电路(PC)通信,将大量存储的商品数据,然后通过串行或并行通信和电子遥控实现连接。3、对各种实用芯片价格了解不够,选择上任有欠缺,如所选的称重传感器价格较贵。这些都为我今后的学习和工作留下了积极的影响。参考文献彭介华.电子技术课程设计指导[M].北京:高等教育出版社,1977.张毅刚.单片机原理及应用[M].北京:高等教育出版社,2003.楼然苗.单片机课程设计指导[M].北京:北京航空航天大学出版社,2007.周荷琴.微型计算机原理与接口技术[M].合肥:中国科技技术大学出版社,2008.周明德,蒋本珊.微机原理与接口技术[M].北京:人民邮电出版社,2007.王建华,敬大德,曹少飞.基于双悬臂梁结构的应变测量传感器研究[J].传感技术学报,2005,18(3):5-8.陈杰,黄鸿.传感器与检测技术[M].北京:高等教育出版社,2002.陈杰,陈绿深.传感器与检测技术[M].北京:北京理工大学出版社,1987.王洪业,传感器技术[M].长沙:湖南科学出版社,1985.谭浩强.C程序设计[M].北京:清华大学出版社,2005.康华光.电子技术基础数字部分[M].北京:高等教育出版社,2005. 附录1英语文献ElectronicscalesAneedsanalysisInmoderncommerceandtradeandeverydaylife,oftenencountertheproblemofmeasuringtheweightofthelow-massobjects.Althoughthetraditionalsteelyardcansolvethisproblem,butinconvenienttocarry,theefficiencyisnothigh,thedisplayisnotintuitiveandlowmeasurementaccuracy;mechanicalspringbalancecansolvethisproblem,buttheinertiainherentlowfrequency,highsensitivity,measurementaccuracyisnothigh.Withtheprogressandupdateofthemicro-computertechnology,integratedcircuittechnology,sensortechnology,electronicscalesrapiddevelopment,ithasaresponsive,highaccuracy,fullyfunctional,thedisplayisintuitive,compact,easytouseandsoon.Electronicscalesareweighingtechnologyinanewtypeofinstrumentiswidelyusedinvariousoccasions.Electronicscalesandmechanicalscaleshavemoresmallsize,lightweight,simplestructure,lowpriceandpracticalvalueofstrong,convenientmaintenanceandsooncanbeinavarietyofenvironmentalwork,theweightofthesignalcanbeRemote,theweightofdisplayiseasytoimplementdigital,easy-to-computernetwork,productionautomation,higherlaborproductivity.Forthesereasons,inordertosolvethelow-massobjectsweighingproblem,ifasmallsize,lightweight,portable,digitaldisplayelectronicscales,willbepopular.Discussedbelow,thatis,thescopeofaweighing5kgcompactelectronicscales.Design:Themaintaskistodesigncompactelectronicscalesweighingthechoiceoftheforcesensors.Dynamometersensortypestoachievetheweighinganddigitaldisplay,thekeyistowanttoforce(gravity)signalsintoelectricalsignalstomeasuremethodismainlydividedintotwocategories:oneisthedirectmethod,namelytheuseofpressuremagneticsensor,piezoelectricsensor,Piezoresistivesensorsdirectlytotheforcesignalconvertedintoelectricalsignals;theotheristheindirectmethod,theelasticelementasthesensorwillpull,pressurechangesinstrain,displacement,orfrequency,andthenstrainsensors,displacementsensors,orfrequencysensorstrain,displacementorfrequencychangesforpower.Comprehensivecomparisonofavarietyofsensors,usetheindirectmethodofstraingaugeforcetransducer.Electronicscalestructuralprinciple:Sensor→amplifier→CPU→display→A/DconverterWorkflowNote:Whenanobjectonthepanwhenthepressurefacilitiestothesensorthatoccurreddeformation,sothatresistancetochange,whiletheuseofexcitationvoltagechanges,theoutputofachangeinanalogsignal.ThissignalamplificationbytheamplifieroutputtotheADC.ConvertedtofacilitatetheprocessingofthedigitalsignaloutputtotheCPUoperatorcontrol.CPUunderthekeyboardcommandsandprogramoutputtodisplaythisresult.Untiltheshowsucharesult.Howitworks:electronicworksinelectroniccomponents(weighingsensor,ADconversioncircuit,microcontrollercircuits,displaycircuit,keyboardcircuitry,communicationsinterfacecircuits,regulatedpowersupplycircuitcircuit.Usingthefunction:electronicweighingtheuseofmodernsensortechnology,electronicsandcomputertechnologyintegration,electronicweighingdevices,inordertomeetandsolvereallife's"fast,accurate,continuous,automatic"weighingrequirements,whileeffectivelyeliminatinghumanerror,tomakeitmoreinlinewiththemanagementoflegalmetrologyandindustrialproductionprocesscontrolapplications.Sensordevicedesign:canfeeltherequirementsaremeasuredandconvertedinaccordancewiththelawsofcertainsignaldeviceordevicesavailable,usuallycomposedofsensitivecomponentsandconversiondevices."Sensorisadetectiondevice,canfeeltheinformationbeingmeasured,andcandetectsenseofinformation,accordingtocertainlawsoftransformationintoelectricalsignals,orotherformsofinformationrequiredforoutputtomeettheinformationtransmission,processing,storage,display,recordingandcontrolrequirements.Itistheautomaticdetectionandcontroloftheprimarylink.Theworkingprincipleofthestraingaugeforcetransducerstraingaugepastedintoforce,force-sensitiveelasticelement,thecorrespondingstrainwhentheelasticelementforcedeformation,thestraingaugeintoaresistancechange,whichledtothevoltagemeasuringcircuitchangesbymeasuringtheoutputvoltagevalue,andthenthroughtheconversioncanbeobtainedbythemeasurementofbodyweight.Sincetheelectronicscalesrequiresmallsize,weighinginscope,precisionandangleevenconsistency,sensoranddisplayintegration,itisselectedparalleltothetwoholescantileverbeamstraingaugeload-bearingsensor.Itscharacteristicsare:highprecision,easeofprocessing,simpleandcompactstructure,strongresistancetopartialload,highnaturalfrequency.Straingaugechoiceofametalpalisademetalmooringpasteontheinsulatingsubstrateparkedstraingages,mechanicalstrainresistancestraingaugefeelingsgenerally10-6mm—10-2mm,theresistancerateofchangeoftheattendantabout10-6—10-2ordersofmagnitude,suchasmallchangeinresistancemeasuredusingthegeneralresistanceoftheinstrumentishardtomeasureout,youmustusesomeformofmeasurement.Circuitintosmallchangesinresistanceratestochangesinvoltageorcurrent,inordertosecondaryinstrumentdisplay.Bridgemeasurementcircuittomeetthisrequirement.Intheloadcell,R1,R2,R3,R44straingaugeresistorbridgemeasurementcircuit.Rmisthetemperaturecompensationresistor,eistheexcitationvoltage,Vistheoutputvoltage.电子秤需求分析:在现代商业贸易和日常生活中,经常遇到测量小质量物体的重量问题。传统的杆秤虽能解决这一问题,但不便携带,效率不高,显示不直观且测量精度低;机械式弹簧秤也能解决这一问题,但惯性大,固有频率低、灵敏度不高,测量精度也不高。随着微计算机技术、集成电路技术、传感器技术的进步及更新,电子秤获得了迅猛的发展,它具有反应灵敏、准确度高、功能齐全、显示直观、结构紧凑、使用方便等特点。电子秤是称重技术中的一种新型仪表,广泛应用于各种场合。电子秤与机械秤比较有体积小、重量轻、结构简单、价格低、实用价值强、维护方便等特点,可在各种环境工作,重量信号可远传,易于实现重量显示数字化,易于与计算机联网,实现生产过程自动化,提高劳动生产率。由于以上原因,为解决小质量的物体的称重问题,若能有一种体积小、重量轻、便于携带、可数字显示的电子秤,将会广受欢迎。下面所讨论的即是一种称重范围为0~5kg的电子秤的设计问题。方案设计:设计电子秤的主要任务是称重的测力传感器的选择。能实现测力的传感器种类很多,要实现称重及数显,关键是要把力(重力)信号转换成电信号来测量,其方法主要分为2类:一类是直接法,即利用压磁式传感器、压电式传感器、压阻式传感器直接将力信号转换成电信号;另一类是间接法,即以弹性元件作为敏感器,将拉、压力转变为应变、位移或频率,再用应变传感器、位移传感器或频率传感器把应变、位移或频率转变为电量。综合比较各种传感器的情况,在此选用间接法的应变式力传感器。电子秤结构原理:传感器→放大器→A/D转换器→CPU→显示器工作流程说明:当物体放在秤盘上时,压力施给传感器,该传感器发生形变,从而使阻抗发生变化,同时使用激励电压发生变化,输出一个变化的模拟信号。该信号经放大电路放大输出到模数转换器。转换成便于处理的数字信号输出到CPU运算控制。CPU根据键盘命令以及程序将这种结果输出到显示器,直至显示这种结果。工作原理:电子式的工作原理以电子元件称重传感器,AD转换电路,单片机电路,显示电路,键盘电路,通讯接口电路,稳压电源电路等电路组成。使用功能:电子衡器采用现代传感器技术、电子技术和计算机技术一体化的电子称量装置,才能满足并解决现实生活中提出的"快速、准确、连续、自动"称量要求,同时有效地消除人为误差,使之更符合法制计量管理和工业生产过程控制的应用要求。传感器装置设计:传感器的定义:传感器是一种检测装置,能感受到被测量的信息,并能将检测感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。它是实现自动检测和自动控制的首要环节。工作原理:应变式力传感器的工作原理是将应变片粘贴到受力的力敏型弹性元件上,当弹性元件受力产生变形时,应变片产生相应的应变,转化成电阻变化,从而引起测量电路的电压变化,通过测量输出电压的数值,再通过换算即可得到所测量物体的重量。由于电子秤要求体积小,称量范围不大,精度和角偶一致性高,传感器与显示器一体化等特点,故选用双孔悬臂平行梁应变式承重传感器。其特点是:精度高、易加工、结构简单紧凑、抗偏载能力强、固有频率高。应变片选用由栅状金属泊粘贴在绝缘基片上构成的金属泊式应变片,电阻应变片感受的机械应变量一般为10-6mm~10-2mm,随之而产生的电阻变化率也大约在10-6~10-2数量级之间,这样小的电阻变化用一般的电阻测量仪表很难测出,必须采用一定形式的测量。电路将微小的电阻变化率转变成电压或电流的变化,才能用二次仪表显示出来。桥式测量电路能够满足这一要求。在称重传感器中,R1,R2,R3,R44个应变片电阻组成的桥式测量电路。Rm为温度补偿电阻,e为激励电压,V为输出电压。附录2系统总原理图附录3程序清单#include<reg52.h>#include<intrins.h>#include<stdlib.h>#include<stdio.h>#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlongintweight;doublemoney;uinttemp;ucharbutton;sbitlcdrs=P2^4;sbitlcdwr=P2^5;sbitlcden=P2^6;sbithx711_dout=P2^0;sbithx711_sck=P2^1;sbitspk=P2^2;/**********LCD1602显示程序*************/voiddelayms(uintk){uinti,j; for(i=k;i>0;i--) for(j=110;j>0;j--);}voidwrite_com(ucharcom)//写命令{lcdrs=0;P0=com;delayms(5); lcden=1;delayms(5);lcden=0; }voidwrite_date(uchardate)//写数据{lcdrs=1;P0=date;delayms(5); lcden=1;delayms(5);lcden=0;}voidinit_1602(){lcden=0;lcdwr=0; write_com(0x38);//设置16x2显示5x7点阵,8位数据接口 write_com(0x0c);//设置开显示,不显示光标 write_com(0x06);//写一个字符后地址指针加1 write_com(0x01);//显示清0,数据指针清0}voiddisplaywpm(void){ucharnum; ucharcodetable[]="W:kgP:$Money:$"; write_com(0x80); write_date(table[0]); write_date(table[1]); write_com(0x80+0x07); write_date(table[2]); write_date(table[3]); write_com(0x80+0x0a); write_date(table[4]); write_date(table[5]); write_com(0x80+0x0f); write_date(table[6]); write_com(0x80+0x40); for(num=0;num<6;num++) write_date(table[num+7]);write_com(0x80+0x4a); write_date(table[13]);}voidweight_shuzhi(uintaaa){ ucharidataweighttable[4]={0,0,0,0}; weighttable[3]=aaa%10; weighttable[2]=aaa/10%10; weighttable[1]=aaa/100%10; weighttable[0]=aaa/1000; write_com(0x80+0x02); //设置显示位置 write_date(0x30+weighttable[0]); write_com(0x80+0x03); //设置显示位置 write_date('.'); write_com(0x80+0x04); //设置显示位置 write_date(0x30+weighttable[1]); write_com(0x80+0x05); //设置显示位置 write_date(0x30+weighttable[2]); write_com(0x80+0x06); //设置显示位置 write_date(0x30+weighttable[3]); write_com(0x0c); //不显示光标}/*************hx711程序***************/voidDelay__hx711_us(void){_nop_();_nop_();}ulongReadCount(void) //增益128{ulongcount; uchari; hx711_dout=1; Delay__hx711_us(); hx711_sck=0;count=0; while(hx711_dout); for(i=0;i<24;i++) { hx711_sck=1; count=count<<1; hx711_sck=0; if(hx711_dout) count++;} hx711_sck=1; Delay__hx711_us(); hx711_sck=0; return(count);}/*************皮重,获得重量的程序*************/voidget_pizhong() //获取皮重,秤盘重量{uintj; ulonghx711_dat; for(j=0;j<5;j++)delayms(); hx711_dat=ReadCount(); //HX711AD转换数据处理 temp=(uint)(hx711_dat/100);}//缩放long数据为int型,方便处理voidget_weight() //获取被测物体重量{ ulonghx711_data,a; uintget,aa; hx711_data=ReadCount(); //HX711AD转换数据处理 get=(uint)(hx711_data/100); if(get<(temp+4)) //判断是否有正向重量 {while(1) {weight=0; weight_shuzhi(weight);//显示重量 hx711_data=ReadCount(); //HX711AD输出数据处理 get=(uint)(hx711_data/100); if(get>(temp+4))break;}} a=ReadCount(); aa=(uint)(a/100)-temp; weight=(uint)((float)aa/2.15+0.05);}//重量转换函数

温馨提示

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

评论

0/150

提交评论