收藏 分销(赏)

模拟病房呼叫系统.doc

上传人:pc****0 文档编号:5905622 上传时间:2024-11-23 格式:DOC 页数:11 大小:112KB 下载积分:10 金币
下载 相关 举报
模拟病房呼叫系统.doc_第1页
第1页 / 共11页
模拟病房呼叫系统.doc_第2页
第2页 / 共11页


点击查看更多>>
资源描述
一、设计目的 通过设计模拟病床呼叫的程序,更加熟练掌握单片机指令的使用,培养用单片机来实现一些电子设备运行的逻辑思路,为以后更好的使用单片机打下基础。 二、设计要求 用单片机模拟一个护理站下管4个床位,哪个病人要呼叫可以按键,相应蜂鸣器响,数码管显示:呼叫数量_床位号。要求: ⒈ 6个数码管,正常情况下显示时间(时分秒),时间可以通过按键调整。 ⒉ 有人呼叫则闪烁显示数量_床位号并蜂鸣器响,应答键后继续显示时间。 三、硬件电路设计 所用器件如下表: 名称 数量 40P zip座 1 串口接口 1 MAX232芯片 1 USB接口 1 晶振电容22p 2 复位按钮 2 晶振座 3孔 复位跳线插针 3针 4.7k排阻 1 LED白发红 8 LED电源跳线 2针 10k复位电阻 1 单独按键 8 双排针 2×18针 MAX232外围电容 4 复位电容 1 电源指示灯电阻1k 1 LED限流电阻 8 电源指示灯 1 数码管锁存器74HC573 2 数码管 2 蜂鸣器 1 PNP三极管 1 电阻1k 10 89C52RC芯片 1 硬件连接电路图如下图所示: 四、使用说明 接上USB接口后,按下电源按键,数码管就开始计时,显示时间,从左到右依次显示时、分、秒;当需要调整时间时,按下键时分秒调整键可以进行对时、分、秒的设定;当有病人呼叫时,数码管就会显示数量和床号,并伴有蜂鸣器响,直到按下应答键后,数码管又重新显示时间,蜂鸣器停止响声。 五、流程图设计 开始 初始化 设定时间显示 数码管显示时间 统计数量和床号 显示数量和床号 清零、置初值 是否有病人呼叫 有无应答键 Y N Y N 主程序框图 中断服务子程序 分调整键按下 外部中断T0启动 对分钟进行调整 返回 小时调整键按下 外部中断T1启动 对时钟进行调整 返回 六、程序设计如下 LEDBuf EQU 60H ; 显示缓冲 LEDBuf1 EQU 80H Hour EQU 40H Minute EQU 41H Second EQU 42H C100us EQU 43H chuanggao EQU 70h chuangdi EQU 71H shuliang EQU 72H Tick EQU 10000 T100us EQU 256-100 ORG 0000H LJMP MAIN ORG 0003H LJMP MT ORG 000BH LJMP TOINT ORG 0013H LJMP HT ORG 001BH LJMP T1INT MAIN: MOV TMOD, #22h ; 模式2, 定时器 0.1毫秒中断一次 MOV TH0, #T100us MOV TL0, #T100us MOV TL1, #6H MOV TH1 ,#6H MOV IE, #10001010b ; EA=1, IT0 = 1 MOV Hour, #0 MOVv Minute, #0 MOV Second, #0 MOV C100us, #high(Tick) MOV C100us+1, #low(Tick) SETB IT0 SETB IT1 SETB EX0 SETB EX1 SETB IE0 SETB IE1 MOV Minute, #0 MOV Hour, #0 SETB TR0 MOV p0, #0h SETB p0.7 LJMP MLoop MT:MOV Second, # ;分调整 INC Minute MOV A,Minute CJNE A ,#60,LOP1 MOV Minute, #0 LOP1: RETI HT: MOV Second, #0 ;时调整 INC Hour MOV A, Hour CJNE A, #24, lop2 MOV Hour,#0 lop2: RETI MLoop: MOV A, Hour MOV B, #10 DIV AB CALL ToLED MOV LEDBuf+5, A MOV A, B CALL ToLED MOV LEDBuf+4, A MOV A, Minute MOV B, #10 DIV AB CALL ToLED MOV LEDBuf+3, A MOV A,B CALL ToLED ORL a, #01h MOV LEDBuf+2,A MOV A, Second MOV B, #10 DIV AB CALL ToLED MOV LEDBuf+1,A MOV A, B CALL ToLED MOV LEDBuf, A CALL DisplayLED MOV R1,#73h MOV R3,#0 JB P0.0,tiao1 k1 : JB P0.1 ,tiao2 k3: JB P0.2,tiao3 k4: JB P0.3,tiao4 k5: JB P0.4,tiao5 k6: JB P0.5,tiao6 k7: JB P0.6,tiao7 k2: JB P0 ,xian LJMP MLoop tiao1: SETB TR1 SETB F0 INC R3 MOV 30H,R3 MOV @R1,#1 INC R1 SJMP k1 tiao2 : SETB TR1 SETB F0 INC R3 MOV 30H,R3 MOV @R1,#2 INC R1 SJMP k3 tiao3 : SETB TR1 SETB F0 INC R3 MOV 30H,R3 MOV @R1,#3 INC R1 SJMP k4 tiao4 : SETB TR1 SETB F0 INC R3 MOV 30h,R3 MOV @R1,#4 INC R1 SJMP k5 tiao5 : SETB TR1 SETB F0 INC R3 MOV 30h,R3 MOV @R1,#5 INC R1 SJMP k6 tiao6 : SETB TR1 SETB F0 INC R3 MOV 30H,R3 MOV @R1,#6 INC R1 SJMP k7 tiao7 : SETB TR1 SETB F0 INC R3 MOV 30H,R3 MOV @R1,#7 INC R1 SJMP k2 xian: CLR F0 MOV A, chuanggao MOV B, #10 DIV AB CALL ToLED MOV LEDBuf+5, A MOV A, B CALL ToLED MOV LEDBuf+4,A MOV A, chuangdi MOV B, #10 DIV AB CALL ToLED MOV LEDBuf+3, A MOV A, B CALL ToLED ORL A, #80H MOV LEDBuf+2,A MOV A, shuliang MOV B, #10 DIV AB CALL ToLED MOV LEDBuf+1, A MOV A,B CALL ToLED MOV LEDBuf, A CALL DisplayLED JNB P3.0 ,lp1 CJNE R3 ,#0,xian LJMP xun lp1: CLR TR1 ;关振铃器返回显示时间 LJMP mloop xun: MOV R3 ,30H ;重新置初值 MOV A, R1 ADD A ,30H MOV R1,A LJMP xian T1INT: CPL P0.7 ;定时器1中断程序 RETI TOINT: PUSH PSW PUSH ACC MOV A, C100us+1 JNZ Goon DEC C100us Goon: DEC C100us+1 MOV A, C100us ORL A, C100us+1 JNZ Exit MOV C100us, #high(Tick) MOV C100us+1, #low(Tick) DEC R1 DEC R3 MOV chuanggao,#0 MOV chuangdi,@R1 MOV shuliang,30H INC Second MOV A, Second CJNE A, #60, Exit MOV Second, #0 INC Minute MOV A, Minute CJNE A, #60, Exit MOV Minute, #0 INC Hour MOV A, Hour CJNE A, #24, Exit MOV Hour, #0 Exit: POP ACC POP PSW RETI Delay: ; 延时子程序 MOV R7, #0 DelayLoop: DJNZ R7, DelayLoop DJNZ R6, DelayLoop RET LEDMAP: ; 八段管显示码 DB 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h DB 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h DisplayLED: MOV R0, #LEDBuf MOV R5, #6 ; 共6个八段管 MOV R2, #01111111b ; 从左边开始显 Loop: SETB P2.1 MOV P1,#0H ; 关所有八段管 MOV A, @R0 CLR P2.1 SETB P2.0 MOV P1,A CLR P2.0 MOV A, R2 SETB P2.1 MOV P1, A ; 显示一位八段管 MOV R6, #1 CALL Delay MOV A, R2 ; 显示下一位 RR A MOV R2, A INC R0 DJNZ R5, Loop RET ToLED: MOV DPTR, #LEDMap MOVC A, @A+DPTRr RET END 七、心得体会 课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为电气工程专业的学生来说掌握单片机的开发技术是十分重要的。 我的题目是模拟病床呼叫,对于我们这些实践中的新手来说,这是一次考验。怎么才能找到课堂所学与实际应用的最佳结合点?怎样让自己的业余更接近专业?怎样让自己的计划更具有序性,而不会忙无一用?这都是我们所要考虑和努力的。这次课程设计我学到很多很多的东西,学会了怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不够好。 这次课程设计通过我们小组的努力终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指导下,终于迎刃而解,在此我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢! 八、参考文献 [1]、 《单片微型计算机原理与接口技术》 高峰 科学出版社,2007
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 行业资料 > 医学/心理学

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服