物联网工程-基于52单片机的智能手环设计与实现_第1页
物联网工程-基于52单片机的智能手环设计与实现_第2页
物联网工程-基于52单片机的智能手环设计与实现_第3页
物联网工程-基于52单片机的智能手环设计与实现_第4页
物联网工程-基于52单片机的智能手环设计与实现_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

PAGE 基于52单片机的智能手环设计与实现摘要:随科技与信息技术的发展。制作芯片技术的逐渐成熟使得元器件生产成本也逐渐下降。因而改变我们生活的科技产品不但数量多,且具备智能特点。在生活中,人们闲暇时间常去健身。而监测自己身体状况、制定健身计划、确保健身时人身安全成为难题。生活中普遍的监测设备笨重且操作复杂。因而希望有产品可以随身携带监测健康安全。众所周知,设备体积小又精密,价格也会相应的昂贵。也使的这类监测产品难以有效的得到普及并运用到生活中。本次设计是基于52单片机的智能手环设计与实现,以52单片机为主控核心模板,采用PulseSensor脉搏传感器监测心率,采用DS18B20温度传感器监测温度,采用MPU6050陀螺仪采集行走步数。采集到基本数据后经STC89C52单片机处理转换再通过LCD1602液晶屏显示。同时也具备按键设定阈值的功能,当监测数据超过阈值时,系统会触发蜂鸣器实现声音报警提示人体发生异常的功能。关键词:52单片机、健康、心率、体温、手环DesignandimplementationofintelligentBraceletbasedon52singlechipmicrocomputerAbstract:Withthedevelopmentoftechnologyandinformationtechnology.Thegradualmaturityofchipmanufacturingtechnologyhasgraduallyreducedtheproductioncostofcomponents.Asaresult,notonlyaretherealargenumberoftechnologyproductsthatchangeourlives,theyarealsointelligent.Inlife,peopleoftengotofitnessintheirfreetime.However,monitoringone'sphysicalcondition,formulatingafitnessplan,andensuringpersonalsafetyduringfitnesshavebecomedifficult.Thecommonmonitoringequipmentinlifeisheavyandcomplicatedtooperate.Itisthereforehopedthatsomeproductscanbecarriedaroundtomonitorhealthandsafety.Asweallknow,theequipmentissmallandprecise,andthepricewillbecorrespondinglyexpensive.Italsomakesitdifficultforsuchmonitoringproductstobeeffectivelypopularizedandusedinlife.Thisdesignisbasedonthedesignandimplementationofasmartbraceletbasedon52single-chipmicrocomputer,using52single-chipmicrocomputerasthecoretemplate,pulsesensortomonitorheartrate,DS18B20temperaturesensortomonitortemperature,andMPU6050gyroscopetocollectwalkingsteps.Aftercollectingthebasicdata,itisprocessedandconvertedbytheSTC89C52single-chipmicrocomputerandthendisplayedthroughtheLCD1602liquidcrystalscreen.Atthesametime,italsohasthefunctionofsettingthethresholdbykey.Whenthemonitoringdataexceedsthethreshold,thesystemwilltriggerthebuzzertorealizethefunctionofsoundalarmtoremindthehumanbodyofabnormality.

Keywords:52singlechipmicrocomputer,health,heartrate,bodytemperature,bracelet目录第1章绪论 11.1研究背景和意义 11.1.1基于52单片机的需求分析 11.1.2本课题的研究意义 21.2设计的主要任务与目标 21.2.1设计的主要任务 21.2.2设计的最终目标 21.3开发工具 31.4本章小结 3第2章系统方案论证 42.1系统预期目标 42.2可行性分析论证 42.3功能模块设计 42.4系统结构论证 62.5本章小结 7第3章硬件设计实现 83.1硬件总体电路 83.2单片机最小系统设计 93.3输入模块电路 103.3.1陀螺仪电路设计 103.3.2体温监测电路设计 113.3.3心率监测电路设计 133.4输出模块电路 143.4.1LCD1602液晶显示电路设计 143.4.2按键电路设计 143.4.3蜂鸣器报警电路设计 153.5本章小结 15第4章软件设计实现 174.1主程序设计 174.2子程序设计 194.2.1屏幕显示程序 194.2.2陀螺仪子程序设计 194.2.3体温监测子程序设计 204.2.4心率采集子程序设计 224.2.5报警子程序设计 234.3本章小结 23第5章系统调试 245.1功能模块测试 245.1.1心率监测数值有误差 245.1.2温度监测数据出错 255.1.3陀螺仪数值不合理跳变 255.2测试总结 255.2.1目标代码测试 255.2.2数据反馈测试 255.3本章小结 26第6章结论 27参考文献: 28致谢 29附录 30PAGE30第1章绪论1.1研究背景和意义1.1.1基于52单片机智能手环的需求分析在日常生活中,运动已然成为我们必不可少的日常活动。但却经常会看到在运动中猝死的新闻出现,很多猝死的运动者在身体异常之前都无法感知到这种不适,此时如果有一款产品可以通过各项数据分析人体状态。我们便可以通过当前人体状态知道运动量是否达到标准、机体是否会出现不适。并制定后期运动方案或者就此终止运动。同时发生异常数据时启动报警模式,提醒机主可能会发生的疾病。结合这些需求与功能,智能手环便成为了一个很好的研究方向。在人体温度方面,年初在我国肆虐的新冠病毒在感染人体后,部分机体会出现发热现象,这使得温度监测十分重要。而在日常中随时使用水银探针监测温度视乎不切实际,这便推动了便携式测温仪的发展。使用仪器随时测量成为迫切的需要。在脉搏心率方面,中医常通过把脉来获取脉搏信息,依此推断人体器官的异常。虽然脉诊具有简便、无创、无痛的特点更容易被患者群体选择,但也存在着缺陷。首先,把脉的效果好坏取决于医生当时手指状态。其次,诊断结果也全靠医生的经验判断,使得结论过于主观臆断。这正是部分西方学者不认同脉诊治病的重要原因。再者,这种用手指把脉的技巧很难掌握,需要有足够经验的医生才能进行把脉。因而往往善于脉诊的中医非常稀缺。为了健康与传统中医脉学的传承,通过与科技相结合,实现科学监测与提醒,不但给予医生最直观的脉搏情况,同时使普通民众也可以通过心率数据来检测自己的身体状况。目前可实现监测目的的智能手环已运用到多领域,各大科技公司也纷纷发布自主研发的智能手环。除了应用在医学领域以外,商业领域的应用也逐渐壮大,如日常佩戴的手表、运动健身时携带的手环都嵌入了温度监测和心率测试的功能,使得手表和手环越发的智能。智能手环市场也因此越来越壮大。1.1.2本课题的研究意义近些年来,无论是国内外各个领域都希望可以研发出一系列无创非触式的智能产品,用于人体数据的采集。这类产品主要的特点就是在测量过程中,用于探测的节点不需要侵入到机体内破坏机体性能就可以间接的测量得到人体生理数值。而且可以通过自身结构消除仪表系统产生的误差,使测量得到的数据精度更高。特别是在运动领域,都市人都追求轻运动,让运动的人穿戴极其笨重的检测设备是极其缺少人性化的。因而,民众希望这一类智能产品是便于穿戴且不影响机体运动的。同时在运动途中可以消除各类影响,精确的获取各项数据。因而本课题希望通过使用无需入侵机体便可测量的传感器设计出监测人体温度、人体心率、机体运动轨迹的健康智能手环。且具备穿戴方便、操作简单、价格低廉等特点。最终解决当下社会急需一款便携式监测人体健康产品的需求。1.2设计的主要任务与目标1.2.1设计的主要任务本设计的主要任务如下:挑选功能元器件,为硬件设计做前提。依据工作原理对硬件进行电路原路搭配。通过功能模块不同工作步骤提前绘画程序流程图。按照确定的程序流程图编写不同功能模块的程序指令。比对预先期望的效果对最后实物进行系统调试,最后完成设计目标功能。1.2.2设计的最终目标最后完成设计目标应实现功能:通过陀螺仪模块采集人体步数数据。通过心率传感器监测心率数据。通过温度传感器监测人体温度数据。通过键盘设置阀值,数据超出阀值时系统报警提示。1.3开发工具结合软件操作与自身学习情况,决定在前期使用绘图软件AltiumDesigner10对功能模块进行基础的原理图进行绘制。之后为使目标运行文件可以顺利完成使用到KEIL4软件进行编写和编译,之后使用Proteus软件进行仿真测试。再通过STC-ISP下载到开发板上。最后通过串口助手进行数据与电脑的交互,检测代码运行情况与数据准确度。第2章系统方案论证2.1系统预期目标本系统希望通过心率传感器、体温传感器和计步模块收集数据传达到主控芯片得到我们可以读懂的数据并在屏幕上以字符和数字的形式显示。并在便于我们烧写代码的同时实现供电。因而希望实现的功能如下:主控芯片:接收传感器收集的信息并转换成所需数据再传至屏幕显示。显示器件:将所需显示的字符和数字信息显示出来,实现人机交互。心率传感器:收集心率信息产生的物理量。最终获得心率数据体温传感器:通过物理方法直接检测到温度。计步模块:通过不同物理的转换得到步数信息和公里数。2.2可行性分析论证技术层次:硬件方面是简单的基础传感器。如陀螺仪、液晶模块等,且课程中都有接触。传感器运作原理与接线都可掌握。在软件方面用到大学期间学习的C语言,且各功能实现较简单。依据自身能力都可完成。因此,本次设计的技术层次是可行的。市场经济层次:在医疗领域,大型医院使用手环对患者进行身体监测。使医治有效率提高。健身领域,更多人希望有实时监测自己运动的携带式智能设备,智能手环完美契合需要。智能手环在社会市场上是炙手可热的产品,因而具备市场经济可行性。2.3功能模块设计1、主控芯片的选择选择一:使用MSP430单片机作为主控芯片MSP430单片机的性能和封装度高且耗能低,寻址范围达64k使运行稳定。430单片机的特点很适合作为主控芯片,但缺点是430单片机多用在供电的便携式仪器且开发难度较大,价格昂贵。选择二:使用STC89C52单片机作为主控芯片STC89C52单片机的RAM具有512k字节,是一款低耗能、高性价比的微控制器。使用51内核使它兼备51单片机的所有功能。不但有串口、复位等资源,还具备多个16位定时器/计时器。且价格低廉。正因性能稳定、操作简单、价格便宜,所有本次设计重点考虑。综合两种芯片。在运行效率上,430单片机有较大优势,但价格昂贵。再结合平时学习基础,本次设计采用选择二。2、计步功能模块选择选择一:MMA7455数字加速传感器模块MMA7455L加速度传感器具备数字输出、低功耗。通过检测物体运动和方向来改变输出电压值。缺点本身是集成电路,体积大、价格贵,不适合智能手环的计步模块。选择二:MPU6050陀螺仪模块MPU6050使用整合性6轴使其免除组合陀螺仪与加速器时间轴之差问题,具备较好的封装性。而且价格低、精准度较高。综上分析,结合本次设计,MMA7455数字加速传感器模块体积较大。而MPU6050陀螺仪传感器模块实现大体需求。因而选择方案二。3、体温监测功能模块的选择选择一:热敏电阻热敏电阻的内部电阻会随着附近温度的变化而改变阻值,促使相关物理量变化。经处理得到对应体温数据。热敏电阻具备灵敏度高、体积小、使用方便等特点。选择二:使用DS18B20作为体温传感器模块DS18B20是常见且专用于温度检测的功能模块。被看中的特点如下:接口是一种独特的单线方式。测温范围:-55℃~+125℃。无需要任何外围元件便可使用综上介绍,DS18B20温度传感器模块可以直接进行数字化且结构简单、操作方便等特点更适合于本次设计。因此选择方案二。4、心率测量功能模块的选择选择一:使用压电感应式传感器获取心率信息压电感应式传感器测量心率时需要将配套外设套在手臂并对其加压。因人体心率波动会有明显收缩效应,使传感器输出压力值发生改变,再通过数据处理得到我们看到的心率和血压数据。这类传感器用在医疗设备上,数据精度极高。但成本昂贵。选择二:使用红外功能模块获取心率信息红外方式监测心率是依据光电容积法将红外光波动转换成电流的转换元件,红外光的波动值由红外发射二极管和接收三极管按函数关系转换成电流量输出。人体手指上血液流动与脉动会产生心率变化引起红外光波动。而被传感器所采集。综上所述,红外传感器测量只需将传感器放于手上就可测量,无需通过外设加压。操作简单,成本低。因而选择方案二。5、显示模块的选择选择一:数码管显示数码管常用来显示简单的数字信息,因价格低廉被广泛使用。在使用中,虽然屏幕亮度高、数据显示快,但显示一个数字需要8个接口,过于浪费资源。在多位或复杂显示时,就要占用更多接口,电路也相对复杂。选择二:LCD1602液晶显示屏显示LCD1602液晶屏不但能显示数字还能显示字符,且可同时显示多位信息,画面也较好看。唯一的缺点是液晶屏的价格是数码管的好几倍。综上分析,本次设计显示的信息有字符与数字,且是多位显示。主控芯片是52单片机,提供的I/O串口有限。为使测量结果实现良好的人机交互。因而采用选择二。2.4系统结构论证通过不同需求下功能模块的论证。结合预期目标的需求以及可行性的要求,最后将系统结构分为四部分,分别从采集功能模块、数据处理模块、数据反馈模块、数据输入模块。其中采集功能模块分为心率、体温、步数数据的采集,数据处理模块以STC89C52单片机为主控芯片完成大部分数据处理,数据反馈模块可分为数据的显示和数据比较异常后的报警提醒,数据输入模块通过键盘输入触发指令。因此整体思路可以理解为:数据采集:用到心率模块、体温模块和计步模块采集物理量数据。数据转换:将收集的数据通过51单片机最小系统模块进行转换。数据显示:将转换完的数据通过屏幕显示。键盘输入:通过按键形式完成阈值改变与数据发送警告报警:当显示值超过阈值时启动报警模块。预期目标用到硬件设备有:51单片机最小系统模块MPU6050陀螺仪传感器模块LCD1602液晶模块PulseSensor脉搏检测模块DS18B20体温监测模块蜂鸣器声音报警模块按键模块系统结构图图2-1系统结构图第3章硬件设计实现 本章通过前期系统方案的论证确定了基本需要实现的功能以及需要用到的功能模块,以此进行基础的硬件设计,首先总体确定整个电路的设计并确定框图,之后再通过输入与输出分别对不同功能模块进行电路设计,3.1硬件总体电路通过对功能模块的选择,确定了51单片机最小系统模块、MPU6050陀螺仪模块、LCD1602液晶显示模块、PulseSensor脉搏检测模块、DS18B20体温监测模块、蜂鸣器模块、按键模块。现将这些模块通过软件绘制成简单框图如下:图3-1完整设计框图通过上述的硬件结构,预期在硬件方面实现以下几个功能:数据处理:51单片机最小系统处理物理量信息得到我们熟悉的模拟信息。心率数据采集:通过红外技术将人体心率的变化采集回来。温度数据采集:通过温度传感器阻值随温度的变化而变化,获得相关数据。步数信息采集:通过陀螺仪三轴重力传感器的电压变化而采集到相关数据。按键效果:通过四个按键并联的形式,当按键按下触发对应功能。报警模块:最小系统监控阈值和采集数据的大小,当出现异常便触发报警。3.2单片机最小系统设计整个系统最为核心的控制部分是由STC89C52芯片、电源电路、复位电路和晶振时钟电路组成的51单片机最小系统。时钟电路中:接入XTAL1(19引脚):内部晶振电路输入端口接入XTAL2(18引脚):内部晶振电路输出端口复位电路中:接入RST(9引脚):单片机的复位引脚。电源电路中:接入VCC(31引脚):EA(Vpp)电源引脚。51单片机最小系统主要依靠时钟模块的晶振得到周期性时钟信号,从而实现计时器作用,可以在一定时间内实现数据采集处理和转换。原理图如图3-2。图3-2单片机最小系统(1)时钟电路51单片机的节拍由晶体振荡器提供,而时钟电路就是晶体振荡器的角色。主控芯片的操作须在这个节拍的控制下进行。因此主控芯片是通过软件让单片机根据时钟来做相应工作。时钟电路的正常工作是由外部时钟方式提供工作时序。本次采用了一个11.0592MHZ的晶振和两个22PF的瓷片电容器件构成了震荡电路为单片机提供时钟。51单片机的时钟电路原理图如图3-3图3-3时钟电路 图3-4复位电路(2)复位电路51单片机的复位电路分为:手动复位方式,和上电复位。本次系统设计中,复位电路采用上电系统自动复位的方式进行系统复位。51单片机上电复位电路由220UF电容器件和10K电阻构成。因为电容内的电压是不能突变的,所有当上电时刻电容没有充电时两端电压就为零,此时,给予复位脉冲,电源给电容充电,直至电容两端电压等于电源电压,电路进入正常工作状态。复位电路用于控制主控芯片的状态。在系统受到干扰出现程序错误或系统死机的时候,启动复位操作,主控芯片内烧录的代码会重新执行。复位电路原理图如图3-43.3输入模块电路3.3.1陀螺仪电路设计人体在运动过程中,重心会随着人体的运动,在一定范围内出现规律性变化,三轴重力传感器对此敏感,随重力变化,其输出电压也会发生规律性变化。周洲.基于单片机的运动计步器设计与实现[J].智能城市,2016,2(12):2-3.周洲.基于单片机的运动计步器设计与实现[J].智能城市,2016,2(12):2-3.由此可知陀螺仪的工作流程。如图3-5MPU6050的电路由5V/3.3V电源输入。SDA,SCL连接到单片机,INT产生中断信号连接至单片机。注意到使用的主控芯片为52单片机需给SDA和SCL加上上拉电阻。图3-5MPU6050电路3.3.2体温监测电路设计DS18B20的工作原理: 因为低温振荡器的频率随温度变化较小,而高温度振荡器频率变化明显,当低温度振荡器变化,减法计数器触发减1,当初值减到0时,温度寄存器(根据硬件特性最低-55°,所以基数为-55)加1。当高温度振荡器触发减法计数器减到0时,停止工作。此时温度寄存器内的数值就是监测到的温度值。DS18B20无需外部电源。但需通过开漏模式连接总线,并给控制引脚加上上拉电阻。结构图如图3-6内部结构图:图3-6DS18B20内部结构图DS18B20高速暂存存储器由9个字节组成,分为:表3-1寄存器对应表序号寄存器名称作

用序号寄存器名称0温度低字节以16位补码形式存放4配置寄存器1温度高字节5、6、7保留2高温阈值存放温度上限8CRC3低温阈值存放温度下限器件断电时,EEPROM寄存器的数据将会被保留,再次上电后,数据将重新加载到对应寄存器,通过命令也可随时将数据从EEPROM重新加载到暂存器。表3-2温度寄存器数据格式字节7字节6字节5字节4字节3字节2字节1字节0低字节232221202-12-22-32-4字节15字节14字节13字节12字节11字节10字节9字节8高字节SSSSS262524S=SIGNDS18B20中数据是以16位二进制形式显示,S为符号位(正数S=0,负数S=1)。默认分辨率为12位时,寄存器中所有位都将是有效数据。表3-3主要指令代号表格指令约定代码操作说明温度转换44H启动DS18B20进行温度转换,结果存入RAM中读暂存器0BEH读暂存器9字节内容写暂存器4EH将数据写入暂存器的TH、TL字节写时序:主控芯片向DS18B20写入逻辑1或0至少要60us,且两次独立的“写时隙”之间至少需lus的恢复时间。读时序:在单片机发出读数据指命后,立刻产生读时序,先将总线拉低至少1us,DS18B20才开始向总线发送逻辑1或0。谢延兴.基于AT89C51单片机最小系统的数字体温计设计[J].机电技术,2009,32(04):60-61.谢延兴.基于AT89C51单片机最小系统的数字体温计设计[J].机电技术,2009,32(04):60-心率监测电路设计红外光源和三极管光敏设备在同一侧,红外光源的光经手指反射到感光设备。当手指组织的半透明度较大,红外光二级管发射出透过手指的光强很弱,光敏三极管无法导通,导致输出端高电平,当手指半透明度数值较小,输出端为低电平。黄川.基于单片机的数字心率计设计[J].科技资讯,2013(26):14+16.黄川.基于单片机的数字心率计设计[J].科技资讯,2013(26):14+16.图3-7反射式心率检测方法工作原理通过图3-8信号采集电路,U3为红外发射二极管和光敏三极管。二极管中电流越大,发射角越小,产生强度就越大。基于光敏三极管灵敏度,R21选择270Ω。当干扰光线较强的时,输入端电压变化大,用C8、C9串联组成双极性耦合电容隔断。图3-8信号采集电路3.4输出模块电路3.4.1LCD1602液晶显示电路设计LCD1602液晶屏可以存储160种不同的字符编码,一个字符在存储器中仅有一个编码,使显示更简单。工作过程中,微机提前获取显示的点阵码,一个字符占32B。通过给予显示的X轴与Y轴(行列号)每个位置的列数就可以找到显示位置显示字符的第一个字节,光标逐渐加1送上下一位,直到32B显示完毕就完成一个字的显示。在本次系统中,通过连接液晶屏DB0-DB7与主控芯片P0.0-P0.7;液晶屏RS、RW、EN分别与芯片P2.5、P2.6、P2.7连接。LCD1602液晶屏原理图与接线如图3-9:图3-9LCD1602液晶显示模块接线图3.4.2按键电路设计设计采用4个独立按键串联连接完成输入操作。通过物理按压使内部接通通电。当松手就自动抬起,从而切断电路。当其中一个按下执行对应功能。按键是K1、K2、K3、K4,完成数据发送,阈值选择、阈值+1、阈值-1。图3-10按键电路接线图3.4.3蜂鸣器报警电路设计设计中,报警信号通过有源蜂鸣器元件实现。在蜂鸣器响起的同时还带动一个达到声音报警的效果。蜂鸣器通过8550三极管驱动,当主控芯片输出低电平时,三极管产生电流而驱动蜂鸣器发声。只有主控芯片输出下一次低电平,蜂鸣器才关闭。LED灯通过二极管驱动,当单片机输出低电压时,LED灯点亮。当单片机下次输出高电压后,LED灯才会灭。蜂鸣器上接口接入单片机P2.5,LED灯接口接入单片机P2.6。具体接线如图3-11图3-11蜂鸣器与LED接线图第4章软件设计实现本系统用到的软件主要功能是驱动传感器进行数据采集,将采集数据由单片机最小系统中函数转化为需要的数据。再将数据转化为显示码在屏幕中显示。通过在最小系统中比对阈值大小,出现异常情况启动蜂鸣器报警。总体流程可以整理为:图4-1总体流程图4.1主程序设计本设计软件为人体健康数值监测系统,当系统上电后进行系统初始化。之后各传感器开始工作收集体温和心率信息并检测是否发生移动,如果移动则进行步数监测,经STC89C52芯片处理计算得到数值,通过LCD1602液晶屏显示。最后检测数值是否超过阈值,如果超过则触发报警装置。软件总流程图如下:图4-2主程序流程图4.2子程序设计本设计的人体健康监测系统。子程序主要有:液晶显示程序、心率采集子程序、体温监测子程序、陀螺仪子程序、报警子程序、按键控制子程序。4.2.1屏幕显示程序LCD1602液晶屏通过控制线和数据线共同完成驱动,并严格执行液晶驱动底层时序。液晶显示子程序流程图如下:图4-3液晶显示子程序流程图驱动液晶屏幕首先需要确定显示位置即液晶坐标的位置。只有确定位置才能确保显示数据不会出现花屏,设置坐标需要在2行16列范围内设置。之后确定显示类型是数字还是字母。最后才能调用对应驱动函数实现驱动。4.2.2陀螺仪子程序设计运用MPU-6050陀螺仪进行步数计算。对系统、IIC接口、定时器和中断等进行初始化。检测时间段内是否偏移使陀螺仪触发定时器中断。后读取数据处理,通过PID控制器发出电机信号。再检测本次工作是否结束。最后数值通过串口输出。图4-7陀螺仪子程序流程图4.2.3体温监测子程序设计本次设计中,DS18B20传感器内部设定有基数值,所以先对硬件复位初始化,然后分别触发低、高温度振荡器产生振幅触发不同计数器的加减。之后进行温度数据的读取,当确定读取完毕后进行数据检测。最后在存入发送的温度暂存区准备发送。具体操作如下图:图4-5读取温度流程图体温监测子程序流程图如图:图4-6体温监测子程序流程图 总体流程可以理解为:预先运算室内温度显示在屏幕上,当温度发送变化是触发上电,温度振荡器开始工作,运算出数值后再检验,最后发送到显示屏上显示目前温度。4.2.4心率采集子程序设计本次毕业设计中,用到PulseSensor脉搏传感器模块测量心率数据。经PulseSensor脉搏传感器模块发出的数据信号到STC89C52芯片引起外部中断,这时触发定时器发生计算时间段的心率次数,再通过心率次数和时间的转换对应,得到每分钟的心率数据。最后通过液晶屏显示。心率采集子程序流程图如下:图4-4心率采集子程序流程图4.2.5报警子程序设计本次课程设计通过8550三极管等待I/O接口输出低电平使三极管导通驱动蜂鸣器。等待下一次输出低电平才关闭蜂鸣器。在报警的同时给予LED灯一个低电压使其电亮,当关闭蜂鸣器时也给LED灯一个高电压实现灭灯。报警子程序流程图如下:图4-8报警子程序流程图第5章系统调试 结合前面的设计,实物的大体功能都已经基本实现。结合预期效果,智能手环可以实现较准确的检测心率、温度随人体温度变化而变化、步数按照实际行走情况统计,最后还可以比对数据与阈值的大小给予反馈。最后进行各功能的测试,观察与预期不同的效果,加以更正达到最后理想的数值。5.1功能模块测试5.1.1心率监测数值有误差对实物进行调试时发现得到数值与水银测量数值存在误差,原因是红外传感器通过监测血液流动产生的透光度不同而产生非常微弱的电信号。有时候过于弱而无法发生脉冲电平触发定时器中断,导致数值不正常(如图5-1)正常情况下应该在60-100之间。因而在调试过程中通过多次修改传感器参数,使这一电信号处理得到较稳定的脉冲电平。最后得到与水银测量数据出入不大的数值。图5-1心率因电信号过低无法正常测量图5-2温度显示异常5.1.2温度监测数据出错初次调试时,发现温度传感器反馈数值每次都不改变(如图5-2),且数值明显不是人体温度。一开始认为是寄存器发送出现问题,于是多次修改程序。但效果不明显,数值仍然是不合理数。最后通过对电路及接口的分析,发现是没有给传感器一个上拉电阻。5.1.3陀螺仪数值不合理跳变运行陀螺仪程序时发现,当单片机处于倾斜状态时步数快速累加。而当平放单片机时步数却不累加。先是检测了程序代码,基本检测没有出现问题。之后是查看接口连接是否出现接口错误,但也没有出现致命失误。最后研究陀螺仪工作原理,发现是传感器阻值过小,导致其灵敏度过大。加上之前接口的小失误,最后解决了这个问题。5.2测试总结5.2.1目标代码测试本设计用的代码为C语言,在校期间学习最多的就是C语言。开发工具是用到学习过的KEIL4,不仅编写代码界面简洁,函数调用也简单,支持编译。在编译过程中经常出现参数错误、函数调用与指针问题,多次进行修正。直至编译生成目标文件(.HEX)。最后通过下载到开发板上进行调试。在这一步注意到52单片机在一次下载后需要单片机掉电,电量放光后上电(冷启动)才能进行下一次下载。同时需要为PC端安装单片机对应的驱动,再通过USB口连接才能识别到主控芯片。最后总结整个软件程序流程为:单片机驱动安装;项目驱动程序编写;通过KEIL软件进行编译得到目标文件,下载目标文件到主控芯片。检测系统正常运行,如不满足要求则重复上面过程。5.2.2数据反馈测试在通过串口助手对所有收集的数据进行观察的过程中,多次遇到数据出现明显错误的情况,并回到硬件和软件进行检查。发现许多错误是不经意间犯下。在多次修正后得到如下正常的数据反馈图:图5-1串口助手数据反馈在图中可以清楚看到:第一行为初始数据,温度为室温,心率尚未检测,步数未移动第二行进行了心率检测,仅仅心率改变了,测得此时心率为75次/分钟 第三行进行了步数检测,仅仅改变了步数从000变化到008 第四行进行了温度检测,用手去捂住温

温馨提示

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

评论

0/150

提交评论