資源描述:
《《模擬病房呼叫系統(tǒng)設(shè)計》》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、模擬病房呼叫系統(tǒng)設(shè)計一、設(shè)計目的1、能夠?qū)﹄娮与娐贰㈦娮釉骷?、印制電路板等方面的知識有進一步的認識,獨立對其進行測試與檢查。2、熟悉80C51單片機的內(nèi)部結(jié)構(gòu)和功能,合理使用其內(nèi)部寄存器,能夠完成相關(guān)軟件編程設(shè)計工作。3、為實現(xiàn)預(yù)期功能,能夠?qū)ο到y(tǒng)進行快速的調(diào)試,并能夠?qū)Τ霈F(xiàn)的功能故障進行分析,及時修改相關(guān)軟硬件。4、對軟件編程、排錯調(diào)試、相關(guān)儀器設(shè)備的使用技能等方面得到較全面的鍛煉和提高。二、使用說明平時病人不呼叫時,值班室數(shù)碼顯示時鐘,并且可以調(diào)整分鐘和小時,按下外部中斷脈沖即可調(diào)整分鐘和小時的顯示。當(dāng)病人呼叫時,病人按下床邊的按鈕,值班
2、室立即在數(shù)碼管上從左向右依次顯示病人呼叫的個數(shù)(即同時有幾個人在呼叫)和病床的號碼(多個病人呼叫時顯示完一個時,數(shù)量不變,病床號碼每隔一秒改變一次),這樣就可以實現(xiàn)多個病人的同時呼叫顯示,并且護士值班室的蜂鳴器響,以提醒護士。當(dāng)護士聽到呼叫時,按下響應(yīng)應(yīng)答按鈕,此時數(shù)碼管重新開始顯示時鐘,并且在原來基礎(chǔ)上,不是重置。護士值班室派出人員即可。功能實現(xiàn)完畢。模擬一個護理站下管2個床位,哪個病人要呼叫可以按鍵,相應(yīng)蜂鳴器響,數(shù)碼管顯示:呼叫數(shù)量_床位號.要求:1.6個數(shù)碼管,正常情況下顯示時間(時分秒),時間可通過按鍵調(diào)整。2.有人呼叫則閃爍顯示數(shù)量
3、_床位號并蜂鳴器響,按應(yīng)答鍵后繼續(xù)顯示時間。3.若同時有多個病人呼叫則依次輪流顯示:數(shù)量_床位號。(本機地址為01H,當(dāng)接到上位機發(fā)的01H時,則回發(fā)01H)三、設(shè)計要求模擬一個護理站下管16個床位,哪個病人要呼叫可以按鍵,相應(yīng)蜂鳴器響,數(shù)碼管顯示:呼叫數(shù)量_床位號.要求:1.6個數(shù)碼管,正常情況下顯示時間(時分秒),時間可通過按鍵調(diào)整。2.有人呼叫則閃爍顯示數(shù)量_床位號并蜂鳴器響,按應(yīng)答鍵后繼續(xù)顯示時間。3.若同時有多個病人呼叫則依次輪流顯示:數(shù)量_床位號。開始否是是否設(shè)定定時器及外中斷控制字置定時器初始常數(shù)開定時器1及外中斷呼叫按鍵查詢程序
4、查詢用戶標(biāo)志位F0是否為1時間數(shù)據(jù)轉(zhuǎn)化調(diào)用顯示子程序呼叫顯示數(shù)據(jù)轉(zhuǎn)化程序調(diào)用顯示子程序回復(fù)鍵是否按下(本機地址為01H,當(dāng)接到上位機發(fā)的01H時,則回發(fā)01H)四、程序流程圖定時器0中斷是否是否是保護現(xiàn)場10000次計數(shù)值減1計數(shù)值為0設(shè)置下一次10000次計數(shù)值秒值加1存放病床床號地址減1呼叫數(shù)量減1到60秒否秒值清零,分值加1到60分鐘否分值清零,小時值加1到24小時否小時清零恢復(fù)現(xiàn)場中斷返回否否否定時器1對P3.6取反中斷返回五.實驗接線圖連線連接孔1連接孔21P1.0S02P1.1S13P1.2S24P1.3S35P1.4S46P1.5
5、S57P1.6S68P1.7S79KEY/LED_CSCS010P3.5喇叭脈沖輸入11P3.2脈沖12P3.3脈沖六、程序設(shè)計如下:OUTBITequ08002h;位控制口OUTSEGequ08004h;段控制口LEDBufequ60h;顯示緩沖LEDBuf1equ80hHourequ40hMinuteequ41hSecondequ42hC100usequ43hchuanggaoequ70hchuangdiequ71hshuliangequ72hTickequ10000T100usequ256-50ORG0000HLJMPMAINORG000
6、3HLJMPMTORG000BHLJMPTOINTORG0013HLJMPHTORG001BHLJMPT1INTMAIN:movTMOD,#22h;模式2,定時器0.1毫秒中斷一次movTH0,#T100usmovTL0,#T100usmovTL1,#6HMOVTH1,#6HmovIE,#b;EA=1,IT0=1movHour,#0movMinute,#0movSecond,#0movC100us,#high(Tick)movC100us+1,#low(Tick)SETBIT0SETBIT1SETBEX0SETBEX1SETBIE0SETBIE
7、1movMinute,#0movHour,#0setbTR0ljmpMLoopMT:;分調(diào)整movSecond,#0INCMinuteMOVA,MinuteCJNEA,#60,LOP1MOVMinute,#0LOP1:RETIHT:;時調(diào)整movSecond,#0INCHourMOVA,HourCJNEA,#24,lop2MOVHour,#0lop2:RETIMLoop:mova,Hourmovb,#10divabcallToLEDmovLEDBuf,amova,bcallToLEDorla,#80hmovLEDBuf+1,amova,Minu
8、temovb,#10divabcallToLEDmovLEDBuf+2,amova,bcallToLEDorla,#80hmovLEDBuf+3,am