资源描述:
《模拟病房呼叫系统设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、模拟病房呼叫系统设计一、设计目的1、能够对电子电路、电子元器件、印制电路板等方面的知识有进一步的认识,独立对其进行测试与检查。2、熟悉80C51单片机的内部结构和功能,合理使用其内部寄存器,能够完成相关软件编程设计工作。3、为实现预期功能,能够对系统进行快速的调试,并能够对出现的功能故障进行分析,及时修改相关软硬件。4、对软件编程、排错调试、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。二、使用说明平时病人不呼叫时,值班室数码显示时钟,并且可以调整分钟和小时,按下外部中断脉冲即可调整分钟和小时的显示。当病人呼叫时,病人按下床边的按钮,值班室立即在数码管上从左向右依次显示病人呼叫的个数(即
2、同时有几个人在呼叫)和病床的号码(多个病人呼叫时显示完一个时,数量不变,病床号码每隔一秒改变一次),这样就可以实现多个病人的同时呼叫显示,并且护士值班室的蜂鸣器响,以提醒护士。当护士听到呼叫时,按下响应应答按钮,此时数码管重新开始显示时钟,并且在原来基础上,不是重置。护士值班室派出人员即可。功能实现完毕。模拟一个护理站下管2个床位,哪个病人要呼叫可以按键,相应蜂鸣器响,数码管显示:呼叫数量_床位号.要求:1.6个数码管,正常情况下显示时间(时分秒),时间可通过按键调整。2.有人呼叫则闪烁显示数量_床位号并蜂鸣器响,按应答键后继续显示时间。3.若同时有多个病人呼叫则依次轮流显示:数量_床位号。(
3、本机地址为01H,当接到上位机发的01H时,则回发01H)三、设计要求模拟一个护理站下管16个床位,哪个病人要呼叫可以按键,相应蜂鸣器响,数码管显示:呼叫数量_床位号.要求:1.6个数码管,正常情况下显示时间(时分秒),时间可通过按键调整。2.有人呼叫则闪烁显示数量_床位号并蜂鸣器响,按应答键后继续显示时间。3.若同时有多个病人呼叫则依次轮流显示:数量_床位号。开始否是是否设定定时器及外中断控制字置定时器初始常数开定时器1及外中断呼叫按键查询程序查询用户标志位F0是否为1时间数据转化调用显示子程序呼叫显示数据转化程序调用显示子程序回复键是否按下(本机地址为01H,当接到上位机发的01H时,则回
4、发01H)四、程序流程图定时器0中断是否是否是保护现场10000次计数值减1计数值为0设置下一次10000次计数值秒值加1存放病床床号地址减1呼叫数量减1到60秒否秒值清零,分值加1到60分钟否分值清零,小时值加1到24小时否小时清零恢复现场中断返回否否否定时器1对P3.6取反中断返回五.实验接线图连线连接孔1连接孔21P1.0S02P1.1S13P1.2S24P1.3S35P1.4S46P1.5S57P1.6S68P1.7S79KEY/LED_CSCS010P3.5喇叭脉冲输入11P3.2脉冲12P3.3脉冲六、程序设计如下:OUTBITequ08002h;位控制口OUTSEGequ0800
5、4h;段控制口LEDBufequ60h;显示缓冲LEDBuf1equ80hHourequ40hMinuteequ41hSecondequ42hC100usequ43hchuanggaoequ70hchuangdiequ71hshuliangequ72hTickequ10000T100usequ256-50ORG0000HLJMPMAINORG0003HLJMPMTORG000BHLJMPTOINTORG0013HLJMPHTORG001BHLJMPT1INTMAIN:movTMOD,#22h;模式2,定时器0.1毫秒中断一次movTH0,#T100usmovTL0,#T100usmovTL1,
6、#6HMOVTH1,#6HmovIE,#10001010b;EA=1,IT0=1movHour,#0movMinute,#0movSecond,#0movC100us,#high(Tick)movC100us+1,#low(Tick)SETBIT0SETBIT1SETBEX0SETBEX1SETBIE0SETBIE1movMinute,#0movHour,#0setbTR0ljmpMLoopMT:;分調整movSecond,#0INCMinuteMOVA,MinuteCJNEA,#60,LOP1MOVMinute,#0LOP1:RETIHT:;時調整movSecond,#0INCHourMOV
7、A,HourCJNEA,#24,lop2MOVHour,#0lop2:RETIMLoop:mova,Hourmovb,#10divabcallToLEDmovLEDBuf,amova,bcallToLEDorla,#80hmovLEDBuf+1,amova,Minutemovb,#10divabcallToLEDmovLEDBuf+2,amova,bcallToLEDorla,#80hmovLED