基于
单片机
病床
呼叫
系统
基于单片机的基于单片机的 病床呼叫系统病床呼叫系统 一、概述 本设计是以AT89C51为核心的病人呼叫系统,对该系统的硬件和软件结构进行了相应的描述。通过对病区的数据采集,实现医院医疗人员值班室和病人房之间的通信呼叫联系,具有使用方便、操作简单等特点。伴随着医疗体制改革的不断深化和医疗事业的飞速发展,越来越多的人们需要迅捷、方便地得到医院的各种各样的医疗服务。这使得衡量一个医院的综合水平高低,不再仅局限于软、硬件的建设上,更要比服务。临床呼叫求助装置是传送临床信息的重要手段,关系病员安危,传统的有线呼叫系统历来受到各大医院的普遍重视。如果采用无线传输,会节约布线和改造线路的资金,为医院节约成本,并且及时、准确、可靠、简便可行,比目前的同类产品更能受到医院及病人的认可,有更强的竞争力,能大量推广。在医院的病房里每个床位边都装有一个呼叫按钮,当病人需要帮助时,按下呼叫按钮,护士办公室里呼叫显示板上相应房间号的指示灯点亮并进行语音提示,同时在走廊里安装一个电子显示牌,使值班护土能及时的知道哪个房间的病人需要帮助或需要进行抢救。护士站病床呼叫系统监控面板护士站病床呼叫系统监控面板 二、系统总体设计 在本系统中,我们采用单片机AT89C51为核心的系统主要包括2个部分:数据采集和数据的输出,数据的输出用来进行呼叫,编码使用单片机完成,数据采集负责接收分机发来的信号,并进行解码、显示该患者的床位号,并振铃,主机上设有键盘取消当前呼叫 AT89C51 8X8键盘 64个LED 喇叭 显示 病人呼叫系统框图 FEDCBA9801234567012345670123456789ABCDEFXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51234567891RP1RESPACK-8D1LED-GREEN取消按键取消按键LS1SOUNDER系统原理图 要实现的主要功能:病床病人按键按下时,由88键盘矩阵采集到的键值经过P0.P2输入到单片机AT89C51中,通过简单的点亮呼叫病号对应床号灯和病区内的警示灯,然后通过P1口把相关信息传送到MPX2彩屏LCD显示。同时报警警示灯闪烁、报警声响起。医疗人员可以通过控制键盘操作,完成呼叫响应和信息查询等监护工作。三、系统详细设计 1、硬件、硬件(1)单片机)单片机AT89C51 随着单片机功能集成化的发展,其应用领域也逐渐从传统的控制扩展为控制处理、数据处理以及数字信号处理等领域,AT89C51具有低电压、低功耗、性价比高、功能强、指令效率高等优点。AT89C51的主要特点,1)集成度高,易于扩展;2)较强的中断处理能力,支持异常中断、事件中断和软件中断三种类型的中断;3)高效的指令系统。程序编程指令特别严密,它有多种中断系统和多种定时器系统,可以根据需要具体选择,灵活性很大。(2)MPX2彩屏LCD电路模块 本系统采用的MPX2电路模块是一款高画质的低温多晶硅TFT真彩LCD模块,具有接口简单、编程方便、易于扩展等良好性能。MPX2内置专用驱动和控制IC,以驱动IC自己集成显示缓存。无需外部显示缓存。MPX2系列模块实际上就是将MPX2的TFT-LCD显示器连接在PCB电路板上,并加在PCB电路板上设计了总线缓冲、保护电路,以及背光限流电路,将显示器不便于与开发板连接的软PCB连接接口引出,并以DIP的双排插针引出模块以便于应用上的连接。为了方便应用上的扩展使用,MPX2系列模块将显示器主供电源和显示器背光电源分开供电。(3)报警电路的设计 主机在接受到呼叫后,首先进行报警告知值班人员。报警电路可以用单片机P2.0输出1 kHz和500 Hz的音频信号经放大后驱动其扬声器,做报警信号,要求1 kHz信号响100 ms,再500 Hz信号响200 ms,交替进行。这里使用音频放大器LM386,他的工作电压为4 12 V,输出功率最大可达1 W,输入阻抗为50 kHz。(4)键盘模块电路设计 88键盘矩阵和64个LED警示灯模块组成。在键盘扫描和LED驱动部分,使用了 LED 显示电路原理图如下图所示。FEDCBA9801234567键盘模块电路 2、软件软件 (1)系统的工作流程 N Y 开始 初始化系统 有键按下?病房指示灯亮,服务台显示床号,并响铃系统的工作流程 服务台回应 结束(2)软件设计)软件设计 该系统软件主要完成以该系统软件主要完成以AT89C51为核心的数据的为核心的数据的采集、处理和有线传输。采用模块化程序设计方法,采集、处理和有线传输。采用模块化程序设计方法,将系统软件的设计主要分为显示模块,输入模块,输将系统软件的设计主要分为显示模块,输入模块,输出模块。单片机扫描发射键,如果扫描到有发射键按出模块。单片机扫描发射键,如果扫描到有发射键按下,系统便扫描拨码开关的状态以确定地址码,通过下,系统便扫描拨码开关的状态以确定地址码,通过P0口和口和P2口开始地址码传送当服务台接收到呼叫信口开始地址码传送当服务台接收到呼叫信号后,护士值班室内的呼叫系统板上显示该患者的床号后,护士值班室内的呼叫系统板上显示该患者的床位号,并振铃。当护士按下“响应”键时,取消当前位号,并振铃。当护士按下“响应”键时,取消当前呼叫。呼叫。程序样例程序样例#include#define uchar unsigned char#define uint unsigned int sbit B1=P36;sbit B2=P37;sbit buzzer=P35;sbit clear=P34;定义字符定义字符B1,B2,BUZZER,CLEAR uchar code distab10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;uchar code keytab88=1,2,3,4,5,6,7,8,定义键盘值定义键盘值 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,;uchar bed_NO;uchar btime;uchar itime;定义字符定义字符bed_NO,uchar btime,uchar itime void delay(uint x)定义延迟程序块定义延迟程序块 uint i,j;for(i=0;ix;i+)for(j=0;j=100)itime=0;btime+;if(btime6)TR0=0;btime=0;buzzer=!buzzer;void main(void)time_init();for(;)key();display();if(TR0=0)buzzer=1;if(clear=0)服务台取消呼叫 delay(10);if(clear=0)bed_NO=0;