【毕业设计(论文)】-基于智能脉搏器的设计_第1页
【毕业设计(论文)】-基于智能脉搏器的设计_第2页
【毕业设计(论文)】-基于智能脉搏器的设计_第3页
【毕业设计(论文)】-基于智能脉搏器的设计_第4页
【毕业设计(论文)】-基于智能脉搏器的设计_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、基于智能脉搏器的设计摘要:脉搏波所呈现出来的形态、强度、速率和节律等方面的综合信息,能反映出人体心血管系统中许多生理疾病的血流特征。根据人体脉搏信号特征,本文设计了一种脉搏波动频率测量系统。本系统通过脉搏传感器采集脉搏信息输出电压信号,经信号放大电路对其进行放大。然后,将放大后的脉搏信号通过A/D转换器转换为单片机易于处理的脉冲信号。通过单片机编程对脉冲信号进行处理,实现对脉搏波动频率的测量和计算,最终在LED中直观地显示出来。通过调试,说明本系统可以实现对脉搏波动频率的测量,为医生的诊断提供客观依据,具有一定的临床应用价值。本文首先描述本设计的整体思路,然后介绍各个局部设计中的细节问题,最后

2、提出一些完善本设计的改良意见。关键词:人体脉搏信号; 单片机; 频率测量自动化0702-李鑫The design is based on intelligent pulseAbstract:The shape, intensity, speed, and rhythm of pulse signals mostly reflect the physical and pathological characters of heart-blood system in human bodies. According to the characteristics of the human pulse s

3、ignals, a pulse fluctuation frequency measurement system is designed. The system uses a pulse sensor to output the voltage of the pulse signals, and uses an amplification circuit to enlarge it, and then, the amplification pulse signal through the A/D converter converted to microcontroller manageable

4、 pulse signal , then uses AT89S51 to deal with it to get the pulse fluctuation frequency, and last use LED to display. Tests show that the system can measure and display the pulse fluctuation frequency, providing an objective basis for doctors to diagnose and having certain clinical value. At the be

5、ginning of the paper, the integral notion of the device design is brought out. Afterwards, the detail information of each part is narrated. At last part, some suggestions for improving the device are provided.Key words: Pulse signal of human body, Microcontroller, Frequency measurement目 录 TOC o 1-3

6、h z u HYPERLINK l _Toc291012813 第 1 章 绪论 。图4-5脉搏波动频率测量子程序流程图考虑到脉搏的频率很低,大约为1Hz左右,而16 位定时/计数器的最高计数值为65535,这样定时/计数器将发生溢出,且最后脉搏波动频率的计算涉及到双字节除法,编程较复杂。为此,采用定时器中断方式,即在一个脉搏周期内,隔一段时间T1,T1即为中断周期。设N为每分钟脉搏跳动次数,T为脉搏跳动周期,那么本设计中,设定显示的每分钟脉搏跳动次数误差不超过1次,那么假设T=2,那么定时器周期不超过1/15秒。假设T=1,那么定时器周期不超过1/60秒。取T=1,即定时器周期不超过1/60

7、秒。设中断周期为T1,中断次数为n,那么:为方便计算,取: 。由于定时器周期不超过1/60秒,即, ,故取m=7。即中断周期为。每分钟脉搏跳动次数,为方便计算,取。系统程序见附录3。 本章小结本章主要介绍了系统的软件设计局部,给出相应设计模块的设计说明及主流程图。第 5 章 显示结果与分析 智能脉搏器测量系统的仿真与分析作为一个设计性的题目,需要在实际电路中检验电路设计和程序编制的正确性。按照设计的硬件电路图焊接好电路,焊接的导线尽量不要冗长。用proteus仿真,画好电路,连接起来,将程序烧写器编译好的程序烧入单片机,运行检查无错误后,按下开始键,再按动脉搏,此时记数记时启动,在LCD上相应

8、显示脉搏搏动次数以及时间。搏动一定次数后,按下结束键,结束记时计数并计算脉搏频率。在LCD上得到的显示结果,如图5-1所示。仿真开始时,开启秒表,通过秒表记时与LCD显示上的时间对照,时间上根本无误差,并依据显示的次数与时间,计算,显示结果正确。加快或放慢波动频率,当结果超出下限40次/min或上限120次/min时,那么会报警。图5-1 LCD显示结果实际仿真操作过程中,由于脉搏搏动频率的不同,将得到不同的脉搏波动频率结果。 本章小结本章对脉搏波动频率测量系统进行了调试,调试说明:本设计能够实现对脉搏波动频率的测量与显示,到达了设计的要求。结论本文设计的脉搏测量器,主要用于显示脉搏波的脉搏波

9、动频率信息。先通过压电脉搏传感器提取出脉搏信号,经信号放大电路放大,然后将放大后的脉搏信号通过A/D转换电路转换为单片机易于处理的脉冲信号。接着单片机对转换后的信号进行处理得出脉搏波动频率信息,最后送到LCD显示单元中显示。经过调试说明本设计能够实现对脉搏波动频率的测量与显示,到达了设计的要求。本设计的设计内容较为简单,只涉及到对脉搏波动频率的测量,对于脉搏测量器的进一步工作展望:1利用串口通信将脉搏波传送给计算机,利用计算机来对脉象信息进行存储,并通过编程实现对脉象信息进行图形再现。2本设计中只采集了一路脉搏信号,以后的设计中可以采用多路脉搏信号采集,这样可以提高系统的准确度和可靠性。3对采

10、集到的脉搏信号进行分析和处理,做一个脉搏自动检测与诊断系统,用户可以自己通过它来检测身体状况。通过这几个月的毕业设计生活,我从中感悟了很多,体会了很多:理论知识和实践的区别是很大的。书本上的1K电阻就是精确的1K,但到了真正的实际电路中,要找到精确的1K电阻,就不是那么容易的事情了。书本上的很多东西都是在理想情况下得出来的,但是,到了实践中,就没有理想情况了,考虑的问题也就多了。实践能力需要平时的积累和培养。大学四年,书本知识是认真学了,但实践动手的能力却没有锻炼起来。所以导致了在毕业设计中遇到很多困难,一时不知所措,走了很多弯路,浪费了很多时间。勤学好问、团结协作精神的重要性。我的毕业设计要

11、求和几个同学的有很多类似之处,通过与她们的交流中,我得到了很多有益的帮助。以后走上了工作岗位,团结协作精神也是至关重要的。相信,经过这次毕业设计,我的所感所悟,一定会对今后的学习、工作和生活有所帮助。致谢到今天,毕业设计也告一段落了,也就意味着我的大学时代即将结束。回想毕业设计这几个月,回想大学这四年的时光,感慨万千。值得留恋,值得追忆的,实在太多。还有很多老师,同学,朋友要感谢。首先,要感谢我的指导老师赵宝康老师,他认真负责、踏实努力的工作精神,一丝不苟、严谨治学的专业作风,给我留下了深刻的印象。赵老师教给我的不仅是科学知识,他还教给了我做人的道理,所有这些都为我今后的人生道路奠定了坚实的根

12、底,使我受益终生。同时,也要感谢辅导员谢江老师,感谢机电工程系所有老师四年来的悉心教诲。我们所在的实验室是一个温暖的大集体,也要感谢我们实验室各位老师给我的帮助。也要感谢与我同寝室的同学四年来,在工作和学习中给与我的鼓励和帮助。最后,我还要向我的父母表示最真诚的感谢和祝福,是他们的辛勤和汗水养育了我,是他们的精神鼓舞了我,使我能够不懈努力和拼搏。 致谢人:李鑫 2011年4月7日参考文献1 D.东北大学,2005.10-152D.沈阳工业大学,2006. 21-223M.北京:高等教育出版社,1989:47-48.4M.北京:高等教育出版社,2000:90-99.5 彭承琳.生物医学传感器原理

13、与应用M.重庆:重庆大学出版社,1996: 125-155.6J.中国医学物理学杂志,2006, 23(3):209-212.7M.北京:北京大学出版社,1997:79-82. 8M.北京:高等教育出版社,1993:35-39.9J.西南科技大学学报,2004,191:34-36.10M.北京:电子工业出版社,2005:193-195.11 康华光,陈大钦.电子技术根底模拟局部M.北京:高等教育出版社,1998:330-330.12J.北京生物医学工程,2006,25(5):520-523.13M.北京:清华大学出版社,2005:350-354.14J.计算技术与自动化,2002,21(3):

14、117-119.15J.电子技术应用,1998,(1):30-31.16J.中国仪器仪表,2005,(6):102-104.17J.电子测量技术,2005,(2): 20-21.18J.传感器技术,2001,20(5): 46-48.19J.国外电子元器件,2006,(5):32-34.20J.煤炭技术,2004,23(12):30-31.21 徐雁.MCS51单片机测量频率的两种实用方法J.电测与仪表,1995,3:16-18.22J.西安邮电学院学报,2003,8(3):31-34.23J.机械,2000,27增刊:184-185.24J.工业仪表与自动化装置, 2003(1):40-42

15、.25J.河北工业大学学报1999,286:98-99.26J.微机与应用,2000,3:33-35.27J.国外电子元器件,20049:7-10.28 Yung-Kang Chen, Hsien-Tsai Wu, Chih-Kai Chi, Wei-Chuan Tsai, Ju-Yi Chen and Ming-Chun Wang.A New Dual Channel Pulse Wave Velocity Measurement SystemJ.Computer Society, 2004, 8(4).29 Roland Asmar. Efect of Antihypertensive A

16、gents on Arterial Stiffness as evaluated by Pulse Wace Velocity Clinical Implications J. Cardiovasc Drugs 2001, 1(5):387-397.30 Hallock P. Arterial elasticity in man in relation to age as evaluated by the pulse wave velocity method.J Arch Inter Med. 1934, (54):770-798.附录1 硬件电路原理图附录2 元器件列表序号元件清单参数或型号

17、数量备注1二极管1N400412晶体管2N222233按钮BUTTON54普通电容20uF15晶振12MHz16字符液晶屏160217排阻C8A33118喇叭YD2170-119电解电容1uF210三引线可变电阻器RT11211A/D转换器ADC0808112单片机AT89S5111314电阻压力传感器1/MPX411571附录3智能脉搏器的设计程序#include#include#include #include #define uchar unsigned char#define uint unsigned int#define BUSY 0 x80 / LCD #define DATAP

18、ORT P0/ 参sbit LCM_RS=P20;/ 数sbit LCM_RW=P21; / 配sbit LCM_EN=P22; / 置sbit reset=P37;sbit bj=P30;sbit time_start=P32; sbit time_over=P33;sbit EOC=P23; /OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。sbit START=P24; /START为转换启动信号。当START上跳沿时,所有内部存放器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。sbit OE =P25; /EOC为转换结束信号。当EOC为高电平时,说明转换

19、结束;否那么,说明正在进行A/D转换。sbit AD_ALE=P26; /ad 转换sbit CLK=P27;unsigned long int getdata;void ADC0809();uchar code str0=Throb: ;uchar code str1=Time: ;void delay(uint k); /延时void lcd_wait(); /LCM忙检测void WriteCommandLCM(uchar WCLCM,uchar BusyC); /写指令到LCM子函数void WriteDataLCM(uchar WDLCM); /写数据到LCM子函数void Disp

20、layOneChar(uchar X,uchar Y,uchar DData); /显示指定坐标的一个字符子函数void DisplayListChar(uchar X,uchar Y,uchar code *DData); /显示指定坐标的一串字符子函数void initLCM( void); /LCD初始化子程序uchar m=0;uint counter=0,counter_0=0;uchar second_0=0;uint totle_1;float totle_0;void main()uint i,j,k; TMOD=0 x02;TL0=0 xfe;TH0=0 xfe; /AD频率

21、TR0=1;ET0=1;TH1=0 x60;TL1=0 x78;/定时5msET1=1;PX1=1;EX0=1;IT0=1;EX1=1;IT1=1;EA=1;delay(100); /系统延时500ms启动 initLCM( ); WriteCommandLCM(0 x01,1); /清显示屏 DisplayListChar(0,0,str0);DisplayListChar(0,1,str1);AD_ALE=0;START=0;OE=0;while(1)ADC0808();/v=getdata;if(getdata=300&getdata=300&getdata400)counter+; i

22、f(m=1)PT1=1;TR1=1;m=0;/DisplayOneChar(7,0,0 x30+getdata/100);/DisplayOneChar(8,0,0 x30+getdata%10);/DisplayOneChar(9,0,0 x30+getdata/10%10);if(counter=100) DisplayOneChar(7,0,0 x30+counter/100);DisplayOneChar(8,0,0 x30+counter/10%10);DisplayOneChar(9,0,0 x30+counter%10); if(second_059) second_0=0;Di

23、splayOneChar(7,1,0 x30+second_0%10);DisplayOneChar(6,1,0 x30+second_0/10);if(reset=0)counter=0;counter_0=0;second_0=0;totle_0=0;totle_1=0;bj=0;totle_1=(int)totle_0;DisplayOneChar(9,1,0 x30+totle_1/100);DisplayOneChar(10,1,0 x30+totle_1/10%10);DisplayOneChar(11,1,0 x30+totle_1%10);DisplayOneChar(12,1

24、,/);DisplayOneChar(13,1,m);DisplayOneChar(14,1,i);DisplayOneChar(15,1,n);if(totle_1120)for(k=0;k100;k+)for(i=0;i25;i+)bj=0;for(j=0;j25;j+)bj=1;if(reset=0)counter=0;counter_0=0;second_0=0;totle_0=0;totle_1=0;bj=0;if(totle_10)for(k=0;k100;k+)for(i=0;i25;i+)bj=0;for(j=0;j25;j+)bj=1;if(reset=0)counter=0

25、;counter_0=0;second_0=0;totle_0=0;totle_1=0;bj=0;/*外部中断0*/void intr0_int() interrupt 0 using 3m=1;/*外部中断1*/ void intr1_int() interrupt 2 using 3PT1=0;TR1=0;totle_0=(float)counter/second_0*60;/*定时中断0*/void timer0_int() interrupt 1 using 1 CLK=CLK; /*定时中断1*/void timer1_int() interrupt 3 using 2TH1=0 x

26、60;TL1=0 x78;counter_0+; if(counter_0=190)counter_0=0;second_0+;/*延时K*1ms,12.000mhz*/void delay(uint k) uint i,j; for(i=0;ik;i+) for(j=0;j100;j+);/*lcm内部等待函数*/ /从这里到AD前面都是 LCD的驱动程序void lcd_wait(void) DATAPORT=0 xff; /读LCD前假设单片机输出低电平,而读出LCD为高电平,那么冲突,Proteus仿真会有显示逻辑黄色LCM_EN=1; LCM_RS=0; LCM_RW=0; LCM_

27、RW=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();_nop_(); while(DATAPORT&BUSY) LCM_EN=0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); LCM_EN=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_();_nop_();_nop_(); LCM_EN=0;/*写指令到LCM子函数*/void WriteCommandLCM(uchar WCLCM,uc

28、har BusyC) if(BusyC)lcd_wait();DATAPORT=WCLCM; LCM_RS=0; / 选中指令存放器 LCM_RW=0; LCM_RW=0; / 写模式 LCM_EN=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); LCM_EN=0;/*写数据到LCM子函数*/void WriteDataLCM(uchar WDLCM) lcd_wait( ); /检测忙信号 DATAPORT=WDLCM; LCM_RS=1; / 选中数据存放器 LCM_RW=0; / 写模式 LCM_EN=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();_nop_();_nop_(); LCM_EN=0;/*显示指定坐标的一个字符子函数*/void DisplayOneChar(uchar X,uchar Y,uchar DData) Y&=0 x01; X&=0 x0f; if(Y)X|=0 x40; /假设y为1显示第二行,地址码+0X40 X|=0 x80; /指令码为地址码+0

温馨提示

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

评论

0/150

提交评论