馬里 遼寧錦州渤海大學工學院
基于單片機的病床呼叫系統設計
馬里 遼寧錦州渤海大學工學院
本文設計的病床呼叫系統的核心采用的單片機型號是AT89C51系列,組成模塊中包括了數字電路、顯示電路以及矩陣鍵盤等,目的是完成醫生護士與病人間傳達信息。針對病房系統中設置了一個按鍵,只要患者按下按鍵,這個時候患者床位號就會顯示在值班室的顯示屏中,當很多人同時使用的時候能夠完成循環顯示,當醫護人員要取消呼叫的時候,可以按下“響應”鍵。這個系統實現的是快捷系統,優點是效率高、成本低、安裝方便,同時易操作。
呼叫系統 單片機 矩陣鍵盤
病床呼叫系統在養老院以及醫院病房中有著廣泛的應用,主要的目的是為了建立病員與醫護人員之間的信息溝通,從而增強醫院管理水平,在醫院方面起到了不可缺少的重要作用。病床呼叫系統與病員生命安全之間有著直接的影響,因此在很多的醫院中都受到了高度重視。病床呼叫系統在設計實現中需要保持高可靠性、穩定性易操作且及時。
現在市場中關于病房呼叫系統有很多的不同功能的型號,具體上包括了2種,分別是有線式與無線式。其中的無線式的系統中不會設置鋪設線路,然而由于可靠性比較差,同時醫療儀器會受到無線電波的影響。本文選擇的是有線式,在很多的小型醫院中比較適用,優點是投入的設備成本低,操作方便同時穩定性強和易維護管理,不會影響到其他的設備。然而因為布線很多,不美觀,所以通常情況下大型醫院中不會采用。病床呼叫系統有利于快速地呼叫護士,可以提高人工呼叫護士的效率。現今的病房呼叫系統漸漸地走向了智能化的方向,能夠與錄像機同時運用,當病人按下操作鍵后,醫護人員就可以在值班室的顯示屏中看到病人的需求,同時能夠設置對講機,從而方便和能夠和醫護人員更好地溝通。
AT89C51型號的單片機是8位,來自美國ATMEL公司,字節數是4k,能夠實現反復地擦寫。該控制器有著強大的功能,在很多的場合中都有廣泛的應用,運用十分靈活。AT89C51用到的結構是40Pin封裝的,AT89C51的引腳圖如圖1所示。
引腳數目一共是40個,兩根地線與正電源,8位I/O口有4組,引腳數目有32個,其中的控制信號引腳有RET(復位輸入端),EA/ VPP以及ALE/PROG。
2.1 系統總體設計
本文設計的系統的主要目標是:(1)實現所有病房的呼叫,醫護值班室對呼叫做出及時響應同時顯示屏中可以看到病員的病房號;(2)病房床號顯示;(3)當同時出現多個病床呼叫時,就循環顯示;(4)結束后記錄清除;(5)顯示器顯示一次病床號
鍵盤掃描與靜態顯示實現運用了8051自身的接口,其中的最小微機電路包括了三態鎖存器有4塊、74LS138芯片1塊。基于上述設備,將多位數碼管顯示器配置在智能裝置以及矩陣鍵盤里面,能夠實現I/O芯片不擴展全部的功能都是由其自身I/O口實現。本文設計的病床呼叫系統涉及到的模塊主要有顯示電路、復位電路以及鍵盤輸入電路等等。系統總體結構框圖如圖2所示。

圖1 單片機的引腳圖

圖2 系統總體結構框圖
2.2 外圍電路設計
時序的基礎是時鐘,該電路中設置了一個振蕩器,時鐘的形成就是通過其實現的,時鐘形成方式包括了外部方式以及內部方式等。本文選擇的是內部方式,定時元件是通過在XTAL2與XTAL1外接石英晶體。電容選擇的是40pF。內部時鐘電路如圖3所示。
2.3 鍵盤電路設計

圖3 內部時鐘電路
識別鍵盤閉合鍵,主要包括的方式有行反轉法以及行掃描法。其中的行掃描法原理是先接地第0行,其他的行是高電平,接著觀察第0行鍵盤的閉合狀態,實現方式需要借助于列線電位的檢查,當接地的時候,觀察條列線的電平狀態。當條列線是低電平的時候,就代表著在第0行與該列線處有按下鍵盤,否則判斷是未按下鍵盤。最后接地第1行,可以繼續檢查列線的電平情況。當掃描的時候,如果存在某一行的按鍵狀態是閉合的,那么掃描就會退出。根據列線和行線各自的位置就可以知道實際的位置。連接并行接口與行線。列線電位的檢查,需要相接并行輸入輸出口與列線,CPU將輸入輸出口值進行讀取,就能夠知道按鍵的是哪個床位號了。程控掃描的主要目的是對按鍵狀態進行判斷,方法是當全部的行輸出是低電平的時候,進行值的讀取,當未按鍵的時候,列值讀入是FFH,當有按鍵操作的時候,值不是FFH。鍵抖動去除,當按鍵操作后,就會出現10到15ms的延遲,進而對按鍵進行判斷,當有按鍵操作的時候,就可以看成是鍵盤中的按鍵閉合的。若有鍵閉合,則求出閉合鍵的鍵值,求鍵值的方法是對鍵盤逐行掃描。
2.4 顯示電路設計
當顯示驅動程序重新進入中斷程序之后初始化定時器,進而確保電路的顯示操作,其中刷新幀頻的公式為f/12(65536-t)和1/16之間的乘積,另外這里的f指的是位晶振頻率,而t指的是定時器。接著通過顯示程序對目前的行號進行查詢,下一行的顯示數據通過顯示緩存實現,移位寄存器進行接收。驅動程序需要先把顯示屏關閉,也就意味著消隱,當數據顯示成功后,接著再完成新行號的輸出,顯示重新打開。顯示驅動程序如圖4所示。

圖4 顯示驅動程序
系統主程序程序描述為第一步是初始化每個存儲單元,初值設置,第二步是對清零鍵進行判斷按鍵有沒按下,當按下的時候,就清零,接著進行鍵盤的掃描,當掃描發現有鍵被按下的時候,就會完成計數顯示的調用,病床號循環顯示需要對標志位進行判斷,如果是1,那么意味著已按下,就不會發生響應,如果是為0,那么就進行循環顯示程序的調用操作,病床號循環顯示。然后重新定時。
3.1 顯示電路流程圖
顯示程序的第一步是按下鍵總數,按鍵數保存在COUNTER的存儲單元中,接著通過BCD完成調整,目標是為向十位送7AH以及向個位送7BH,按鍵總數的調用需要用到子程序的顯示。接著循環將病床號顯示出來,其中第一步是對標志位進行判斷,如果結果是等于0,就意味著存儲單元中并沒有任何的值保存進去,那么下一步就是繼續對另一個存儲單元進行檢測,當結果檢測是1的時候,那么值就會保存到BED_BOUNTER里面,下一步就是完成BCD向十進制調整,其中的十位保存的是BEDCODE_1,而個位保存的是BEDCODE_2,最后是顯示子程序的調用,從而實現病床號的循環顯示。
3.2 系統的調試
在系統開發的時候,系統調試起到了重要的作用,系統調試主要涉及到了聯調控制系統的硬件以及軟件以及仿真系統,安裝現場調試。當組裝完系統設計之后,第一步是完成硬件調試,當成功調試后,就可以得到硬件保證,從而容易找出軟件中存在的漏洞,進一步完善處理。當通過調試后,現場運行需要時間,當沒有出現故障之后,驗收系統,進而整個系統完成工作。
結語:本文主要是介紹了基于單片機的病床呼叫系統,文中主要涉及到了系統總體結構設計以及各個電路的設計,并且給出了相應的電路圖以及程序流程圖說明介紹,病床呼叫系統在很大的醫院中都有著重要的意義,對于醫護人員而言起到了很大的幫助,提高了醫院管理效率以及節省了醫護人員人力與時間。
[1]倫志新,王蕾.基于LabVIEW和Multism的病床呼叫器的設計與實現[J].唐山學院學報,2013,26(3):71-74
[2]邵婷婷,張明,范圣花.基于單片機的太陽能病床呼叫系統設計[J].信息技術,2011,20(8):61-62
[3]梁春美,胡云琴.基于單片機的“病床呼叫和輸液監控系統”設計[J].福建電腦,2013,29(3):153-154
[4]潘紹明,梁喜幸.基于信號疊加和無線電的病房呼叫系統設計與實現[J].電子技術應用,2011,37(3):133-136