1、基于51单片机的病房呼叫系统(软件)段露露摘 要:病房呼叫系统是一种常见的、必备的医疗设备。传统的病房呼叫系统10由单片机、蜂鸣器、数码管以及矩阵键盘构成,这种病房呼叫器存在多方面的缺陷:(1)传统的病房呼叫系统,病人按键后值班室有相应显示而病房里没有反馈信息,使得对于患者及家属而言,并不知道医护人员是否得知消息;(2)它只用一个数码管显示,当多人同时按键时,数码管只能显示最先按键的病房号,后面的号码依次排队。针对上述缺陷本设计开展的工作包括:(1)增加了医护人员获得病人呼叫后的反馈信息,这个反馈信息以病房中LED灯点亮的形式,反馈给病人医护人员是否得知信息,便于病人家属采取相应措施;(2)把
2、一个数码管显示改为多个LED灯显示,所有按键的病房对应的LED灯同时点亮。该系统在原来的基础上实现了新的提升,大大增加了病房呼叫系统的时效性和实用性。关键词:病房呼叫系统;单片机;反馈;同时显示在时代科技迅猛发展的同时,电子信息技术已经深入到我们的生活当中,身边的电子产品随处可见。单片机27作为世界上数量最多的计算机,其在智能仪器仪表、工业控制、家用电器、计算机网络和通信领域、医用设备领域、汽车设备领域等方面的应用已十分广泛。因此,单片机技术开发和应用水平已逐步成为衡量一个国家工业发展水平的标志之一。病房呼叫系统56就是单片机在医用设备领域中的一个普通而重要的应用,是各个医院里的一项必须的设备
3、。该系统是住院患者和医护人员之间的一种既方便又快捷的沟通方式,主要通过病人按键和值班室亮灯、蜂鸣器发声达到传达信息的目的。本设计是基于51单片机的病房呼叫系统,以AT89C52为主控核心,在LED灯、蜂鸣器以及矩阵键盘的组合下,完成了对传统病房呼叫系统缺陷的改善和进一步升级。1 系统程序设计1.1 主程序设计流程图如图1所示,主函数1是一个完整的程序入口函数,即void main()。该设计的主函数是4*4矩阵键盘45、LED灯显示、蜂鸣器电路、按键应答和反馈电路5个子程序组。主要是通过对4*4矩阵键盘的初始化检测键盘是否有键值的输入,即判断是否有键按下。通过对键盘的扫描将键值进行处理,并送缓
4、冲区,随之LED灯变亮,蜂鸣器发声,当应答部分的有键值的输入(即护士按键响应),护士站的LED灯灭,程序结束。同时,通过延时判断是否有应答,当无应答时则会反馈给病房,病房的LED灯点亮开始初始化是否有呼叫病房LED灯亮扫描键盘键盘值处理、送缓冲区延时初始化灯亮、蜂鸣器响灯灭响应复位结束图1 系统功能流程图1.2 矩阵键盘程序读取矩阵键盘如图2所示,首先需要对4*4矩阵键盘进行识别,判断键盘有无按键按下,若无键按下返回。如果有键按下,找出具体的按键值。键盘键值读取可分为4部分,每排为一个部分,当一排当中有一个键或多个键同时按下时,读取的键值是一样的。图2 矩阵键盘图1.3 LED灯介绍及设计LE
5、D灯的主要部件是一快半导体的晶片7,晶片的一端上有一个支架,一端是正极,而另一端则是负极,环氧树脂封装着整个晶片。半导体晶片可分为两部分,一部分是N型半导体,在这边主要是电子,另一端是P型半导体,在它里面空穴占主导地位。这两种半导体可以连形成一个“P-N结”。当这个晶片通过电流起作用的时候,被推向P区的电子就会与P区里的空穴复合,然后会放出能量,这就是LED发光的原理。本设计采用LED灯亮灯显示。系统共设计8个LED灯显示,分别是护士站4个,设计中的4个病房,每个病房一个。在第一个病房一排按键中,如果有键按下,led11处于低电平,即护士站的第一个LED灯点亮;同理,当第二个病房的二排按键中有
6、键按下,Led22处于低电平,护士站的第二个LED灯点亮;设计中的4个病房是同样的道理。1.4 蜂鸣器设计本设计利用蜂鸣器的发声达到系统功能的实现,蜂鸣器选用5V电磁式有源蜂鸣器,由于蜂鸣器的工作电流一般比较大,以至于单片机的I/O口是无法直接驱动的,所以要利用三极管开关电路来驱动。本处选用的是8550三极管,它是一个PNP型的三极管。基极串联一个1K的电阻连接到单片机的I/O口时。当I/O口输出低电平时,三极管导通,蜂鸣器鸣叫;当I/O口输出高电平时,三极管截止,蜂鸣器停止鸣叫。2 程序2.1 源程序/* 单片机中断头文件单片机 AT89C52 实现功能:单片机中断的控制控制*/#ifnde
7、f _INTERRUPT_H_#define _INTERRUPT_H_#include#define uchar unsigned char#define uint unsigned int/*引脚定义*/sbit led1=P17; /LED灯sbit led2=P16;sbit led3=P15;sbit led4=P14;sbit led11=P27;sbit led22=P25;sbit led33=P23;sbit led44=P21;sbit led=P10; /工作指示灯/*变量定义*/uint T0_num,T1_num;/*函数名称:void T0_init()函数作用:定
8、时器0初始化函数参数说明:*/void T0_init()EA=1; /开总中断ET0=1; /定时器T0中断允许 TMOD=0x11; /使用定时器T0、T1的模式1TH0=(65536-50000)/256; /定时器T0的高8位赋初值TL0=(65536-50000)%256; /定时器T0的高8位赋初值TR0=0; /关闭定时器ET1=1; /定时器T0中断允许 TH1=(65536-50000)/256; /定时器T0的高8位赋初值TL1=(65536-50000)%256; /定时器T0的高8位赋初值TR1=0; /关闭定时器/*函数名称:void T0_interrupt(voi
9、d) interrupt 1 using 0函数作用:定时器0中断处理函数参数说明:*/void T0_interrupt(void) interrupt 1 using 0TH0=(65536-50000)/256; /定时器T0的高8位重新赋初值TL0=(65536-50000)%256; /定时器T0的高8位重新赋初值T0_num+;if(T0_num=600)T0_num=0;T1_num=0;/打开按键旁边的灯if(led11=0)led1=0;if(led22=0)led2=0;if(led33=0)led3=0;if(led44=0)led4=0;TR1=1;/开启10定时TR0
10、=0;/*函数名称:void T1_interrupt(void) interrupt 3函数作用:定时器1中断处理函数参数说明:*/void T1_interrupt(void) interrupt 3TH1=(65536-50000)/256; /定时器T0的高8位重新赋初值TL1=(65536-50000)%256; /定时器T0的高8位重新赋初值T1_num+;if(T1_num=200)T1_num=0;P1=0xff;led=0;TR1=0;TR0=0;#endif#include#includesbit key=P20; /护士键sbit key1=P37; /按键sbit ke
11、y2=P36;sbit key3=P35;sbit key4=P34;sbit buzz=P04; /蜂鸣器/*函数名称:void main()函数作用:主函数*/void main()led=0;T0_init();while(1)if(P3!=0xff) /检测键盘while(P3!=0xff) /检测按键离开if(key1=0) /第一排led11=0;TR0=1;buzz=0;if(key2=0) /第二排led22=0;TR0=1;buzz=0;if(key3=0) /第三排led33=0;TR0=1;buzz=0;if(key4=0) /第四排led44=0;TR0=1;buzz=
12、0;if(key=0) /护士按键buzz=1; /清除LED灯和蜂鸣器,定时器led1=1;led2=1;led3=1;led4=1;led11=1;led22=1;led33=1;led44=1;TR0=0;TR1=0;T0_num=0;T1_num=0;3 程序调试及实现3.1 软件开发环境此设计的编程8实现由Keil Vision4进行。Keil C51是由美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。其C语言在结构性、可读性、可维护性、功能上都相较于汇编语言有明显的优势,便于学习和使用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的
13、仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。3.2 系统软件调试本课题的程序使用Keil软件进行编写和调试8,检查程序准确无误后将编写好的程序生成.hex文件,下载到单片机中,下载使用的下载器为PL2303。通过观察整个系统运行的状态,看其是否达到本课题的设计目标,然后进行反复修改、调试程序,以此得到一个最终确定的程序。4 结束语本次课题的设计是基于单片机的病房呼叫系统67的改进,新增的同时显示功能和反馈功能使得病房呼叫系统这项设备在原来的基础之上得到改善。其中(1)反馈
14、功能避免了病人按键后,并不知道医护人员是否得知消息,只能等候。改进后的病房呼叫系统,当患者按键信息到达值班室,医护人员按下“应答”键,并及时为患者提供服务。假若值班室无人,“应答”键没有按下,则相应的患者房间里对应的LED灯点亮,方便患者家属采取相应措施。(2)同时显示功能避免了传统病房呼叫系统多人按键,必须按照按键时间先后顺序排队显示的烦恼。本课题改进的按键显示为一个病房对应一个LED灯,不同病房的多人按键可以同时显示,重症病房的前两排按键对应前面的两个LED灯,便于医护人员同时为需要帮助的患者服务。改进之后的病房呼叫系统4-10将更适用于各医院,甚至是敬老院等场所,提高医院的服务质量,降低
15、医用设备的成本。本次设计是在小组成员的共同合作下完成的,让我们在完成作品的同时懂得了分工与合作的重要性,制作过程使得平时课堂上的很多理论知识得了实践应用。其中,我涉及最多的是软件部分,当然,以上文章所述都是围绕软件部分展开,本次设计使我对计算机语言、程序的设计和编写有了一定的认识和提高。参考文献1谭浩强,张基温.C语言程序设计教程M.北京:高等教育出版社,2011:3-199.2阎石,等.数字电子技术基础M.北京:高等教育出版社,1981:2-99.3李中伟,朱永涛.新型无线病房呼叫系统的设计J.电子世界,2014:224-224.4苏家健,曹柏荣,汪志锋.单片机原理及应用技术M.北京:高等教
16、育出版社,2015:4-100.5颜靖松,许建明等. 基于单片机的无线病房呼叫系统设计D.北京:数字技术与应用,2015:151-152.6陈新岗等.基于单片机的无线病房呼叫系统设计D.重庆:重庆工学院学报,2008:126-130.7艾学忠,刘伟,陈北辰.单片机原理及接口技术M.北京:机械工业出版社,2012:2-168.8夏宇闻,等.Verilog数字系统设计教程M.北京:北京航空航天大学出版社,2013:3-200.9沈凯,吴清萍.基于单片机的病房呼叫系统设计D.现代电子技术,2011:1-3.10王安,丁晓迪,常亮.基于AT89C52单片机的单片机的病房呼叫系统设计J.硅谷,2010:
17、108-108.目 录第一章 总论1一、项目概况1二、项目提出的理由与过程6三、项目建设的必要性8四、项目的可行性12第二章 市场预测15一、市场分析15二、市场预测16三、产品市场竞争力分析19第三章 建设规模与产品方案22一、建设规模22二、产品方案22三、质量标准22第四章 项目建设地点25一、项目建设地点选择25二、项目建设地条件25第五章 技术方案、设备方案和工程方案28一、技术方案28二、产品特点30三、主要设备方案32四、工程方案32第六章 原材料与原料供应35一、原料来源及运输方式35二、燃料供应与运输方式35第七章 总图布置、运输、总体布局与公用辅助工程37一、总图布置37二
18、、 运输38三、总体布局38四、公用辅助工程39第八章 节能、节水与安全措施44一、主要依据及标准44二、节能44三、节水45四、消防与安全45第九章 环境影响与评价47一、法规依据47二、项目建设对环境影响48三、环境保护措施48四、环境影响评价49第十章 项目组织管理与运行50一、项目建设期管理50二、项目运行期组织管理52第十一章 项目实施进度55第十二章 投资估算和资金筹措56一、投资估算56二、资金筹措58第十三章 财务评价与效益分析61一、项目财务评价61二、财务评价结论65三、社会效益68四、生态效益68第十四章 风险分析70一、主要风险分析识别70二、风险程度分析及防范风险的措施70第十五章 招标方案72一、招标范围72二、招标组织形式72三、招标方式72第十六章 结论与建议74一、可行性研究结论74二、建议75附 件77一、附表77二、附件77三、附图77