毕业设计病房呼叫系统管理资料.docx

上传人:b****7 文档编号:10696498 上传时间:2023-02-22 格式:DOCX 页数:26 大小:175.63KB
下载 相关 举报
毕业设计病房呼叫系统管理资料.docx_第1页
第1页 / 共26页
毕业设计病房呼叫系统管理资料.docx_第2页
第2页 / 共26页
毕业设计病房呼叫系统管理资料.docx_第3页
第3页 / 共26页
毕业设计病房呼叫系统管理资料.docx_第4页
第4页 / 共26页
毕业设计病房呼叫系统管理资料.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

毕业设计病房呼叫系统管理资料.docx

《毕业设计病房呼叫系统管理资料.docx》由会员分享,可在线阅读,更多相关《毕业设计病房呼叫系统管理资料.docx(26页珍藏版)》请在冰豆网上搜索。

毕业设计病房呼叫系统管理资料.docx

毕业设计病房呼叫系统管理资料

病房呼叫系统设计

【摘要】

本论文主要阐述了有关基于单片机的病房呼叫系统的设计。

我的设计是以AT89C51为核心的病人呼叫系统,对该系统的硬件和软件结构进行了相应的描述。

通过对病区的数据采集,实现医院医疗人员值班室和病人房之间的通信呼叫联系,具有使用方便、操作简单等特点。

病床呼叫系统是病人请求值班医生或护士进行诊断护理的紧急呼叫工具,可将病人的请求快速传送给值班医生或护士,是提高医院和病室护理水平的必要设备之一。

临床呼叫求助装置是传送临床信息的重要手段,关系病员安危,传统的病房呼叫系统普遍采用有线式,虽然布线安装繁琐、维护不便、利用率低,而且实时性差。

但是相对无线式呼叫系统而言,它的可靠性高,不会干扰其它医疗仪器设备,目前大多数医院采用有线呼叫系统,在医院的病房里每个床位边都装有一个呼叫按钮,当病人需要帮助时,按下呼叫按钮,护士办公室里呼叫显示板上相应房间号的指示灯点亮并进行声音提示。

关键词:

单片机;程序;数码管;

 

 

1任务提出与方案验证

单片机病房呼叫系统简介

病床呼叫系统是病人请求值班医生或护士进行诊断护理的紧急呼叫工具,可将病人的请求快速传送给值班医生或护士,是提高医院和病室护理水平的必要设备之一。

继电器控制的门铃式呼叫系统,由于外观粗燥、噪声大、功能单一,在医院达标定级中已不能适应现代医院的要求。

利用单片机的多机通讯功能,设计出的具有振铃、显示房号等功能的多功能病床呼叫系统,满足了医院的病房管理和护理的要求。

而现在,只需要一块几厘米见方的单片机,写入简单的程序,就可以使您以前的电路简单很多。

相信您在使用并掌握了单片机技术后,不管在您今后开发或是工作上,一定会带来意想不到的惊喜。

本设计是以AT89C51为核心的病人呼叫系统,对该系统的硬件和软件结构进行了相应的描述。

通过对病区的数据采集,实现医院医疗人员值班室和病人房之间的通信呼叫联系,具有使用方便、操作简单等特点。

单片机病房呼叫系统的发展史

随着全球老龄化进程的加快,全球生存环境的恶化,以及人类对健康关注的增加,医疗行业正快速膨胀。

由于医疗行业的客户是患者,医疗行业比任意一个行业都需要提高客户满意度。

患者希望得到最佳质量的护理和服务,因为他们的生命就掌握在服务提供者的手里,所以他们提出要求的苛刻程度超过其他任何客户。

如何更好的满足患者的要求,提高患者的满意度,是从事医疗行业的所有管理人员应该思考的问题。

在中国,约在30,000个医院中仅30%的医院拥有自己的信息管理系统,拥有前端电话接入系统的医院就更少了,前端电话接入系统包括智能话务引导,智能话务分配,传真自动收发,呼叫管理监控,短信自动收发与管理,电子邮件的收发管理等系统,这些子系统是独立于后端的业务层。

这些子系统可以把电话挂号,电话咨询专家,电话/短信/EMAIL投诉,电话回访,短信问候等前端与客户直接接触的内容有机的结合在一起。

后端客户信息管理系统主要是对会员制患者的资料的管理、对非会员患者的病例的记录与积累、业务统计分析等与提高客户满意度直接相关的子系统。

病床呼叫系统是病人请求值班医生或护士进行诊断护理的紧急呼叫工具,可将病人的请求快速传送给值班医生或护士,是提高医院和病室护理水平的必要设备之一。

继电器控制的门铃式呼叫系统,由于外观粗燥、噪声大、功能单一,在医院达标定级中已不能适应现代医院的要求。

利用单片机的多机通讯功能,设计出的具有振铃、显示房号等功能的多功能病床呼叫系统,满足了医院的病房管理和护理的要求。

而现在,只需要一块几厘米的单片机,写入简单的程序,就可以使以前的电路简单很多。

单片机病房呼叫系统功能简介

临床求助呼叫(监护)是传送临床信息的重要手段,病房呼叫系统是病人请求值班医生或护士进行诊断和护理的紧急呼叫工具,可将病人的请求快速传送给值班医生或护士,并在值班室的监控中心电脑上留下准确完整的记录,是提高医院和病室护理水平的必备设备之一,呼叫系统的优劣直接关系到病员的安危,历来受到各大医院的普遍重视。

它要求及时、准确、可靠、简便可行。

为此,我们采用单片机AT89C51为系统核心,配以LED及键盘电路模块和MPX2彩屏LCD电路模块实现病人呼叫(监护)系统的设计。

论文设计任务与要求

本次主要是设计一个单片机控制的病房呼叫系统。

利用AT89C51结合显示电路,LED数码管以及按键来设计。

在设计时,我们应将软硬件有机地结合起来,使得系统能够正确的及时的反应病人的呼叫并使服务台能够回应。

具体是设计一个可容6张床位的病房呼叫系统。

要求每个床位都有一个按钮,当患者需要呼叫护士时,按下按钮,此时护士值班室内的呼叫系统板上显示该患者的床位号,并振铃。

当护士按下“响应”键时,结束当前呼叫。

 

2单片机介绍

AT89C51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。

它集Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。

单片机引脚介绍

AT89C51可以说是最常用的51单片机了,下图介绍AT89C51的引脚图资料。

如图所示。

(1)RESET一般接2个元件:

①接10K电阻到地,②接10μ电容到电源。

(2)-EA/VPP一般情况下接高电平(这时使用MCU内部RAM/ROM)。

(3)ALE/PROG一般情况下空着(这时使用MCU内部RAM/ROM)。

(4)-PSEN一般情况下空着(当使用MCU内部RAM/ROM时)。

(5)P0内部没有上拉电阻,。

(6)XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。

内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz,晶振的频率可以在1MHz-24MHz内选择,电容取20PF左右。

(7)VDD:

电源+5V。

引脚功能说明:

Vcc:

电源电压

GND:

接地

P0口:

P0口是一组8位漏极开路型双向I/0口,也即地址/数据总线复用口。

作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在F1ash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1口:

Pl是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL),Flash编程和程序校验期间,Pl接收低8位地址。

P2口:

P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL),在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。

在访问8位地址的外部数据存储器(如执行MOVX@Ri指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。

Flash编程或校验时,P2亦接收高位地址和其它控制信号。

P3口:

P3口是一组带有内部上拉电阻的8位双向I/0口。

P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如下表所示:

P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号

RST:

复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

WDT溢出将使该引脚输出高电平,设置SFRAUXR的DISRT0位(地址8EH)可打开或关闭该功能。

DISRT0位缺省为RESET输出高电平打开状态。

ALE/PROG:

当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。

PSEN:

程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。

当访问外部数据存储器,没有两次有效的PSEN信号。

EA/VPP:

外部访问允许。

欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。

需注意的是:

如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。

F1ash存储器编程时,该引脚加上+12V的编程电压Vpp。

XTALl:

振荡器反相放大器及内部时钟发生器的输入端。

XTAL2:

振荡器反相放大器的输出端

单片机复位电路介绍

当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。

如果RST持续为高电平,单片机就处于循环复位状态。

根据应用的要求,复位操作通常有两种基本形式:

上电复位和开关复位。

复位后的状态:

a、复位后PC值为0000H,表明复位后的程序从0000H开始执行。

b、SP值为07H,表明堆栈底部在07H,一般需要重新设置SP值。

c、P0~P3口值为FFH。

P0~P3口用作输入口时,必须先写入“1”。

单片机在复位后,已使P0~P3口每一端线为“1”,为这些端线用作输入口做好了准备。

WDT溢出将使该引脚输出高电平,所以本设计采用手动复位电路:

如图所示

时钟电路的介绍

采用时钟方式时,在XTAL1和XTAL2之间接入石英晶体振荡器(晶振)即可使内部振荡器起振,产生单片机工作所需的时钟脉冲。

如图所示。

MCS-51单片机时钟脉冲也可以由外部产生,但芯片的制造工艺不同,外部时钟源的输入方式有所不同。

对于HMOS型芯片,外部振荡信号接至XIAL2引脚,XTAL1接地,XTAL2引脚对电源接入上拉电阻。

而CHMOS型芯片,外部振荡信号接至XTAL1,XTAL2悬空。

单片机的开发软件介绍

单片机的开发软件介绍单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。

机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。

Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(Vision)将这些部份组合在一起。

运行Keil软件需Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。

掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

3总体电路设计

在本系统中,采用单片机AT89C51为核心的系统主要包括2个部分:

数据采集和数据的输出,数据的输出用来进行呼叫,编码使用单片机完成,数据采集负责接收分机发来的信号,并进行解码、显示该患者的床位号,并响铃,主机上设有键盘可以取消当前呼叫。

其实现结构框图如图所示

 

 

3.1总电路图:

 

发送电路设计

电路图设计

发送电路程序设计

#include<>

#defineucharunsignedchar

#defineuintunsignedint

sbitP16=P1^6;

sbitbaojing=P3^6;

sbitd1=P0^0;

sbitd2=P0^1;

sbitd3=P0^2;

sbitd4=P0^3;

sbitd5=P0^4;

sbitd6=P0^5;

sbitP36=P3^6;

uinttemp,num,num1,a,b,num2;

ucharcodetable[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};

voidbaojin();

voiddelay(uintz)

{

uintx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

voidmain()

{

TMOD=0x20;//设置定时器1为工作方式2

TH1=0xe6;

TL1=0xe6;

TR1=1;

PCON=0x00;

SCON=0x40;

EA=1;

ES=1;

P1=0xff;

P2=0x00;

a=0;

b=0;

REN=1;

while(a==0)

{

temp=P1;

temp=temp&0xff;

if(temp!

=0xff)

{

delay(10);

temp=P1;

temp=temp&0xff;

if(temp!

=0xff)

{

ES=0;

temp=P1;

temp=temp&0xff;

switch(temp)

{

case0xfe:

num=11;

break;

case0xfd:

num=12;

break;

case0xfb:

num=13;

break;

case0xf7:

num=14;

break;

case0xef:

num=15;

break;

case0xdf:

num=16;

break;

}

while(P1!

=0xff);

delay(10);

while(P1!

=0xff);

SBUF=num;

while(TI!

=1);

TI=0;

num=num%10;

P2=table[num];

switch(num)

{

case1:

d1=0;

break;

case2:

d2=0;

break;

case3:

d3=0;

break;

case4:

d4=0;

break;

case5:

d5=0;

break;

case6:

d6=0;

break;

}

ES=1;

}

}

if(b!

=0)

{

switch(b)

{

case1:

d1=1;

break;

case2:

d2=1;

break;

case3:

d3=1;

break;

case4:

d4=1;

break;

case5:

d5=1;

break;

case6:

d6=1;

break;

}

P2=0;

b=0;

baojin();

}

}

}

voidser()interrupt4

{

RI=0;

b=SBUF;

}

voidbaojin()

{

uchari;

for(i=100;i>0;i--)

{

baojing=1;

delay(5);

baojing=0;

delay(5);

}

}

 

接收电路设计

电路图设计

程序设计

#include<>

#defineucharunsignedchar

#defineuintunsignedint

sbitP32=P3^2;

sbitk1=P2^2;

sbitk2=P2^3;

sbitqd=P2^4;

sbitP37=P3^7;

ucharcodetable[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};

uinta,n,i,j;

intflage,num,num1,num2;

intpq[7][7]={{0,0,0,0,0,0,0},{0,0,0,0,0,0,0},{0,0,0,0,0,0,0},{0,0,0,0,0,0,0},{0,0,0,0,0,0,0},{0,0,0,0,0,0,0},{0,0,0,0,0,0,0}};

voiddelay(uintz)

{

uintx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

voidmain()

{

P1=0;

P0=0;

EA=1;

EX0=1;

TCON=0x00;

TMOD=0x20;//设置定时器1为工作方式2

TH1=0xe6;

TL1=0xe6;

TR1=1;

SM0=0;

SM1=1;

RI=0;

REN=1;

flage=0;

while

(1)

{

if(flage==0)

{

while((RI!

=1)&&(flage==0));

RI=0;

num=SBUF;

num1=num/10;

num2=num%10;

P1=table[num1];

P0=table[num2];

pq[num1][num2]=num;

}

else

{

flage=0;

SBUF=num2;

while(TI!

=1);

TI=0;

}

}

}

voidwaio()interrupt0

{

flage=1;

while(P32==0)

{

if(k1==0)

{

delay(10);

if(k1==0)

{

while(k1==0);

delay(10);

while(k1==0);

for(i=36;i>0;i--)

{

num2++;

if(num2==7)

{

num2=1;

num1++;

if(num1==7)

num1=1;

}

if(pq[num1][num2]>0)

{

P1=table[num1];

P0=table[num2];

break;

}

}

}

}

if(k2==0)

{

delay(10);

if(k2==0)

{

while(k2==0);

delay(10);

while(k2==0);

for(i=36;i>0;i--)

{

num2--;

if(num2==0)

{

num2=6;

num1--;

if(num1==0)

num1=6;

}

if(pq[num1][num2]>0)

{

P1=table[num1];

P0=table[num2];

break;

}

}

}

}

if(qd==0)

{

delay(10);

if(qd==0)

{

while(qd==0);

delay(10);

while(qd==0);

pq[num1][num2]=0;

P1=0;

P0=0;

}

}

}

}

报警电路

主机在接受到呼叫后,进行报警告知值班人员。

,做报警信号,要求1kHz信号响100ms,再500Hz信号响200ms,交替进行。

这里使用音频放大器LM386,它的工作电压为4~12V,输出功率最大可达1W,输入阻抗50kHz。

 

结束语

本设计是以AT89C51为核心的病人呼叫系统,对该系统的硬件和软件结构进行了相应的描述。

通过对病区的数据采集,实现医院医疗人员值班室和病人房之间的通信

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1