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