基于单片机的脉搏测量仪的设计内容摘要:
此图 AT89C2051 内部结构图 12 外 ,从 AT89C2051 内部结构图也可看出 ,其内部结构与 8051 内部结构基本一致(除模拟比较器外) ,引脚 RST、 XTAL XTAL2 的特性和外部连接电路也完全与 51 系列单片机相应引脚一致 ,但 P1 口、 P3 口有其独特之处。 AT89C2051的引脚说明 AT89C2051 是一个有 20 个引脚的芯片 ,与 8051 内部结构进行对比可发现 ,AT89C2051 减少了两个对外端口(即 P0、 P2 口) ,使它最大可能地减少了对外引脚 ,因而芯片尺寸有所减少。 如表 所示: AT89C2051 芯片的 主要 引脚功能为: 1. Vcc:电源电压。 2. GND:地。 3. P1 口 : P1 口是一 8 位双向 I/O 口。 口引脚 ~ 提供内部上拉电阻。 和。 (AIN0)和反相输入( AIN1)。 P1 口输出缓冲器可吸收 20mA 电流并能直接驱动 LED 显示。 当 P1 口引脚写入“ 1”时 ,其可用作输入端。 当引脚 ~ 用作输入并被外部拉低时 ,它们将因内部的上拉电阻而流出电流 (IIL)。 P1 口还在闪速编程和程序校验期间接收代码数据。 4. P3 口: P3 口的 ~ 、 是带有内部上拉电阻 的七个双向 I/0 引脚。 用于固定输入片内比较器的输出信号并且它作为一通用 I/O 引脚而不可访问。 P3 口缓冲器可吸收 20mA 电流。 当 P3 口引脚写入“ 1”时 ,它们被内部上拉电阻拉高并可用作输入端。 用作输入时 ,被外部拉低的 P3 口引脚将用上拉电阻而流出电流 (IIL)。 P3 口还用于实现AT89C2051 的各种功能 ,如下表 101 所示。 P3 口还接收一些用于闪速存储器编程和程序校验的控制信号。 5. RST:复位输入。 RST 一旦变成高电平 ,所有的 I/O 引脚就复位到“ 1”。 当振荡器正在运行时 ,持续给出 RST 引脚两个机器 周期的高电平便可完成复位。 每一个机器周期需 12个振荡器或时钟周期。 6. XTAL1:作为振荡器反相放大器的输入和内部时钟发生器的输入。 7. XTAL2:作为振荡器反相放大器的输出。 13 表 P3 口的功能 端 口引脚 功能 RXD(串行输入端口 ) TXD(串行输出端口 ) INT0(外中断 0) INT1(外中断 1) TO(定时器 0 外部输入 ) T1(定时器 1 外部输入 ) 从上述引脚说明可看出, AT89C2051 没有提供外部扩展存 储器与 I/O 设备所需的地址、数据、控制信号 ,因此利用 AT89C2051 构成的单片机应用系统不能在 AT89C2051 之外扩展存储器或 I/O 设备,也即 AT89C2051 本身即构成了最小单片机系统。 复位电路 时钟电路工作后,在 REST 管脚上加两个机器周期的高电平,芯片内部开始进行初始复位 ,如图 所示: 图 复位电路图 C30 .4 7 u fR11kG NDV C CSs w P B14 振荡电路 本设计晶振选择频率为 12MHz,电容选择 30pF 如图 所示。 经计算得单片机工作胡机器周期为: 12( 1247。 12M) =1us。 光电传感器 简介 光电检测方法具有精度高、反应快、非接触等优点,而且可测参数多,传感器的结构简单,形式灵活多样,因此 ,光电式传感器在检测和控制中应用非常广泛。 光电传感器是各种光电检测系统中实现光电转换的关键元件,它是把光信号(红外、可见及紫外光辐射)转变成为电信号的器件。 光电式传感器是以光电器件作为转换元件的传感器。 它可用于检测直接引起光量变化的非电量,如光强、光照度、辐射测温、气体成分分析等;也可用来检测能转换成光量变化的其他非电量,如零件直径、表面粗糙度、应变、位移、振动、速 度、加速度,以及物体的形状、工作状态的识别等。 光电式传感器具有非接触、响应快、性能可靠等特点,因此在工业自动化装置和机器人中获得广泛应用。 近年来,新的光电器件不断涌现,特别是 CCD图像传感器的诞生,为光电传感器的进一步应用开创了新的一页。 在此次设计中我们采用的是光电传感器中最常见普遍的光敏二极管做红外接收二极管和光面三极管做红外发送三极管。 光敏二极管是最常见的光传感器。 光敏二极管的外型与一般二极管一样,只是图 振荡电路图 C13 0 p FC23 0 p FX T A LX T A L21X L A L 1X T A L 215 它的管壳上开有一个嵌着玻璃的窗口,以便于光线射入,为增加受光面积, PN结的 面积做得较大,光敏二极管工作在反向偏置的工作状态下,并与负载电阻相串联,当无光照时,它与普通二极管一样,反向电流很小( amp。 micro。 A),称为光敏二极管的暗电流;当有光照时,载流子被激发,产生电子 空穴,称为光电载流子。 在外电场的作用下,光电载流子参于导电,形成比暗电流大得多的反向电流,该反向电流称为光电流。 光电流的大小与光照强度成正比,于是在负载电阻上就能得到随光照强度变化而变化的电信号。 光敏三极管除了具有光敏二极管能将光信号转换成电信号的功能外,还有对电信号放大的功能。 光敏三级 管的外型与一般三极管相差不大,一般光敏三极管只引出两个极 —— 发射极和集电极,基极不引出,管壳同样开窗口,以便光线射入。 为增大光照,基区面积做得很大,发射区较小,入射光主要被基区吸收。 工作时集电结反偏,发射结正偏。 在无光照时管子流过的电流为暗电流 Iceo=( 1+β ) Icbo(很小),比一般三极管的穿透电流还小;当有光照时,激发大量的电子 空穴对,使得基极产生的电流 Ib增大,此刻流过管子的电流称为光电流,集电极电流 Ic=( 1+β ) Ib,可见光电三极管要比光电二极管具有更高的灵敏度。 光电传感器检测原理 检测原理是 : 随着心脏的搏动,人体组织半透明度随之改变:当血液送到人体组织时,组织的半透明度减小,当血液流回心脏,组织半透明度则增大;这种现象在人体组织较薄的手指尖、耳垂等部位最为明显 [5]。 因此本设计将 光敏 二极管产生的红外线照射到人体的手指部位,经过手指组织的反射和衰减由装在该部位旁边的光敏三管来接收其透射光并把它转换成电信号。 由于手指动脉血在血液循环过程中呈周期性的脉动变化,所以它对光的反射和衰减也是周期性脉动的 , 于是 光敏 接收三极管输出信号的变化也就反映了动脉血的脉动变化。 故只要把此电信号转换成脉冲 并进行整形、计数和显示 [9],即可实时的测出脉搏的次数。 LED 的综述 在单片机的应用系统中,为了便于人们观察和监视单片机的运行情况,常常 需要用显示器显示运行的中间结果、状态等信息,因此显示器也是不可缺少的外 部设备之一。 显示器的种类很多,从液晶显示、发光二极管显示到 CRT 显示器, 都可以与微机配接。 在单片机应用系统中常用的显示器主要有发光二极管数码显 16 示器,简称 LED 显示器。 LED 显示器具有耗电省、成本低廉、配置简单灵活、安装方便、耐振动、寿命长等优点。 但显示内容有限,不能显示图形,因而 其应用有局限性 [11]。 LED 的结构 LED 数码管显示器是由发光的二极管显示字段组成的。 在单片机应用系统中使用最多的就是七段 LED 数码管,有共阴极和共阳极两种。 七段 LED 数码管显示器有 8 个发光二极管,其中从 a~g 管脚输入显示代码,可显示不同的数字或字符, Dp 显示小数点。 共阴极 LED 数码管显示器的公共端为发光二极管阴极,通常接地,当发光二极管的阳极为高电平时,发光二极管点亮。 共阳极的 LED 数码管显示器的公共端为发光二极管的阳极,通常接 +5V 电源,当发光二极管的阴极为低电平时,发光二极管点亮。 本设计中采用的是 4 位七段共阳极数码管显示器,一共具有 12 个引脚, 4 个位选端, 8个字选端。 图 中所示, 4 是位选端; a~g、 Dp 是字选端。 内部结构如图 所示。 图 4 位数码管引脚分布图 图 4 位共阳极数码管结构图 17 LED数码管的显示方法 静态显示方式是指当显示器显示某一字符时,发光二极管的位选始终被选中。 在这种显示方式下,每一个 LED 数码管显示器都需要一个 8 位的输出口进行控制。 由于单片机本身提供的 I/O 口有限,实际使用中,通常通过扩展 I/O 口的形式解决输出口数量不足的问题。 静态显示主要的优点是显示稳定,在发光二 极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时, CPU 才去执行显示更新子程序,这样既节约了 CPU 的时间,又提高了 CPU 的工作效率。 其不足之处是占用硬件资源较多,每个 LED 数码管需要独占 8 条输出线。 随着显示器位数的增加,需要的 I/O 口线也将增加。 动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。 对于每一位显示器来说,每隔一段时间点亮一次。 显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。 通过调整电流和时间参数,可以既保证亮度,又保证显示。 若显示器的位数不大于 8 位,则显示器的公共端只需一个 8位 I/O 口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个 8 位口(称为段码输出)。 通过比较,我们可以发现 LED 动态显示更加适合本设计,所以就采用此方法。 18 第 四 章 基本结构模块 脉搏波检测电路 传感器由红外发光二级管和红外接收三极管组成。 采用 发光 二极管作为光源时,可基本抑制由呼吸运动造成的脉搏波曲线的漂移。 红外 接收三极管在红外光的照射下能产生电能,它的特性是将光信号转换为电信号。 在本设计中, 红外 接收三极管和 红外 发射二极管相对摆放以获得最佳的指向特性。 从光源发出的光除被手指组织吸收以外,一部分由血液漫反射返回,其余部分透射出来。 光电式脉搏传感器按照光的接收方式可分为透射式和反射式 2种 [8]。 其中透射式的发射光源与光敏接收器件的距离相等并且对称布置,接收的是透射光,这种方法可较好地反映出心律的时间关系。 因此 本系统采用了指套式的透射型光电传感器 , 实现了光电隔离 ,减少了对后级模拟电路的干扰。 结构如图。 信号 采集 电路 图 是脉搏信号的采集电路, U3 是红外发射和接收装置,由于红外发射二极管中的电流越大,发射角度越小,产生的发射强度就越大,所以对 R21 阻值的选取要求较高。 R21选择 270Ω 同时也是基于红外接收三极管感应红外光灵敏度考虑的。 R21 过大,通过红外发射二极管的电流偏小,红外接收三极管无法区别有脉搏和无脉搏时的信号。 反之, R21 过小,通过的电流偏大,红外接收三极管也不能准确地辨别有脉搏和无脉搏时的信号。 当手指离开传感器或检测到较强的干扰光线时,输入端的直流电压会出现很大变化,为了使它不致泄露到 U2B 输入端而造成错误指示 ,用 C C9 串联组成的双极性耦合电容把它隔断 [10]。 图 透射式光电传感器图 19 当手指处于测量位置时,会出现二种情况:一是无脉期。 虽然手指遮挡了红外发射二极管发射的红外光,但是由于红外接收三极管中存在暗电流,会造成输出电压略低。 二是有脉期。 当有跳动的脉搏时,血脉使手指透光性变差,红外接收三极管中的暗电流减小,输出电压上升。 但该传感器输出信号的频率很低,如当脉搏只有为 50 次 /分钟时,只有 ,200 次 /分钟时也只有 ,因此信号首先经 R2 C10 滤波以滤除高频干扰,再由耦合电容 C C9 加到线性放大输入端。 信号放大 放大器的介绍 LM324 是四运放集成电路,它采用 14 脚双列直插塑料封装 .它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。 每一组运算放大器可用图 ,它有 5个引出脚,其中 “+” 、 “ ” 为两个信号输入端, “V+” 、 “V ” 为正、负电源端, “Vo” 为输出端。 两个信号输入端中,Vi(。基于单片机的脉搏测量仪的设计
相关推荐
软件通过向 I/O 设备发出 I/O 标识来请求其对应的数据。 在大多数情况下 I/O 标识是 I/O 点的地址或位号名称。 根据工艺过程绘制、设计画面结构和画面草图。 按照第一步统计出的表格,建立实时数据库,正确组态各种变量参数。 根据第一步和第二步的统计结果,在实时数据库中建立实时数据库变量与 I/O点的一一对应关系,即定义数据连接。 根据第四步的画面结构和画面草图
标准及设计施工指南》、日本的《再生骨料和再生混凝土使用规范》、德国的《在混凝土中采用再生骨料的应用指南》等。 我国在建筑垃圾再生方面的标准规范很不完善,没有一个行业或国家技术标准,对建筑垃圾资源化无法提供系统完善的技术支持。 ( 4) 再生产品及用途 国外建筑垃圾再生产品主要是不同规格品质的骨料,主要用于建筑物地基回填、道路垫层、混凝土结构工程等。 在国外一般仅对再生粗骨料 有利用
的方式,经常联系及沟通信息,定期召开合作联系会进行协调。 项目部与建设单位 签订的工程承包合同在履行过程中发生的矛盾。 我方首先全面履行合同,并主动与建设方协调解决。 项目部与监理代表 工程开工准备,水、电供应施工中的三大控制,施工管理、交工验收以及交通、治安、环保、质量检验等。 我方积极主动联系,互通信息,通过联系会进行协调解决。 同时项目内部加强管理,主动配合监理代表搞好综合管理。
指令 (3) 发送存储器指令 单片机系统 STC89C52RC 性能 STC89C52RC 是 我国宏晶 公司生产的低电压, 高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。 在单芯片上,拥有灵巧 的 8 位 CPU 和在系统可编程 Flash,使得 STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k 字节 Flash
ADC0809 的输入要求是电压量 , 所以在 AD590 的负极接出一个 1kΩ 的电阻 R 和一个 100Ω 的可调电阻 W, 将电流量变为电压量送入ADC0809。 通过调节可调电阻 , 便可在输出端 VT 获得与绝对温度成正比的电压量 , 即 10 mV/K。 图 31 AD590 应用电路图 AD590 +5V VT 10mv/K 100ΩW 1000Ω R 何凡
0)=0) then time_over=39。 039。 else if(time_second=0) then if(time_remain(3 downto 0)=0) then time_remain(7 downto 4)=time_remain(7 downto 4)1。 time_remain(3 downto 0)=1001。 time_second:=59。 else