1、一、题目的要求和意义及所做工作随着科技的不断发展,人们在生活中利用科技给自己带来了许多的好处,于是我们便想着能否设计一个心率测频仪,使大家即便在家中就能方便的测量自己的心率,看自己的身体是否健康,并且省去了在医院排队所浪费的时间,这可是一举多得呀!本人的专业是电子信息工程,对于设计这心率测频仪有一点的信心,并且我相信自己在设计过程中能够更全面地应用单片机、信号的采集与处理、Proteus 软件和 Protel99SE 软件,提高自己的动手能力。研究出这种心率计也能够推动中国科学技术的发展,推动医疗设备的发展。所以,我选择了这个课题。本人所做的工作: 负责单片机的程序设计和 PCB 图的排版.二
2、、方案的设计及具体电路的设计和参数的计算(1)、概述本设计包 5 大模块:稳压电源模块、传感器模块、信号放大整型模块、单片机控制处理模块、显示模块、串口通讯模块。本设计以 51 单片机为核心,把各个模块有机结合成一个整体,以实现无创性人体心率检测功能。以下为各个模块的功能的概述:1、稳压电源模块:提供+5V 直流电压,为各个模块提供稳定纯正的电压。2、传感器模块:根据容积法原理制作光电传感器,以作为人体信号与电信号转换。3、信号放大整型模块:放大传感器接收回的微弱信号,并对其滤波整型以方便处理。4、单片机控制处理模块:利用 51 单片机的高性能对各个模块进行控制并对信号进行处理5、显示模块:使
3、用数码管显示数值(2)、稳压电源模块电源模块有两个方案:1、双电源供电信号放大部分使用运算放大器,利用双电源供电可以方便地使用运算放大器的典型电路。但是需要外置双输出变压器,双稳压电路并为作品增加成本,大大提高了设计制作的难度。同时,由于需要背负重量较大的变压器,降低作品的轻便型。而且负电压并不适合数字电路处理。2、单电源供电单电源供电可以节省负电压稳压电路,而且可以直接利用干电池供电,降低电路设计制作复杂性,但是信号放大处理部分则需要较为复杂的设计。综合上述,对比两方案最终确定使用单电源供电,考虑作品需要用到数字电路,因此使用常用的三端稳压芯片 LM2940 附加上简单的外围电路设计出符合模
4、拟电路和数字电路的+5V 电压。LM2940 是低压差正电压稳压芯片,输入输出压差 的情况也可以正常工作,最大输出电流高达 1A,外围电路简单V5.0方便。如图所示,利用二极管保护输入电源反接烧毁电路;LED 发光二极管作为电源指示灯;高容量电解电容滤除输入输出电压的低频波纹,低容量瓷片电容滤除输入输出电压的高频尖峰脉冲,分别取典型值:470uF/16V 电解电容,0.1uF 瓷片电容。+5V 稳压电源电路图(3)、传感器模块方案分析:光源与光电传感器位置有以下两种安装方式,分别垂直透射法与水平投射法。垂直透射法安装方式是让光由上往下地穿透手指,但是光线必须经过指甲、指尖骨,因此大大降低光的透
5、过性,导致光电传感器接收信号过于微弱。而水平投射法可以避开指甲与指骨某些部分,令光线较为容易地透过指尖,以达到比较高的强度,方便光电传感器接收。综合上述,本传感器模块采用水平投射法的安装方法。本传感器模块采用超高亮度白光散射 LED 作为光源,高敏感度光敏三极管作为光敏传感器。具体实现电路如下图所示。传感器模块电路图(4)、信号放大整形滤波模块由于传感器模块输出的电压信号 ,并且其中夹杂着许多干扰信号。mV40因此信号放大整型模块必须具有大的放大能力与滤波能力。1、信号放大模块电路如图所示:利用运算放大器实现反向比例放大电路。运算放大器在深度负反馈的条件下工作于线性区,根据“虚短”和“虚断”的
6、概念对以上电路进行分析,可得:根据“虚短”概念可得:a 点电压 REFaVfoutinV整理可得:)(ainfaoutR由于 ,则:)(ainfREFVV)(inafoutR设定运算放大器在 的情况下, ,放大器增益 ,则0inVVout250uA取定 ,KR1ma4根据以上设定值计算出各个部分参数:105ffuRA取定 电阻KRf50+-inV outVRREFVfRa信号放大电路2、信号滤波模块 oViV信号滤波电路信号滤波电路由 RC 组成无源滤波器。由于心律值为低频周期信号,需要滤除高频杂波信号,因此设计出低通滤波器(LPF) ,截止频率 Hzf10由图可得: iVfCjR210设iu
7、A0RfH由(4) (5)式变换得:2)/(1HufA由(6)分析得知,增益 决定于 的值,设定电容 ,则:u uFC1fRCf HH212代入参数可得:,取标称值 电阻1593RK6在本系统中采用二阶无源滤波器。3、信号整形模块+-invoutv1REFV2信号滤波电路利用运算放大器超高的开环增益,以此作为电压比较器对信号进行整型。假设使用普通单限比较器,由于输入信号受到干扰或噪声的影响,在门限电压附近上下波动,则输出电压将在高、低电平之间反复跳变,对信号检测会造成不利影响,产生随机误差。为了解决上述问题,可以采用具有滞回特性的比较器。如所示。OHVOLVinLinHVREFL回差值H y
8、s t e r e s is智慧比较器传输特性由滞回比较器特性可得: REFOLinLVRV)(21REFOHinHVRV)(21可得: )(21OLH设定回差值 ,由信号放大部分输出信号电压值 ,令在传VH5.0 Vout2感器无输入时防止误触发,设定参考电压 为 的一半,则 , REFVout REF1,VOH5.3mOL 7)(2121 HROL取精美可调电阻设定得: , K5.1KR5.82VVRVinLEFOLinL .0)(21inHREFHinH 36.1)(21 根据以上参数,设计出信号放大整型模块线路图信号放大整型模块线路图(5)、单片机控制模块AT89C52 芯片的 40
9、个引脚图及其功能为:VCC:供电电压。GND:接地。P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部
10、上拉的缘故。在 FLASH 编程和校验时,P1 口作为第八位地址接收。P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信
11、号。P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3 口作为 AT89C51 的一些特殊功能口, 管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断 0)P3.3 /INT1(外部中断 1)P3.4 T0(记时器 0 外部输入)P3.5 T1(记时器 1 外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)
12、RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。(6)、显示模块选用七段共阴数码管作为数据显示器,单片机 AT89C52 的 P1 口接数码管的a、b、c、d、e、f、g 和 dp 引脚。P3.0P3.2 接 ULN2003 的 1B、2B 和3B,ULN2003 的 1C、2C 和 3C 分别接三个数码管的公共端子 COM2 、COM1 和COM0。当 P3.0P3.2 其中有一个变为
13、高电平时,分别驱动 7SEG2、7SEG1 和7SEG0,此时从 P1 口输出经过单片机处理后的数据数码管就可以显示心率的次数(每分钟送一次数据),其中 P3.3 是对脉冲计数的。8 个 220 的排阻接电源后接 P1 口,作限流用,维持数码管正常显示,当单片机复位时,使 P1 口电平全为高电平。其电路如图 2.9 所示,本部分运用 89C52 单片机作核心元件,在这里运用了单片机能更快更准确地对数据进行运算,而且可根据实际情况进行编程,所用外围元件少,轻巧省电,故障率低。ULN2003 为内置达林顿管集成电路,作动态扫描时的选通驱动用。来自传感下降沿到达时,单片机对两次脉冲间的时间进行运算得
14、出心率,通过 P1 口把结果送到数码管显示出来。同时,对每次脉冲的到来均响铃,与脉搏同步。这样,就可以通过声光的形式和整形输出电路的脉冲电平输入单片机89C52 的 P3.3 脚,单片机设为负跳变中断触发模式,故每次脉冲下降沿到达时触发单片机产生中断并进行计时;当下一次脉冲的形象地把脉搏的快慢显示出来。为避免干扰的影响,单片机对两个脉冲之间的时间间距进行检测,若发现有干扰则忽略该干扰而不显示。三、调试过程遇到的问题与解决的方法。1、在研究过程中由于自己对一些专业知识不够熟悉给自己带来很大的麻烦,比如:单片机原理、Proteus 软件、程序的设计等内容。解决措施:通过去图书馆和上网查找资料,并且
15、进行多次测量,遇到实在不懂的就问老师和同学。2、在做第一份电路时,经常出现的方波看上去失真.解决措施:重新检查电路看是否哪部份接错,如果没错的话,就看电路设计是否有问题可能是噪声放大太多了,然后再重新设计电路,利用先放大后滤波再放大.3、在做第二部分电路时,数码管显示不稳定.解决措施:电源不稳定或者是那个函数发生器不稳定的原因,换台仪器就没问题了.四、课程设计体会在对单片机程序的编写过程中,我犯了很多的错误,经过一次又一次的修改,才能达到我预想的结果,这过程中我感受到了单片机这块内容的博大精深,自己对它的掌握还是远远不够,需要自己继续加深学习和研究,才能有所突破,同时它也让我单片机的各种软件操
16、作一定的了解,为我接下来的实验编程打下了基础。在PCB排版中,我也感受到了要成为一名优秀的技术人员,耐心是必不可少的,这是做好任何事情的前提条件。在这课程设计中确实让我受益匪浅,它增加了我对实验设计的兴趣,我相信在以后的设计中我会做得更好的!参考文献1 http:/ 廖惜春主编 华中科技大学出版社,20082 .http:/ 许秀平主编.20103 http:/ 19954 基于单片机设计的脉搏测量仪 毕业设计论文 作者 不祥5 工程背景下的单片机原理及系统设计刘焕成 20086 传感器与检测技术 彭军 西安电子科技大学出版社 20037基于 Proteus 的单片机可视化软硬件仿真 林志琦北京航空航天大学出版社 2006附录部分程序:ORG 0000HAJMP STARTORG 000BHAJMP TIMEORG 0013H