《心搏跟踪记录仪设计说明.doc》由会员分享,可在线阅读,更多相关《心搏跟踪记录仪设计说明.doc(22页珍藏版)》请在三一办公上搜索。
1、I / 22单片机原理与接口技术单片机原理与接口技术 课程设计(论文)课程设计(论文)题目:题目:心搏跟踪记录仪设计心搏跟踪记录仪设计 II / 22课程设计(论文)任务与评语课程设计(论文)任务与评语院(系):电气工程学院 教研室: 学 号学生专业班级课程设计(论文)题目心搏跟踪记录仪设计课程设计(论文)任务由 1 只压力(或声音)传感器来记录心脏搏动情况,代替心电图实现对病人病情的分析。每秒采样 10 次,心搏记录时间达 10 分钟。设计任务:设计任务:1. CPU 最小系统设计(包括 CPU 选择,晶振电路,复位电路)2. 心搏测量传感器选择与信号放大电路设计3. 10 分钟心搏记录 R
2、AM 选择与设计4. 程序流程图设计与程序编写技术参数:技术参数:1噪声测量围:30-130dB2工作电源 220V设计要求设计要求:1、分析系统功能,尽可能降低成本,选择合适的单片机、传感器与模拟量输入电路等;2、应用专业绘图软件绘制硬件电路图和软件流程图;3、按规定格式,撰写、打印设计说明书一份,其中程序开发要有详细的软件设计说明,详细阐述系统的工作过程,字数应在 4000 字以上。进度计划第 1 天 查阅收集资料第 2 天 总体设计方案的确定第 3-4 天 CPU 最小系统设计第 5 天 心搏测量传感器与信号放大电路设计第 6 天10 分钟心搏记录 RAM 选择与设计第 7 天 程序流程
3、图设计第 8 天 软件编写与调试第 9 天 设计说明书完成第 10 天 答辩指导教师评语与成绩平时: 论文质量: 答辩:总成绩: 指导教师签字: 年 月 日III / 22注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算摘 要随着社会的发展与进步,我们的生活节奏也越来越快,面对每天繁忙的工作生活,我们不一定能像以前那样定期抽出时间去为自己身体做一次体检。而事实上我们身体承受的负荷却越来越大,相比于以前我们需要给自己的身体以更多的关注,甚至是时刻了解它的健康状况。身体的健康与否在很多方面都会有所体现。比如一个人的心率值就基本能反映一个人心脏是否正常工作的。大家都知道心脏是我们人体中
4、最重要的器官之一,使我们生命的源动力。所以我们能时刻了解它的状态是很重要的。由于我们平时不一定总是能抽出时间去做体检,所以我们需要一个简单的,便于操作的,可靠性高的心搏跟踪记录仪来帮助我们在短时间测到我们的心率值。让我们能与时了解到我们现在心脏以与身体的状态。关键词:心率值,便于操作,可靠性高,心搏跟踪。IV / 22目 录第 1 章 绪论 11.1 心搏跟踪记录仪概况 11.2 本文研究容 1第 2 章 CPU 最小系统设计 22.1 心律跟踪记录仪总体设计方案 22.2 CPU 的选择 32.3 数据存储器扩展 32.4 复位电路设计 42.5 时钟电路设计 52.6 CPU 最小系统图
5、6第 3 章 心搏跟踪记录仪输入输出接口电路设计 73.1 心搏跟踪记录仪传感器的选择 73.2 A/D 转换器选择 73.3 信号采集电路 83.4 信号比较电路 93.5 A/D 转换电路 93.6 显示电路 103.7 系统总体设计原理图 11第 4 章 心搏跟踪记录仪软件设计 134.1 主程序与中断程序流程图 134.2 测量程序清单 144.3 中断服务子程序设计 14第 5 章 课程设计总结 17参考文献 180 / 22第 1 章 绪论1.1 心搏跟踪记录仪概况在社会飞速发展的今天,人们的物质文化生活得到了极大的提高,但同时多种疾病威胁着人们的生命;而心脏病的发作又是人们难以预
6、防的突发致命疾病,所以健康也被越来越多的人所重视。本设计要解决的问题就是可以测量心率、预防心脏病等心脏方面疾病的心搏跟踪记录仪。心搏是人体的一项重要生理参数,在现代医学中,心搏对于血液循环和心脏功能领域的研究具有重要意义。通过测量人的心搏,便可初步判断人的健康状况。随着人们生活水平的提高,地球环境遭到破坏,多种疾病威胁着人们的生命;而心脏病的发作又是人们难以预防的突发致命疾病。因此,心搏跟踪记录仪很快产生,并得到发展。随着单片机技术的发展、人们的生活节奏加快,设计一种以使用方便为前提,能够快速测出人心搏的心搏跟踪记录仪,不仅是临床者的欲求,也是体育训练者和外出旅游者的需求,因此,心搏跟踪记录仪
7、有着广阔的市场前景。心搏跟踪记录仪是医学中用来测量人体心率的装置,高精度心搏跟踪记录仪的研究开发历来是医学仪器领域的一项重要课题。1.2 本文研究容本文阐述了基于单片机设计的心率计的设计原理与实现方法。以AT89C51单片机为基础,实现了心率计的各种功能。文中详细地描述了心率计的设计过程,包括:取样电路、放大电路、比较电路、A/D转换电路和单片机处理电路和显示电路,同时还提出了基于单片机的编码、译码程序设计流程图。第一步:对本论文的选题的目的和意义以与论文的结构进行了阐述。第二步:介绍了系统整体方案的设计与原理总图,简要的介绍了设计的原理和框图介绍。第三步:详细介绍了系统所需的主要元器件和详细
8、介绍了单片机最小系统,对取样电路、放大电路、比较电路、A/D转换电路和单片机处理电路和显示电路进行了设计。第四步:在硬件设计的基础上,阐述了对软件的设计并介绍了程序计算方法,给出了程序主程序和子程序。第五步:总结本文的研究工作。1 / 22第 2 章 CPU 最小系统设计2.1 心律跟踪记录仪总体设计方案图 2.1 过程原理框图各模块功能:要实现对脉搏的测量,首先要用传感器模块测量得到脉搏信号。信号得到后,因为原始信号比较微弱,需要用放大器模块将其放大到一个合适的幅度。放大后的信号中会夹杂有各种噪声,因此需要经过滤波器模块对其进行滤波处理,以消除噪声,提高信号信噪比。为使信号能够在计数器中实现
9、计数,需要对信号进行整形电路模块处理,将信号由一个不规则信号整理为可用于计数的方波或脉冲信号。信号经过整形后,由于设计要现在短时间测量一分钟心率的功能,需要在计数前对信号通过倍频器模块进行倍频处理,以实现上述功能。经过之前一系列处理后,信号将进入计数器模块进行计数,其中计数器需要用相应的定时器模块配合完成该步骤,定时器模块同样要实现短时间测量一分钟心率的功能。计数器模块输出的信号是可用于显示器模块显示的七位BCD码,将其连入显示器模块显示。同时将该信号送入比较器模块中与预设的数值进行比较,当测量2 / 22值在预设围之外时将通过报警模块电路进行LED灯报警,表示所测得的心率超出正常围。2.2
10、CPU 的选择AT89C51单片机是一种低功耗、高性能、包含4KB的闪速存储器(Flash Memory)的8位CMOS微控制器。这种器件系以ATMEL高密度不挥发的存储技术制造,与工业标准MCS51指令系统和引脚完全兼容。片闪速存储器的程序代码或数据可在线写入,也看通过常规的编程器编程。1234567891011121314151617181920212223242526272829303132333435363738394089C51P1.0P1.1P1.2P1.3P1.0P1.0P1.0P1.0RESETRXD、P3.0TXD、P3.1INT0、P3.2INT1、P3.3T0、P3.4T
11、1、P3.5WR、P3.6RD、P3.7XTAL2XTAL1VSSP2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7PSENALE/PROGEA/VPPVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7.图 2.2 AT89C51 引脚图2.3 数据存储器扩展89C51单片机共有4个8位并行I/O口,这些I/O口一般是不能完全提供给用户使用的,在外部扩展存储器时,提供给用户使用的I/O口只有P1、P3的部分口线。因此在大部分的89C51单片机应用系统中都不可避免地要进行I/O口的扩展。本设计中我们通过74LS373进行扩展。74LS373是一种带三态门的8D锁
12、存器,其管脚示意图如下图2.3a所示。其中D0-D7为8个输入端;Q0-Q7为8个输入端;LE为数据打3 / 22入端:当LE为“1”时,锁存器输出状态同输入状态:当LE“0”时,数据打入端锁存器;为输出允许端:当=0时,三态门打开;=1时,三态门关闭,OEOEOE输出高祖。常用的接口芯片:6116可编程通用并行接口。HM6116有11条地址线(A0-A10)、8条数据线(I/O1-I/O8)、1条电源线、1条接地线GND和3条控制线片选信号CE、写允许信号WE和输出允许信号OE。这3个控制信号的组合控制HM6116芯片的工作方式。6116的引脚如下图2.3b所示。图 2.3a 74LS373
13、 引脚图 图 2.3b 6116 的引脚图2.4 复位电路设计复位电路是使单片机的CPU或系统中的其他部件处于某一确定的初始状态,并从这上状态开始工作,除了进入系统的正常初始化之外,当由于程序运行出现错误或操作错误使系统处于死锁状态时,为了摆脱困境,也需 按复位电路以重新启动。复位电路包括上电复位,按键电平复位,按键脉冲复位。本设计中采用按键电平复位。按键电平复位是通过是复位端经过电阻与VCC电源接通而实现的,如下图:复位信号与其产生:RST引脚是复位信号的输入端,复位信号时高电平有效,其有效时间持续24个振荡脉冲周期(即2个机器周期)以上。4 / 226.2kC10pVC CRESET200
14、VCC.图 2.4 复位电路2.5 时钟电路设计时钟电路由一个晶体振荡器12MHZ和两个33pF的瓷片电容组成。时钟电路产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格工作。振荡电路产生的振荡脉冲并不直接使用,而是经分频后再为系统所用振荡脉冲经过二分频后才作为系统的时钟信号。在二分频的基础上再三分频产生ALE信号,再二分频的的基础上再六分频得到机器周期信号。单片机芯片部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2,在芯片外部通过两个引
15、脚跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器,如图2.5所示。图 2.5 时钟电路2.6 CPU 最小系统图由前几节介绍的基本器件和简单电路,所形成的CPU最小系统如图所示:5 / 22图 2.6 CPU 最小系统6 / 22第 3 章 心搏跟踪记录仪输入输出接口电路设计3.1 心搏跟踪记录仪传感器的选择通过搜集大量压力传感器信息进行综合比对,飞思卡尔的MPX2050D压阻式硅压力传感器能够满足要求。其主要特点如:压力围0到50kPa,温度补偿围0到+85,独有的硅切应力应变片,提供编带式或卷轴式出货封装选项。由于人的血压差围大致为40mmHg-50mmHg,即5.3
16、kPa-6.7kPa,根据传感器灵敏度为0.8mV/kPa知,输出电压变化围为4.24mV-5.36mV;再考虑人的最高血压为200mmHg,即26.7kPa,则最大输出电压为21.36mV。各项指标均满足设计要求。图 3.1 传感器外形图与示意图3.2 A/D 转换器选择ADC0809是4位双积分A/D转换芯片,可以转换输出20000个数字量,有STB选通控制的BCD码输出,与微机接口十分方便.ADC0809具有精度高(相当于14位A/D转换),价格低的优点.其转换速度与时钟频率相关,每个转换周期均有:自校准(调零),正向积分(被测模拟电压积分),反向积分(基准电压积分)和过零检测四个阶段组
17、成,其中自校准时间为10001个脉冲,正向积分时间为10000个脉冲,反向积分直至电压到零为止(最大不超过20001个脉冲).ADC0809为DIP28封装,芯片引脚排列如图3.2所示:7 / 22图 3.2 芯片 ADC0809 引脚图3.3 信号采集电路信号采集电路如图4-2所示。D1与Vb组成压力传感器。因传压力感器输出的点脉冲信号时非常微弱的信号,而且频率很低(如脉搏50次/分钟为0.78Hz,200次/分钟为3.33Hz),并且还伴有各种噪声干扰,故该信号要经过R3、C1低通滤波,去除高频干扰。当传感器检测到较强的干扰时,其输出端的直流电压信号会有很大变化。图3.3 信号采集电路8
18、/ 223.4 信号比较电路电压比较器是一种常用的集成电路。它可用于报警器电路、自动控制电路、测量技术,也可用于V/F 变换电路、A/D 变换电路、高速采样电路、电源电压监测电路、振荡器与压控振荡器电路、过零检测电路等。我们主要介绍其基本概念、工作原理与典型工作电路,电压比较器是对两个模拟电压比较其大小并判断出其中哪一个电压高,如图3.4 所示。图3.4 电压比较器3.5 A/D 转换电路A/D 转换电路如图 3.5 所示。首先输入 3 位地址,并使 ALE=1,将地址存入地址锁存器中。此地址经译码选通 8 路模拟输入之一到比较器。START 上升沿将逐次逼近寄存器复位。下降沿启动 AD 转换
19、,之后 EOC 输出信号变低,指示转换正在进行。直到 AD 转换完成,EOC 变为高电平,指示 AD 转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当 OE 输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。9 / 22图 3.5 A/D 转换器连线图3.6 显示电路LED采用3位8段加提示符的液晶显示模块LCM046,3-4线串行接口,低功耗特性;显示状态功耗为50Ua;省电模式下1uA;工作电压2.7V5.2V。视角对比度可调,显示清晰,稳定可靠,可加背光。AT89C51通过P0.0P0.7与LED连接.图3.6为显示电路:10 / 22图3.6 显示电路3.7
20、系统总体设计原理图心搏跟踪记录仪的总体电路如图 3.7 所示,主要包括取样整型电路,单片机处理电路和显示电路。11 / 2230pF8pF1M23647185U0VbVCC123456789JP1VCCS110uCVCCP1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78RST9P3.0/RxD10P3.1/TxD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17XTAL218XTAL119VSS20P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.
21、4/A1225P2.5/A1326P2.6/A1427P2.7/A1528PSEN29ALE30EA/VPP31P0.7/AD732P0.6/AD633P0.5/AD534P0.4/AD435P0.3/AD336P0.2/AD237P0.1/AD138P0.0/AD039VCC40AT89S5210KR103C12103C1312Y1XTALVCCA1f2g3e4d5A6c8DP7b9a10D1P00P01P02P03P04P05P06P07P00P01P02P03P04P05P06P07P00P01P02P03P04P05P06P07P10P10A1f2g3e4d5A6c8DP7b9a10D
22、2P00P01P02P03P04P05P06P07P11A1f2g3e4d5A6c8DP7b9a10D3P00P01P02P03P04P05P06P07P12P11P12P1310uC210uC11.5KR41.5KR323647185U01.5KR21.5KR1VCC10uC31MR51.5KR6VCCRCVTRVCC QDCTHGND5551MR71MR80.01uFC50.01uFC4VCC100uC6D1D21N40071N4007100uC723647185U01MR91.5KR10VCCVCCVCCA1f2g3e4d5A6c8DP7b9a10D4P00P01P02P03P04P05
23、P06P07P133344IN31IN42IN53IN64IN75START6EOC7D38OE9CLK10VCC11VREF+12GND13D114D215VREF-16D017D418D519D620D721ALE22ADD C23ADD B24ADD A25IN026IN127IN228U?ADC0809CCV55P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7VCCP3.2P3.7P3.6104C20基于单片机设计的数字心率计的设计与实现学院:电气学院姓名:顾维杰指导教师:高娜专业班级:电信06-1班学号:310608030105日期:2010年6月图3.7 系统原理总
24、图12 / 22第 4 章 心搏跟踪记录仪软件设计4.1 主程序与中断程序流程图心搏跟踪记录仪测量程序设计由两部分构成,前半段实现初始化,包括定时器/计数器的初始化、设置堆栈指针以与开中断等。程序的后半段则是启动两个定时器/计数器以与调用显示子程序和语音播报子程序来完成心率值的显示和语音播报。心搏跟踪记录仪测量的程序设计流程图如图 4.1 所示:图 4.1 程序设计流程图4.2 测量程序清单rate:steb et0 ;允许中断开 始定时器/计数器初始化显 示 缓 冲 区 清 零设 置 堆 栈 指 针开 中 断启动CTCO 、CTC1显示(心率值)语音播报心率值结束13 / 22 steb e
25、a steb tr0 steb tr1pctc: mov th0,#15h ;定时器/计数器 0 定时 60ms mov tl0,#0a0h mov th1,#00h mov tl1,#00hmov tmod,#51h ;定时器/计数器 0 定时,工作方式 1 ;定时器/计数器 1 计数工作方式 1 mov 7fh,#0ah ;oah=10 10*60ms=0.6s lcall dis_int ;调用显示子程序 lcall playl ;调用语音播报子程序 ret4.3 中断服务子程序设计中断服务子程序主要有以下三大功能:1、实现 0.6S 定时,初始化中设定定时器/计数器 0 用作定时,定时
26、时间为60ms,同时用存单元 7EH、7FH 配合做计数器,设 7EH、7FH 单元的初始值为0AH(相当于十进制数 10) ,每进入一次中断,将 7EH、7FH 单元容减 1,减为 0时为 0.6s 到(60ms 乘以 10=0.6)。 2、满 0.6s 后,读定时器/计数器 1 中 TL1 的值(每分钟脉搏跳动的次数一般不会超过 255 次) ,即为每分钟脉搏跳动值。为了提高测量的准确性,本设计中采用测三次求平均的方法来获取心率值。这就需要我们定义一个寄存器 R1 的值为 3,每过一个 0.6s,R1 的值减 1,并将 TL1 中的值与上一次测量值 A 中的值相加。当 R1 的值为 0 时
27、,A 中的值就是三次的测量总值,将其值除以 3 就得到了心率值。初始化时将定时器/计数器 1 设置为计数器工作方式。3、将 A 计得的二进制数转换成十进制数,并将之送至显示缓冲区,其中百位数置 60H 单元,十位数和个位数置 61H 单元,以使显示子程序实现每 0.6s 脉搏跳动次数显示。其中单字节二进制数转换成十进制数的设计思路是:将该二进制数先除以 100(64H) ,后在将余数除以 10(0AH) ,即可依次得十进制数的百位、十位和个位。中断服务子程序的程序流程图如图 4.3 所示:CTC0重装初值,7FH单元内容值0AH7FH单元构成的计数器内容减1判断、7FH的内容是否为0判断R1的
28、内容是否为0读TL1的内容TL1中的值与A中的值相加数据转换,将十进制数数字显示调用语音播报子程序返回主程序是是否否R1的内容减114 / 22图 4.3 中断服务子程序的程序流程图中断服务子程序:Ctco:push dph push dpl push accmov th0,#15h ; mov tl0,#0a0h dec 7fhmov a,7fh15 / 22cjne a, #0ffh,ctco1ctco1:mov a,tl1addc a ,r2mon r2,adec r1 mov a,,r1 jnz ctco2 mov b, #03h mov a,,r2 div ab lcall chan
29、 mov tl1,#00h pop accpop dpl pop dphctco2: retichan:mov b,#64h div ab mov 60h,a mov a,#0ah xch ab div ab swap a add a,b mov 61h,a ret16 / 22第 5 章 课程设计总结这次课程设计让我学到了很多的东西。刚刚拿到任务的时候,觉得这个设计很简单,很快就应该能做出来,感觉单片机学的还可以,但实际上还差的很多。我这才发现自己的不足,对常用的模拟和数字芯片积累太少,过多的依赖于单片机。而对传感器的理解和应用都不是太容易。这使得我在传感器上浪费了很多时间和精力。这次设计,
30、也让我们初步接触到了工程上的东西,使我意识到教材知识,主要是一些经典的理论知识和学习方法,而不是直接指导实践的应用技术,我们需要对其深入理解。对于某一种陌生的芯片,要想直接在教材上找到使用方法基本上是不可能的。但是,如果理论知识比较扎实,就会知道它应该属于哪一类器件,应该怎样学习使用它。芯片手册是最可靠的应用指导,要学会怎样从芯片手册中得到与应用相关的信息。通过这次设计,我发现了自己的不足,学到了很多实用的工程知识和技术。这是一次对我们之前所学知识的大检验,我在这个过程中收获很大。17 / 22参考文献1 梅丽凤等编著 单片机原理与接口技术 清华大学 2009.72 晶 主编 Prote199 高级应用人民邮电,20003 于海生编著 微型计算机控制技术 清华大学 2003.44 童诗白 编 模拟电子技术基础 高等教育 1988.55 何立民 编著 MCS-51 系列单片机应用系统设计M 航空天大学出版6 何希才 编 传感器与其应用电路 电子工业 2001.37 方君 编著 在论循环时序电路的简便设计J 机电一体化,20058 余锡存 编著 单片机原理与接口技术M 陕西:电子科技大学,20009 伟 . 单片机原理与应用M. :工业 2002.7-2