基于单片机的脉搏计设计_第1页
基于单片机的脉搏计设计_第2页
基于单片机的脉搏计设计_第3页
基于单片机的脉搏计设计_第4页
基于单片机的脉搏计设计_第5页
已阅读5页,还剩41页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、安徽农业大学毕业论文(设计)论文题目:基于单片机的脉搏仪设计姓名:学号:10168140院系:信息与计算机学院专业:电子信息工程指导教师:职称:教授中国合肥二。一五年五月安徽农业大学学士学位论文(设计)开题报告课题名称基于单片机的脉搏计设计课题来源导师指定学生姓名专业电子信息工程学号10168140指导教师姓名职称教授研究内容1 .核心控制部分:STC89C52勺最小系统设计2 .信号处理部分:LM358的运放与滤波电路3 .结果显示部分:LCD1602的显示原理研究计划1月中4月底调研、查资料。4月初14月中确定系统架构、分析并划分各功能模块的接口。4月底15月初各功能模块的设计与开发以及整

2、个系统的调试与运行。5月初15月中撰写毕业设计论文。特色与创新1 .自主设计,稳定性好。2 .系统具肩较强的实际应用价值。指导教师意见教研室意见学院意见1引言12设计思想23系统硬件选择方案33.1 各模块的选择与论证33.1.1 单片机的选择33.1.2 显示模块的选择33.1.3 传感器的选择43.2 概述54系统的硬件电路设计54.1 设计原理54.2 单片机主控模块54.2.1 单片机引脚和结构64.2.2 STC89C52的中断系统104.2.3 STC89C52的最小系统设计104.3 LCD液晶显示屏114.3.1 液晶显示原理介绍114.3.2 液晶模块简介124.3.3 显示

3、器与单片机的链接124.4 信号的采集与处理134.4.1 光电传感器144.4.2 放大滤波整形电路145系统软件设计165.1 软件流程设计165.2 软件功能设计176系统调试186.1 硬件调试186.2 软件调试196.3 全系统测试196.3.1 整机测试196.3.2 误差分析207结束语21英文摘要22致谢23附录1元件清单24附录2原理图、PCB图与仿真图25附录3程序28基于单片机的脉搏计设计学生:丁超越指导教师:孟浩(安徽农业大学信息与计算机学院中国合肥233036)摘要:本文介绍了一个基于STC89C52单片机的脉搏检测计数系统,该系统以STC89C5劾核心,通过该单片

4、机系统内部的定时器来计算时间,在使用时,光电传感器ST188感应然后产生信号,单片机STC89C5符经过放大滤波以及整形后的信号相加得到脉搏跳动次数。在该检测系统中,还接入了一个LED指示灯,可以通过观察灯的敏感闪烁可以确定测量值是否准确。经过对不同人群的分类检测,该系统工作运行正常,初步达到了在做本设计之前所预想的技术要求。整个系统首先利用红外传感器检测光电信号并将其转换成对应的脉冲信号,然后,将该信号通过整形电路,再经过一次放大电路从而达到对整形后的脉搏信号放大的目的,最后将转换完成的信号输入单片机内,经过处理后,便可以测出每分钟的脉搏跳动次数,并将结果显示在液晶显示屏上。一般来说,我们将

5、10s测得的脉搏数乘6从而得到1min的脉搏数,从而达到减少时间,是整个测量系统方便快捷的目的。关键词:脉搏测量仪,光电传感器,STC89C52LCD显示器1引言我国是一个有着悠久历史和丰富文化的国家。在历史遗产中,中医无疑是一件绚丽的瑰宝。在中医的理论中,四诊“望闻问切”是诊治疾病的首要程序,所谓“切”就是之摸脉象。世界上几乎所有的民族都有通过“切脉”来诊断疾病的历史,脉搏波在波形、波幅、波速和周期等方面提供出的信息在很大程度上反映出人体心血管系统中许多生理和病理与其相关的血流特征,随着人们生活水平的提高,我国的心脑血管疾病的发病率呈逐年上升趋势,其死亡率和致残率均居各种疾病之首,是人类死亡

6、的主要原因之一。因此,脉搏测量工作无论在中医和现代医学上具有至关重要的地位。脉搏测量仪是一种可以快速便捷测量脉搏跳动次数的电子仪器,也是心电图仪的主要组成部分。除此之外,脉搏测量仪还在许多其他领域被广泛利用。如无创心血管功能检测、妊高症检测、脉率监测等等,在商业方面也在不断发展,例如iWatch的上市,智能手表与智能手环越来越进入我们的日常生活。众所周知,这些商品最大的卖点就是心率与脉搏的测算。通过观测脉搏信号的改变,可以及时有效的观察人体健康的变化。此类运动健身器材中心的心率测试都用到了先进的脉搏测量仪10在本设计的测量过程中,由于脉搏跳动原因导致的血液投光新不同,既有脉搏时透光性弱,无脉搏

7、是透光性强。传感器把得到的信号通过运放整形后输入单片机。在本系统中,单片机是核心器件,利用其内部的定时器来计算时间,光电传感器是感应器件,它将测得的信号放大整形后传输给单片机,最后累加信号得到脉搏跳动的次数。2设计思想本系统设计主要实现的目标有:测量脉搏、观察脉搏、测算脉搏、显示脉搏等功能。1)测量脉搏:通过手指来测量感应脉搏跳动。2)观察脉搏:通过发光二级管的亮灭来显示脉搏的跳动规律。3)测算脉搏:通过计算得到1分钟内脉搏跳动的次数。4)显示脉搏:通过发光二极管吧脉搏跳动次数显示出来。基于单片机STC89C52勺脉搏计由电源电路、复位电路、STC89C52tI片机、晶振、脉搏感应电路、信号处

8、理电路、显示电路和观察脉搏跳动的发光二极管组成。图2-1本设计系统框图3系统硬件选择方案本系统的总体设计由单片机、LCD1602光电传感器ST18&运放模块等构成。图3-1系统运行流程图3.1 各模块的选择与论证本设计的主要模块主要包括主控单片机模块、显示模块、传感器模块。下面对各个模块的选型进行初步论证。3.1.1 单片机的选择对于单片机的选型有两种初步方案。采用TI公司在1996年推向市场的MSP43原列单片机,该单片机具有16位超低功率的混合信号处理器,在它的内部集成了很多电路。包括模拟电路、数字电路、和微处理器,这些集成电路提供了非常强大的功能。但是它的价格比较昂贵,在一般的开

9、发设计中不适合使用它。采用51单片机系列。所有兼容Intel8031指令系统的单片机统称为51单片机,此系列的单片机具有高的可靠性、低廉的价格、高性能已经无法解密等特点的高性能8为单片机,它具有32个IO接口。其中STC系列单片机可以实现在线编程、在线调试的功能。在程序下载与调试的过程中运用非常方便。综上所诉,结合调试方便和性价比高的特点,本设计选用了方案二中的51系列单片机作为主控单片机模块。3.1.2 显示模块的选择在显示模块的选择中,有三种初步方案。采用三位数码管作为显示器,三位数码管可以以共阴和共阳两种显示方式作为区别。但是无论是共阴还是共阳,在接入系统时都需要连接限流电阻和7段译码7

10、4LS245的相对应驱动段。所以在调试时,存在许多障碍。采用由八行八列的发光二极管所组成的点阵式数码管,这种数码管对于显示文字来说,是非常合适的。但是价格相对昂贵,单纯的显示数字会显得过于浪费采用LE躁码管动态扫描。这种数码管对于显示文字来说,也是非常合适的。而且价格也相对便宜。采用动态扫描法,在与单片机进行连接时占用的单片机口线也相对较少。但也正是由于采用的是动态扫面法,所以需要借助74LS164进行移位,而74LS164在电路的调试过程中经常会出现很多问题。方案四:采用LCD液晶显示屏,总所周知,在显示大量文字、图形方面,液晶显示屏具有非常强大的显示功能。在本设计中,需要显示所测脉搏的数据

11、和单位,液晶显示屏再合适不过,而且性价比相对较高。没有其他附加电路,这会给调试过程中带来许多方便。综上所述有,综合显示多样清晰、调试简单快捷、价格可以接受的特点,本设计选用方案四中液晶显示屏中的LCD1602乍为显示模块。3.1.3 传感器的选择提到测量脉搏,我首先想到的是中医的切脉,通过感知脉搏的震动来检测脉搏的脉象。于是想到了压力传感器。但在实际制作过程中,发现由于每个个体的身体状况不同,手腕处的皮肤状况也不相同,这就给压力传感器提出了巨大而苛刻的条件。经过很多次的尝试,还是无法解决由于个体不同而造成的传感器检测灵敏度不同的难题。后来孟浩老师提出采用光电传感器来检测人体脉搏信号的方案。上文

12、提到,每个体由于年龄、性别、种族已经所从事的工作轻重不同,手腕处相应的皮肤状况也就不同。但是有一点,那就是皮肤组织都是相同的,其中手指组织由非血液组织和血液组织组成。非血液组织包括皮肤骨骼等,由于它们的光吸收率都是恒定的,在这里就不做探究了。对于血液组织,相对于动脉血,静脉血的搏动是非常薄弱的,在检测过程中把它忽略,单纯的认为光透过手指后的变化仅仅是因为动脉血的充盈造成的。因此,在恒定波长的光源照射下,通过检测透过手指的光强将可以间接测量到人体的脉搏信号网。加之此类传感器购买起来相对方便,也很廉价,也就不再做进一步的选型和论证了。在光电传感器的选型方面,我查阅了很多资料,最终选择了光敏三极管S

13、T188作为本设计的光电传感器使用。它的工作原理是:当光照射到PN结上时,被吸收的光能会转换成电能,。当在此三极管上接入方向电压,内部的电流就会随着光照增大而增大403.2 概述经过不断的选型以及对其进行相应的论证,初步选择STC89C52乍为单片机、LCD1602作为显示屏、12M晶振作为时钟标准模块、LM358作为运放模块、ST188作为传感器模块。在使用时:只需把手指指腹放在光电传感器ST188上面,在人体脉搏跳动过程中,由于血液的透光性不同,这就会导致接收器接收到的信号强弱不同。冉将接受到的信号通过整形电路和放大电路对信号进行处理后,传回单片机的IO口,然后单片机通过运算和换算得到此人

14、在规定时间内的脉搏跳动次数,最终将结果显示在LCD1602s示屏上。4系统的硬件电路设计4.1 设计原理经过上文的论证选型处理已经对元器件的选择,本设计的初步工作原理为:利用USB合整个系统供电;主控模块单片机,对整个系统进行对应的控制;ST188对脉搏进行检测;LM358对检测得到的信号进行放大的整形,之后传入单片机;LCD1602液晶显示屏用来显示最终的测量结果;晶振模块给单片机提供了标准的始终,以使它协调的控制各个模块的工作;复位电路提供复位功能,以便在使用时不需要开断电源;二极管通过自身的亮灭以便使用者更好的观测脉搏的跳动。下面分别对主要模块进行设计说明。4.2 单片机主控模块单片机模

15、块在本设计中作为核心主控模块出现,在系统中,它起统筹作用,结合各个模块最终实现脉搏的测量和显示工作。在本设计中,综合使用条件和价格,我选用了STC89C5蚱为主控单片机使用。随着HOMSfe术的飞速发展,Intel公司在48系列单片机的基础上,设计推出了51系列单片机。后来随着核心设计被出售,市面上逐渐出现各种以51为内核而且兼容51指令的单片机。本设计中用到的STC89C5BST偿司的一款单片机产品,该单片机有功耗低的特点;在微控制器方面,它具有高性能的CMOS微控制器;还配备了8k在系统可编程的flash存储器。4.2.1 单片机引脚和结构STC89C5”共有40个引脚,其中包括:4个8位

16、并行共32位的I/O口线;五个中断源,其中包括四个外部中断,一个7向量4级中断结构(可兼容51的传统5向量级2级中断结构);全双工异步用行口;16位定时器2个等等。具体的引脚图如图4-1所示,基本的组成框图如图4-2所示。T2/PL0T2EX/F1.1P1,2P1.3P1.4FL5Pl.SP1,7RSTRXD/P3.0TKD/P3.iINTD/P3.2IHT1/P3.3TO/P3.4T1/P3.5呷PM,6RD/P3.7XTAL2XTAL1VSS098765443333301234Av-9-11-1121X32109873333222vccPO.O/ADUPO.1/ADiPO.2/AD2PO.

17、3/AD3PC.4/ADF0.5/AD5PO.6/AH&PO.7/AD7&ALE/PROGPSENP2.7/AL5P2.6/AL4P2.5/AL3P2.4/AL2P3.3/AL1P2.2/Alt)P2.1/A9PE.0/A图4-1STC89C52引脚图:一图4-2STC89C52基本组成框图该单片机的每个引脚功能如下:1 .时钟电路引脚XTAL1和XTAL2XTAL2(18脚):接外部晶体和微调电容的一端;片内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体固有频率。若需采用外部时钟电路时,该引脚输入外部时钟脉冲。要检查振荡电路是否正常工作,可用示波器查看XTAL2端是否

18、有脉冲信号输出。XTAL1(19脚):接外部晶体和微调电容的另一端;在片内它是振荡电路反相放大器的输入端。在采用外部时钟时,该引脚必须接地7o2 .控制信号弓I脚RST,ALE,PSE用DEARST/VPD(9脚):RST是复位信号输入端,高电平有效。当此输入端保持备用电源的输入端。当主电源Vcc发生故障,降低到低电平规定值时,将+5V电源自动两个机器周期(24个时钟振荡周期)的高电平时,就可以完成复位操作。RST引脚的第二功能是VPD即接入RST端,为RAM提供备用电源,以保证存储在RAM中的信息不丢失,从而合复位后能继续正常运行。ALE/PROG(30脚):地址锁存允许信号端。当8051上

19、电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率fOSC的1/6。CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。平时不访问片外存储器时,ALE端也以振荡频率的1/6固定输出正脉冲,因而ALE信号可以用作对外输出时钟或定时信号。如果想确定8051/8031芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出。如有脉冲信号输出,则8051/8031基本上是好的。ALE端的负载驱动能力为8个LS型TTL(低功耗甚高速TTL)负载。此引脚的第二功能PROGft对片内带有4KBEPROM8751编程写入(固化程序)时,作为编程脉冲输入端。PSEN(29脚):程序存

20、储允许输出信号端。在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。此引肢接EPROM勺OE端(见后面几章任何一个小系统硬件图)。PSEN端有效,即允许读出EPROMROMfr的指令码。PSEN端同样可驱动8个LS型TTL负载。要检查一个8051/8031小系统上电后CPU能否正常到EPROMROM中读取指令码,也可用示波器看PSEN端有无脉冲输出。如有则说明基本上工作正常。EA/Vpp(31脚):外部程序存储器地址允许输入端/固化编程电压输入端。当EA引脚接高电平时,CPUR访问片内EPROM/ROM执行内部程序存储器中的指令,但当PC律序计数器)的值超过0FFFH(Xt

21、8751/8051为4K)时,将自动转去执行片外程序存储器内的程序。当输入信号EA引脚接低电平(接地)时,CPU只访问外部EPROM/ROM执行外部程序存储器中的指令,而不管是否有片内程序存储器。对于无片内ROM白8031或8032,需外扩EPROM此时必须将EA引脚接地。此引脚的第二功能是Vpp是对8751片内EPROIW化编程时,作为施加较高编程电压(一般12V21V)的输入端8。3 .输入/输出端口P0/P1/P2/P3:P0口(P0.0P0.7,3932脚):P0口是一个漏极开路的8位准双向I/O口。作为漏极开路的输出端口,每位能驱动8个LS型TTL负载。当P0口作为输入使用时,应先向

22、口锁存器(地址80H)写入全1,此时P0口的全部引脚浮空,可作为高阻抗输入。作输入口使用时要先写1,这就是准双向口的含义。在CPU访问片外存储器时,P0口分时提供低8位地址和8位数据的复用总线。在此期间,P0口内部上拉电阻有效。P1D(P1.0P1.7,18脚):P1口是一个带内部上拉电阻的8位准双向I/O口。P1口每位能驱动4个LS型TTL负载。在P1作为输入口使用时,应先向P1口锁存地址(90H)写入全1,此时P1口引脚由内部上拉电阻拉成高电平。P2口(P2.0P2.7,2128脚):P2口是一个带内部上拉电阻的8位准双向I/O口。P口每位能驱动4个LS型TTL负载。在访问片外EPROM/

23、RAK,它输出高8位地址。P3口(P3.0P3.7,1017脚):P3口是一个带内部上拉电阻的8位准双向I/O口。P3口每位能驱动4个LS型TTL负载。P3口与其它I/O端口有很大的区别,它的每个引脚都有第二功能,如下:P3.0:(RXD)串行数据接收。P3.1:(RXD)串行数据发送。P3.2:(INT0#)外部中断0输入。P3.3:(INT1#)外部中断1输入。P3.4:(T0)定时/计数器0的外部计数输入。P3.5:(T1)定时/计数器1的外部计数输入。P3.6:(WR#必部数据存储器写选通。P3.7:(RD#)外部数据存储器读选通。该单片机的主要性能如下:1. 一个8位的微处理器(CP

24、U)。2 .片内数据存储器RAM(128B),用以存放可以读/写的数据,如运算的中问结果、最终结果以及欲显示的数据等,SST89系列单片机最多提供1K的RAM。3 .片内程序存储器ROM(4KB),用以存放程序、一些原始数据和表格。但也有一些单片机内部不带ROM/EPROM,如8031,8032,80C31等。目前单片机的发展趋势是将RAM和ROM都集成在单片机里面,这样既方便了用户进行设计又提高了系统的抗干扰性。SST公司推出的89系列单片机分别集成了16K、32K、64KFlash存储器,可供用户根据需要选用。4 .四个8位并行I/O接口P0P3,每个口既可以用作输入,也可以用作输出。5

25、.两个定时器/计数器,每个定时器/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。为方便设计串行通信,目前的52系列单片机都会提供3个16位定时器/计数器。6 .五个中断源的中断控制系统。现在新推出的单片机都不只5个中断源,例如SST89E58RD就有9个中断源。7 .一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单机与微机之间的串行通信。8 .片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率为12MHz。SST89V58RD最高允许振荡频率达40MHz,因而大大的提高了指

26、令的执行速度。4.2.2 STC89C52的中断系统TC89C5系列单片机的中断系统有5个中断源,2个优先级,可以实现二级中断服务嵌套。由片内特殊功能寄存器中的中断允许寄存器IE控制CPU否响应中断请求;由中断优先级寄存器IP安排各中断源的优先级;同一优先级内各中断同时提出中断请求时,由内部的查询逻辑确定其响应次序。在单片机应用系统中,常常会有定时控制需求,如定时输出、定时检测、定时扫描等;也经常要对外部事件进行计数。STC89C5单片机内集成有两个可编程的定时/计数器:T0和T1,它们既可以工作于定时模式,也可以工作于外部事件计数模式,止匕外,T1还可以作为用行口的波特率发生器4.2.3 S

27、TC89C52的最小系统设计单片机最小系统有单片机、时钟电路、复位电路组成,时钟电路选用了12MHZ的晶振提供时钟,作用为给单片机提供一个时间基准,其中执行一条基本指令需要的时间为一个机器周期,单片机的复位电路,按下复位按键之后可以使单片机进入刚上电的起始状态。图中10K排阻为P0口的上拉电阻,由于P0跟其他IO10图4-3是单片机图4-3单片机最小系统结构不一样为漏极开路的结构,因此要加上拉电阻才能正常使用最小系统的电路图4.3LCD液晶显示屏上文已经介绍了LCD显示屏的优缺点,本设计中也选择了该显示屏作为最终显示结果的元件。4.3.1 液晶显示原理介绍本设计选用的LCD液晶显示屏是一种液晶

28、显示器,所谓液晶显示器,是一种由于透光度被液晶控制,从而显示色彩。此类显示器的优点是非常出众的,它的明暗是通过有无透光而实现的,所以明暗不变时,就不用考虑刷新率的问题。本系统的LCD显示模块,采用的是点阵式液晶显示屏LCD1602顾名思义是一个16*2的字符型液晶显示模块。所谓点阵式,就是该液晶是由M*N个显示单元组成。在使用时,屏幕上各个显示单元对应着显示RAME的各个字节,因此没一11个字节就和屏上相应位置的亮暗相对应。从而控制显示器上应该显示的内容。4.3.2 液晶模块简介LCD160的核心控制器是HD4478Q该控制器的指令集简单而且功能强大,可以轻松实现字符的基本功能,如闪烁,移动等

29、。LCD1602勺弓I脚图如图4-4所示,LCD1LM1602图4-4LCD1602引脚图液晶寄存器选择控制表如表4-1所小。表4-1寄存器选择控制RSR/W操作说明00写入指令寄存器(清楚屏等)01读busyflag(DB7)、读取位址计数器(DB0DB6值10写入数据寄存器(显示各字形等)11从数据寄存器读取数据4.3.3显示器与单片机的链接单片机与LCD1602I体的链接方式如图4-5所示。12图4-5单片机与显示屏的引脚链接图如图所示,P1.0、P1.1、P1.2与RSR/WEN相连。其中RS是寄存器选择信号,R/W顾名思义是t写信号,EN是片选信号。本模块设计要点如下:显示模块初始化

30、,首先清屏,再设置接口数据位为8位,显示行数为1行,字型为5X7点阵,然后设置为整体显示,取消光标和字体闪烁,最后设置为正向增量方式且不移位10。向LCD的显示缓冲区中送字符,程序中采用2个字符数组,一个显示字符,另一个显示电压数据,要显示的字符或数据被送到相应的数组中,完成后再统一显示.首先取一个要显示的字符或数据送到LCD的显示缓冲区,程序延时2.5ms判断是否够显示的个数,不够则地址加一取下一个要显示的字符或数据。4.4信号的采集与处理生物信号属于低频的微弱信号,脉搏信号是更加微弱的生理信号。又因为测13量环境在外界,所以会存在一定的噪音污染,所以必须将得到的信号通过放大和滤波整形后再输

31、入单片机。从采集到处理到最后输出入下图所示。图4-6信号采集处理流程图4.4.1 光电传感器在上文中已经提到,由于每个人个体情况的不同,所以不能选用压力传感器通过检测手腕处的跳动来检测脉搏。所以我选择了光电ST188!过检测动脉血充盈的情况来检测脉搏信号,并把检测到的信号转换成电信号。具体的工作原理就就会随着人脉搏强图4-7传感器原理图4.4.2 放大滤波整形电路传感器采集的初级信号是非常微弱、不规律而且有干扰的信号,无法满足单片机的要求,因此我选择了LM358勾建了一个放大和滤波电路,这样就可以使传感器采集到的信号经过一系列的放大滤波和最后的整形变成适合的信号传输给单片机。图4-7是整个信号

32、处理电路。14*助拦E心rgwI1帆畦窗-妙OQOGS?QQOQ口。QQQCOOOOQCQQQn/QoooosVOOOOOOOOOOQQO>OOQOCDOOOQDOOO剧Qo口QQ口QBQQQQ口。号口。口口Q。QOOQQQQ§QOOOOOOOOOODODOOQDDOOOQQQOOOQOQooccccCGOQOOocooccQOQGQQQOQO09-puuuo©UQOeetc2gQQUQCOOCeQWUQUQU&3一。30口。017QQUOUWOO后gzoseEcctocecsfc口©Qs口UQOC的UQ0QQ。”-Coes-Qc,09goo5Q0二

33、goK盥黑p。白oes口I1卜EC5CCCCGSIs.c的90UI5。口后抵CCOSGCC®/£cb。QQOQOOQOQOQccccciiilr熊“a3常浣既跣崩。图辫都斗殴¥6+、8+H'璃回而M单搦此赵搦琳Xi'璃回千文工胞用团沙萧明海可'管坐上用辫都斗殴44祭别用牙片口分需方瓶物台固8+因XEQ>9,ora图4-10焊接图正面5系统软件设计5.1 软件流程设计本设计的软件部分,采用C语言作为编程语言。程序的大致思路是利用单片机内部计数器来计算时间,先得出十秒的脉搏次数,然后通过运算得到一分钟内的脉搏次数。软件的总体流程图如图5-

34、1所示。16S)液晶显示流程图(b)单片机计算股搏流程图(c)按键子模块流程图图5-1系统流程图系统在电源接通后,首先进行初始化,以清除参数的初值,当开始测量后,单片机通过在10s内对脉搏进行测算,得到结果后乘以6得到最终真实的脉搏次数,随后在液晶屏幕上显示结果。5.2 软件功能设计从软件的功能上来看,可以把它们分为两种,一类是执行软件,另一类是监控软件。执行软件主要负责完成所设计的功能,如计算功能等等。监控软件主要是用来协调各模块之间的运转,起到统筹作用。在编写程序时,应将执行软件和监控软件分开编写。编写执行软件时,应该先将各个执行模块和其所需要实现的功能了解清楚,然后将此功能和其输入输出分

35、别定义。除此之外还要规划好所牵扯到的数据类型与结构0把上诉问题完成之后,再继续编写监控软件。在编写时,首先应该选择一种17最适合的程序结构。再进一步编写6系统调试6.1 硬件调试本设计主要由传感器模块、信号处理模块、单片机模块和显示模块组成。整个电路繁复,焊接工作量很大。由在焊接的过程中,需非常严谨。在处理电路的交线时,应避免交线的绝缘皮破裂而造成电路短路现象。本设计的PCB图详见附录二所示。在焊接完成后,仍然出现了很多问题,首当其冲的就是没有想到传感器采集的信号真的是十分微弱。最开始的几次尝试单片机都无法检测到采集到的脉搏信号,后来经过查阅医学方面的书籍,和传感器相关的资料,得知了脉搏信号的

36、幅值大约在pV级别,又继续增加了放大倍数后,单片机终于收到了信号,从而解决了问题。在克服了以上种种问题之后,焊接完成了实物,如图6-1所示,经过检测可以实现测量脉搏的功能。18图6-1实物图6.2 软件调试本系统涉及到的软件也十分复杂,首先是单片机的程序代码,其次是LCD显示器的程序。编写完成后,在调试过程中出现了许多问题,加之我软件方面学的不是特别出色,再请教了部分同学和导师之后,终于解决了问题。其中比较突出的问题有:LCD显示不均匀、显示结果数值不对等等问题。最后通过屏蔽子令和重新建立对应解决了这些问题。6.3 全系统测试在解决了上述软硬件问题后,接着对系统进行了实际测量的测试。6.3.1

37、 整机测试焊接完成后,在离学校比较近的安徽医科大学附近随机抽查了50个人进行脉搏检测。检测结果如下。年龄段人数/性别检测是否成功人工检测和本机检测有无误差备注检测无1-105男5女成功1例存在多6次的误差法配合11-205男5女成功成功案例存在土2次的误差皮肤透21-305男5女一人不成功成功案例存在土2次的误差光性不同皮肤透31-405男5女3人不成功成功案例存在土1次误差光性不同皮肤透41-505男5女4人不成功成功案例无误差光性不19表6-1随机检测结果通过实际检测可知,对于年龄较小的人群,由于都是孩子,基本无法配合检测,本设计存在的第一个问题就是无法对年龄过小的待测者进行检测。对于年龄

38、偏大的待测者而言,由于皮肤厚度、粗糙度、等一切个体原因造成的透光性不同,检测的成功率出现了波动,而且出现了误差的状况。下一节将对误差进行分析接着又咨询了十位护士,他们一致表示,由于本产品的传感器对皮肤状况非常敏感,所以这是本设计有待改进的地方。6.3.2误差分析搏次数搏次数1搏次数2搏次数3搏次数4搏次数5656464636563727071696970767675757473818080798180858383858284经过比较本设计测量的结果和用医用听珍器测量的结果。发现两者之间还是存在一定的误差,分析得出原因是:传感器和其他器件本身就是非线性的关系,加之在信号处理的过程中会出现一定的误

39、差。所以,误差存在允许范围内。可以达到最初设计的要求S=sqr207结束语时至今日,整个系统已经运行稳定,毕业设计的工作也告一段落。但仍和我最初的预想有很多差距,本想在里面加入报警系统,但时间长促,留下了遗憾。通过这次毕业设计,我同时也学到了很多课本外的道理,进一步提升了自己的动手能力。本设计主要涵盖了硬件设计和软件设计两个方面的知识。硬件方面一直以来是我主修的方向,这次毕业设计的过程让我对硬件方面有了更深一层的了解,尤其在单片机方面,我学会了自行设计一个单片机的最小系统和加深了对单片接口的认识。其中最最难得的是我通过这样一个过程,学会了正面去面对问题,去解决问题,而不是像以前一样总是在逃避问

40、题。面对问题并想方设法去解决它不仅在电子产品的开发方面有着深远影响,日后的人生路更应该如此。止匕外,我的创新意识也得到了锻炼,我相信在以后的学习工作生活中,我一定会更加熟练的完成任务。参考文献1陈权昌.李兴富.单片机原理及应用M.广州:华南理工大学出版社,2007.8.2李庆亮.C语言程序设计实用教程M.北京:机械工业出版社,2005.3.3杨志忠.数字电子技术M.北京:高等教育出版社,2003.12.4Protel99SE原理图与PCB设计教程M.北京:电子工业出版社,2007.8.5SukLee,KyoungNamHa,KyungChangLee,APyroelectricInfrared

41、Sensor-basedIndoorLocation-AwareSystemfortheSmartHomeJ6V.Yu.Teplov,A.V.Anisimov.ThermostattingSystemUsingaSingle-ChipMicrocomputerandThermoelectricModulesBasedonthePeltierEffectJ,200221英文摘要PulsemeterdesignbasedonsinglechipmicrocomputerChaoyue,Ding(SchoolofInformation&Computer,AnhuiAgriculturalUn

42、iversity,Hefei230036)Abstract:ThispaperintroducesacountingpulsedetectionbasedonSTC89C52single-chipmicrocomputersystem,thesystemwithSTC89C52single-chipmicrocomputerasthecore,throughthesingle-chipmicrocomputersysteminternaltimertocalculatetime,whenuse,photoelectricsensorST188inductionandthengeneratesi

43、gnals,microcontrollerSTC89C52willbecombinedtogetthesignalpulsenumber.Inthetestsystem,butalsoaccesstoaLEDlamp,lampcanbeobservedthesensitivecandeterminewhetherthemeasuredvaluesaccurately.Aftertesting,thesystemrunningnormallywork,achievetheexpecteddesignrequirements.Thewholesystemwerefirstdetectedusing

44、infraredsensorphotoelectricsignalandconvertitintothecorrespondingpulsesignal,andthen,throughtheshapingcircuit,thesignalagainafteramplifyingcircuitsoastoachievetothepurposeofshapingpulsesignalafteramplification,finallywilltransformthecompletesignalinputmicrocontroller,programmingafterprocessing,canme

45、asurethenumberofpulseperminute,andwillbeshowedontheLCDscreen.Ingeneral,wewillbe10softhepulsecountbythepulseofthe6and1min,soastoreducetime,isthepurposeofthewholemeasuringsystemisconvenientandquick.Keywords:Pulsemeasuringinstrument,photoelectricsensor,STC89C52,LCDdisplay22致谢在安徽农业大学的学习生活中,学校和学院无论在教书还是教

46、人方面都给予了我巨大的指引。特别是孟浩老师不仅教会了在做毕业设计时所需要掌握的知识,更加我教会了我面对困难不退缩,勇于面对的精神。他细心的指导和关怀,是我成功做出本设计的关键。在此,我要真诚地像每一个农大人说一声谢谢,衷心感谢你们给我教导和指引。最后我还想说一句,即使这篇论文是我学习生涯的终点,但它绝不会是我学术思考的终点,希望这句话不仅仅只是希望。23附录1元件清单元件数量10uF电容C1120电容C2,C3210uF电容C411uF电容C5,C62LED-R-3mm指示灯D11LCD1602液晶LCD112K电阻R1110K电阻R21330电阻R3,R4,R13320K电阻R5,R6210

47、K电阻R7,R8256k电阻R916.8K电阻R10124K电阻R111100K电阻R121SW-PB按键S11STC89C52单片机U11ST188光电开关U21LM358放大器U3112M晶振Y1124附录2原理图、PCB图与仿真图原理图25仿真图LMD1BL<7EXT>H&artRale089/ninRV2Ik学典器uj8E£SSSBIS3FD.DZADOPQ1/AD1RJ.2/Wpo.araPO4ZAD4FO.BKPQ6ZAE6TO7/AD7?.OOOQ.zLClClU1*XTAL1Pl.2OXTAL,R”PLaT2PI1TOEXFl2PI3PI4F>

48、;k5PSENALE良P2.1/A9P2.2/A1OP23/AI1P24/AI2P2S/A13P2MMdP27/A15P3.(yRXDP31/PX)P32/INTDP33/iNTTP34/WP3LW1P3,6MipF3.7/RD26?RESPACK-3<TEXF=«37X34*33*32ALL工工田五按镇松坡肺槽的施AhoPCB国I。CTgOQ000O0O000Q0OO0tlj»lagor-naa*1K090BScsiQQ000附录3程序#include<reg52.h>调用单片机头文件#defineucharunsignedchar/无符号字符型宏定义变

49、量范围0255#defineuintunsignedint/无符号整型宏定义变量范围065535#include<intrins.h>sbitdq=P1A5;/18b20IO口的定义bitflag_300ms;ucharcodetable_num="0123456789abcdefg"sbitrs=P1A0;/寄存器选择信号H:数据寄存器L:指令寄存器sbitrw=P1A1;/寄存器选择信号H:数据寄存器L:指令寄存器sbite=P1A2;片选信号下降沿触发unsignedchari=0,timecount=0,displayOK=0,rate=0,aa=0;u

50、nsignedinttime6=0;/*1ms延时函数*/voiddelay_1ms(uintq)uinti,j;for(i=0;i<q;i+)for(j=0;j<110;j+);28/* 名称:delay_uint()* 功能:小延时。* 输入:无* 输出:无* /voiddelay_uint(uintq)(while(q-);)/* 名称:write_com(ucharcom)* 功能:1602命令函数* 输入:输入的命令值* 输出:无* /voidwrite_com(ucharcom)(e=0;rs=0;rw=0;P0=com;delay_uint(25);29e=1;del

51、ay_uint(100);e=0;)/* 名称:write_data(uchardat)* 功能:1602写数据函数* 输入:需要写入1602的数据* 输出:无* /voidwrite_data(uchardat)e=0;rs=1;rw=1;P0=dat;delay_uint(25);e=1;delay_uint(100);e=0;)/* 名称:write_string(ucharhang,ucharadd,uchar*p)* 功能:改变液晶中某位的值,如果要让第一行,第五个字符开始显示"abcdef",调用该函数如下write_string(1,5,"abcdef;")30* 输入:行,歹I,需要输入1602的数据* 输出:无* /voi

温馨提示

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

评论

0/150

提交评论