单片机医院病房呼叫系统设计_第1页
单片机医院病房呼叫系统设计_第2页
单片机医院病房呼叫系统设计_第3页
单片机医院病房呼叫系统设计_第4页
单片机医院病房呼叫系统设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-单片机报告2010-05-08一 整体设计临床求助呼叫监护是传送临床信息的重要手段,病房呼叫系统是病人请求值班医生或护士进展诊断和护理的紧急呼叫工具,可将病人的请求快速传送给值班医生或护士,并在值班室的监控中心电脑上留下准确完整的记录,是提高医院和病室护理水平的必备设备之一。呼叫系统的优劣直接关系到病员的安危,历来受到各大医院的普遍重视。它要求及时、准确、可靠、简便可行。本呼叫系统基于Ateml89C51单片机,振荡电路的晶振采用12MHz,由控制核心AT89S52单片机、电源电路、振荡电路、复位电路、数码管解码芯片、病房选择和七段数码管等局部组成,系统框图如下: 选择电路电源电路AT89S

2、51 单片机复位电路振荡电路解码芯片数字显示电路二硬件设计2.1 电路原理图工作原理为:电源电路为单片机以及其他模块提供5V电源。晶振模块为单片机提供时钟标准,使系统各局部能协调工作。复位电路模块为单片机系统提供复位功能。单片机作为主控制器,根据输入信号对系统进展相应的控制。病房一共为四个,从1号病房到4号病房病人的情况由重到轻,即1号病房的优先级最高,4号病房的优先级最低。所以,当有两个病房一起呼叫时,优先级高的病房号显示;当低优先级的病房呼叫完毕后高优先级的病房呼叫,系统显示的改变;当优先级高的病房呼叫完毕后工作人员未复位的情况下,低优先级的病房呼叫无效。另外,当有病房呼叫时蜂鸣器响直至复

3、位。此次设计的电路图如下:2.2 元器件列表元件名称型号数量/个用途单片机AT89S521控制核心排阻4.7K1晶振12MHz1晶振电路电容22pF2电解电容10uF/10V1复位电路病房按钮按键5电阻10K5电源5V/0.5A1电源电路数码管1位共阳2解码芯片74LS472BCD解码蜂呜器1电解电容1复位电路电容1041复位电路二极管1复位电路发光二极管1电源显示开关1电源开关2.3 仿真图:1、 未通电:2、 通电:3、 低优先级病房先呼叫:蜂鸣器响 高优先级病房后呼叫:蜂鸣器响 呼叫有效4、 高优先级病房先呼叫:蜂鸣器响 低优先级病房后呼叫:蜂鸣器响 呼叫无效5、 当有两个病房同时呼叫时

4、 1号3号病房同时呼叫显示1 号三软件设计3.1 功能介绍启动系统后,数码管显示0。当有一个病人呼叫时,数码管显示相应病房号,同时蜂鸣器响起;当有两个病人同时呼叫时,数码管显示优先级高的,同时蜂鸣器响起;当有一个病房呼叫后另一个病房呼叫,假设后呼叫的病房优先级低,则数码管显示不变,假设后呼叫的病房优先级高,则数码管显示后呼叫的,两种情况下蜂鸣器都会叫,只是在有别的病房呼叫时有一点变音。3.2程序流程图程序流程图如下:开场工作有一个病房呼叫有多个病房呼叫判断优先级显示病房号并响铃开场有病房再次呼叫判断优先级显示病房号并响铃3.3程序源代码:*include *define uchar unsig

5、ned charsbit key4=P30;/定义按键位置 sbit key3=P31;sbit key2=P32;sbit key1=P33;sbit reset=P34;/复位sbit BEEP=P17;/定义蜂鸣器端口uchar flag1,i;void choice();void clean();void delay();void de();void ring();void main()while(1)P3=0*ff;reset=0;BEEP=0;flag1=0;choice();delay();clean(); void choice()/确定病人while(reset!=1&fla

6、g=0)if(key1=0)de();if(key1=0)P0=0*86;flag=1; else if(key2=0)de();if(key2=0&key1!=0)P0=0*db;flag=1;else if(key3=0)de();if(key3=0&key1!=0&key2!=0)P0=0*cf; flag=1;else if(key4=0)de();if(key4=0&key1!=0&key2!=0&key3!=0)P0=0*e6; flag=1;void clean() /RESET 为高的时候复位if(reset=1)BEEP=0;P0=0*3f;void delay() /RES

7、ET为低的时候延时while(!reset)ring();void ring()for(i=0;reset=0;i+)/喇叭发声的时间循环 de(); BEEP=!BEEP;if(key1=0|key2=0|key3=0)/第二次呼叫if(P0=0*86)P0=0*86;else if(P0=0*db&key1=0)P0=0*86;else if(P0=0*cf&key1=0)P0=0*86;else if(P0=0*cf&key1=1&key2=0)P0=0*db;else if(P0=0*e6&key1=0)P0=0*86;else if(P0=0*e6&key1=1&key2=0)P0=

8、0*db;else if(P0=0*e6&key1=1&key2=1&key3=0)P0=0*cf;void de()for(i=300;i0;i-);四、仿真及程序调试此次课程设计程序完全为自己所写,图也是自己画出来的,在开场程序只能保证第一次呼叫,也就是当有一个病人呼叫后其他病人不能呼叫,在仿真的过程中,开场仿真失败,数码管完全不亮,后来发现是因为在病人的按钮开关上接了发光二极管,导致驱动不够。解决这个问题后,发现有时序混乱问题,所以又加上了void de()函数防抖动,这处是同学提醒。之后又出现蜂鸣器不响,又参加了ring()函数的前半局部,然而又将图中的接口与口与程序中的接口没相符,改正后蜂鸣器开场叫。最后参加了ring函数的if局部,这样在一个病房呼叫后其他优先级高的病房依旧可以呼叫,调试成功。实物焊接焊接后实物电路图无错,但是发生接触不良现象,通电后89C51的引脚不接通,导致数码管不亮,然而摇动芯片或排阻过程中,数码管会亮,不知原因,因为剩下器材不充分,所以放弃了焊接实物。五、体会此次设计我全部采用了C语言,是因为相对于汇编语言而言,我对C语言更加熟悉,在网上病房呼叫系统的例子不多,所以只能参考一些抢答器的例子。病房呼叫系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论