预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一、设计目的通过设计模拟病床呼叫的程序更加熟练掌握单片机指令的使用培养用单片机来实现一些电子设备运行的逻辑思路为以后更好的使用单片机打下基础。二、设计要求用单片机模拟一个护理站下管4个床位哪个病人要呼叫可以按键相应蜂鸣器响数码管显示:呼叫数量_床位号。要求:⒈6个数码管正常情况下显示时间(时分秒)时间可以通过按键调整。⒉有人呼叫则闪烁显示数量_床位号并蜂鸣器响应答键后继续显示时间。三、硬件电路设计所用器件如下表:名称数量40Pzip座1串口接口1MAX232芯片1USB接口1晶振电容22p2复位按钮2晶振座3孔复位跳线插针3针4.7k排阻1LED白发红8LED电源跳线2针10k复位电阻1单独按键8双排针2×18针MAX232外围电容4复位电容1电源指示灯电阻1k1LED限流电阻8电源指示灯1数码管锁存器74HC5732数码管2蜂鸣器1PNP三极管1电阻1k1089C52RC芯片1硬件连接电路图如下图所示:四、使用说明接上USB接口后按下电源按键数码管就开始计时显示时间从左到右依次显示时、分、秒;当需要调整时间时按下键时分秒调整键可以进行对时、分、秒的设定;当有病人呼叫时数码管就会显示数量和床号并伴有蜂鸣器响直到按下应答键后数码管又重新显示时间蜂鸣器停止响声。五、流程图设计开始初始化设定时间显示数码管显示时间统计数量和床号显示数量和床号清零、置初值是否有病人呼叫有无应答键YNYN主程序框图中断服务子程序分调整键按下外部中断T0启动对分钟进行调整返回小时调整键按下外部中断T1启动对时钟进行调整返回六、程序设计如下LEDBufEQU60H;显示缓冲LEDBuf1EQU80HHourEQU40HMinuteEQU41HSecondEQU42HC100usEQU43HchuanggaoEQU70hchuangdiEQU71HshuliangEQU72HTickEQU10000T100usEQU256-100ORG0000HLJMPMAINORG0003HLJMPMTORG000BHLJMPTOINTORG0013HLJMPHTORG001BHLJMPT1INTMAIN:MOVTMOD#22h;模式2定时器0.1毫秒中断一次MOVTH0#T100usMOVTL0#T100usMOVTL1#6HMOVTH1#6HMOVIE#10001010b;EA=1IT0=1MOVHour#0MOVvMinute#0MOVSecond#0MOVC100us#high(Tick)MOVC100us+1#low(Tick)SETBIT0SETBIT1SETBEX0SETBEX1SETBIE0SETBIE1MOVMinute#0MOVHour#0SETBTR0MOVp0#0hSETBp0.7LJMPMLoopMT:MOVSecond#;分调整INCMinuteMOVAMinuteCJNEA#60LOP1MOVMinute#0LOP1:RETIHT:MOVSecond#0;时调整INCHourMOVAHourCJNEA#24lop2MOVHour#0lop2:RETIMLoop:MOVAHourMOVB#10DIVABCALLToLEDMOVLEDBuf+5AMOVABCALLToLEDMOVLEDBuf+4AMOVAMinuteMOVB#10DIVABCALLToLEDMOVLEDBuf+3AMOVABCALLToLEDORLa#01hMO