电子秤毕业设计_第1页
电子秤毕业设计_第2页
电子秤毕业设计_第3页
电子秤毕业设计_第4页
电子秤毕业设计_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

摘要随着微电子技术的应用,市场上使用的传统称重工具已经满足不了人们的规定。为了改变传统称重工具在使用上存在的问题,在本设计中将智能化、自动化、人性化用在了电子秤重的控制系统中。本系统重要由单片机来控制,测量物体重量部分由称重传感器及A/D转换器组成,加上显示单元,此电子秤俱备了功能多、性能价格比高、功耗低、系统设计简朴、使用方便直观、速度快、测量准确、自动化限度高等特点。本设计以AT89S52单片机为主控芯片,实现电子秤的基本控制功能。在设计系统时,为了更好地采用模块化设计法,分步的设计各个单元功能模块,系统的硬件部分可以分为最小系统、数据采集和人机交互界面三大部分。最小系统部分重要涉及AT89S52以及复位电路和晶振电路;数据采集部分由稳重传感器、信号的前级解决和A/D转换部分组成,涉及仪表放大器INA122和A/D转换器ADC0804;人机交互界面为键盘输入、点阵式液晶显示和语音报价,重要使用4*4矩阵键盘、1602液晶显示模块和电子秤专用语音芯片SC1010B;软件部分应用单片机C语言进行编程,实现了该设计的所有控制功能。该电子秤可以实现基本的称重功能,可以设立单价,还具有累加和报价功能。整个系统结构简朴,使用方便,功能齐全,具有一定的开发价值。关键词:AT89S52,称重传感器,A/D转换器,LCD显示器ABSTRACTWiththeapplicationofmicro-electronicstechnology,traditionponderationinstrumentusedinmarkethasbeennotsatisfactionwithhunmanrequirementsalready.Inordertomakeupforthetraditionalapparatusshortcoming,weimprovetheapparatus'scontrolsystemwithintelligenceandautomation.Thissystemismainlycontrolledbymicrocontroller,thesectionofheightmeasurementaccomplishbysupersonicsensor,thesectionofweightmeasurementaccomplishbyweightsensorandA/Dtransformer,thisapparatushavemanycharacteristicsuchashavingmorefunction,consumelessenergy,smallandmoveeasily,lowprice,measureprecisely,thespeedisquick,automaticworkwithoutpeopleandsoon.ThisdesignasthecontrollerchipAT89S52SCM,realizethebasicelectronicscalecontrolfunction.Inthedesignofthesystem,inordertobetterthemodulardesignmethod,thedesignofthestepeachunitfunctionmodule,thesystem'shardwarepartscanbedividedintothesmallestsystem,dataacquisitionandman-machineinterfaceofthree.MinimumsystemmainlyincludingpartandresetcircuitAT89S52crystalvibrationcircuit;Dataacquisitioninpartbythesteadysensors,signalprocessingandlevelbeforeA/Dconversionparts,includinginstrumentationamplifierINA122andA/DconverterADC0804;Theman-machineinterfaceforkeyboardinput,Dot-matrixLCDdisplayandvoiceoffer,themainuse4*4matrixkeyboard,1602LCDmoduleandelectronicscalesspecialvoicechipSC1010B;ApplicationsoftwareofsinglechipmicrocomputerCprogramminglanguage,realizethedesignofallcontrolfunction.Theelectronicscalescanrealizethebasicweighingfunction,cansettheprice,Alsohastheaccumulationandofferfunction.Thewholesystemstructureissimple,easytouse,thefunctionisallready,hassomeofthedevelopmentvalue.KEYWORDS:AT89S52,ponderation–sensor,A/Dconverter,LCDDisplay目录摘要 IABSTRACT II1绪论 11.1称重技术和衡器的发展 11.2电子秤的组成 11.2.1电子秤的基本结构 11.2.2电子秤的工作原理 21.2.3电子秤的计量性能 21.3设计思路 32系统方案论证与选型 42.1测量部分 42.2放大部分 52.3A/D转换部分 62.4控制器部分 82.5显示部分 82.6键盘部分 112.7语音部分 123硬件电路设计 133.1AT89S52的最小系统电路 133.1.1、单片机芯片AT89S52介绍: 133.1.2、单片机管脚说明: 133.1.3、AT89S52的最小系统电路构成: 153.2数据采集电路 163.2.1测量电路及放大电路 163.2.2A/D转换电路 173.3显示电路 193.4语音电路 204系统软件设计 224.1主程序流程图 234.2A/D转换子程序流程图 244.3键盘扫描子程序流程图 264.4显示子程序流程图 285总结 31致谢 32参考文献 33附录1 34附录2 471绪论1.1称重技术和衡器的发展称重技术自古以来就被人们所重视,作为一种计量手段,广泛应用于工农业、科研、交通、内外贸易等各个领域,与人民的生活紧密相连。称重装置不仅是提供重量数据的单体仪表,并且作为工业控制系统和商业管理系统的一个组成部分,推动了工业生产的自动化和管理的现代化,它起到了缩短作业时间、改善操作条件、减少能源和材料的消耗、提高产品质量以及加强公司管理、改善经营管理等多方面的作用。称重装置的应用已遍及到国民经济各领域,取得了显著的经济效益。因此,称重技术的研究和衡器工业的发展各国都非常重视。50年代中期电子技术的渗入推动了衡器制造业的发展。60年代初期出现机电结合式电子衡器以来,通过40数年的不断改善与完善,我国电子衡器从最初的机电结合型发展到现在的全电子型和数字智能型。现今电子衡器制造技术及应用得到了新发展。电子称重技术从静态称重向动态称重发展:计量方法从模拟测量向数字测量发展;测量特点从单参数测量向多参数测量发展,特别是对快速称重和动态称重的研究与应用。通过度析近年来电子衡器产品的发展情况及国内外市场的需求,电子衡器总的发展趋势是小型化、模块化、集成化、智能化;其技术性能趋向是速率高、准确度高、稳定性高、可靠性高;其功能趋向是称重计量的控制信息和非控制信息并重的“智能化”功能;其应用性能趋向于综合性和组合性。电子秤是电子衡器中的一种,衡器是国家法定计量器具,是国计民生、国防建设、科学研究、内外贸易不可缺少的计量设备,衡器产品技术水平的高低,将直接影响各行各业的现代化水平和社会经济效益的提高。1.2电子秤的组成1.2.1电子秤的基本结构电子秤是运用物体的重力作用来拟定物体质量(重量)的测量仪器,也可用来拟定与质量相关的其它量大小、参数、或特性。不管根据什么原理制成的电子秤均由以下三部分组成:(1)承重、传力复位系统它是被称物体与转换元件之间的机械、传力复位系统,又称电子秤的秤体,一般涉及接受被称物体载荷的承载器、秤桥结构、吊挂连接部件和限位减振机构等。(2)称重传感器 即由非电量(质量或重量)转换成电量的转换元件,它是把支承力变换成电的或其它形式的适合于计量求值的信号所用的一种辅助手段。按照称重传感器的结构型式不同,可以分直接位移传感器(电容式、电感式、电位计式、振弦式、空腔谐振器式等)和应变传感器(电阻应变式、声表面谐振式)或是运用磁弹性、压电和压阻等物理效应的传感器。对称重传感器的基本规定是:输出电量与输入重量保持单值相应,并有良好的线性关系;有较高的灵敏度;对被称物体的状态的影响要小;能在较差的工作条件下工作;有较好的频响特性;稳定可靠。(3)测量显示和数据输出的载荷测量装置即解决称重传感器信号的电子线路(涉及放大器、模数转换、电流源或电压源、调节器、补尝元件、保护线路等)和指示部件(如显示、打印、数据传输和存贮器件等)。这部分习惯上称载荷测量装置或二次仪表。在数字式的测量电路中,通常涉及前置放大、滤滤、运算、变换、计数、寄存、控制和驱动显示等环节。1.2.2电子秤的工作原理当被称物体放置在秤体的秤台上时,其重量便通过秤体传递到称重传感器,传感器随之产生力-电效应,将物体的重量转换成与被称物体重量成一定函数关系(一般成正比关系)的电信号(电压或电流等)。此信号由放大电路进行放大、经滤波后再由模/数(A/D)器进行转换,数字信号再送到微处器的CPU解决,CPU不断扫描键盘和各种功能开关,根据键盘输入内容和各种功能开关的状态进行必要的判断、分析、由仪表的软件来控制各种运算。运算结果送到内存贮器,需要显示时,CPU发出指令,从内存贮器中读出送到显示器显示,或送打印机打印。一般地信号的放大、滤波、A/D转换以及信号各种运算解决都在仪表中完毕。1.2.3电子秤的计量性能电子秤的计量性能涉及的重要技术指标有:量程、分度值、分度数、准确度等级等。(1)量程:电子衡器的最大称量Max,即电子秤在正常工作情况下,所能称量的最大值。(2)分度值:电子秤的测量范围被提成若干等份,每份值即为分度值。用e或d来表达。(3)分度数:衡器的测量范围被提成若干等份,总份数即为分度数用n表达。电子衡器的最大称量Max可以用总分度数n与分度值d的乘积来表达,即Max=n•d(4)准确度等级国际法制计量组织把电子秤按不同的分度数提成Ⅰ、Ⅱ、Ⅲ、Ⅳ四类等级,分别相应不同准确度的电子秤和分度数n的范围,如表1-1所示:表1-1电子秤等级分类标志及等级电子秤种类分度数范围特种准确度基准衡器n>100000高准确度精密衡器10000<n≤100000中准确度商业衡器1000<n≤10000普通准确度粗衡器100<n≤10001.3设计思绪目前,台式电子秤在商业贸易中的使用已相称普遍,但存在较大的局限性:体积大、成本高、需要工频交流电源供应、携带不便、应用场合受到制约。现有的便携秤为杆秤或以弹簧、拉伸变形来实现计量的弹簧秤,居民用户使用的基本是杆秤。弹簧盘秤制造工艺规定较高,弹簧的疲劳问题无法彻底解决,一旦超过弹簧弹性限度,弹簧秤就会产生很大误差,以至损坏,影响到称重的准确性和可靠性,只是一种暂时的代用品,也被列入逐渐取消的行列。微控制器技术、传感器技术的发展和计算机技术的广泛应用,电子产品的更新速度达成了日新月异的地步。本系统在设计过程中,除了能实现系统的基本功能外,还增长了打印和通讯功能,可以实现和其他机器或设备(涉及上位PC机和数据存储设备)互换数据.除此之外,系统的微控制器部分选择了兼容性比较好的AT89系列单片机,在系统更新换代的时候,只需要增长很少的硬件电路,甚至仅仅删改系统控制程序就可以实现。综上所述,本课题的重要设计思绪是:运用压力传感器采集因压力变化产生的电压信号,通过电压放大电路放大,然后再通过模数转换器转换为数字信号,最后把数字信号送入单片机。单片机通过相应的解决后,得出当前所称物品的重量及总额,然后再显示出来。此外,还可通过键盘设定所称物品的价格。重要技术指标为:称量范围0~10kg;分度值0.1kg,精度等级Ⅳ级。2系统方案论证与选型按照本设计功能的规定,系统由七个部分组成:测量部分、放大部分、A/D转换部分、控制器部分、显示部分、键盘部分和语音部分,系统设计总体方案框图如图2-1所示:图2-1设计思绪框图测量部分是运用称重传感器检测压力信号,得到薄弱的电信号,而后经放大电路解决后,送A/D转换器,将模拟量转化为数字量输出。控制器部分接受来自A/D转换器输出的数字信号,通过运算,将数字信号转换为物体的实际重量信号,并将其送至LCD显示。控制器还可以通过对I/O口的控制,对键盘进行扫描,而后通过键盘来对整个系统进行控制。2.1测量部分在设计中测量部分由称重传感器来完毕。稳重传感器是一个十分重要的元件,因此对稳重传感器的选择也显的特别的重要,不仅要注意其量程和参数,还要考虑到与其相配置的各种电路的设计和性价比等等。稳重传感器量程的选择可依据电子秤的最大称量值、选用传感器的个数、秤体的自重、也许产生的最大偏载及动载等因素综合评价来拟定。一般来说,传感器的量程越接近分派到每个传感器的载荷,其称量的准确度就越高。但在实际使用时,由于加在传感器上的载荷除被称物体外,还存在秤体自重、皮重、偏载及振动冲击等载荷,因此选用传感器量程时,要考虑诸多方面的因素,保证传感器的安全和寿命。本设计是学术研究,只考虑量程和精度。所以采用电阻应变式稳重传感器的量程为10Kg,其测量原理:用应变片测量时,将其粘贴在弹性体上。当弹性体受力变形时,应变片的敏感栅也随同变形,其电阻值发生相应变化,通过转换电路转换为电压或电流的变化。由于内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,输出信号电压可由下式给出:其工作原理和参数如图2-2所示:图2-2传感器工作原理2.2放大部分称重传感器输出电压振幅范围0~10mV。而A/D转换的输入电压规定为0~5V,因此放大环节要有500倍左右的增益。零点和增益的温度漂移和时间漂移极小。按照输入电压10mV,分辨率20230码的情况,漂移要小于1µV。由于其具有极低的失调电压的温漂和时漂,从而保证了放大环节对零点漂移的规定。残余的一点漂移依靠软件的自动零点跟踪来彻底解决。稳定的增益量可以保证其负反馈回路的稳定性,并且最佳选用高阻值的电阻和多圈电位器。由2.1中称重传感器的称量原理可知,电阻应变片组成的传感器是把机械应变转换成ΔR/R,而应变电阻的变化一般都很微小,例如传感器的应变片电阻值120Ω,灵敏系数K=2,弹性体在额定载荷作用下产生的应变为1000ε,应变电阻相对变化量为:ΔR/R=K×ε=2×1000×10-6=0.002。可以看出电阻变化只有0.24Ω,其电阻变化率只有0.2%。这样小的电阻变化既难以直接精确测量,又不便直接解决。因此,必须采用转换电路,把应变计的ΔR/R变化转换成电压或电流变化,但是这个电压或电流信号很小,需要增长增益放大电路来把这个电压或电流信号转换成可以被A/D转换芯片接受的信号。在前级解决电路部分,我们考虑可以采用以下几种方案:方案一、运用普通低温漂运算放大器构成前级解决电路;普通低温漂运算放大器构成多级放大器会引入大量噪声。由于A/D转换器需要很高的精度,所以几毫伏的干扰信号就会直接影响最后的测量精度。所以,此种方案不宜采用。方案二、重要由高精度低漂移运算放大器构成差动放大器,而构成的前级解决电路;差动放大器具有高输入阻抗,增益高的特点,可以运用普通运放(如OP07)做成一个差动放大器。其设计电路如图2-3所示:图2-3运用普通运放设计的差动放大器方案三、采用专用仪表放大器,如:INA126,INA122等构成前级解决电路。本设计采用INA122仪表放大器来实现。2.3A/D转换部分A/D转换部分是整个设计的关键,这一部分解决不好,会使得整个设计毫无意义。目前,世界上有多种类型的ADC,有传统的并行、逐次逼近型、积分型ADC,也有近年来新发展起来的∑-Δ型和流水线型ADC,多种类型的ADC各有其优缺陷并能满足不同的具体应用规定。目前,ADC集成电路重要有以下几种类型:(1)并行比较A/D转换器:如TLC5510、TLC5540等。并行比较ADC是现今速度最快的模/数转换器,采样速率在1GSPS以上,通常称为“闪烁式”ADC。它由电阻分压器、比较器、缓冲器及编码器四种分组成。这种结构的ADC所有位的转换同时完毕,其转换时间主取决于比较器的开关速度、编码器的传输时间延迟等。缺陷是:并行比较式A/D转换的抗干扰能力差,由于工艺限制,其分辨率一般不高于8位。(2)逐次逼近型A/D转换器:如:ADS7805、ADS7804等。逐次逼近型ADC是应用非常广泛的模/数转换方法,这一类型ADC的优点:高速,采样速率可达1MSPS;与其它ADC相比,功耗相称低;在分辨率低于12位时,价格较低。缺陷:在高于14位分辨率情况下,价格较高;传感器产生的信号在进行模/数转换之前需要进行调理,涉及增益级和滤波,这样会明显增长成本。(3)积分型A/D转换器:如:ICL7135、ICL7109、ICL1549、MC14433等。积分型ADC又称为双斜率或多斜率ADC,是应用比较广泛的一类转换器。它的基本原理是通过两次积分将输入的模拟电压转换成与其平均值成正比的时间间隔。与此同时,在此时间间隔内运用计数器对时钟脉冲进行计数,从而实现A/D转换。积分型ADC两次积分的时间都是运用同一个时钟发生器和计数器来拟定,因此所得到的表达式与时钟频率无关,其转换精度只取决于参考电压VR。此外,由于输入端采用了积分器,所以对交流噪声的干扰有很强的克制能力。若把积分器定期积分的时间取为工频信号的整数倍,可把由工频噪声引起的误差减小到最小,从而有效地克制电网的工频干扰。这类ADC重要应用于低速、精密测量等领域,如数字电压表。其优点是:分辨率高,可达22位;功耗低、成本低。缺陷是:转换速率低,转换速率在12位时为100~300SPS。

(4)压频变换型ADC:其优点是:精度高、价格较低、功耗较低。缺陷是:类似于积分型ADC,其转换速率受到限制,12位时为100~300SPS。考虑到本系统中对物体重量的测量和使用的场合,精度规定不是很苛刻,转换速率规定也不高,而双积分型A/D转换器精度高,具有精确的差分输入,重要的是输入阻抗高(大于),可自动调零,有超量程信号输出,所有输出于TTL电平兼容。且双积分型A/D转换器具有很强的抗干扰能力。对正负对称的工频干扰信号积分为零,所以对50Hz的工频干扰克制能力较强,对高于工频干扰(例如噪声电压)已有良好的滤波作用。只要干扰电压的平均值为零,对输出就不产生影响。特别对本系统,缓慢变化的压力信号,很容易受到工频信号的影响。根据系统的精度规定以及综合的分析其优点和缺陷,本设计采用了8位A/D转换器AD0804。2.4控制器部分本设计由于规定必须使用单片机作为系统的主控制器,并且以单片机为主控制器的设计,可以容易地将计算机技术和测量控制技术结合在一起,组成新型的只需要改变软件程序就可以更新换代的“智能化测量控制系统”。这种新型的智能仪表在测量过程自动化、测量结果的数据解决以及功能的多样化方面,都取得了巨大的进展。再则由于系统没有其它高标准的规定,又考虑到本设计中程序部分比较大,根据总体方案设计的分析,设计这样一个简朴的的系统,可以选用带EPROM的单片机,由于应用程序不大,应用程序直接存储在片内,不用在外部扩展存储器,这样电路也可简化。INTEL公司的8051和8751都可使用,在这里选用ATMENL生产的AT89SXX系列单片机。AT89SXX系列与MCS-51相比有两大优势:第一,片内存储器采用闪速存储器,使程序写入更加方便;第二,提供了更小尺寸的芯片,使整个硬件电路体积更小。此外价格低廉、性能比较稳定的MCPU,具有8K×8ROM、256×8RAM、2个16位定期计数器、4个8位I/O接口。这些配置可以很好地实现本仪器的测量和控制规定最后我们最终选择了AT89S52这个比较常用的单片机来实现系统的功能规定。AT89S52内部带有8KB的程序存储器,基本上已经可以满足我们的需要。2.5显示部分方案一、LED显示:LED就是lightemittingdiode,发光二极管的英文缩写,简称LED。它是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。LED显示器结构:基本的半导体数码管是由七个条状发光二极管芯片排列而成的。可实现0~9的显示。其具体结构有“反射罩式”、“条形七段式”及“单片集成式多位数字式”等LED显示器与显示方式:LED显示块是由发光二极管显示字段的显示器件。通常使用的是七段LED。这种显示块有共阴极与共阳极两种。共阴极LED显示块的发光二极管阴极共地。当某个发光二极管的阳极为高电平时,发光二极管点亮;共阳极LED显示块的发光二极管阳极并接。在设计中使用LED显示块构成N位LED显示器。N位LED显示器有N根位选线和8*N根段选线。根据显示方式不同,位选线与段选线的连接方法不同。段选线控制字符选择,位选线控制显示位的亮、暗。LED显示器有静态显示与动态显示两种方式。在多位LED显示时,为了简化电路,减少成本,将所有位的段选线并联在一起,由一个8位I/O口控制,而共阴极点或共阳极点分别由响应的I/O口线控制。其中两片74LS244分别用于段信号和位信号的驱动,74LS273用于段信号的锁存,其锁存地址为7FFFH。如图2-4所示:图2-4LED数码管显示方式方案二、LCD显示:LCD液晶显示器是LiquidCrystalDisplay的简称,LCD的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。比LED要好的多,但是价钱较其贵。在平常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的重要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。发光管和LED数码管比较常用,软硬件都比较简朴,在前面章节已经介绍过,在此不作介绍,本章重点介绍字符型液晶显示器的应用。在单片机系统中应用晶液显示器作为输出器件有以下几个优点:(1)显示质量高:由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。(2)数字式接口:液晶显示器都是数字式的,和单片机系统的接口更加简朴可靠,操作更加方便。(3)体积小、重量轻:液晶显示器通过显示屏上的电极控制液晶分子状态来达成显示的目的,在重量上比相同显示面积的传统显示器要轻得多。(4)功耗低:相对而言,液晶显示器的功耗重要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。液晶显示的原理是运用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、合用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。液晶显示器各种图形的显示原理:(1)线段的显示:点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列相应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相相应,每一字节的内容和显示屏上相应位置的亮暗相应。例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。(2)字符的显示:用LCD显示一个字符时比较复杂,由于一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置相应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简朴了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM相应的地址,设立光标,在此送上该字符相应的代码即可。(3)汉字的显示:汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5……右边为2、4、6……根据在LCD上开始显示的行列号及每行的列数可找出显示RAM相应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节……直到32B显示完就可以LCD上得到一个完整汉字。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符合基本条件,可以采用。2.6键盘部分键盘输入是人机交互界面中重要的组成部分,它是系统接受用户指令的直接途径。操作者通过键盘向系统发送各种指令或置入必要的数据信息。因此键盘模块设计的好坏,直接关系到系统的可靠性和稳定性。键盘是由若干个按键开关组成,键的多少根据单片机应用系统的用途而定。键盘由许多键组成,每一个键相称于一个机械开关触点,当键按下时,触点闭合,当键松开时,触点断开。单片机接受到按键的触点信号后作相应的功能解决。因此,相对于单片机系统来说键盘接口信号是输入信号。由于电子秤需要设立单价(十个数字键),还具有去皮、累加、清零等功能,总共需设立17个键(涉及一个复位键)。键盘的扩展有以下方案:方案一、专用芯片式设计:专用键盘解决芯片一般功能比较完善,芯片自身能完毕对按键的编码、扫描、消抖和重键等问题的解决,甚至还集成了显示接口功能。列如Intel8279是一种为8位微解决器设计的比较成熟的通用键盘/显示器接口芯片,其功能有:接受来自键盘的输入数据,并作预解决;数据显示的管理和数据显示器的控制。专用键盘解决芯片的优点很明显,可靠性高,口简朴,使用方便,适合解决按键较多的情况。但在很多应用场合,考虑成本因素,也许并不是最佳选择。方案二、矩阵式键盘设计:矩阵式键盘又叫行列式键盘,用I/O口线组成行、列结构,按键设立在行列的交点上。例如,用2×2的行列结构可构成4个键的键盘,4×4行列结构可构成16个键的键盘,如图2-5所示。因此,在按键数量较多时,可以节省I/O口线。相对于专用芯片式可以节省成本,且更为灵活。缺陷就是需要用软件解决消抖、重键等问题。图2-54×4矩阵键盘结合本设计的实际规定,16个按键使用4×4矩阵式键盘,此外一个复位键使用独立式按键实现。2.7语音部分本设计采用电子秤专用语音芯片sc1010b,sc1010b采用台湾最新母体,真人语音报数,外围元件少,电路简朴,控制方便,成本低。sc1010b的电气特性:电源电压VDD:2.4~3.6V、静态电流:Isb≤5µA、工作电流:Iop=2mA(noload)、音频输出方式:PWM(D/A)输出8欧0.5W喇叭。3硬件电路设计根据设计规定与设计思绪,此电路由AT89S52的最小系统电路、数据采集电路、显示电路、语音电路和键盘电路组成。3.1AT89S52的最小系统电路AT89S52单片机的最小系统由时钟电路、复位电路、电源电路及单片机构成。3.1.1、单片机芯片AT89S52介绍:单片机采用MCS-51系列单片机。由ATMEL公司生产的AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。在单芯片上,拥有机灵的8位CPU和在线系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定期器,2个数据指针,三个16位定期器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、定期器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。并且,它还具有一个看门狗(WDT)定期/计数器,假如程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。AT89S52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定期计数器,2个全双工串行通信口,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。其将通用的微解决器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地减少开发成本。3.1.2、单片机管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸取8TTL门流。当P1口的管脚第一次写1时,被定义为高阻输入。P0可以用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接受输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接受。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接受,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它运用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接受高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接受输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL),这是由于上拉的缘故。P3口也可作为AT89S52的一些特殊功能口,如表3-1所示:表3-1P3.0口引脚功能表P3口引脚第二功能P3.0RXD(串行口输入)P3.1TXD(串行口输出)P3.2INT0(外部中断0输入)P3.3INT1(外部中断1输入)P3.4T0(定期器0外部脉冲输入)P3.5T1(定期器1外部脉冲输入)P3.6WR(外部数据存储器写脉冲输出)P3.7RD(外部数据存储器读脉冲输出)P3口同时为闪烁编程和编程校验接受一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定期目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想严禁ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。此外,该引脚被略微拉高。假如微解决器在外部执行状态ALE严禁,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。AT89S52芯片管脚图如下:图3-1AT89S52芯片管脚图3.1.3、AT89S52的最小系统电路构成:AT89S52单片机的最小系统由时钟电路、复位电路、电源电路及单片机构成。单片机的时钟信号用来提供单片机片内各种操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种拟定的初态开始运营。单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。假如RST连续为高电平,单片机就处在循环复位状态。根据应用的规定,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位规定接通电源后,自动实现复位操作。上电或开关复位规定电源接通后,单片机自动复位,并且在单片机运营期间,用开关操作也能使单片机复位。单片机的复位操作使单片机进入初始化状态,其中涉及使程序计数器PC=0000H,这表白程序从0000H地址单元开始执行。系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。51单片机的复位是由RESET引脚来控制的,此引脚与高电平相接超过24个振荡周期后,51单片机即进入芯片内部复位状态,并且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。3.2数据采集电路数据采集电路由测量电路、放大电路、A/D转换电路组成。3.2.1测量电路及放大电路测量部分由称重传感器来完毕,但是在protues中没有稳重传感器,根据其原理,在仿真电路中用电桥电路来代替,由于采用的压电传感器输出的电压信号比较弱,直接输送给A/D转换系统无法正常完毕转换,需要进行信号放大,这样才干保证信号转换的准确性。放大电路采用INA122仪表放大器。INA122是精密低噪声信号采集仪表放大器,内部采用2个运放设计,使之具有非常低的静态电流的优越性能,可用于便携式仪表和数据采集系统。INA122工作在很宽的单电源供电下(2.2~36V),静态电流仅60μA。用一个外部电阻,可设定从5~10000V/V的任意增益值。激光校正保证了极低失调电压及漂移和优越的共模克制。在噪声环境或高阻电源应用时,芯片电源端要用电容滤波,且应尽也许靠近芯片电源脚放置。基准端必须是低阻连接,如有10Ω串联电阻,则共模克制比将下降约80dB(G=1)。增益与RG的选择如下表所示。增益G=5200kΩ/RG,公式中\o"IC库存:200k"200kΩ等于\o"IC库存:INA122"INA122内部两个反馈回路电阻之和。内部两个反馈电阻是通过激光校正的,因此外部电阻RG的选用对增益影响就很大,应选用稳定性好、温度漂移小的电阻。INA122采用8脚塑封DIP和SO-8封装。以下是INA122的引脚功能:(1)1、8脚:RG,增益设立端,一般接入精密电阻;(2)3、2脚:IN+、IN-,差分正负输入端,一般输入传感器信号;(3)7、4脚:V+、V-,正负电源输入端,一般各自与地接入0.1uf的去耦电容器;(4)5脚:参考输入端,通常接地;(5)6脚:放大器输入端。测量电路及放大电路仿真图如下所示:图3-2测量电路及放大电路3.2.2A/D转换电路本设计采用的A/D芯片为ADC0804,它是CMOS8位单通道逐次渐近型的模/数转换器,这类型的A/D转换器除了转换速度快(几十至几百us)、分辨率高外,尚有价钱便宜的优点,其转换原理如下:第一次寻找结果:10000000(若假设值≤输入值,则寻找位=假设位=1)第二次寻找结果:11000000(若假设值≤输入值,则寻找位=假设位=1)第三次寻找结果:11000000(若假设值>输入值,则寻找位=该假设位=0)第四次寻找结果:11010000(若假设值≤输入值,则寻找位=假设位=1)第五次寻找结果:11010000(若假设值>输入值,则寻找位=该假设位=0)第六次寻找结果:11010100(若假设值≤输入值,则寻找位=假设位=1)第七次寻找结果:11010110(若假设值≤输入值,则寻找位=假设位=1)第八次寻找结果:11010110(若假设值>输入值,则寻找位=该假设位=0)这样使用二分法的寻找方式,只要8次寻找,就能完毕转换的动作。其规格及引脚图如图3-3所示:图3-3:ADC0804规格及引脚分派图其引脚功能如下:/CS:芯片片选信号,低电平有效,即/CS=0,该芯片才干正常工作,在外接多个ADC0804芯片时,该信号可以作为选择地址使用,通过不同的地址信号使能不同的ADC0804芯片,从而可以实现多个ADC通道的分时复用。/WR:启动ADC0804进行ADC采样,该信号低电平有效,即/WR信号由高电平变成低电平时,触发一次ADC转换。/RD:低电平有效,即/RD=0时,可以通过数据端口DB0~DB7读出本次的采样结果。UIN(+)和UIN(-):模拟电压输入端,模拟电压输入接UIN(+)端,UIN(-)端接地。双边输入时UIN(+)、UIN(-)分别接模拟电压信号的正端和负端。当输入的模拟电压信号存在“零点漂移电压”时,可在UIN(-)接一等值的零点补偿电压,变换时将自动从UIN(+)中减去这一电压。VREF/2:参考电压接入引脚,该引脚可外接电压也可悬空,若外界电压,则ADC的参考电压为该外界电压的两倍,如不外接,则Vref与Vcc共用电源电压,此时ADC的参考电压即为电源电压Vcc的值。CLKR和CLKIN:外接RC电路产生模数转换器所需的时钟信号,时钟频率CLK=1/1.1RC,一般规定频率范围100KHz~1.28MHz。AGND和DGND:分别接模拟地和数字地。/INT:中断请求信号输出引脚,该引脚低电平有效,当一次A/D转换完毕后,将引起/INT=0,实际应用时,该引脚应与微解决器的外部中断输入引脚相连(如51单片机的INT0,INT1脚),当产生/INT信号有效时,还需等待/RD=0才干对的读出A/D转换结果,若ADC0804单独使用,则可以将/INT引脚悬空。DB0~DB7:输出A/D转换后的8位二进制结果。A/D转换电路如下图所示:图3-4A/D转换电路3.3显示电路字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,本设计采用16*2行的模块。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,使用仿便简朴。1602液晶模块各引脚接口说明如表3-2所示:表3-2LCD引脚功能表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极1602液晶模块与单片机连接图如下所示:图3-5显示电路3.4语音电路电子秤专用语音芯片sc1010b储存的语音内容如表3-3所示,每次发脉冲触发信号前先发RST复位脉冲,等待100us后,再发触发信号,发N个触发信号放第N段语音。表3-3语音内容地址语音内容地址语音内容1无14千2015点3116元4217角5318分6419单价7520公斤8621金额9722重量10823总计11924您好12十25谢谢13百电子秤专用语音芯片sc1010b的引脚功能如表3-4所示:表3-4引脚功能脚号名称功能1RT脉冲计数复位2CT脉冲触发信号3BUY工作状态反馈4IOC5VS电源负6W1C7VD电源正8W/CAC信号输出电子秤专用语音芯片sc1010b与单片机连接图如图3-6所示:图3-6语音电路4系统软件设计程序设计是一件复杂的工作,为了把复杂的工作条理化,就要有相应的环节和方法。其环节可概括为以下三点:⑴分析系统控制规定,拟定算法:对复杂的问题进行具体的分析,找出合理的计算方法及适当的数据结构,从而拟定编写程序的环节。这是能否编制出高质量程序的关键。⑵根据算法画流程图:画程序框图可以把算法和解题环节逐步具体化,以减少犯错的也许性。⑶编写程序:根据程序框图所表达的算法和环节,选用适当的指令排列起来,构成一个有机的整体,即程序。程序数据的一种抱负方法是结构化程序设计方法。结构化程序设计是对运用到的控制结构类程序做适当的限制,特别是限制转向语句(或指令)的使用,从而控制了程序的复杂性,力求程序的上、下文顺序与执行流程保持一致性,使程序易读易理解,减少逻辑错误和易于修改、调试。4.1主程序流程图图4-1主程序流程图主程序如下:voidmain(){lcdini();date=0;rst=1;delayus(13);rst=0;delayus(13);while(1){key=jpsm();weight=adc0804();if(key==11) price=djsz();sjxs(weight,price);if(key==15) speaks();}}4.2A/D转换子程序流程图图4-2A/D转换流程图A/D转换子程序如下:uintadc0804()//AD转换子程序{uinti,ad[10],adv,adc;staticuintpi;floatfad;if(key==14)pi=0;for(i=0;i<10;i++) { wr=0;_nop_(); wr=1;_nop_(); rd=1;_nop_(); rd=0;_nop_(); ad[i]=P1; rd=1; }adv=add(ad)/10;fad=(float)adv*3.903;adc=(uint)fad;if(adc%10>4)//四舍五入 adc=adc+10;adc=adc/10;if(key==12)//去皮 pi=adc;return(adc-pi);}4.3键盘扫描子程序流程图图4-3键盘扫描流程图键盘扫描子程序如下:ucharjpsm()//键盘扫描{ucharnum=16;//num是键值,没键按下时是16uchari=0;//按键松开标志P3=0xf0;if(P3!=0xf0){delayms(10);//延时消抖if(P3!=0xf0) {switch(P3) {case0x70:num=0;break; case0xb0:num=1;break; case0xd0:num=2;break; case0xe0:num=3;break; default:break; } P3=0x0f; switch(P3) {case0x07:num+=0;break; case0x0b:num+=4;break; case0x0d:num+=8;break; case0x0e:num+=12;break; default:break; } i=1; while(i) { P3=0xf0; if(P3==0xf0) i=0; } }}returnnum;}4.4显示子程序流程图图4-4显示流程图显示子程序如下:voidsjxs(uintda,uintp)//数据显示{ucharsj[10],i;staticfloatjsz,ljz,zl,dj;jsz=zl*dj;//计算总价sum=jsz+ljz; if(key==13)//累加 ljz=sum; if(key==14)//清零 ljz=0;sum1=(uint)sum;sum2=(sum-sum1)*100;if(sum2%10>4)sum=sum+0.1;sum1=(uint)sum;sum2=(sum-sum1)*100;sj[0]=da/10;sj[1]=da%10;zl=sj[0]+sj[1]*0.1;sj[2]=p/100;sj[3]=p/10%10;sj[4]=p%10;dj=sj[2]*10+sj[3]+sj[4]*0.1;sj[5]=sum1/1000;sj[6]=sum1/100%10;sj[7]=sum1/10%10;sj[8]=sum1%10;sj[9]=sum2/10;setpos(0x03);for(i=0;i<2;i++) {writedata(num[sj[i]]); if(i==0) writedata('.'); }setpos(0x0b);for(i=2;i<5;i++) { writedata(num[sj[i]]); if(i==3) writedata('.'); }setpos(0x46);for(i=5;i<10;i++) { writedata(num[sj[i]]); if(i==8) writedata('.'); }}5总结在本次毕业设计中,我花了大量的时间和精力进行资料查阅和调试电路板,结合自己所学,认真解决每一个功能模块中碰到的问题。在设计各个功能模块之前,我用Protues仿真软件进行了各个模块的仿真,并最终拟定一个总的电路原理图。但由于缺少实践经验,电路中尚有些功能不够完善,有写参数不够精确,并且抗干扰能力也不够好。总之,在这次毕业设计中,我学会了如何把自己所学的书本知识应用到实处。看到自己设计的功能电路能在仿真软件中运营、调试好的电路对的运营,我有了很大的成就感。此外,通过具体的操作,我掌握了各个功能模块的接口设计方法,无论是在设计思想还是在动手能力上都有了很大的提高。致谢通过几个月的忙碌,本次毕业设计已经接近尾声,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,假如没有导师的督促指导,以及同学们的支持,想要完毕这个设计是难以想象的。

在这里要感谢我的导师恩德老师。他平日里工作繁多,但在我做毕业设计的每个阶段都给予了我悉心的指导。除了敬佩恩德老师的专业水平外,他的治学严谨和科学研究的精神也是我永远学习的楷模,并将积极影响我此后的学习和工作。

最后还要感谢大学四年来所有的老师,为我们打下专业知识的基础;同时还要感谢所有的同学们,正是由于有了你们的支持和鼓励。本次毕业设计才会顺利完毕。

参考文献[1]余发山,王福忠.单片机原理及应用技术[M].徐州:中国矿业大学出版社.2023:76-251.[2]张振荣.MCS-51单片机原理及实用技术[M].北京:人民邮电出版社.2023:14-19.[3]艾永乐,付子义.数字电子技术基础[M].北京:中国电力出版社.2023:146-164.[4]贾宗璞,许合利.C语言程序设计[M].徐州:中国矿业大学出版社.2023:147-156.[5]楼然苗.51系列单片机设计实例[M].北京:北京航空航天大学出版社.2023:50-60.[6]艾永乐,付子义.模拟电子技术基础[M].北京:中国电力出版社.2023:119-126.[7]单成祥.传感器理论设计基础及其应用[M].北京:国防工业出版社.1999:12-36.[8]何希才,薛永毅.传感器及其应用实例[M].北京:机械工业出版社.2023:45-62[9]周立功.单片机实验与实践[M].北京:北京航空航天大学出版社.2023:16-23[10]何立民.单片机高级教程[M].北京:北京航空航天大学出版社.2023:51-59.[11]宋文续,扬帆.传感器与检测技术[M].北京:高等教育出版社.2023:32-41附录1程序清单:#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharucharsp[10]={1,14,1,13,1,12,1,16,1,17};ucharnum[10]={'0','1','2','3','4','5','6','7','8','9'};ucharkey;//key是键值uintsum1,sum2,price,weight;staticfloatsum;sbite=P2^6;//LCD的e端sbitrw=P2^5;//LCD的rw端sbitrs=P2^4;//LCD的rs端sbitrd=P2^0;//AD的rd端sbitwr=P2^1;//AD的wr端sbitrst=P2^2;//语音芯片复位端sbitdate=P2^3;//语音芯片数据端sbitbusy=P2^7;//语音芯片忙信号检测端voiddelayms(uint);voiddelayus(uint);voidspeak(uchar);voidmang();voidspeaks();voidlcdbusy();voidwritecmd(uchar);voidwritedata(uchar);voidsetpos(uchar);voidlcdini();uintadd(uinta[]);uintadc0804();ucharjpsm();uintdjsz();voidsjxs(uint,uint);voidmain(){lcdini();date=0;rst=1;delayus(13);rst=0;delayus(13);while(1){key=jpsm();weight=adc0804();if(key==11) price=djsz();sjxs(weight,price);if(key==15)speaks();}}voiddelayms(uintms)//通用延时子程序{uinti,k;for(k=ms;k>0;k--)for(i=125;i>0;i--) ;}voiddelayus(uintus){while(us--);}voidspeak(ucharsy){uchari;rst=1;delayus(13);rst=0;delayus(13);for(i=0;i<sy;i++) { date=1; delayus(13); date=0; delayus(13); }}voidmang(){uinti;for(i=0;i<50;i++) { delayms(100); if(busy==0) break; }}voidspeaks(){uchari;sp[0]=sum1/1000+2;sp[2]=sum1/100%10+2;sp[4]=sum1/10%10+2;sp[6]=sum1%10+2;sp[8]=sum2/10+2;if(sp[0]!=2) { for(i=0;i<10;i++) { speak(sp[i]); mang(); if(sp[2]==2&&sp[4]==2&&sp[6]==0&&i==2) i+=4; if(sp[4]==2&&sp[6]==2&&i==4) i+=2; if(sp[2]==2&&i==2) i++; if(sp[4]==2&&i==4) i++; if(sp[6]==2&&i==5) i++; if(sp[8]==2&&i==7) break; } }elseif(sp[2]!=2) { for(i=2;i<10;i++) { speak(sp[i]); mang(); if(sp[4]==2&&sp[6]==2&&i==4) i+=2; if(sp[4]==2&&i==4) i++; if(sp[6]==2&&i==5) i++; if(sp[8]==2&&i==7) break; } } elseif(sp[4]!=2) { for(i=4;i<10;i++) { speak(sp[i]); mang(); if(sp[6]==2&&i==5) i++; if(sp[8]==2&&i==7) break; } } elseif(sp[6]!=2) { for(i=6;i<10;i++) { speak(sp[i]); mang(); if(sp[8]==2&&i==7) break; } } elseif(sp[8]!=2) { for(i=8;i<10;i++) { speak(sp[i]); mang(); } }}voidlcdbusy()//LCD忙信号检测{P0=0xff;rs=0;rw=1;e=1;_nop_();_nop_();while(P0&0x80){e=0;_nop_();_nop_();e=1;_nop_();_nop_();}e=0;}voidwritecmd(ucharcmd)//写指令{lcdbusy();rs=0;rw=0;e=1;P0=cmd;_nop_();_nop_();e=0;}voidwritedata(uchardat)//写数据{lcdbusy();r

温馨提示

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

评论

0/150

提交评论