本科生毕业论文(设计)题目:基于单片机的身高体重测量仪学部信息科学与工程学部学科门类工学专业电子科学与技术学号姓名武立鑫指导教师2014年5月19日装订线河北大学工商学院基于单片机的身高体重测量仪摘要本文介绍了一个基于单片机的身高体重测量仪,本设计以单片机为平台,利用金属应变片来感应人体的重量,传感器输出模拟量经AD转换器转换成数字量传入单片机。利用超声波在介质中传播速度固定的原理可由超声波在空气中的传播时间算出传播距离,实现身高的测量。通过串口电路实现了单片机与上位机的通信。本设计硬件电路包括电源电路、单片机最小系统电路、液晶屏电路、串口通信电路、独立按键电路、蜂鸣器电路、超声波模块电路、AD转换器电路和全桥电路。软件部分包括主程序、系统初始化程序、AD转换器通信程序、按键检测程序、超声波信号发射及接收程序、液晶屏驱动程序。本设计可以同时测量人体的身高和体重,还可以将所测数据自动编号发送到上位机上显示或以文档的形式导出并保存。基于单片机身高体重测量仪制作成本低,电路设计简单,显示清楚,基本满足设计要求。关键词:STC89C52;超声波;HX711;上位机HeightandweightmeasurementinstrumentbasedonMCUABSTRACTThispaperintroducesaheightandweightmeasurementinstrumentbasedonMCU,ThedesignuseaMCUastheplatform,usingmetalstraingaugestoinductionoftheweightofthehumanbody.Becausetheultrasonicpropagationvelocityisfixed,soaccordingtothepropagationtimetocalculatethepropagationdistance,soastogettheheightinformation.ThroughtheserialportMCUcancommunicatewiththePC.Thehardwarecircuitincludespowercircuit,MCUminimumsystemcircuit,LCDcircuit,serialcommunicationcircuit,independentkeycircuit,abuzzercircuit,ultrasonicmodulecircuit,ADconvertercircuitandafullbridgecircuit.Thesoftwareincludesthemainprogram,thesysteminitializationprogram,ADconvertercommunicationprogram,buttondetectionprogram,theultrasonicsignalemittingandreceivingprocedures,LCDdriverprogram.Thisdesigncansimultaneouslymeasurethebodyheightandweight,andcanalsosenddatatothehostcomputerdisplayorderivedformdocumentandsave.HeightandweightmeasurementinstrumentbasedonMCUoflowcost,simplecircuitdesign,cleardisplay,basicallymeetthedesignrequirements.Keywords:STC89C52;Ultrasonic;HX711;Hostcomputer目录1绪论12身高体重测量仪总体方案设计22.1设计方案的选定.........................................22.2身高体重测量仪的工作过程...............................3装订线3身高体重测量仪的硬件电路设计...........................43.1电源电路...............................................43.2单片机最小系统电路.....................................43.3串口通信电路...........................................53.4超声波模块接口电路.....................................63.5独立按键电路...........................................63.6液晶屏电路.............................................73.7蜂鸣器电路.............................................83.8HX711AD转换器模块接口电路.............................83.9全桥电路...............................................93.10总体硬件电路及其工作原理.............................104软件设计...............................................114.1主函数的编写..........................................114.2系统初始化函数的编写..................................134.3HX711AD转换器通信函数的编写..........................134.4按键检测函数的编写....................................144.5超声波模块函数的编写..................................164.6液晶屏驱动函数的编写..................................175开发平台及调试........................................195.1硬件的制作............................................195.2硬件的开发平台........................................205.3软件的调试............................................205.4软件的开发平台........................................215.5上位机软件............................................226总结...................................................236.1特点..................................................236.2不足与改进............................................23参考文献..................................................24致谢......................................................25附录1....................................................26附录2....................................................271绪论随着科技和社会的发展,电子产品已经渗透到了社会的各个领域,人们对个人的体质状况也越来越重视,在此背景下产生了许多用于测试人体健康标准的电子设备和器材,如血糖仪、电子体温计、身高体重测量仪等就是其中典型的例子。传统的身高体重测量仪具有不便于携带、功能单一、智能化程度低等缺点,因此进一步研究身高体重测量仪有着非常现实的意义。多功能、易携带、低功耗、智能化是未来身高体重测量仪的发展趋势。身高体重测量仪以成为人们日常生活和生产中不可缺少的物品,它在医疗应用、学校体检、家庭应用等方面都有广泛的应用。上世纪50年代中期电子技术的发展推动身高体重测量仪制造业的飞速发展,经过50余年的不断改进与完善,我国的身高体重测量仪从最初的全机械型到机电结合型再发展到现在的全电子型和数字智能型,计量方法从模拟测量向数字测量发展[1]。未来的身高体重测量仪将与智能化接轨,与其他测量仪器集成在一起,形成多功能的测量仪。随着科技的不断发展,身高体重测量仪将从具有单纯测量功能发展到具有数据传输功能、判断功能、记忆功能。在新的时代里,面貌一新的身高体重测量仪将发挥更大的作用。本设计制作了一个基于STC89C52RC单片机的身高体重测量仪,它可以同时测量人体的重量和高度,同时还可以将所测信息自动编号发送到上位机进行显示和保存,另外本设计还可以通过按键设置显示模式以及校准。与传统的身高体重测量仪相比具有易携带、多功能、智能化程度高等优点。2身高体重测量仪总体方案设计本课题的目标是设计一个基于单片机的身高体重测量仪,该系统所测量的身高允许范围为0.1m-2.5m,精度为±1cm,体重允许范围为0kg-200kg,精度为±0.5kg。测量数据能够显示在液晶屏幕上还可以通过串口传输到上位机通过电脑进行显示和数据的存储。2.1设计方案的选定(1)本次设计选用STC89C52单片机作为主控芯片,STC89C52与传统的51系列单片机相比功能更加强大,价格也更低。利用Keil软件编译程序使开发更为简单,它可以支持串口直接下载程序,不需要专门的下载器,用ISP软件将程序下载到单片机中,单片机即可执行相应的功能,开发工具简单。(2)系统所选器件均为5V供电,所以本设计电源模块选用LM2940三端稳压芯片,直流电压输入到LM2940的输入端,输出端输出5V作为整个系统的电源。(3)本设计选用ZX12864R液晶屏来显示测量信息,ZX12864R液晶屏可显示汉字及图形,内置8192个中文汉字和128个字符。模块具有光标显示、画面移位、自定义字符、睡眠模式等功能,模块有并行和串行两种连接方法[2]。(4)体重的测量使用压力应变片,它可以将人体的体重转换为电压信号,模拟信号经AD转换器处理转换成数字值传入到单片机进行处理。(5)身高的测量采用超声波传感器,传感器的发射器发出的超声波以固定速度υ在空气中传播,到达地面时被反射返回,由接收器接收,其往返时间为t,可由单片机的定时器测量,由s=vt/2即可算出传输距离即身高[3]。(6)由于设计要求将测量信息发送到上位机上显示和保存,且STC89C52单片机在烧录程序时也使用串口,所以本设计中选用了MAX232芯片作为TTL电平与RS232电平转换的器件构成串口通信电路。除上述主要器件以外系统的设计还增加了蜂鸣器、按键等模块来完善系统的设计,系统设计框图如图2-1所示。图2-1系统设计框图2.2身高体重测量仪的工作过程本设计开机后液晶屏幕上会显示当前的重量以及身高信息,系统在硬件设计上留有四个独立按键,若按下电路板上的“发送”按键系统会将当前的身高和体重信息编号为一号发送到上位机进行显示,若再次按下“发送”按键则系统会将编号自动加一并再次向上位机发送最新更新的身高和体重信息。若按下电路板上的“保持”按键系统会将当前测量的值显示在液晶屏幕上并保持不变同时液晶会显示当前处于保持显示的状态,在保持状态下再次按下“保持”按键系统会取消保持状态返回实时测量的状态,同时液晶显示回到正常测量的显示界面。若在测量状态下按下“校准