基于單片機的病房緊急呼叫系統設計
摘要:文中介紹了一種基于A(yíng)T89S51單片機設計的醫院病房呼叫系統。該系統主要模塊是由51單片機系統、1602液晶顯示器及其他單元電路組成,同時(shí)也利用單片機的全雙工通信來(lái)實(shí)現整個(gè)模塊之間的通訊功能。所設計的系統核心控制器主要采用價(jià)格低廉,性能可靠的51單片機;整個(gè)設計模塊的主要工作原理是分機按鍵呼叫,主機蜂鳴器報警,同時(shí)顯示呼叫的號碼和呼叫次數,主機按鍵可查詢(xún)分機呼叫次數。使用本設計的病房緊急呼叫系統,具有很重要的應用價(jià)值,可以使病人快速找到醫生,以節約病人的寶貴時(shí)間。
本文引用地址:http://dyxdggzs.com/article/201610/307273.htm設計一款能滿(mǎn)足大眾要求,適合各種服務(wù)性行業(yè)的緊急呼叫系統,無(wú)疑會(huì )對改善人們生活起著(zhù)十分重要的作用。對醫院?jiǎn)挝欢?,在同?lèi)行業(yè)中,需要對病人或客戶(hù)進(jìn)行快速、準確的服務(wù)和治療,這就需要一種能夠提高醫院工作人員辦事效率的設備,而這種便捷服務(wù)式的呼叫系統節約了大量的人力,財力。對醫院工作人員而言,不需要頻繁的去查房、更不需要高聲應答病人或家屬,免去了無(wú)數次的來(lái)回奔波,維護了醫院良好的安靜環(huán)境,同時(shí)能夠準確的給病人更好的服務(wù)和解決突發(fā)事件。該系統的設計主要分主機和從機兩部分,集串行通信,液晶顯示,蜂鳴器報警于一體,具有施工快捷、簡(jiǎn)單、故障率低、移動(dòng)方便,使用該呼叫器的病人,無(wú)需四處張望尋找,也無(wú)需高聲喊叫,只需輕松地按一下呼叫器的按鈕,所需要的服務(wù)就會(huì )得到及時(shí)的解決。
1 串行通信技術(shù)
1.1 單片機串行通信功能
計算機與外界的信息交換稱(chēng)為通信,常用的通信方式可分為兩種:并行和串行通信。一次同時(shí)傳送多位數據稱(chēng)為并行通信。并行通信其特點(diǎn)是通信速度快,但傳輸信號線(xiàn)多,傳輸的距離較遠時(shí)線(xiàn)路復雜,成本高。
所以主要用于近距離的傳輸操作。按一位接一位順序傳送數據的通信稱(chēng)為串行通信。串行通信其特點(diǎn)是傳輸線(xiàn)少,通信線(xiàn)路簡(jiǎn)單,通信速度慢,成本低,適合長(cháng)距離通信。本設計采用串行通信。
51單片機的串行接口是一個(gè)全雙工的接口,它可以作為UART(通用異步接受和發(fā)送器)用,也可以作為同步移位寄存器用。51單片機串行接口的結構如下:
1)串行數據寄存器(SBUF)
串行數據寄存器SBUF,字節地址為99H,實(shí)際對應兩個(gè)寄存器:發(fā)送數據寄存器和接收數據寄存器。當CPU向SBUF寫(xiě)數據時(shí)對應的是發(fā)送數據寄存器,當CPU讀SBUF時(shí)對應的是接收數據寄存器。
2)串行控制寄存器(PCON)
SCON用于串行通信方式的選擇,收發(fā)控制及狀態(tài)指示,各位含義如下:
SM0,SM1:串行接口工作方式選擇位,用于選擇四位工作方式。
SM2:多機通信控制位。
REN:接收允許控制位。軟件置1允許接收;軟件置0禁止接收。
TB8:方式2或3時(shí),TB8為要發(fā)送的第9位數據,根據需要由軟件置1或清0。
RB8:為發(fā)送數據的第9位,在方式2或3時(shí),存放接收數據的第9位,在方式1時(shí),若SM2=0,則為接收到的停止位。
TI:發(fā)送中斷標志。發(fā)送完一幀數據后由硬件自動(dòng)置位,并申請中斷。必須要軟件清零后才能繼續發(fā)送。
RI:接收中斷標志。接收完一幀數據后由硬件自動(dòng)置位,并申請中斷。必須要軟件清零后才能繼續接收。
3)輸入移位寄存器
數據先串行進(jìn)入輸入移位寄存器,8位數據全移入后,再并行送入接收SBUF中。
4)波特率發(fā)生器
波特率發(fā)生器用來(lái)控制串行通信的數據傳輸速率的,51系列單片機用定時(shí)器T1作為波特率發(fā)生器,T1設置在定時(shí)方式。波特率時(shí)用來(lái)表示串行通信數據傳輸快慢程度的物理量,定義為每秒鐘傳送的數據位數。
5)電源控制寄存器PCON
其最高位為SMOD,稱(chēng)為波特率加倍位。若SMOD位為1,則波特率加倍。
6)波特率計算
當定時(shí)器T1工作在定時(shí)方式的時(shí)候,定時(shí)器T1溢出率=(T1計數率)/(產(chǎn)生溢出所需機器周期)。由于是定時(shí)方式,T1計數率=fORC/12。產(chǎn)生溢出所需機器周期數=模M-計數初值W。
1.2 MAX232芯片
MAX232芯片是美信(MAXIM)公司專(zhuān)為RS-232串口設計的單相電源電平轉換的芯片,使用正5 V單相電源供電系統。如圖1所示。
第1部分主要是電荷泵電路。由1、2、3、4、5、6腳和4只電容構成的。其功能是產(chǎn)生+12v和-12v電源,提供給RS-232串口。
第2部分主要是數據轉換。由7、8、9、10、11、12、13、14腳構成其中的兩個(gè)數據通道。
其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數據通道。
8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數據通道。
TTL/CMOS數據從11引腳(T1IN)、10引腳(T2IN)轉換成RS-232數據從14腳(T1OUT)、7腳(T2OUT)送到電腦DB9插頭;DB9插頭的RS-232數據從13引腳(R1IN)、8引腳(R2IN)輸入轉換成TTL/CMOS數據后從12引腳(R1OUT)、9引腳 (R2OUT)輸出。
第三部分是供電。15腳GND、16腳VCC(+5 V)。
1.3 串行通信軟件實(shí)現
1)串行口工作于方式1;用定時(shí)器1產(chǎn)生9600bit/s的波特率。
2)通信協(xié)議:主機首先發(fā)送連絡(luò )信號(AAH),從機接收到之后返回一個(gè)連絡(luò )信號(BBH)表示從機已準備好接收。
3)通信過(guò)程使用第九位發(fā)送奇偶校驗位。
4)從機接收到一個(gè)數據后,立即進(jìn)行奇偶校驗,若數據沒(méi)有錯誤,則返回00H,否則返回FFH。
5)主機發(fā)送一個(gè)數據后,等待從機返回數據;若為00H,則繼續發(fā)送下一個(gè)數據,若為FFH,則重新發(fā)送數據。
2 液晶顯示1602
2.1 電路設計
液晶顯示LCM1602[3,4,5,6]是利用液晶經(jīng)過(guò)處理后能改變光線(xiàn)的傳輸方向的特性來(lái)實(shí)現信息顯示。一種常用的2行16個(gè)字的液晶模塊,它的顯示功能比較豐富,通過(guò)不同的地址編碼,既可以顯示出不同的阿拉伯數字、英文字母的大小寫(xiě),還可以顯示出常用的符號和日文假名等。它的電路設計比較簡(jiǎn)單,八個(gè)數據線(xiàn)口可以直接和單片機的口相連,典型的結構如圖2所示。
2.2 LCM1602引腳及功能介紹
LCM1602共16個(gè)引腳,各個(gè)引腳功能如下:
第1腳:VSS為地電源。
第2腳:VDD接5V正電源。
第3腳:V0為液晶對比度調整端,當其接正電源時(shí)對比度是最弱的,而接地電源時(shí)其對比度最高。
第4腳:RS為寄存器選擇端,高電平時(shí)表示選擇數據、低電平時(shí)表示選擇指令。
第5腳:RW為讀寫(xiě)信號端,高電平時(shí)表示讀操作,低電平表示寫(xiě)操作。RS和RW共同為低電平時(shí)表示可以寫(xiě)入指令或顯示地址。
第6腳:E端為使能端,當由高電平跳變成低電平時(shí),液晶模塊執行其命令。
第7~14腳:D0~D7為8位雙向的數據線(xiàn)。
第15~16腳:為背光的陽(yáng)極腳和陰極腳,如果模塊是不帶背光的,則為空腳。
說(shuō)明:1為高電平、0為低電平
3 系統的軟件實(shí)現
主機程序流程圖如圖3所示。
系統的軟件實(shí)現中主機的流程圖主要由以下幾個(gè)主要部分組成:首先開(kāi)啟主程序,程序經(jīng)過(guò)初始化之后,主機發(fā)送AAH到從機,從機如果不應答,則返回上一層流程,否則主機發(fā)送數據進(jìn)行檢驗判斷輸出是否完成,若完成則清除標志位,否則返回上一層流程。
分機程序流程圖如圖4所示。
系統的軟件實(shí)現中分機的流程圖主要由以下幾個(gè)主要部分組成:首先開(kāi)啟主程序,程序經(jīng)過(guò)初始化之后,接收數據,同時(shí)計算檢驗主機發(fā)送數據的累加值,如果檢驗的累加值和主機的數據相等,則發(fā)送00H到主機,否則發(fā)送FFH;發(fā)送00H到主機后,進(jìn)行接收完成判斷,若完成則清除標志位,然后將結果顯示到LCD屏上,否則返回到第三個(gè)流程階段,再次計算檢驗主機發(fā)送數據的累加值,然后重復后續流程階段。
4 結論
本設計在設計過(guò)程中遇到的最大的困難就是程序的調試,串口程序的初始調試還算比較順利,先根據數碼管實(shí)現了串口間的發(fā)送與接收,然后換成1602液晶以后問(wèn)題接踵而來(lái),開(kāi)始的時(shí)候復位需要在分機上進(jìn)行,但是問(wèn)題是分機上復位了患者也不能立馬看到主機上的復位效果,所以效果不能真正的實(shí)現。然而通過(guò)再次查閱有關(guān)串口通信的資料,得知串口通信發(fā)送接收一次要進(jìn)行一次初始化,問(wèn)題隨之而解。其次在進(jìn)行主機按鍵查詢(xún)的程序設計中費了不少功夫,開(kāi)發(fā)板上的按鍵不能中斷串口通信的過(guò)程,而且串口通信的接口和鍵盤(pán)的一排按鍵的接口是復用的,給設計帶來(lái)了不小的麻煩,最后利用中斷的優(yōu)先級的設定,利用外部中斷的優(yōu)先級高于定時(shí)器中斷的優(yōu)先級有效的解決了主機按鍵查詢(xún)的問(wèn)題。
評論