人体健康监测器的设计_第1页
人体健康监测器的设计_第2页
人体健康监测器的设计_第3页
人体健康监测器的设计_第4页
人体健康监测器的设计_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、目录第1章课题分析11.1 课题来源11.2 功能分析11.3 方案分析2第2章方案论证32.1 人体健康监测器的设计基本方案32.2 各部分电路模块基本设计原理32.2.1 单片机主控模块32.2.2 体温测量模块42.2.3 心率测量模块42.2.4 显示模块52.2.5 超限报警模块6第3章硬件设计73.1 主控芯片、传感器简介及其工作原理73.1.1 AT89C51单片机的介绍73.1.2 DS18B20简介及其工作原理93.1.3 MPX2100压阻式传感器简介及其工作原理123.2 硬件电路设计123.2.1时钟电路的设计133.2.2 复位电路的设计133.2.3 体温测量电路设

2、计以及误差分析143.2.2 心率测量电路设计以及误差分析153.2.4 显示电路设计163.2.5报警电路设计17第4章软件设计184.1 主程序流程图184.2 子程序流程图204.2.1 体温测量程序流程图204.2.2 心率测量子程序流程图214.2.3 报警程序流程图214.2.4 显示子程序流程图22第5章系统调试过程与分析245.1 软件调试245.2 Proteus仿真255.3 系统仿真调试255.4 功能实现255.5 硬件调试285.5.1 静态调试285.5.2 动态调试295.5 遇到的问题及解决方案29第6章社会经济效益分析31第7章总结32致 谢34参考资料35附

3、录 电路原理图37附录 程序清单38第1章 课题分析本课题的题目是人体健康监测器的设计,传统的测量方法比较麻烦,而且需要一定的专业知识以及相关的专业人士来测量,本设计利用AT89C51单片机,通过编程对其加以控制,实现对人体基本体征的监测,方便实用,普通人群就可以使用,并且价格相对低廉。此设计监测人体的心率以及体温,此两项人体健康参数一旦超出正常人体健康范围就会报警,时刻保证人体的健康。1.1课题来源随着社会的发展,人类的健康不断受到威胁,环境的污染带来了食物的污染,人们的身体健康状况也随之受到威胁,此时人们开始注重如何实时的监测人们的健康,一旦发现异常状况,可以及时进行控制,甚至是必要的治疗

4、,为人们的健康提供可靠的保障。电子技术不断更新,飞速发展,人体健康监测系统的组件丰富起来,由最传统的人工测量到模拟产品再到数字化、综合化转化,并且不断的走向人性化。本设计充分发挥人性化性质,利用单片机AT89C51速度快、功耗成本低、调试便宜等特点,配合温度以及压力传感器,实现对人体基本体征的监控,并且有显示功能以及超限报警功能,及时提醒人们的健康状况,达到监测预警作用。1.2功能分析 本设计是人体健康监测器系统,它可对人体体温和心率进行监测,通过四位数字显示,其中第一位作为功能识别,其余三位显示数据,体温设置一位小数,同时要设置心跳指示灯,能同步显示心跳情况。最终要达到既能正确显示测量结果,

5、又能超常报警的目的。本设计是以AT89C51单片机为核心,辅以一些外围电路。对于体温监测,采用温度传感器采集体温信号并把数据放大再经AD转换后送入单片机进行处理;对于心率监测,采用压电传感器采集心率信号并把数据放大滤波后送入单片机进行处理。可以通过按键进行测量转换,操作方便快捷。该系统的研究,在很多方面都有着积极的意义。 该系统主要是针对国内外该领域的研究现状,立足我国实际情况,应用计算机控制技术实现了对人体体温和心率等重要体征参数的智能化测量。在对病人的治疗和监护管理工作中,医护人员需要对病人的体温做定时的测量,以便能够使医生及时了解病人的身体状况,对病情做出相应的判断,为制定治疗方案提供参

6、考。本系统以“患者为中心”,医护人员可以通过该系统实时提取患者相关信息,从而充分发挥个性化护理特点减轻医院护理人员的劳动强度,提高工作效率,医疗临床操作过程也更加规范化,从而使医院护理工作迈上一个新台阶。 综上所述,人体健康监测器系统系统的研究是市场激烈竞争的必然产物,它基于满足人们日益增长的健康性的需求,适应我国工业发展的要求。1.3方案分析该设计要完成对人体体温、心率的监测、心跳指示灯以及超常报警系统的设计。首先,要实现对人体体温以及心率的监测,需要利用传感器采集体温以及心率信号,然后将采集到的信号转换为单片机可以处理的信号,再由显示电路显示出来,来实现监测功能。体温测量通过传感器DS18

7、B20采集人体温度信号,信号经过传感器后成为能够直接被单片机处理的数字信号。心率测量通过传感器MPX2100采集人体心率信号,信号经过传感器后输出电压与所受压力成精确的正比关系,再通过电压比较器将采集到的信号转换为脉冲信号,进行脉冲计数得出心率大小。超常报警系统需要正确的人体健康参数来完成。人体健康参数是有一定标准的,正常人体心率大约在60-100次/分,老年人可能会偏慢一些,人体正常体温平均在3637.5之间(腋窝),超出这个范围就是发热,本系统设置当监测出人体心率超出60-100次/分、体温超出3637.5时,进行报警,提醒人们注意自己的身体状况。第2章 方案论证本设计为人体健康监测器的设

8、计,下面是对该设计的基本方案、各部分电路模块以及传感器的选择的介绍。2.1人体健康监测器的设计基本方案系统采用单片机AT89C51作为主控制器,同时进行两种工作方式:人体心率监测,人体体温监测。该方案可以有效、实时的显示心率、体温这些要求监测参数,能够达到系统设计的各项指标,设计方案是切实可行的,图2.1为人体健康监测器的工作原理框图。电压比较器单片机温度传感器DS18B20压阻式传感器MPX2100显示电路超限报警电路图2.1 人体健康监测器原理框图2.2各部分电路模块基本设计原理由原理框图可以看出,本设计大致分为5个主要模块,其中包括单片机主控模块、体温检测模块、心率检测模块、显示模块以及

9、超限报警模块。2.2.1单片机主控模块本设计主控模块选用单片机AT89C51。AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器。AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM

10、,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位 。2.2.2体温测量模块人体温度传感器DS18B20AT89C51单片机体温检测模块使用DS18B20温度传感器,它一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可

11、靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较其他传感器有了很大的优势,给用户带来了更方便的使用和更令人满意的效果。体温测量模块方框图如图2.2所示。图2.2 体温测量模块方框图2.2.3心率测量模块心率检测模块采用压阻式压力传感器MPX2100,其采集心跳信号输出为电压信号,然后经过电压比较器,将采集的电压信号与阈值进行比较,若采集的电压信号高于阈值则输出1,否则输出0,然后单片机计数器进行计数,计数过程利用编程控制,计每10秒脉冲个数再乘以6即为心率,同时显示部分也设定为10秒钟更新显示一次,即可得到人体此时心率大小。心率测量模块方框图如图2.3所示。人体压阻式传感器MPX21

12、00电压比较器AT89C51单片机 图2.3 心率测量模块方框图2.2.4显示模块在系统运行过程中,需要对检测的心率以及体温值实时显示,考虑一下两种方案。方案一:使用液晶显示体温以及心率值。液晶显示屏(LCD)具有轻薄短小、低耗电量、无辐射危险,平面直角以及影像稳定不闪烁等优势,可视面积打,画面效果好,分辨率高,抗干扰能力强等特点。同时不只能显示数字还可以显示中文汉字及各种单位。方案二:使用传统的数码管显示。数码管具有低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高低温,对外界环境要求低,易于维护,同时其精度比较高。但是同时要显示心率以及体温,数码管无法显示。根据题目要求,选择使用

13、LM016L液晶显示器。LM016L液晶模块采用HD44780控制器,hd44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采用8位或4位并行传输两种方式,hd44780控制器由两个8位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标志(BF),显示数RAM(DDRAM),字符发生器ROMA(CGOROM)字符发生器RAM(CGRAM),地址计数器RAM(AC)。IR用于寄存指令码,只能写入不能读出,DR用于寄存数据,数据由内部操作自动写入DDRAM和CGRAM,或者暂存从DDRAM和CGRAM读出的数据,BF为1时,液晶模块处于内部模式,不

14、响应外部操作指令和接受数据,DDTAM用来存储显示的字符,能存储80个字符码,CGROM由8位字符码生成5*7点阵字符160中和5*10点阵字符32种.8位字符编码和字符的对应关系,可以查看参考文献(30)中的表4.CGRAM是为用户编写特殊字符留用的,它的容量仅64字节,可以自定义8个5*7点阵字符或者4个5*10点阵字符,AC可以存储DDRAM和CGRAM的地址。2.2.5超限报警模块本系统采用发光二极管作为上下限超常报警指示灯,方便人们观察。当人体温度高于或低于一定的值时系统会发光报警。同样,当心率值高于或者低于一定的值时系统会发光报警。人体正常体温范围为3637.5,正常心率为60-1

15、00次/分,所以当测得的体温以及心率超出以上范围时,发光二级管发光进行报警,提示人们注意自己的身体状况。第3章 硬件设计人体健康监测器的硬件电路主要由以下几部分组成:时钟电路、复位电路、体温测量电路、心率测量电路、显示电路以及超常报警电路。本设计采用单片机AT89C51,温度传感器DS18B20,压阻式传感器MPX2100,LM016L液晶显示模块。下面将对本设计中使用到的芯片、传感器以及硬件电路的设计进行介绍。3.1 主控芯片、传感器简介及其工作原理3.1.1 AT89C51单片机的介绍3.1.1.1 AT89C51引脚图如图3.1所示。图3.1 AT89C51引脚图AT89C51是一种低电

16、压、高性能CMOS 8位微处理器,它具有4K字节闪烁可编程可擦除只读存储器的特性。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,不必扩展外部程序存储器和数据存储器这样大大的减少了系统硬件部分,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.1.1.2 管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏极开路双向I/O口,每脚可吸收8个TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储

17、器,它可以被定义为数据/地址的低8位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低8位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低

18、,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高8位。在给出地址“1”时,它利用内部上拉优势,当对外部8位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高8位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。P3口也可作为AT89C51的一些特殊功能口,如下所示: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P

19、3.3 /INT1(外部中断1) P3.4 T0(计时器0外部输入) P3.5 T1(计时器1外部输入) P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)RST:复位输入。单片机的复位电路接一个Vcc(+5V电源),在加电瞬间电容通过电阻充电在RST(复位引脚)端出现高电平,并保持一定时间,只要充电时间足够长,就可使单片机复位。/VPP:当EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.1.2 DS18B20简介

20、及其工作原理DS18B20是美国DALLAS半导体公司继DS18B20之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外 图3.2 DS18B20封装图电源。因而使用 DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较D

21、S1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。DS18B20采用3脚PR35封装或8脚SOIC封装,如图3.2所示。3.1.2.1 DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM的排的循环冗余校验码(CRC=X8X5X41)。ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。内部结构如图3.3所示。图3.3 DS1

22、8B20内部结构图3.1.2.2 DS18B20的温度转化DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。见表3.1: 表3.1 温度的二进制补码形式Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0Ls byteBit 15Bit 14Bit 13Bit 12Bit 11Bit 10Bit 9Bit 8Ms byteSSSSS这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为

23、0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。见表3.2:表3.2 温度的转化1250000 0111 1101 000007D0H850000 0101 0101 00000550H25.06250000 0001 1001 00010191H10.1250000 0000 1010 001000A2H0.50000 0000 0000 10000008H

24、00000 0000 0000 00000000H-0.51111 1111 1111 1000FFFFH-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H3.1.2.3 DS18B20使用中注意事项DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下的问题:较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无

25、法读取测温结果。3.1.3 MPX2100压阻式传感器简介及其工作原理压阻式压力传感器是利用单晶硅的压阻效应制成的器件,即在硅基片上用扩散工艺制成4个等值电阻的应变元件构成的惠斯登电桥。MPX2100 是摩托罗拉公司生产的一种带温度补值的压阻式压力传感器,它采用先进的半导体电子技术进行微细加工,具有很好的线性度,输出电压和所加压力成精确的正比例关系。由于传感器硅片上集成有温度补尝网络,经激光微调,传感器的零位输出、满量程输出、线性度、温度补尝等都达到了较好的性能指标。我国健康成人安静时的收缩压为13. 316. 0 Kpa (100120mmHg) ,舒张压为8. 010.7 Kpa (608

26、0mmHg) ,这些数值都在MPX2100的压力范围内,如表3.3所示。压力范围( KPa)压力过载( KPa)典型工作电压(V)最大工作电压(V)温度误差带( )线性度( %FS)全量程温度影响( %FS)010040010160850. 10. 250. 5 1表3.3 MPX2100工作参数3.2硬件电路设计此电路设计包括体时钟电路、复位电路、体温测量电路、心率测量电路、显示电路以及超常报警电路,总电路图见附录。3.2.1 时钟电路的设计图3.4 时钟电路单片机工作的时间基准是由时钟电路提供的,系统采用12MHz的晶振作时钟电路,在XTALI和XTAL2两端跨接石英晶体及两个微调电容。C

27、1和C2一般取30pF左右。本设计中振荡器时钟电路如图3.4所示, 其中C2=C3=22pF。3.2.2 复位电路的设计单片机的RST引脚为主机提供一个外部复位信号输入端口。复位信号是高电平有效,高电平有效的持续时间应为2个机器周期以上。复位以后,单片机内各部件恢复到初始状态,单片机从ROM的0000H开始执行程序。单片机的复位方式有上电自动复位和手工复位两种,图3.5是AT89C51单片机采用的上电复位电路。阻容器件的参考值图中所示,即R12=10K,C3=22F。图3.5 复位电路3.2.3 体温测量电路设计以及误差分析3.2.1.1 体温测量电路设计体温测量过程是将传感器直接与人体接触即

28、可采集人体体温信号,DS18B20内部进行温度变换,直接输出数字信号,单片机可直接处理数字信号。DS18B20测温系统简单、测温精度高、连接方便、占用口线少,输出信号即为数字信号,单片机可以直接接收,故可与单片机直接连接。其中DQ端与P3.7相连,电路图连接如图3.6所示。图3.6 体温测量电路3.2.1.2 体温采集误差分析温度采集过程中可能会产生误差,其误差来源可能是由于传感器与人体接触不够紧密,或是接触时间较短,温度未升至人体体温就进行读数,可以多等待一会再进行体温读数,这样可以相对准确的测出人体体温。使用此人体健康监测器的过程中,尽量避免以上情况的发生。 3.2.2心率测量电路设计以及

29、误差分析因体温测量使用的是DS18B20传感器,输出信号位数字信号,单片机可直接进行处理,相对简单,而心率测量则相对复杂一些,需要一个模数转换的过成,下面对心率测量过程进行一个详细的介绍。3.2.2.1心率测量电路的设计测量心率脉冲信号的传感器采用压阻式压力传感器MPX2100,将传感器贴于人体,当感受到心跳时动脉压力发生变化,通过采集电压变化信号来测心跳。传感器采集信号,输出为电压值,通过一个电压比较器进行电压值的比较,输出信号为一个脉冲信号,单片机对电压比较后输出的脉冲进行计数,每10秒更新显示一次,以此来测得心率的大小。其中比较器设计的是一个任意电平比较器,采用LM324集成运放来完成,

30、由于仿真过程中传感器的电源电压为5V,故设定此比较器的阈值电压为2.5V,这里比较器起到一个模数转换的作用,将传感器采集到的电压信号转换成脉冲信号,然后通过单片机对脉冲信号的计数来测出心率大小。心率测量部分与单片机管脚P3.4相连,其中还设有心跳指示灯,心脏每跳动一下,LED指示灯闪烁一次,心率测量电路如图3.7所示。图3.7 心率测量电路3.2.2.2 心率采集误差分析心率测量过程中也可能产生误差,其中传感器MPX2100温度误差带为0-85度,当环境温度较低时,可能会导致其传感器产生误差,误差来源还可能是在测量过成中传感器与人体接触不够紧密导致测得的电压信号不准确。在使用此人体健康监测器的

31、过程中,尽量避免以上情况的发生即可。3.2.4显示电路设计显示电路部分采用 LM016L液晶模块,此液晶模块采用HD44780控制器,具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,与单片机通讯可采用8位或4位并行传输两种方式,本设计中管脚连接方式为D0-D7分别与单片机P1.0-1.7连接,图3.8即为显示电路。图3.8 显示电路3.2.5报警电路设计报警电路由二极管与电阻相连,如需要报警则二极管发光,其中何时报警可以编写程序进行控制,本设计中报警电路与单片机P2.0管脚相连,图3.9即为报警电路。图3.9 报警电路 第4章 软件设计软件设计就是用计算机所能接受的形式把解决问题的步

32、骤描述出来。简单的说,软件设计就是编制计算机程序。一个好的程序应该完成规定的任务,而且应该层次清晰、易于阅读,并尽可能少占内存,缩短执行时间,但也不要一味地追求少占内存,缩短执行时间。这样做可能会使程序的可读性变差。随着大规模和超大规模集成电路的发展,芯片的内存容量也在不断的增加,计算机执行指令的时间也大大的缩短。因此,程序的长短和执行时间,不再显得那么重要,而程序的易读性和程序的开发周期,显得越来越重要。另外,在较复杂的程序设计中,必须充分考虑程序的可读性、稳定性、可扩展性、兼容性以及容错性等也是衡量与评价程序的优劣的重要指标。AT89C51单片机是电子时钟系统的核心部分,各个模块在单片机控

33、制下实现各个模块的功能。该系统的软件部分的设计包括主程序、温度测量子程序、心率测量子程序、超限报警子程序以及显示模块子程序,本章节着重介绍各个模块程序的设计思想和流程。4.1主程序流程图主程序的流程设计首先对系统和外接芯片进行初始化,然后是体温测量和心率测量程序,再通过程序控制,从LCD输出显示,最后是报警系统程序。主程序流程图如图4.1所示。 开始单片机初始化体温显示体温心率超常报警LCD初始化体温测量心率测量心率显示图4.1 主程序流程图 4.2 子程序流程图子程序包括温度测量子程序、心率测量子程序、超限报警子程序以及显示模块子程序,下面对各个子程序进行一一介绍。4.2.1体温测量程序流程

34、图开始DS18B20初始化跳过ROM结束接收温度变换指令将数据送入单片机两个连续单元数据处理送入显示模块 NY 图4.2 体温测量子程序流程图较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果,体温测量子程序流程图如图4.2所示。4.2.2心率测量子程序流程图开始开定时器计数判断计时是否到达10秒停止计数读取计数值 否 是 图4.3 心率测量子程序流程图心率的检测采用中断完成,首先把存储计数值设为零,之后对定时计数器进行初始化,然后进行计数,之后判断是否计时到达10秒,

35、若没满10秒则继续计时,满10秒则停止计数读取计数值,然后继续循环计时。4.2.3 报警程序流程图报警程序流程图如图4.4所示,首先检测体温是否超常,超常则进行报警然后再进入心率检测,若不存在超常则直接进入心率超常检测,心率超常检测也是如此,最后结束报警检测。开始判断体温是否超常判断心率是否超常报警报警结束 图4.4 报警子程序流程图4.2.4显示子程序流程图首先进行LCD初始化,开始测量心率时需要测量满10秒才能得出心率值的大小,故显示器初始化后需要判断心率测量是否完成,未完成则显示“wating”,若完成测量则显示测量的心率数值,继续显示测得的体温数值。显示程序流程图如图4.5所示。开始结

36、束LM016L初始化显示“wating”判断心率是否测出显示心率数值显示体温数值图4.5 显示子程序流程图第5章 系统调试过程与分析单片机应用系统的调试有硬件调试和软件调试组成。两者并不能完全分开,甚至可以的说是不可分割的统一体,单纯的硬件调试和软件调试并不一定能达到理想效果,软硬件相互结合,可以更容易、方便地帮助我们找到错误之处。科学的方法是,首先排除明显的软件错误和硬件故障。软件调试主要是检查程序的设计是否合理,解决考虑不到的漏洞,是否存在语法上的错误和逻辑上的错误;硬件调试主要是排除硬件方面的故障,例如由于焊接造成的短路和断路,接线柱的正反接等等,同时不断改进设计的完善性,纠正在设计方面

37、的不足之处。然后再进行软硬件联合调试。联合调试目的是达到软、硬件之间的完美配合,解决二者之间的不协调问题,在这一过程中进一步来纠正设计系统的错误,进而使整个设计达到最佳工作状态。5.1 软件调试随着单片机开发环境的不断发展,单片机的开发软件也在不断发展。图5.1所示是Keil软件的界面。Keil是目前流行的用于开发51系列单片机的软件。该软件提供了包括C编译器、宏汇编、链连接、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境可以对C语言源程序进行编译,对汇编语言源程序进行汇编,对目标模块和库模块进行链接以产生一个目标文件,生成HEX文件,对程序进行调试等。图5.1 K

38、eil软件界面软件设计主要是对仿真电路的各模块进行编程,从而实现各模块的功能,从整个毕设任务来看,软件编程与调试占了很大一部分比例。由于软件程序庞大,把整个程序分成若干个功能模块,分别进行编写与调试。软件调试主要是对所编写的程序的各个部分,包括主程序、温度或心率测量子程序、显示子程序等的编译,测试其语法错误,从逻辑上测试程序的可行性。在调试之初,程序中出现了多处语法错误,如变量和函数的大小写错误,还有很多语句后少分号。经过反复修改,最终程序通过编译,没有语法上的错误。5.2 Proteus仿真在设计本系统的过程中,硬件是经过方案的讨论确定之后才进行实物焊接的,进行仿真是方案确定的条件之一,对软

39、件设计也有很大的帮助。为了方便调试,本系统先在PROTEUS中进行仿真,仿真的过程中出现了很多问题,但都是一些小的问题,如元器件有重名的、端口标注标错、器件之间的连线没有连上,经过认真检查,逐一排除了器件连接之类的错误。5.3系统仿真调试系统的仿真调试是对程序和PROTUES的综合调试,调试时可以将软件模块一个一个分开进行,再将它们连在一起联调。软件和PROTUES联合调试,把程序生成的HEX文件加载到Proteus仿真的单片机中,仿真发现LED数码管显示的值闪烁不稳定,经过检查程序发现主要是由于延时时间不够,增大延时时间之后问题便被解决。经过软件和PROTUES联合调试,解决了所有的问题,实

40、现了系统的功能,所以软件和硬件调试很顺利没有出现任何问题,系统能正常进行体温及心率的检测工作。5.4功能实现进行体温心率测量时,液晶显示器显示的J代表心率,T代表体温,两者均显示为三位数字,其中体温有一位小数。心率测量过程是通过计下10秒内心跳此时,再乘以6来完成对心率的测量,用频率为1.5HZ的脉冲模拟心跳,刚开始仿真时心率并不能立刻测出,而是需要等待10秒钟,此过程中体温的测量时可以显示的,心率则显示为“waiting”,此时因没有心率,故报警电路会产生报警,D2即为报警电路的发光二极管,此时发光,图中D1为新跳指示灯,刚开始测量时的监测结果如图5.2所示。当10秒过后,心率测量已经完成显

41、示在LCD液晶屏幕上,若体温以及心率均在人体正常参数范围内,即体温在36-37.5之内,心率在60-100次/分之内,D2不发光报警,心率体温均正常是的监测结果如图5.3所示。图5.2 刚开始测量时的监测结果图5.3 心率体温均正常是的监测结果当心率正常,体温超出36-37.5范围时,D2发光报警,此时心率正常体温超常时的监测结果如图5.4所示。图5.4 心率正常体温超常时的监测结果当体温正常,心率超出人体正常健康范围时,D2发光进行报警,用3HZ的脉冲模拟心跳,此时心率超常体温正常的监测结果如图5.5所示。图5.5 心率超常体温正常的监测结果当体温以及心率均不在正常人体健康范围内时,D2发光

42、进行报警,此时体温心率均异常的监测结果如图5.6所示。图5.6 体温心率均异常的监测结果5.5 硬件调试硬件调试是整个设计的保证。它是软件功能实现的载体,在进行联机调试之前必须要做好硬件电路的检查工作。检查焊接是否存在虚焊,各元器件之间的裸露部分有无相互接触现象,电源与地线是否连接正确等现象,避免在通电状态下造成元器件或是芯片的烧坏。一些较明显的故障排除后,要进行上电检查,利用万用表检查电路板上各焊点的电压是否满足设计要求。如果不满足,说明存在问题,需要在断电后进行仔细的检查,直到排除故障为止。5.5.1静态调试静态调试的目的是排除明显的硬件故障。在通电之前,根据硬件逻辑设计图,仔细检查硬件电

43、路连接是否正确。元器件在焊接过程中要逐一检查,例如二极管、电阻、电解电容的极性,电容的容量及耐压,元件的数值是否正确等。在这一环节中发现了很多问题,主要是电路的焊接问题,如导线焊接错误,漏焊等,否则,在通电的时候很容易造成电路电流过大,烧坏片子。经过认真检查,都一一改正错误。各元器件电源检查。断开电源,按正确的元器件方向插上元器件,分别通电,并逐一检查每个元器件上的电源是否正确。将元器件插好后,各个芯片没有出现发热或其它不正常的现象。5.5.2动态调试在静态调试中,对硬件电路进行了初步的调试,只是排除了一些明显的静态故障。各个元器件内部存在的逻辑错误主要是通过软硬件结合仿真检测出来的。在此过程

44、中将程序烧入单片机,发现无法实现功能,烧入一个简单程序使LED发光,发现此功能也无法完成,推测单片机烧坏了,后来换用其他单片机重新烧入程序,功能可以实现接,故之前推测正确,单片机烧坏了。功能实现的同时发现,温度测量出数值一直为85,经仔细排查发现是DS18B20初始化程序不完整,其中延时较小导致无法正确测出温度大小,改正后测温正常。5.5遇到的问题及解决方案仿真显示部分起初设定为5秒更新显示一次,时间较短的情况下不能正确测得模拟的心率,而后加长了更新显示时间,设定为10秒,此时可正确测量心率。因心率仿真需要手动点击调整电压大小来模拟,此过程产生误差较大,很难正确模拟心率,故用一个脉冲改变其频率

45、大小来模拟心跳的快慢。在进行软件编译时,起初总会出现许多错误,类似于未定义变量,C语句逻辑上的错误,在改写过程中得到了指导老师的白老师的耐心指导,让我掌握了程序设计需要注意的许多问题,学习到许多新知识,锻炼和强化了逻辑思维能力。在刚开始使用仿真软件时,由于使用的不熟练,常常造成工程文件的建立失败,经过同学的帮助,发现自己在建立过程中丢掉了一步,所以造成以后步骤的无法进行。在联机调试过程中,程序不能顺利的被下载到单片机,刚开始做了许多工作,重装了仿真软件,重新建立文件、编译,换用其他电脑运行,结果都无济于事,后来的不经意间发现了文件的路径不正确,经过修改路径后,再进行程序的下载,就顺利完成了。这

46、种错误的造成是非常不应该的,属于粗心大意酿成的,在这以后,我更加细心的对待每一过程,避免此类错误的发生。在调试过程中,液晶显示部分不能正常显示,经过对软件程序的排查,发现程序中缺少清零初始化,以及其他问题。经改正后,上电调试,液晶仍然不能正常显示,最后在测量LCD引脚电压时,发现电源引脚没有电压值,原来在调试过程中不慎将液晶显示的正极电源线电路破坏了,重新连接后,LCD正常显示。第6章 社会经济效益分析在科学技术突飞猛进的今天,人工智能产品起到了不可忽视的作用,尤其是各种智能化的仪器、仪表在人们日常生活和工农业生产中得到了广泛应用,给社会带来了极大的便利。本设计就是一个用单片机控制的人体健康的

47、例子,它完成了从体温、心率的采集、转换、显示以及控制的一系列任务。传统的体温测量办法是利用体温计计,这样不仅测量时间长、读数不方便、携带不方便无法达到实时监测的目的,而且功能单一,已经不能满足人们在数字化时代的要求。本文提出了一种新型的设计方案,利用DS18B20温度传感器,通过单片机80C51控制,经液晶显示当前体温。系统的心率测量部分主要监测人体心率,借以发现人体是否处于危险状况。虽然现今市面上有很多体温、心率测试仪,但针对人们身体健康需要实时监测的仪器却很少,因此设计出可以实时监测人体健康状况的仪器十分必要。本设计以AT89C51单片机作为控制平台,系统采用DS18B20和压阻式传感器M

48、PX2100分别作为温度传感器和压力传感器,实现人体体温和心率的测量,测试结果表明了当前人体体温以及心率状态,并由液晶显示以提醒人们注意自己的身体状况。该人体健康监测系统使用方便,无需专业知识,适合普通人群使用,相信这一点肯定会受到大众的亲睐,且具有较高的可靠性、实时性、精确性、智能性和方便性。系统采用的传感器都是较为先进的测量准确精度较高的传感器,大大保证了人体健康状况真实情况。最后,通过对硬件和软件的调试,系统达到了本设计的要求。本系统操作简单,模块化设计,软件可维护性好。且依靠其体积小、布线简单、可靠性好、性价比较优良等特点,与同类产品相比较,有着较好的市场竞争力。凭借系统的各方面性能,

49、相信会在实际生活中为我们带来很大的便利,尤其是在医院、养老院等需要实时监测人体健康状况的地方,因此具有一定的社会效益。依靠本系统良好的性能和较广泛的应用范围,再加以完善,相信会可以创造出较好的经济效益。综上所述,本设计具有很好的经济效益和社会效益。第7章 总结经过三个月时间的毕业设计锻炼,我觉得自己对单片机知识的掌握又进了一层。对单片机硬件结构的研究和软件编程的兴趣增加不少。归纳起来,主要有以下几点:1、有两年多的时间都是在学习单片机原理知识,并未真正地去应用和实践。平时但是经过这次毕业设计,我接触到了更多平时没有接触到的仪器设备、元器件发现了自己很多不足之处。我还体会到了所学理论知识的重要性

50、:知识掌握得越多,设计得就更全面、更顺利、更好。2、了解进行一项相对比较大型的科技设计所必不可少的几个阶段。毕业设计能够从理论设计和工程实践相结合、巩固基础知识与培养创新意识相结合、个人作用和集体协作相结合等方面全面的培养学生的全面素质。我经过这次系统的毕业设计,熟悉了对一项课题进行研究、设计和实验的过程。这些在我们在将来的工作和学习当中都会有很大的帮助。 3、学会了怎样查阅资料和利用工具书。如果想学一门知识,不能局限于一本书,应多看几本,既可以进行比较又增加了见识,知识会更加全面,应用起来也更有余地。另外平时课堂上所学习的知识大多比较陈旧,作为电子信息工程的学生,由于专业特点自己更要积极查阅

51、当前的最新电子资料。一个人不可能什么都学过,什么都懂,因此,当你在设计过程中需要用一些不曾学过的东西时,就要去有针对性地查找资料,然后加以吸收利用,以提高自己的应用能力,而且还能增长自己见识,补充最新的专业知识。4、毕业设计对以前学过的理论知识起到了回顾作用,并对其加以进一步的消化和巩固。5、毕业设计培养了严肃认真和实事求是的科学态度。而且培养了吃苦耐劳的精神以及相对应的工程意识,同学之间的友谊互助也充分的在毕业设计当中体现出来了。 6、 发现了许多我以前认识理解的误区,因为以前学单片机时错误理解了某些书上的或老师讲的思想,产生自以为正确的假象。7、多交谈或请教容易更直接更正确的理解并掌握知识

52、。有些时候精神不是很集中,思想不通,但多和人交谈经人一点拨,有茅塞顿开的感觉。8、在设计硬件之前,对软件如何围绕硬件方面心中应比较清楚透彻,否则将会使设计出来的硬件无法编程,成为一堆无用的东西,从而使设计走很大的弯路。本次设计的课题人体健康监测器的设计,是一种非常具有实用价值的电子人体基本体征(心率、体温)的实时检测装置,随着社会的发展,人们物质生活水平的提高,越来越多的人开始时刻关心自己以及家人的健康问题,而基于单片机设计的人体基本健康监测器体积小、准确性好、使用方法简单易懂,具有很高的性价比,因此势必具有广阔的市场前景。但本次设计但由于时间以及经验有限,肯定存在许多不足之处,希望老师能给予进一步指正。我认为该产品还有许多功能可以完善,如记忆存储功能、于上位机的连接通信功能等,相信增加了这些功能本设计将更加成熟具有更高的经济价值。最后,我深切体会到做事情必须耐心、细心,成功就在眼前。致 谢在本次毕业设计中,我得到了电子信息工程学院各位老师和领导的细心教导,首先对他们表示衷心的感谢。对于设计中

温馨提示

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

评论

0/150

提交评论