基于以太網(wǎng)的醫(yī)院病人體溫遠(yuǎn)程自動(dòng)檢測(cè)系統(tǒng)設(shè)計(jì)
3.1 DS18B20驅(qū)動(dòng)程序設(shè)計(jì)
單總線通信時(shí)只需要1根信號(hào)線,并嚴(yán)格按照特定的時(shí)序要求逐位交換信息,主機(jī)和從機(jī)允許數(shù)據(jù)雙向傳輸,但在同一時(shí)刻數(shù)據(jù)的傳輸只能是一個(gè)方向的。
(1)初始化時(shí)序
初始化時(shí)CPU首先發(fā)出一個(gè)復(fù)位信號(hào)將單線總線上所有DS18B20復(fù)位;然后釋放總線,改成接收狀態(tài),單線被上拉電阻R拉成高電平。在檢測(cè)到此上升沿后,DS18B20需要等待15~60μs才向CPU發(fā)出響應(yīng)脈沖,此后便可對(duì)ROM,RAM進(jìn)行操作。
(2)讀/寫(xiě)時(shí)序
①寫(xiě)時(shí)序。CPU把I/O線從高電平拉至低電平時(shí),作為一個(gè)寫(xiě)周期的開(kāi)始。寫(xiě)時(shí)序包括2種類(lèi)型即寫(xiě)1時(shí)序和寫(xiě)0時(shí)序。
②讀時(shí)序。當(dāng)CPU將I/O線從高電平拉成低電平時(shí),就作為一個(gè)讀周期的開(kāi)始,并且I/O線保持低電平至少為1μs。DS18B20的輸出數(shù)據(jù)至讀時(shí)序下降沿后的15μs內(nèi)有效。經(jīng)過(guò)15μs后讀時(shí)序結(jié)束,I/O線經(jīng)外部上拉電阻又變成高電平。讀/寫(xiě)1位數(shù)據(jù)至少需要60μs,并在兩位數(shù)據(jù)之間至少要有1μs的恢復(fù)期。讀/寫(xiě)1位數(shù)據(jù)時(shí)序的波形如圖5所示。本文引用地址:http://2s4d.com/article/199728.htm
3.2 液晶顯示驅(qū)動(dòng)程序設(shè)計(jì)
利用點(diǎn)陣液晶顯示模塊LM6038D的串口模式,其時(shí)序圖如圖6所示。
LM6038D的顯示驅(qū)動(dòng)程序包含了字符庫(kù),由于系統(tǒng)只是簡(jiǎn)單地顯示溫度數(shù)據(jù),所以字符庫(kù)做的比較小,只有“0~9”,“.”,“:”,“℃”,“+”以及“-”的字符編碼,采用16×16的字符大小。液晶每一頁(yè)只顯示4路DS18B20的數(shù)據(jù),通過(guò)兩個(gè)按鍵可以上下翻頁(yè)查看其他DS18B20的數(shù)據(jù)。數(shù)據(jù)顯示格式:“1:+36.7℃”。
3.3 串口和網(wǎng)絡(luò)通信驅(qū)動(dòng)程序設(shè)計(jì)
單片機(jī)和ZNE-100T‘模塊之間通過(guò)RS 232接口通信,采用中斷的方式進(jìn)行串口通信。單片機(jī)串口初始化波特率為9 600 b/s,單片機(jī)在初始化時(shí),就先通過(guò)串口對(duì)ZNE-100T進(jìn)行初始化操作,包括設(shè)置服務(wù)器IP地址,本機(jī)IP地址、網(wǎng)關(guān)、掩碼以及服務(wù)器端口號(hào)等,連網(wǎng)成功后,綠色發(fā)光二極管會(huì)亮起。單片機(jī)單元加上ZNE-100T模塊,就構(gòu)成了病房主機(jī),它和醫(yī)院監(jiān)控中心之間的通信協(xié)議如下:
每個(gè)病房主機(jī)都有一個(gè)ID號(hào)。單片機(jī)每隔1 min把采集到的8路溫度數(shù)據(jù)按照通信協(xié)議打包之后通過(guò)串口發(fā)送給ZNE-100T,ZNE-100T則通過(guò)網(wǎng)口把數(shù)據(jù)發(fā)送到醫(yī)院監(jiān)控中心,此時(shí)紅色發(fā)光二極管會(huì)不斷的閃,表示正在發(fā)送數(shù)據(jù)。
4 醫(yī)院監(jiān)控中心
醫(yī)院監(jiān)控中心包括數(shù)據(jù)庫(kù)和監(jiān)控平臺(tái)。數(shù)據(jù)庫(kù)記錄從個(gè)病房主機(jī)發(fā)過(guò)來(lái)的病人的體溫?cái)?shù)據(jù),并且與病人的其他數(shù)據(jù)庫(kù)同步,便于醫(yī)生分析病人的病情變化。監(jiān)控平臺(tái)則實(shí)時(shí)顯示各床號(hào)病人的體溫?cái)?shù)據(jù),并對(duì)體溫變化異常的病床號(hào)進(jìn)行預(yù)警,同時(shí)顯示相應(yīng)的編號(hào)和床位信息,提示醫(yī)護(hù)人員注意檢查病人身體狀況。
5 測(cè)試結(jié)果和實(shí)際使用情況
(1)DS18B20溫度測(cè)量精度
在測(cè)試過(guò)程中選用了水銀體溫計(jì)同時(shí)測(cè)量溫度,以檢驗(yàn)DS18B20的測(cè)量精度。在此測(cè)量20次體溫,DS18B20的測(cè)量結(jié)果和水銀體溫記的測(cè)量結(jié)果基本一致。
(2)監(jiān)控中心溫度顯示
在實(shí)際測(cè)試過(guò)程中,用5臺(tái)病房主機(jī)和監(jiān)控中心組成了一個(gè)測(cè)試網(wǎng)絡(luò),可以在監(jiān)控中心實(shí)時(shí)看到各病房主機(jī)發(fā)送過(guò)來(lái)的溫度數(shù)據(jù),每路溫度數(shù)據(jù)都可以以曲線或者數(shù)字的方式顯示。
6 結(jié)語(yǔ)
實(shí)踐表明,該系統(tǒng)可以穩(wěn)定地測(cè)量多個(gè)人體溫度,可以正常與監(jiān)控中心通信,并且可以實(shí)時(shí)地在病房主機(jī)上顯示測(cè)量的溫度數(shù)據(jù)。該系統(tǒng)具備穩(wěn)定性好,成本低廉,采用單總線測(cè)溫技術(shù)和以太網(wǎng)通信技術(shù),便于實(shí)現(xiàn)分布式溫度測(cè)量,可以作為子系統(tǒng)模塊在醫(yī)院信息系統(tǒng)中應(yīng)。
評(píng)論