
摘要:本论文是基于ATS52单片机设计的病房呼叫系统设计。每床都有一个按键,当患者有需要的时候,按下按键,此时,值班室的系统板上会显示此患者的床位号,并且震铃3秒。当呼叫源有呼叫信号时,在系统上有相应的声、光呼叫信号指示,并能显示出呼叫号码。然后护士按下“响应”键取消当前呼叫。本系统是一个个床位的的病房呼叫系统,具有安装方便,成本低、维修快,布线简单,不需用复杂编程等特点。通过利用Proteus专用仿真软件对其仿真,使其更加突出本设计的正确性与实用性。最后不需用复杂的编程与布线从而实现多功能的病房呼叫系统的功能。它不仅体现出现代科技的发展带来的便利,也展示出人类的智慧。
关键词: ATS52;病房呼叫;数据传输
课题设计的主要目标
根据国外与国内病房呼叫系统发展趋势,本课题设计的主要目标如下:
利用51系列单片机进行病房呼叫系统设计。
利用式键盘作为呼叫按钮。
利用两位八段数码管来显示病房呼叫的病床号。
利用Proteus ISIS仿真软件对病房呼叫系统功能进行仿真。
系统设计方案要求
病房呼叫系统设计要求
(1) 设计一个可容张床位的病房呼叫系统。
(2) 要求每个床位都有一个按钮,当患者需要呼叫护士时,按下按钮。此时护士值班室内的呼叫系统板上显示该患者的床位号,并振铃3秒。当护士按下“响应”键时,取消当前呼叫。
病房呼叫系统设计总体方案
由于需要比较多的输入输出口,所以采用内部存储资源比较多的ATS52单片机,2位LED动态显示,需要10根数据线,其中8根作为线选,相当于地址线,选择其中一位显示,另外2根作为LED显示码输入线。根据按键要求,每个病床位需要一个按钮,共个。扬声器可以用一个准I/O口。采用ATS52作为运算和控制单元完全满足系统的需求。
系统模块方案的选择与论证
系统单片机的选择与论证
方案一:采用单片机ATS52,ATS52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
方案二:采用单片机PIC16F877(A),PIC16F877(A)也是八位的单片机同时具有低工作电压、低功耗、驱动能力强等特点。PIC系列单片机的I/O 口是双向的,其输出电路为CMOS互补推挽输出电路,它的专用寄存器(SFR)是分散在四个地址区间内而51系列是集中在一个固定的区间地址即80H-FFH之间。
以上两种方案,方案一优点:ATS52的储存空间大,而且ROM可以扩展并且其引脚数比方案二多。最重要是方案要求编程简单,它的寄存器只有一个地址区间因此编程要比方案二简单的多。方案二缺点:因为寄存器的地址区间分散,所以给编程带来很多瓶颈。还有PIC单片机的性能没有51系列稳定。因此综上所述,选择方案一。
键盘方案的选择与论证
方案一 :采用矩阵式键盘,此类键盘采用矩阵式行列扫描方式,优点是可减少占用单片机的I/O口数目,使CPU有足够的资源去处理其他的工作(多机通讯)。
方案二 :采用式按键电路,每个按键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式。缺点为当按键较多时占用单片机的I/O口数目较多。
方案三:采用由8255驱动的PC机键盘。优点:占用单片机的I/O口少。缺点:键盘太大且驱动程序复杂,影响美观。
综合考虑以上的方案及题目要求,由于系统需要用到的I/O端口比较多,所以采用了方案一。
显示方案的选择与论证
方案一:采用传统的两个8位数码管(LED)动态扫描显示传输的数据信息。 方案二:采用16位字符型液晶(LCD)显示各种相关数据和信息,充分用4行液晶显示的大容量特性。
以上两种方案中,方案一优点:软件驱动简单,硬件电路调试方便,显示信息量足够用,而且结构简单;而方案二缺点:采用的16位字符型液晶(LCD)显示属于低功耗器件,但是构造复杂,而且成本比较高。经过比较选用方案一。
基于单片机病房呼叫系统的硬件主要是利用单片机ATS52,然后通过式键盘来获取呼叫的病床号,其次通过两位的八段数码管显示出病床号同时也利用报警电路进行病房呼叫报警,最后利用复位电路对整个呼叫系统进行复位,使其恢复到初始化状态。以下是系统总体主要硬件设计。
系统硬件设计
复位电路
RST引脚是复位信号输入端,高电平有效。上电加按钮复位一般由RC组成,它响应时间大约为10ms。当按下按钮时,系统会从地址0000H从新开始执行程序,如下图3-1所示。
(图3-1 复位电路图)
时钟电路
时钟是时序的基础,ATS52芯片内由一个反相放大器构成振荡器,可以由它产生时钟,时钟可以由两种方式产生内部方式和外部方式。本系统采用内部方式,在XTAL1和XTAL2端外接石英晶体作为定时元件,内部反相放大器自激振荡,产生时钟。时钟发生器对振荡脉冲二分频。电容采用33pF的电容,如下图3-2所示。
(图3-2 时钟电路)
显示电路
采用2位8段共阴极LED,P0口作为LED显示码输出端,P3.0、P3.1口接线选端,如下图3-3所示。
(图3-3 输出的LED)
在单片机应用系统中常用的显示器有发光二极管数码显示器LED(如图3-3)。LED显示器具有耗电少、成本低廉、配置简单灵活,抗干扰性强等优点,但显示内容有限,且不能显示图形,因而其灵活性受到。8段LED由7个发光二极管按“日”字形排列,阴极接在一起称为共阴极接法。
LED光源的特点:
1.电压: LED使用低压电源,供电电压在6-24V之间,根据产品不同而异,所以它是一个比使用高压电源更安全的电源,特别适用于公共场所。
2. 效能:消耗能量较同光效的白炽灯减少 80%。
3. 适用性:很小,每个单元 LED小片是3-5mm的正方形,所以可以制备成各种形状的器件,并且适合于易变的环境。
4. 稳定性: 10万小时,光衰为初始的50%。
5. 响应时间:其白炽灯的响应时间为毫秒级, LED灯的响应时间为纳秒级。
6. 对环境污染:无有害金属汞。
本系统设计的计算器输出部分采用LED,因为计算器是8位数据显示,所以用2位8段共阴极LED,采用LED动态显示,利用软件节省硬件外部资源。
响铃报警电路
响铃报警电路是整个病房呼叫系统设计中不可缺少的部分。它可以提醒医护人员及时护理病人。响铃报警部分电路是通过三极管将信号放大然后通过喇叭发出报警声音。P3.2位“响应按钮”端。如下图3-4所示。
(图3-4 振铃报警电路)
(图3-5 输入按钮)
输入按钮电路
由于个按钮比较多,如下图3-5。都使用按钮形式,每个病床位一个按钮,当病人有紧急情况时按下响应床位按钮,值班室便会及时找到该病人,如图3-5所示。
系统总体硬件电路图
系统利用单片机ATS52作为呼叫系统的核心,外围电路有:单片机最小系统模块,按键模块,显示模块,响铃模块,复位模块以及其它各应用电路。系统总体硬件如图3-6所示。
(图3-6 系统总体硬件电路)
软件是整个病房呼叫系统的灵魂。首先画出系统的主流程与子流程图,然后根据系统流程图利用汇编语言进行编写程序。该程序具有可读性、稳定性、以及易改性。最后利用各模块的程序看能否实现各模块的功能。
呼叫系统结构设计
病房呼叫系统硬件安装好后,给系统供电则系统开始准备运行,然后整个系统初始化等待呼叫。如果有病人按下呼叫按钮则响铃会报警、数码管显示病床号,否则系统继续保持初始化。当医护人员按下复位按钮时系统则会恢复到初始化状态,否则响铃一直报警、数码管一直显示呼叫病床号。病房呼叫系统总体流程图如图4-1所示。
(图4-1 呼叫系统总体流程图设计)
病房呼叫系统显示模块是用于显示呼叫病床号。首先系统初始化等待呼叫。如果有呼叫按钮按下则数码管显示呼叫病床号。当医护人员按下复位按钮则数码管显示为00并且系统恢复到初始化状态,否则一直显示病人病床号。病房呼叫系统显示模块流程图如图4-2所示。
(图4-2呼叫系统显示模块流程图)
病人呼叫系统响铃模块是起着病人呼叫报警的作用。首先系统初始化等待呼叫。如果有呼叫按钮按下则响铃会发出报警。当医护人员按下复位按钮时响铃报警则响铃停止并且系统恢复到初始化状态,否则响铃会一直报警。病房呼叫系统响铃模块流程图如图4-3所示。
图4-3呼叫系统响铃模块流程图
系统初始化及呼叫过程
启动系统后,系统进行初始化,此时,单片机执行
SETB EA
SETB EX0
SETB IT0
及 CLR P3.7
MOV 30H,#0FFH
LCALL DISPLED
进行系统初始化LED显示00,等待呼叫,如下图4-4所示。
(图4-4 等待呼叫的LED图)
然后系统进入键盘扫描,端口P2进行键盘横向扫描,初始化后输出高电平。P0端口扫描键盘列向,当有患者按下呼叫键按钮时,按钮左右电路接通,有信号输入。此时显示对应的病房号,如图4-5为按下36键。
(图4-5 36病床号)
此时,接通LED的端口输出相应信号,连接响铃spesker的P3.7端置位,LED显示按钮所代表的病床位,响铃发出报警响声,提醒值班室人员有病人出现紧急情况。如图4-3,假如32床位按下按钮,LED显示36,响铃如图4-6所示。
(图4-6 呼叫振铃)
响应过程
当有呼叫发出时,值班室人员收到相应信息后,可按下“响应按钮”,单片机执行中断程序
INTR_0: MOV 30H,#0FFH
CLR P3.7
复位按钮如图4-7所示。
(图4-7 护士看到呼叫时的响应即按下按钮)
用wave编译执行程序
伟福是单片机软件开发较好工具之一。利用伟福软件进行单片机程序编译,通过运行观察寄存器以及其它参数值来修改程序,也可以利用仿真器进行仿真。运行界面如图5-1所示。通过运行可以生成hex文件,为后面Proteus仿真做准备。
(图5-1 wave编译执行程序)
Proteus功能仿真
双击单片机ATS52出现Edit Component菜单栏,然后载入hex文件后可以进行模拟仿真,可以全速运行也可以单步调试运行。系统开机初始化上电复位后和按下响应按键后LED显示,如图5-3所示。
(图5-3系统初始化)
系统初始化后,数码管显示病床号为00。当按下18号病房呼叫按键时则数码管就会显示病床号18,同时病房呼叫系统的响铃也想起,如图5-5。当护理人员听到响铃然后查看病床号则就知道护理对象。
图(5-5)为18号病床呼叫。当护理人员按下响应按钮即复位按钮时,数码管由上图数字18变为下图(5-6)数字00,并且响铃此时会停止。此时整个呼叫系统回归到初始化状态。以上的仿真结果与课题设计要求一致。通过对病房呼叫系统的功能仿真能够清晰地了解其工作原理以及该系统的可行性与可靠性。
(图5-5 18号床位呼叫仿真)
参考文献:
[1]余发山.《单片机原理及及应用技术》.中国矿业大学出版社,2003.12
[2]何立民.《单片机中级教程(原理与应用)》.北京航空航天大学出版社, 2000.1
[3]王建校.《51系列单片机及C51程序设计》.科学出版社,2002.4
[4]杨凌霄.《微型计算机原理及应用》.中国矿业大学出版社,2004.8
[5]杨长春.《电子报( 2001 年合定本)》.四川科学技术出版社,1997.3
