Ⅵ基于单片机的病房呼叫系统[摘要]该系统设计是基于51系列的单片机设计的病房呼叫系统。在该设计中每个病房都有一个按键,当患者有需要的时候,按下按键,此时,值班室的系统板上会显示此患者的床位号,此时,值班室的护士会看到哪个病房的患者又需要,然后护士按下“响应”键取消当前呼叫。在这个瞬息万变、竞争激烈的时代,选择一个优越的工具往往能提升企业在这个市场上的竞争力。尤其医院的竞争越来越激烈,商业医院的生存是第一位的,提升档次和服务质量迫在眉睫,陪护问题一直是医患矛盾的主体,也是长期困扰卫生系统服务质量的大问题,使用病房呼叫系统,方便病人更快找到医生,以节约病人的宝贵时间。系统主要用于医院、门疹、养老院等场所。可大大降低护理成本,增强护理的及时性和有效性,而且无需布线、安装极其简便。以前当病人需要服务时就不得不亲自到值班室去叫。安装该呼叫系统后,在病人与护士之间架起一座及时沟通的桥梁。使用呼叫服务系统可在减少护理人员的同时,保证病员随时能够得到服务,让每个病人及时得到最佳护。该系统就能够满足这个要求,且实际意义在于能够为医院提供一个成本低、不复杂、生产和安装方便的简单快捷系统。[关键字]单片机,点阵,LED显示,呼叫系统Ⅶ绪论第1页(共31页)1绪论1.1引言信息时代的医院管理已经从传统的人管模式,向智能化,电子化,信息化,网络化的高科技管理模式的方向迅猛发展,“病房呼叫系统”可实现医院病房的智能化管理,可实现呼叫,报警,信息储存,显示等功能。为医院和患者都带来方便。1.2设计概述1.2.1设计背景变革来自于创新,信息时代的医院管理已经从传统的人管模式,向智能化,电子化,信息化,网络化的高科技管理模式的方向迅猛发展。病房呼叫管理系统在全国大型医院病房中都有广泛的应用,它便于病人方便快捷的呼叫护士,缩短人工呼叫的时间。当今病房呼叫系统正在逐步的向智能化发展,它可以和录像机一起使用,当病人按下开关时,在护士值班室的大屏幕上能打开该病房,以此护士能观察到该病人的需要。并且,可以安装一个对讲机,能够使病人和护士进行对话。1.2.2设计目的和要求:①软件方面要求界面美观,功能齐全,能写出最优控制算法,并能制成软件。②硬件方面研制出到一套及时、准确、可靠、简便可行、利于推广的硬件控制系统,能做成集成电路,减小体积,方便存放和测试。a、系统框架建立输入系统和显示系统是设计的两大系统,因此,在开题之前要对其单独进行分析,能准确的构建系统的框架,这是对系统进行分析和控制的前提。b、控制算法的研究采用各种不同的控制方法,实现控制要求。比较控制效果和考虑性价比,从中选择合适的控制算法作为控制器,进而进行下一步的系统仿真和实验。1.3设计的内容和结构系统总体设计第2页(共31页)设计的内容共分为六章:第一章“绪论”概括了系统的基本原理、系统的控制方法及课题的背景和内容;第二章“系统总体设计”介绍如何构建系统的框图,并对每个模块部分进行功能描述;第三章“系统硬件设计”分析了系统的组成和基本工作原理,并介绍了详细的电路组成和实现。第四章“系统的软件设计”着重介绍了控制算法的软件实现、软件实验平台的结构及相关的技术问题;第五章“调试和结果”给出实验结果,并分析结果得出结论。第六章“结论及展望”对完成的工作进行总结,并对今后的工作提出建议。2系统总体设计2.1功能与方案确定2.1.1功能要求本课题主攻方向是使系统实现以下目的:1.任一病房(共16张)呼叫,医护值班室马上能响应并显示病房号;2.显示病房床号;3.若有多个病床呼叫就循环显示;4.处理完毕后清除记录;5.显示器不重复显示按一次以上的病床号2.1.2.方案论证方案一:使用8051单片微机外加作地址锁存用的一块8三态锁存器74LS373芯片和一块EPROM芯片可构成一个完整的最小微机电路]12[。以此为基础,在智能装置中若要配置多位数码管显示器,以及m行n列矩阵键盘的话,可通过扩展诸如8255或8279之类的并行1/0芯片来完成,或者通过串行通讯口P3.0(RXD)和P3:1(TXD)经多块串—并,并—串转换电路74LS164和74LS165IC芯片实现接口。按照一般的设计方法,显示和键盘搜索按下键均按动态扫描的方法进行,显示电路接口由P1口和P2口组成,键盘接口由P2口和P3口组成。在完成显示功能过程中,P1口锁存器显示字符的八段字形码,P2口的高6位(P2.7-P2.2)锁存待显示字符的位选码。8051按分时方式执行程序进入到键盘搜索时,经P2.7-P2.2输出键盘扫描的行选码,键盘的列输入由P3口的P3.7-P3.4承担缓冲功能。利用P2.7-P2.2输出数据代码的做法是通过改变程序系统总体设计第3页(共31页)计数器高6位数值来实现的。方案二:用8051自身接口实现数码管静态显示和键盘扫描使用8051单片微机外加作地址锁存用的四块8三态锁存器74LS373芯片和一块74LS138芯片可构成一个完整的最小微机电路。以此为基础,在智能装置中若要配置多位数码管显示器,以及m行n列矩阵键盘的话,可以不扩展I/O芯片而由8051自身I/O口,实现上述功能,即用P0口的八个端口作为LED的段选,用P2口的高三位连接一个三八译码器74LS138作为四个LED的片选.用P1口和P2口的低五位做键盘电路的接口。综上所述,方案一中键盘显示均采用动态扫描方式,其软件实现起来比较简单,但硬件电路过于复杂,没有合理利用单片机的I/O.而方案二外围电路简单,且软件实现起来也不是太复杂,合理利用单片机I/O口,比较起来本文采用的是方案二。2.1.3总体结构框图本设计是基于AT89C51单片机设计的病房呼叫系统设计该系统就是以Atmel公司的AT89C51单片机作为主控器,包括键盘输入电路,显示电路,以及晶振复位电路等来实现病房呼叫系统。图1病房呼叫系统结构框图2.2框架模块功能描述(1)输入部分包括按键输入,按键输入相当于一个外界的干扰信号,用于向单片机传输命令或数据。(2)调节电路部分包括晶振和复位,需要时对控制器发出中断信号,以对系统进行调节。输入部分键盘输入控制器AT89C51输出部分LED显示系统总体设计第4页(共31页)(3)微处理器采用常见的AT89C51单片机为控制核心,通过软件编程,对实时采集的温度进行处理,同时也对调节电路进行驱动和控制。(4)输出部分包括LED显示电路,将从键盘上输入的信号显示出来,给人以直观的印象。(5)系统过程的综述:键盘(按钮)输入信号,AT89C51单片机收到信号后进行处理,通过输出系统将信号显示在点阵屏上,此时还可以通过按键进行中断调节,显示会发生相应变化,实际情况出发,人们易于操作。3系统硬件设计3.1硬件构成示意图图2硬件构成示意图3.2外围电路设计单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统。单片机是单片微型机的简称,故又称为微控制器MCU(MicroControlUnit)。通常由单块集成电路芯片组成,内部包含有计算机的基本功能部件:中央处理器CPU,存储器和I/O接口电路等。因此,单片机只要和适当的软件及外部设备相结合,便可成为一个单片机控制系统[1]。3.2.1控制器AT89C52AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数系统硬件设计第5页(共31页)据存储器(RAM),器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域[2]。主要特性:a与MCS-51产品指令系统完全兼容b4K字节可重擦写Flash闪速存储器c1000次擦写周期e全静态操作:0Hz-24MHzf三级加密程序存储器g128×8字节内部RAMh32个可编程I/O口线i2个16位定时/计数器j6个中断源k可编程串行UART通道l低功耗空闲和掉电模式※输入输出引脚AT89C51引脚如图3示:图3AT89C51引脚图P0~P3:通用I/O口;VCC:电源端,一般接5V;GND:电源地;系统硬件设计第6页(共31页)XTAL1,XTAL2:外接晶体振荡器,不能超过24M;需加微调电容,一般为30pF;RST/VPD:复位端,平时为低电平;ALE/PROG:地址锁存允许信号端;EA/Vpp:外部程序存储器地址允许输入端/固化编程电压输入端;复位电路:RST引脚是复位信号输入端,高电平有效。采用上电加按钮复位,因为本系统设计考虑到该系统比较重要,所以除了采用上电复位的方式外,应该还有按钮复位备用复位方式以防止系统死机时能。如下图4所示。图4上电复位和按键复位时钟电路:时钟是时序的基础,AT89C51核片内由一个反相放大器构成振荡器,可以由它产生时钟,时钟可以由两种方式产生内部方式和外部方式。本系统采用内部方式,在XTAL1和XTAL2端外接石英晶体作为定时元件,内部反相放大器自激振荡,产生时钟。时钟发生器对振荡脉冲二分频。电容采用30pF电容。如下图5所示。图5内部时钟电路系统硬件设计第7页(共31页)3.2.2键盘电路设计1、矩阵式键盘最简单的键盘,每个键对应I/O端口的一位,没有什么键闭和时,各位均处于高电位。当有一个键按下时,就是对应位接地而成为低电位,而其它位仍为高电位。这样,CPU只要检测到某一位为”0”,便可判别出对应键已经按下。但是,当键盘上的键较多时,引线太多,占用的I/O端口也太多。比如,一个有64个键的键盘,采用这种方法来设计时,就需要64条连线和8个8位并行端口。所以,这种简单结构只用在仅由几个键的小键盘中。通常使用的键盘结构是矩阵式的,如图3.5所示。设有nm个键盘,那么,采用矩阵式结构以后,便只要nm条引线就行了。比如,有6488个键,那么,只要用两个并行端口和16条引线便可以完成键盘的连接]3[。图6矩阵键盘2、键的识别为了识别键盘上的闭和键,通常采用两种方法,一种称为行扫描法,另一种称为行反转法。(1)行扫描法的原理]2[:行扫描法识别闭和键的原理如下:先使第0行接地,其余行为高电平,然后看第0行是否有键闭和,这是通过检查列线电位来实现的,即在第0行接地时,看是否有条列线变成低电平。如果有某条列线变为低电平,则表示第0行和此列线相交位置上的键被按下;如果没有任何一条列线为低电平,则说明第0行上没有键被按下。此后,再将第1行接地,,然后检测列线中是否有变为低电平的线。如此往下逐行扫描,直到最后一行。在扫描过程中,当发现某一行有键闭合时,也就是列线输入中有一位为0时,便在扫描中途退出,而将输入值进行移位,从而确定闭合键所在的列线位置。系统硬件设计第8页(共31页)根据行线位置和列线位置便能再扫描法来确定具体位置。将行线和一个并行接口相接,CPU每次使并行输出接口的某一位为0,便相当于将某一行线接地,而其他位为1,则相当于使其他行线处于高电平。为了检查列线上的电位,将列线和一个并行输入输出口相接,CPU只要读取输入输出口中的数据,就可以设法判别出第几号键被按下[4]。从上面的原理中知道,程控扫描法是由程序控制键扫描的方法。程控扫描的任务是:①首先判断是否有键按下。其方法是使所有的行输出均为低电平,然后从端口A读入列值。如果没有键按下,则读入的列值为FFH;如果有键按下,则读入的列值不为FFH。②去除键抖动。若有键按下,则延时5~10ms,再一次判断有无键按下,如果此时仍有键按下,则认为键盘上有一个键处于稳定闭合期。③若有键闭合,则求出闭合键的键值.求键值的方法是对键盘逐行扫描。如图7是行扫描法系统硬件设计第9页(共31页)图7行扫描法的流程图调显示程序扫描整个键盘有键按下?再次扫描整个键盘有键按下?延时10ms输出使Xi为低电平此行有键按?行值+08H求下一行为低