摘要
在人工点滴输液方式中,对输液速度的测量和控制很不方便,基于此,提出一种新型智能输液速度测控装置。该装置采用红外光电传感器实现了自动检测并显示液体的点滴速度、用键盘设定点滴速度和对异常情况进行声光报警等功能。本系统采用红外光电传感器检测液位信号,通过硬件滤波和保护装置消除杂散光干扰,实现输液速度的计算和显示。该系统工作稳定、响应速度快、操作简便,在医疗卫生领域中具有广泛的应用前景。
关键词:输液速度;自动控制;单片机;报警
I
Abstract
To overcome the shortages of fluid measurement and speed control of transfusion in the therapy,an intelli-gent speed control system for transfusion is present.The device is the use of infrared photoelectric sensor to achievethe measurement of droplet and the liquid level,and use a total collector capacitance amplifier circuit,filtering circultand hysteresis comparision circuit in order to realize signal processing.The system is able to achieve the fluid speed of calculation and display.As well as forced alarm at the process of transfusion and automatic alarm at the end of transfusion.The main structure is of character novel design and small size easy to operate. the system has the following advantages,such as less power consumption and safe and reliable usage.
Key words:infusion rate;Auto-detection and auto-control;single-chip microcomputer;alarm
II
目录
摘要 ........................................................................ I Abstract ................................................................... II 第1章 绪论 ................................................................ 1
1.1 国内外智能点滴输液控制系统的研究现状 ................................ 1 1.2 本设计所要完成的主要工作 ............................................ 1 第2章 系统硬件方案的设计 .................................................. 3
2.1 系统硬件组成 ........................................................ 3 2.2 系统部分硬件分析 .................................................... 3 2.3 系统组成模块分析 .................................................... 7 2.4 滴速检测模块 ........................................................ 7
2.4.1 液滴探测原理 ................................................... 7 2.4.2 液滴滴速检测电路 ............................................... 9 2.5 液面检测 ........................................................... 11 2.6 键盘及显示模块 ..................................................... 11 2.7 步进电机控制模块 ................................................... 14
2.7.1 步进电机控制电路 .............................................. 14 2.7.2 电机控制的执行结构 ............................................ 15 2.7.3 系统任务调度 .................................................. 16 2.8 报警电路 ........................................................... 16 第3章 系统的软件设计与实现 ............................................... 18
3.1 软件总体设计 ....................................................... 18
3.1.1 软件计数器的设计 .............................................. 18 3.2 软件各模块的设计 ................................................... 19
3.2.1 键盘识别及扫描模块 ............................................ 19 3.2.2 点滴速度检测模块 .............................................. 20
III
3.2.3 报警模块 ...................................................... 21 3.2.4 步进电机控制模块 .............................................. 21
第4章 结论 ............................................................... 23 参考文献 ................................................................... 24 结束语 ..................................................................... 25 致谢 ....................................................................... 26 附录Ⅰ 程序清单 ........................................................... 27 附录Ⅱ 键盘及显示电路控制图 ............................................... 35
IV
第1章 绪论
1.1 国内外智能点滴输液控制系统的研究现状
国外对智能型输液装置的研制较早,如日本、美国和德国等国家上世纪80年代末就进行了智能型输液装置的研制,现在市场上流行的大多是国外产品,类型多样,性能较好,如日本JMS株式会社的OT-601型输液泵(控制精度为10)和SP-500型注射泵,美国、德国、以色列等国家也有性能较好的产品。
国内对输液装置的研制起步较晚,大都在90年代中期开始研究,市场上也有一些国产输液装置,如北京科力丰高科技发展有限责任公司的ZNB系列产品,深圳康福特公司也有输液装置产品。不过总体来说,种类较少,性能也需改进。实际上,十几年前我国就已开始引进国外的输液泵—一种多功能输液控制器,它可以精确地控制输液速度,并实现输液阻塞、气泡混入和输液完成报警。毫无疑问,这是一种很好的输液管理器械,但因其成本较高及使用不便等因素,仅在大中型医院有少量应用。当然目前国内已有同类产品出现,但因其功能也是侧重于精确输液控制,加上依然不菲的价格,所以也只能是和进口输液泵争一点市场份额,而未能在各级医院大面积的普及推广。由于精确输液只对少数特殊病人和特殊药品才具有实际意义,而且规范操作下,输液阻塞、气泡混入是可以避免的,因此,在输液过程中,输液完成报警问题就成为人们最为关注的问题,以至输液报警器的研制成了近几年来的一个热门课题。根据近期对国家知识产权局专利信息的查询,目前已有67种输液完成报警器专利技术,但由于各专利技术或多或少都存在着这样或那样的缺陷,诸如安全性、可靠性、成本及操作方便程度等问题,致使真正转化为产品的专利并不多。据不完全统计,目前仅有北京、西安、广州、山东菏泽等地区推出了该类产品,转化率不足专利技术的1/10,而且临床应用推广情况不太理想,其原因可能就与客户对这些技术或产品本身的安全性、可靠性、操作的方便与否以及价格等因素的认可有关。作为一种医疗器械,安全性、可靠性是基础,作为一种只有普及到每一位输液病人才有实际意义的产品,使用方便和足够低的价格又是一种基本要求,所以,这种产品即便安全性、可靠性得到了充分保证,但如果没有简便的操作和足够低的价格作支撑,要想顺利推广是不可能的。
1.2 本设计所要完成的主要工作
本输液速度自动控制装置的设计能实现多种功能,具体如下: 1.可对输液速度进行精确的实时检测和显示;
- 1 -
2.当输液速度与设定速度不相等时,该装置能通过步进电机的控制对输液速度进行调节;
3.当液位过低、电机进夹琐死、电机退夹琐死和键盘操作不规范时可发出报警。
- 2 -
第2章 系统硬件方案的设计
2.1 系统硬件组成
根据装置功能要求,本装置主要分成三大部分。输入部分包含储液瓶液面高度的检测电路(固定在储液瓶警戒位处监测储液瓶内液面的高度),液体点滴速度的检测电路(固定在滴斗处检测点滴速度);键盘输入电路(液体的种类,设定滴数的输入);控制部分选择了英特尔公司的MCS-51系列单片机中基本的产品80C52;输出部分包含储液瓶液面报警电路(包含声光两种报警),步进电机驱动电路,数码管显示电路(8个数码管,分别显示液体的种类,设定点滴速度(滴/min)和实际点滴速度(滴/min)),组成框图如图2.1所示。
输入部分 控制部分 输出部分 信号采集系统1(液滴) 信号采集系统2(液面) A/D 转换 单片机控制系统80C52 电机驱动系统 驱动 步进电机 控制 液晶显示 输液软管 键盘控制按钮 报警通信系统
图2.1 系统总体框图
2.2 系统部分硬件分析
本系统由输液器、光电传感器、信号处理电路、单片机控制系统(软件和硬件)、步进电机及驱动电路、机械传动轴承、报警通信系统、液晶显示和控制键盘等部分组成,分析如下:
1 单片机:单片机自问世以来,以极其高的性能价格比,受到人们广泛的欢迎,应用很广。一般的智能仪器都采用8位微处理器,例如8080,6800,Z80, 6500及MCS-51单片机等系列。这些微处理器成本适宜、软件成熟,并具有种类齐全的支持芯片。
美国英特尔公司的MCS-51单片机是把那些作为控制应用所必须的基本内容都集成在一个尺寸有限的集成电路芯片上。如果按功能划分,它由如下功能部件组成,即微处理器
- 3 -
(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O口(P0口、P1口、P2口、P3口)、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。但对各种功能部件的控制是采用特殊功能寄存器(SRF-Special Function Register)的集中控制方式。下面对各功能部件作进一步的说明:
(1)微处理器(CPU):MCS-51单片机中有1个8位的微处理器,与通用的微处理器基本相同,同样包括了运算器和控制器两大部分,只是增加了面向控制的处理功能,不仅可处理字节数据,还可以进行位变量的处理。例如:位处理、查表、状态检测、中断处理等。
(2)数据存储器(RAM):片内为128个字节(52子系列的为256个字节),片外最多可外扩至K字节,用来存储程序在运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等,所以称为数据存储器。128个字节的数据存储器为高速RAM的形式集成在单片机内,以加快单片机运行的速度,而且这种结构的RAM还可以降低功耗。
(3)程序存储器(ROM/EPROM):8031无此部件;8051为4K字节ROM;8751则为4K字节EPROM。由于受集成度,片内只读存储器一般容量较小(4K~8K字节,C55为20K字节),如果片内只读存储器的容量不够,则需用扩展片外只读存储器,片外最多可外扩至K字节。
(4)中断系统:具有5个中断源,2级中断优先权。
(5)定时器/计数器:片内有2个16位的定时器/计数器,具有四种工作方式。在单片机的应用中,往往需要精确的定时,或对外部事件进行计数。为提高单片机的实时控制能力,因而需在单片机内部设置定时器/计数器。
(6)串行口:1个全双工的串行口,具有四种工作方式。可用来进行串行通讯,扩展并行I/O口,甚至与多个单片机相连构成多机系统,从而使单片机的功能更强且应用更广。
(7)P0口、P1口、P2口、P3口:为4个并行8位I/O口。
(8)特殊功能寄存器(SFR):共有21个,用于对片内各功能部件进行管理,控制,监视。实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。
本次毕业设计选用80C52单片机作为主机电路的组成部分。80C52是一种低功耗,高性能的片内含有4KB的闪烁可编程/可擦除只读存储器的8位CMOS单片机,并且与MCS-51引脚和指令系统完全兼容。芯片上的FPEROM允许在线编程或采用通用的编程器对其重复
- 4 -
编程。
2.A/D转换:A/D转换器(ADC)的作用就是把模拟量转换成数字量,以便于计算机进行处理。根据A/D转换器的原理可将A/D转换器分成两大类。一类是直接型A/D转换器,另一类是间接型A/D转换器。在直接型A/D转换器中,输入的模拟电压被直接转换成数字代码,不经任何中间变量;在间接型A/D转换器中,首先把输入的模拟电压转换成某种中间变量(时间、频率、脉冲宽度等等),然后再把这个中间变量转换为数字代码输出。
A/D转换器的主要技术指标包括:(1)转换时间和转换速率,A/D完成一次转换所需要的时间为转换时间,转换时间的倒数为转换速率。并行式A/D转换器转换时间最短约为20-50ns,速率为(50-20)×106次,双极性逐次逼近式转换时间约为0.4us,速率为2.5M;(2)分辨率,A/D转换器的分辨率习惯上用输出二进制位数或BCD码位数表示。例如AD574 A/D转换器,可输出二进制12位,即用2个数进行量化,其分辨率为1LSB。(3)转换精度,A/D转换器的转换精度定义为一个实际A/D转换器与一个理想A/D转换器在量化值上的差值。可用绝对误差或相对误差表示。
单片机控制ADC时,多数采用查询和中断控制两种方法。查询法是在单片机把启动命令送到ADC之后,执行别的程序,同时对ADC的状态进行查询,以检查ADC变换是否已经结束,如查询到变换已结束,则读入转换完毕的数据。
中断控制法是在启动信号送到ADC之后,单片机执行别的程序。当ADC变换结束并向单片机发出中断请求信号时,单片机响应此中断请求,进入中断服务程序,读入转换数据,并进行必要的数据处理,然后返回到原程序。这种方法单片机无需进行转换时间的管理,CPU效率高,所以特别适合于变换时间较长的ADC。
如果对转换速度要求高,采用上述两种ADC控制方式往往不能满足要求,可采用DMA(直接存储器存取)的方法,这时可在ADC与单片机之间插入一个DMA接口(例如Intel公司的8237DMA控制器)。传输一开始,AD转换的数据就可以从输出寄存器经过DMA中的数据寄存器直接传输到主存储器,因而不必受程序的。
ADC0809工作过程如下:首先用指令选择ADC0809的一个模拟输入通道,当执行MOVX @DPTR,A 时,产生一个启动信号给START引脚送入脉冲,开始对选中通道转换。当转换结束后发出结束信号,置EOC脚为高电平,该信号可作为中断申请信号;当读到允许信号OE端有高电平,则可以读出转换的数字量。利用 MOVX A,@DPTR把该通道转换结果读到A累加器里。
3.键盘接口:键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,
12- 5 -
是人工干预单片机的主要手段。键盘输入应解决的问题包括三点,一是了解键盘输入的特点,二是按键的确认,三是如何消除按键抖动。键盘实质上是一组按键开关的集合。通常,键盘所用开关为机械弹性开关,均利用了机械触点的合、断作用。一个电压信号通过机械触点的断开、闭合过程会有一个抖动期(呈现一串负脉冲),抖动时间长短和开关的机械特性有关,一般为5~10ms,稳定的闭合期时间由按键动作所确定,一般为十分之几秒。键的闭合与否,反映在行线输出电压上就是呈现出高电平或低电平,如果高电平表示断开的话,那么低电平则表示键闭合,所以通过对行线电平的高低状态的检测,便可确认按键按下与否。为了确保CPU对一次按键动作只确认一次按键,必须消除抖动的影响。消除按键抖动通常采用硬件、软件两种方法。
硬件消除抖动一般采用双稳态消抖电路。双稳态消抖电路是用两个与非门构成一个RS触发器,当按键未按下时,输出为1,当按键按下时,输出为0。此时即使因按键的机械性能,使按键因弹性抖动而产生瞬时不闭合,只要按键不返回原始状态,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形输出。
如果按键较多,硬件消抖将无法胜任,因此常用软件的方法进行消抖。在第一次检测到有键按下时,执行一段延时10ms的子程序后再确认该键电平是否仍保持闭合状态电平,如果保持闭合状态电平则确认为真正有键按下,从而消除了抖动的影响。
4.显示:LCD(Liiquid Crystal Display)是液晶显示器的缩写,液晶显示器是一种被动式的显示器,具有功耗低,抗干扰能力强等优点,被广泛应用到仪器仪表和控制系统中。显示资料RAM提供2个位元组的空间,最多可以控制4行16个字的中文字型显示,当写入显示资料RAM时,可以分别显示CGROM、HCGROM与CGRAM的字型;ST7920A可以显示三种字型,分别是半宽的HCGROM字型、CGRAM字型及中文CGROM字型,三种字型的选择,由在DDRAM中写入的编码选择,在0000H-0006H的编码中将自动的结合下一个位元组,组成两个位元组的编码达成中文字型的编码(A140-D75F),各种字型详细编码如下:
显示半宽字型:将8位元资料写入DDRAM中,范围为02H-7FH的编码。
显示CGRAM字型:将16位元资料写入DDRAM中,总共有0000H, 0002H, 0004H, 0006H四种编码。
显示中文字型:将16位元资料写入DDRAM中,范围为A1A1H-F7FEH的编码。 5.报警:在单片机测控系统发生故障或处于某种紧急状态时,单片机系统应能发出报警信号,报警信号可分为闪光报警、鸣音报警和语言报警。闪光报警可用某一I/O口线驱动LED闪烁,只要该I/O口线发出具有一定频率的高低电平信号,即可使LED闪烁。
- 6 -
鸣音报警接口有两种:一种是蜂鸣音报警,另一种是音乐报警。蜂鸣音报警的发音器件常采用压电式蜂鸣器。压电式蜂鸣器约需10mA的驱动电流,因此,可以使用TTL系列集成电路7406或7407低电平驱动;也可以用一个晶体三极管驱动。
2.3 系统组成模块分析
驱动控制模块是系统的核心部分,用来对采集的信号做出判断,并做出响应,发出控制信号。系统控制驱动模块电路图如图2.2所示。主控器件采用美国ATMEL公司的80C52单片机,内部带有8KB的Flash存储器,不用外扩程序存储器,使系统结构简化,降低成本。单片机P0口用于LCD字符型液晶显示器的控制端口。4×4键盘与P1口相连,用于参数输入和命令输入;P2口用于步进电机的驱动和声光报警器的控制及向值班室报警。为了避免电网掉电对输液过程的影响,系统中附加了电池作为备用电源。
信号采集模块中,信号采集系统1负责检测液滴滴速信号。经过电路处理后,将信号输送到单片机中,通过判断滴速来驱动电机转动,调整滴速。信号采集系统2负责检测液面的高低,一旦低于警戒高度,就会驱动电机转动,关闭输液管,停止输液,发出声光报警,并通过报警通信系统向值班室发送报警信号。控制按钮可以预制液滴滴速、输液总量和输液间隔时间等。液晶显示系统显示液滴滴速和输液量。液滴滴速通过机械夹子的松紧来调整,机械夹子通过步进电机的正反转动来调整松紧。
键盘 液晶显示 P1 P0 电源 VCC 备用电源 P2 步进电机 驱动电路 RXD 80C52 报警控制电路
图2.2 系统控制驱动模块电路图
2.4 滴速检测模块
2.4.1 液滴探测原理
- 7 -
由于红外发射接收传感器具有量程宽、功耗低、寿命长、体积小、测量精度高、灵敏度好、避免与被测物直接接触且安装方便等优点,在监控和通信系统中有广泛应用,因此本系统采用红外发射接收传感器。采用红外传感器测量点滴速度,在滴斗处对输液速度进行测量,如下图2.3所示。光电检测器用的是普通的红外发射接收对管,需要做的工作是把红外发射和接收管正对着固定在滴斗两侧。红外发射管在恒定电源驱动下发射一定频率的恒定红外线,红外线经过对管间的间隙时,由接收管接收。
当有液滴通过对管间隙时,由于液滴对光线吸收和散射作用,引起红外发射管发出的红外线透过液滴时接收端光功率发生变化,光电接收管将变化的光信号转化为变化的电信号输出,由于电信号非常微弱,应放大到一定幅度且通过消除干扰,再经过比较器整形得到与点滴同频方波,把整形后的脉冲信号输出到单片机上,通过单片机来计算其变化的次数。
图2.3 液滴探测示意图 采用光传感技术实现对药液滴速的测量。将红外发射-接收对管固定在墨菲氏管(俗称滴壶)的两侧,红外发光二极管发出红外光,光线透过墨菲氏管照射到光电三极管,光电三极管将接收到的光信号转换成脉动信号输出。
液滴检测电路,主要由红外发射、接收、脉冲整形三部分组成,如图2.4所示。红外发射管在恒定的电源驱动下发射一定频率的恒定红外线,当发射管和接收管之间没有液滴通过时,接收管导通,输高电平;当有液滴通过时,接收管的能力不同程度地下降,输出不规则的负向脉冲,每一个液滴产生一个这样的不规则的负向脉冲,负向脉冲数目与液滴数目为一一对应的关系。所以可以认为液滴产生的负向脉冲数目就是所滴下的液滴数。Vin输出的不规则的负向脉冲信号加在电压比较器LM358的反相输入端,可变电阻W1为LM358的正相输入端提供一可调节的门限电压Vt,经由LM358比较器后,Vin就整形成为一串规则的
- 8 -
矩形正向脉冲Vout,波形输出如图2.5所示,其中低电平对应光路中有液滴通过,高电平
+5VR1200R2100KR38KVinVoutLM358R410KL1 施密特触发电路 图2.4 液滴检测电路
对应光路中无液滴通过。该脉冲输出端要加上一个施密特触发器将输出脉冲波形整形后再输入单片机的一个引脚进行计数,单片机对滴速脉冲信号计数并将其换算成每分钟的滴数并通过显示器用数字显示。当得到了每分钟的计数值后,将该计数值和键盘输入的数值进行比较,并根据比较结果确定步进电机的旋转方向和运动步数。单片机有报警输出接口,当检测到2个液滴之间的间隔时间大于一定的数值时,则认为是输液结束,于是通过输出接口报警,通知患者和护士前来处理。电路中施密特触发器的主要作用是克服葫芦状液滴形成的双脉冲。
U(v) VH T VL 0 t(s) 图2.5 液滴探测电路输出波形图
2.4.2 液滴滴速检测电路
输液现场的环境光是干扰光,干扰光既有日光类的恒定光又有日光灯类的频闪光,所以这些干扰不可能通过简单的办法消除。干扰光将使信噪比S/N下降,因此必须采取有效措
- 9 -
施来消除干扰,否则将不易实现对液滴的光电探测。本装置采用调制与解调技术有效地排除恒定光和频闪光的干扰,电路图如图2.6所示。 VCCR8R6R2IC4C337DISR3IC1R1R46THR5TRK2C1D1C2Q R5IC2IC5ADCR7IC3C4T1T1 图2.6 滴速检测电路图 IC1选用555集成电路,发出频率为uO的方波电压,通过电阻R3驱动红外二极管发光。二极管D1发出的红外光强度受到方波电压的调制,发出频率为uO的光脉冲。二极管D1与光电三极管T1是红外发射/接收对管,其参数匹配良好。当液滴通过滴管遮住光路时,T1输出比较弱的光电流;而当光路中没有液滴时,T1输出比较强的光电流。放大器IC2为交流电压放大器,将光电三极管的输出电流信号变换成电压信号,并将其幅值放大,消除恒定光干扰。放大后的信号送到电压比较器IC3。IC3组成鉴幅电路进行幅度鉴别。电阻R8提供给电压比较器一个可调节的阈值电压UT,当IC3的输入电压Ui3≥UT时,IC3输出低电平;当IC3输入电压Ui3≤UT时,IC3输出高电平。当光路中没有液滴时,IC3输入高幅值的脉冲电压,而且其幅值大于UT,使IC3输出频率为u0的方波电压;当光路中有液滴时,IC3输入低幅值的脉冲电压或者无输入,IC3输出为恒压信号。鉴幅电路判断是否有液滴在光路上,转换为输出脉冲电压。鉴幅电路输出的信号送到鉴频电路IC4,IC4采用音频译码器LM567。将IC4的中心频率u1调整至光源调制频率u0。当输入交流电压的频率等于IC4的中心频率时,IC4的引脚8输出低电平,反之输出高电平。因此,当光路中有液滴时,IC4无输入,输出高电平;当光路中无液滴时,IC4输入频率为u0的交流电压,输出低电平。IC4输出的信号送到整形电路IC5中,IC5采用施密特触发器,对鉴频电路输出的脉冲信号整形。脉冲信号整形后发送到单片机。单片机计算连续5个液滴之间的平均间隔时间,换算成液滴滴速。为能有效的排除了现场频闪光的干扰,系统采用调制解调技术。调制解调接收电路由运放IC3和解调芯片IC4组成,IC3可以将接收的较
- 10 -
弱的信号进行放大再进行调制解调。
2.5 液面检测
输液瓶液面高度探测模块电路图2.7所示。模块直接将红外发光二极管D2和光电三极管T2对管固定在输液瓶架两端。当输液瓶液面高于警戒线时,液体对光线有吸收和散射作用,照射到光电三极管T2的光信号比较弱,它的发射极和接收极阻断,Vout输出低电平;当输液瓶液面低于警戒线时,光线衰减比较小,T2管发射极和接收极导通,Vout输出高电平。Vout的输出电压通过电压放大器IC6将采集到的信号进行放大。IC7采用LM311集成芯片,输人基准电压和液面信号电压。当输人信号电压低于基准电压时,输出高电平;当输入信号电压高于基准电压时,输出低电平。基准电压可以通过电位器R14阻值的改变来调节。为了滤除电路中由于外界光电等干扰造成的电压、电流不稳定,消抖芯片IC8选用74LSl23芯片。输入信号从1号脚输入IC8,经过芯片的消抖处理后,在短时间内变化较快的信号将会被去除这些抖动,从而消除变化较快的干扰信号,使输出的电平趋于稳定。消抖后的信号送单片机的INT0口。
VCC R9 R10 R13 R14 IC7 R15 R16 C5 R11 IC6 C6 15 14 4 INT0 R12 D2 T2 1 VCC 2 3 IC8 ADC
图2.7 液位检测电路
2.6 键盘及显示模块
装置设计了4×4阵列式的16个按键, 其中包括10个数字键、1个确认键、1个清零键、1个进夹键和1个退夹键,1个加1键、1个减1键,其中进夹键和退夹键是为了在系统出现故障时强制控制夹的进退。8个数码管为动态显示,8个段码由单片机p0.0-p0.3提供的BCD码
- 11 -
经74LS47转换后提供,8位选择端由单片机的p0.4-p0.6三端74LS138译码后输出控制。正常工作时前4位显示设定值,后4位显示检测值并通过开/关输出。完成用户按键的检测并做出相应处理,大约每隔200ms检测一次,控制电路见附表Ⅱ。
1键盘:键盘有两种工作方式:编码式键盘和非编码式键盘。
编码式键盘是由按键键盘和专用键盘编码器两部分构成。当键盘中某一个按键被按下时,键盘编码器会自动产生相对应的按键代码,并输出选通脉冲信号与CPU进行信息联络。编码式键盘使用很方便,目前已有数种大规模集成电路键盘编码器出售,例MM5740AA芯片就是一种专用于键打字机的键盘编码器,其输出为ASCII码。
非编码键盘不含编码器,当某键被按下时,键盘只能送出一个简单的闭合信号,对应的按键代码的确定必须借助于软件来完成。显然,非编码键盘的软件是比较复杂的,并且要占用较多的CPU时间,这是非编码键盘的不足之处。但非编码键盘可以任意组合、成本低、使用灵活,因而智能仪器大多采用非编码式键盘。
本毕业设计键盘部分采用矩阵非编码式键盘,采用这种结构的特点是把检测线分为两组,一组为行线,一组为列线,按键放在行线和列线的交叉点上。矩阵式的键盘的优点是需要的测试线的数量少,对于一个M×N的矩阵键盘与主机连接只需要M+N条测试线,这样键盘的规模越大,矩阵式键盘的优点越显著,当需要的按键数目大于8时,一般都采用矩阵式键盘。
键盘电路设计成4×4矩阵式,由键盘的编码方式可以得出:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F各键对应的键值表:0D8H,0D0H,0D1H,0D2H,0C8H,0C9H,0CAH,0C0H,0C1H,0C2H,0C3H,0CBH,0D3H,0DBH,0DAH,0D9H。在程序中可以让按键与键盘编码比较来求键值,这样,在程序中先判断按键编码,然后根据编码将键盘代表的数值送到相应的存储单元,再进行功能选择或数据处理,键盘图如图2.8所示。
2 8279芯片
Intel公司的8279芯片是一种通用可编程键盘/显示器接口电路芯片,能完成监视键盘输入的显示控制两种功能。
8279对键盘部分提供一种扫描工作方式,能对个按键键盘阵列不断扫描,自动消抖,自动识别出闭合的键并得到键号,能对双键或N键同时按下进行处理。
显示部分为LCD或其他显示器提供了按扫描方式工作的显示接口,可显示多达16位的字符或数字。
- 12 -
RL07X08RL19RL2ARL34X156B1X223C0X3FEDR5.1KR5.1KR5.1KR5.1K+5V 图2.8 键盘图 8279引脚功能: (1)与CPU的接口引脚 ①DB0~DB7 数据总线,双向、三态、与单片机数据总线相连,在CPU和8279之间传送命令或数据。 ②CLK 系统时钟,输入线。用于8279内部定时,以产生其工作所需的时序。 ③RESET 复位输入线。高电平有效。该引脚为高电平时,8279被复位,复位后的状态如下: a.16个字符左边输入显示方式;b.编码扫描键盘、双键锁定方式 2④cs片选线,输入、低电平有效。cs3=0,8279被选中,允许单片机对其进行读、写4操作;cs=1,禁止对8279读、写。
⑤A0=1时, CPU写入8279的字节命令字。从8279读出的字节是状态字。A0=0时,写入或读出的字节均为数据。
⑥RD、WD,读写控制输入线,低电平有效。这两个来自CPU的控制信号,控制8279的读出、写入操作。
⑦IRQ 中断请求线,高电平有效。
在键盘工作方式中,当键盘RAM中存有按下键的数据时,IRQ为高电平,向CPU提出中断申请。CPU每次从键盘RAM中读出一个字节数据时,IRQ就变为低电平。如果键盘RAM
- 13 -
中还有未读完的数据,IRQ将再次变为高电平,再次提出中断申请。
8279的引脚功能图如2.9所示。
IRQ DB0-DB7 C PU接口 CNTL/STB SL0~SL3 扫描 8279 SHIFT RL0~RL7 键盘 RDWR CSA0 RESET CLK OUTA0~OUTA3 OUTB0~OUTB3 显示 VCC GND BD 图2.9 8279引脚功能
3 LCD液晶显示
液晶显示任务是显示系统摄制的参数和检测的参数,并显示系统情况。本设计采用的LCD128液晶显示模块是128点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置8219个中文汉字(1616点阵)、128个字符(816点阵)及256点阵显示RAM(GDRAM)。可与CPU直接接口,提供两种界面来连接微机处理:8位并行及串行两种连接方式。具有多种功能:光标显示、画面移位、睡眠模式等。
2.7 步进电机控制模块
2.7.1 步进电机控制电路
步进电机是一种将电脉冲转化为角位移的执行结构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定方向转动一个固定的角度(即步距角)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
由于80C52需要用+5V直流电压供电,每个并行口引脚输出最大电压不超过5V,但35BYJ46型(感应子式步进电机)四相四拍电机需要12V直流电压供电。因此,从80C52单片机输出的信号不足以控制步进电机,所以必须加上驱动电路(即ULN2003)。步进电机控制系统中将80C52 P2口的高四位与驱动电路接口芯片ULN2003的四个引脚相
- 14 -
连,经ULN2003驱动放大后输出到35BYJ46型四相四拍步进电机。
对于感应子式步进电机而言,一个二相电机的内部绕组与四相电机完全一致,小功率电机一般直接接为二相,而功率大一点的电机,为了方便使用,灵活改变电机的动态特点,往往将其外部接线为八根引线(四相),这样使用时,既可以作四相电机使用,可以作二相电机绕组串联或并联使用。感应子式步进电机某种程度上可以看作是低速同步电机。一个四相电机可以作四相运行,也可以作二相运行,本驱动原理图中采用四相四拍运行方式,六根引出线。 步进电机主要由硬件完成驱动,单片机80C52提供步进脉冲的信号,步进脉冲的产生与停止、步进脉冲的频率和个数都用软件控制。 步进电机IC2P2.0P2.0P2.0P2.012345678IN1IN2IN3IN4IN5IN6IN7GNDULN2003OUT1OUT2OUT3OUT4OUT5OUT6OUT7VCCVCC161514131211109红色红色棕色棕色黄色黄色123456VCC 图2.10步进电机控制图 2.7.2 电机控制的执行结构
步进电机 1 输液管 10×1
图2.11 速度控制机械部分示意图
- 15 -
输液速度控制的执行结构是由步进电机、带弹簧的夹子、丝杆和螺丝等组成。执行机构依靠弹簧本身的弹性压住输液管,通过步进电机带动丝杆调节输液管的松紧,以达到控 制输液速度的目的。由于系统精度的要求,本系统步进电机采用了四相绕组,步进角为1.80,即每转动200步为一圈。设P2口初值为0,则通过移位即可实现AB―BC―CD―DA-AB的运行方式及各步的控制。步进电机上连接有一根螺距为0.6mm的控制杆,通过控制杆推动控制夹,为保证控制精度,在控制夹部分采用机械杠杆的方法设计了一个十倍的机械放大装置,可使步进电机每步的控制精度达到6×10-4mm,保证了滴管每次的变化精度。速度控制系统的机械部分示意图如图2.11所示。电机正转软管加紧,滴速减小;电机反转,软管放松,滴速增加。 2.7.3 系统任务调度
任务调度是单片机中执行最频繁的一个功能,也是最重要的一个功能。应用程序调用多任务初始化后直接切换到最高优先级的任务。每个任务执行一个循环后就执行一个延时被挂起。任务调度就是在定时中断时对每个任务的时钟嘀嗒数减一,系统按优先级的高低检测时钟嘀嗒数先减到0的任务,直接跳到任务切换程序。以上任务中报警处理任务具有最高的优先级,其次是通信中断任务,其他任务处于同一级别,当较高优先级的任务有效时它会中断或占先较低优先级的任务,这就是优先级多任务处理或占先。通过任务的优先级来调度任务,保证了任务的实时性。
任务调度在以下两种情况下进行:一是任务挂起时,二是定时中断时。任务挂起时的任务调度一定会引起任务切换;但是定时中断时,若就绪任务正在运行,过程中故障的分析具有一定的指导作用。
2.8 报警电路
本装置在储液瓶液面低于设定值时产生两种报警,一为LED灯闪烁,二为声音报警。电路由555定时器、扬声器和普通发光二极管组成,如图2.12所示。其中555定时器接了一个低频多谐振荡器,其控制电压输入端5脚与单片机80C52的RXD端相连,受RXD脚输出的脉冲信号控制。由电容C4的充冲放电作用,当RXD=1时,555输出脉冲的振荡频率较低,当RXD=0时,555输出脉冲的振荡频率较高。该脉冲信号经隔置电容C2加到扬声器上,扬声器将发出高、低交替的两种叫声,同时RXD脚输出的高低电平间隔1s的脉冲信号经电阻R1加到发光二极管LED上,LED将闪烁发光,达到声光同时报警的效果。在输液中针对可能发生的一些异常,如输液停止、电机进夹琐死、电机退夹琐死和键盘操作不规范时的报警可由软件控制。
- 16 -
RXD+5VR170KR1610KR17100K4RESET2TRIGVCCDISCHGTHOLD765C4330uSPOUTCVOLTGND5558REDC50.01u1 图2.12 报警电路图
- 17 -
第3章 系统的软件设计与实现
如果把硬件比作系统的躯体,那么软件编程就是它的灵魂。我的设计采用自上而下的程序设计,先从主程序开始设计,从属的程序和子程序用符号来代替,主程序编好后再编制各个从属程序和子程序,最后完成整个系统软件的设计。
本设计主要是完成点滴速度的检测、调节和显示,液位检测和报警,发送、接收数据和命令。设计的主要思路是:
⑴将液滴探测电路的输出信号输入单片机的INT1口,用片内定时计数器测量出正脉冲的宽度,即两滴液滴之间的间隔时间T,从而计算出每分钟的滴流数,在面板上的数码管上显示出来。
⑵控制器的执行算法采用循环比较检测的方法。基本思想是:把预设的滴液A与实时采集上来的数据B相比较。当A大于B时,使电动机反转;当A小于B时,是电动机正转,从而调整滴液的速度且能够实现实时调整。
软件设计的要素:初始时要对串行口、定时器、中断进行初始化,选择合适的波特率,之后即开始检测当前滴速并显示出来。然后是键盘扫描,如果没有键按下,说明输液状态正常进行。如果有键按下,就执行相应的键处理,拨码开关对设定值整10改变,加1键对设定值加1,减1键对设定值减1,当处于报警状态时,清除/机号键可清除报警。在设定好滴速之后,按确定键可让电机动作,从而达到控制的目的。
3.1 软件总体设计
80C52芯片主要特性是具有一个用于多处理器通讯的增强型串口和一个增/减定时器计数器,专门适用于控制应用。选用80C52的另外一个重要原因就是在芯片上实现了256字节的RAM,高端128字节的地址和特殊功能寄存器(SFR)的地址相同,但可以通过不同寻址方式区分,因此解决了监控器的软件编程所用的RAM空间,不必再另外扩展随机存储器,节约了硬件资源,软件设计的程序流程图如图3.1所示。 3.1.1 软件计数器的设计
当传感器输送来的信号为脉冲量时,需要通过专门计数器芯片如82等来完成脉冲的计数,单片机将此变化的计数信号处理后使传感器送来的脉冲的个数与物位信号相对应。通过软件设计,每路开辟存贮单元,当P2口有电平跳变时,相应的计数单元计数加1,通过软件设置定时器,当定时时间到时,读取存储单元数值并清零,这样节约资源,降低成
- 18 -
本。
开始 初始化串行口、定时器、开中断 检测当前滴速并送显 键盘扫描、键识别 拨码开关 加1键 减1键 消除/机号键 确定键 无键 键处理1 键处理2 键处理3 键处理4 得脉冲数进行调节 检测当前滴速是否在N 误差范围内? N Y 结束
图3.1 主程序软件流程图
3.2 软件各模块的设计
由软件的的总体设计流程可知,软件设计分为以下几个模块:键盘识别及扫描模块,点滴速度检测模块,报警模块和步进电机控制模块。 3.2.1 键盘识别及扫描模块
多位LED显示时,由一个8位I/O口控制,也可采用并行扩展口构成显示电路。键盘扫描程序,通过对各个键进行功能设定,完成数据输入、设定、修改等操作。首先判断是否有键按下,再进行键值处理,处理完成后将结果保存在一个地址单元中,用于以后的
- 19 -
显示或比较,子程序流程图如图3.2所示,键盘扫描程序见附录Ⅰ。
Y N 是否有键按下? 开始 初始化
键值处理 N 处理完否?
Y 返回
图3.2 键盘扫描子程序流程图
3.2.2 点滴速度检测模块
该系统通过测量液滴间的时间间隔计算输液滴速。输液过程中两液滴间的输液间隔并不完全均匀,为达到较好的控制效果和缩短调整时间,该系统在软件方面采用了测量多液滴时间间隔取得平均滴速,平均滴速的计算公式如下:
V=N/T
V———平均滴速。
N———所测液滴数,为常数。V≤20时,N=2;20 传感器信号接至外部中断引脚,当有液滴滴下时电压信号发生变化,从而产生一个中断,以每6S为单位计算中断的次数,从而算出每分钟中断的次数,即每分钟的点滴数, - 20 - 其程序流程图如图3.3所示。 液滴滴下时中断次数加一 不到6S 中断时间是否到6S 中断次数乘6得出液滴速度 图3.3 点滴速度监测图 其软件部分的实现原理和点滴速度检测相同。其软件实现过程为:当发射和接收二极管之间的液面发生变化时,输出端将会有高低电平的变化,则与输出口连接的单片机P2.1口将有高低电平变化,所以软件实现时可以通过对P2.1口进行连续的查询。为防止因为药瓶振荡而使信号出现误发情况,需要采取多次检测比较,可以连续采集五次并将P2.1的数值累加存于寄存器A中,判断累加器的数值为0时才进行发送。或者采取一个较短时间的延时再进行有效检测,而在延时期间的检测认定为无效的检测。 3.2.3 报警模块 该模块对发生意外情况时,比如,滴斗内没有液滴滴下时和液滴成水柱式流下(此情况经实验发生的情况不会出现,但编程序时考虑在内),当没有液滴滴下时发送到单片机的是高电平,成水柱时以低电平的方式发送,这两种情况下都产生报警,另外,当步进电机锁死时也发出报警。 3.2.4 步进电机控制模块 该系统基于上下位机模式,由下位机完成输液点现场的滴速、液面、各种异常情况的检测,并自动调整控制输液速度,该系统的执行机构通过驱动步进电机,调整电机对输液软管的加紧度实现对输液滴速的控制。当滴速小于设定速度时,电机反转,放松对输液软管的加紧度以提高滴速;当滴速大于设定速度时,电机正转,加大对输液软管的加紧度以减小滴 - 21 - 速。步进电机流程图如图3.4所示,步进电机控制程序见附录Ⅰ。 开始 当前速度=设置速度? N Y 当前速度>设置速度? Y N 电机反转 电机正转 电机停止 图3.4 步进电机控制流程图 - 22 - 第4章 结论 在论文设计初期我也试图通过改变输液瓶的高度来控制输液速度,但在翻阅了大量的资料之后才发现通过改变输液瓶的高度控制输液速度在实际的医疗中存在许多不可取的地方,因此在设计中我采用了步进电机带动螺丝杆的方法来控制输液速度进而完成本次设计内容。 在软件的设计方面,本设计有以下几个优点: (1)对原有的输液管无须改动,并且可以保证输液的安全和可靠性,操作简单。 (2)在选用器件进行设计开发时,遵循了工程项目的特点,设计要求等方面进行综合判断确定。 (3)本文对步进电机的控制方法进行了详细的论述,包括硬件接口的设计、软件方案的设计和程序的编写。此种方法高效、方便、成本低廉,在实际应用中有着很高的利用价值。 本系统完成了液滴的实时有效的控制与显示,实现了预置控制液滴速度,当收到报警时能手动解除报警。该测控系统是光电技术、微机技术和计算机网络技术的综合应用,应用于临床实践,可以提高医疗设备的自动化水平,给护士输液工作提供方便,同时,让病人感觉到输液更加安全、放心,且该系统具有较高的应用价值。 - 23 - 参考文献 [1] 刘辉,周志英.医疗输液速度的测量与控制[J].计量与测试技术,2005,32(1):5—6. [2] 全国大学生电子设计竞赛组委会.第五届全国大学生电子设计竞赛获奖作品选编(2001)[M]. 北京:北京理工大学出版社,2002.34-36 [3] 薛晨阳,谭秋林,马游春,等.红外传感器的信号提取和数据采集的设计[J].仪表技术与传感器,2007,(2):45—49. [4] 谢自美.电子线路设计、实验、测试[M].武汉:华中理工大学出版社,2000.20-30 [5] 杨晓.用单片机实现液体点滴速度监控装置[J].电子世界,2004,(2):32~33 [6] 雷思孝,李伯成,雷向莉等.单片机原理及实用技术[M].西安电子科技大学出版社,2004.13-15 [7] 丁化成,耿德根,李君凯.AVR单片机设计[M].北京:北京航空航天大学出版社,2002.5. [8] 李勋,耿德根.AVR单片机应用技术[M].北京:北京航空航天大学出版社,2002.6. [9] 王晓明.电动机的单片机控制[M].北京航空航天大学出版社,2002.8-10 [10] 王艳芳,黄海滨. 基于单片机技术的室内报警器的设计[J]. 现代电子技术,2008,(8):25-26. - 24 - 结束语 经过这次系统的课程设计,我熟悉了对一项课题进行研究和设计的详细过程。在将来的工作和学习当中这些都会对我有很大的帮助。 课程设计培养了我严肃认真和实事求是的科学态度和吃苦耐劳的精神,同时同学之间的真诚相助也充分的在课程设计当中体现出来了。 在本次毕业设计的历程中,我遇到了很多之前没有见到也没有想到的问题。在面对问题解决困难的同时我也学到了不少东西,因此本次毕业设计不仅仅是一个学习与再学习的过程,更是我成长的一个过程。 - 25 - 致谢 本次论文得以顺利完成,除了自己的努力之外,同学和老师都给予了我很大的帮助,使有些问题才能顺利解决。在这里首先我感谢我的导师马俊涛老师,在做毕业论文的整个过程中我遇到了许多问题,每次他都能耐心的给我进行指导,他不拘一格的思路也给予了我无尽的启迪,使我顺利地完成了论文。 其次感谢我的同学在这次论文设计中给我的帮助,特别是在最后的定稿期间给我了我鼓励及支持,使我学到了曾经没有学到的东西,在这里我对他们的热心帮助表示衷心的感谢。 - 26 - 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务