基于单片机的病房呼叫系统设计单片机课程设计报告.docx
《基于单片机的病房呼叫系统设计单片机课程设计报告.docx》由会员分享,可在线阅读,更多相关《基于单片机的病房呼叫系统设计单片机课程设计报告.docx(29页珍藏版)》请在冰豆网上搜索。
基于单片机的病房呼叫系统设计单片机课程设计报告
单片机课程设计报告
课题:
病房呼叫系统
系别:
电子信息
专业:
计算机控制技术
摘要
临床呼叫(监护)是传送临床信息的重要手段,病房呼叫系统是病人请求值班医生或护士进行诊断和护理的紧急呼叫工具,可将病人的请求快速传送给值班医生或护士,并在值班室的监控中心电脑上留错误!
未找到图形项目表。
下准确完整的记录,是提高医院和病室护理水平的必备设备之一。
呼叫系统的优劣直接关系到病员的安危,历来受到各大医院的普遍重视。
它要求及时、准确、可靠、简便可行。
关键词:
单片机;矩阵键盘;点阵;LED显示;呼叫系统
1,3病床呼叫系统的总体框图..............................................
第一章.概述
1.1病房呼叫系统应用价值:
病房呼叫系统主要是指当呼叫源有呼叫信号时,在系统上有相应的声、光呼叫信号指示,并能显示出呼叫号码。
此系统主要由89C51单片机,24个按键,2个数码管,1个喇叭组成。
每个病人要呼叫可以按键,同时会有喇叭响,数码管显示不同床位号,相应的指系统的目的就是能够满足这个要求,且实际意义在于能够为医院提供一个成本低、不复杂、生产和安装方便的简单快捷病房呼叫系统,方便病人更快找到医生,以节约病人的宝贵时间。
系统主要用于医院、门疹、养老院等场所。
可大大降低护理成本,增强护理的及时性和有效性,安装极其简便。
以前当病人需要服务时就不得不亲自到值班室去叫。
安装该呼叫系统后,可在减少护理人员的同时,保证病员随时能够得到服务,让每个病人及时得到最佳护。
1.2病房呼叫系统的主要功能:
1)可容纳24张床位的病房呼叫系统。
此功能通过设置24个按钮组成一键盘电路对病人的呼叫信息读入。
2)每个床位都有一个按钮,当患者需要呼叫护士时,按下按钮。
此时护士值班室内的呼叫系统板上显示该患者的床位号,并振铃3秒。
此功能通过单片机反复对键盘电路扫描,检测到有键按下时立即将床号读入送LED显示,并启动定时器利用中断振铃3秒。
3)当护士按下“响应”键时,取消当前呼叫。
此功能通过外部中断使管灭铃停。
1.3病床呼叫系统的总体框图:
第二章.系统总体方案及硬件设计
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两个端口即可完成显示任务。
编完程序编译时系统提示有一指令跳转出范围如JNZLK3此时我想到将以LK3为标号的程序在不影响原程序的情况下向JNZLK3移近些,或在这两者之间再设置一跳转分两次跳到以LK3为标号的程序。
画完硬件电路图后我将编译好的程序载入单片机后我屏住呼吸怀着激动的心情按下了运行键,然而我并没看到我期望看到的结果,心情很是失落。
于是我开始认真排查错误,我发现:
1)后面几行以行为单位的键值显示有重复。
2)两个LED只有十位能显示而个位刚上电时亮待有键按下时熄灭。
3)有键按下时扬声器并不发声。
4)护士按钮不能使外部中断起作用。
5)键盘有键按下时键盘扫描动作迟缓。
对第5个问题我首先想到可能是我的延时程序延时时间太长,于是我将延时时间变短些,果真不出所料单片机对键盘的扫描迅速了。
但是其它四个问题还是老样子。
对第4个问题当我反复按护士按钮时发现单片机的INT0引脚始终是高电平不变。
此时我顿然想到可能时上拉电阻阻值过大使开关失去了作用,于是我将电阻值改小点,成功的给INT0引脚送入低电平,令我兴奋的是外部中断居然起作用了,它可以将亮的那个LED熄灭。
对第1个问题我对照图2-1按键序号图发现显示重复原来是正常现象因为键值的十位都有十个数是一样的。
对第2个问题,显示床号个位的74LS164移位寄存器的输入由显示床号十位的74LS164移位寄存器的最低位数据线提供,我将该最低位数据线不通向LED时,居然发现显示床号个位的LED也能正常工作,但是显示床号十位的LED显示就出现了残缺。
此问题我最终通过给显示床号十位的74LS164移位寄存器的最低位数据线接上电阻后再输入到显示床号个位的74LS164移位寄存器得以解决。
对第3个问题是扬声器驱动电路没有起作用,我用一个三极管加一个电阻将此问题解决。
当听到我做的系统发出定时3S的声音时,我激动不已,心想我成功的将该课题完成了。
然而好事多磨,又一个拦路虎出现了,我发现我做的键盘第1、3、5、列按键待第二次有键按下时自动锁死不起作用了,我知道我的主程序有问题,最后经过认真排查我发现我将MOVA,#00H写成了MOVA,00H,MOVA,00H可能将00H单元的不确定数送给A显然会引起错误。
将MOVA,00H改为MOVA,#00H后至此我的课程设计已完满完成。
在我解决以上问题的过程中,我提高了理论分析水平,更提高了我的心理承受能力,这是我受益非浅,更坚定了我学好后续课程的信心。
附1:
源程序代码
ORG0000H
LJMPMAIN
ORG0003H
LJMPINT0
ORG001BH
LJMPINT1
ORG0100H
MAIN:
SETBEA
SETBEX0
SETBET1
MOVSCON,#00H
MOVDPTR,#0FFFFFH
MOVA,#89H
MOVX@DPTR,A
KEY:
ACALLKS1
JNZLK1
NI:
ACALLDELAY
AJMPKEY
LK1:
ACALLDELAY
ACALLDELAY
ACALLKS1
JNZLK2
AJMPNI
LK2:
MOVR2,#0FEH
MOVR4,#00H
LK4:
MOVDPTR,#0FFFCH
MOVA,R2
MOVX@DPTR,A
INCDPL
INCDPL
MOVXA,@DPTR
JBACC.0,L1
MOVA,#00H
LJMPLKP
L1:
JBACC.1,L2
MOVA,#03H
LJMPLKP
L2:
JBACC.2,L3
MOVA,#06H
LJMPLKP
L3:
JBACC.3,L4
MOVA,#09H
LJMPLKP
L4:
JBACC.4,L5
MOVA,#12
LJMPLKP
L5:
JBACC.5,L6
MOVA,#15
LJMPLKP
L6:
JBACC.6,L7
MOVA,#18
LJMPLKP
L7:
JBACC.7,NEXT
MOVA,#21
LKP:
ADDA,R4
PUSHACC
LK3:
ACALLDELAY
ACALLKS1
JNZLK3
POPACC
LJMPL8
NEXT:
INCR4
MOVA,R2
JNBACC.7,KND
RLA
MOVR2,A
AJMPLK4
KND:
AJMPKEY
KS1:
MOVDPTR,#0FFFCH
MOVA,#00H
MOVX@DPTR,A
INCDPL
INCDPL
MOVXA,@DPTR
CPLA
RET
L8:
MOV15H,A
MOVB,#0AH
DIVAB
MOV50H,A
MOV51H,B
SETBRS0
MOVR2,#02
MOVR0,#51H
DL0:
MOVA,@R0
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVSBUF,A
DL1:
JNBTI,DL1
CLRTI
DECR0
DJNZR2,DL0
CLRRS0
MOVTMOD,#10H
MOVTH1,#0D8H
MOVTL1,#0F0H
SETBEA
SETBET1
SETBTR1
MOV52H,#100
MOV53H,#3
LJMPMAIN
INT1:
MOVTH1,#0D8H
MOVTL1,#0F0H
DJNZ52H,TT1
MOV52H,#100
DJNZ53H,TT1
LJMPTT2
TT1:
CPLP1.0
RETI
TT2:
CLRTR1
CLRP1.0
RETI
INT0:
CLRTR1
CLRP1.0
MOVSCON,#00H
MOVSBUF,#0FFH
DL2:
JNBTI,DL2
CLRTI
MOVSBUF,#0FFH
DL3:
JNBTI,DL3
CLRTI
RETI
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H;
DB92H,82H,0F8H,80H,90H;
DELAY:
MOVR7,#3
DL4:
MOVR6,#20
DL5:
MOVR5,#250
DL6:
DJNZR5,DL6
DJNZR6,DL5
DJNZR7,DL4
RET
END
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
□优□良□中□及格□不及格
3、学生综合运用所学知识和专业技能分析和解决问题的能力
□优□良□中□及格□不及格
4、研究方法的科学性;技术线路的可行性;设计方案的合理性
□优□良□中□及格□不及格
5、完成毕业论文(设计)期间的出勤情况
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
二、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
评阅教师:
(签名)单位:
(盖章)
年月日
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
□优□良□中□及格□不及格
2、对答辩问题的反应、理解、表达情况
□优□良□中□及格□不及格
3、学生答辩过程中的精神状态
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
评定成绩:
□优□良□中□及格□不及格