《基于单片机的脉搏计-毕业论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的脉搏计-毕业论文.doc(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 嘉应学院 2015 届 电子信息工程 学院本科毕业论文(设计)开题报告表课题名称基于单片机的脉搏仪设计课题类型工程设计指导教师 学生姓名*学 号111100057专 业电子信息工程本课题研究的现状脉搏系统和脉搏信息的研究包括两大方面: 一是理论分析与计算(即建模方面);二是信号检测与分析。从发表的文献来看, 国外在前一方面做了大量的研究, 也早于国内学者; 而国内在后一方面的研究多于国外。对脉搏信号的分析主要包括以下方面:(1)脉搏信号检测与提取用脉搏记录仪器描绘脉搏波图像已有百余年的历史。1860年法国人研制了杠杆脉搏描记器,成为现代脉象描记的基础。脉象仪的总体构成包括脉象信号检测,信号预
2、处理和信号分析三个环节。我国医务界约从50年代初就开始了用西方传来的脉搏描记技术,使脉象图形化。从测量原理上讲,脉象传感器可分为机械式、压电式、光电容式等多种。(2)脉搏信号处理与特征提取目标信号检测的关键是提取信号的特征。在实际中,目标信号总是淹没在大量的杂波或干扰中,而且目标信号的幅值或功率较杂波或干扰信号可能还低得多,这就需要进行有效的信号处理。时域分析法:目前国内对脉象信号的特征提取方法,多数采用时域分析法。时域分析法包括直观形态法、多因素识脉法、脉象速率图法、脉图面积法、直观形态法。学术价值和现实意义传统的脉搏测量采用脉诊方式,中医脉象诊断技术就是脉搏测量在中医上卓有成效的应用,但是
3、受人为的影响因素较大,测量精度不高。 生物医学传感器获取生物信息并将其转换成易于测量和处理信号的一个关键器件。光电式脉搏传感器是根据光电容积法制成的脉搏传感器,通过对手指末端透光度的监测,间接检测出脉搏信号。光电式脉搏传感器具有结构简单、无损伤、可重复好等优点,本文讨论的就是基于光电式脉搏传感器的设计和具体实现。课题类型指:理论研究、实验研究、计算机软件设计、工程设计(实践)等。论文提纲或设计思路论文提纲:1、确定硬件系统的设计方案:(1)、根据系统的功能要求确定选用的元器件;(2)、分配单片机各个IO口地址,以连接对应的元器件,方便控制;(3)、利用 Altium designer软件构建系
4、统的硬件图;2、确定软件部分的设计方案:(1)、确定各部分模块对应要实现的功能,并根据连接图写出对应程序中对应的控制信息,便于软件编写;(2)、用keil软件编写程序,对应各模块功能模块化编写,便于程序的检查和调试;3、利用keil软件生成hex文件,用Altium designer软件绘制电路图4、依照电路图,在电路板上焊接各元件,完成系统实物设计;5、将焊好的电路板反复进行硬件调试和系统整体调试,直到实现系统要求的预定功能。主要参考文献1华玉明.51单片机语言模块化多文件编程方法探讨J.吉林广播电视大学学报,2014(10):59-622赵丽华,张文兰,张永寿.基于单片机的脉搏信号采集电路
5、设计J.中国医学装备,2014,11(4):35-383张心歌.基于单片机的脉搏波采集系统的设计J.硅谷,2014(5):31-324颜晓河,董玲娇,苏绍兴.光电传感器的发展及其应用J.电子工业专用设备,2006(1):59-625施勇.光电传感器原理浅析J.科技创业家,2013(9):5-66程咏梅,夏雅琴.人体脉搏信号检测系统J.北京生物医学工程.2007,25(5): 1-37刘树种,孙书鹰,王春平.单片机和液晶显示驱动器串行接口的实现J.微计算机信息,2007(2):137-1398陈旦花.单片机最小系统的设计与运用J.无线互联科技.2013(10):103-1049于志赣,刘国平,张
6、旭斌.液显LCD1602模块的应用J.机电技术.2009(3):21-2310韩彩霞.单片机C语言的编程探析J.硅谷.2013(22),1-411 李海滨.单片机课程技术设计与项目实例M.北京:第1版.中国电力出版社,2009:11-20指导教师意见指导教师(签名) 教研室主任(签名) 院长(签名) 年 月 日目 录1引言21.1 目的和意义21.2 研究概况及发展趋势综述31.3 本系统主要研究内容42. 总体方案论证与设计52.1主控模块的选型和论证52.2显示模块的选型和论证52.3传感器的选型和论证52.4时钟芯片的选型和论证62.5系统整体设计概述63.系统硬件电路设计73.1主控模
7、块73.1.1 STC89C52单片机主要特性73.1.2 STC89C52单片机的中断系统103.1.3 单片机最小系统设计103.2 LCD液晶显示器简介103.2.1 液晶原理介绍103.2.2液晶模块简介113.2.3液晶显示部分与STC89C52的接口123.3键盘模块设计123.4蜂鸣器模块设计133.5信号采集电路设计133.5.1传感器简介133.5.2放大电路143.5.3整形电路143.5时钟模块的设计143.5.1 DS1302概述153.5.2 DS1302内部RTC 和RAM 地址分配173.5.3 DS1302时钟电路设计194.系统软件设计214.1系统软件总体设
8、计214.2程序设计原理225.系统调试235.1硬件调试235.2软件调试235.3调试结果236.结论24附录26系统整体原理图26元件清单26系统源程序2830 基于单片机的脉搏计摘要:人体脉象中富含有关心脏、内外循环和神经等系统的动态信息。而脉搏的病理生理性改变常引发各种心血管事件,脉搏生理性能的改变可以先于疾病临床症状出现,通过对脉搏的检测可以对如高血压和糖尿病等引起的血管病变进行评估。同时脉搏测量还为血压测量,血流测量及其他某些生理检测技术提供了一种生理参考信号。 本文主要介绍了数字式脉搏计的具体实现方法,利用红外传感器产生脉冲信号,经过放大整形后,输入单片机内进行相应的控制,从而
9、测量出一分钟内的脉搏跳动次数,快捷方便。通过观测脉搏信号,可以对人体的健康进行检查,通常被用于保健中心和医院。系统可以供用户测量当时的脉搏次数,同时还可以设定上限次数和下限次数,当测量的范围超过设定的范围则驱动蜂鸣器报警提醒,除此外用户还可以设定每天闹钟提醒测量,时间可以自行设定.系统主控芯片采用STC89C52,可以把采集到的脉搏信号显示在LCD1602上。关键词:STC89C52,独立键盘,LCD显示管,红外传感器。1 引言1.1 目的和意义 脉搏是由心脏搏动而引起, 经动脉和血流传至远端的桡动脉处, 它携带有丰富的人体健康状况信息。早在公元前7世纪脉诊就成为中医的一项独特诊病方法。但自古
10、以来中医独特的诊断方法及治病的疗效总是笼罩着一层神秘的面纱。中医一直是靠手指获取脉搏信息, 这难免存在许多主观臆断因素, 况且这种用手指切脉的技巧很难掌握,因此人们迫切期望尽早实现脉诊的科学化和现代化。随着传感器技术及计算机处理技术的发展,人们希望能够将现代技术应用于中医脉象诊断,以便更科学、更客观地揭示脉象的实质与特征。另一方面从西医的角度看,近年来人们也试图根据脉搏波的变异性来评价和诊断人体心血管系统的病变,以便能找到一个有效的心血管疾病早期无创诊断的方法。因此,对脉搏信号进行无失真的检测、采集和处理是一项重要而很有意义的基础工作,它是对脉搏信号进一步分析并依此对心脏及动脉血管系统疾病进行
11、预报和诊断的前提。本论文的研究主要是基于这方面来进行的,从客观、物理的角度来诠释人体脉搏系统。心率(Heart Rate):用来描述心动周期的专业术语,是指心脏每分钟跳动的次数,以第一声音为准。在正常情况下,脉率和心率是一致的。正常成年人安静时的心率有显著的个体差异,平均在75次/分左右(60100次/分之间)。初生儿的心率很快,可达130次/分以上。在成年人中,女性的心率一般比男性稍快。健康成人的心率为60100次/分,大多数为6080次/分,女性稍快;3岁以下的小儿常在100次/分以上;老年人偏慢。成人每分钟心率超过100次(一般不超过 160次/分)或婴幼儿超过 150次/分者,称为窦性
12、心动过速。如果心率在 160220次/分,常称为阵发性心动过速。心率低于60次/分者(一般在40次/分以上),称为窦性心动过缓。如心率低于40次/分,应考虑有房室传导阻滞。心率过快超过160次/分,或低于40次/分,大多见于心脏病病人,病人常有心悸、胸闷、心前区不适,应及早进行详细检查,以便针对病因进行治疗。对某些阵发性心率过速或过缓,往往在就医时测试出心率正常,以至使医生无法确诊,所以我们设计出这种可以随时进行心率测量的心率计,不仅可以随时地监测一个人的健康状况,而且为医生对这种病症的确诊提供证据。人体心室周期性的收缩和舒张导致主动脉的收缩和舒张,使血流压力以波的形式从主动脉根部开始沿着整个
13、动脉系统传播,这种波称为脉搏波。脉搏波所呈现出的形态、强度、速率和节律等方面的综合信息,很大程度上反映出人体心血管系统中许多生理病理的血流特征。 传统的脉搏测量采用脉诊方式,中医脉象诊断技术就是脉搏测量在中医上卓有成效的应用,但是受人为的影响因素较大,测量精度不高。无创测量(NoninvasiveMeas2urements)又称非侵入式测量或间接测量,其重要特征是测量的探测部分不侵入机体,不造成机体创伤,通常在体外,尤其是在体表间接测量人体的生理和生化参数。 生物医学传感器获取生物信息并将其转换成易于测量和处理信号的一个关键器件。光电式脉搏传感器是根据光电容积法制成的脉搏传感器,通过对手指末端
14、透光度的监测,间接检测出脉搏信号。光电式脉搏传感器具有结构简单、无损伤、可重复好等优点,本文讨论的就是基于光电式脉搏传感器的设计和具体实现。1.2 研究概况及发展趋势综述脉搏系统和脉搏信息的研究包括两大方面: 一是理论分析与计算(即建模方面);二是信号检测与分析。从发表的文献来看, 国外在前一方面做了大量的研究, 也早于国内学者; 而国内在后一方面的研究多于国外。对脉搏信号的分析主要包括以下方面:(1)脉搏信号检测与提取用脉搏记录仪器描绘脉搏波图像已有百余年的历史。1860年法国人研制了杠杆脉搏描记器,成为现代脉象描记的基础。脉象仪的总体构成包括脉象信号检测,信号预处理和信号分析三个环节。我国
15、医务界约从50年代初就开始了用西方传来的脉搏描记技术,使脉象图形化。近十多年来,已经研制出了许多性能各异的脉象仪,各类脉搏描记器最关键和差异较大的部分就是脉象传感器的研制。从测量原理上讲,脉象传感器可分为机械式、压电式、光电容式等多种。(2)脉搏信号处理与特征提取目标信号检测的关键是提取信号的特征。在实际中,目标信号总是淹没在大量的杂波或干扰中,而且目标信号的幅值或功率较杂波或干扰信号可能还低得多,这就需要进行有效的信号处理。时域分析法:目前国内对脉象信号的特征提取方法,多数采用时域分析法,即在时间方向上分析波动信号的动态特征,通过对主波、重搏前波、重搏波的高度、比值、时值、夹角、面积值的参量
16、分析,找出某些特征与脉象变化的内在联系。时域分析法包括直观形态法、多因素识脉法、脉象速率图法、脉图面积法。直观形态法。频域分析法:频域分析主要是通过离散快速傅里叶变换,将时域的脉搏波曲线变换到频域,得到相应的脉搏频谱曲线,通过频谱曲线的特征分析,从中提取与人体生理病理相应的信息,实现脉象分类。与时域分析不同, 脉搏信号的频域特征可分辨性好, 因此80年代以来国内外一些学者开始在频域内对脉搏信号进行分析, 初步取得了有意义的结果。这种从频域和能量的角度来分析脉搏信号的思想是十分正确的。我们从能量角度研究了几种不同疾病脉搏信号的特征频域特征和差异, 利用频域分析的延伸技术倒谱与同态解卷,首次估计出
17、了人体脉搏系统的传递函数, 分析了脉搏系统的频率特性。时频联合分析法:是把一维信号或系统表示成一个时间和频率的二维函数,时频平面能描述出各个时刻的谱成分。常用的时频表示方法有短时傅立叶变换和小波变换(WT) 。短时傅立叶变换(STFT)方法:是一种广义情形,是一种线性时频表示方法,它依赖于被分析信号的线性特性,即信号的频谱与在数据中提供正弦成分的幅度成线性比例。其最主要的优点是容易实现、计算简洁有效,而它主要的缺陷是时间和频率分辨率在整个时频平面上固定不变。另外的限制是对一个特殊的信号,需要一个特殊的窗才能得到最佳分辨率。小波变换(WT):是另外一种重要的线性时频表示,它在时频平面上具有可变的
18、时间和频率分辨率,把FT 中的正弦基函数修改成在整个时频平面上具有可变时频分辨率的基函数,使得它在高频区域能够提供高的时间分辨率,而在低频区域能够提供高的频率分辨率。小波变换这种独特的能力使其成为分析脉搏这种非平稳信号的有力工具。在目前已知的小波函数中,复值调制的Gaussian 函数是使用最高的小波之一。1.3 本系统主要研究内容本系统设计制作一个基于单片机的脉搏计。能实现以下几种功能:(1)键盘扫描,通过单片机检测用户按下的是哪个按键并执行相应的功能。(2)通过红外传感器把信号提取并通过滤波放大把信号整形成方波给单片机计算一分钟内的脉搏次数。(3)用户可以设置脉搏次数的上限和下限,超过上限
19、或上限单片机会驱动蜂鸣器发响。(4)用户可以设置闹钟时间用来提醒用户定时测量脉搏次数。2. 总体方案论证与设计根据所要实现的功能划分,系统一共需要以下几个模块:主控模块、显示模块、信号采集电路,以下就针对这几个模块的选型和论证进行讨论。2.1主控模块的选型和论证方案一:采用MSP430系列单片机,该单片机是TI公司1996年开始推向市场的一种16位超低功耗的混合信号处理器。其内部集成了很多模拟电路、数字电路和微处理器,提供强大的功能。不过该芯片昂贵不适合一般的设计开发。方案二采用51系列的单片机,该单片机是一个高可靠性,超低价,无法解密,高性能的8位单片机,32个IO口,且STC系列的单片机可
20、以在线编程、调试,方便地实现程序的下载与整机的调试。因此选用方案二中的51系列单片机作为主控芯片。2.2显示模块的选型和论证方案一:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较合适,如采用在显示数字显得太浪费,且价格也相对较高,所以不用此种作为显示。方案二:采用LED数码管动态扫描,LED数码管价格虽适中,对于显示数字也最合适,而且采用动态扫描法与单片机连接时,占用单片机口线少。但是由于数码管动态扫描需要借助74LS164移位寄存器进行移位,该芯片在电路调试时往往有很多障碍,所以不采用LED数码管作为显示。方案三:采用LCD液晶显示屏,液晶显示屏的显示功能强
21、大,可显示大量文字,图形,显示多样,清晰可见,对于本设计而言一个LCD1602的液晶屏即可,价格也还能接受,需要的借口线较多,但会给调试带来诸多方便。所以本设计中方案三中的LCD1602液显示屏作为显示模块。2.3传感器的选型和论证方案一:采用压电传感器用来提取人的脉搏信号,压电传感器是利用某些电介质受力后产生的压电效应制成的传感器。所谓压电效应是指某些电介质在受到某一方向的外力作用而发生形变(包括弯曲和伸缩形变)时,由于内部电荷的极化现象,会在其表面产生电荷的现象。通过此现象可以提取出人的脉搏信号。方案二:采用光电传感器提取人体脉搏信号,授予手指组织可以分成皮肤、肌肉、骨骼等非血液组织和血液
22、组织,其中非血液组织的光吸收量是恒定的,而在血液中,静脉血的搏动相对动脉血是十分微弱的,可以忽略,因此可以认为光透过手指后的变化仅由动脉血的充盈而引起,那么在恒定波长的光源的照射下,通过检测透过手指的光强将可以间接测量到人体的脉搏信号。由于光电传感器较压电传感器容易在一般的地方可以买得到,因此这里选用光电传感器来提取人体脉搏信号。2.4时钟芯片的选型和论证方案一:直接采用单片机定时计数器提供秒信号,使用程序实现时间计数。采用此种方案虽然可以减少时钟芯片的使用,节约成本,但是,实现的时间误差较大。方案二:采用DS1302时钟芯片实现时钟,DS1302是美国DALLAS公司推出的一种高性能、低功耗
23、、带RAM的实时时钟电路,它可以对年、月、日、周、时、分、秒计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与单片机进行通信,并可采用突发一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31*8的用于临时存放数据的RAM存储器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓流充电的能力。主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32.768KHZ晶振作为标准时钟。因此本设计中采用方案二中的DS1302作为时钟模块。2.5系统整体设计概述图
24、1 系统结构框图 STC89C52、按键、LCD1602、光电传感器、时钟模块、运放等构成,系统设有四个按键,可以设置上下限脉搏数,当超过范围的时候单片机会驱动蜂鸣器发响,脉搏测量的时候需要人把手轻轻的按在光电传感器上面,由于人脉搏跳动的时候,血液的透光性不一样会导致接收器那边接收的信号强弱不一样,间接的把人脉搏信号传回,通过运放对其进行放大、整形后连接到单片机的IO口,单片机利用外部中断对其进行计数,最终换算成人一分钟脉搏的跳动次数,最终显示在液晶屏上。除此之外系统还带一个定时提醒测量的时钟功能,用户可以设定闹钟时间。3.系统硬件电路设计3.1主控模块主控模块模块在整个系统中起着统筹的作用,
25、需要检测键盘等各种参数,同时驱动液晶显示相关参数,在这里我们选用了51系列单片机中的STC89C52单片机作为系统的主控芯片。51系列单片机最初是由Intel 公司开发设计的,但后来Intel 公司把51 核的设计方案卖给了几家大的电子设计生产商,譬如 SST、Philip、Atmel 等大公司。因此市面上出现了各式各样的均以51 为内核的单片机。这些各大电子生产商推出的单片机都兼容51 指令、并在51 的基础上扩展一些功能而内部结构是与51一致的。STC89C52有40个引脚,4个8位并行I/O口,1个全双工异步串行口,同时内含5个中断源,2个优先级,2个16位定时/计数器。STC89C52
26、的存储器系统由4K的程序存储器(掩膜ROM),和128B的数据存储器(RAM)组成。STC89C52单片机的基本组成框图见图3-1。图3-1 STC89C52单片机结构图 3.1.1 STC89C52单片机主要特性1. 一个8 位的微处理器(CPU)。2. 片内数据存储器RAM(128B),用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据等,SST89 系列单片机最多提供1K 的RAM。3. 片内程序存储器ROM(4KB),用以存放程序、一些原始数据和表格。但也有一些单片机内部不带ROM/EPROM,如8031,8032,80C31 等。目前单片机的发展趋势是将RAM 和RO
27、M 都集成在单片机里面,这样既方便了用户进行设计又提高了系统的抗干扰性。SST 公司推出的89 系列单片机分别集成了16K、32K、64K Flash 存储器,可供用户根据需要选用。4. 四个8 位并行IO 接口P0P3,每个口既可以用作输入,也可以用作输出。5. 两个定时器计数器,每个定时器计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。为方便设计串行通信,目前的52 系列单片机都会提供3 个16 位定时器/计数器。6. 五个中断源的中断控制系统。现在新推出的单片机都不只5 个中断源,例如SST89E58RD 就有9 个中断
28、源。7. 一个全双工UART(通用异步接收发送器)的串行IO 口,用于实现单片机之间或单机与微机之间的串行通信。8. 片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率为12MHz。SST89V58RD 最高允许振荡频率达40MHz,因而大大的提高了指令的执行速度。图3-2 STC89C52单片机管脚图部分引脚说明:1.时钟电路引脚XTAL1 和XTAL2:XTAL2(18 脚):接外部晶体和微调电容的一端;片内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体固有频率。若需采用外部时钟电路时,该引脚输入外部时钟脉冲。要检查振荡电路是否正常工作,可用示波器查看XTAL
29、2 端是否有脉冲信号输出。XTAL1(19 脚):接外部晶体和微调电容的另一端;在片内它是振荡电路反相放大器的输入端。在采用外部时钟时,该引脚必须接地。2.控制信号引脚RST,ALE,PSEN 和EA:RST/VPD(9 脚):RST 是复位信号输入端,高电平有效。当此输入端保持备用电源的输入端。当主电源Vcc 发生故障,降低到低电平规定值时,将5V 电源自动两个机器周期(24个时钟振荡周期)的高电平时,就可以完成复位操作。RST 引脚的第二功能是VPD,即接入RST 端,为RAM 提供备用电源,以保证存储在RAM 中的信息不丢失,从而合复位后能继续正常运行。ALE/PROG(30 脚):地址
30、锁存允许信号端。当8051 上电正常工作后,ALE 引脚不断向外输出正脉冲信号,此频率为振荡器频率fOSC 的1/6。CPU 访问片外存储器时,ALE 输出信号作为锁存低8 位地址的控制信号。平时不访问片外存储器时,ALE 端也以振荡频率的1/6 固定输出正脉冲,因而ALE 信号可以用作对外输出时钟或定时信号。如果想确定8051/8031 芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出。如有脉冲信号输出,则8051/8031 基本上是好的。ALE 端的负载驱动能力为8 个LS 型TTL(低功耗甚高速TTL)负载。此引脚的第二功能PROG 在对片内带有4KB EPROM 的8751 编程写
31、入(固化程序)时,作为编程脉冲输入端。PSEN(29 脚):程序存储允许输出信号端。在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。此引肢接EPROM 的OE 端(见后面几章任何一个小系统硬件图)。PSEN 端有效,即允许读出EPROMROM 中的指令码。PSEN 端同样可驱动8 个LS 型TTL 负载。要检查一个8051/8031 小系统上电后CPU 能否正常到EPROMROM 中读取指令码,也可用示波器看PSEN 端有无脉冲输出。如有则说明基本上工作正常。EA/Vpp(31 脚):外部程序存储器地址允许输入端/固化编程电压输入端。当EA 引脚接高电平时,CPU只访问片
32、内EPROM/ROM并执行内部程序存储器中的指令,但当PC(程序计数器)的值超过0FFFH(对8751/8051 为4K)时,将自动转去执行片外程序存储器内的程序。当输入信号EA 引脚接低电平(接地)时,CPU 只访问外部EPROM/ROM 并执行外部程序存储器中的指令,而不管是否有片内程序存储器。对于无片内ROM 的8031 或8032,需外扩EPROM,此时必须将EA 引脚接地。此引脚的第二功能是Vpp 是对8751 片内EPROM固化编程时,作为施加较高编程电压(一般12V21V)的输入端。3.输入/输出端口P0/P1/P2/P3:P0口(P0.0P0.7,3932 脚):P0口是一个漏
33、极开路的8 位准双向I/O口。作为漏极开路的输出端口,每位能驱动8 个LS 型TTL 负载。当P0 口作为输入口使用时,应先向口锁存器(地址80H)写入全1,此时P0 口的全部引脚浮空,可作为高阻抗输入。作输入口使用时要先写1,这就是准双向口的含义。在CPU 访问片外存储器时,P0口分时提供低8 位地址和8 位数据的复用总线。在此期间,P0口内部上拉电阻有效。P1口(P1.0P1.7,18 脚):P1口是一个带内部上拉电阻的8 位准双向I/O口。P1口每位能驱动4 个LS 型TTL 负载。在P1口作为输入口使用时,应先向P1口锁存地址(90H)写入全1,此时P1口引脚由内部上拉电阻拉成高电平。
34、P2口(P2.0P2.7,2128 脚):P2口是一个带内部上拉电阻的8 位准双向I/O口。P口每位能驱动4个LS 型TTL 负载。在访问片外EPROM/RAM 时,它输出高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)
35、定时/计数器1的外部计数输入。P3.6:(WR#)外部数据存储器写选通。P3.7:(RD#)外部数据存储器读选通。3.1.2 STC89C52单片机的中断系统STC89C52系列单片机的中断系统有5个中断源,2个优先级,可以实现二级中断服务嵌套。由片内特殊功能寄存器中的中断允许寄存器IE控制CPU是否响应中断请求;由中断优先级寄存器IP安排各中断源的优先级;同一优先级内各中断同时提出中断请求时,由内部的查询逻辑确定其响应次序。在单片机应用系统中,常常会有定时控制需求,如定时输出、定时检测、定时扫描等;也经常要对外部事件进行计数。STC89C52单片机内集成有两个可编程的定时/计数器:T0和T1
36、,它们既可以工作于定时模式,也可以工作于外部事件计数模式,此外,T1还可以作为串行口的波特率发生器。3.1.3 单片机最小系统设计图3-3 单片机最小系统电路图 图3-3为单片机最小系统电路图,单片机最小系统有单片机、时钟电路、复位电路组成,时钟电路选用了12MHZ的晶振提供时钟,根据官网的数据手册,要让晶振起振还要配备2个30PF的电容,时钟电路作用为给单片机提供一个时间基准,其中执行一条基本指令需要的时间为一个机器周期,单片机的复位电路可以对单片机进行复位,按下复位按键之后可以使单片机进入刚上电的起始状态,这里RC电路的作用就是让单片机有个充电的过程,为了保证复位成功电容充放电时间要大于2
37、US,选择了10K和10UF较为常规的值,充放电时间远大于2US。图中10K排阻为P0口的上拉电阻,由于P0口跟其他IO结构不一样为漏极开路的结构,因此要加上拉电阻才能正常使用。3.2 LCD液晶显示器简介由于本设计中要求显示界面显示一些参数,因此这里选用了LCD1602作为界面显示,可以把一些相关的参数进行显示。 3.2.1 液晶原理介绍液晶显示器(LCD)英文全称为Liquid Crystal Display,它一种是采用了液晶控制透光度技术来实现色彩的显示器。和CRT显示器相比,LCD的优点是很明显的。由于通过控制是否透光来控制亮和暗,当色彩不变时,液晶也保持不变,这样就无须考虑刷新率的
38、问题。显示接口用来显示系统的状态,命令或采集的电压数据。本系统显示部分用的是LCD液晶模块,采用一个162的字符型液晶显示模块。 点阵图形式液晶由 M 行N 列个显示单元组成,假设 LCD 显示屏有64行,每行有 128列,每 8列对应 1 个字节的 8 个位,即每行由 16 字节,共 168=128个点组成,屏上 6416 个显示单元和显示 RAM 区 1024 个字节相对应,每一字节的内容和屏上相应位置的亮暗对应。一个字符由 68 或 88点阵组成,即要找到和屏上某几个位置对应的显示 RAM区的 8 个字节,并且要使每个字节的不同的位为1,其它的为0,为1的点亮,为0的点暗,这样一来就组成
39、某个字符。但对于内带字符发生器的控制器来说,显示字符就比较简单了,可让控制器工作在文本方式,根据在LCD 上开始显示的行列号及每行的列数找出显示 RAM对应的地址,设立光标,在此送上该字符对应的代码即可。3.2.2液晶模块简介LCD1602液晶模块采用HD44780控制器,hd44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采用8位或4位并行传输两种方式,hd44780控制器由两个8位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标志(BF),显示数RAM(DDRAM),字符发生器ROMA(CGOROM)字符发生器RAM(CGRAM),地址
40、计数器RAM(AC)。IR用于寄存指令码,只能写入不能读出,DR用于寄存数据,数据由内部操作自动写入DDRAM和CGRAM,或者暂存从DDRAM和CGRAM读出的数据,BF为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,DDTAM用来存储显示的字符,能存储80个字符码,CGROM由8位字符码生成5*7点阵字符160中和5*10点阵字符32种.8位字符编码和字符的对应关系, CGRAM是为用户编写特殊字符留用的,它的容量仅64字节,可以自定义8个5*7点阵字符或者4个5*10点阵字符,AC可以存储DDRAM和CGRAM的地址,如果地址码随指令写入IR,则IR自动把地址码装入AC,同时
41、选择DDRAM或CGRAM,LCD1602液晶模块的引脚图如图3-4所示。图3-4 LCD1602引脚图液晶寄存器选择控制如表3-1。表3-1寄存器选择控制RSR/W操作说明00写入指令寄存器(清除屏等)01读busy flag(DB7),以及读取位址计数器(DB0DB6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据3.2.3液晶显示部分与STC89C52的接口 如图3-5所示。用STC89C52的P0口作为数据线,用P1.2、P1.1、P1.0分别作为LCD的EN、R/W、RS。其中EN是下降沿触发的片选信号,R/W是读写信号,RS是寄存器选择信号本模块设计要点如下:显示模块
42、初始化:首先清屏,再设置接口数据位为8位,显示行数为1行,字型为57点阵,然后设置为整体显示,取消光标和字体闪烁,最后设置为正向增量方式且不移位。向LCD的显示缓冲区中送字符,程序中采用2个字符数组,一个显示字符,另一个显示电压数据,要显示的字符或数据被送到相应的数组中,完成后再统一显示.首先取一个要显示的字符或数据送到LCD的显示缓冲区,程序延时2.5ms,判断是否够显示的个数,不够则地址加一取下一个要显示的字符或数据。图3-5 LCD1602与STC89C52的接口3.3键盘模块设计本按键模块使用的是多位独立按键,按键一端接IO口,一端接地,由于单片机的IO口都有内部上拉,因此当按键没有按
43、下的时候,IO检测到的时候高电平,当按键按下的时候,相当于IO短接地,因此这时候单片机检测到的电平为低电平,通过检测不同时刻的IO口状态就可以判断按下的是那个按键。键盘模块电路图如图3-6所示。图3-6键盘模块电路图3.4蜂鸣器模块设计本设计还带有脉搏超出设定范围报警的功能,当检测到当前的脉搏跳动次数超出用户所设定的上限或者下限的时候,单片机就可以驱动蜂鸣器发声。由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O口是无法直接驱动的,所以要利用三极管开关电路来驱动。本处选用的是8550三极管,它是一个PNP型的三极管,当基极给低电平的时候三极管导通,这时候蜂鸣器发声,当给高电平的时候,三极管关
44、闭,蜂鸣器不发声。蜂鸣器模块的电路图如图3-7所示。图3-7蜂鸣器驱动电路图3.5信号采集电路设计此部分电路的功能是由传感器将脉搏信号转换为电信号,一般为几十毫伏,必须加以放大,以达到整形电路所需的电压,一般为几伏。放大后的信号波形是不规则的脉冲信号,因此必须加以滤波整形,整形电路的输出电压应满足计数器的要求。选择电路:所选放大整形电路框图如图3-8所示。图3-8放大整形电路框图3.5.1传感器简介传感器采用了红外光电转换器,作用是通过红外光照射人的手指的血脉流动情况,把脉搏跳动转换为电信号,其原理电路如图3-9所示。图3-9传感器信号调节原理电路如图3-9中,红外管VD采用ST188。用+5
45、V电源供电,R1取150,R2取33k,当人把手指放在发光二极管和光电二极管之间的时候,光电二极管接收到的信号会随人脉搏强度的变化而变化。3.5.2放大电路图3-10放大滤波电路图3-10为脉搏计的放大滤波信号,由于脉搏信号输出的信号十分微弱,一般在uV级别,除此外输出的信号一般会伴随很大的噪声干扰,因此在这里用LM358搭建起一个放大和滤波电路,其中C4和R8,C5和R7起到的是高通电路,可以隔绝低频干扰,R4和C3,R2和C2起到的是低通滤波的作用,可以隔绝高频干扰。3.5.3整形电路经过放大滤波后的脉搏信号仍是不规则的脉冲信号,且有低频干扰,仍不满足计数器的要求,必须采用整形电路,这里选
46、用了滞回电压比较器,如图3-11所示,其目的是为了提高抗干扰能力。集成运放采用了74HC14,除此外74HC14还接上了一个LED用作指示脉搏跳动的状态。图3-11波形整形电路3.5时钟模块的设计本系统还附带有一个时钟模块,这里除了可以提供时间信息外,用户还可以设定闹钟,到时间点后可以提醒用户定时测量脉搏,本处选用串行日历时钟芯片DS1302。与采用并行总线与单片机进行数据通信的时钟芯片相比,DS1302与单片机的连线大为减少,极大的节省了单片机的系统资源,单片机通过读取DS1302上面的数据可以得到实时时间。3.5.1 DS1302概述DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。低功耗时钟芯片DS1302可以对年、月、日、时、分、秒进行计时,且具有闰年补偿等多种功能。DS1302用于数据记录,特别是对某些具