液体点滴速度控制系统毕业设计.doc
毕业设计说明书题 目: 液体点滴速度控制系统 姓 名:相里富侠 学 号:0723105022 指 导 教 师: 曲瀛 专 业 年 级: 自动化 2007 所在学院和系:化工学院化工机械系 完 成 日 期: 2011年6月8日 答 辩 日 期: 2011年6月13日 液体点滴速度控制系统摘 要随着社会经济的不断发展,目前大小医院中所使用的静脉输液器都是悬挂在病人的上方才能输液,输液速度难以准确控制,这对特护病人和对输液速度有较严格的病人是不方便的,因此设计了一套针对不同病人的点滴状况进行实时监控并能准确调节点滴速度的装置。设计介绍了以单片机AT89C51为核心的一种自动化的液体点滴速度控制系统。整套装置是由AT89C51单片机、液体点滴速度测量装置、液体点滴速度控制装置、储液瓶液面检测装置、键盘装置、LCD液晶显示装置、报警装置等组成。其中以键盘及检测装置作为输入系统,以显示器、电动机控制及报警装置作为输出系统。检测装置将检测到的信号传送给单片机,单片机将信号分析、处理后然后作用于输出系统输出,其核心是通过电动机装置来实现点滴速度的自动控制。 关键词:点滴速度,红外传感器,AT89C51,步进电动目录1 绪 论11.1 引言11.2 液体点滴速度控制系统的背景11.3 液体点滴速度控制系统的国内外发展概况21.4 液体点滴速度控制系统的研究意义22 系统整体方案设计32.1系统方案确定32.2系统基本机构42.3系统工作原理43 硬件设计53.1 系统硬件的基本组成53.2 各个模块的方案选取及电路设计5 3.2.1 点滴速度测量模块53.2.2 储液瓶液面检测模块7 3.2.3 键盘输入模块8 3.2.4 显示模块9 3.2.5 电动机控制模块11 3.2.6 滑轮机械控制模块123.3其他电路12 3.3.1 振荡电路12 3.3.2复位电路13 3.3.3报警系统的设计13 3.3.4看门狗设计方案143.4元器件说明16 3.4.1 AT89C5116 3.4.2 集成运算放大器LM32418 3.4.3 电压比较器件LM33919 3.4.4 步进电机驱动ULN2003204 软件设计214.1系统的主程序设计214.2点滴速度测量子程序22 4.3储液检测子程序23 4.4点滴速度控制子程序24 4.5键盘扫描子程序25 4.6显示子程序26结 论27参考文献29致 谢29附录1程序清单33附录2电路原理图451 绪 论1.1 引言随着微电子技术及信息技术的发展和应用,医疗监护设备正在发生一场信息化的革命,传统的人工式的监护手段已经越来越不能适应当今多元化、信息化、个性化的医疗监护需求。静脉输液是一种最常用的临床治疗方法,是护理专业的一项常用给药治疗技术。临床上应根据药物和患者情况不同配以适当的输液速度。输液过快,可能会导致中毒,更严重时会导致水肿和心力衰竭;输液过慢则可能发生药量不够或无谓地延长输液时间,使治疗受到影响并给患者和护理工作增加不必要的负担。常规临床输液,普遍采用挂瓶输液,用眼睛观察,依靠手动夹子来控制输液速度,不能精确控制,而且工作量大。设计就是为解决上述的人力浪费等问题而设计的液体点滴速度自动控制系统。1.2 液体点滴速度控制系统的背景 输液是医院常用的医疗手段,它不仅是一种重要的给药途径,而且还是给患者补充体液、补充营养的重要方法。在输液过程中,输液速度是一个很重要的参数,决定输液速度的因素有以下几个方面: (1)患者年龄:成年人输液速度常在40-60滴/分,小儿、老年人不宜超过20-40滴/分。 (2)患者病情:如果患者有心脏病或肺部疾患,输液速度宜慢,一般为30-40滴/分。滴速过快会加重心脏负荷。若患者脱水严重或失血过多引起休克,则要快速补液,以补充血容量。 (3)药物种类:不同的药物滴速要求也不一样,如高渗盐水、升压药物及某些有刺激性的药物如氯化钾等输液速度宜慢,而治疗高颅压的甘露醇输液速度宜快,一瓶(250ml)一般要求在15-30分钟内滴完,否则就起不到降颅压的作用1。目前,我国医疗机构在进行输液治疗时,输液速度和输液量几乎全部都是不准确的。医生在对病人的输液治疗过程中,输液速度的控制还是采用人工方式,医生凭借经验通过转动输液器上的手动滑轮来调整输液的速度,输液量也是医生用只有两个标记的液体瓶倾倒后估计的。在输液的过程中要实时监测剩余的药液。在药液输完后,还需要由护士及时换瓶或拔除针头,加重了医护人员的工作强度。对于一些需要严格控制输液速度和输液量的药物,由于个人身体器官耐受力不同,则应根据不同病人的情况进行严格输液,尤其对于在手术中或大手术后及病情危重的患者更应该严格控制输液量和输液速度。如不严格控制不仅会导致病人病情加重,有时甚至会危及病人生命。输液泵是解决输液速度的一种有效方法,采用动力挤压输液,在一定时间内输液量是一定的,但输液期间点滴速度并不均匀,而且机器成本和耗材成本太高,只适应于急救和重症情况。SJK型数字输液监控仪性能稳定,使用简便、易操作,但价格比较昂贵,应用较少。而在未来的医疗机构里,特别是在一些大型医院里,在给病人输液时,对输液速度和输液量的数值的准确程度的要求会越来越高,因此就需要既实用又廉价的输液检测控制系统产品的出现。1.3 液体点滴速度控制系统的国内外发展概况国外对点滴输液监控装置的研制较早,如日本、美国和德国等国家上世纪80年代末就进行了这方面的研制。现在市场上流行的大多是国外产品,类型多样,性能较好,如日本JMS株式会社的OT-601型输液泵(控制精度为10)和SP-500型注射泵、TOP型输液器,美国IMED公司Gemini PC-2TX型输液器可实现四路控制,还有德国贝朗(BLBRAUN)公司的Multifuse型、Perfusor compact型(控制精度可达到2)、infusomat P型和infusomat fms型,以色列也有相应的产品,型号众多,性能较好。但是这些产品在国内只有一些大型医院引进,因其价格昂贵主要用于危重病人。国内对输液装置的研制起步较晚,大都在90年代中期开始研究,市场上也有一些国产输液装置,如北京科力丰高科技发展有限责任公司的ZNB系列产品,深圳康福特公司也有输液装置产品。不过总体来说,种类较少,性能也需改进。我国的点滴输液自动化程度得到普及,还需要很长的路要走。将来的液体输液泵将向更小型化、更便携化、控制更精确、更安全可靠发展2。1.4液体点滴速度控制系统的研究意义人工调整点滴速度不够准确和方便,而且护士需不断巡视病人的输液情况,工作量很大。为了提高医疗设备的自动化水平,给护士输液工作提供方便,给输液病人提供可靠的安全保证,于是设计从实用、可靠、操作方便、节约劳力、提高操作准确性的原则出发,提出了一种基于红外检测技术、计算机技术、电力电子技术于一体的一套不仅能够进行实时监控并能准确调节点滴速度的控制装置。这对普通病人、特护病人和输液速度有较严格要求的病人都是非常有意的。2 系统整体方案设计2.1系统方案确定液体点滴速度控制系统就是用微型计算机来控制点滴速度的装置。装置主要是通过对液体点滴的滴速进行检测并根据这些数据对滴速进行实时控制。滴速检测主要是通过传感器来实现,而对滴速进行控制可以通过以下几种方案来实现。方案一:通过改变滴斗到受液瓶的高度来调节点滴的速度。在输液管截面积确定的条件下,由公式:=可以知道压强随着液面高度的不同而不同,从而使点滴的速度不同。主要是通过电动机带动储液瓶使储液瓶上升或下降从而改变滴斗到受液瓶的高度,由此便可以调节点滴速度,此种调节方法简单,容易实现。方案二:通过控制滴速夹的松紧来控制点滴的速度,不过这种方法只适用于大范围的调节,滴速难以准确控制。方案三:通过改变输液软管的截面积来控制点滴速度。在输液瓶高度确定的条件下,通过改变输液管导通截面积来实现点滴速度的控制。因为输液软管的截面积较小且形变后恢复较慢,难以实现点滴速度的准确控制3。设计主要是为了实现液体点滴速度的准确控制,因此相比较方案一最合适。由此得出系统的原理图,如图2.1所示。要求系统实现的功能有:(1)在滴斗处检测点滴速度;(2)点滴速度要求实现自动控制,并能动态显示,滴速也可用键盘设定;(3)当液位降到储液瓶的23cm时,要求发出报警信号。图2.1系统原理图2.2系统基本结构根据系统原理图及功能要求可以将系统划分为以下几个模块:点滴速度测量模块、储液液面检测模块、键盘控制模块、显示模块、点滴速度控制模块、报警模块等。系统的基本结构框图如图2.2所示:点滴速度测量模块报警模块键盘输入AT89C51单片机电机控制模块滑轮机械模块储液液面检测模块显示模块图2.2系统基本结构框图2.3系统工作原理系统通过键盘输入模块输入预置的点滴速度并将数据信息传送给单片机,点滴速度检测系统将检测到的点滴速度以电信号形式送入单片机,单片机经运算、分析、处理后,通过输出端口将数据传送给显示模块和电机。当检测到的点滴速度和预设值不相等时,通过电机控制储液瓶的高度以调节点滴速度,使之与预设值相等。在检测点滴速度的同时储液检测系统通过传感器检测储液瓶的液面,当检测到储液瓶的液面低于储液瓶的23cm 时报警系统自动发出报警。3 硬件设计3.1系统硬件的基本组成设计中运用了检测技术、自动控制技术和电子技术。系统可以分为传感器检测部分和自动控制部分。传感器检测部分:系统利用传感器将检测到的信号转化为控制器可以辨别的电信号。传感器检测电路包括2个单元电路:点滴速度测量电路和储液检测电路。控制部分:系统中控制器件根据有传感器变换输入的电信号进行逻辑判断,控制点滴的速度。完成点滴装置的自动检测、自动调速、液晶显示屏显示以及报警功能等各项任务。主要包括3个电路:单片机控制电路、电动机的驱动电路、液晶显示屏的动态显示电路。3.2各个模块的方案选取及电路设计3.2.1点滴速度测量模块(1)点滴速度的测量方案方案一:通过采用电感式传感器测量点滴速度,即在输液器的漏斗外围用绕线圈作为敏感元件,当液滴滴下时传感器电感量会发生变化,通过LC振荡电路输出变化的频率值,经过F/V(频率/电压)变换电路及电压比较后输出TTL电平信号来检测点滴速度。方案二:采用红外对管发射接收式传感器来测量点滴速度,即采用断续式的工作方式,在点滴落下时点滴阻挡了接收管接收红外线,产生高电平的脉冲信号,在无点滴落下时接收管会接受到发射管发射的红外线,产生低电平的脉冲信号4。两种方案相比较,方案一测量精度比较高,但是外围电路比较复杂。而红外传感器尺寸小,质量轻,电路简单,性能稳定,安装在滴斗上较简单,对辅助电路要求少,此方案简单,较容易实现。因此设计中采用方案二。应用红外对管发射接收式传感器来实现点滴速度的测量。从下图中可以看到,接收管与发射管正相对,无液滴滴下时,接收管收到信号,输出低电平;有液滴滴下时,下落的水滴对红外光有较强的漫反射、吸收及一定的发散作用,导致接收光强的较大改变,接收管不能收到较强的信号,输出高电平,从而产生一个较长的脉动,但是信号很小,所以需经过一个运算放大器LM324放大之后再经过电压比较器LM339就可以输出一个正向的脉冲信号送到单片机中断口,据此就可以正确的测出液滴的滴数,即点滴的速度(滴/分)。其检测电路图如图3.1所示: 图3. 1点滴速度测量电路图 (2)点滴速度检测的硬件电路以上的液体点滴速度检测电路中包含了检测前置电路、信号放大电路、电压比较电路。 检测前置电路红外光电传感器是由红外发射管和红外接收管组成。红外发射管在恒定的电源驱动下发射恒定红外线,红外线经过外界物体产生反射,然后由接收管接收。电路如图3.2所示:图3.2红外光电传感器电路1 信号放大电路因为红外光功率的问题,其接收电路产生的信号十分微小,是mV级的电压。所以必须经过放大电路将其放大,才能得到可以识别的信号。放大器是由集成运算放大器LM324构成的同向交流放大器。其放大倍数:Av=1+R4/R5。在此Av=1+500/22=23。经过23倍的放大处理,红外光电传感器采集到的信号就可以很容易的被处理5。电路如图3.3所示:图3.3信号放大电路12 电压比较电路经过放大处理过的信号,其高电平,低电平并不是标准的,不能直接被单片机识别处理。因此需要使用电压比较器将不标准的脉冲信号转化为标准的脉冲信号。电压比较器能将输入电压和标准电压相比较。低于标准电压的,比较器输出0电压(低电压)。高于标准电压的,比较器输出高电压(4-5V)。这样,就完成了信号的转换。在此,采用集成电压比较器LM339来做电压比较。R7是电位器,调节标准电压。R8是上拉电阻。电路如图3.4所示:接单片机中端口2图3.4电压比较电路 经参考文献6发现,光电传感器的输出波形如图3.5所示,在受环境光线的影响时会出现一个液滴产生两个脉冲的现象,为此在软件上设计了消除双脉冲程序。使得双脉冲干扰问题得到较好解决。图3.5光电传感器输出波形3.2.2 储液瓶液面检测模块储液瓶液面的检测也是设计中重要的一项,在实际生活中,由于人为疏忽的缘故,使储液瓶内的药液滴完,造成病人血液回流。设计中应解决这个问题,尽量避免这种情况发生,于是要求当储液瓶的液位低于储液瓶的23cm时发出报警。此问题的关键是如何检测到储液瓶瓶内液位的高度,使报警能够实现。其中检测液位的方案很多。方案一:同点滴速度测量模块,仍然采用红外对管发射接收式,根据该接收管收到的光强的大小来判断液位是否达到警戒水位7。方案二:采用称重传感器检测,利用称重传感器测量瓶及瓶内液体总质量,并与实际测量中当液体液面下降达到设定位置时的瓶及瓶内液体总质量相比较,根据液体体积与质量的关系,当测量总质量与设定值相等时发出报警 。方案三:用测定电容的方法来检测。在瓶壁上用两块薄金属箔包裹构造出一个电容,根据电容中的介质不同,可以确定是否达到警戒水位。三种方案中,方案二和方案三实现起来都比较复杂,因此采用方案一,电路图同点滴速度检测图相同。3.2.3 键盘输入模块按键输入和显示模块是人机对话的重要组成部分,其设计原则是视觉效果好、操作简单易行、硬件设计相对简单。键盘的基本工作原理就是实时监视按键,将按键信息送入计算机。在键盘的内部设计中有定位按键位置的键位扫描电路、产生被按下键代码的编码电路以及将产生代码送入计算机的接口电路等等,这些电路被统称为键盘控制电路。根据键盘工作原理,可以把计算机键盘分为编码键盘和非编码键盘。键盘控制电路的功能完全依靠硬件来自动完成的,这种键盘称为编码键盘,它能自动将按下键的编码信息送入计算机。另外一种键盘,它的键盘控制电路功能要依靠硬件和软件共同完成,这种键盘称为非编码键盘。这种键盘响应速度不如编码键盘快,但它可通过软件为键盘的某些按键重新定义,为扩充键盘的功能提供了极大的方便,从而得到了广泛应用8。设计中键盘每个按键功能的确定:键盘需要输入数据,因此需要0-9这十个数字键,当数据输入后要通过确认键来确定或是通过清除键来清除已输入的数据;当输液过程中出现其他突发意外,如有人不小心碰错按键时可以直接通过返回键返回到上级的正常情况;此外当医生检测到病人的点滴速度需要改动时,可以在原来的点滴速度上通过上升或下降键来改动,这样改动幅度比较小,对病人的伤害也就更小;另外键盘还需要一个开/关键。其显示面板图如图3.6所示:确定清除返回下键上键0123456789开/关图3.6键盘显示面板 键盘在单片机应用系统中,实现输入数据、传送命令的功能,是人工干预的主要手段。因此选用易采用非编码键盘。非编码键盘分为独立连接式键盘和矩阵式键盘。设计中采用矩阵式键盘。该键盘又称为行列式键盘。使用I/O口线组成行列结构,在每根行线与列线的交叉处,二线并不直接相通,而是通过一个按键跨接接通。采用这种矩阵结构只需M根行输出线和N根列输入线,就可连接M*N个按键。通过键盘扫描程序的行输出与列输入就可确认按键的状态,再通过键盘处理程序可识别是哪个按键按下。由以上功能可知,设计中共使用了16个按键,因此采用4x4矩阵式键盘,其键盘的控制电路图如图3.7所示: 图3.7键盘控制电路图3.2.4显示模块常用的显示器件有显示记录仪、发光二极管(LED,Light Emitting Diode)显示器、液晶显示器(LCD,Liquid Crystal Display)等。显示记录仪是以模拟方式连续显示和记录过程参数的动态变化,虽然后来也出现了以微处理器为核心的数字式智能记录仪,但其价格昂贵,在目前的计算机控制系统中较少采用;LED数码管由于具有结构简单、体积小、功耗低、配置灵活、显示清晰、可靠性高等优点,目前已被微型计算机控制系统及仪器仪表广泛采用;而LCD则以其功耗极低,信息量大的特点,占据了计算器、便携式微型计算机等应用场合,并逐步用于智能仪器与控制系统中。设计中采用的是LCD显示器9。LCD显示器特点:(1)无辐射,益健康:液晶显示器完全无辐射;(2)机身薄,节省空间:与比较笨重的LED显示器相比,液晶显示器只要前者三分之一的空间;(3)省电,不产生高温:它属于低耗电产品,可以做到完全不发热(主要耗电和发热部分存在于背光灯管或LED),而CRT显示器,因显像技术不可避免产生高温; (4)画面柔和不伤眼:液晶显示器画面不会闪烁,可以减少显示器对眼睛的伤害,眼睛不容易疲劳。LCD显示器选用:设计采用1602型LCD,1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。1602型LCD可以显示2行16个字符,有8位数据总线D0D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能。1602采用标准的16脚接口,其中:第1脚:VSS为地电源;第2脚:VDD接5V正电源;第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度;第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器;第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据;第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令;第714脚:D0D7为8位双向数据线;第1516脚:空脚。1602液晶模块内部的控制器的控制指令:它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)。指令1:清显示,指令码01H,光标复位到地址00H位置; 指令2:光标复位,光标返回到地址00H; 指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移。S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效;指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示。C:控制光标的开与关,高电平表示有光标,低电平表示无光标。B:控制光标是否闪烁,高电平闪烁,低电平不闪烁;指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标;指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N。低电平时为单行显示,高电平时双行显示F:低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符;指令7:字符发生器RAM地址设置;指令8:DDRAM地址设置;指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令。或者数据,如果为低电平表示不忙;指令10:写数据;指令11:读数据。液晶显示模块和单片机AT89C51直接接口,电路如图3.8所示:图3.8接口电路 3.2.5电动机控制模块(1)电动机选取电动机有直流电动机、交流电动机、步进电动机等等,设计中只讨论直流电动机和步进电动机。由于直流电机上电即转动,掉电后惯性较大,停机时还会转动一定角度后才可停下来。转矩小、无抱死功能,如果要求准确停在一个位置,其闭环算法较复杂。而步进电机是用电脉冲控制的,将电脉冲信号转换成相应角位移或线位移的电动机。步进电机每输入一个脉冲信号,转子就转动一个角度或前进一步,输出的角位移或线位移与输入的脉冲数成正比。而且用单片机控制步进电机,控制信号为数字信号,不再需要数/模转换,且布距角降低小,延时短,定位准确,精度高,可操作性强10。综合考虑,设计中为了调节步长尽可能的小,定位要好,如果停止信号到来,要求能立刻停止电机,因此应选择步进电机。(2)步进电机驱动电路系统将点滴速度采集信号和储液信号进行处理后,在相应的单片机的I/O控制口输出对应的控制信号来驱动电动机的正反转,从而进行精确的控制。图3.9 步进电机驱动电路步进电机是纯粹的数字控制电动机,由电脉冲信号即可转变成角位移,比其他类型的电动机更适合于本系统,故选用步进电动机。本系统中使用步进电机来控制的高度,以控制点滴速度。由于单片机带负载能力有限,不能直接驱动步进电机转动,所以有必要在单片机和步进电机之间加上步进电机驱动电路,增加单片机带负载能力11。电路原理图如图3.9所示:单片机输出四路脉冲信号控制电动机转动相位角。单片机产生四相四拍脉冲信号的波形如图3.10所示:图3.10 四相四拍脉冲信号波形为了使步进电机控制更精确,可以采用四相八拍脉冲信号,波形图如下图3.11所示:图3.11四相八拍脉冲信号波形3.2.6滑轮机械控制模块考虑到机械设备的结构,偏心轮需要的电机扭矩要求高。拉绳比较容易卡住液体点滴速度。因此在偏心轮和拉绳机械结构中采用了拉绳结构12。图3.12a是偏心轮结构,图3.12b是拉绳结构。 轴心固定电机传动图3.12b 拉绳结构偏心轮固定板图3.12a 偏心轮结构输液管 3.3其他电路3.3.1 振荡电路AT89C51单片机时钟信号通常有两种方式:一是内部时钟方式;二是外部时钟方式。这里采用内部时钟方式。在89C51单片机内部有一振荡电路,只要在单片机的XTAL1和XTAL2引脚外接石英晶体(简称晶振)就构成了自激振荡器并在单片机内部产生时钟脉冲信号。振荡信号频率与晶振频率及电容C1、C2的容量有关,但主要由晶振频率决定,范围在033MHz之间,电容C1、C2取值范围在530pF之间。电容器C1和C2的作用是稳定频率和快速起振。设计中采用12MHZ作为系统的外部晶振13。电容取值为30pF。其电路图如图3.13 所示: XTAL2XTAL1C1C2图3.13 时钟电路3.3.2复位电路复位是使单片机或系统中其他部件处于某种确定的初始状态。单片机的工作就是从复位开始的。当在89C51单片机的RST引脚引入高电平并保持两个机器周期时,单片机内部就执行复位操作(若该引脚持续高电平,单片机就保持循环复位状态)。实际应用中,复位操作有两种基本形式:一种是上电复位,另一种是上电与按键均有效的复位。本设计中采用上电与按键相结合的复位方式。上电复位电路图如3.14所示:图3.14复位电路图上电瞬间RST引脚获得高电平,随着电容C1的充电,RST引脚的高电平将逐渐下降。RST引脚的高电平只能保持足够的时间(两个机器周期),单片机就可以进行复位操作,也可以通过手动方式实现复位。该电路典型的电阻和电容参数为:C1为10F,R1为1K,R2 为51 K。3.3.3报警系统的设计储液瓶液面不能滴完,必须保证在接近瓶口2-3cm处系统自动报警,为此本设计中利用单片机控制蜂鸣器,实现超值报警功能。在此,当液面低于瓶口2-3cm时采用蜂鸣器报警来提示医生对该位病人的点滴情况应引起注意。蜂鸣器和普通扬声器相比,最重要一个特点是只要按照极性要求加上合适的直流电压,就可以发出固有频率的声音,因此使用起来比扬声器简单。给出图3.15所示报警电路原理图。 P3.6 图3.15报警电路原理图如图3.15所示,蜂鸣器的正极接到Vcc(5V)电源上面,蜂鸣器的负极接到三极管的发射极E,三极管的基级B经过限流电阻R1后由AT89C51单片机的P3.6(WR)引脚控制,当P3.6输出高电平时,三极管T1截止,没有电流流过线圈,蜂鸣器不发声;当P3.6输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制P3.6脚的电平来使蜂鸣器发出报警信号。 程序中改变单片机P3.6引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生声音。另外,改变P3.6输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小。3.3.4看门狗设计方案由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称“看门狗”(watchdog)。工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。所以在使用有看门狗的芯片时要注意清看门狗14。看门狗电路的应用:使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间 的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段 进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个 复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。看门狗的选用:看门狗分硬件看门狗和软件看门狗。硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称“喂狗”),因此程序正常工作时,定时器总不能溢出,也就不能产生复位信号。如果程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号并重启系统。软件看门狗原理上一样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠性方面不如硬件定时器,比如系统内部定时器自身发生故障就无法检测到。由于AT89C51内没有软件看门狗功能并且考虑到系统的可靠性,因此本设计采用MAXIM公司生产的MAX706P(高电平复位)硬件看门狗。MAX706P内部由时基信号发生器、看门狗定时器、复位信号发生器及掉点电压比较器构成,其中时基信号发生器提供看门狗定时脉冲。芯片引脚和电路连接如图3.16a、3.16b所示。给出表3-1MAX1676引脚功能表。表3-1 MAX1676引脚功能引脚 名称 功能 1 PFI 电源故障监控电压输入2 PF0 电源故障输出,当监控电压PFI1.25, PF0变低3 WDI 看门狗输入4 RESET 高电平复位信号输出端。5 MR 手动复位输出6 WDO 看门狗输出MAX706P的应用图如下:VccWDIP2.0MAX706PMAX706PAT80C51 RESTWDOMRVccPF0WDIGNDPFIPFIVccVccRESTRESTWDIWDOMRP2.0图3.16(a)芯片引脚图 图3.16(b)看门狗与单片机连接图MAX706P的内部看门狗的定时器的定时时间为1.6秒,如果在1.6秒内WDI引脚保持为固定电平,看门狗定时器输出端WDO变为低电平,二极管导通,使低电平加到MR端,MAX706P产生RESET信号,使单片机复位,直到复位后看门狗被清零。将WDI接到AT89C51的P2.0线上,在程序中只要在小于1.6秒时间内该口线取反一次,既能使定时器清零而重新技术,不产生超时溢出,程序正常运行。当程序跑飞,不能执行产生WDI的跳变指令,到1.6秒WDO因超时溢出而变低,产生复位信号,使程序复位。3.4元器件说明3.4.1 AT89C51AT89C51是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域15。主要性能参数:(1)与MCS-51产品指令系统完全兼容;(2)4k字节可重擦写Flash闪速存储器;(3)1000次擦写周期;(4)全静态操作:OHz-24MHz;(5)三级加密程序存储器;(6)128X8字节内部RAM;(7)32个可编程I/O口线;(8)2个16位定时/计数器;(9)6个中断源;(10)可编程串行UART通道;(11)低功耗空闲和掉电模式;功能特性概述:AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作自到下一个硬件复位。MCS-51系列中,用HMOS工艺制造的单片机都采用双列直插式(DIP40)脚封装,引脚信号完全相同。下图为引脚图,这40根引脚大致可分为:电源(VCC、VSS、VPP、VPD)、时钟(XTAL1、XTAL2)、I/O口(P0P3)、地址总线(P0口、P2口)和控制总线(ALE、RST、PROG、PSEN、EA)等几部分。引脚图如下图所示:图3.17 AT89C51引脚图(1)电源电源VCC(引脚号40):芯片电源,接+5V。VSS(引脚号20):电源接地端。(2)时钟XTAL1(引脚号19):内部振荡电路反相放大器的输入端,是外接晶振的一个引脚,当采用外部振荡器时,此引脚接地。XTAL2(引脚号18):内部振荡器的反相放大器输出端,是外接晶振的另一端。当采用外部振荡器时,此引脚接外部振荡源。(3)控制总线ALE/PROG(引脚号正常操作时为ALE功能(允许地址锁存):用来把地址的低字节锁存到外部锁存器,ALE引脚以不变的频率(振荡器频率的1/6)周期性地发出正脉冲信号,因此,它可用做对外输出的时钟信号或用于定时。但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲。ALE端可以驱动(吸收或输出电流)8个LSTTL电路。PSEN(引脚号29):外部程序存储器读选通信号。在从外部程序存储器取指令(或数据)期间,PSEN在每个机器周期内两次有效。PSEN可以驱动8个LSTTL电路。RST/VPD(引脚9)复位信号输入端:振荡器工作时,该引脚上持续2个机器周期的高电平可实现复位操作。此引脚还可以接上备用电源。在VCC端口掉电期间,由VPD向内部RAM提供电源,以保持内部RAM中的数据。(4)I/O线P0口(引脚号3239):P0口是一组8位漏极开路型双向I/O口,可以作为单片机的双向数据总线和低8位地址总线。在访问外部存储器时实现分时操作,先用作地址总线。在ALE的下降沿,地址被锁存;然后用作数据总线。它也可以用作双向输入/输出口。P0口能驱动8个LSTTL负载。对端口写“1”;可作为高阻抗输入端用。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口(引脚号18):P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出