1.研究的目的与意义
本文将单片机应用于心肺复苏模拟人,并作为核心控制系统。用光电传感器采集数据,并送单片机处理,然后将处理好的数据用数码管显示出来。为了方便受训者操作,增加了按键功能、液晶显示功能,语音提示功能、打印功能。
2.心肺复苏模拟人实施方案
2.1 模拟人的检测结构设计
检测机构如图1 所示。对模拟人进行口对口人工吹气操作时,呼出的气体从进气管7 进入气囊2,气囊2 随即膨胀;光缆板6 与轻质板1 已被螺钉固定成一体,气囊2 的膨胀推动动轻质板1 上移,光缆板6 在轻质板 1 带动下上移;光缆板两侧放置的光电发射管4 和光电接收管5(共有两对发射管、接收管),随着光缆板6 的移动,光电接收管5伴随高低电平的输出即脉冲的输出;采用这种光电传感器检测方式可将光缆板移动的距离转换成脉冲数,从而判断吹气量是否合格。
2.2 光缆板位移检测
通过结构设计,将吹气量、按压深度转化为光缆板的位移量。光缆板的位移又转化为光电传感器的脉冲输出。在光缆板两侧放置光电传感器,并用来检测光缆板的移动。在光缆板的左右移动过程中,当光电传感器处于A 位置时光强较大,BJT 饱和导通,输出低电平;当光电传感器处于B位置时光强较小,BJT 完全截止,输出高电平。
2.3 光缆板位移方向的检测
一个光电传感器,只能测出光缆板的位移大小,却得不出移动的方向。而通过对两个传感器的输出电平作比较,则可以得出光缆板的移动方向。当光缆板向右移动时, B 处的传感器输出的电平波形在相位上超出A 处的90 度;而向左移动时,A 两处的传感器输出的电平波形在相位上超B 处的90 度。将输出的波形通过LM339 比较器后,可得出方波相位图。
图1 系统框图及主要机械机构
1.轻质板 2.气囊 3支架 4、11.光电发射管 5、13.光电接收管 6、12.光缆板 7.进气管 8.排气管 9.压板 10、14弹簧15.底板
3.硬件电路设计
系统采用两片AT89S52 单片机进行控制。如图1 中的控制器部分所示,上位机用来接收按键信息,以及显示语音提示。下位机用来接收光电传感器信息,显示操作数据(包括数码显示模块、液晶显示模块),并与打印机相连。
3.1 按键模块
考虑到模拟人的功能和操作的方便性,共设计了复位键、吹气键、按压键、综合操作键、开启语音键、关闭语音键、开始/ 停止键、打印成绩键等8 个键。这些键分别接于上位机的P1 口,且均与P3.3I/O 口连接。
3.2 语音模块
语音芯片采用华邦公司生产的ISD1700 系列芯片,该芯片可以处理多达255 段以上的信息。 ISD1700 通过SPI协议对芯片进行精确控制,只需要4 根口线即可对ISD1700进行控制。本次设计采用的是ISD17240 芯片,振荡电阻为80kΩ,则采样频率为8kHz, 每次录放音时间为240 秒。设计的功能为,语音提示开启的情况下,按下开始键,则给出提示,告诉操作者该怎么去做。
3.3 数码显示模块
根据设计要求,该模拟人系统共需要16 位LED 数码管。
其中,总吹气次数、有效吹气次数、总按压次数、有效按压次数、平均有效按压深度等6 种信息各需两位数码管,平均有效吹气量,操作频率均需三位数码管。这16 位数码管只需用两片HD7279A 芯片即可满足系统设计要求。
3.4 液晶显示模块
液晶显示模块选用的是HS12864-1 液晶模块。该模块是一种图形点阵液晶显示器, 主要由行驱动器/ 列驱动器及格128X64 全点阵液晶显示器组成。可完成图形显示,也可以显示84 个(16x16 点阵) 汉字。液晶模块硬件电路设计中,数据口与P0 口相接,用P2.0-P2.4 控制液晶显示屏。
3.5 打印模块
打印模块采用的是迅普SP 系列打印机,型号为:SP-E1610PK,。SP 系列打印机有并行、串行两种接口方式。
本次设计采用并行接口方式(因为两单片机之间的通讯占用了串行口,为了数据传送方便,故选用并行接口方式),数据口与下位机的P2 口连接。
4.系统软件设计
开始键按下后,数据的处理便开始了。首先上位机把按键信息(包括开始/ 停止信息、选择操作项信息、语音开闭信息)存储在70H 至75H 单元中,然后传送给下位机,信息将存储在70H 至75H 单元中。受训者操作模拟人时,引起光缆板的移动,然后传感器把数据传送给单片机(程序做中断处理)。以按压为例,程序中设置外部中断1 下降沿有效,当INT1=0 时,若P3.5=1 则为向下按压阶段(也有可能是向下按压后的返回阶段,以实际中测试的为准,此处假设为向下按压阶段),存储按压深度的单元值加1;反之,则减1。存储按压深度的单元赋初始值为70H,以防止按压深度小于按压后返回的距离以及其它先减后加等可能造成数据溢出的情况。再则,由于按压深度不会超过70 毫米(由按压结构保证),存储单元中的值每加1 代表按压深度增加2 毫米,那么存储单元中的值不会超过0A5H,也不会超出存储范围。