单片机医院病房呼叫系统设计.docx
- 文档编号:12542282
- 上传时间:2023-04-20
- 格式:DOCX
- 页数:20
- 大小:306.15KB
单片机医院病房呼叫系统设计.docx
《单片机医院病房呼叫系统设计.docx》由会员分享,可在线阅读,更多相关《单片机医院病房呼叫系统设计.docx(20页珍藏版)》请在冰豆网上搜索。
单片机医院病房呼叫系统设计
单片机原理课程设计
课题名称:
医院病房呼叫系统设计
专业班级:
电气工程及其自动化工程
学生学号:
学生姓名:
指导教师:
设计时间:
2010年7月5日--2010年7月10日
目录
摘要........................................................................................................
0设计任务和要求.......................................................................................
一整体设计..............................................................................................
二硬件设计..............................................................................................
2.1系统原理图........................................................................................
2.2原器件清单.......................................................................................
三软件设计.............................................................................................
3.1功能介绍...........................................................................................
3.2程序流程图........................................................................................
3.3程序源代码........................................................................................
五心得体会.............................................................................................
六参考文献.............................................................................................
摘要
本设计是以AT89C51为核心的病人呼叫系统,对该系统的硬件和软件结构进行了相应的描述。
通过对病区的数据采集,实现医院医疗人员值班室和病人房之间的通信呼叫联系,具有使用方便、操作简单等特点。
伴随着医疗体制改革的不断深化和医疗事业的飞速发展,越来越多的人们需要迅捷、方便地得到医院的各种各样的医疗服务。
这使得衡量一个医院的综合水平高低,不再仅局限于软、硬件的建设上,更要比服务。
临床呼叫求助装置是传送临床信息的重要手段,关系病员安危,传统的有线呼叫系统历来受到各大医院的普遍重视。
如果采用无线传输,会节约布线和改造线路的资金,为医院节约成本,并且及时、准确、可靠、简便可行,比目前的同类产品更能受到医院及病人的认可,有更强的竞争力,能大量推广。
关键字:
AT89C51医院呼叫系统
1设计任务和要求
1.应用MCS-51单片机设计单片机实现临床求助呼叫电路;
2.选用单片机、振荡电路的晶振和数码管作为主控制器,根据输入信号对系统进行相应的控制。
3.硬件设计部分,根据设计的任务选定合适的单片机,根据控制对象设计接口电路。
设计的单元电路必须有工作原理,器件的作用,分析和计算过程;
4.软件设计部分,根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;
5.原理图设计部分,根据所确定的设计电路,利用Protel工具软件绘制电路原理图、PCB板图、提供元器件清单
一.整体设计
临床求助呼叫(监护)是传送临床信息的重要手段,病房呼叫系统是病人请求值班医生或护士进行诊断和护理的紧急呼叫工具,可将病人的请求快速传送给值班医生或护士,并在值班室的监控中心电脑上留下准确完整的记录,是提高医院和病室护理水平的必备设备之一。
呼叫系统的优劣直接关系到病员的安危,历来受到各大医院的普遍重视。
它要求及时、准确、可靠、简便可行。
本呼叫系统基于Ateml89C51单片机,振荡电路的晶振采用12MHz,由控制核心AT89S52单片机、电源电路、振荡电路、复位电路、8段数码管,4*4键盘等部分组成,系统框图如下:
键盘
二.硬件设计
2.1电路原理图
工作原理为:
电源电路为单片机以及其他模块提供5V电源。
晶振模块为单片机提供时钟标准,使系统各部分能协调工作。
复位电路模块为单片机系统提供复位功能。
单片机作为主控制器,根据输入信号对系统进行相应的控制。
复位电路:
RST引脚是复位信号输入端,高电平有效。
采用上电加按钮复位,因为本系统设计考虑到该系统比较重要,所以除了采用上电复位的方式外,应该还有按钮复位备用复位方式以防止系统死机时能。
如下图2-1所示。
上电加按钮复位电路
时钟电路:
时钟是时序的基础,8951核片内由一个反相放大器构成振荡器,可以由它产生时钟,时钟可以由两种方式产生内部方式和外部方式。
本系统采用内部方式,在XTAL1和XTAL2端外接石英晶体作为定时元件,内部反相放大器自激振荡,产生时钟。
时钟发生器对振荡脉冲二分频。
电容采用30pF电容。
如下图所示。
显示电路:
采用1位4段共阴极LED,P0口作为LED显示码输出端(如图下图左),P3.0、P3.1口接线选端。
P3.2位“响应按钮”端(如下图右)
键盘电路:
采用P3口与矩阵4*4键盘连接。
键盘的选用方面,在程序调试时经过橡胶键盘与按钮键盘进行比较,橡胶键盘的正确率较高,易用性较强。
最终采用用橡胶键盘
此次设计的电路图如下:
2.2元器件列表
元件名称
型号
数量/个
用途
单片机
AT89S52
1
控制核心
排阻
4.7KΩ
1
晶振
12MHz
1
晶振电路
电容
22pF
2
电解电容
10uF/10V
1
复位电路
病房按钮
按键
5
电阻
10KΩ
5
电源
5V/0.5A
1
电源电路
数码管
1位共阳
2
解码芯片
74LS47
2
BCD解码
蜂呜器
1
电解电容
1
复位电路
电容
104
1
复位电路
二极管
1
复位电路
发光二极管
1
电源显示
开关
1
电源开关
2.3仿真图:
1、未通电:
2、通电:
3、低优先级病房先呼叫:
(蜂鸣器响)
高优先级病房后呼叫:
(蜂鸣器响)
4、高优先级病房先呼叫:
(蜂鸣器响)
低优先级病房后呼叫:
(蜂鸣器响)
5、当有两个病房同时呼叫时
三.软件设计
3.1功能介绍
启动系统后,数码管显示0。
当有一个病人呼叫时,数码管显示相应病房号,同时蜂鸣器响起;当有两个病人同时呼叫时,数码管显示优先级高的,同时蜂鸣器响起;当有一个病房呼叫后另一个病房呼叫,若后呼叫的病房优先级低,则数码管显示不变,若后呼叫的病房优先级高,则数码管显示后呼叫的,两种情况下蜂鸣器都会叫,只是在有别的病房呼叫时有一点变音。
3.2程序流程图
程序流程图如下:
开始
工作
判断优先级
显示病房号并响铃
开始
判断优先级
显示病房号并响铃
3.3程序源代码:
#include
#defineucharunsignedchar
sbitkey4=P3^0;//定义按键位置
sbitkey3=P3^1;
sbitkey2=P3^2;
sbitkey1=P3^3;
sbitreset=P3^4;//复位
sbitBEEP=P1^7;//定义蜂鸣器端口
ucharflag1,i;
voidchoice();
voidclean();
voiddelay();
voidde();
voidring();
voidmain()
{
while
(1)
{
P3=0xff;
reset=0;
BEEP=0;
flag1=0;
choice();
delay();
clean();
}
}
voidchoice()//确定病人
{while(reset!
=1&&flag==0)
{
if(key1==0)
{
de();
if(key1==0)
{P0=0X86;flag=1;}
}
elseif(key2==0)
{
de();
if(key2==0&&key1!
=0)
{P0=0Xdb;flag=1;}
}
elseif(key3==0)
{
de();
if(key3==0&&key1!
=0&&key2!
=0)
{P0=0Xcf;flag=1;}
}
elseif(key4==0)
{
de();
if(key4==0&&key1!
=0&&key2!
=0&&key3!
=0)
{P0=0Xe6;flag=1;}
}
}
}
voidclean()//RESET为高的时候复位
{
if(reset==1)
{
BEEP=0;
P0=0x3f;
}
}
voiddelay()//RESET为低的时候延时
{
while(!
reset)
{
ring();
}
}
voidring()
{
for(i=0;reset==0;i++)//喇叭发声的时间循环
{
de();
BEEP=!
BEEP;
if(key1==0||key2==0||key3==0)//第二次呼叫
{
if(P0==0X86)
P0=0X86;
elseif(P0==0Xdb&&key1==0)
P0=0X86;
elseif(P0==0Xcf&&key1==0)
P0=0X86;
elseif(P0==0Xcf&&key1==1&&key2==0)
P0=0Xdb;
elseif(P0==0Xe6&&key1==0)
P0=0X86;
elseif(P0==0Xe6&&key1==1&&key2==0)
P0=0Xdb;
elseif(P0==0Xe6&&key1==1&&key2==1&&key3==0)
P0=0Xcf;
}
}
}
voidde()
{
for(i=300;i>0;i--);
}
四、仿真及程序调试
此次课程设计程序完全为自己所写,图也是自己画出来的,在开始程序只能保证第一次呼叫,也就是当有一个病人呼叫后其他病人不能呼叫,在仿真的过程中,开始仿真失败,数码管完全不亮,后来发现是因为在病人的按钮开关上接了发光二极管,导致驱动不够。
解决这个问题后,发现有时序混乱问题,所以又加上了voidde()函数防抖动,这处是同学提醒。
之后又出现蜂鸣器不响,又加入了ring()函数的前半部分,然而又将图中的接口与口与程序中的接口没相符,改正后蜂鸣器开始叫。
最后加入了ring函数的if部分,这样在一个病房呼叫后其他优先级高的病房依旧可以呼叫,调试成功。
五、心得体会
此次设计我全部采用了C语言,是因为相对于汇编语言而言,我对C语言更加熟悉,在网上病房呼叫系统的例子不多,所以只能参考一些抢答器的例子。
病房呼叫系统相比于抢答器来说,程序上简单很多,但是,如果是想自己写的话,我只能选择相对简单的,这样才好更加的了解自己设计的东西,比直接copy出来的设计会学到更多的东西。
六、参考文献
(1)余发山单片机原理及及应用技术.中国矿业大学出版社2003.12
(2)何立民著,单片机中级教程(原理与应用),北京航空航天大学出版社,2000
(3)楼然苗;李光飞单片机课程设计指导.北京航空航天大学出版社2007
(4)单片机的病房呼叫系统设计92中国呼叫系统网
(5)王建校51系列单片机及C51程序设计.科学出版社2002.4
(6)杨长春.电子报(2001年合定本).成都:
四川科学技术出版社,1997.
(7)黄靖华等基于MC145026/27的病房呼叫系统的研制中国医学装备2007年
6月第4卷第6期
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 医院 病房 呼叫 系统 设计