《基于单片机的病床呼叫系统最后.doc》由会员分享,可在线阅读,更多相关《基于单片机的病床呼叫系统最后.doc(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、毕业设计基于单片机的病床呼叫系统摘要:在大型医院中,常需要有一种内部联络和呼叫系统,以便于在病员和服务人员之间建立必要的联络,而一般的内部通话系统都比较少,经常使用的是比较便宜的呼叫指示,这种呼叫指示系统在提示的同时,能够用数码管显示各呼叫的号码。本设计是以AT89C51为核心的病人呼叫系统,对该系统的硬件和软件结构进行了相应的描述。通过对病区的数据采集,实现医院医疗人员值班室和病人房之间的通信呼叫联系,具有使用方便、操作简单等特点。这使得衡量一个医院的综合水平高低。临床呼叫求助装置是传送临床信息的重要手段,关系病员安危,传统的病房呼叫系统普遍采用有线式,虽然布线安装繁琐、维护不便、利用率低,
2、而且实时性差。但是相对无线式呼叫系统而言,它的可靠性高,不会干扰其它医疗仪器设备,目前大多数医院采用有线呼叫系统,在医院的病房里每个床位边都装有一个呼叫按钮,当病人需要帮助时,按下呼叫按钮,护士办公室里呼叫显示板上相应房间号的指示灯点亮并进行声音提示。关键词:单片机,矩阵键盘,点阵,LED显示,呼叫系统。22目 录引言11 51系列单片机的简介11.1单片机的发展介绍21.2单片机的结构特点31.3单片机的实际应用31.4 控制器AT89C5142 基于单片机的病房呼叫系统的设计的实现62.1 设计基本要求:62.2 系统总体方案:62.3 硬件电路:72.4 系统软件设计102.5系统的调试
3、与结果14结论16致谢17参考文献18附录19附录A:原理图19附录B:源程序19引言病床呼叫系统是一种应用于医院病房、养老院等地方,用来联系沟通医护人员和病员的专用呼叫系统,是提高医院水平的必备设备之一。病床呼叫系统的优劣直接影响到病员的安危,历来受到各大医院的普遍重视。它要求及时、准确可靠、简便可行、利于推广1。目前市场上存在着许多种型号不一功能各异的医院病房呼叫系统,主要为两大类:有线式和无线式2。无线式病房呼叫系统不存在铺设线路的问题,但是可靠性差,而且无线电波会干扰其他医疗仪器设备3。本文设计的是有线式的,适合较小的医院病房使用,具有成本低,易于操作、安装和维护,而且具有可靠稳定,对
4、其他医疗设备不会产生干扰的特点;但受到布线较多,影响美观,故不适宜较大的医院。病床呼叫管理系统便于病员快捷的呼叫护士,缩短人工呼叫的时间。当今病房呼叫系统正在逐步地向智能化发展,它可以和录像机一起使用,当病人按下开关时,在护士值班室的大屏幕能够观察病人的需要。并且可以配备对讲机等设备,能够使病员及时快捷地与医护人员进行沟通。1 51系列单片机的简介1.1单片机的发展介绍单片机也被称作“单片微型计算机”、“微控制器”和“嵌入式微控制器”,单片机一词最初源于“Single Chip Microcomputer”,简称SCM。随着单片机在技术和体系结构上的进步,其控制功能不断扩展,国际上逐渐采用“M
5、CU”(Micro Controller Unit,微控制器)来代替SCM。单片机的发展历史大致分为4个阶段。第一阶段:单片机的探索阶段。这一阶段主要是探索如何把计算机的主要部件集成在芯片上。第二阶段:单片机的完善阶段。Intel公司在MCS-48的基础上推出了完善的、典型的MCS-51单片机系列。它在以下几个方面奠定了典型的通用总线型单片机体系结构:设置了经典、完善的8位单片机的并行总线结构;外围功能单元由CPU集中管理的模式;体现控制特性的地址空间和位操作方式;指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。第三阶段:向微控制器发展的阶段。这一阶段主要是为了满足测控系统要求的各种
6、外围电路和接口电路,突出其职能化控制能力。第四阶段:单片机的全面发展阶段。由于很多大半导体和电气厂商都开始参与单片机的研制和生产。随着单片机在各个领域全面深入的发展和应用,逐渐出现了高速、低功耗、大寻址范围、强运算能力的8位、16位、32位通用型单片机以及小型廉价的专用型单片机,还有功能全面的片上单片机系统4。1.2单片机的结构特点单片机是微型机的一个重要分支,它在结构上的最大特点是把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模的集成电路芯片上。单片机内是一种在线式实时控制计算机,在线式就是现场控制,需要有较强的抗干扰能力,较低的成本。单片机由于这种结构,所以具有很多显著的
7、特点。主要有控制能力强,抗干扰能力强、可靠性高,性能价格比高,低功耗、低电压,扩展了多种串行口和系统扩展容易等特点。1.3单片机的实际应用单片机广泛应用于仪表仪器、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分为以下几个范畴:(1)在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等特点,广泛应用于仪器仪表中看,结合不同类型的传感器,可以实现诸如电压、功率、频率、温度、流量、速度、角度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化。且功能比采用电子和熟悉电路更加强大。例如精密的测量设备(功率计
8、、示波器和各种分析仪)。(2)在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。(3)在家用电器中的应用可以这样说,现在的家电基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子称量设备,五花八门,无其不有,无所不在。(4)在计算机网络和通信领域的应用现在的单片机普遍具有通信接口,可以很方便的与计算机实现数据通信,为计算机网络和通信设备间的应用提供了极好的物质条件,可以的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动
9、通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线对讲机等。(5)单片机在医用设备领域中的应用单片机在易用设备领域中的应用相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声波诊断设备及病床呼叫系统等等。此外单片机在工商、金融、科研、教育、国防、航空航天领域都有相当广泛的应用。1.4 控制器AT89C51 AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准MCS-51
10、指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域5。主要特性: 与MCS-51产品指令系统完全兼容 4K字节可重擦写Flash闪速存储器 1000次擦写周期 全静态操作:0Hz-24MHz 三级加密程序存储器 1288字节内部RAM 32个可编程I/O口线 2个16位定时/计数器 5个中断源 可编程串行UART通道 AT89C51单片机采用40Pin封装的双列直插 DIP结构,图1.1是它的引脚配置图。40个引脚中,正电源和地线两根;4组8位I/O口,共32个引脚;时钟电路引脚 XTAL1和
11、 XTAL2;控制信号引脚包含:复位输入端 RET,地址锁存允许输出/编程脉冲输入端 ALE/PROG,片外程序存储器选通控制信号端 PSEN,内外程序存储器选择/编程电源输入端 EA/VPP。P1.0 VccP1.1 P0.0P1.2 P0.1P1.3 P0.2P1.4 P0.3P1.5 P0.4P1.6 P0.5P1.7 P0.6RST P0.7P3.0 EA/VppP3.1 ALE/PROGP3.2 PSENP3.3 P2.7P3.4 P2.6P3.5 P2.5P3.6 P2.4P3.7 P2.3XTAL2 P2.2XTAL1 P2.1Vss P2.0AT89C51 图1.1 AT89C
12、51单片机引脚图2 基于单片机的病房呼叫系统的设计的实现 2.1 设计基本要求: 1)设计一个可容64张床位的病房呼叫系统。 2)要求每个床位都有一个按钮,当患者需要呼叫护士时,按下按钮。此时护士值班室内的呼叫系统板上显示该患者的床位号,并振铃3秒。 3)当护士按下“响应”键时,取消当前呼叫。 2.2 系统总体方案: 对于该设计我有两套实现方案,这两套方案主要根据键值显示方式的不同而划分的: 方案一、采用静态LED显示。单片机上电运行进入键盘扫描主程序即通过循环判断键盘是否有键按下,一旦有键按下,立即调用键值读入子程序主要是通过以列为单位逐行扫描按钮,后经简单加法运算得出键值。该键值被单片机读
13、入后立即通过串行口采用静态LED显示,接着单片机启动定时器后返回主程序即进入判断是否有键按下的循环。此时定时器正在计时,预先设计10ms中断一次,在中断服务程序中将P1.0取反使扬声器发声并判断3s是否到,若到则关定时器同时将P1.0清零使扬声器停止发声返回主程序,若不到3s再返回主程序。护士响应请求将键按下时,则产生外部中断,在中断服务程序中灭管停铃再返回主程序。 方案二、 采用动态LED显示。单片机上电运行进入动态显示主程序,此时显示缓冲区的显示码是灭灯显示码,该主程序通过循环反复显示缓冲区中的显示码,当有病人按下键呼叫护士时,则通过外部中断使单片机进入键值读入中断服务子程序,同时在此中断
14、服务子程序中将键值送入显示缓冲区后,立即启动定时器并返回动态显示主程序。那么由于显示缓冲区内容的更新则即可将病人病床号显示出来。此时定时器正在计时,预先设计10ms中断一次,在中断服务程序中将P1.0取反使扬声器发声并判断3s是否到,若到则关定时器同时将P1.0清零使扬声器停止发声返回主程序,若不到3s再返回主程序。护士响应请求将键按下时,则产生外部中断,在中断服务程序中灭管停铃,再返回主程序。 经过再三考虑和反复对比,最后我认为方案一即静态LED显示方案更容易实现该系统。这主要是因为编写方案一的判断是否有键按下的主程序比编写方案二动态显示的主程序更容易些,但是方案一的显示硬件电路比方案二复杂
15、一点即本设计要用到两个74LS164移位寄存器。可见软件的较易实现是以增加硬件电路为代价的。综上我采用方案一即静态LED显示方案来完成本设计任务。 2.3 硬件电路:图2.1硬件电路硬件电路描述如下:利用可编程并行接口芯片8255外扩I/O实现对矩阵式键盘的扫描与键值的读入,外部电源通过上拉电阻RESPACK接8255 PC口,PC口作为输入口构成键盘的行,8255的PA口作为输出口构成键盘的列,行列之间通过按钮连接。利用74LS373锁存器将89C51的数据线和地址线(低8位)分离出来从而使89C51具有与一般CPU相类似的三总线。74LS164移位寄存器与共阳极LED构成静态显示电路。74
16、LS164移位寄存器的时钟信号由89C51的TXD提供,显示数据由89C51的RXD串行输出到74LS164由其显示,由于串行发送数据时先发送数据的低位所以显示床号个位的74LS164移位寄存器的输入由显示床号十位的74LS164移位寄存器的最低位数据线提供。INT0接到按钮供护士响应病人请求灭管停铃之用。50HZ的方波从P1.0S输出,经简单的放大电路后驱动扬声器发声。硬件键盘电路工作原理:单片机上电运行即进入判断键盘是否有键按下主程序,8255 PA口输出全0值,后读8255 PC口若其值全1则证明键盘无键按下,若其值不全为1则证明64个键中有一键按下。单片机随机键盘扫描子程序,本设计首先
17、将第0列送0其它列送1,然后读8255 PC口通过对ACC各位的判断来识别键值。若第0列无键按下则转判下一列,最后返回。键值通过: 行首键号+列值=键值。计算得出。例如当单片机第5列即8255 PA.5口输出0时,读其PC口若ACC.3为0,则键值为24+5=29。其按键序号对应如下表:00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263图2.2键盘硬件电路图2.3 89C51的扩展三总线电路
18、图2.4 静态LED显示电路图2.5 振铃电路2.4 系统软件设计2.4.1 设计的软件环境简介Keil c:对于AT89C51的控制设计,以Keil c软件编程环境,以proteus软件为电路仿真设计环境。二者的结合为该系统的设计提供有利条件。Keil c软件界面,如图2.6所示:图2.6 Keil c软件界面该软件是一款集编程和仿真于一体的软件,它支持汇编、C语言及二者的混合编程11。2.4. 2 Proteus ISISProteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。该
19、软件的特点是:(1)全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。(2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2 C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等7。(3)目前支持的单片机类型有:ARM7系列、68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。(4)支持大量的存储器和外围芯片。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 ,可仿真ARM、
20、51、AVR、PIC9。Proteus ISIS的工作界面是一种标准的Windows界面,如图所示,包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。图2.7 电路仿真界面运行Proteus程序后,进入软件的主界面。通过左侧工具栏中的P(从库中选择元件命令)命令,在Pick Devices 左侧窗口中选择所需元件的关键字,然后放置元件并调整方向和位置以及参数设置,最后进行连线10(图2.7 电路仿真界面)。2.4. 3系统程序设计系统主程序设计的流程如图2.8所示:图2.8系统主程序设计的流程主程
21、序程序描述:首先对各存储单元初始化,设定定时初值,接着判断清零键,看是否按下,若按下,则清零,然后继续扫描键盘,如扫描到键盘有键按下,则调用计数显示子程序,循环显示病床号时,要判断标志位是否为1,若为1,则表示已经按下,则不响应,如为0,则调用循环显示病床号子程序,循环显示病床号,接着定时一秒。最后,清除定时一秒,准备下一次的定时。 显示电路流程图:初始化计算键值子程序键标志为0?(COUNTER)+1INC FLAG40个单元扫描完?调BCD调整子程序调显示子程序返回开始标志位是否为1?定时是否达到1S?调显示子程序存储单元加1NYNYYNN图2.9按键总数显示程序流程图 图2.10按键循环
22、显示子程序显示程序描述(1)按下键总数显示子程序描述(图2.9按键总数显示程序流程图) 把按键数存储单总元(COUNTER)的值经过BCD调整后十位和个位分别送(7AH)(7BH),调用显示子程序显示按键总数。(2)循环显示病床号子程序描述(图2.10按键循环显示子程序)首先判断标志位是否为0,若为0,则表对示应的存储单元里没有值存入,则再检测下一个存储单元标志位是否为0,直到检测到为1.如为1,则把值存入(BED_BOUNTER)中,接着进行BCD调整为十进制,把十位和个位分别送入(BEDCODE_1)和(BEDCODE_2)中,然后调用显示子程序,循环显示病床号。2.5系统的调试与结果系统
23、调试工作是系统开发过程中必不可少的一个过程,一个完整的控制系统调试包含控制系统的硬件联调、软件联调、系统仿真、仿真烧录和现场安装调试等几个环节。在系统设计组装完成后,首先是进行实验室条件下的系统硬件调试,调试成功后,有了硬件的保证,就容易发现软件的漏洞,进而促进改进和完善。所有的调试通过后,要进行现场运行并能持续一定的时间,待其中未发现故障后,方可验收合格,才算完成了整个系统的设计工作调试界面显示,下面是我们通过Proteus软件编程,使对应的软件仿真模块变成可视化的控制界面: 图2.11 系统初始化界面 图2.12 按下8键后界面 图2.13 按下3键后显示界面 图2.14 按下OK键后显示
24、界面结果分析:启动电源,显示屏显示0000,在按下8号键时,界下部分显示病床(即8号病床呼叫);界面上部分代表共有一个病床按下,在起始位置显示(循环显示);如果现在不按清零键,再按下3号键时,按键号循环显示,可以看出该系统具有记忆功能,以至于不会忽略之前按下的按键;图5.4反映了控制电路的可行性,按up键向后选一房间(呼叫病房),down向前选一房间(呼叫病房),ok则去房间.。综上所述,本系统实现了主要功能:显示病床号,亮报警提醒值班人员,若有多个病床同时呼叫,则循环显示病床号,确保性息不丢失,待值班人员处理呼叫信息。通过PROTEUS软件仿真,能达到上述结论,满足课题目目的,达到要求。结论
25、至此,此系统的详细设计及过程已经结束。在设计的过程中遇到了很多问题,发现了自己的不足之处,有很多没有学习,如Proteus仿真知识及操作,还有单片机的C语言编程;有些软件掌握得不够牢固,比如说wave仿真不熟练;通过此次学习,进一步加强了我的理解,同时提高了我独立自学的能力。 整个设计过程中,老师详细的指导,同学的帮助,以及校图书馆的资料给了我很大的帮助。此次设计让我从中学到很多东西。虽然中间遇到很多困难,但都对于我是一次很好的锻炼。设计以后,才更加深刻感受到自己的学习只是理论部分,而且很多时候不能付诸实践。这次设计能够让我从实践中重新学习理论知识,对我今后的工作和学习有了很多提高。但是由于本
26、人水平有限,整个设计仍有很多不足之处,如程序不够完善、灵活,显示可以采用液晶LCD模块,还有可以采用无线NRF2401射频模块及其无线扩展功能等等。完善后将会进一步提高设计的稳定性和普适性。致谢时光匆匆,大学四年已经接近尾声。这期间接受很多优秀老师的教育,和同学的帮助。在此论文完成之际,我要向这四年来帮助我的老师、同学表示由衷的感谢!这几个月的毕业设计,充满了忙碌,同时也感到学习的充实。拿到毕业设计的题目后,便开始查看资料,并作整理工作。在图书馆里找到很多有关书籍资料。然后开始整体方案的设计,并投入方案的制定。整体的实验放在最后,这其中经历很多的失败。在老师的帮助下,克服了困难。设计的系统虽然
27、不是那么完善,但也是从知识到实践的转换。我从中学到了怎样独立地思考发现问题、解决问题和进一步完善提高的能力。给我留下很多深刻的印象,这是第一次独立自主的做设计。以前重理论的学习,却忽略了实践。通过此次设计,对我今后的学习和工作必将有很大的帮助。在此,谨向所有帮助我的老师、同学表示衷心的感谢和敬意!参考文献1 朱艳华,田行军,李夏青.基于PL3105的病床呼叫系统设计J.北京石油化工学院学报,2009,17(2):40-43.2 何立民.单片机初级教程-单片机基础M.北京:北京航空航天大学出版社,2006,82(1):2-3.3 李朝青.单片机原理及接口技术M.北京:北京航空航天大学出版社,20
28、05.4丁元杰.单片微机原理及应用M.北京:机械工业出版社,1996:256-276.5何立民.单片机应用技术选编M.北京:北京:航空航天大学出版社,1996.218224. 6张培仁等.MCS-51单片机原理与应用M. 北京.清华大学出版社,2003:130145.7李伯成.单片机及嵌入式系统M. 北京:清华大学出版社,2005:337-346.8肖金球.单片机原理与接口技术M. 北京:清华大学出版社,2004:153-159.9王环,张亚宁.单片机程序设计实例M 北京:清华大学出版社,2003:520-524.10治刚.单片机应用技术与实训M. 北京:清华大学出版社,2004:130-13
29、3.11胡汉才.单片机原理及接口技术M. 北京:清华大学出版社,1995:111-123.附录附录A:原理图附录B:源程序ORG 0000HLJMP MAINORG 0003HLJMP INT0ORG 001BHLJMP INT1ORG 0100HMAIN: SETB EA SETB EX0 SETB ET1 MOV SCON, #00H MOV DPTR,#0FFFFFH MOV A,#89H MOVX DPTR,AKEY: ACALL KS1 JNZ LK1NI: ACALL DELAY AJMP KEYLK1: ACALL DELAY ACALL DELAY ACALL KS1 JNZ
30、LK2 AJMP NI LK2: MOV R2,#0FEH MOV R4,#00H LK4:MOV DPTR,#0FFFCH MOV A,R2 MOVX DPTR,A INC DPL INC DPL MOVX A,DPTR JB ACC.0 ,L1 MOV A,#00H LJMP LKP L1:JB ACC.1, L2 MOV A,#08H LJMP LKP L2:JB ACC.2, L3 MOV A,#16 LJMP LKP L3:JB ACC.3 ,L4 MOV A,#24 LJMP LKP L4:JB ACC.4 ,L5 MOV A,#32 LJMP LKP L5:JB ACC.5 ,L
31、6 MOV A,#40 LJMP LKP L6:JB ACC.6 ,L7 MOV A,#48 LJMP LKP L7:JB ACC.7, NEXT MOV A,#56 LKP:ADD A,R4 PUSH ACC LK3:ACALL DELAY ACALL KS1 JNZ LK3 POP ACC LJMP L8NEXT:INC R4 MOV A,R2 JNB ACC.7,KND RL A MOV R2,A AJMP LK4KND:AJMP KEYKS1: MOV DPTR,#0FFFCH MOV A,#00H MOVX DPTR,A INC DPL INC DPL MOVX A,DPTR CPL
32、 A RETL8: MOV 40H,A MOV B,#0AH DIV AB MOV 50H,A MOV 51H,B SETB RS0 MOV R2,#02 MOV R0,#51HDL0:MOV A,R0 MOV DPTR,#TAB MOVC A,A+DPTR MOV SBUF,ADL1:JNB TI,DL1 CLR TI DEC R0 DJNZ R2,DL0 CLR RS0 MOV TMOD,#10H MOV TH1,#0D8H MOV TL1,#0F0H SETB EA SETB ET1 SETB TR1 MOV 52H,#100 MOV 53H,#3 LJMP MAININT1:MOV T
33、H1,#0D8H MOV TL1,#0F0H DJNZ 52H,TT1 MOV 52H,#100 DJNZ 53H,TT1 LJMP TT2TT1:CPL P1.0 RETITT2: CLR TR1 CLR P1.0 RETIINT0: CLR TR1 CLR P1.0MOV SCON, #00H MOV SBUF, #0FFHDL2:JNB TI,DL2 CLR TI MOV SBUF, #0FFHDL3:JNB TI,DL3 CLR TI RETITAB: DB 0C0H,0F9H,0A4H,0B0H,99H; DB 92H,82H,0F8H,80H,90H;DELAY: MOV R7, #3DL4: MOV R6,#20DL5: MOV R5,#250DL6: DJNZ R5,DL6 DJNZ R6,DL5 DJNZ R7,DL4 RETEND