资源预览内容
第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
第9页 / 共23页
第10页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
单片机原理课程设计课题名称:医院病房呼叫系统设计课题名称:医院病房呼叫系统设计 专业班级:电气工程及其自动化工程专业班级:电气工程及其自动化工程 学生学号:学生学号: 学生姓名:学生姓名: 指导教师:指导教师: 设计时间:设计时间:2010 年年 7 月月 5 日日-2010 年年 7 月月 10 日日 医院病程呼叫系统1目录目录摘要.0 设计任务和要求.一 整体设计.二 硬件设计.2.1 系统原理图.2.2 原器件清单.三 软件设计.3.1 功能介绍.3.2 程序流程图.3.3 程序源代码.五 心得体会.六 参考文献.医院病程呼叫系统2摘要摘要本设计是以 AT89C51 为核心的病人呼叫系统,对该系统的硬件和软件结构进行了相应的描述。通过对病区的数据采集,实现医院医疗人员值班室和病人房之间的通信呼叫联系,具有使用方便、操作简单等特点。伴随着医疗体制改革的不断深化和医疗事业的飞速发展,越来越多的人们需要迅捷、方便地得到医院的各种各样的医疗服务。这使得衡量一个医院的综合水平高低,不再仅局限于软、硬件的建设上,更要比服务。临床呼叫求助装置是传送临床信息的重要手段,关系病员安危,传统的有线呼叫系统历来受到各大医院的普遍重视。如果采用无线传输,会节约布线和改造线路的资金,为医院节约成本,并且及时、准确、可靠、简便可行,比目前的同类产品更能受到医院及病人的认可,有更强的竞争力,能大量推广。 关键字:关键字:AT89C51AT89C51 医院医院 呼叫系统呼叫系统 0 0 设计任务和要求设计任务和要求1. 应用 MCS-51 单片机设计单片机实现临床求助呼叫电路;2. 选用单片机、振荡电路的晶振和数码管作为主控制器,根据输入信号对系统 进行相应的控制。3. 硬件设计部分,根据设计的任务选定合适的单片机,根据控制对象设计接口 电路。设计的单元电路必须有工作原理,器件的作用,分析和计算过程;4. 软件设计部分,根据电路工作过程,画出软件流程图,根据流程图编写相应 的程序,进行调试并打印程序清单;5.原理图设计部分,根据所确定的设计电路,利用 Protel 工具软件绘制电路原 理图、PCB 板图、提供元器件清单一整体设计整体设计临床求助呼叫(监护)是传送临床信息的重要手段,病房呼叫系统是病人请求值班医生或护士进行诊断和护理的紧急呼叫工具,可将病人的请求快速传送给值班医生或护士,并在值班室的监控中心电脑上留下准确完整的记录,是提高医院和病室护理水平的必备设备之一。呼叫系统的优劣直接关系到病员的安危,历来受到各大医院的普遍重视。它要求及时、准确、可靠、简便可行。医院病程呼叫系统3本呼叫系统基于 Ateml89C51 单片机,振荡电路的晶振采用 12MHz,由控制核心 AT89S52 单片机、电源电路、振荡电路、复位电路、8 段数码管,4*4 键盘等部分组成,系统框图如下:电源电路AT89S51单片机复位电路振荡电路数字 显示 电路键盘键盘数字 显示 电路AT89S51单片机电源电路复位电路振荡电 路医院病程呼叫系统4二硬件设计二硬件设计2.12.1 电路原理图电路原理图工作原理为:电源电路为单片机以及其他模块提供 5V 电源。晶振模块为单片机提供时钟标准,使系统各部分能协调工作。复位电路模块为单片机系统提供复位功能。单片机作为主控制器,根据输入信号对系统进行相应的控制。复位电路:RST 引脚是复位信号输入端,高电平有效。采用上电加按钮复位,因为本系统设计考虑到该系统比较重要,所以除了采用上电复位的方式外,应该还有按钮复位备用复位方式以防止系统死机时能。如下图 2-1 所示。上电加按钮复位电路时钟电路:时钟是时序的基础,8951 核片内由一个反相放大器构成振荡器,可以由它产生时钟,时钟可以由两种方式产生内部方式和外部方式。本系统采用内部方式,在 XTAL1 和 XTAL2 端外接石英晶体作为定时元件,内部反相放大器自激振荡,产生时钟。时钟发生器对振荡脉冲二分频。电容采用 30pF 电容。如下图所示。显示电路:采用 1 位 4 段共阴极 LED,P0 口作为 LED 显示码输出端(如图下图左),P3.0、P3.1 口接线选端。P3.2 位“响应按钮”端(如下图右)医院病程呼叫系统5键盘电路:采用 P3 口与矩阵 4*4 键盘连接。键盘的选用方面,在程序调试时经过橡胶键盘与按钮键盘进行比较,橡胶键盘的正确率较高,易用性较强。最终采用用橡胶键盘此次设计的电路图如下:2.22.2 元器件列表元器件列表元件名称型号数量/个用途 单片机AT89S521控制核心 排阻4.7K1 晶振12MHz1 晶振电路医院病程呼叫系统6电容22pF2 电解电容10uF/10V1 按键5 电阻10K5复位电路 病房按钮电源5V/0.5A1电源电路 数码管1 位共阳2 解码芯片74LS472BCD 解码 蜂呜器1 电解电容1复位电路 电容1041复位电路 二极管1复位电路 发光二极管1电源显示 开关1电源开关2.32.3 仿真图仿真图:1、未通电:2、通电:医院病程呼叫系统73、低优先级病房先呼叫:(蜂鸣器响)高优先级病房后呼叫:(蜂鸣器响)医院病程呼叫系统84、高优先级病房先呼叫:(蜂鸣器响)低优先级病房后呼叫:(蜂鸣器响)呼叫有效医院病程呼叫系统95、当有两个病房同时呼叫时呼叫无效医院病程呼叫系统10三软件设计三软件设计3.13.1 功能介绍功能介绍启动系统后,数码管显示 0。当有一个病人呼叫时,数码管显示相应病房号,同时蜂鸣器响起;当有两个病人同时呼叫时,数码管显示优先级高的,同时蜂鸣器响起;当有一个病房呼叫后另一个病房呼叫,若后呼叫的病房优先级低,则数码管显示不变,若后呼叫的病房优先级高,则数码管显示后呼叫的,两种情况下蜂鸣器都会叫,只是在有别的病房呼叫时有一点变音。3.23.2 程序流程图程序流程图1 号 3 号病房同时呼叫显示 1 号医院病程呼叫系统11程序流程图如下:开始工作有一个病房呼叫有多个病房呼叫判断优先级显示病房号并响铃开始有病房再次呼叫判断优先级显示病房号并响铃3.33.3 程序源代码:程序源代码:#include 医院病程呼叫系统12#define uchar unsigned 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=0xff; reset=0; BEEP=0; flag1=0; choice(); delay(); clean(); void choice()/确定病人 while(reset!=1 if(key1=0) P0=0X86;flag=1; else if(key2=0) de(); if(key2=0flag=1;医院病程呼叫系统13 else if(key3=0) de(); if(key3=0 flag=1; else if(key4=0) de(); if(key4=0 flag=1; void clean() /RESET 为高的时候复位 if(reset=1) BEEP=0; P0=0x3f; void delay() /RESET 为低的时候延时 while(!reset) ring(); void ring() for(i=0;reset=0;i+)/喇叭发声的时间循环 de(); BEEP=!BEEP;医院病程呼叫系统14if(key1=0|key2=0|key3=0)/第二次呼叫 if(P0=0X86) P0=0X86; else if(P0=0Xdb else if(P0=0Xcf else if(P0=0Xcf else if(P0=0Xe6 else if(P0=0Xe6 else if(P0=0Xe6 void de() for(i=300;i0;i-); 四、仿真及程序调试四、仿真及程序调试此次课程设计程序完全为自己所写,图也是自己画出来的,在开始程序只能保证第一次呼叫,也就是当有一个病人呼叫后其他病人不能呼叫,在仿真的过程中,开始仿真失败,数码管完全不亮,后来发现是因为在病人的按钮开关上接了发光二极管,导致驱动不够。解决这个问题后,发现有时序混乱问题,所以又加上了 void de()函数防抖动,这处是同学提醒。之后又出现蜂鸣器不响,又加入了 ring()函数的前半部分,然而又将图中的接口与口与程序中的接口没相符,改正后蜂鸣器开始叫。最后加入了 ring 函数的 if 部分,这样在一个病房呼叫后其他优先级高的病房依旧可以呼叫,调试成功。医院病程呼叫系统15五、心得体会五、心得体会此次设
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号