1、大学毕业设计摘 要病房呼叫系统由安装在护士站的报警装置和病房床头的呼叫单元组成,是病人请求医生或护士进行诊断和护理的工具。借助病房呼叫系统架起一座病患与医护人员之间及时沟通的桥梁,可以提高医护人员的工作效率及对病人的服务水平,进而保证病人的安全。同时可以合理配置护理人员,降低运行成本,提高医院收益。该系统以STC89C52单片机为控制核心,它控制呼叫检测、呼叫响应、呼叫报警、呼叫显示和数据通信。系统设计采用主从结构。从机实现呼叫检测功能,主机实现声光报警、LCD显示和与PC通信等功能,主、从机借助串行通信实现呼叫信息的传输。本设计经过原理图设计、元器件焊接,布线和编程调试等过程,最后对系统进行
2、了整体测试。结果表明,系统各功能模块工作状态良好,整个系统设计基本上达到了预期的目标。关键字:病房呼叫系统;STC89C52 单片机; LCD显示;声光报警;串行通信AbstractWard Calling System, consisting of the alarm-device in the nurse station and the calling-device in the ward, is an important tool for patients to ask doctors or nurses for help. With the ward calling system se
3、tting up a timely communication bridge between patients and medical staff, can improve the staffs work efficiency and service level of the patient and ensure the safety of the patients.Using the ward calling system can rational allocation of nursing personnel cost at the same time, reducing the runn
4、ing cost and improving the hospital profit.STC89C52 single-chip microcomputer is the control core of the system,which controls call testing,call response,call alarm,call display and data transmission.The system uses the master-slave structure design. The slave has the function of call and the host h
5、as the function of alarm, LCD display, and communication with PC,by the serial communication realizing the information transmission between the slave and the master.After schematic design,components welding, wiring and programming debugging process, finally carried out overall tests on the system. R
6、esults show that the systems each function module works in good condition, the whole system design basically reached the expected goal.Key words: ward calling system; STC89C52; LCD display;sound-light alarm; serial communication目 录1 绪 论 11.1 设计背景 11.2 国内外发展状况 11.3 设计的目的和意义 12 系统总体设计 32.1 设计需要实现的功能 3
7、2.2 设计方案的选择与比较 32.2.1 键盘选择比较 32.2.2 显示器件选择比较 42.2.3 通信方式选择比较 42.3 设计原理框图 43 系统硬件设计 63.1 单片机最小系统设计 63.1.1 STC89C52简介 63.1.2 单片机的外围电路设计 73.2 键盘模块设计 73.3 LCD1602显示模块设计 83.4 报警模块设计 93.5 串行通信模块设计 93.5.1 串口通信RS-232-C 93.5.2 MAX232 114 系统软件设计 124.1 模块化编程 124.2 键盘扫描模块 124.3 LCD1602显示模块 134.4 单片机串行通信 144.5 系
8、统程序设计 154.5.1 从机程序设计 154.5.2 主机程序设计流程 154.6 软件调试与仿真 175 实物设计与制作 206 总结 22参考文献 23致谢 24附 录 25附录 电路原理图设计 25附录 系统程序设计 261 绪 论1.1 设计背景近年来人们对医疗服务的要求不断提高,尤其是在突发情况下病人期望及时得到医生或护士的诊断和护理。在没有应用病房呼叫系统的情况下,病人遇到突发情况,可能得不到医护人员及时的救助,错过了最佳治疗的时间,最后小病酿成大病,重病以致无药可医,造成悲剧的发生,也加重了医、患矛盾。病房呼叫这一环节不仅体现着对病人生命的负责,也展现了医院的服务效率,对于改
9、善医患关系和提高医院的服务水平有重大意义。因此,病房呼叫系统的设计开发具有重要的实用意义。随着科技的进步,将计算机技术、通信技术、信息技术和自动化控制技术等运用在医疗服务中,病房呼叫系统可实现医院病房的智能化管理,包含产生呼叫,呼叫报警,呼叫显示,呼叫信息的储存与管理等功能,为医院和患者都带来方便。1.2 国内外发展状况近年来随着生物医学传感器的小型化、信息处理和无线数据传输技术的发展和普及,使得无线医疗呼叫系统的研制成为热点。各国科研机构和跨国公司竞相开展无线医疗呼叫系统及其应用研发。其中哈佛大学的CodeBlue系统、法国CRNS 研究机构的MARSIAN 项目、NASA阿莫斯实验室和斯坦
10、福大学开发的LifeGuard 系统、第一军医大学的士兵生命状态远程监视机定位系统和上海大学的无线医疗监护系统具有代表性。目前,在医疗监护领域,研究人员已经将ZigBee技术应用建立无限个人健康监护局域网,其主要通过ZigBee技术将多个人体生理信息监测装置组网。美国学者Emiljovanovd等人实现一种用于监护的无线局域网(WBAN),该系统是基于ZigBee技术的多通道遥测系统,集成多种传感器,可以实时采集、分析各种生理数据,并且通过Internet将数据以电子病历的形式存于数据库中,可以用于术后监护或急救。1.3 设计的目的和意义 设计医院病房呼叫系统,架起一座病患与医护人员之间及时沟
11、通的桥梁,方便病人及时呼叫医生和护士,保证病人能够及时地得到服务,切实做到对患者负责,提高病患对医院的满意度。同时方便医院合理配置医护人员,降低运行成本,提高收益。本设计将键盘识别、液晶显示、串行通信、报警指示等结合起来,应用项目设计的方法,体现了模块化设计的思想。病房呼叫系统是利用单片机的控制及数据处理能力,对各种输入量进行采集,对输出量加以控制的呼叫报警系统。它可以推广到用传感器代替键盘产生输入信号,开发各种呼叫系统。例如:与温度传感器结合使用的电力、电信设备的过热报警,与压力传感器结合使用的超载报警,与烟雾传感器结合起来的火灾报警等。因此,医院病房呼叫系统的设计具有一定的实用意义。2 系
12、统总体设计2.1 设计需要实现的功能(1)确保特殊病房呼叫优先。(2)从机对按键进行扫描,能准确的识别呼叫位置。(3)单片机间实现数据传输,将呼叫信息由从机传递到主机,并产生报警。(4)对未响应的呼叫进行排队,超过一定数目继续报警。(5)PC记录呼叫信息及响应信息。2.2 设计方案的选择与比较 2.2.1 键盘选择比较方案一:采用独立式键盘,每一个按键对应单片机的一个I/O引脚。假设有8个按键接在P1口,其连接电路如图2-1所示。图2-1 独立式键盘的连接 方案二:采用矩阵式键盘,mn个按键只需要占用单片机m+n个I/O引脚。以44矩阵式键盘为例,44矩阵键盘连接如图2-2所示。图2-2 44
13、矩阵键盘连接采用独立式键盘每一个按键对应单片机的一个I/O引脚,布线简单,但占用单片机较多的I/O资源;而采用矩阵式键盘,布线复杂,但节约单片机的I/O资源。而本设计使用按键的数目较多,故采用矩阵式键盘。2.2.2 显示器件选择比较方案一:采用数码管显示,每个数码管显示一位数据,显示多位数据,连接多个数码管,采用动态显示来显示数据。方案二:采用液晶显示器显示,可以同时显示多个数据。 一个数码管显示一位数据,并且只能显示特定的字符。当显示多位数据时,需要多个数码管,利用动态显示显示数据,增加布线的难度。而采用液晶器显示,可以显示数字,符号,英文等字符,且可以显示多个字符。设计中需要同时显示多个字
14、符,故采用液晶显示器。2.2.3 通信方式选择比较方案一: 采用串行通信,在一根传输线上数据一位一位地进行传输来实现通信。方案二:采用并行通信,数据以字节或者字为单位在多根数据线上同时传输,即N位数据用N条数据线同时传输。 并行通信的速度快、传输效率高,但只局限于短距离通信。串行通信使用的传输线少,并且可以借助现有的电话网、电缆、光缆等进行信息传输,因此特别适合远距离通信。设计中选用串行通信,用较少的连线即可实现主机和从机通信和单片机与PC机的通信。2.3 设计原理框图系统设计原理框图如图2-3所示。图2-3 系统设计原理框图设计分为主机部分,从机部分和PC机部分。从机检测呼叫信息,并发送呼叫
15、信息。主机接受呼叫信息并对此做相应的处理。主机和从机通过RS232接口与PC连接,PC机接收从机的呼叫信息,也接收主机的响应信息。利用PC强大的数据处理能力,以监督医护人员的服务效率和服务水平。3 系统硬件设计本设计的硬件部分由单片机最小系统、键盘模块、LCD1602显示模块、报警模块和串行通信模块组成。键盘模块用于产生呼叫,显示模块显示等待服务的病房号,报警模块用于产生呼叫报警和未响应呼叫超过一定数目时报警,串行通信模块实现将呼叫信息由从机传送给主机和将呼叫信息与响应信息传送给PC机。本设计的电路原理图见附录。3.1单片机最小系统设计3.1.1 STC89C52简介设计采用的单片机是STC8
16、9C52,它是STC公司生产的一种低功耗、高性能CMOS8位微控制器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。其具有以下标准功能:8k字节Flash,512字节RAM,32 位I/O 口线,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。STC89C52引脚图如3-1所示。 图3-1 STC89C52 的引脚图3.1.2 单片机的外围电路设计(1)复位电路单片机开始工作,CPU和系统中的其他部件都必须要有一个确定的初值,
17、即复位状态。RST引脚是单片机复位输入端,高电平有效。设计中采用上电自动复位和手动复位相结合。电阻R和电容C的参数为:R1=1K,R2=10K,C1=22uf。单片机复位电路如图3-2所示。图3-2 单片机复位电路复位(2)时钟电路时钟是时序的基础,STC89C52内部由一个反相放大器构成振荡器,可以由它产生时钟,时钟可以由两种方式产生内部方式和外部方式。本系统采用内部方式,在XTAL1和XTAL2端外接石英晶体作为定时元件,内部反相放大器自激振荡,产生时钟。电容在22pF100pF之间选择。晶振通常为6MHZ,12MHZ,11.0592MHZ和24MHZ。由于本设计需要使用单片机的串口通信,
18、故晶振选用11.0592MHZ,以降低串行通信的误码率。单片机时钟电路图3-3所示。图3-3 单片机时钟电路3.2 键盘模块设计本设计通过扫描按键的状态来决定是否发出呼叫,共有17个按键用于产生呼叫,1个是VIP(优先呼叫)病房呼叫按键,其余16个是普通病房呼叫按键。VIP病房呼叫按键由于数目较少,故采用独立式键盘。普通病房呼叫按键数目较多,采用44矩阵式键盘,将其接在从机的P1口,低四位作为行线,高四位作为列线,它与单片机的连接如图3-4所示。图3-4 44矩阵式键盘与单片机的连接3.3 LCD1602显示模块设计LCD1602是一种字符型液晶显示器,是一种专门用于显示字母、数字、符号等的点
19、阵式液晶显示器。LCD1602的显示容量为162个字符(可以显示2行,每行显示16个字符),芯片工作电压为4.55.5V,工作电流为2.0mA(5.0V),模块最佳工作电压是5.0V。LCD1602具有16个引脚,其引脚说明如表3-1所示。在LCD1602的有关设计中,714引脚作为数据线,通过编写程序控制LCD1602的4、5、6引脚来控制数据和指令的读写,实现LCD1602的显示功能。LCD1602与单片机的连接如图3-5所示。表3-1 LCD1602引脚说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选
20、择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极图3-5 LCD1602与单片机的连接图3.4 报警模块设计本设计的报警方式采用声光报警,即当有呼叫产生是LED灯闪烁,蜂鸣器发声。LED连主机的P2.0引脚,并串联限流电阻(R2=330,R2=1K)。当P2.0为低电平时,LED点亮。SPEAKER接主机的P2.2引脚,用三极管作为控制开关,P2.2高电平时三极管导通,蜂鸣器发声。报警电路如图3-6所示。图3-6 报警电路3.5 串行通信模块设计3.5.1 串口通信RS-232-C计算机与计算机或计算机与终端之间利
21、用串行通信传送数据时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间 串行二进制数据交换接口技术标准”,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。(1)接口的信号内容。实际上RS-232-C的25条引线中有许多是很少使用的,在计算机与终端通讯中一般只使用39条引线。RS-232-C最常用的9针的D型连接器。RS-232-C引脚如表3-2所示。(2)接口的电气特性。在RS-232-C中任何一条信号线的电压均为负逻辑关系,即:逻辑“1”:515V;逻辑“0”:515V ,噪声容量为2V。
22、即要求接收器能识别低至3V的信号作为逻辑“0”, 低至3V的信号作为逻辑“1”。 表3-2 RS-232-C信号引脚引脚序号信号名称符号功能2接收数据RXDDTE接收串行数据3发送数据TXDDTE发送串行数据5信号地GND信号地线据7请求发送RTS请求发送信号,输出信号8清除传送CTS对RTS的响应信号1载波检测DCD数据载波检测,输入信号4数据终端准备好DTR数据终端就绪6数据通信就绪DSR数据通信准备就绪9振铃指示RI表示DCE与线路接通,出现振铃(3)接口的物理结构。通常插头在DCE端,插座在DTE端。一些设备与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需三条接口
23、线,即“发送数据”、“接收数据”和“信号地”。所以采用DB-9的9芯插头座,传输线采用屏蔽双绞线。两个DB-9的连接如图3-7所示。图3-7 两个DB-9的连接图3.5.2 MAX232由于单片机采用的是TTL电平,而串行通信采用的是EIA电平,这就需要一个电路来实现电平互转。MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用5V单电源供电,可以实现TTL电平与RS-232-C电平相互转换的IC芯片。MAX232与RS-232连接如图3-8所示。图3-8 MAX232与RS232的连接图4 系统软件设计本系统的软件设计包含从机程序的设计,主机程序的设计和软件调试与仿
24、真。在具体程序设计过程中采用模块化编程,以降低程序设计的难度,增强程序的可移植性和方便调试仿真。软件调试与仿真是通过在PC机上安装仿真软件进行的。4.1 模块化编程软件设计采用模块化编程,把程序划分成一个个较小的、功能相关而又相对独立的模块。它有以下优点:各模块性对独立、功能单一、结构清晰、接口简单;控制了程序设计的复杂性;提高了元件的可靠性;缩短了开发周期;避免了程序开发的重复劳动了;易于维护和功能扩充。本设计的程序模块有延时程序模块,键盘扫描程序模块,液晶显示程序模块和串口通信程序模块。各程序模块建立了相应的.c文件和.h文件,最后把相应的.c添加到工程中。4.2 键盘扫描模块键盘扫描采用
25、行列线反转法,其原理:单片机通过输出端口向行线输出低电平,列线输出高电平,若有按键按下则列线不全为高电平,读入列线值;然后对行线输出高电平,列线输出低电平,读入行线值。对获得的行线值和列线值进行或运算,形成键盘编码。通过查找键盘码表,确定唯一的按键。在键盘扫描程序设计时,除了以键码的识别以外,还有按键抖动问题需要解决。有硬件去抖动和软件去抖动两种方法。硬件方式通过按键输出端增加双稳态触发器,来实现去抖动。软件方式是通过在检测到按键按下时,执行一段10ms左右的延时程序,再判断是否有按键闭合,来实现去抖动。键盘扫描函数 scankey.c如下:#include “scankey.h”#inclu
26、de “delay.h”#includeuchar code keycode1 =0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77 ; /按键编码unsigned char scankey( ) unsigned char code_h,code_l,tem,n;P1=0x0f;code_l=P1&0x0f;if(code_l!=0x0f) delay(10); /去抖动if(code_l!=0x0f) code_l=P1&0x0f;P1=code_l|0xf0;code_h=P1&0
27、xf0;tem=code_h|code_l;for(n=0;n16;n+) /查找按键号if(tem=keycode1n) return n+1; return 0;4.3 LCD1602显示模块LCD1602显示模块程序包含数据和指令的读写和LCD的初始化,详细设计见附录。LCD1602的读写操作需要按时序进行,其读操作时序图如4-1所示,写操作时序图如4-2所示。LCD1602读写指令或数据由RS和RW的时序决定的。表4-1是LCD1602读写指令或数据的时序表。图4-1 LCD1602读操作时序图4-2 LCD1602写操作时序表4-1 LCD1602读写操作时序表读指令输入RS=L,R
28、/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L, E=高脉冲D0D7=指令码输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,E=高脉冲D0D7=数据输出无LCD1602的初始化过程如下:延时15mS,写指令38H(不检测忙信号),延时5mS,写指令38H(不检测忙信号),延时5mS。以后每次写指令、读/写数据操作均需要检测忙信号。写指令38H(显示模式设置),写指令01H(显示清屏),写指令06H(显示光标移动设置),写指令0CH(显示开及光标设置)。4.4 单片机串行通信单片机串行通信的特点是只用两条信号线(一条信号线,再加一
29、条地线作为信号回路)即可完成通信,成本低,传输的距离较远。51单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。串行接口工作方式由SCON中的SM0位和SM1位决定,这两位组合成00,01,10,11对应于工作方式0、1、2、3。本设计中串口工作方式采用方式1,即8位UART,波特率可变。波特率发生器用来控制串行通信的数据传输速率的,51系列单片机用定时器T1作为波特率发生器,T1设置在定时方式。波特率是用来表示串行通信数据传输快慢的物理量,定义为每秒钟传送的数据位数。波特率计算公式为:公式中,fosc为时钟频率,SMOD决定波特率是
30、否加倍,K为定时器T1的位数,与定时器T1的工作方式有关。实际应用中,经常根据时钟频率和波特率来计算定时器T1的初值X。本设计的时钟频率为11.0592MHZ,串行通信波特率为9600,故需要设置T1工作在定时方式2,初值为0xfd。串口初始化程序模块serial_init.c如下:#include#include serial_init.hvoid serial_init() SCON=0X50; /串口的工作在方式1,允许串口接收数据TMOD=0x20; TH1=0xfd; TL1=0xfd; / T1为方式2 ,波特率9600 TR1=1; /开定时器1TI=0; RI=0; /接收标志位清04.5 系统程序设计 4.5.1 从机程序设计从机程序流程如图4-3所示,具体程序设计见附录。 4.5.2 主机程序设计流程主机实现呼叫信息的接收,呼叫信息的排队(调用函数callhelp( )实现),响应呼叫(外部中断0实现),发送响应的病房号,显示未处理的病房号。主程序设计流程如图4-4所示,外部中断0程序设计流程如图4-5所示,串口中断设计流程如4-6所示。主机的具体程序设计见附录。图4-4 主机程序设计流程图4.6 软件调试与仿真系统在软件设计完成后,需
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1