基于单片机的病房呼叫系统设计.docx
- 文档编号:1190189
- 上传时间:2022-10-18
- 格式:DOCX
- 页数:18
- 大小:68.63KB
基于单片机的病房呼叫系统设计.docx
《基于单片机的病房呼叫系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的病房呼叫系统设计.docx(18页珍藏版)》请在冰豆网上搜索。
基于单片机的病房呼叫系统设计
单片机课程设计报告
课题:
病房呼叫系统
系别:
电子信息
专业:
计算机控制技术
姓名:
***
学号:
***
摘要
临床呼叫(监护)是传送临床信息的重要手段,病房呼叫系统是病人请求值班医生或护士进行诊断和护理的紧急呼叫工具,可将病人的请求快速传送给值班医生或护士,并在值班室的监控中心电脑上留错误!
未找到图形项目表。
下准确完整的记录,是提高医院和病室护理水平的必备设备之一。
呼叫系统的优劣直接关系到病员的安危,历来受到各大医院的普遍重视。
它要求及时、准确、可靠、简便可行。
关键词:
单片机;矩阵键盘;点阵;LED显示;呼叫系统
1,3病床呼叫系统的总体框图..............................................
第一章.概述
1.1病房呼叫系统应用价值:
病房呼叫系统主要是指当呼叫源有呼叫信号时,在系统上有相应的声、光呼叫信号指示,并能显示出呼叫号码。
此系统主要由89C51单片机,24个按键,2个数码管,1个喇叭组成。
每个病人要呼叫可以按键,同时会有喇叭响,数码管显示不同床位号,相应的指系统的目的就是能够满足这个要求,且实际意义在于能够为医院提供一个成本低、不复杂、生产和安装方便的简单快捷病房呼叫系统,方便病人更快找到医生,以节约病人的宝贵时间。
系统主要用于医院、门疹、养老院等场所。
可大大降低护理成本,增强护理的及时性和有效性,安装极其简便。
以前当病人需要服务时就不得不亲自到值班室去叫。
安装该呼叫系统后,可在减少护理人员的同时,保证病员随时能够得到服务,让每个病人及时得到最佳护。
1.2病房呼叫系统的主要功能:
1)可容纳24张床位的病房呼叫系统。
此功能通过设置24个按钮组成一键盘电路对病人的呼叫信息读入。
2)每个床位都有一个按钮,当患者需要呼叫护士时,按下按钮。
此时护士值班室内的呼叫系统板上显示该患者的床位号,并振铃3秒。
此功能通过单片机反复对键盘电路扫描,检测到有键按下时立即将床号读入送LED显示,并启动定时器利用中断振铃3秒。
3)当护士按下“响应”键时,取消当前呼叫。
此功能通过外部中断使管灭铃停。
1.3病床呼叫系统的总体框图:
上电按键复位
(复位电路)
单
片
机
AT89C51
3*8按键电路
(键盘电路)
数码管显示电路
振铃响应电路
按键响应电路
第二章.系统总体方案及硬件设计
2.1设计基本要求:
1)设计一个可容24张床位的病房呼叫系统。
2)要求每个床位都有一个按钮,当患者需要呼叫护士时,按下按钮。
此时护士值班室内的呼叫系统板上显示该患者的床位号,并振铃3秒。
3)当护士按下“响应”键时,取消当前呼叫。
2.2系统总体方案:
对于该设计的实现方案:
采用静态LED显示。
单片机上电运行进入键盘扫描主程序即通过循环判断键盘是否有键按下,一旦有键按下,立即调用键值读入子程序主要是通过以列为单位逐行扫描按钮,后经简单加法运算得出键值。
该键值被单片机读入后立即通过串行口采用静态LED显示,接着单片机启动定时器后返回主程序即进入判断是否有键按下的循环。
此时定时器正在计时,预先设计10ms中断一次,在中断服务程序中将P1.0取反使扬声器发声并判断3s是否到,若到则关定时器同时将P1.0清零使扬声器停止发声返回主程序,若不到3s再返回主程序。
护士响应请求将键按下时,则产生外部中断,在中断服务程序中灭管停铃再返回主程序。
2.3硬件电路
图2-1硬件电路
1.硬件电路描述如下:
利用74LS373锁存器将89C51的数据线和地址线(低8位)分离出来从而使89C51具有与一般CPU相类似的三总线。
74LS164移位寄存器与共阳极LED构成静态显示电路。
74LS164移位寄存器的时钟信号由89C51的TXD提供,显示数据由89C51的RXD串行输出到74LS164由其显示,由于串行发送数据时先发送数据的低位所以显示床号个位的74LS164移位寄存器的输入由显示床号十位的74LS164移位寄存器的最低位数据线提供。
INT0接到按钮供护士响应病人请求灭管停铃之用。
50HZ的方波从P1.0S输出,经简单的放大电路后驱动扬声器发声。
2.硬件键盘电路工作原理:
单片机上电运行即进入判断键盘是否有键按下主程序,P2口输出全1则证明键盘无键按下,若其值不全为1则证明24个键中有一键按下。
单片机随机键盘扫描子程序,本设计首先将第0列送0其它列送1,然后通过对ACC各位的判断来识别键值。
若第0列无键按下则转判下一列,最后返回。
键值通过:
行首键号+列值=键值
其按键序号对应如下:
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
图2-2按键序号图
图2-3键盘硬件电路
3.复位电路:
RST引脚是复位信号输入端,高电平有效。
采用上电加按钮复位,因为本系统设计考虑到该系统比较重要,所以除了采用上电复位的方式外,应该还有按钮复位备用复位方式以防止系统死机时能。
图2-4上电加复位电路
4.时钟电路:
时钟是时序的基础,8951核片内由一个反相放大器构成振荡器,可以由它产生时钟,时钟可以由两种方式产生内部方式和外部方式。
本系统采用内部方式,在XTAL1和XTAL2端外接石英晶体作为定时元件,内部反相放大器自激振荡,产生时钟。
时钟发生器对振荡脉冲二分频。
电容采用22pF
2-5时钟电路
图2-6振铃电路
第三章.软件设计
3.1软件流程图
开始
初始化并启动定时器
是否有呼叫
扫描键盘
键值处理送缓冲区
等待
返回
初始化显示、铃响
响应复位
延时
初始化显示、停止铃响
3.2程序说明
1)判断是否有键按下源程序:
KS1:
MOVDPTR,#0FFFCH;取A口地址
MOVA,#FFH
MOVX@DPTR,A;A口送全0
INCDPL
INCDPL;取C口地址
MOVXA,@DPTR;读C口
程序返回通过JNZLK2指令若有键按下则跳到LK2执行键盘扫描程序,检测哪一个键按下。
2)键盘扫描源程序:
LK2:
MOVR2,#0FEH;从第0列扫描
MOVR4,#00H;列值计数器清零
LK4:
MOVDPTR,#0FFFCH;取A口地址
MOVA,R2
MOVX@DPTR,A;开始扫描第0列
INCDPL
INCDPL;取C口地址
MOVXA,@DPTR;读C口
JBACC.0,L1;第0行无键按下转第1行
MOVA,#00H;第0行有键按下取行首键值
LJMPLKP;转识别键值
L1:
JBACC.1,L2;第1行无键按下转第2行
MOVA,#03H;第1行有键按下取行首键值
LJMPLKP;转识别键值
L2:
JBACC.2,L3;第2行无键按下转第3行
MOVA,#06H;第2行有键按下取行首键值
LJMPLKP;转识别键值
L3:
JBACC.3,L4;第3行无键按下转第4行
MOVA,#09H;第3行有键按下取行首键值
LJMPLKP;转识别键值
L4:
JBACC.4,L5;第4行无键按下转第5行
MOVA,#12;第4行有键按下取行首键值
LJMPLKP;转识别键值
L5:
JBACC.5,L6;第5行无键按下转第6行
MOVA,#15;第5行有键按下取行首键值
LJMPLKP;转识别键值
L6:
JBACC.6,L7;第6行无键按下转第7行
MOVA,#18;第6行有键按下取行首键值
LJMPLKP;转识别键值
L7:
JBACC.7,NEXT;;第7行无键按下转下一列
MOVA,#21;第7行有键按下取行首键值
LKP:
ADDA,R4;行首键号+列值=键值
PUSHACC;键值进栈保存
3)键值显示源程序:
L8:
MOV15H,A;键值保存
MOVB,#0AH;10送B
DIVAB;键值拆分
MOV50H,A;键值十位送内存显示缓冲区50H
MOV51H,B;键值个位送内存显示缓冲区51H
SETBRS0;保存第0组工作寄存器
MOVR2,#02;显示位数计数
MOVR0,#51H;取个位显示缓冲区地址
DL0:
MOVA,@R0;键值个位送A
MOVDPTR,#TAB;取显示数码表首地址
MOVCA,@A+DPTR;得显示码
MOVSBUF,A;送显个位
DL1:
JNBTI,DL1;等待发送完一帧
CLRTI;清发送中断标志
DECR0;指向下一显示单元
DJNZR2,DL0;2位未显示完重复
CLRRS0;显示完后恢复第0组寄存器
4)定时器1中断源程序:
INT1:
MOVTH1,#0D8H;定时器1送初值10MS中断一次
MOVTL1,#0F0H
DJNZ52H,TT1;1S到否?
MOV52H,#100;1S到重新赋秒计数值
DJNZ53H,TT1;3秒到否?
LJMPTT2;3S到转TT2
TT1:
CPLP1.0;输出取反
RETI;中断返回
TT2:
CLRTR1;关定时器
CLRP1.0;输出低电平
RETI;中断返回
5)外部中断0源程序
INT0:
CLRTR1;关定时器
CLRP1.0;输出低电平
MOVSCON,#00H;串口工作方式0
MOVSBUF,#0FFH;灭LED
DL2:
JNBTI,DL2
CLRTI
MOVSBUF,#0FFH
DL3:
JNBTI,DL3
CLRTI;清发送中断标志
RETI;中断返回
6)延时源程序
DELAY:
MOVR7,#3
DL4:
MOVR6,#20
DL5:
MOVR5,#250
DL6:
DJNZR5,DL6
DJNZR6,DL5
DJNZR7,DL4
RET
第四章.Proteus软件仿真
4.1仿真步骤及运行效果图:
1)建立程序文件,保存程序文件,后缀名为ASM
2)用WAVE软件进行编译。
具体步骤是先建立好程序文件项目,设定好仿真器。
在仿真器语言栏选择伟福汇编器,在目标文件栏选择生成BIN文件和生成HEX文件。
在仿真器栏选择仿真器G6W,仿真头选择POD-51,CPU选择89C51。
选择好以后单击工具栏上的编译工具,这时回生成目标文件HEX和BIN。
3)利用PROTEUS进行仿真。
将上一步生成的HEX文件下载到80C51单片机上。
点击开始按钮进行预定功能的仿真。
运行效果见下图:
图4-2护士响应呼叫
5课程设计体会
通过此次设计,我进一步加深了对单片机的理解,使我的编程思想更趋于成熟,编程思路更加开阔,比如当选定病房呼叫系统课题时我发现是24张床位,由于这么多的床位得占用大量的I/O线,这给我的第一直觉就是得采用静态显示因为它只需用到RXD和TXD两个端
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 病房 呼叫 系统 设计