摘要:體溫、血壓、血氧和脈搏等人體健康參數(shù)是反映人體健康狀況的關鍵生理指標。為克服傳統(tǒng)測量方式耗時長、效率低的不足,文章以STC89C52單片機為核心,以DS18B20溫度傳感器和JFC103紅外光傳感器為外圍傳感器,設計了一款人體健康參數(shù)檢測儀。實踐表明,該人體健康參數(shù)檢測儀制作簡單、成本低廉、操作簡便,具有一定的實用價值。
關鍵詞:單片機;人體健康參數(shù);檢測
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2024)32-0120-03 開放科學(資源服務)標識碼(OSID) :
0 引言
隨著社會節(jié)奏的加快和工作壓力的增加,越來越多的人處于亞健康狀態(tài),這可能引發(fā)多種健康問題,及時了解自身的健康狀況至關重要。體溫、血壓、血氧和脈搏是反映人體健康狀況的關鍵生理指標,在臨床上通常作為檢查疾病與判斷醫(yī)療成效的重要依據(jù)。便捷地獲取這些生理參數(shù),對于個人健康管理和疾病預防具有重要意義。
傳統(tǒng)的體溫、血壓、血氧和脈搏的測量方式需要較多的人工操作環(huán)節(jié),存在測量耗時長、效率低的問題 [1-2]。為解決這一問題,本文設計了一種基于STC89C52單片機控制傳感器測量上述4個生理指標的系統(tǒng),以替代傳統(tǒng)測量過程中的人工操作環(huán)節(jié),并避免主觀因素對測量結果的影響。該系統(tǒng)采用簡單的傳感器,具有硬件設計制作簡單易實現(xiàn)、成本低廉、功耗低、操作簡便等優(yōu)點。
1 系統(tǒng)總體設計
基于單片機的人體健康參數(shù)檢測儀以STC89C52 單片機為核心,用于檢測人體體溫、血壓、血氧和脈搏。硬件總體設計如圖1所示。STC89C52單片機作為核心處理單元,負責數(shù)據(jù)的處理,包括讀取各傳感器的測量數(shù)據(jù)、輸出顯示等。同時,它還能進行邏輯判斷,實現(xiàn)超限聲光報警等功能。LCD1602液晶顯示器用于顯示當前4個生理參數(shù)的數(shù)值信息;DS18B20 溫度傳感器用于采集人體體溫;JFC103紅外傳感器在經過降壓模塊降壓,提供合適的工作電壓后,用于采集脈搏、血氧和血壓3個信息;按鍵設置模塊用于調整報警上下限;聲光報警模塊則用于實現(xiàn)蜂鳴器的聲光報警功能。
2 硬件組成模塊
2.1 單片機處理單元
單片機處理單元硬件組成包括單片機、晶振電路和復位電路。本設計選用STC89C52單片機,該單片機是一款8位微控制器,具有8KB可編程Flash存儲器,適用于嵌入式控制應用系統(tǒng),具有低功耗、高性能的特點。
STC89C52單片機采用40引腳封裝,其中主要引腳功能如下:
(1) VCC(40號引腳):+5V電源輸入端;
(2) GND(20號引腳):接地;
(3) X1, X2(18, 19號引腳):外部晶振連接引腳;
(4) RST(9號引腳):復位引腳;
(5) P0-P3:I/O端口,用于連接外設,例如P0口連接LCD1602液晶屏,P3.7連接DS18B20的DQ端。
晶振電路如圖3所示,采用12MHz晶體振蕩器和兩個20pF電容構成并聯(lián)諧振電路,為單片機提供穩(wěn)定的時鐘信號。
復位電路如圖4所示,可以通過按鍵手動復位,也可以在上電時自動復位。
上電自動復位是在電源接通瞬間,通過電路中的電容充電來實現(xiàn)的。在上電的瞬間,電容C通過電阻R充電,單片機的RST端出現(xiàn)正脈沖,從而使單片機完成復位過程。在接通電源以后,如果電源的上升時間沒有超過1毫秒,那么就能實現(xiàn)單片機的上電自動復位,也就是完成了系統(tǒng)的復位初始化。
按鍵復位是指當復位按鍵接通以后,復位開關導通,復位電路中的電容被短路,電容兩端形成回路,并且開始釋放自身存儲的電量。單片機進入復位狀態(tài)。當單片機通電運行以后,這個時候如果想復位的話通常都使用按鍵復位。
2.2 血壓、血氧和脈搏采集模塊JFC103
紅外光傳感器JFC103 是一款功能強大的傳感器,它能夠測量人體脈搏、血氧和血壓,并且其結構簡單,輸出為數(shù)字信號,可簡化電路設計。該模塊的工作電壓約為2.7V到3.6V,因此需要利用LM1117模塊進行降壓處理。
JFC103 利用光電容積脈搏波描記法(Photople?thysmography, PPG) 測量人體的血壓、血氧和脈搏。PPG技術利用特定波長的光線透過皮膚,光線接收器接收皮膚反射或透射出的光信號。血液循環(huán)會引起周期性的光強度變化,通過處理這些變化可以生成脈搏數(shù)據(jù)。同樣,由于血液含氧量不同會導致不同的反射率,PPG技術也可以用于測量血氧飽和度。傳感器通過檢測光信號變化并結合算法,可估算血氧數(shù)值。PPG技術還可用于無創(chuàng)血壓檢測,其原理是利用脈搏波在動脈內的傳導時間與血壓之間的相關性來估算血壓數(shù)值。需要注意的是,PPG是一種相對間接的測量方法,測量結果容易受到傳感器貼合度、使用者活動水平以及皮膚狀態(tài)等環(huán)境因素的影響。因此在使用時要保證JFC103傳感器緊密貼合皮膚,這樣才能得到精準的數(shù)據(jù)。
JFC103 與單片機的通信可以通過串口實現(xiàn)。JFC103模塊接收到單片機發(fā)送的啟用采集功能的指令后,就會開始向單片機傳輸采集到的實時數(shù)據(jù)包。這些數(shù)據(jù)包每隔64個點(約1.28秒)發(fā)送一次,每個點包含76個字節(jié)。數(shù)據(jù)包第一個字節(jié)的值為0xff,之后依次是脈搏、血氧、收縮壓、舒張壓的數(shù)據(jù)字節(jié)。單片機通過讀取數(shù)據(jù)包,可以獲得人體脈搏、血氧、血壓的實時數(shù)據(jù)并加以處理。
2.3 體溫檢測模塊
人體健康參數(shù)檢測儀中體溫的檢測由數(shù)字溫度傳感芯片DS18B20來實現(xiàn)。DS18B20采用接觸式測溫方式檢測人體體溫,其VDD引腳與電源相連,GND 引腳接地,測量到的溫度值通過DQ引腳傳送給單片機的P3.7口[3]。
2.4 聲光報警模塊
聲光報警模塊采用了蜂鳴器和LED燈實現(xiàn)聲光報警。當測得的生理參數(shù)值超過上限或低于下限時,蜂鳴器發(fā)出響聲,同時紅色的LED燈以一定頻率閃爍,提醒用戶。
2.5 顯示模塊
顯示模塊選用了LCD1602液晶顯示器,它能夠同時顯示2行,每行16個字符[4-5]。LCD1602液晶顯示器具有顯示清晰穩(wěn)定、功耗低的優(yōu)點。圖6是LCD1602 實物圖。
3 軟件設計
系統(tǒng)軟件采用C 語言編寫,采用模塊化設計方法,主要包括主程序模塊、數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、按鍵處理模塊、顯示模塊、報警模塊等。
主程序模塊:負責系統(tǒng)初始化、任務調度等工作。系統(tǒng)初始化包括串口初始化、中斷的初始化、JFC103 初始化、DS18B20初始化等。主程序為一無限循環(huán),在循環(huán)體中依次完成各事件模塊的調度處理。
數(shù)據(jù)采集模塊:負責控制傳感器進行數(shù)據(jù)采集,并將采集到的數(shù)據(jù)傳輸給數(shù)據(jù)處理模塊。數(shù)據(jù)采集包括DS18B20 的人體溫度數(shù)據(jù)采集和JFC103 的脈搏、血氧、血壓數(shù)據(jù)的采集。
數(shù)據(jù)處理模塊:負責對采集到的數(shù)據(jù)進行處理,采用了常用的算數(shù)平均濾波法,并將處理后的數(shù)據(jù)傳輸給顯示模塊和報警模塊。
按鍵處理模塊:負責掃描3個獨立的功能按鍵,當某按鍵按下時軟件消抖并進行相應的功能處理。
顯示模塊:負責將測量結果顯示在LCD1602液晶顯示器上。
報警模塊:負責判斷測量結果是否超出預設的報警閾值,并在超出閾值時觸發(fā)聲光報警。
軟件設計流程圖如圖7所示。
4 系統(tǒng)調試
完成硬件電路焊接和軟件調試后,使用STC_ISP 下載軟件將編譯好的程序燒寫到STC89C52單片機的程序存儲器0000H開始的地址空間中。將傳感器正確連接到人體,上電后等待幾秒鐘,液晶顯示器上會顯示測得的體溫、血壓、血氧和脈搏值。圖8為某次測量結果實拍圖,由液晶屏可看出:被測者脈搏為65 次/min,體溫為33.6°C,血氧為92% SpO2,血壓值為126/81 mmHg(收縮壓/舒張壓),生理指標屬正常范圍。系統(tǒng)與傳統(tǒng)水銀血壓計進行了10次對比測量,結果表明,所測的血壓誤差不超過8 mmHg,每分鐘脈搏誤差平均值為2。
5 結論
本設計基于STC89C52單片機,設計了一款能夠測量體溫、血壓、血氧和脈搏的人體健康參數(shù)檢測儀。該系統(tǒng)具有測量速度快、操作簡便、成本低廉等優(yōu)點,具有一定的實用價值。該檢測儀還可做進一步的完善性設計,比如選擇合適的材料對其設計美觀簡潔的外包裝殼,還可利用Wi-Fi模塊將測得的數(shù)據(jù)上傳至手機,開發(fā)相應的手機App程序供用戶方便地在手機上查看。
參考文獻:
[1] 姜銘,李亦寧,苗紫民,等.基于單片機的心率體溫測量計[J].電腦知識與技術,2021,17(16):232-234.
[2] 趙光晶,趙鳴,張友浩,等.基于STC89C52單片機的心率檢測系統(tǒng)設計與實現(xiàn)[J].智能計算機與應用,2021,11(5):94-96,102.
[3] 孔德因. 溫度傳感器DS18B20 簡介[J]. 家電維修,2023(2):I0049.
[4] 龐慶澳,董國慶,于溢文,等.基于Zigbee的運動健康監(jiān)測系統(tǒng)的設計[J].電子制作,2023,31(9):8-11.
[5] 史靜,李煜.一種基于單片機和LCD1602的多行文本顯示方法[J].科技視界,2017(20):61-62.
【通聯(lián)編輯:梁書】