病房呼叫系统文档格式.docx
《病房呼叫系统文档格式.docx》由会员分享,可在线阅读,更多相关《病房呼叫系统文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
四、使用说明
当没有病人呼叫时,数码管显示正常的时钟,并且可以实现调时和调分,按下外部中断脉冲即可调整分钟和小时的显示。
当病人呼叫时,病人按下床边的按钮,值班室立即在数码管上从左向右依次显示病人呼叫的个数(即同时有几个人在呼叫)和病床的号码(多个病人呼叫时显示完一个时,数量不变,病床号码每隔一秒改变一次),这样就可以实现多个病人的同时呼叫显示,并且护士值班室的蜂鸣器响,以提醒护士。
当护士听到呼叫时,按下响应应答按钮,此时数码管重新开始显示时钟,并且在原来基础上,不是重置。
护士值班室派出人员即可。
功能实现完毕。
五、流程图设计
六、程序设计如下:
LEDBufEQU60h;
显示缓冲
LEDBuf1EQU80h
HourEQU40h
MinuteEQU41h
SecondEQU42h
C100usEQU43h
chuanggaoEQU70h
chuangdiEQU71h
shuliangEQU72h
TickEQU10000
T100usEQU256-100;
t=12/f0c(2L-tc)
ORG0000H
LJMPMAIN
ORG0003H
LJMPMT
ORG000BH
LJMPTOINT
ORG0013H
LJMPHT
ORG001BH
LJMPT1INT
MAIN:
MOVTMOD,#22h;
模式2,定时器0.1毫秒中断一次
MOVTH0,#T100us
MOVTL0,#T100us
MOVTL1,#6H
MOVTH1,#6H
MOVIE,#10001010b;
EA=1,IT0=1
MOVHour,#0
MOVMinute,#0
MOVSecond,#0
MOVC100us,#high(Tick)
MOVC100us+1,#low(Tick)
SETBIT0
SETBIT1
SETBEX0
SETBEX1
SETBIE0
SETBIE1
SETBTR0
MOVp0,#0h
SETBp0.7;
蜂鸣器
LJMPMLoop
MT:
;
分調整
INCMinute
MOVA,Minute
CJNEA,#60,LOP1
MOVMinute,#0
LOP1:
RETI
HT:
時調整
INCHour
MOVA,Hour
CJNEA,#24,lop2
MOVHour,#0
lop2:
MLoop:
MOVa,Hour
MOVb,#10
DIVab
CALLToLED
MOVLEDBuf+5,a
MOVa,b
MOVLEDBuf+4,a
MOVa,Minute
MOVLEDBuf+3,a
MOVLEDBuf+2,a
MOVa,Second
MOVLEDBuf+1,a
MOVLEDBuf,a
CALLDisplayLED
MOVr1,#73h;
病房号
MOVr3,#0
JNBp3.1,tiao1;
低电平跳转
k1:
JBp0.1,tiao2
k3:
jbp0.2,tiao3
k4:
jbp0.3,tiao4
k5:
jbp0.4,tiao5
k6:
jbp0.5,tiao6
k7:
jbp0.6,tiao7
k2:
jbf0,xian
tiao1:
SETBTR1
SETBf0
INCr3
MOV30h,r3;
呼叫人数
MOV@r1,#1
INCr1
SJMPk1
tiao2:
MOV30h,r3
MOV@r1,#2
SJMPk3
tiao3:
MOV@r1,#3
SJMPk4
tiao4:
MOV@r1,#4
SJMPk5
tiao5:
MOV@r1,#5
SJMPk6
tiao6:
MOV@r1,#6
SJMPk7
tiao7:
MOV@r1,#7
SJMPk2
xian:
CLRf0
MOVa,chuanggao
MOVa,chuangdi
ORLa,#80h
MOVa,shuliang
JNBP3.0,lp1
CJNEr3,#0,xian
LJMPxun
lp1:
CLRTR1;
关振铃器返回显示时间
LJMPmloop
xun:
MOVr3,30h;
重新置初值
MOVa,r1
ADDa,30h
MOVr1,a
LJMPxian
T1INT:
CPLP0.7;
定时器1中断程序
RETI
TOINT:
PUSHPSW
PUSHACC
MOVa,C100us+1
JNZGoon
DECC100us
Goon:
DECC100us+1
MOVa,C100us
ORLa,C100us+1
JNZExit
DECr1
DECr3
MOVchuanggao,#0
MOVchuangdi,@r1
MOVshuliang,30h
INCSecond
CJNEa,#60,Exit
INCMinute
INCHour
CJNEa,#24,Exit
Exit:
POPACC
POPPSW
Delay:
;
延时子程序大概1us
MOVr7,#0
DelayLoop:
DJNZr7,DelayLoop
DJNZr6,DelayLoop
RET
LEDMAP:
八段管显示码
db3fh,06h,5bh,4fh,66h,6dh,7dh,07h
db7fh,6fh,77h,7ch,39h,5eh,79h,71h
DisplayLED:
MOVr0,#LEDBuf
MOVr5,#6;
共6个八段管
MOVr2,#01111111b;
从右边开始显
Loop:
SETBp2.1;
位码
MOVp1,#0h;
关所有八段管
MOVa,@r0
CLRp2.1
SETBp2.0;
段码
MOVp1,a
CLRp2.0
MOVa,r2
SETBp2.1
MOVp1,a;
显示一位八段管
MOVr6,#1
CALLDelay
MOVa,r2;
显示下一位
RRa
MOVr2,a
INCr0
DJNZr5,Loop
RET
ToLED:
MOVdptr,#LEDMap
MOVCa,@a+dptr
END
七、设计总结:
通过这次小学期单片机课程设计,使我们对单片机的结构、功能和实际应用有了更深入的了解,并且对编程过程有了大致的了解。
知道了流程图在编程过程中的重要性,为自己以后工作积累了宝贵的经验。
在试验过程中我们遇到了很多问题,例如:
1、硬件的连接,实际硬件是高电平导通还是低电平导通,如蜂鸣器接高电平时断开,低电平时出声
2、数码管为共阴极的数码管,段码的调用程序需要调用共阴极的段码显示。
3、数码管的位选为低电平是选中该数码管。
4、板子的焊接按从小元件到大元件的的顺序焊接。
5、用Protel绘制原理图的过程中遇到的问题。
在此次课程设计的过程中,受到老师和同学们的指导帮助,对他们表示衷心的感谢。
八、参考文献:
[1]高峰.单片微型计算机原理与接口技术.科学出版社,2007
[2]贾金铃等.微型计算机原理及应用.重庆大学出版社.2006
[3]胡汉才.单片机原理及其接口技术.清华大学出版社.2004