人体脉搏检测装置的设计.doc_第1页
人体脉搏检测装置的设计.doc_第2页
人体脉搏检测装置的设计.doc_第3页
人体脉搏检测装置的设计.doc_第4页
人体脉搏检测装置的设计.doc_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

天津职业技术师范大学Tianjin University of Technology and Education毕 业 设 计专 业: 电子信息工程 班级学号: 0703-15 学生姓名: 朱 煦 指导教师:薛召军 副教授二一一 年 六 月天津职业技术师范大学本科生毕业设计人体脉搏检测装置的设计Design of human pulse detection device专业班级:电信0703学生姓名:朱煦指导教师:薛召军 副教授系 别:电子工程2011年6月摘 要人体脉搏中隐含心脏、内循环、外循环以及神经系统等的动态信息,而人体生理及病理性改变通常会表现为脉搏的变化,因此通过监测脉搏可以对心脑血管、高血压、糖尿病等多种疾病进行评估,同时还可以为某些生理检测技术提供一种生理参考信号。本文主要介绍了红外线脉搏检测装置的具体设计方法。首先利用红外传感器产生脉冲信号,经放大整形后,输入单片机控制模块进行相应的控制,从而测量出一分钟内的脉搏跳动次数。本装置的硬件设计部分可分为传感及放大模块、单片机控制模块和电源模块三部分。传感及放大模块是用红外传感器接收脉搏信号,再经过放大电路进行信号放大。而单片机控制模块则是对接收到的信号进行处理再显示出来。电源模块则是为整个装置提供所需电源。软件设计部分主要是单片机控制模块中处理信号的程序。只有通过程序处理后的信息才是我们所需要的信息。关键词:脉冲信号;单片机;红外传感器ABSTRACTDynamic information of heart, inner loop, outer loop as well as the nervous system are implied in human pulse, and human physiological and pathological changes are usually manifested as changes in pulse, so by monitoring the pulse we can assess many diseases of the cardiovascular, hypertension, diabetes, etc., can also provide a physiological detection physiological reference signal. This paper describes the specific design of infrared pulse detection device. First, the Pulse signal is generated by infrared sensor, go through amplify and sharping circuit, then it is sent into the microcontroller control module to do some corresponding treatment , so as to measure pulse number of times within a minute. Part of the hardware design of the device can be divided into sensor and amplifier module, microcontroller control module and power modules in three parts. Infrared sensor is used to receive the Pulse signal Sensor and amplifier module, amplify the signal through the amplifier. The microcontroller control module is processing the received signal and then displayed. Power supply module is to provide the necessary power for the entire device. Software design part is mainly the program that dealt with signal in the control module. The information which has been processed of the program is that we need. Key Words: Pulse signal; microcontroller; infrared sensorsII目 录1绪论11.1课题背景21.2研究意义22硬件电路设计32.1总体设计思路32.2传感及放大模块42.2.1传感器电路42.2.2检波、放大及信号处理电路52.3单片机控制模块82.3.1单片机基础知识82.3.2控制模块的设计122.4电源模块133软件设计153.1软件流程153.2C语言程序设计174装置测试37结 论38参考文献39附录140附录243致 谢45天津职业技术师范大学2011届本科生毕业设计1 绪论脉搏是临床检查和生理研究中常见的生理现象,包含了反映心脏和血管状态的重要生理信息。人体内各器官的健康状态、病变等信息将以某种方式显现在脉搏中即在脉象中。人体脉象中富含有关心脏、内外循环和神经等系统的动态信息,我们可以通过对脉搏波检测得到的脉波图含有出许多有诊断价值的信息,可以用来预测人体某些器脏结构和功能的变换趋势,如:血管几何形态和力学性质的变异会引起脉搏波波形和波速等性质的改变,而脉搏的病理生理性改变常引发各种心血管事件,脉搏生理性能的改变可以先于疾病临床症状出现,通过对脉搏的检测可以对如高血压和糖尿病等引起的血管病变进行评估。同时脉搏测量还为血压测量,血流测量及其他某些生理检测技术提供了一种生理参考信号。 在医院临床监护和日常中老年保健中,脉搏是一项基本的生命指标,因而脉搏测量是最常见的生命特征的提取。近年来出现的日常监护仪器,如便携式电子血压计,可以完成脉搏的测量。但是这种便携式电子血压计利用微型气泵加压橡胶气囊,每次测量都需要一个加压和减压的过程,存在体积庞大、加减压过程会有不适、脉搏检测的精确度低等缺点。 1.1 课题背景心率是人体中一个非常重要的生命信息, 而传统的脉诊由于其定性化和主观性影响了心率测试的精度, 成为中医脉诊应用、发展和交流中的制约因素。人体脉搏检测装置是医学上一种基础测量仪器,到目前为止已有多年的研发历史。早期,追求的目标主要是心率的测量,再加上提高测量精度、稳定度等,这些也是人们衡量人体脉搏检测装置的技术水平,决定检测出的脉搏心率值准确与否的主要依据。目前这些基本技术日臻完善,成熟。随着科学技术的发展,结合电子科学的日益完善,对脉搏检测也提出了新的要求,例如脉搏传感器灵敏度的提高,从数字LED显示升华到LCD液晶显示,以及原先的简单的数字电路到单片机控制电路的转换。这些要求有的已经实现或者部分实现,但要真正完美的实现这些目标,对于实际生产工艺来说,还有许多工作要做,而不是表面看来似乎发展到顶点了。为了提高对此类生物医学信号的测试精度, 必须结合现代科学技术。目前用于检测心率的仪器很多, 常见的有基于压力传感器、光电传感器、电容传感器和电声传感器等类型的测试装置, 但是对脉搏测试部位的选择没有太大区别, 对于能在指端和手臂血管处进行脉搏精确测量的仪器还是比较少的。随着脉搏传感器和单片机的日益发展,基于单片机的人体脉搏装置,具有测量灵敏度高,实时性好,性价比高的突出特点。1.2 研究意义本课题研究的人体脉搏检测装置,主要涉及脉搏信号的拾取及放大、单片机控制电路和软件设计,以实现脉搏测量。通过该设计,可以实现人体指端和手臂血管处的无创测量, 测试过程简单, 能精确测量出心跳次数, 实现数据显示和上、下限报警功能。并且可以将理论知识运用在设计中,并且熟练编程控制单片机地能力,同时提高分析问题和解决问题的能力。36天津职业技术师范大学2011届本科生毕业设计2 硬件电路设计电子脉搏计是用来测量一个人心脏跳动次数的电子仪器,也是心电图的主要组成部分。由给出的设计技术指标可知,脉搏计是用来测量频率较低的小信号(传感器输出电压一般为几个毫伏),它的基本功能应该是:1)用传感器将脉博的跳动转换为电压信号,并加以放大、整形和滤波;2)在短时间内(10s内)测出每分钟的脉搏数。本设计要求实现在10s内测量lmin的脉搏数,并且显示其数字。成人脉搏数为6080次min,婴儿为90100次min,老人为100150次/min。满足上述设计功能可以实施的方案很多,现提出下面一种方案:1)传感器:将脉搏跳动信号转换为与此相对应的电脉冲信号。2)检波、放大及信号处理电路:整形除去杂散信号,将传感器的微弱信号放大,处理。3)单片机电路:用以保证在基准时间控制下,使6倍频后的脉冲信号送到液晶屏显示电路及报警电路中。并接受命令选择相应测试模式。4)液晶屏显示电路:用来读出脉搏数,并以十进制数的形式由液晶屏显示出来。5)报警电路:对不符合标准的结果发出报警声。6) 电源电路:按电路要求提供符合要求的直流电源。 2.1 总体设计思路总电路设计框图如下图所示:2.2 传感及放大模块2.2.1 传感器电路光敏传感器是最常见的传感器之一,它的种类繁多,主要有:光电管、光电倍增管、光敏电阻、光敏三极管、太阳能电池、红外线传感器、紫外线传感器、光纤式光电传感器、色彩传感器、CCD和CMOS图像传感器等。它的敏感波长在可见光波长附近,包括红外线波长和紫外线波长。光传感器不只局限于对光的探测,它还可以作为探测元件组成其他传感器,对许多非电量进行检测,只要将这些非电量转换为光信号的变化即可。光传感器是目前产量最多、应用最广的传感器之一,它在自动控制和非电量电测技术中占有非常重要的地位。最简单的光敏传感器是光敏电阻,当光子冲击接合处就会产生电流。此传感器就采用了TCRT5000红外光电转换器,作用是通过红外光照射人的手指的血脉流动情况,把脉搏跳动转换为电信号。血液是一种高度不透明液体, 血液中含有大量的血红细胞, 这种细胞具有很强的吸收红外线的功能。因此, 红外线在一般组织中的穿透性要比在血液中大几十倍。当人体动脉血管随心脏周期性地收缩和舒张, 动脉血管的血液容积随之发生变化时, 动脉所在部分的人体组织对于红外光的透射性就会发生变化。这种现象在人体组织较薄的手指尖、耳垂等部位最为明显, 因而取手指作为信号采集部位。其原理电路如下图所示:红外对射电路这里很简单,一个发射,一个接收,左边为发射,右边为接收,当接收收到发射的信号时,接收的RX1的4脚为低电平,当血液流过,有血液挡住TX1发射的红外光时,RX1的 4与3脚不导通,4脚变为高电平,VCC经过电阻R8后到达4脚。瞬间右边的电容导通!2.2.2 检波、放大及信号处理电路检波与放大电路原理图如下图所示:信号从R12流进LM741,然后一直流到LM358。这个是一个简单的放大电路,许多资料上面都有的,非常非常简单的!这个信号的放大倍数是 Vo(V output)=R18/R12*Vi=300K/3K*Vi(V input)=100R12与R18构成一个放大电路的倍数取样。R18在图中的作用是负反馈!R12是输入电阻,后一个LM741也是一样!电阻R14的右边是接VCC的,而R15这一头是接GND的!他们中间的电位就是1/2VCC。其中104主要是滤除干扰的!到了LM358这一级主要是对信号进行调整!这一部分属于RC滤波,滤除高频干扰。然后直接进入LM358的3脚进行放大调整,这里的R21是一个可调电阻,调节这个电阻可以使得信号取得一个稳定的输出临界电压,也就是一个界线吧,意思就是说有一个标准电压,当超过这个标准电压的时候就可以输出,若是低于,则不输出。信号处理部分则是信号从LM358的1脚出来后经过一次倒相,也就是信号1变为0(因为单片机更容易接受0电平的信号),三极管8050是用来倒相用的。图中的D4发光二极管是用来向我们指示现在的信号的工作状态的。当前面有信号进来,经过三极管倒相后,会变为低电平,当这个低电平电压VCC经过R7,流过D1到达结点。所以D1导通发亮,如果该结点为高电平时,按照电压往低处流的原理,两者电压一样,所以不能流通,D1也不能导通发亮。其中R7是限流电阻!同时,这个信号引到单片机的IO/P3.7脚供单片机采集。2.3 单片机控制模块2.3.1 单片机基础知识单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。 早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端1的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。 单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可.用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!.它主要是作为控制部分的核心部件。 它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。1、单片机芯片单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性! 由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。 单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。 可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。2、单片机的硬件特性1、单片机集成度高。单片机包括CPU、4KB容量的ROM(8031 无)、128 B容量的RAM、 2个16位定时/计数器、4个8位并行口、全双工串口行口。 2、系统结构简单,使用方便,实现模块化; 3、单片机可靠性高,可工作到106 107小时无故障; 4、处理功能强,速度快。3、单片机的应用目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 1.在智能仪器仪表上的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。 2.在工业控制中的应用 用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管芯片理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。 3.在家用电器中的应用 可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。 4.在计算机网络和通信领域中的应用 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 5.单片机在医用设备领域中的应用 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。 6.在各种大型电器中的模块化应用 某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。 在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。 7.单片机在汽车设备领域中的应用 单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统,abs防抱死系统,制动系统等等。 此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。2.3.2 控制模块的设计单片机连接电路如下图所示:1)单片机的选择:本设计选用的是STC89C52单片机。STC89C52单片机的引脚共有40个。40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。 电源: VCC - 芯片电源,接+5V; VSS - 接地端; 注:用万用表测试单片机引脚电压一般为0v或者5v,这是标准的TTL电平。但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在0v或者5v。 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 控制线:控制线共有4根, ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 PSEN:外ROM读选通信号。 RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 I/O线 80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。 P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线) 5. P3口第二功能 P30 RXD 串行输入口 P31 TXD 串行输出口 P32 INT0 外部中断0(低电平有效) P33 INT1 外部中断1(低电平有效) P34 T0 定时计数器0 P35 T1 定时计数器1 P36 WR 外部数据存储器写选通(低电平有效) P37 RD 外部数据存储器读选通(低电平有效)2.4 电源模块电源电路如下图所示:天津职业技术师范大学2011届本科生毕业设计3 软件设计3.1 软件流程单片机工作流程图如下图所示: 3.2 C语言程序设计 #include reg51.H#define uchar unsigned char #define uint unsigned int /sfr AUXR=0x8e;/声明AUXR寄存器sbit bell=P20;sbit led1=P21;sbit in1=P32;sbit in2=P33;sbit in3=P34;sbit in4=P37;sbit in5=P35;/测试时间sbit check=P07;/液晶检查位sbit RS=P15 ; /液晶读与写端sbit RW=P16;sbit E=P17;/液晶使能端uchar xuanzhe;/选择成人,小孩,老人!uchar asc_data1;uchar asc_data2;uchar time;/所用的时间uchar palse;/脉搏数uchar time_ms;/MS级时间uchar time_s;/秒级时间uint time_tt;/测试时间bit test_ok=0;/是否开始测试,开始测为1,未开始为0bit et_continue;/定时器是否继续工作,若为1,则继续工作,为0,则结束,不再工作uchar code disk1=Welcome to use.;/uchar code disk2=Start test?;/uchar code disk3=Select A/B/C;/Please get everything readyuchar code disk4=Please get ready;/uchar code disk5=wait:;/pulseuchar code disk6=pulse:;/uchar code disk7=time:;/calculatinguchar code disk8=calculating;/uchar code disk9=Test time;/uchar code disk10=You choose adult;/你选择了成年人uchar code disk11=You choose baby;/你选择了婴儿uchar code disk12=You choose old;/ 你选择了老人uchar code disk13=Pulse: normal;/脉搏正常uchar code disk14=Pulse: abnormal;/脉搏不正常/* 延时t毫秒 */void delay(uint t)uint i;while(t-)/* 对于11.0592M时钟,约延时1ms */for (i=0;i125;i+) /uchar hex_asc(uchar j) if(j10) j=j+0x30;/如果小于10 else j=j+0x37; return j;/void LCD_busy(void) uchar i; do P0=0xff; RS=0;RW=1; E=0; for(i=0;i12;i+) E=1;while(check);/也就是(P0 0x80)=1)就等待;忙,等待void LCD_enable(void)/液晶充许写入命令或者数据 RS=0; RW=0; E=0; LCD_busy(); E=1;void LCD_zhixing(void) RS=1;/执行子程序 RW=0;/准备写入数据 E=0;/执行显示命令void wc51r(uchar j) uchar i; LCD_enable();for(i=0;i100;i+);P0=j;void wc51ddr(uchar j) uchar i; LCD_enable(); for(i=0;i100;i+); P0=j; LCD_zhixing();void LCD_qingping(void) /清屏程序 LCD_enable();/调用写入命令子程序 wc51r(0x01);/清屏;清屏并光标复位 void LCD_init(void) /LCD初始化 uchar i; LCD_enable(); P0=0x01;/清屏LCD_enable(); for(i=0;i50;i+);P0=0x38;/使用8位数据,显示两行,使用5*7字型 LCD_enable(); for(i=0;i50;i+); P0=0x0c;/显示器开,光标不开,不充许闪烁 LCD_enable();for(i=0;i50;i+);wc51r(0x06);/字符不动,光标自动右移一格/void LCD_display(uchar pos, uchar *q)/显示字符串 delay(1); wc51r(pos); while(*q != 0) wc51ddr(*q); q+; /void LCD_char_b(uchar a,b)/显示1个字符 wc51r(a);/地址 wc51ddr(b);/字符 /void LCD_char_d(uchar addr,kk)/显示两个数字 uchar a,b; a=kk /10; b=kk % 10; wc51r(addr);/地址 wc51ddr(hex_asc(a);/数字十位 wc51ddr(hex_asc(b);/数字个位 /void LCD_display1() uchar a,b,c,k; LCD_display(0x83,disk6);/显示palse: k=palse; /这里计算脉搏数,一共是三位,百十,个! a=k/100; k=k % 100; b=k / 10; c=k % 10; wc51r(0x83+6);/地址 wc51ddr(hex_asc(a); /写字符 wc51ddr(hex_asc(b); /写字符 wc51ddr(hex_asc(c); /写字符 LCD_display(0xc4,disk7);/显示time: k=time; /这里计算时间,一共是两位,十,个! b=k / 10; c=k % 10; wc51r(0xc4+5);/地址 wc51ddr(hex_asc(b); /写字符 wc51ddr(hex_asc(c); /写字符 void LCD_display2() /这里仅仅显示脉搏数及时间 uchar a,b,c,k; /LCD_display(0x83,disk6);/显示palse: k=palse; /这里计算脉搏数,一共是三位,百十,个! a=k/100; k=k % 100; b=k / 10; c=k % 10; wc51r(0x83+6);/地址 wc51ddr(hex_asc(a); /写字符 wc51ddr(hex_asc(b); /写字符 wc51ddr(hex_asc(c); /写字符 /LCD_display(0xc4,disk7);/显示time: k=time; /这里计算时间,一共是两位,十,个! b=k / 10; c=k % 10; wc51r(0xc4+5);/地址 wc51ddr(hex_asc(b); /写字符 wc51ddr(hex_asc(c); /写字符 /void LCD_display3() /这里显示时间测试 uchar a,b,c,d; uint k; k=time_tt/60; /这里显示测试时间 a=k / 10; b=k % 10; k=time_tt % 60; /这里显示测试时间 c=k / 10; d=k % 10; wc51r(0xc5);/地址 wc51ddr(hex_asc(a); /写字符 wc51ddr(hex_asc(b); /写字符 wc51ddr(:); /写字符 wc51ddr(hex_asc(c); /写字符 wc51ddr(hex_asc(d); /写字符 /void time_init()/时间初始化 TH0 = 0x4c;/定时器在M晶振下定时方式11.0592M时延时50MS的值/以前是0xfc; TL0 = 0x00; /计数值重装 time_ms=0;/MS级单位清零 time_s=0;/秒级单位清零 time=0;/脉搏时间为10S test_ok=0;/未开始测量 ET0=1;/开定时中断 TR0=1;/开启定时器/void palse_compare() bit warning=0; if(xuanzhe=0x00) /如果选择为成年人 LCD_display(0x80,disk10);/ 显示信息 if(palse=60 palse=90) /如果脉搏数大于60而小于90,则为正常 LCD_display(0xc0,disk13);/显示正常 else LCD_display(0xc0,disk14);/显示不正常warning=1;/需要警告标记 else if(xuanzhe=0x01) /如果选择为婴儿 LCD_display(0x80,disk11);/ 显示信息 if(palse=90 palse=120) /如果脉搏数大于60而小于90,则为正常 LCD_display(0xc0,disk13);/显示正常 else LCD_display(0xc0,disk14);/显示不正常warning=1;/需要警告标记 else /如果选择为老人 LCD_display(0x80,disk12);/ 显示信息 if(palse=100 palse=150) /如果脉搏数大于60而小于90,则为正常 LCD_display(0xc0,disk13);/显示正常 else LCD_display(0xc0,disk14);/显示不正常warning=1;/需要警告标记 if(warning) bell=0; led1=0;/蜂鸣器及指示灯均亮 delay(1000); bell=1; led1=1; delay(1000); bell=0; led1=0;/蜂鸣器及指示灯均亮 delay(1000); bell=1; led1=1; else delay(3000);/不报警 /void palse_count()/脉搏计算 LCD_qingping();/先清屏 LCD_display(0x81,disk8);/显示calculating delay(2000);/显示一定地时间 LCD_qingping();/先清屏 palse=palse*6; time=60;/60S LCD_display1(); delay(2000);/显示两秒脉搏情况 LCD_qingping();/清屏 palse_compare();/脉搏数与正常的数字进行比较 LCD_qingping();/清屏 time=0; t

温馨提示

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

评论

0/150

提交评论