┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
液体点滴速度监控装置的设计
【摘要】 随着电子技术的发展,医疗设备也在发生着一些变化,而传统的人工式监护方式显然已经越来越不能满足当今的监护需要了。
目前,我国医疗机构在进行输液治疗时,输液速度的控制还是采用人工方。常规临床输液,普遍采用挂瓶式输液,并用眼睛直接观察,依靠手动夹子来控制输液速度,这样的操作方式不能精确控制输液的速度,而且工作也量大。因此,就需要既廉价又实用的医疗输液检测监控装置来满足现今的医疗需求。
本系统的设计是以单片机AT89C51为核心,以键盘及光电传感器作为输入系统,以数码管及电动机作为输出系统的智能化输液控制及监测系统。键盘系统为独立式按键系统,光电传感器的功能为液体点滴的速度以及输液瓶页面高度的可靠检测。当液面低于警戒值时,系统发出警报,并可以手动除去警报。电动机具有转速可控功率大及输入脉冲不变时可保持大力矩等优点,这样就可以通过控制吊瓶的上、下缓慢移动达到智能控制液体点滴速度的目的。
【关键字】 单片机 光电传感器 步进电机
第1章 系统方案选择与论证 . ......................................... 1 1.1各模块方案选择和论证 ......................................... 1 1.1.1液体点滴速度检测 ......................................... 1 1.1.2输液瓶液面检测 ........................................... 2 1.1.3键盘方案 ................................................. 3 1.1.4显示方案 ................................................. 3 1.1.5电动机系统方案 ........................................... 3 1.1.6点滴速度控制方案 ......................................... 5 1.2方案确定 ..................................................... 5 1.3基本系统框图 ................................................. 6 第2章 系统的硬件设计与实现 . ....................................... 6 2.1系统硬件的基本组成部分 ....................................... 6 2.1.1液体点滴速度检测电路 ..................................... 7 2.2.2储液瓶液面检测电路 ....................................... 7 2.2.3键盘电路 ................................................. 8 2.2.4显示电路 ................................................. 9 2.2.5步进电机驱动电路 ......................................... 9 2.3原件说明 .................................................... 10 2.3.1AT89C51 . ................................................. 10
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
2.3.2NE555 ................................................... 12 2.3.3数码管 ................................................. 13 第3章 系统软件设计 . .............................................. 15 3.1液体点滴速度检测子程序 ...................................... 15 3.2储液瓶液面检测子程序 ........................................ 15 3.3点滴速度检测子程序 .......................................... 16 3.4键盘显示子程序 .............................................. 17 3.5系统的主程序设计 ............................................ 18 第4章 总结 . ...................................................... 19 致 谢 . ............................................................ 20 参考文献 . ......................................................... 21
长 春 大 学 毕业设计(论文)纸
第1章 系统方案选择与论证
1.1各模块方案选择和论证
1.1.1液体点滴速度检测
红外线属于一种电磁射线,其特性等同于无线电或X 射线。人眼可见的波长为380nm-78mm ,发射波长为780nm-1mm 的长射线称为红外线,红外线光电传感器,它是利用被检测物体对红外光束的遮光或反射,由同步回路选通电路而检测物体的有无,其物体不限于金属,对所有能反射光线的物体均可检测,而且检测距离可近可远,根据具体情况选择自己合适的传感器即可。
方案一:利用光透射原理。使用红外对管实现对液体点滴速度的检测。当没有点滴落下的时候, 检测系统输出一个比较低的电压,而当有点滴滴下,经过红外对管,检测电路就会产生一个比较高的电压。如此就可以产生脉冲信号。但检测到的电压变动比较小,所以必须加一个电压放大电路。经过放大的信号在通过一个电压比较器就可以得到单片机可以识别的脉冲信号,从而实现对点滴滴数的计数。实现框图如图1-1。图中的转换电路由放大电路和比较电路两部分组成。
[1]
图1-1光透射原理检测电路
方案二:利用光的反射原理。使用反射式红外光电传感器检测。红外发光二极管垂直于漏斗壁发送红外光,红外接收管依据接收到的红外光信号的强弱产生脉冲信号,先通过放大电路的处理再通过电压比较电路的处理就可以得到单片机可以处理的脉冲信号。实现原理框图如图1-2。其中整形电路包括放大电路和比较电路。
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
方案三:使用电容式接近开关。电路集成度高,使用继电器输出,输出信号标准,电路简单。但其工作原理是根据电容中介质的改变对外产生开关量。 1.1.2输液瓶液面检测
方案一:采用金属电极检测储液瓶液面信号。原理如图1-3,利用药液的导电特性实现液滴速度及储液瓶液面信号的检测,通常电极采用不锈钢等耐腐蚀材料制成。
图1-3 金属电极检测储液瓶液面信
方案二:采用光电传感器检测点储液瓶液面信号。原理如图1-4所示。发光二极管发射的平行光束穿过茂菲氏滴管投射到光敏三极管的感光面上,在没有液体时,光敏三极管接收到的光照度最大,产生的光电流也最大,当有液体时,由于液滴对红外光的吸收特性,使平行光束发散,投射到光敏三极管上的光照度将减弱,从而使光敏三极管产生的光电流减小。在低液面(2cm -4cm )的情况下,进气所形成上升气泡在液面的聚集与运动,使平行光束的发散效应明显增强。
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
图1-4光电传感器检测点储液瓶液
方案三:通过软件设置完全可以通过检测点滴速度来产生报警信号,因此可以去掉液面检测电路而完全由液体点滴速度检测电路代替。这样就不需要硬件的储液瓶液面检测电路,而由软件控制。 1.1.3键盘方案
方案一:采用矩阵式键盘, 此类键盘利用矩阵式行列扫描方式,优点是当按键盘较多时可降低占用行列扫描方式,单片机的I/O口数目,缺点为电路复杂且会加大编程难度。
方案二:采用独立式按键电路,每个按键单独占有一根I/O接口线, 每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式。缺点为当按键较多时占用单片机的I/O口数目较多,优点为电路设计简单,且编程极其容易。 1.1.4显示方案
方案一:采用液晶显示屏。液晶显示屏(LCM )具有功耗小、轻薄短小无辐射危险,平面直角显示以及影象稳定不闪烁,可视面积大,画面效果好,抗干扰能力强等特点。但由于液晶是以点阵的模式显示各种符号,需要利用控制芯片创建字符库,编程工作量大,控制器资源占用较多,其成本也偏高。
方案二:采用三位LED 七段数码管显示点滴数目。数码管具有低能耗、低损耗、低压、寿命长、耐老化,对外界环境要求较低。同时数码管采用BCD 编码显示数字,程序编译容易,资源占用较少。 1.1.5电动机系统方案
方案一:采用单片机和A/D转换构成系统,控制普通电机的步数和旋转方向,可以考虑达林管组成的H 型PWM 电路。用单片机控制达林管使之工作在占空比可调的开关状态,精确调整电机转速,减小因惯性,速度,步距角过大而引起的
调整误差,达到改变点滴高度的要求,缺点是控制信号为模拟信号,需要将单
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
片机输出的序列脉冲转换,延长了控制的时间,并且步距角为9°,不能精确的控制点滴速度。[4]
方案二:采用单电机控制系统,系统的执行机构是电机,用电机控制储液瓶的高度,点滴测速传感器测点滴水速,传给从单片机处理输出。单片机根据储液瓶内液面的高度H 1,滴斗内液面的高度H 2,利用经验公式或是实测关系计算出储液瓶应在的高度。用直流电机控制液瓶上升或下降的高度。这个方案避开了因为点滴速度不准确,测试点滴水速很长的时间开销的问题。所以控制起来的反应相对比较快。但存在电机是不是能测准控制长度,传感器能不能测准高度的问题。
方案三:采用电机加输出量直接反馈的控制系统。本方案的执行机构是电机,电机用来调节储液瓶的高度,同时改变滴斗的高度,从而达到改变水滴的目的。利用光电传感器测试水滴的速度,再将此反馈量给控制器比较,然后通过调整高度再比较反馈量。直到调到所要的水滴速度为止,此系统为是输出量直接反馈的闭环自动控制系统。在控制的稳定性上讲,可以较稳定的调节水滴速度,再则是由于输出量直接作为反馈量,有利于输出量的稳定。
图 1-6 电动机驱动电路图 图 1-5 电动机驱动电路图
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
1.1.6点滴速度控制方案
方案一:通过改变滴斗到受液瓶的高度来调节点滴的速度。由步进电机带动储液瓶使储液瓶上升或下降改变滴斗到受液瓶的高度, 从而调节点滴速度。由于其高度的改变与点滴速度基本成线性关系, 这易于对点滴速度进行控制。而液滴管的高度可通过电机实现精确的定量控制。但此方法对机械设备的要求高, 不容易安装。设备可移动性小,而且对电机的功率也有一定的要求,要采用大功率的电机。
方案二:采用单片机和可编程逻辑器件控制输液软管的松紧来控制点滴速度。改变塑料点滴管的形状以控制液体的流速。这样的方法虽然直观, 但存在很多的缺点。首先由于对管壁施压改变其形状, 其所施加的压力与流量改变的关系非线性, 这给流量控制带来了难度。其次由于滴管是由塑料制成, 在长时间受压后松开并不能使塑料滴液管完全恢复原形, 控制装置无法保证理想的控制效果。此外, 要完成滴速夹的制作有一定的困难。即使此方案有很多缺点,但以其结构小巧,可移动性强,电机要求低,机械设备简洁的优点。[6]
1.2方案确定
液体点滴速度检测,方案一利用透射原理来检测点滴速度,采用槽式光电传感器来实现。槽式光电开关通常是标准的U 字型结构其发射器和接收器分别位于U 型槽的两边,并形成一个光轴,当被检测物体经过U 型槽且阻断光轴时,光电开关就产生了检测到的开关量信号。槽式光电开关比较安全可靠,适合检测高速变化的信号,分辨透明与半透明物体,但槽间的距离一般比较小,不适合检测体积较大的物体。方案二利用光的反射原理。使用反射式红外光电传感器检测。直接反射式光电开关是一种集发射器和接收器于一体的传感器,当有被检测物体经过时,将光电开关发射器发射的足够量的光线反射到接收器,于是光电开关就产生了开关信号。当被检测物体的表面光亮或其反光率极高时, 直接反射式的光电开关是首选的检测模式。方案三电容式接近开关,但瓶中液体和周围环境随时会发生变化,很容易触发传感器,而使系统采集到错误的信号。因此,选择方案二。
输液瓶液面检测,液瓶液面检测 电极接触控制方式原理简单,易于实现,可靠性强,但会导致药品污染,危及患者安全。光电控制方式虽然结构复杂,易受外界光源影响,但可防止药品的污染,保证患者用药安全。而软件方式对程序有一定的要求,并且响应时间比较慢,但其优点更明显,完全抛弃了硬件结构。因此,选择方案三,软件方式。
键盘方案,本系统按键较少,所以采用方案二。 显示方案,采用方案二。
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
电机系统方案,一方面调节的步长尽可能的小,定位要好;另一方面如果停止信号到来,要能立刻停止电机。因此选择步进电机,采用方案三。
点滴速度控制方案,选用方案二,控制输液软管的松紧来控制点滴速度。
1.3基本系统框图
根据题目要求系统可以分为以下几个模块:点滴速度测量模块,储液液面检测模块,键盘显示模块,电机系统控制(点滴速度控制)模块。基本系统框图[7]如图1-5。
图1-5系统基本框图
第2章 系统的硬件设计与实现
2.1系统硬件的基本组成部分
本题目中运用了检测技术、自动控制技术和电子技术。系统可以分为传感器检测部分和控制部分。
传感器检测部分:系统利用红外对管发射接收即光电传感器将检测到的信号转化为控制器可以辨别的电信号。传感器检测电路包括2个单元电路:点滴速度测量电路、储液检测电路。
控制部分:系统中控制器件根据有传感器变换输出的电信号进行逻辑判断,控制点滴的速度及数码管的显示,完成了点滴装置的自动检测、自动调速、数码显示及报警功能等各项任务。控制部分主要包括3个电路:单片机控制电路、电动机的驱动电路、数码管的动态显示电路。
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
2.1.1液体点滴速度检测电路
液体点滴速度检测是整个系统的重要组成部分,检测精度是衡量系统精确性的一个最重要指标。将滴管放置在检测用槽形光耦的中间,在检测过程中,液滴呈近椭圆状向下加速运动并通过槽型光耦。由于液滴的表面是曲面,上半部与下半部将光线两次折射,使接收端接收不到光,仅在液滴中部光线可以直射穿过,产生这样的波形是不稳定的,干扰较大,系统采用了定时器NE 555接成单稳态触发器,将输出脉冲波形整形后再输入单片机。因为系统滴速范围为60-80 滴/分,以最快要求来算,每分 80 滴,两滴之间的最小间隔时间为0.75s ,所设计的单稳态触发器就应该使得暂稳态的时间小于0.75s 。取R=400K , C =1uF , 则暂稳态的时间为T =1.1RC =0.44s ,可以有效的避免两个液滴之间的干扰。当没有液滴滴落时,通过传感器的光照强度最大,产生的光电流最大,使得光敏三极管导通,它的集电极和射极之间电压很小,输出低电平;当有液滴滴落时,切断光路,产生的光电流减小,光敏三极管介质,输出高电平,根据输出脉冲电平高低情况就可以检测是否有液滴通过。[8]
图2-1液体点滴速度检测电路
2.2.2储液瓶液面检测电路
液位检测是指输液时,当液面低于给定的输液位置时,认为输液过程己经结束,应发出报警信号,停止输液操作,以保证患者的安全液位检测电路原理图如图2-2所示。当瓶内药液液面在光路之上时,红外接收三极管不能接收到红外发射二极管发出的光,从而截止,放大器正极输入为“1”;当瓶内药液液面逐渐下降至光路附近时,红外接收二极管能接收到红外发射二极管发出的光,从而导通,放大器正极输入为“0”,此时驱动相应电路发出报警信号,通知医护人员及时采取措施。报警时的输液剩余量应该足够,符合护理人员对药液剩
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
余量的
其报警信号也是由储液信号来决定的。当储液的液面的高度为2~3cm 后,会由红外对管发射接收产生检测信号,即为报警信号。报警电路如图2-3所示。
[10]
图2-2储液瓶液面检测电路
图2-3报警电路
2.2.3键盘电路
每个按钮开关都接 10K 的下接电阻,使其处于关断状态输出位低电平,而非浮空状态。要进行设定之前首先要按下“Ctrl ”按钮,输出高电平给单片机的 P 0.0,说明设定开始。之后若按下按钮“++”,输出高电平给单片机的 P 0.1;若按下按钮“--”,输出高电平给单片机的 P 0.2。退出设定,要求同时给 P 0.1和 P 0.2 以高电平, 即需要同时按下按钮 “++”“--”对单片机进行说明。键盘电路如图2-4所示。
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
图2-4键盘电路
2.2.4显示电路
采用动态显示方式驱动3个七段数码管,来显示点滴的速度。数码管采用共阴极。
2.2.5步进电机驱动电路
电动机驱动电路就如图2-5示。图2-5路采用的是H 型的开关驱动电路。整个的电路可以分为两级:第一级接单片机的I/O口,用射极跟随电路加大电流的驱动能力;第二级才是驱动电路。当P 3.0为高电平时,Q 2导通,Q 1,Q 3导通,电动机两端的电压为+5V ,电动机正转;当P 3.1为高电平时,Q 5导通,Q 4,Q 6导通,电动机两端的电压为-5V ,电动机反转。
图2-5电机驱动电路
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
2.3原件说明
2.3.1AT89C51
MCS -51系列中,用HMOS 工艺制造的单片机都采用双列直插式(DIP40) 脚封装,引脚信号完全相同。图为2-8引脚图,这40根引脚大致可分为:电源(VCC 、VSS 、VPP 、VPD )、时钟(XTAL 1、XTAL 2)、I/O口(P 0~P 3)、地址总线(P 0口、P 2口) 和控制总线(ALE 、RST 、PROG 、PSEN 、EA )等几部分。
管脚功能:
图2-6 AT89C 51
(1)电源
VCC (引脚号40):供电电压,接+5V 。 VSS (引脚号20):电源接地端。 (2)I/O线
P0口(引脚号32~39):P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL 门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH 编程时,P0 口作为原码输入口,当FIASH 进行校验时,P0输出原码,此时P0外部必须被拉高。
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
P1口(引脚号1~8):P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL 门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1口作为第八位地址接收。
P2口(引脚号21~28):P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL 门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH 编程和校验时接收高八位地址信号和控制信号。
P3口(引脚号10~17):P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL )这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。 (3)控制总线
RST (引脚9):复位输入。当振荡器复位器件时,要保持RST 脚两个机器周期的高电平时间。
ALE/PROG(引脚号正常操作时为ALE 功能(允许地址锁存)):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE 脉冲。如想禁止ALE 的输出可在SFR8EH 地址上置0。此时, ALE只有在执行MOVX ,MOVC 指令是ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE 禁止,置位无效。
/PSEN(引脚号29):外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP(引脚号31):当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH ),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET ;当/EA端保持高电平时,此间内部程序存储器。在FLASH 编程期间,此引脚也用于施加12V 编程电源(VPP )。
(4)时钟
XTAL1(引脚号19) :反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2(引脚号18):来自反向振荡器的输出。 振荡器特性:
XTAL 1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
2.3.2NE555
NE555的特点有:
1. 只需简单的电阻器、电容器,即可完成特定的振荡延时作用。其延时范围极广,可由几微秒至几小时之久。
2. 它的操作电源范围极大,可与TTL ,CMOS 等逻辑闸配合,也就是它的输出准位及输入触发准位,均能与这些逻辑系列的高、低态组合。
3. 其输出端的供给电流大,可直接推动多种自动控制的负载。 4. 它的计时精确度高、温度稳定度佳,且价格便宜。 NE555引脚位配置说明下:
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
图2-7NE555的结构图
Pin 1 (接地) -地线(或共同接地) ,通常被连接到电路共同接地。 Pin 2 (触发点) -这个脚位是触发NE555使其启动它的时间周期。触发信号上缘电压须大于2/3 VCC ,下缘须低于1/3 VCC 。
Pin 3 (输出) -当时间周期开始555的输出输出脚位,移至比电源电压少1.7伏的高电位。周期的结束输出回到O 伏左右的低电位。于高电位时的最大输出电流大约200 mA 。
Pin 4 (重置) -一个低逻辑电位送至这个脚位时会重置定时器和使输出回到一个低电位。它通常被接到正电源或忽略不用。
Pin 5 (控制) -这个接脚准许由外部电压改变触发和闸限电压。当计时器经营在稳定或振荡的运作方式下, 这输入能用来改变或调整输出频率。
Pin 6 (重置锁定) - Pin 6重置锁定并使输出呈低态。当这个接脚的电压从1/3 VCC 电压以下移至2/3 VCC 以上时启动这个动作。
Pin 7 (放电) -这个接脚和主要的输出接脚有相同的电流输出能力,当输出为ON 时为LOW ,对地为低阻抗,当输出为OFF 时为HIGH ,对地为高阻抗。
Pin 8 (V +) -这是555个计时器IC 的正电源电压端。供应电压的范围是+4.5伏特(最小值) 至+16伏特(最大值) 。
参数功能特性: •供应电压4.5-18V •供应电流3-6 mA •输出电流225mA (max) •上升/下降时间100 ns 2.3.3数码管
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM ) 的数码管。共阳极数码管在应用时应将公共极COM 接到+5V ,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴极数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM ) 的数码管。共阴极数码管在应用时应将公共极COM 接到地线GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。在此次设计中,使用的是共阴极七段数码管。是因为计数的值全位整数,没有小数。
点亮LED 显示器有静态和动态两种方法。所谓静态显示,就是显示某一字符时,相应的发光二极管恒定的导通和截至,这种方式,每一位显示都需要一个8位输出口控制,占用硬件较多,一般仅用于显示器位数较少的场合。
所谓动态显示,就是一位一位地轮流点亮各位显示器。对每一位显示器而言,每隔一段时间点亮一次。显示位的亮度既跟导通电流有关,也和点亮时间与间隔时间的比例有关。动态显示器因其硬件成本较低,多数显示时常常采用。下图为七段数码管内部结构与引脚图:
图2-8七段数码管内部结构与引脚图
数码管使用条件:(1)段及小数点上加限流电阻;(2)使用电压:段:根据发光颜色决定; 小数点:根据发光颜色决定;(3)使用电流:静态:总电流 80mA (每段 10mA );动态:平均电流 4-5mA 峰值电流 100mA 。
上面这个只是七段数码管引脚图,其中共阳极数码管引脚图和共阴极的是一样的。
数码管选用好后,将与其他硬件连接以完成一个理想的动态显示系统。然而,每个数码管都需要6个段码扫描端和2两个位码扫描端。但是单片机上输出口只有有限的几个可以使用,难以满足数码管的多输入(单片机多输出)的要求。因此,需要解决端口的局限问题进行进一步的设计。解决端口问题时,
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
我们使用双向总线发送器/接收器74LS245与高压输出反相缓冲器/驱动器74LS06进行对端口的扩展与补充。
第3章 系统软件设计
主程序对模块进行初始化,接收从传感器传来的信号,并对此信号进行处理,输出调整信号控制电动机的转动,扫描键盘进行动态显示。用的是循环查询方式,来显示和控制点滴的速度。
[11][12][13][14][15]
3.1液体点滴速度检测子程序
检测点滴速度子程序主要是用与系统信号的采集。经过光电传感器采集,后由施密特触发器整形,输出到单片机的端口送入单片机内部。检测点滴速度子程序如图3-1所示。
图3-1液体点滴速度检测子程序
3.2储液瓶液面检测子程序
本程序主要是用于测量储液瓶内部的液位高度的,当液位低于2~3cm 时,发出报警信号。如果液位的高度不在此区间内,则点滴的速度照常采集,并送入单片机内部。其储液子程序流程图如图3-2所示。
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
图3-2储液瓶液面检测子程序
3.3点滴速度检测子程序
根据题目的设计要求,首先读出6秒内的点滴的数目(将一分种平均划分成十分),进而得到当前的点滴的速度。根据其设定的速度值与当前的点滴的速度的误差来确定电动机的正转与反转,即控制储液瓶的位置的高低,进一步影响下一个6秒内的点滴的速度,如此的循环往复。其点滴速度的电动机控制程序流程图如3-3所示。
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
3.4键盘显示子程序
键盘及显示字程序主要是用于判断速度有没有调整的动向和点滴速度的显示(包括当前值和设定值)。其程序流程图如3-4所示。
图3-4键盘显示子程序
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
3.5系统的主程序设计
图3-5系统主程序流程图
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ 第4章 总结 本次设计运用了各类传感器。同时也查阅了大量的相关资料,包括查阅相关的书籍和网上的电子资料,并获得了一些相关信息。在方案设计的方面,经过仔细斟酌筛选出最好最方便的设计方案,比如在设计显示电路时我们放弃LCD 液晶来显示, 而直接运用了数码管显示电路;设计键盘时放弃用矩阵键盘,而用了简便的单列三按键。 在设计过程中,我遇到的问题很多,在同学老师的帮助下,完成了初次的设计。越是不懂的东西才要去学,在学习的过程中你会收获很多,其中一点就是互相学习是最好的学习途径,在学习之后你会感觉到很有成就感,这也是我在完成设计之后体会到的。 通过这次的设计,让我了解设计电路的程序与设计理念。通过这次学习,让我对各种电路都有了大概的了解,对于我以后的学习有很大的帮助。在整个毕业论文设计的过程中我学到了做任何事情所要有的态度和心态,首先我明白了做学问要一丝不苟,对于出现的任何问题和偏差都不要轻视,要通过正确的途径去解决,在做事情的过程中要有耐心和毅力,不要一遇到困难就打退堂鼓,只要坚持下去就可以找到思路去解决问题的。在工作中要学会与人合作的态度,认真听取别人的意见,这样做起事情来就可以事倍功半。
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ 致 谢 在此论文撰写过程中,要特别感谢我的导师吉淑娇,从开题报告、写作提纲,到一遍一遍地指出每次的具体问题,严格把关。感谢导师的指导与督促。同时也感谢她在此过程中对我的谅解和包容。没有吉淑娇老师的帮助也就没有今天的这篇论文。求学历程是艰苦的,但又是快乐的。在这四年的学期中结识的各位生活和学习上的挚友让我得到了人生最大的一笔财富。在此,也对他们表示衷心感谢。写作毕业论文是再一次系统学习的过程,毕业论文的完成同时也意味着新的学习的开始。 谢谢我的父母,没有他们辛勤的付出也就没有我的今天,在这一刻,将最崇高的敬意献给你们!
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ 参考文献 [1] 边春元等. 单片机应用开发实用子程序. 人民邮电出版社. 2005 [2] 高吉祥. 全国大学生电子设计大赛培训系列教程. 电子工业出社.2007 [3] 张毅坤. 单片微型计算机原理及应用. 西安电子科技大学出版社.1998 [4] 王兆月等. 微型计算机接口技术. 机械工业出版社.2006 [5]全国大学生电子设计竞赛获奖作品选编2003. 北京理工大学出版.2005 [6] 王紫婷, 王瑞峰, 严天峰. 智能液体点滴速度监控仪. 自动化与仪器仪表,2004, (5):48-50. [7] 程剑锋. 接触式液面检测系统. 机械工程与自动化,2009,(6) [8] 汪国桢. 基于89c51的液体点滴速度监控系统设计. 微计算机信息,2010,9(2),42-43 [9] 张丹彤, 魏巍. 智能化医疗点滴控制系统的设计与实现. 吉林工程技术师范学院学报,2009,25(10) [10] 宋雪丽, 王虎林, 万金领. 基于单片机系统的液体点滴速度监控装置设计. 电脑开发与应用,2007,20(5) [11] 朱雷平. 单片机控制双步进电机运动控制系统. 电子通信与自动控制技术,2008,8 [12] 羚阳. 用凌阳SPCE061A 实现的液体点滴速度监控装置[J].电子世界,2003, 11(21):35-38 [13] 于汇泉,吕丽雪. 普通输液报警及控制系统的设计和研制[J].医疗设备信息,2004(9):10-11 [14] 肖玮,涂亚庆,王杰,等. 液体点滴的无线智能监测系统设计与实现[J].电子测量技术,2008(1):133-136 [15] 尹明,谢云. 一种新型无线输液监护系统的设计[J].计算机与数字工程,2007(8):176-178
长 春 大 学 毕业设计(论文)纸 附录
系统的设计的如件程序清单如下:
SDDD DATA 30H
MC1 DATA 31H
MC2 DATA 32H
MC3 DATA 33H
MC4 DATA 34H
MC5 DATA 35H
MC6 DATA 36H
MC7 DATA 37H
MC8 DATA 38H
MC9 DATA 39H
MC10 DATA 3AH
CJDD DATA 40H
XS1 DATA 41H
XS2 DATA 42H
XS3 DATA 43H
K_ENTER BIT P1.0
K_JIA BIT P1.1
K_JIAN BIT P1.2
ORG 0000H
LJMP MAIN
ORG 0013H
LCALL INT1
ORG 001BH
LCALL T1
ORG 0100H
MAIN:
MOV SP,#60H ;给堆栈指针赋初值
MOV TMOD,#14H ;定时器1在模式1下工作、计数器0工作在模式0 MOV TL1,#0B0H ;定时器每50ms 产生一次溢出
MOV TH1,#3CH
SETB ET1 ;使能定时器1中断
SETB IT1;边沿触发
SETB EX1;开外部中断1
SETB EA ;使能总中断
SETB TR1 ;开始计时
MOV TL0,#00H
MOV TH0,#00H
SETB TR0 ;开始计数
MOV R5,#0AH
MOV R6,#0FFH
MOV R7,#78H
MOV R0,# MC1
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ CLR P1.7 MOV SDDD,#64H MOV CJDD,#78H MOV MC1,#78H MOV MC2,#00H MOV MC3,#00H MOV MC4,#00H MOV MC5,#00H MOV MC6,#00H MOV MC7,#00H MOV MC8,#00H MOV MC9,#00H MOV MC10,#00H LOOP: MOV A,MC1 ADD A,MC2 ADD A,MC3 ADD A,MC4 ADD A,MC5 ADD A,MC6 ADD A,MC7 ADD A,MC8 ADD A,MC9 ADD A,MC10 MOV CJDD,A LCALL JPCL MOV R2,CJDD LCALL SJCL ; 数据处理程序 LCALL DISPLAY ; 调用数码管显示子程序 LCALL DIANJI AJMP LOOP T1: PUSH PSW PUSH ACC
DJNZ R7,TC1
MOV R7,#78H
MOV @R0,TL0
INC R0
MOV TL0,#00H
MOV TH0,#00H
CJNE R0,#3BH,TC1
MOV R0,# MC1
TC1:
MOV TL1,#0B0H
MOV TH1,#3CH
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ POP ACC POP PSW RETI INT1: PUSH PSW PUSH ACC SETB P1.7 POP ACC POP PSW RETI JPCL: JB K_ENTER,QUIT LCALL K_DELAY JB K_ENTER,QUIT LOOP2: MOV R2,SDDD LCALL SJCL LCALL DISPLAY JB K_JIA,QUIT1 LCALL K_DELAY JB K_JIA,QUIT1 LCALL JIA QUIT1: JB K_JIAN,QUIT0 LCALL K_DELAY JB K_JIAN,QUIT0 LCALL JIAN QUIT0: DJNZ R5,LOOP2 MOV R5,#0AH DJNZ R6,LOOP2 QUIT: MOV R5,#0AH MOV R6,#0FFH RET
JIA:
MOV A,SDDD
INC A
MOV SDDD,A
CJNE A,#96H,TC2
MOV SDDD,#14H
TC2:
MOV R5,#00AH
MOV R6,#0FFH
RET
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ JIAN: MOV A,SDDD DEC A MOV SDDD,A CJNE A,#14H,TC3 MOV SDDD,#96H TC3: MOV R5,#0AH MOV R6,#0FFH RET K_DELAY: SETB PSW.4 SETB PSW.3 MOV R5,#0C8H JOOP1: MOV R4,#0FFH JOOP2: DJNZ R4,JOOP2 DJNZ R5,JOOP1 CLR PSW.4 CLR PSW.3 RET SJCL: MOV A,R2 MOV B,#64H DIV AB MOV XS1,A MOV A,#0AH XCH A,B DIV AB MOV XS2,A MOV XS3,B RET DIANJI: CLR C MOV A,CJDD
CJNE A,SDDD,LOOP3
CLR P1.6
CLR P1.5
AJMP TC4
LOOP3:
JC LOOP4
SUBB A,SDDD
CJNE A,#05H,LOOP5
AJMP TC4
LOOP5:
JC TC4
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ CLR P1.6 SETB P1.5 AJMP TC4 LOOP4: MOV A,SDDD SUBB A,CJDD CJNE A,#05H,LOOP6 AJMP TC4 LOOP6: JC TC4 SETB P1.6 CLR P1.5 TC4: RET DISPLAY: MOV DPTR,#DISTAB MOV R3,#01H MOV R1,# XS1 DPLOP: MOV A,@R1 MOVC A,@A+DPTR MOV P2,R3 MOV P0,A MOV A,R3 RL A MOV R3,A INC R1 LCALL DS1M CJNE R3,#08H,DPLOP MOV P0,#000H ; 一次显示结束,P0口复位 MOV P2,#000H ;P2口复位 RET DS1M: SETB PSW.4 SETB PSW.3
MOV R7,#05H
JOOP0:
MOV R6,#64H
JOOP:
DJNZ R6,JOOP
DJNZ R7,JOOP0
CLR PSW.4
CLR PSW.3
RET
; 数码管TAB
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ DISTAB: DB 03FH ;0 DB 006H ;1 DB 05BH ;2 DB 04FH ;3 DB 066H ;4 DB 06DH ;5 DB 07DH ;6 DB 007H ;7 DB 07FH ;8 DB 06FH ;9 DB 000H ;NONE EN
长 春 大 学 毕业设计(论文)纸 由于本系统中采用动态显示方式驱动3个七段数码管,来显示点滴的速度。数码管采用共阴极,由于AT89C52单片机每个I/O的拉电流只有1—2mA 。所以在位码和段码都加上了反向驱动器。
键盘采用按键开关经上拉电阻分别接P1.0、P1.1、P1.2口上,起到确定、上调和下调作用。每按上调和下调键,设定速度值增1减1。单片机XTAL2、XTAL1接12MHZ 晶振,提供系统时钟基值。另RESET 接上电复位按键。
点滴控制靠单片机检测滴速,得到一个反馈量,输出一定信号控制电机上升或下降调节滴斗的高度。点滴的控制其实是靠单片机检测滴速,得到一个反馈量,输出一定信号驱动电动机,控制电动机的正转或反转,进而带动储液瓶的上升或下降来调节滴斗的高度即控制点滴的速度。
由电路图可以看到,接收管与发射管正相对,无液滴滴下时,接收管收到信号,输出低电平;有液滴滴下时,下落的水滴对红外光有较强的漫反射、吸收及一定的发散作用,导致接收光强的较大改变,接收管不能收到较强的信号,产生一个较长的脉动,但是波形不是太好,需要经过一级施密特触发器整形,输出一个正向的脉冲信号送给单片机中断口,据此就可以正确的测出液滴的滴数,即点滴的速度(滴/分)。
传感器检测部分:系统利用红外对管发射接收即光点传感器将检测到的信号转化为控制器可以辨别的电信号。传感器检测电路包括2个单元电路:点滴速度测量电路、储液检测电路。 智能控制部分:系统中控制器件根据有传感器变换输出的电信号进行逻辑判断,控制点滴的速度及数码管的显示,完成了点滴装置的自动检测、自动调速、数码显示及报警功能等各项任务。开控制部分主要包括3个电路:单片机控制电路、电动机的驱动电路、数码管的动态显示电路。
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
液体点滴速度监控装置的设计
【摘要】 随着电子技术的发展,医疗设备也在发生着一些变化,而传统的人工式监护方式显然已经越来越不能满足当今的监护需要了。
目前,我国医疗机构在进行输液治疗时,输液速度的控制还是采用人工方。常规临床输液,普遍采用挂瓶式输液,并用眼睛直接观察,依靠手动夹子来控制输液速度,这样的操作方式不能精确控制输液的速度,而且工作也量大。因此,就需要既廉价又实用的医疗输液检测监控装置来满足现今的医疗需求。
本系统的设计是以单片机AT89C51为核心,以键盘及光电传感器作为输入系统,以数码管及电动机作为输出系统的智能化输液控制及监测系统。键盘系统为独立式按键系统,光电传感器的功能为液体点滴的速度以及输液瓶页面高度的可靠检测。当液面低于警戒值时,系统发出警报,并可以手动除去警报。电动机具有转速可控功率大及输入脉冲不变时可保持大力矩等优点,这样就可以通过控制吊瓶的上、下缓慢移动达到智能控制液体点滴速度的目的。
【关键字】 单片机 光电传感器 步进电机
第1章 系统方案选择与论证 . ......................................... 1 1.1各模块方案选择和论证 ......................................... 1 1.1.1液体点滴速度检测 ......................................... 1 1.1.2输液瓶液面检测 ........................................... 2 1.1.3键盘方案 ................................................. 3 1.1.4显示方案 ................................................. 3 1.1.5电动机系统方案 ........................................... 3 1.1.6点滴速度控制方案 ......................................... 5 1.2方案确定 ..................................................... 5 1.3基本系统框图 ................................................. 6 第2章 系统的硬件设计与实现 . ....................................... 6 2.1系统硬件的基本组成部分 ....................................... 6 2.1.1液体点滴速度检测电路 ..................................... 7 2.2.2储液瓶液面检测电路 ....................................... 7 2.2.3键盘电路 ................................................. 8 2.2.4显示电路 ................................................. 9 2.2.5步进电机驱动电路 ......................................... 9 2.3原件说明 .................................................... 10 2.3.1AT89C51 . ................................................. 10
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
2.3.2NE555 ................................................... 12 2.3.3数码管 ................................................. 13 第3章 系统软件设计 . .............................................. 15 3.1液体点滴速度检测子程序 ...................................... 15 3.2储液瓶液面检测子程序 ........................................ 15 3.3点滴速度检测子程序 .......................................... 16 3.4键盘显示子程序 .............................................. 17 3.5系统的主程序设计 ............................................ 18 第4章 总结 . ...................................................... 19 致 谢 . ............................................................ 20 参考文献 . ......................................................... 21
长 春 大 学 毕业设计(论文)纸
第1章 系统方案选择与论证
1.1各模块方案选择和论证
1.1.1液体点滴速度检测
红外线属于一种电磁射线,其特性等同于无线电或X 射线。人眼可见的波长为380nm-78mm ,发射波长为780nm-1mm 的长射线称为红外线,红外线光电传感器,它是利用被检测物体对红外光束的遮光或反射,由同步回路选通电路而检测物体的有无,其物体不限于金属,对所有能反射光线的物体均可检测,而且检测距离可近可远,根据具体情况选择自己合适的传感器即可。
方案一:利用光透射原理。使用红外对管实现对液体点滴速度的检测。当没有点滴落下的时候, 检测系统输出一个比较低的电压,而当有点滴滴下,经过红外对管,检测电路就会产生一个比较高的电压。如此就可以产生脉冲信号。但检测到的电压变动比较小,所以必须加一个电压放大电路。经过放大的信号在通过一个电压比较器就可以得到单片机可以识别的脉冲信号,从而实现对点滴滴数的计数。实现框图如图1-1。图中的转换电路由放大电路和比较电路两部分组成。
[1]
图1-1光透射原理检测电路
方案二:利用光的反射原理。使用反射式红外光电传感器检测。红外发光二极管垂直于漏斗壁发送红外光,红外接收管依据接收到的红外光信号的强弱产生脉冲信号,先通过放大电路的处理再通过电压比较电路的处理就可以得到单片机可以处理的脉冲信号。实现原理框图如图1-2。其中整形电路包括放大电路和比较电路。
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
方案三:使用电容式接近开关。电路集成度高,使用继电器输出,输出信号标准,电路简单。但其工作原理是根据电容中介质的改变对外产生开关量。 1.1.2输液瓶液面检测
方案一:采用金属电极检测储液瓶液面信号。原理如图1-3,利用药液的导电特性实现液滴速度及储液瓶液面信号的检测,通常电极采用不锈钢等耐腐蚀材料制成。
图1-3 金属电极检测储液瓶液面信
方案二:采用光电传感器检测点储液瓶液面信号。原理如图1-4所示。发光二极管发射的平行光束穿过茂菲氏滴管投射到光敏三极管的感光面上,在没有液体时,光敏三极管接收到的光照度最大,产生的光电流也最大,当有液体时,由于液滴对红外光的吸收特性,使平行光束发散,投射到光敏三极管上的光照度将减弱,从而使光敏三极管产生的光电流减小。在低液面(2cm -4cm )的情况下,进气所形成上升气泡在液面的聚集与运动,使平行光束的发散效应明显增强。
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
图1-4光电传感器检测点储液瓶液
方案三:通过软件设置完全可以通过检测点滴速度来产生报警信号,因此可以去掉液面检测电路而完全由液体点滴速度检测电路代替。这样就不需要硬件的储液瓶液面检测电路,而由软件控制。 1.1.3键盘方案
方案一:采用矩阵式键盘, 此类键盘利用矩阵式行列扫描方式,优点是当按键盘较多时可降低占用行列扫描方式,单片机的I/O口数目,缺点为电路复杂且会加大编程难度。
方案二:采用独立式按键电路,每个按键单独占有一根I/O接口线, 每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式。缺点为当按键较多时占用单片机的I/O口数目较多,优点为电路设计简单,且编程极其容易。 1.1.4显示方案
方案一:采用液晶显示屏。液晶显示屏(LCM )具有功耗小、轻薄短小无辐射危险,平面直角显示以及影象稳定不闪烁,可视面积大,画面效果好,抗干扰能力强等特点。但由于液晶是以点阵的模式显示各种符号,需要利用控制芯片创建字符库,编程工作量大,控制器资源占用较多,其成本也偏高。
方案二:采用三位LED 七段数码管显示点滴数目。数码管具有低能耗、低损耗、低压、寿命长、耐老化,对外界环境要求较低。同时数码管采用BCD 编码显示数字,程序编译容易,资源占用较少。 1.1.5电动机系统方案
方案一:采用单片机和A/D转换构成系统,控制普通电机的步数和旋转方向,可以考虑达林管组成的H 型PWM 电路。用单片机控制达林管使之工作在占空比可调的开关状态,精确调整电机转速,减小因惯性,速度,步距角过大而引起的
调整误差,达到改变点滴高度的要求,缺点是控制信号为模拟信号,需要将单
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
片机输出的序列脉冲转换,延长了控制的时间,并且步距角为9°,不能精确的控制点滴速度。[4]
方案二:采用单电机控制系统,系统的执行机构是电机,用电机控制储液瓶的高度,点滴测速传感器测点滴水速,传给从单片机处理输出。单片机根据储液瓶内液面的高度H 1,滴斗内液面的高度H 2,利用经验公式或是实测关系计算出储液瓶应在的高度。用直流电机控制液瓶上升或下降的高度。这个方案避开了因为点滴速度不准确,测试点滴水速很长的时间开销的问题。所以控制起来的反应相对比较快。但存在电机是不是能测准控制长度,传感器能不能测准高度的问题。
方案三:采用电机加输出量直接反馈的控制系统。本方案的执行机构是电机,电机用来调节储液瓶的高度,同时改变滴斗的高度,从而达到改变水滴的目的。利用光电传感器测试水滴的速度,再将此反馈量给控制器比较,然后通过调整高度再比较反馈量。直到调到所要的水滴速度为止,此系统为是输出量直接反馈的闭环自动控制系统。在控制的稳定性上讲,可以较稳定的调节水滴速度,再则是由于输出量直接作为反馈量,有利于输出量的稳定。
图 1-6 电动机驱动电路图 图 1-5 电动机驱动电路图
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
1.1.6点滴速度控制方案
方案一:通过改变滴斗到受液瓶的高度来调节点滴的速度。由步进电机带动储液瓶使储液瓶上升或下降改变滴斗到受液瓶的高度, 从而调节点滴速度。由于其高度的改变与点滴速度基本成线性关系, 这易于对点滴速度进行控制。而液滴管的高度可通过电机实现精确的定量控制。但此方法对机械设备的要求高, 不容易安装。设备可移动性小,而且对电机的功率也有一定的要求,要采用大功率的电机。
方案二:采用单片机和可编程逻辑器件控制输液软管的松紧来控制点滴速度。改变塑料点滴管的形状以控制液体的流速。这样的方法虽然直观, 但存在很多的缺点。首先由于对管壁施压改变其形状, 其所施加的压力与流量改变的关系非线性, 这给流量控制带来了难度。其次由于滴管是由塑料制成, 在长时间受压后松开并不能使塑料滴液管完全恢复原形, 控制装置无法保证理想的控制效果。此外, 要完成滴速夹的制作有一定的困难。即使此方案有很多缺点,但以其结构小巧,可移动性强,电机要求低,机械设备简洁的优点。[6]
1.2方案确定
液体点滴速度检测,方案一利用透射原理来检测点滴速度,采用槽式光电传感器来实现。槽式光电开关通常是标准的U 字型结构其发射器和接收器分别位于U 型槽的两边,并形成一个光轴,当被检测物体经过U 型槽且阻断光轴时,光电开关就产生了检测到的开关量信号。槽式光电开关比较安全可靠,适合检测高速变化的信号,分辨透明与半透明物体,但槽间的距离一般比较小,不适合检测体积较大的物体。方案二利用光的反射原理。使用反射式红外光电传感器检测。直接反射式光电开关是一种集发射器和接收器于一体的传感器,当有被检测物体经过时,将光电开关发射器发射的足够量的光线反射到接收器,于是光电开关就产生了开关信号。当被检测物体的表面光亮或其反光率极高时, 直接反射式的光电开关是首选的检测模式。方案三电容式接近开关,但瓶中液体和周围环境随时会发生变化,很容易触发传感器,而使系统采集到错误的信号。因此,选择方案二。
输液瓶液面检测,液瓶液面检测 电极接触控制方式原理简单,易于实现,可靠性强,但会导致药品污染,危及患者安全。光电控制方式虽然结构复杂,易受外界光源影响,但可防止药品的污染,保证患者用药安全。而软件方式对程序有一定的要求,并且响应时间比较慢,但其优点更明显,完全抛弃了硬件结构。因此,选择方案三,软件方式。
键盘方案,本系统按键较少,所以采用方案二。 显示方案,采用方案二。
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
电机系统方案,一方面调节的步长尽可能的小,定位要好;另一方面如果停止信号到来,要能立刻停止电机。因此选择步进电机,采用方案三。
点滴速度控制方案,选用方案二,控制输液软管的松紧来控制点滴速度。
1.3基本系统框图
根据题目要求系统可以分为以下几个模块:点滴速度测量模块,储液液面检测模块,键盘显示模块,电机系统控制(点滴速度控制)模块。基本系统框图[7]如图1-5。
图1-5系统基本框图
第2章 系统的硬件设计与实现
2.1系统硬件的基本组成部分
本题目中运用了检测技术、自动控制技术和电子技术。系统可以分为传感器检测部分和控制部分。
传感器检测部分:系统利用红外对管发射接收即光电传感器将检测到的信号转化为控制器可以辨别的电信号。传感器检测电路包括2个单元电路:点滴速度测量电路、储液检测电路。
控制部分:系统中控制器件根据有传感器变换输出的电信号进行逻辑判断,控制点滴的速度及数码管的显示,完成了点滴装置的自动检测、自动调速、数码显示及报警功能等各项任务。控制部分主要包括3个电路:单片机控制电路、电动机的驱动电路、数码管的动态显示电路。
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
2.1.1液体点滴速度检测电路
液体点滴速度检测是整个系统的重要组成部分,检测精度是衡量系统精确性的一个最重要指标。将滴管放置在检测用槽形光耦的中间,在检测过程中,液滴呈近椭圆状向下加速运动并通过槽型光耦。由于液滴的表面是曲面,上半部与下半部将光线两次折射,使接收端接收不到光,仅在液滴中部光线可以直射穿过,产生这样的波形是不稳定的,干扰较大,系统采用了定时器NE 555接成单稳态触发器,将输出脉冲波形整形后再输入单片机。因为系统滴速范围为60-80 滴/分,以最快要求来算,每分 80 滴,两滴之间的最小间隔时间为0.75s ,所设计的单稳态触发器就应该使得暂稳态的时间小于0.75s 。取R=400K , C =1uF , 则暂稳态的时间为T =1.1RC =0.44s ,可以有效的避免两个液滴之间的干扰。当没有液滴滴落时,通过传感器的光照强度最大,产生的光电流最大,使得光敏三极管导通,它的集电极和射极之间电压很小,输出低电平;当有液滴滴落时,切断光路,产生的光电流减小,光敏三极管介质,输出高电平,根据输出脉冲电平高低情况就可以检测是否有液滴通过。[8]
图2-1液体点滴速度检测电路
2.2.2储液瓶液面检测电路
液位检测是指输液时,当液面低于给定的输液位置时,认为输液过程己经结束,应发出报警信号,停止输液操作,以保证患者的安全液位检测电路原理图如图2-2所示。当瓶内药液液面在光路之上时,红外接收三极管不能接收到红外发射二极管发出的光,从而截止,放大器正极输入为“1”;当瓶内药液液面逐渐下降至光路附近时,红外接收二极管能接收到红外发射二极管发出的光,从而导通,放大器正极输入为“0”,此时驱动相应电路发出报警信号,通知医护人员及时采取措施。报警时的输液剩余量应该足够,符合护理人员对药液剩
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
余量的
其报警信号也是由储液信号来决定的。当储液的液面的高度为2~3cm 后,会由红外对管发射接收产生检测信号,即为报警信号。报警电路如图2-3所示。
[10]
图2-2储液瓶液面检测电路
图2-3报警电路
2.2.3键盘电路
每个按钮开关都接 10K 的下接电阻,使其处于关断状态输出位低电平,而非浮空状态。要进行设定之前首先要按下“Ctrl ”按钮,输出高电平给单片机的 P 0.0,说明设定开始。之后若按下按钮“++”,输出高电平给单片机的 P 0.1;若按下按钮“--”,输出高电平给单片机的 P 0.2。退出设定,要求同时给 P 0.1和 P 0.2 以高电平, 即需要同时按下按钮 “++”“--”对单片机进行说明。键盘电路如图2-4所示。
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
图2-4键盘电路
2.2.4显示电路
采用动态显示方式驱动3个七段数码管,来显示点滴的速度。数码管采用共阴极。
2.2.5步进电机驱动电路
电动机驱动电路就如图2-5示。图2-5路采用的是H 型的开关驱动电路。整个的电路可以分为两级:第一级接单片机的I/O口,用射极跟随电路加大电流的驱动能力;第二级才是驱动电路。当P 3.0为高电平时,Q 2导通,Q 1,Q 3导通,电动机两端的电压为+5V ,电动机正转;当P 3.1为高电平时,Q 5导通,Q 4,Q 6导通,电动机两端的电压为-5V ,电动机反转。
图2-5电机驱动电路
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
2.3原件说明
2.3.1AT89C51
MCS -51系列中,用HMOS 工艺制造的单片机都采用双列直插式(DIP40) 脚封装,引脚信号完全相同。图为2-8引脚图,这40根引脚大致可分为:电源(VCC 、VSS 、VPP 、VPD )、时钟(XTAL 1、XTAL 2)、I/O口(P 0~P 3)、地址总线(P 0口、P 2口) 和控制总线(ALE 、RST 、PROG 、PSEN 、EA )等几部分。
管脚功能:
图2-6 AT89C 51
(1)电源
VCC (引脚号40):供电电压,接+5V 。 VSS (引脚号20):电源接地端。 (2)I/O线
P0口(引脚号32~39):P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL 门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH 编程时,P0 口作为原码输入口,当FIASH 进行校验时,P0输出原码,此时P0外部必须被拉高。
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
P1口(引脚号1~8):P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL 门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1口作为第八位地址接收。
P2口(引脚号21~28):P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL 门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH 编程和校验时接收高八位地址信号和控制信号。
P3口(引脚号10~17):P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL )这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。 (3)控制总线
RST (引脚9):复位输入。当振荡器复位器件时,要保持RST 脚两个机器周期的高电平时间。
ALE/PROG(引脚号正常操作时为ALE 功能(允许地址锁存)):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE 脉冲。如想禁止ALE 的输出可在SFR8EH 地址上置0。此时, ALE只有在执行MOVX ,MOVC 指令是ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE 禁止,置位无效。
/PSEN(引脚号29):外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP(引脚号31):当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH ),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET ;当/EA端保持高电平时,此间内部程序存储器。在FLASH 编程期间,此引脚也用于施加12V 编程电源(VPP )。
(4)时钟
XTAL1(引脚号19) :反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2(引脚号18):来自反向振荡器的输出。 振荡器特性:
XTAL 1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
2.3.2NE555
NE555的特点有:
1. 只需简单的电阻器、电容器,即可完成特定的振荡延时作用。其延时范围极广,可由几微秒至几小时之久。
2. 它的操作电源范围极大,可与TTL ,CMOS 等逻辑闸配合,也就是它的输出准位及输入触发准位,均能与这些逻辑系列的高、低态组合。
3. 其输出端的供给电流大,可直接推动多种自动控制的负载。 4. 它的计时精确度高、温度稳定度佳,且价格便宜。 NE555引脚位配置说明下:
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
图2-7NE555的结构图
Pin 1 (接地) -地线(或共同接地) ,通常被连接到电路共同接地。 Pin 2 (触发点) -这个脚位是触发NE555使其启动它的时间周期。触发信号上缘电压须大于2/3 VCC ,下缘须低于1/3 VCC 。
Pin 3 (输出) -当时间周期开始555的输出输出脚位,移至比电源电压少1.7伏的高电位。周期的结束输出回到O 伏左右的低电位。于高电位时的最大输出电流大约200 mA 。
Pin 4 (重置) -一个低逻辑电位送至这个脚位时会重置定时器和使输出回到一个低电位。它通常被接到正电源或忽略不用。
Pin 5 (控制) -这个接脚准许由外部电压改变触发和闸限电压。当计时器经营在稳定或振荡的运作方式下, 这输入能用来改变或调整输出频率。
Pin 6 (重置锁定) - Pin 6重置锁定并使输出呈低态。当这个接脚的电压从1/3 VCC 电压以下移至2/3 VCC 以上时启动这个动作。
Pin 7 (放电) -这个接脚和主要的输出接脚有相同的电流输出能力,当输出为ON 时为LOW ,对地为低阻抗,当输出为OFF 时为HIGH ,对地为高阻抗。
Pin 8 (V +) -这是555个计时器IC 的正电源电压端。供应电压的范围是+4.5伏特(最小值) 至+16伏特(最大值) 。
参数功能特性: •供应电压4.5-18V •供应电流3-6 mA •输出电流225mA (max) •上升/下降时间100 ns 2.3.3数码管
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM ) 的数码管。共阳极数码管在应用时应将公共极COM 接到+5V ,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴极数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM ) 的数码管。共阴极数码管在应用时应将公共极COM 接到地线GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。在此次设计中,使用的是共阴极七段数码管。是因为计数的值全位整数,没有小数。
点亮LED 显示器有静态和动态两种方法。所谓静态显示,就是显示某一字符时,相应的发光二极管恒定的导通和截至,这种方式,每一位显示都需要一个8位输出口控制,占用硬件较多,一般仅用于显示器位数较少的场合。
所谓动态显示,就是一位一位地轮流点亮各位显示器。对每一位显示器而言,每隔一段时间点亮一次。显示位的亮度既跟导通电流有关,也和点亮时间与间隔时间的比例有关。动态显示器因其硬件成本较低,多数显示时常常采用。下图为七段数码管内部结构与引脚图:
图2-8七段数码管内部结构与引脚图
数码管使用条件:(1)段及小数点上加限流电阻;(2)使用电压:段:根据发光颜色决定; 小数点:根据发光颜色决定;(3)使用电流:静态:总电流 80mA (每段 10mA );动态:平均电流 4-5mA 峰值电流 100mA 。
上面这个只是七段数码管引脚图,其中共阳极数码管引脚图和共阴极的是一样的。
数码管选用好后,将与其他硬件连接以完成一个理想的动态显示系统。然而,每个数码管都需要6个段码扫描端和2两个位码扫描端。但是单片机上输出口只有有限的几个可以使用,难以满足数码管的多输入(单片机多输出)的要求。因此,需要解决端口的局限问题进行进一步的设计。解决端口问题时,
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
我们使用双向总线发送器/接收器74LS245与高压输出反相缓冲器/驱动器74LS06进行对端口的扩展与补充。
第3章 系统软件设计
主程序对模块进行初始化,接收从传感器传来的信号,并对此信号进行处理,输出调整信号控制电动机的转动,扫描键盘进行动态显示。用的是循环查询方式,来显示和控制点滴的速度。
[11][12][13][14][15]
3.1液体点滴速度检测子程序
检测点滴速度子程序主要是用与系统信号的采集。经过光电传感器采集,后由施密特触发器整形,输出到单片机的端口送入单片机内部。检测点滴速度子程序如图3-1所示。
图3-1液体点滴速度检测子程序
3.2储液瓶液面检测子程序
本程序主要是用于测量储液瓶内部的液位高度的,当液位低于2~3cm 时,发出报警信号。如果液位的高度不在此区间内,则点滴的速度照常采集,并送入单片机内部。其储液子程序流程图如图3-2所示。
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
图3-2储液瓶液面检测子程序
3.3点滴速度检测子程序
根据题目的设计要求,首先读出6秒内的点滴的数目(将一分种平均划分成十分),进而得到当前的点滴的速度。根据其设定的速度值与当前的点滴的速度的误差来确定电动机的正转与反转,即控制储液瓶的位置的高低,进一步影响下一个6秒内的点滴的速度,如此的循环往复。其点滴速度的电动机控制程序流程图如3-3所示。
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
3.4键盘显示子程序
键盘及显示字程序主要是用于判断速度有没有调整的动向和点滴速度的显示(包括当前值和设定值)。其程序流程图如3-4所示。
图3-4键盘显示子程序
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
3.5系统的主程序设计
图3-5系统主程序流程图
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ 第4章 总结 本次设计运用了各类传感器。同时也查阅了大量的相关资料,包括查阅相关的书籍和网上的电子资料,并获得了一些相关信息。在方案设计的方面,经过仔细斟酌筛选出最好最方便的设计方案,比如在设计显示电路时我们放弃LCD 液晶来显示, 而直接运用了数码管显示电路;设计键盘时放弃用矩阵键盘,而用了简便的单列三按键。 在设计过程中,我遇到的问题很多,在同学老师的帮助下,完成了初次的设计。越是不懂的东西才要去学,在学习的过程中你会收获很多,其中一点就是互相学习是最好的学习途径,在学习之后你会感觉到很有成就感,这也是我在完成设计之后体会到的。 通过这次的设计,让我了解设计电路的程序与设计理念。通过这次学习,让我对各种电路都有了大概的了解,对于我以后的学习有很大的帮助。在整个毕业论文设计的过程中我学到了做任何事情所要有的态度和心态,首先我明白了做学问要一丝不苟,对于出现的任何问题和偏差都不要轻视,要通过正确的途径去解决,在做事情的过程中要有耐心和毅力,不要一遇到困难就打退堂鼓,只要坚持下去就可以找到思路去解决问题的。在工作中要学会与人合作的态度,认真听取别人的意见,这样做起事情来就可以事倍功半。
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ 致 谢 在此论文撰写过程中,要特别感谢我的导师吉淑娇,从开题报告、写作提纲,到一遍一遍地指出每次的具体问题,严格把关。感谢导师的指导与督促。同时也感谢她在此过程中对我的谅解和包容。没有吉淑娇老师的帮助也就没有今天的这篇论文。求学历程是艰苦的,但又是快乐的。在这四年的学期中结识的各位生活和学习上的挚友让我得到了人生最大的一笔财富。在此,也对他们表示衷心感谢。写作毕业论文是再一次系统学习的过程,毕业论文的完成同时也意味着新的学习的开始。 谢谢我的父母,没有他们辛勤的付出也就没有我的今天,在这一刻,将最崇高的敬意献给你们!
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ 参考文献 [1] 边春元等. 单片机应用开发实用子程序. 人民邮电出版社. 2005 [2] 高吉祥. 全国大学生电子设计大赛培训系列教程. 电子工业出社.2007 [3] 张毅坤. 单片微型计算机原理及应用. 西安电子科技大学出版社.1998 [4] 王兆月等. 微型计算机接口技术. 机械工业出版社.2006 [5]全国大学生电子设计竞赛获奖作品选编2003. 北京理工大学出版.2005 [6] 王紫婷, 王瑞峰, 严天峰. 智能液体点滴速度监控仪. 自动化与仪器仪表,2004, (5):48-50. [7] 程剑锋. 接触式液面检测系统. 机械工程与自动化,2009,(6) [8] 汪国桢. 基于89c51的液体点滴速度监控系统设计. 微计算机信息,2010,9(2),42-43 [9] 张丹彤, 魏巍. 智能化医疗点滴控制系统的设计与实现. 吉林工程技术师范学院学报,2009,25(10) [10] 宋雪丽, 王虎林, 万金领. 基于单片机系统的液体点滴速度监控装置设计. 电脑开发与应用,2007,20(5) [11] 朱雷平. 单片机控制双步进电机运动控制系统. 电子通信与自动控制技术,2008,8 [12] 羚阳. 用凌阳SPCE061A 实现的液体点滴速度监控装置[J].电子世界,2003, 11(21):35-38 [13] 于汇泉,吕丽雪. 普通输液报警及控制系统的设计和研制[J].医疗设备信息,2004(9):10-11 [14] 肖玮,涂亚庆,王杰,等. 液体点滴的无线智能监测系统设计与实现[J].电子测量技术,2008(1):133-136 [15] 尹明,谢云. 一种新型无线输液监护系统的设计[J].计算机与数字工程,2007(8):176-178
长 春 大 学 毕业设计(论文)纸 附录
系统的设计的如件程序清单如下:
SDDD DATA 30H
MC1 DATA 31H
MC2 DATA 32H
MC3 DATA 33H
MC4 DATA 34H
MC5 DATA 35H
MC6 DATA 36H
MC7 DATA 37H
MC8 DATA 38H
MC9 DATA 39H
MC10 DATA 3AH
CJDD DATA 40H
XS1 DATA 41H
XS2 DATA 42H
XS3 DATA 43H
K_ENTER BIT P1.0
K_JIA BIT P1.1
K_JIAN BIT P1.2
ORG 0000H
LJMP MAIN
ORG 0013H
LCALL INT1
ORG 001BH
LCALL T1
ORG 0100H
MAIN:
MOV SP,#60H ;给堆栈指针赋初值
MOV TMOD,#14H ;定时器1在模式1下工作、计数器0工作在模式0 MOV TL1,#0B0H ;定时器每50ms 产生一次溢出
MOV TH1,#3CH
SETB ET1 ;使能定时器1中断
SETB IT1;边沿触发
SETB EX1;开外部中断1
SETB EA ;使能总中断
SETB TR1 ;开始计时
MOV TL0,#00H
MOV TH0,#00H
SETB TR0 ;开始计数
MOV R5,#0AH
MOV R6,#0FFH
MOV R7,#78H
MOV R0,# MC1
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ CLR P1.7 MOV SDDD,#64H MOV CJDD,#78H MOV MC1,#78H MOV MC2,#00H MOV MC3,#00H MOV MC4,#00H MOV MC5,#00H MOV MC6,#00H MOV MC7,#00H MOV MC8,#00H MOV MC9,#00H MOV MC10,#00H LOOP: MOV A,MC1 ADD A,MC2 ADD A,MC3 ADD A,MC4 ADD A,MC5 ADD A,MC6 ADD A,MC7 ADD A,MC8 ADD A,MC9 ADD A,MC10 MOV CJDD,A LCALL JPCL MOV R2,CJDD LCALL SJCL ; 数据处理程序 LCALL DISPLAY ; 调用数码管显示子程序 LCALL DIANJI AJMP LOOP T1: PUSH PSW PUSH ACC
DJNZ R7,TC1
MOV R7,#78H
MOV @R0,TL0
INC R0
MOV TL0,#00H
MOV TH0,#00H
CJNE R0,#3BH,TC1
MOV R0,# MC1
TC1:
MOV TL1,#0B0H
MOV TH1,#3CH
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ POP ACC POP PSW RETI INT1: PUSH PSW PUSH ACC SETB P1.7 POP ACC POP PSW RETI JPCL: JB K_ENTER,QUIT LCALL K_DELAY JB K_ENTER,QUIT LOOP2: MOV R2,SDDD LCALL SJCL LCALL DISPLAY JB K_JIA,QUIT1 LCALL K_DELAY JB K_JIA,QUIT1 LCALL JIA QUIT1: JB K_JIAN,QUIT0 LCALL K_DELAY JB K_JIAN,QUIT0 LCALL JIAN QUIT0: DJNZ R5,LOOP2 MOV R5,#0AH DJNZ R6,LOOP2 QUIT: MOV R5,#0AH MOV R6,#0FFH RET
JIA:
MOV A,SDDD
INC A
MOV SDDD,A
CJNE A,#96H,TC2
MOV SDDD,#14H
TC2:
MOV R5,#00AH
MOV R6,#0FFH
RET
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ JIAN: MOV A,SDDD DEC A MOV SDDD,A CJNE A,#14H,TC3 MOV SDDD,#96H TC3: MOV R5,#0AH MOV R6,#0FFH RET K_DELAY: SETB PSW.4 SETB PSW.3 MOV R5,#0C8H JOOP1: MOV R4,#0FFH JOOP2: DJNZ R4,JOOP2 DJNZ R5,JOOP1 CLR PSW.4 CLR PSW.3 RET SJCL: MOV A,R2 MOV B,#64H DIV AB MOV XS1,A MOV A,#0AH XCH A,B DIV AB MOV XS2,A MOV XS3,B RET DIANJI: CLR C MOV A,CJDD
CJNE A,SDDD,LOOP3
CLR P1.6
CLR P1.5
AJMP TC4
LOOP3:
JC LOOP4
SUBB A,SDDD
CJNE A,#05H,LOOP5
AJMP TC4
LOOP5:
JC TC4
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ CLR P1.6 SETB P1.5 AJMP TC4 LOOP4: MOV A,SDDD SUBB A,CJDD CJNE A,#05H,LOOP6 AJMP TC4 LOOP6: JC TC4 SETB P1.6 CLR P1.5 TC4: RET DISPLAY: MOV DPTR,#DISTAB MOV R3,#01H MOV R1,# XS1 DPLOP: MOV A,@R1 MOVC A,@A+DPTR MOV P2,R3 MOV P0,A MOV A,R3 RL A MOV R3,A INC R1 LCALL DS1M CJNE R3,#08H,DPLOP MOV P0,#000H ; 一次显示结束,P0口复位 MOV P2,#000H ;P2口复位 RET DS1M: SETB PSW.4 SETB PSW.3
MOV R7,#05H
JOOP0:
MOV R6,#64H
JOOP:
DJNZ R6,JOOP
DJNZ R7,JOOP0
CLR PSW.4
CLR PSW.3
RET
; 数码管TAB
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ DISTAB: DB 03FH ;0 DB 006H ;1 DB 05BH ;2 DB 04FH ;3 DB 066H ;4 DB 06DH ;5 DB 07DH ;6 DB 007H ;7 DB 07FH ;8 DB 06FH ;9 DB 000H ;NONE EN
长 春 大 学 毕业设计(论文)纸 由于本系统中采用动态显示方式驱动3个七段数码管,来显示点滴的速度。数码管采用共阴极,由于AT89C52单片机每个I/O的拉电流只有1—2mA 。所以在位码和段码都加上了反向驱动器。
键盘采用按键开关经上拉电阻分别接P1.0、P1.1、P1.2口上,起到确定、上调和下调作用。每按上调和下调键,设定速度值增1减1。单片机XTAL2、XTAL1接12MHZ 晶振,提供系统时钟基值。另RESET 接上电复位按键。
点滴控制靠单片机检测滴速,得到一个反馈量,输出一定信号控制电机上升或下降调节滴斗的高度。点滴的控制其实是靠单片机检测滴速,得到一个反馈量,输出一定信号驱动电动机,控制电动机的正转或反转,进而带动储液瓶的上升或下降来调节滴斗的高度即控制点滴的速度。
由电路图可以看到,接收管与发射管正相对,无液滴滴下时,接收管收到信号,输出低电平;有液滴滴下时,下落的水滴对红外光有较强的漫反射、吸收及一定的发散作用,导致接收光强的较大改变,接收管不能收到较强的信号,产生一个较长的脉动,但是波形不是太好,需要经过一级施密特触发器整形,输出一个正向的脉冲信号送给单片机中断口,据此就可以正确的测出液滴的滴数,即点滴的速度(滴/分)。
传感器检测部分:系统利用红外对管发射接收即光点传感器将检测到的信号转化为控制器可以辨别的电信号。传感器检测电路包括2个单元电路:点滴速度测量电路、储液检测电路。 智能控制部分:系统中控制器件根据有传感器变换输出的电信号进行逻辑判断,控制点滴的速度及数码管的显示,完成了点滴装置的自动检测、自动调速、数码显示及报警功能等各项任务。开控制部分主要包括3个电路:单片机控制电路、电动机的驱动电路、数码管的动态显示电路。