单片机医院病房呼叫系统设计13467.pdf

上传人:得** 文档编号:79379621 上传时间:2023-03-21 格式:PDF 页数:8 大小:390.58KB
返回 下载 相关 举报
单片机医院病房呼叫系统设计13467.pdf_第1页
第1页 / 共8页
单片机医院病房呼叫系统设计13467.pdf_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《单片机医院病房呼叫系统设计13467.pdf》由会员分享,可在线阅读,更多相关《单片机医院病房呼叫系统设计13467.pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

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

3、优先级的病房呼叫无效。另外,当有病房呼叫时蜂鸣器响直至复位。此次设计的电路图如下: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 复位电路-.z 电容 104 1 复位电路 二极管 1 复位电路 发光二极管 1 电源显示 开关 1 电源开关 2.3 仿真图:1、未通电:2、通电

4、:3、低优先级病房先呼叫:蜂鸣器响 高优先级病房后呼叫:蜂鸣器响 4、高优先级病房先呼叫:蜂鸣器响 低优先级病房后呼叫:蜂鸣器响 呼叫无效 呼叫有效-.z 5、当有两个病房同时呼叫时 三 软件设计 3.1 功能介绍 启动系统后,数码 管 显 示0。当有一个 病 人 呼叫时,数码管 显 示 相应病房号,同时蜂鸣器响起;当有两个病人同时呼叫时,数码管显示优先级高的,同时蜂鸣器响起;当有一个病房呼叫后另一个病房呼叫,假设后呼叫的病房优先级低,则数码管显示不变,假设后呼叫的病房优先级高,则数码管显示后呼叫的,两种情况下蜂鸣器都会叫,只是在有别的病房呼叫时有一点变音。3.2 程序流程图 程序流程图如下:

5、工作 有多个病房呼叫 有一个病房呼叫 开场 1 号 3 号病房同-.z 3.3 程序源代码:*include *define uchar unsigned char sbit 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;

6、BEEP=0;flag1=0;choice();delay();clean();void choice()/确定病人 while(reset!=1&flag=0)if(key1=0)开场 显示病房号并响铃 判断优先级 判断优先级 有病房再次呼叫 显示病房号并响铃-.z 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();i

7、f(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()/RESET 为低的时候延时 while(!reset)ring();void ring()for(i=0;reset=0;i+)/喇叭发声的时间循环 -.z 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

8、=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=0*db;else if(P0=0*e6&key1=1&key2=1&key3=0)P0=0*cf;void de()for(i=300;i0;i-);四、仿真及程序调试 此次课程设计程序完全为自己所写,图也是自己画出来的,在开场程序只能保证第一次呼叫,也就是当有一个病人呼叫后其他病人不能呼叫,在仿真的过程中,开场仿真失败,数码管完全不亮,后来发现是因

9、为在病人的按钮开关上接了发光二极管,导致驱动不够。解决这个问题后,发现有时序混乱问题,所以又加上了void de()函数防抖动,这处是同学提醒。之后又出现蜂鸣器不响,又参加了 ring()函数的前半局部,然而又将图中的接口与口与程序中的接口没相符,改正后蜂鸣器开场叫。最后参加了 ring 函数的 if 局部,这样在一个病房呼叫后其他优先级高的病房依旧可以呼叫,调试成功。实物焊接-.z 焊接后实物电路图无错,但是发生接触不良现象,通电后 89C51 的引脚不接通,导致数码管不亮,然而摇动芯片或排阻过程中,数码管会亮,不知原因,因为剩下器材不充分,所以放弃了焊接实物。五、体会 此次设计我全部采用了C 语言,是因为相对于汇编语言而言,我对 C 语言更加熟悉,在网上病房呼叫系统的例子不多,所以只能参考一些抢答器的例子。病房呼叫系统相比于抢答器来说,程序上简单很多,但是,如果是想自己写的话,我只能选择相对简单的,这样才好更加的了解自己设计的东西,比直接 copy 出来的设计会学到更多的东西。实物焊接虽然最后以告终,但是,还是学会了耐心和细心,如果布局,如何走线会让电路板更加整洁,总之收获还是很多的!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁