單淑慧 張博聞 王藝穎 安康 楊明 龐闖
【摘 ?要】本設(shè)計采用STC89C51單片機作為控制處理單元核心,紅外傳感器ST188作為信號檢測傳感器。當(dāng)心率測量儀開始工作時,由于人體手指豐富的血管會隨著心跳改變透光性,所以通過紅外光電傳感器可以檢測出人體心跳所產(chǎn)生的脈沖信號。信號經(jīng)過放大整形后,輸入單片機內(nèi)相應(yīng)的控制單元。經(jīng)過單片機程序計算出每分鐘脈搏跳動次數(shù)[1],然后直接顯示在通過LCD1602液晶上。當(dāng)心率異常超出正常范圍時,設(shè)計發(fā)出聲音報警,警報范圍可以實時通過按鍵更改設(shè)定。本設(shè)計傳感器可以直觀有效的實時顯示測量的心率結(jié)果。
【關(guān)鍵詞】單片機;心率測量儀;紅外光電傳感器;液晶顯示
數(shù)字心率檢測儀作為醫(yī)療中不可或缺的一種基礎(chǔ)醫(yī)療設(shè)施,正在向著大眾化邁進(jìn)。心率檢測也作為一種新興功能融合進(jìn)新出現(xiàn)的可穿戴設(shè)備中。作為佩戴人日常身體健康監(jiān)測數(shù)據(jù)之一,心率檢測儀正以微縮化的身影融入進(jìn)我們?nèi)粘I钪小R虼?,本文提出了一種有效的基于單片機的數(shù)字心率測量儀設(shè)計。
1.系統(tǒng)整體設(shè)計方案
本設(shè)計硬件部分采用模塊化設(shè)計,主要由鍵盤輸入模塊、脈搏信號采集與處理模塊、單片機主控單元模塊、數(shù)據(jù)輸出顯示與報警模塊、電源供給模塊組成。由于人體手指豐富的血管會隨著心跳改變透光性,光電傳感器ST88收集這種隨心跳而改變透光性造成的紅外光光強信號,并轉(zhuǎn)換成電信號。但由于這種信號較弱,所以信號處理電路將其放大、濾波、整形后傳輸進(jìn)單片機主控模塊。其次即可計算出心率數(shù)值。心率結(jié)果通過單片機接口傳輸給LCD1602顯示出來,如果心率超出或低于警示范圍值時,單片機會同時接通蜂鳴器驅(qū)動電路發(fā)出警報。電源電路向各個模塊電路提供的電源,采用4.5~5V外置穩(wěn)壓電源。
本設(shè)計采用單片機STC89C51為控制核心,實現(xiàn)心率監(jiān)測系統(tǒng)的基本測量功能[2]。該系統(tǒng)的硬件框圖如圖1 所示。
當(dāng)手指放在ST188光電傳感器上時,隨著心臟的跳動,手指血管中血液的流量將發(fā)生變換,手指血管的透光性也隨之改變,光電傳感器ST88中紅外光電二極管發(fā)出的紅外光經(jīng)過血管后被ST188中高靈敏度光電晶體管接受,而接受的光強會隨著透光性的周期性改變而改變,因此ST88將這種隨心跳而改變透光性造成的紅外光光強周期性改變信號收集并轉(zhuǎn)換成脈沖電信號,這種信號經(jīng)過放大、濾波、整形后,輸出到單片機電路,經(jīng)單片機運算處理后將結(jié)果輸出到LCD602顯示出來,如果超出或低于報警范圍值時,同時接通報警電路發(fā)出警報。
2.信號采集模塊電路設(shè)計
信號采集電路的功能是由ST188傳感器將心跳信號收集并轉(zhuǎn)換為脈沖電信號,但一般此時的信號只有幾十毫伏,有時甚至低至幾毫伏,所以需要電路對信號進(jìn)行數(shù)百倍的放大以達(dá)到電路后續(xù)信號處理電路所需的信號電壓要求。脈沖信號經(jīng)放大后一般為幾伏電壓。因此,信號彩激電路總體設(shè)計中需要光電傳感器采集信號、放大電路、濾波電路、整形電路及其他部分。
并且整個信號采集電路如下圖2所示。
本設(shè)計中采用ST188光電傳感器采集心率信號,然后心率信號初步低通濾波,然后經(jīng)過LM358搭建的功放電路進(jìn)行放大,幾微伏的信號被放大到幾伏,然后通過有緣濾波電路將波去掉,得到脈沖信號,然后經(jīng)過整形電路整形,就得到了可被單片機主控電路識別的心率信號。
3.系統(tǒng)軟件總體設(shè)計
單片機上電后先進(jìn)行定時器、液晶等的初始化,主函數(shù)會調(diào)用定時器初始化函數(shù)和液晶初始化函數(shù),為程序正常運行做準(zhǔn)備,此時液晶初始化顯示“Hrart Rate:’’,并打開定時器,然后進(jìn)入while循環(huán)。
當(dāng)進(jìn)行心率測量時,先進(jìn)行定時器初始化,后續(xù)心率測量過程中定時器都設(shè)置為10ms檢測一次心率信號。當(dāng)定時器檢測到有心率采集電路輸送到的信號中斷產(chǎn)生時,判定為有信號輸入。但是考慮到有時會因為電源燈管燈光等外部因素的影響,心率采集到的高頻的非心率信號,所以程序設(shè)計中采用定時器T0對信號進(jìn)行掃描計數(shù),只有連續(xù)4次掃描到脈沖信號才認(rèn)定為心率信號,即采集到信號的產(chǎn)生時間只有大于等于30ms才會認(rèn)定為心率信號。
當(dāng)程序確定采集到的信號為心率信號后進(jìn)行對信號的判斷,如果此信號為第一次檢測到心率信號,即計數(shù)器中心率計數(shù)為0,程序繼續(xù)采集信號,直到采集到第二次認(rèn)定為心率的信號為止;如果此信號為第二次檢測到心率信號,即計數(shù)器中心率技術(shù)為1,則根據(jù)和上一次記錄到心率信號時間差,計算出一分鐘的心率數(shù)。然后輸出到LCD液晶屏上,當(dāng)心率數(shù)超出或低于報警范圍值時,就會輸出信號接通報警電路發(fā)出報警。
4.軟件測量計算
設(shè)K個連續(xù)的動脈搏動所用時間為t(秒),在時間t內(nèi)心率的平均值為n(次/分),則:n=60K/t。為了能夠精確測定t值,本設(shè)計采用心率信號控制單片機的定時器T0定時(定時為1ms中斷一次),單片機的工作寄存器對中斷次數(shù)進(jìn)行計數(shù),然后讀取計數(shù)值。設(shè)該計數(shù)值為N,對于K個心率周期內(nèi):t=0.001N化簡可得:n=60k/0.001N=60000K/N。
即為本設(shè)計單片機測定每分鐘心率值的數(shù)學(xué)模型(誤差小于0.4%)。軟件設(shè)計中K值可以通過修改單片機源程序更改。本設(shè)計考慮到心率測量的快速便捷,將K值設(shè)定為1。這樣數(shù)字心率檢測儀就可以實現(xiàn)人體心率的連續(xù)檢測,檢測出人體心率的實時值。倘若外接示波器的話,就可以對輸出信號進(jìn)行量化,顯示出人體心率波形圖。
總結(jié)語:
心率作為臨床常規(guī)檢查的重要生理指標(biāo)之一,側(cè)面反映出了人體很多心腦血管和心臟方面的健康信息。通過測量人的心率,便可初步判斷人的健康狀況。本設(shè)計可以方便快捷的測量心率,并在心率異常時發(fā)出警報,因此,本數(shù)字心率測量儀設(shè)計將能夠得到很好的應(yīng)用。
參考文獻(xiàn):
[1] 朱彤、李婉媚.脈搏波傳導(dǎo)速度測定的新認(rèn)識[J].醫(yī)療保健器具,2006.(8).
[2] 劉文,楊欣,張鎧麟.基于AT89C2051單片機的指脈檢測系統(tǒng)的研究[J].醫(yī)療裝備學(xué)報,2005,第17卷,第9期,2-14.
(作者單位:河南理工大學(xué))