




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.1. - . 可修编.腕带式心率体温计设计.1 . 可修编.摘 要在生活水平日益提升的前提下,人们对自身安康状况越来越关注。心率和体温是临床检查最常规的两个生理指标,通过它们可以简单初步的了解一个人的身体情况。本设计选用单片机STC89C52作为控制单元,选用反射式光电传感器SON1303采集心率信号,并用SON3130集成运放对其进展放大整形,输出心率脉冲信号,选用温度传感器DS18B20采集人体体温数据,将获取的心率和体温通过单片机实时显示至屏幕上,同时对这两个重要的人体机能指标进展分析,在不正常围利用蜂鸣器报警提示,从而构成一个基于单片机的腕带式心率体温计。【关键词】STC单片机;体温
2、检测;心率检测;报警系统;SON1303.1AbstractUnder the premise of rising living standards, people are increasingly concerned about their own health. Heart rate and body temperature is the most conventional clinical e*amination of two physiological parameters, they can by simple preliminary understanding of a perso
3、ns physical condition. The design uses SCM STC89C52 as the control unit, use reflective photoelectric sensors SON1303 collect heart rate signal, and put them to enlarge reshaping SON3130 integrated operational output heart rate pulse signal, the selection of the temperature sensor DS18B20 collecting
4、 body temperature data, heart rate and body temperature will be acquired through the microcontroller to display on the screen in real time, while these two important indicators to analyze body functions, using a buzzer alarm is not within the normal range, so as to constitute a microcontroller-based
5、 heart rate strap thermometer.【Key words】STC microcontroller; temperature detection; heart rate detection; alarm system; SON1303.1目录 TOC o 1-3 u 1引言1.1选题背景 表34所示。表STYLEREF 1 s3SEQ 表格 * ARABIC s 14 DS1302的时钟存放器读写76543210围81h80h标志位秒的十位秒的个位005983h82h分钟十位分钟个位005985h84h12/010小时十位小时个位112/023/PM87h86h00日的十
6、位日的个位13189h88h000月的十位月的个位1128Dh8Ah00000星期只有个位178Dh8Ch年的十位年的个位0099时钟电路DS1302与MCU连接只需要3条线I/O、SCLK、,单片机即可获取时钟数据,时钟电路图如图3-17所示。图3-17时钟电路图液晶显示电路LCD1602显示电路图如图3-18所示。LCD1602的D0D7口与单片机的P0通信口相接,RS、RW、E接口与单片机P20P22相接,VSS引脚接地,VDD引脚接5V高电平,本次设计为了方便取消灰度比照度调节,故VEE默认接大约0.65V的电压。图3-18 LCD1602显示电路图其他电路按键电路因为I/O口足够多,
7、并且按键采用线性按键。三个按键右侧的引脚并联接地,左侧引脚分别于CPU的P30P32相接。有程序控制扫描,KEY1代表切换模式,KEY2代表设置值加,KEY3代表设置值减。按键电路如图3-19所示。图3-19 按键电路报警电路报警电路如图3-20所示。两LED灯分别与单片机上的P26、P27相连,心率超限时灯1亮,体温超限灯2亮,反之,不亮。BUZ与单片机的P17接口相连,当所测体温和心率两者超出正常值围,BUZ处于低电平状态,PNP导通,蜂鸣器响;否则,BUZ处于高电平,PNP截止,蜂鸣器不响。图3-20 报警电路程序设计主函数开场先进展LCD初始化,时钟初始化,之后进入while循环,判断
8、是否有按键按下,假设无按键按下,运行心率、体温和时间处理函数获取相关数据,然后比照报警值判断是否报警并运行显示函数将心率、体温以及时间显示到屏幕上;假设按下KEY1键,则显示报警值设定,从心率下限值、上限值,温度下限值、上限值依次切换;假设在按下KEY1键的根底上,按下KEY2或者KEY3键则分别代表加减报警值,同时运行显示程序将报警值显示出来。总体程序流程图如图4-1所示。图4-1程序总框图本章主要介绍心率、体温、时间和显示模块的程序设计。心率程序设计通过定时中断每10微秒采集一次心率信号,通过计算两个脉冲的间隔时间得出实时心率值,判断是否否超限启动报警。程序流程图如4-2图所示。图4-2
9、心率程序框图温度程序设计首先要将DS18B20温度传感器存初始化,以此读取数据存放器中的温度数据,并将16位二进制数据转化为十进制温度数据,从而得出温度由于测量的是体温,故舍弃掉符号位和百位数据。温度程序框图如图4-3所示。图4-3 温度程序框图时钟程序设计依次读取芯片部有关时间的8个存放器的时间数据并将其显示到液晶屏上。时间处理程序框图如图4-4所示。图4-4 时间处理程序框图显示函数显示函数是将要显示的数据显示到LCD1602液晶屏上的程序处理方式,通过调用显示函数可以方便的将心率、体温以及时间等数据方便准确的显示到屏幕的具体位置上。数据显示程序框图如图4-5所示。图4-5 显示程序框图系
10、统测试分析系统测试系统分为程序测试、仿真测试和实物测试。程序调试结果如图5-1所示,测试结果正常,无逻辑错误。图5-2 程序测试图本次设计仿真测试采用Proteus仿真软件进项仿真,载入程序后,运行正常,仿真测试如图5-2。其中心率信号采用方波信号代替。图5-2 仿真电路图程序和仿真测试结果均正常,下面即可开场测试硬件电路,下载好程序,硬件测试也正常。硬件电路测试结果如图5-3所示图5-3 硬件电路测试图系统分析准确度分析根据硬件测试结果可知,根本功能得以实现,本次设计根本到达预期效果,实现心率和体温的监测。针对心率和体温的正确性进展分析,对于不同个体,用本次设计的心率体温计的测量值与脉搏计测
11、量结果比照分析本设计实物的误差值,结果分别如REF _Ref450330333 h表51和REF _Ref450330499 h表52所示。表STYLEREF 1 s5SEQ 表格 * ARABIC s 11 心率测量结果比较编号简易心率体温计听诊器误差178801288891392902465671595941表STYLEREF 1 s5SEQ 表格 * ARABIC s 12 体温测量结果比较编号简易心率体温计体温计误差136.136.20.1235.935.80.1336.736.40.3436.236.20536.636.80.2可以通过标准差公式对本次测试数据进展误差分析,标准差值越
12、小说明本次设计结果越准确,趋于0则说明根本无误差。标准差公式如下:5.1分别把心率值和体温测量结果代入上述公式,可得心率测量标准差为0.26,体温测量标准差为0.13。均趋于0,说明误差较小。优势分析相比其他关于心率的设计,本次设计腕带式心率体温计的心率测量速度更快,理论上可以毫秒级大约10ms实现心率测量,且测量结果稳定,而其他心率设计一般需要几秒甚至更长时间。表5-3是本设计心率测量时间和普通心率计测量时间比照以及误差比照。表 STYLEREF 1 s 5 SEQ 表格 * ARABIC s 1 3 测量时间及测量值比照测量次数腕带式心率体温计普通心率计测量时间心率测量值测量时间测量值第1
13、次0.1s76380第2次0.1s79378第3次0.2s70576本次测量时间测量采用手工计时,尽管不可防止产生误差,但比照上表可知,本次设计的腕带式心率体温计测量时间更短,测量值虽有波动但总体均匀,相差不大,普通心率计测量时间相对较长,两者测量值相差不大,可以得出本次设计相比其他设计具有快速测量的优势。同时,本次设计均采用模块化设计,各功能互不干扰,剩余IO口充足,不仅调试方便,后续还可以参加更多功能,使设计更加完美。总结与展望随着现代生活水平的提高和时代经济的迅速开展,人们对自身安康的关注程度越来越高,希望拥有一款能实时关注自身安康并且便携实惠的监护产品,腕表式安康手环越来越受到推捧。本
14、次所设计的腕表式心率体温计本钱较低、准确度高以及良好的便携性,具有实际意义。虽然本次设计到达设计要求,实现了心率体温的监测,但由于本人能力有待提升,以致于本次设计还存在好多药改进的地方,比方程序不够简练,电路均采用模块化设计,液晶显示数据单一等,同时此次设计的测量比较单一,比方没有参加血氧、血糖以及血压等功能。江山代有人才出,我相信以后的腕带式监护产品肯定会完善更多更优质的功能,让我们的生活更加简单美好。为了更好的完本钱次设计,提前两个月开场做毕设,上网翻看资料,了解相关设计,只为到达设计目的。各个模块的方案反复进展选择,比方心率信号采集,一开场选用红外对管作为传感器,但后期放大电路以及比较电
15、路十分复杂,实现难度较大,后来找资料决定采用集成芯片SON1205从而解决心率电路问题。经过这次毕业设计,体会到了做一件事,能坚持才是完成这件事的最重要的。参考文献艾学忠主编,伟,北辰副主编单片机原理及其接口技术 M:清华大学,2021:2629春晓等无仓,血管功能测试诊断仪的研究J生物医学工程学杂志,2003.1.15(33).眭仁武主编,阳平,周志方,*雨明等副主编汇编语言与微机原理 M:中国水利水电,2003:116128郭尚平一种数字心率计的研制J中国医疗器械杂志,1994,第18卷,第6期,330-334何钦铭,颜晖C语言程序设计 M:高等教育,2021:7583文波,维国,精慧光电
16、式脉搏波监测系统J光学精细机械学院学报,1999,第22卷,第4期,2-6.何忠蛟. 基于单片机控制的心率计J学院院报,2021,第5卷,第2期,28-29朝青.单片机原理及接口技术简明修订版.:航空航天大学,1998.文,欣,铠麟基于AT89C2051单片机的指脉检测系统的研究J医疗装备学报,2005,第17卷,第9期,2-14沙占友智能化集成温度传感器原理与应用M:机械工业,2002童诗白、*振英编.现代电子学及应用.高等教育M,1994.俊谟.单片机中级教程.:航空航天大学,2000.齐,朱宁西单片机应用系统设计技术基于C51Proteus仿真 M第3版:电子工业,2021:167181
17、K.D.TAYLOR.Technicalnote-(KeywordsCardiotachometer,Pulsegenerator)Precision cardiotachometer calibrator .Med. & Biol. Eng. & put.1977. 15.476-478.Koenig L JAccelerated C+Practical Programming by E*ampleMAmerica:Addison Wesley,2000.Yunus ACengel,JohnMCimbalaElectronic Fundamentals and ApplicationsMAm
18、erica:McGraw-Hill Science,2004致时间过得真快,从毕业选题到论文整理完成,明明半年的时间却感觉仅仅过了几天一样。毕设的完成也意味着大学生涯即将完毕,从2021年至今四年的时间里,学到了许多东西,然而终究要去说再见。在此,我衷心的感在完成毕设期间对我提供帮助的那些人。首先我要感我的指导教师肖大雪的对我的论文的指导和帮助。*教师在怀孕期间不辞辛苦指导我本次毕设的框架容和整体格式,对我不懂得方面,比方说心率信号处理代码局部,仔细帮我分析,给我检查程序错误,不辞辛劳。不仅让我受益良多,而且也使得论文进度大大加快。*教师律己严谨的态度和孜孜好学的心态也给了我很大影响。再次感*
19、教师对我的无私帮助!同时也感学院其他教师对我的指导和帮助!其次要感的是*、*以及*同学,在硬件调试时对我提供的援助。使得心率功能得以实现,尤其是*同学,在放大电路难以实现时,向我推荐集成模块,轻松解决了这个问题。也感本班其他同学对我的其他帮助!最后,我要感我待了四年的母校财经大学,在这里我度过了风华正茂的时光,学习了此生铭记的知识。在即将开场研究生学习生涯的时候,还利用毕设给了我一次锻炼自己的时机。附录upon1.c文件*include *include / *include *include *include *include /*include /*include /sbit LED0=P
20、26;/sbit Send_SMS_Te*t_key=P34;/TE*Tsbit P27=P27;uchar Wendu_H=40;/uchar Wendu_L=30;/void main() InitLcd(); Tim_Init(); lcd_1602_word(0*80,16, Starting. ); lcd_1602_word(0*c0,16, Please wait! ); /Uart_Init();TR0=1; TR1=1; / while(1) / if(Key_Change) / Key_Change=0; / View_Change=1; switch(Key_Value)
21、/ case 1:/ View_Con+;/ if(View_Con=5)/ View_Con=0; break;/ case 2:/ if(View_Con=4)/ if(Wendu_H150)/150 Wendu_H+;/+ if(View_Con=3)/ if(Wendu_LWendu_H-1)/-1 Wendu_L+;/ if(View_Con=2)/ if(*intiao_H150)/150 *intiao_H+;/+ if(View_Con=1)/ if(*intiao_LWendu_L+1)/+1 Wendu_H-;/ if(View_Con=3)/ if(Wendu_L30)/
22、30Wendu_L-;/ if(View_Con=2)/ if(*intiao_H*intiao_L+1)/+1 *intiao_H-;/ if(View_Con=1)/ if(*intiao_L30)/30 *intiao_L-;/ break; if(View_Change)/ View_Change=0;/ if(stop=0) / if(View_Data0=0*30) /0 View_Data0= ; else /50005s View_Data0= ; View_Data1= ; View_Data2= ; switch(View_Con) case 0: / lcd_1602_w
23、ord(0*80,16, );/lcd_1602_word(0*c0,16, );lcd_1602_word(0*80,3,View_Data); /read_temp();/ ds1820disp();/InitDS1302();DS1302Display();if(tvalue/10)%100)=Wendu_H)|(tvalue/10)%100)=Wendu_H)|(tvalue/10)%100)=Wendu_H)|(tvalue/10)%100)=Wendu_H)|(tvalue/10)%100)=Wendu_H)|(tvalue/10)%100)=Wendu_L) P27=0; els
24、e P27=1; break; lcd1602.h文件*ifndef _LCD1602_H_*define _LCD1602_H_*define LCD_DATAP0/P0LCD_DATAvoid delay5ms(void); / 0usvoid LCD_WriteData(uchar LCD_1602_DATA); /*LCD1602*/void LCD_Write(uchar LCD_1602_); /*LCD1602*/void lcd_1602_word(uchar Adress_,uchar Num_Adat,uchar *Adress_Data); /*1602*/void In
25、itLcd();/*Adress_Num_AdatAdress_Data*/ void lcd_1602_word(uchar Adress_,uchar Num_Adat,uchar *Adress_Data) uchar a=0; uchar Data_Word; LCD_Write(Adress_); / for(a=0;a0;b-) for(a=12;a0;a-);*endif*intiao.h文件*ifndef _*INTIAO_H_*define _*INTIAO_H_*include *define uint unsigned int*define uchar unsigned
26、char*define ulong unsigned long /*define LCD_DATA P0 /P0LCD_DATAsbit *intiao =P13 ; /sbit speaker =P15; /void Tim_Init();uchar *intiao_Change=0; uint *intiao_Jishu;uchar stop;uchar View_Data3;/uchar View_Data13;uchar View_L3;uchar View_H3;uchar View_TL3;uchar View_TH3;uchar *intiao_H=100;/uchar *int
27、iao_L=40;/uchar Key_Change;uchar Key_Value;/uchar View_Con;/012uchar View_Change;void Time1() interrupt 3/1static uchar Key_Con,*intiao_Con;TH1=0*d8; /10msTL1=0*f0; /switch(Key_Con) /0 case 0: /10msif(P3&0*e0)!=0*e0)/ Key_Con+; /11 break; case 1: /10msKey_Con1 if(P3&0*e0)!=0*e0)/ Key_Con+; /12 switc
28、h(P3&0*e0) / case 0*60:Key_Value=1;break; /Key_Value case 0*a0:Key_Value=2;break; case 0*c0:Key_Value=3;break; else /10ms Key_Con=0; / break; case 2: /20ms if(P3&0*e0)=0*e0) / Key_Change=1; /1 Key_Con=0;/ break; switch (*intiao_Con)/ case 0: /*intiao_Con0 if(!*intiao)/10ms *intiao_Con+;/ break; case
29、 1: if(!*intiao) /10ms *intiao_Con+;/else *intiao_Con=0;/ break; case 2: if(!*intiao) *intiao_Con+;/ else *intiao_Con=0;/ break; case 3: if(!*intiao) *intiao_Con+;/ else *intiao_Con=0;/ break; case 4: if(*intiao)/30ms if(*intiao_Change=1)/*intiao_Change0else View_Data0=(60000/*intiao_Jishu)/100+0*30
30、; View_Data1=(60000/*intiao_Jishu)%100/10+0*30; View_Data2=(60000/*intiao_Jishu)%10+0*30; if(60000/*intiao_Jishu)=*intiao_H)|(60000/*intiao_Jishu)=*intiao_L)/ speaker=0;/ else speaker=1;/ View_Change=1; / *intiao_Jishu=0; / *intiao_Change=0; / stop=0; /stop else/*intiao_Change0 *intiao_Jishu=0;/ *in
31、tiao_Change=1;/*intiao_Change1 *intiao_Con=0;/ break; /*T0*/void Time0() interrupt 1 TH0=0*fc; /1ms TL0=0*18; / *intiao_Jishu+; / if(*intiao_Jishu=5000)/5000 *intiao_Jishu=0;/ View_Change=1;/1/lcd_1602_word(0*c0,16, OOOOOOO ); *intiao_Change=0;/ stop=1; /5000stop1 speaker=1; / /*/void Tim_Init() EA=
32、1; / ET0=1; /T0 ET1=1; /T1 TMOD=0*11; / TH0=0*fc; /1ms TL0=0*18; / TH1=0*d8; /10ms TL1=0*f0; /*endifDS1302.h文件*ifndef _DS1302_H_*define _DS1302_H_*include *include sbit DS1302_CE = P10;sbit DS1302_CK = P12;sbit DS1302_IO = P11;unsigned char str12;/unsigned char str114;/unsigned char *str1;unsigned c
33、har psec = 0*AA;void DS1302Display();void DS1302ByteWrite(unsigned char dat) unsigned char mask; for (mask=0*01; mask!=0; mask=1) / if (mask&dat) != 0) / DS1302_IO = 1; else DS1302_IO = 0; DS1302_CK = 1; / DS1302_CK = 0; / DS1302_IO = 1; /IO/* DS1302 */unsigned char DS1302ByteRead() unsigned char ma
34、sk; unsigned char dat = 0; for (mask=0*01; mask!=0; mask=1) / if (DS1302_IO != 0) /IOdat dat |= mask; DS1302_CK = 1; / DS1302_CK = 0; / return dat; /* reg-dat- */void DS1302SingleWrite(unsigned char reg, unsigned char dat) DS1302_CE = 1; / DS1302ByteWrite(reg1)|0*80); / DS1302ByteWrite(dat); / DS130
35、2_CE = 0; / DS1302_IO = 0;/* reg- */unsigned char DS1302SingleRead(unsigned char reg) unsigned char dat; DS1302_CE = 1; / DS1302ByteWrite(reg1)|0*81); / dat = DS1302ByteRead(); / DS1302_CE = 0; / DS1302_IO = 0; return dat;/* 8dat- */void DS1302BurstWrite(unsigned char *dat) unsigned char i; DS1302_C
36、E = 1; DS1302ByteWrite(0*BE); / for (i=0; i8; i+) /8 DS1302ByteWrite(dati); DS1302_CE = 0; DS1302_IO = 0;/* 8dat- */void DS1302BurstRead(unsigned char *dat) unsigned char i; DS1302_CE = 1; DS1302ByteWrite(0*BF); / for (i=0; i 4) + 0; /ASCII str3 = (time6&0*0F) + 0; /ASCII str4 = -; / str5 = (time4 4
37、) + 0; / str6 = (time4&0*0F) + 0; str7 = -; str8 = (time3 4) + 0; / str9 = (time3&0*0F) + 0;lcd_1602_word(0*c0,10,str); / str0 = (time2 4) + 0; / str1 = (time2&0*0F) + 0; str3 = (time1 4) + 0; / str4 = (time1&0*0F) + 0; str6 = (time0 4) + 0; / str7 = (time0&0*0F) + 0; str8 = 0; lcd_1602_word(0*cb,5,str); / lcd_1602_word(0*cd,1,:); psec = time0; / *endifds18b20.h文件*ifndef _DS18B20_H_*define _DS18B20_H_*define uint unsigned int*define uchar unsigned charsbit DQ=P32;/ds18b20sbit LCD_RS=P20;sbit LCD_R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司股权授权合同范本
- 光纤面板采购合同范本
- 商场门店售卖合同范本
- 中华美德颂的演讲稿
- 中专生学期个人总结
- 个人卖房委托书
- 分公司注销合同范本
- 下半年会计工作总结
- 不起诉合同范本
- 代评职称合同范本
- 部编人教版四年级下册语文 5琥珀 教案(教学设计)
- 工程项目客户评价表
- 增额终身寿险企业主类客户沟通逻辑
- GB/T 7631.4-1989润滑剂和有关产品(L类)的分类第4部分:F组(主轴、轴承和有关离合器)
- GB/T 40092-2021生态设计产品评价技术规范变压器
- GB/T 14002-1992劳动定额术语
- 中医医院第一类医疗技术目录
- 学校食堂监管
- 12网络与新媒体概论(第二版)-第十二章互联网与社会思潮.电子教案教学课件
- 9-马工程《艺术学概论》课件-第九章(20190403)【已改格式】.课件电子教案
- 常见老年综合征医院护理-认知障碍(2020年版)
评论
0/150
提交评论