《基于52单片机的智能手环设计与实现.doc》由会员分享,可在线阅读,更多相关《基于52单片机的智能手环设计与实现.doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于52单片机的智能手环设计与实现摘要:随科技与信息技术的发展。制作芯片技术的逐渐成熟使得元器件生产成本也逐渐下降。因而改变我们生活的科技产品不但数量多,且具备智能特点。在生活中,人们闲暇时间常去健身。而监测自己身体状况、制定健身计划、确保健身时人身安全成为难题。生活中普遍的监测设备笨重且操作复杂。因而希望有产品可以随身携带监测健康安全。众所周知,设备体积小又精密,价格也会相应的昂贵。也使的这类监测产品难以有效的得到普及并运用到生活中。本次设计是基于52单片机的智能手环设计与实现,以52单片机为主控核心模板,采用Pulse Sensor 脉搏传感器监测心率,采用DS18B20温度传感器监测温度
2、,采用MPU6050陀螺仪采集行走步数。采集到基本数据后经STC89C52单片机处理转换再通过LCD1602液晶屏显示。同时也具备按键设定阈值的功能,当监测数据超过阈值时,系统会触发蜂鸣器实现声音报警提示人体发生异常的功能。关键词:52单片机、健康、心率、体温、手环 Design and implementation of intelligent Bracelet based on 52 single chip microcomputerAbstract: With the development of technology and information technology. The gr
3、adual maturity of chip manufacturing technology has gradually reduced the production cost of components. As a result, not only are there a large number of technology products that change our lives, they are also intelligent. In life, people often go to fitness in their free time. However, monitoring
4、 ones physical condition, formulating a fitness plan, and ensuring personal safety during fitness have become difficult. The common monitoring equipment in life is heavy and complicated to operate. It is therefore hoped that some products can be carried around to monitor health and safety. As we all
5、 know, the equipment is small and precise, and the price will be correspondingly expensive. It also makes it difficult for such monitoring products to be effectively popularized and used in life.This design is based on the design and implementation of a smart bracelet based on 52 single-chip microco
6、mputer, using 52 single-chip microcomputer as the core template, pulse sensor to monitor heart rate, DS18B20 temperature sensor to monitor temperature, and MPU6050 gyroscope to collect walking steps. After collecting the basic data, it is processed and converted by the STC89C52 single-chip microcomp
7、uter and then displayed through the LCD1602 liquid crystal screen. At the same time, it also has the function of setting the threshold by key. When the monitoring data exceeds the threshold, the system will trigger the buzzer to realize the function of sound alarm to remind the human body of abnorma
8、lity.Keywords: 52 single chip microcomputer, health, heart rate, body temperature, 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
9、.3 输入模块电路103.3.1 陀螺仪电路设计103.3.2 体温监测电路设计113.3.3 心率监测电路设计133.4 输出模块电路143.4.1 LCD1602液晶显示电路设计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温度监测数据出错2
10、55.1.3陀螺仪数值不合理跳变255.2 测试总结255.2.1目标代码测试255.2.2数据反馈测试255.3 本章小结26第6章 结论27参考文献:28致谢29附录30第1章 绪 论1.1研究背景和意义1.1.1基于52单片机智能手环的需求分析在日常生活中,运动已然成为我们必不可少的日常活动。但却经常会看到在运动中猝死的新闻出现,很多猝死的运动者在身体异常之前都无法感知到这种不适,此时如果有一款产品可以通过各项数据分析人体状态。我们便可以通过当前人体状态知道运动量是否达到标准、机体是否会出现不适。并制定后期运动方案或者就此终止运动。同时发生异常数据时启动报警模式,提醒机主可能会发生的疾病
11、。结合这些需求与功能,智能手环便成为了一个很好的研究方向。在人体温度方面,年初在我国肆虐的新冠病毒在感染人体后,部分机体会出现发热现象,这使得温度监测十分重要。而在日常中随时使用水银探针监测温度视乎不切实际,这便推动了便携式测温仪的发展。使用仪器随时测量成为迫切的需要。在脉搏心率方面,中医常通过把脉来获取脉搏信息,依此推断人体器官的异常。虽然脉诊具有简便、无创、无痛的特点更容易被患者群体选择,但也存在着缺陷。首先,把脉的效果好坏取决于医生当时手指状态。其次,诊断结果也全靠医生的经验判断,使得结论过于主观臆断。这正是部分西方学者不认同脉诊治病的重要原因。再者,这种用手指把脉的技巧很难掌握,需要有
12、足够经验的医生才能进行把脉。因而往往善于脉诊的中医非常稀缺。为了健康与传统中医脉学的传承,通过与科技相结合,实现科学监测与提醒,不但给予医生最直观的脉搏情况,同时使普通民众也可以通过心率数据来检测自己的身体状况。目前可实现监测目的的智能手环已运用到多领域,各大科技公司也纷纷发布自主研发的智能手环。除了应用在医学领域以外,商业领域的应用也逐渐壮大,如日常佩戴的手表、运动健身时携带的手环都嵌入了温度监测和心率测试的功能,使得手表和手环越发的智能。智能手环市场也因此越来越壮大。 1.1.2 本课题的研究意义近些年来,无论是国内外各个领域都希望可以研发出一系列无创非触式的智能产品,用于人体数据的采集。
13、这类产品主要的特点就是在测量过程中,用于探测的节点不需要侵入到机体内破坏机体性能就可以间接的测量得到人体生理数值。而且可以通过自身结构消除仪表系统产生的误差,使测量得到的数据精度更高。特别是在运动领域,都市人都追求轻运动,让运动的人穿戴极其笨重的检测设备是极其缺少人性化的。因而,民众希望这一类智能产品是便于穿戴且不影响机体运动的。同时在运动途中可以消除各类影响,精确的获取各项数据。因而本课题希望通过使用无需入侵机体便可测量的传感器设计出监测人体温度、人体心率、机体运动轨迹的健康智能手环。且具备穿戴方便、操作简单、价格低廉等特点。最终解决当下社会急需一款便携式监测人体健康产品的需求。1.2 设计
14、的主要任务与目标1.2.1 设计的主要任务本设计的主要任务如下:(1) 挑选功能元器件,为硬件设计做前提。(2) 依据工作原理对硬件进行电路原路搭配。(3) 通过功能模块不同工作步骤提前绘画程序流程图。(4) 按照确定的程序流程图编写不同功能模块的程序指令。(5) 比对预先期望的效果对最后实物进行系统调试,最后完成设计目标功能。1.2.2 设计的最终目标最后完成设计目标应实现功能:(1) 通过陀螺仪模块采集人体步数数据。(2) 通过心率传感器监测心率数据。(3) 通过温度传感器监测人体温度数据。(4) 通过键盘设置阀值,数据超出阀值时系统报警提示。1.3开发工具结合软件操作与自身学习情况,决定
15、在前期使用绘图软件Altium Designer 10对功能模块进行基础的原理图进行绘制。之后为使目标运行文件可以顺利完成使用到KEIL4软件进行编写和编译,之后使用Proteus软件进行仿真测试。再通过STC-ISP下载到开发板上。最后通过串口助手进行数据与电脑的交互,检测代码运行情况与数据准确度。第2章 系统方案论证2.1系统预期目标本系统希望通过心率传感器、体温传感器和计步模块收集数据传达到主控芯片得到我们可以读懂的数据并在屏幕上以字符和数字的形式显示。并在便于我们烧写代码的同时实现供电。因而希望实现的功能如下:(1) 主控芯片:接收传感器收集的信息并转换成所需数据再传至屏幕显示。(2)
16、 显示器件:将所需显示的字符和数字信息显示出来,实现人机交互。(3) 心率传感器:收集心率信息产生的物理量。最终获得心率数据(4) 体温传感器:通过物理方法直接检测到温度。(5) 计步模块:通过不同物理的转换得到步数信息和公里数。2.2可行性分析论证技术层次:硬件方面是简单的基础传感器。如陀螺仪、液晶模块等,且课程中都有接触。传感器运作原理与接线都可掌握。在软件方面用到大学期间学习的C语言,且各功能实现较简单。依据自身能力都可完成。因此,本次设计的技术层次是可行的。市场经济层次:在医疗领域,大型医院使用手环对患者进行身体监测。使医治有效率提高。健身领域,更多人希望有实时监测自己运动的携带式智能
17、设备,智能手环完美契合需要。智能手环在社会市场上是炙手可热的产品,因而具备市场经济可行性。2.3功能模块设计1、主控芯片的选择选择一:使用MSP430单片机作为主控芯片MSP430单片机的性能和封装度高且耗能低,寻址范围达64k使运行稳定。430单片机的特点很适合作为主控芯片,但缺点是430单片机多用在供电的便携式仪器且开发难度较大,价格昂贵。选择二:使用STC89C52单片机作为主控芯片STC89C52单片机的RAM具有512k字节,是一款低耗能、高性价比的微控制器。使用51内核使它兼备51单片机的所有功能。不但有串口、复位等资源,还具备多个16位定时器/计时器。且价格低廉。正因性能稳定、操
18、作简单、价格便宜,所有本次设计重点考虑。综合两种芯片。在运行效率上,430单片机有较大优势,但价格昂贵。再结合平时学习基础,本次设计采用选择二。2、计步功能模块选择选择一:MMA7455数字加速传感器模块MMA7455L加速度传感器具备数字输出、低功耗。通过检测物体运动和方向来改变输出电压值。缺点本身是集成电路,体积大、价格贵,不适合智能手环的计步模块。选择二:MPU6050陀螺仪模块MPU6050使用整合性6轴使其免除组合陀螺仪与加速器时间轴之差问题,具备较好的封装性。而且价格低、精准度较高。综上分析,结合本次设计,MMA7455数字加速传感器模块体积较大。而MPU6050陀螺仪传感器模块实
19、现大体需求。因而选择方案二。3、体温监测功能模块的选择选择一:热敏电阻热敏电阻的内部电阻会随着附近温度的变化而改变阻值,促使相关物理量变化。经处理得到对应体温数据。热敏电阻具备灵敏度高、体积小、使用方便等特点。选择二:使用DS18B20作为体温传感器模块DS18B20是常见且专用于温度检测的功能模块。被看中的特点如下:1) 接口是一种独特的单线方式。2) 测温范围:55+125。3) 无需要任何外围元件便可使用综上介绍,DS18B20温度传感器模块可以直接进行数字化且结构简单、操作方便等特点更适合于本次设计。因此选择方案二。4、心率测量功能模块的选择选择一:使用压电感应式传感器获取心率信息压电
20、感应式传感器测量心率时需要将配套外设套在手臂并对其加压。因人体心率波动会有明显收缩效应,使传感器输出压力值发生改变,再通过数据处理得到我们看到的心率和血压数据。这类传感器用在医疗设备上,数据精度极高。但成本昂贵。选择二:使用红外功能模块获取心率信息红外方式监测心率是依据光电容积法将红外光波动转换成电流的转换元件,红外光的波动值由红外发射二极管和接收三极管按函数关系转换成电流量输出。人体手指上血液流动与脉动会产生心率变化引起红外光波动。而被传感器所采集。综上所述,红外传感器测量只需将传感器放于手上就可测量,无需通过外设加压。操作简单,成本低。因而选择方案二。5、显示模块的选择选择一:数码管显示数
21、码管常用来显示简单的数字信息,因价格低廉被广泛使用。在使用中,虽然屏幕亮度高、数据显示快,但显示一个数字需要8个接口,过于浪费资源。在多位或复杂显示时,就要占用更多接口,电路也相对复杂。选择二:LCD1602液晶显示屏显示LCD1602液晶屏不但能显示数字还能显示字符,且可同时显示多位信息,画面也较好看。唯一的缺点是液晶屏的价格是数码管的好几倍。综上分析,本次设计显示的信息有字符与数字,且是多位显示。主控芯片是52单片机,提供的I/O串口有限。为使测量结果实现良好的人机交互。因而采用选择二。2.4系统结构论证通过不同需求下功能模块的论证。结合预期目标的需求以及可行性的要求,最后将系统结构分为四
22、部分,分别从采集功能模块、数据处理模块、数据反馈模块、数据输入模块。其中采集功能模块分为心率、体温、步数数据的采集,数据处理模块以STC89C52单片机为主控芯片完成大部分数据处理,数据反馈模块可分为数据的显示和数据比较异常后的报警提醒,数据输入模块通过键盘输入触发指令。因此整体思路可以理解为:1) 数据采集:用到心率模块、体温模块和计步模块采集物理量数据。2) 数据转换:将收集的数据通过51单片机最小系统模块进行转换。3) 数据显示:将转换完的数据通过屏幕显示。4) 键盘输入:通过按键形式完成阈值改变与数据发送5) 警告报警:当显示值超过阈值时启动报警模块。预期目标用到硬件设备有:l 51单
23、片机最小系统模块l MPU6050陀螺仪传感器模块l LCD1602液晶模块l Pulse Sensor脉搏检测模块l DS18B20体温监测模块l 蜂鸣器声音报警模块l 按键模块系统结构图图2-1 系统结构图第3章 硬件设计实现本章通过前期系统方案的论证确定了基本需要实现的功能以及需要用到的功能模块,以此进行基础的硬件设计,首先总体确定整个电路的设计并确定框图,之后再通过输入与输出分别对不同功能模块进行电路设计,3.1硬件总体电路通过对功能模块的选择,确定了51单片机最小系统模块、MPU6050陀螺仪模块、LCD1602液晶显示模块、Pulse Sensor脉搏检测模块、DS18B20体温监
24、测模块、蜂鸣器模块、按键模块。现将这些模块通过软件绘制成简单框图如下: 图3-1 完整设计框图通过上述的硬件结构,预期在硬件方面实现以下几个功能:l 数据处理:51单片机最小系统处理物理量信息得到我们熟悉的模拟信息。l 心率数据采集:通过红外技术将人体心率的变化采集回来。l 温度数据采集:通过温度传感器阻值随温度的变化而变化,获得相关数据。l 步数信息采集:通过陀螺仪三轴重力传感器的电压变化而采集到相关数据。l 按键效果:通过四个按键并联的形式,当按键按下触发对应功能。l 报警模块:最小系统监控阈值和采集数据的大小,当出现异常便触发报警。3.2单片机最小系统设计整个系统最为核心的控制部分是由S
25、TC89C52芯片、电源电路、复位电路和晶振时钟电路组成的51单片机最小系统。l 时钟电路中:接入XTAL1(19引脚):内部晶振电路输入端口 接入XTAL2(18引脚):内部晶振电路输出端口l 复位电路中:接入RST(9引脚):单片机的复位引脚。l 电源电路中:接入VCC(31引脚):EA(Vpp)电源引脚。51单片机最小系统主要依靠时钟模块的晶振得到周期性时钟信号,从而实现计时器作用,可以在一定时间内实现数据采集处理和转换。原理图如图3-2。图3-2 单片机最小系统(1)时钟电路51单片机的节拍由晶体振荡器提供,而时钟电路就是晶体振荡器的角色。主控芯片的操作须在这个节拍的控制下进行。因此主
26、控芯片是通过软件让单片机根据时钟来做相应工作。时钟电路的正常工作是由外部时钟方式提供工作时序。本次采用了一个11.0592MHZ的晶振和两个22PF的瓷片电容器件构成了震荡电路为单片机提供时钟。51单片机的时钟电路原理图如图3-3 图3-3 时钟电路 图3-4 复位电路(2)复位电路51单片机的复位电路分为:手动复位方式,和上电复位。本次系统设计中,复位电路采用上电系统自动复位的方式进行系统复位。51单片机上电复位电路由220UF电容器件和10K电阻构成。因为电容内的电压是不能突变的,所有当上电时刻电容没有充电时两端电压就为零,此时,给予复位脉冲,电源给电容充电,直至电容两端电压等于电源电压,
27、电路进入正常工作状态。复位电路用于控制主控芯片的状态。在系统受到干扰出现程序错误或系统死机的时候,启动复位操作,主控芯片内烧录的代码会重新执行。复位电路原理图如图3-43.3 输入模块电路3.3.1 陀螺仪电路设计人体在运动过程中,重心会随着人体的运动,在一定范围内出现规律性变化,三轴重力传感器对此敏感,随重力变化,其输出电压也会发生规律性变化。周洲.基于单片机的运动计步器设计与实现J.智能城市,2016,2(12):2-3.由此可知陀螺仪的工作流程。如图3-5 MPU6050的电路由5V/3.3V电源输入。SDA,SCL连接到单片机,INT产生中断信号连接至单片机。注意到使用的主控芯片为52
28、单片机需给SDA和SCL加上上拉电阻。图3-5 MPU6050电路3.3.2 体温监测电路设计DS18B20的工作原理:因为低温振荡器的频率随温度变化较小,而高温度振荡器频率变化明显,当低温度振荡器变化,减法计数器触发减1,当初值减到0时,温度寄存器(根据硬件特性最低-55,所以基数为-55)加1。当高温度振荡器触发减法计数器减到0时,停止工作。此时温度寄存器内的数值就是监测到的温度值。DS18B20无需外部电源。但需通过开漏模式连接总线,并给控制引脚加上上拉电阻。结构图如图3-6内部结构图:图3-6 DS18B20内部结构图DS18B20高速暂存存储器由9个字节组成,分为:表3-1 寄存器对
29、应表序号寄存器名称作用序号寄存器名称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位二进制形式显
30、示,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
31、):60-61.3.3.3 心率监测电路设计红外光源和三极管光敏设备在同一侧,红外光源的光经手指反射到感光设备。当手指组织的半透明度较大,红外光二级管发射出透过手指的光强很弱,光敏三极管无法导通,导致输出端高电平,当手指半透明度数值较小,输出端为低电平。黄川.基于单片机的数字心率计设计J.科技资讯,2013(26):14+16.图3-7反射式心率检测方法工作原理通过图3-8信号采集电路,U3为红外发射二极管和光敏三极管。二极管中电流越大,发射角越小,产生强度就越大。基于光敏三极管灵敏度,R21选择270。当干扰光线较强的时,输入端电压变化大,用C8、C9串联组成双极性耦合电容隔断。图3-8 信
32、号采集电路3.4 输出模块电路3.4.1 LCD1602液晶显示电路设计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-9 LCD1602液晶显示模块接线图
33、3.4.2 按键电路设计设计采用4个独立按键串联连接完成输入操作。通过物理按压使内部接通通电。当松手就自动抬起,从而切断电路。当其中一个按下执行对应功能。按键是K1、K2、K3、K4,完成数据发送,阈值选择、阈值+1、阈值-1。图3-10 按键电路接线图3.4.3 蜂鸣器报警电路设计设计中,报警信号通过有源蜂鸣器元件实现。在蜂鸣器响起的同时还带动一个达到声音报警的效果。蜂鸣器通过8550三极管驱动,当主控芯片输出低电平时,三极管产生电流而驱动蜂鸣器发声。只有主控芯片输出下一次低电平,蜂鸣器才关闭。LED灯通过二极管驱动,当单片机输出低电压时,LED灯点亮。当单片机下次输出高电压后,LED灯才会
34、灭。蜂鸣器上接口接入单片机P2.5,LED灯接口接入单片机P2.6。具体接线如图3-11图 3-11 蜂鸣器与LED接线图第4章 软件设计实现本系统用到的软件主要功能是驱动传感器进行数据采集,将采集数据由单片机最小系统中函数转化为需要的数据。再将数据转化为显示码在屏幕中显示。通过在最小系统中比对阈值大小,出现异常情况启动蜂鸣器报警。总体流程可以整理为:图4-1 总体流程图4.1主程序设计本设计软件为人体健康数值监测系统,当系统上电后进行系统初始化。之后各传感器开始工作收集体温和心率信息并检测是否发生移动,如果移动则进行步数监测,经STC89C52芯片处理计算得到数值,通过LCD1602液晶屏显
35、示。最后检测数值是否超过阈值,如果超过则触发报警装置。软件总流程图如下:图4-2 主程序流程图4.2子程序设计本设计的人体健康监测系统。子程序主要有:液晶显示程序、心率采集子程序、体温监测子程序、陀螺仪子程序、报警子程序、按键控制子程序。4.2.1屏幕显示程序LCD1602液晶屏通过控制线和数据线共同完成驱动,并严格执行液晶驱动底层时序。液晶显示子程序流程图如下: 图4-3液晶显示子程序流程图驱动液晶屏幕首先需要确定显示位置即液晶坐标的位置。只有确定位置才能确保显示数据不会出现花屏,设置坐标需要在2行16列范围内设置。之后确定显示类型是数字还是字母。最后才能调用对应驱动函数实现驱动。4.2.2
36、陀螺仪子程序设计运用MPU-6050陀螺仪进行步数计算。对系统、IIC接口、定时器和中断等进行初始化。检测时间段内是否偏移使陀螺仪触发定时器中断。后读取数据处理,通过PID控制器发出电机信号。再检测本次工作是否结束。最后数值通过串口输出。图4-7陀螺仪子程序流程图4.2.3体温监测子程序设计本次设计中,DS18B20传感器内部设定有基数值,所以先对硬件复位初始化,然后分别触发低、高温度振荡器产生振幅触发不同计数器的加减。之后进行温度数据的读取,当确定读取完毕后进行数据检测。最后在存入发送的温度暂存区准备发送。具体操作如下图:图4-5读取温度流程图体温监测子程序流程图如图:图4-6体温监测子程序
37、流程图总体流程可以理解为:预先运算室内温度显示在屏幕上,当温度发送变化是触发上电,温度振荡器开始工作,运算出数值后再检验,最后发送到显示屏上显示目前温度。4.2.4心率采集子程序设计本次毕业设计中,用到Pulse Sensor脉搏传感器模块测量心率数据。经Pulse Sensor脉搏传感器模块发出的数据信号到STC89C52芯片引起外部中断,这时触发定时器发生计算时间段的心率次数,再通过心率次数和时间的转换对应,得到每分钟的心率数据。最后通过液晶屏显示。心率采集子程序流程图如下:图4-4心率采集子程序流程图4.2.5报警子程序设计本次课程设计通过8550三极管等待I/O接口输出低电平使三极管导
38、通驱动蜂鸣器。等待下一次输出低电平才关闭蜂鸣器。在报警的同时给予LED灯一个低电压使其电亮,当关闭蜂鸣器时也给LED灯一个高电压实现灭灯。报警子程序流程图如下: 图4-8报警子程序流程图第5章 系统调试结合前面的设计,实物的大体功能都已经基本实现。结合预期效果,智能手环可以实现较准确的检测心率、温度随人体温度变化而变化、步数按照实际行走情况统计,最后还可以比对数据与阈值的大小给予反馈。最后进行各功能的测试,观察与预期不同的效果,加以更正达到最后理想的数值。5.1功能模块测试5.1.1心率监测数值有误差对实物进行调试时发现得到数值与水银测量数值存在误差,原因是红外传感器通过监测血液流动产生的透光
39、度不同而产生非常微弱的电信号。有时候过于弱而无法发生脉冲电平触发定时器中断,导致数值不正常(如图5-1)正常情况下应该在60-100之间。因而在调试过程中通过多次修改传感器参数,使这一电信号处理得到较稳定的脉冲电平。最后得到与水银测量数据出入不大的数值。图5-1 心率因电信号过低无法正常测量图5-2 温度显示异常5.1.2温度监测数据出错初次调试时,发现温度传感器反馈数值每次都不改变(如图5-2),且数值明显不是人体温度。一开始认为是寄存器发送出现问题,于是多次修改程序。但效果不明显,数值仍然是不合理数。最后通过对电路及接口的分析,发现是没有给传感器一个上拉电阻。5.1.3陀螺仪数值不合理跳变
40、运行陀螺仪程序时发现,当单片机处于倾斜状态时步数快速累加。而当平放单片机时步数却不累加。先是检测了程序代码,基本检测没有出现问题。之后是查看接口连接是否出现接口错误,但也没有出现致命失误。最后研究陀螺仪工作原理,发现是传感器阻值过小,导致其灵敏度过大。加上之前接口的小失误,最后解决了这个问题。5.2 测试总结5.2.1目标代码测试本设计用的代码为C语言,在校期间学习最多的就是C语言。开发工具是用到学习过的KEIL4,不仅编写代码界面简洁,函数调用也简单,支持编译。在编译过程中经常出现参数错误、函数调用与指针问题,多次进行修正。直至编译生成目标文件(.HEX)。最后通过下载到开发板上进行调试。在
41、这一步注意到52单片机在一次下载后需要单片机掉电,电量放光后上电(冷启动)才能进行下一次下载。同时需要为PC端安装单片机对应的驱动,再通过USB口连接才能识别到主控芯片。最后总结整个软件程序流程为:单片机驱动安装;项目驱动程序编写;通过KEIL软件进行编译得到目标文件,下载目标文件到主控芯片。检测系统正常运行,如不满足要求则重复上面过程。5.2.2数据反馈测试在通过串口助手对所有收集的数据进行观察的过程中,多次遇到数据出现明显错误的情况,并回到硬件和软件进行检查。发现许多错误是不经意间犯下。在多次修正后得到如下正常的数据反馈图:图5-1 串口助手数据反馈在图中可以清楚看到:第一行为初始数据,温
42、度为室温,心率尚未检测,步数未移动第二行进行了心率检测,仅仅心率改变了,测得此时心率为75次/分钟 第三行进行了步数检测,仅仅改变了步数从000变化到008 第四行进行了温度检测,用手去捂住温度传感器,测定手温度为30。在提高了功能模块数据的准确度以后,基于52单片机的智能手环也基本完成预期设想。第6章 结论在本次毕业设计中,先确定了基于硬件制作实物的思路。在大量阅读了资料与文献后,确定自己可以完成基于52单片机的智能手环设计,并咨询指导老师获得认可。在学习制作的过程中,通过资料的学习与代码的研究让自己学习到很多不懂的原理也复习了许多遗忘的知识。通过自己动手实操结合三年的专业学习完成产品设计。
43、最后产品实现以下功能:体温检测,心率检测,步数统计,按键输入,异常警告。本次设计在基本完成预期设想的结果同时,还存在些微小问题,汇总如下:(1)液晶显示无法显示汉字和图像,只能以英文显示数据(2)心率、体温、计步采用基础模块,数据精确度欠缺。(3)开发板体积较大。虽然理想是便携式手环,但最后成品因采用基础模块导致体积较大,无法实现真正意义上的手环。综合优点与缺点,本次基本完成预期设想,虽有缺陷,但总体已实现智能手环的功能。效果是令人满意的,因而本次设计较为成功。参考文献:1 周洲.基于单片机的运动计步器设计与实现J.智能城市,2016,2(12):2-3.2 黄志勇.基于单片机的简易便携式人体
44、心率体温计J.电子技术与软件工程,2015(22):258.3 黄川.基于单片机的数字心率计设计J.科技资讯,2013(26):14+16.4 谢延兴.基于AT89C51单片机最小系统的数字体温计设计J.机电技术,2009,32(04):60-61.5 刷唐. 51单片机存储器的结构和原理N. 电子报,2019-11-03(006).6 张幼麟.51单片机串口应用J.内江科技,2019,40(10):32+12.7 谢贵波.80C51单片机的串行口通信原理及编程J.电脑编程技巧与维护,2010(20):99-100.8 陈明学,庄卫华.计算机与单片机多路串行通信系统的研究与应用J.机械制造与自
45、动化,2003(04):58-60.9 潘言全.智能手环的设计与制作J.科学技术创新,2018(35):95-96.10 Zhang Qian. Design of Digital Thermometer Based on AT89C52 Single Chip MicrocontrollerP. Electrical and Control Engineering (ICECE), 2010 International Conference on,2010.致谢在四年的大学学习生活临近结尾之际,首先我要感谢我的指导老师张亚林老师大学四年里对我的悉心指导。无论是实习过程还是论文阶段都给了我许多宝贵的建议,在四年的学习中也一直担任重要课程的授课老师,生活上也关心我们的就业情况,让我十分崇敬。再次对我的指导老师张亚林老师表示感谢!同时也感谢在我设计中提供帮助的师兄师姐以及公司的同事,为我解疑了需要不懂的知识盲区。也给予我很大的鼓励。才能使我顺利完成本篇论文。最后感谢我的家人,对我一直以来的关心与照顾。为我提供了一个舒适的实验环境进行毕业设计。再次谢谢为我提供帮助的人。通过数月的努力终于完成了本篇毕业论文,在实现预期设计的同时也学习到很多不懂的知识。但因为学历和知识面有限,最后的设计依旧存在缺憾,虚心恳请各位专业老师的指导修正。