趙光晶,趙 鳴,張友浩,徐夢(mèng)瑤
(上海工程技術(shù)大學(xué) 航空運(yùn)輸學(xué)院,上海201620)
心率是體現(xiàn)血液循環(huán)機(jī)能的重要生理指標(biāo),如果能穩(wěn)定地記錄這項(xiàng)數(shù)據(jù),可以及時(shí)有效預(yù)防心血管疾病,測(cè)量的數(shù)值在日后的問(wèn)診過(guò)程中也能起重要作用。本設(shè)計(jì)的目的就是讓用戶可以便捷測(cè)量自身心率。本設(shè)計(jì)的中心控制單元選擇STC89C52,利用人體指腹血液透光性不一樣的特性,讓傳感器接收不同信號(hào)從而間接測(cè)量人體心率,傳感器和液晶顯示器對(duì)接顯示心率數(shù)據(jù),功耗低且穩(wěn)定,方便日常生活的使用。
本設(shè)計(jì)硬件電路的控制核心選用的是單片機(jī)STC89C52,通過(guò)光電傳感器、信號(hào)采集電路、鍵盤(pán)電路、顯示電路以及報(bào)警電路實(shí)現(xiàn)對(duì)人體心率的穩(wěn)定測(cè)量。心率檢測(cè)系統(tǒng)的組成如圖1所示。

圖1 心率檢測(cè)系統(tǒng)組成Fig.1 Composition of heart rate detection system
單片機(jī)STC89C52是設(shè)計(jì)的核心部分,可以實(shí)現(xiàn)算法;傳感器電路使用ST188用于心率采集;信號(hào)采集電路將收集到的心率信號(hào)通過(guò)傳感器轉(zhuǎn)換為合適的電信號(hào);鍵盤(pán)電路用于上下閾值的設(shè)定以及開(kāi)關(guān)和復(fù)位等;LCD1602顯示電路用于顯示實(shí)測(cè)心率數(shù)值及閾值;報(bào)警電路用于超過(guò)閾值觸發(fā)報(bào)警。
本設(shè)計(jì)采用的是宏晶產(chǎn)生的單時(shí)鐘/機(jī)器周期的8位單片機(jī)STC89C52,擁有MCS-51的內(nèi)核[1]。具體的單片機(jī)管腳功能見(jiàn)表1。

表1 單片機(jī)管腳功能Tab.1 Single chip microcompute pin function
本設(shè)計(jì)中的傳感器部分選用了紅外光電轉(zhuǎn)換器,因?yàn)樵谕粋€(gè)紅外光照射下的動(dòng)脈血液充盈的透光性不同,所以采集到的光電信號(hào)也不同。本設(shè)計(jì)選用型號(hào)為ST188的傳感器。選擇330 Ω和20 KΩ的電阻,外部提供一個(gè)+5 V電源。將手指的指腹置于發(fā)送端和接收端之間,光電二極管會(huì)因?yàn)樾穆什粩喟l(fā)生變化而采集到不同時(shí)刻的信號(hào)[3]。具體電路連接如圖2所示。

圖2 傳感器連接原理電路圖Fig.2 The connection principle circuit diagram of the sensor
信號(hào)采集模塊就是將收集到的心率信號(hào)通過(guò)傳感器轉(zhuǎn)換為合適的電信號(hào),但是由于人體心率是比較微弱的,所以一般采集到的心率信號(hào)也比較小,再加上外界的噪聲干擾,波形比較雜亂,很難從中提取出有用信號(hào),所以經(jīng)傳感器收集到的心率信號(hào)需要再次經(jīng)過(guò)放大、整形以及濾波才能得到所要求的信號(hào)。一系列電路系統(tǒng)框圖如圖3所示。

圖3 信號(hào)采集電路系統(tǒng)框圖Fig.3 Block diagram of signal acquisition circuit system
2.3.1 放大濾波電路
由于人體的脈搏信號(hào)即心率信號(hào)非常微小,直接測(cè)量可能數(shù)值不準(zhǔn)確,在電路中也可能伴有干擾信號(hào)影響測(cè)量數(shù)值,因此本設(shè)計(jì)要采用LM358對(duì)接收的信號(hào)進(jìn)行放大和濾波。LM358的內(nèi)部是由2個(gè)增益較高、相互獨(dú)立并且對(duì)頻率具有補(bǔ)償作用的運(yùn)放構(gòu)成的,可以放大電壓信號(hào),內(nèi)部雙運(yùn)放的本質(zhì)是2個(gè)電壓比較器,當(dāng)輸入電壓IN1>IN2時(shí),正輸入端的電壓較高,輸出高電平VCC;當(dāng)輸入電壓IN2>IN1時(shí),負(fù)輸入端的電壓較高,輸出低電平0 V。
濾波電路分為低通、高通、帶通和帶阻濾波器。人體心率信號(hào)比較微弱,需篩選特定頻率范圍內(nèi)的信號(hào),因此選用3個(gè)電阻3個(gè)電容將高通和低通濾波器串聯(lián)成一個(gè)帶通濾波器,只讓測(cè)量所需要的這一頻段信號(hào)通過(guò)并且抑制此頻段外其它信號(hào),放大濾波電路具體設(shè)計(jì)如圖4所示。

圖4 放大濾波電路圖Fig.4 Circuit diagram of amplifying and filtering
2.3.2 整形電路
雖然經(jīng)過(guò)了放大和濾波后的信號(hào)變得更易于測(cè)量,但存在低頻的干擾和不規(guī)則的脈沖信號(hào)還會(huì)影響測(cè)量,為了解決這一問(wèn)題,就需要對(duì)電路再加一個(gè)滯回比較器來(lái)進(jìn)行一個(gè)整形的處理,為了節(jié)約成本,可以直接選用一個(gè)雙運(yùn)算放大器元器件LM358。此元器件的內(nèi)部由2個(gè)電壓比較器構(gòu)成,波形整形電路如圖5所示。

圖5 波形整形電路Fig.5 Waveform shaping circuit
鍵盤(pán)電路共有5個(gè)按鍵,分別作為電源自鎖開(kāi)關(guān)、數(shù)據(jù)的復(fù)位以及獨(dú)立設(shè)定閾值。按下按鍵時(shí),負(fù)跳變會(huì)使INT1中斷,再查詢?cè)敿?xì)按鍵后觸發(fā)相應(yīng)功能。此結(jié)構(gòu)不僅擴(kuò)充了外部中斷源,減少了CPU的工作負(fù)擔(dān),又能對(duì)按鍵進(jìn)行實(shí)時(shí)處理。
顯示電路是人機(jī)交互的核心,本設(shè)計(jì)選用本身即帶有字庫(kù)的5×7點(diǎn)陣LCD1602顯示管,此顯示管編寫(xiě)程序和外接電路較為簡(jiǎn)單,共有2行并且每一行能夠顯示16個(gè)字符。P1.2、P1.1、P1.0分別連接LCD的EN、R/W、RS,啟動(dòng)初始化清屏,接著將接口端的數(shù)據(jù)的位數(shù)設(shè)為8位,P0.0至P0.7與LCD1602的DB0到DB7分別相接[4]。
蜂鳴器用于超限報(bào)警,若實(shí)時(shí)檢測(cè)的脈搏數(shù)據(jù)不在設(shè)備設(shè)定的閾值范圍內(nèi),則單片機(jī)驅(qū)動(dòng)蜂鳴器發(fā)出鳴叫。注意蜂鳴器的長(zhǎng)腳接+極,短腳接-極。因蜂鳴器正常工作時(shí)的工作電流較大,單片機(jī)的I/O口無(wú)法直接驅(qū)動(dòng),因此在電路中使用一個(gè)PNP型的三極管來(lái)放大電流。
本系統(tǒng)軟件設(shè)計(jì)包括主程序、液晶顯示子程序、按鍵子程序、中斷服務(wù)子程序等。主程序流程如圖6所示。單片機(jī)上電后先進(jìn)行初始化,清除一些參數(shù)的初值,等待用戶按下對(duì)應(yīng)的按鍵并進(jìn)入對(duì)應(yīng)的功能,當(dāng)用戶按下測(cè)量按鍵的時(shí)候,單片機(jī)根據(jù)用戶按下的按鍵增加或減少范圍,按鍵子程序流程如圖7所示。按下按鍵后,單片機(jī)通過(guò)定時(shí)15 s測(cè)量人體的脈搏次數(shù),再換算出對(duì)應(yīng)的真實(shí)的脈搏次數(shù)在液晶屏幕上顯示。液晶顯示子程序先調(diào)用液晶自定義的字庫(kù),設(shè)置好DDRAM地址后在第一行顯示,根據(jù)程序中的數(shù)據(jù)設(shè)置顯示數(shù)據(jù)的首地址并設(shè)置循環(huán)量,在循環(huán)過(guò)程中不斷的取字符代碼直到終止,第二行的顯示過(guò)程同第一行的顯示過(guò)程一樣,2行顯示完畢后便結(jié)束子程序。

圖6 主程序流程圖Fig.6 Main program flow chart

圖7 按鍵子程序流程圖Fig.7 Key subroutine flow chart
LCD顯示模塊調(diào)試:若能在顯示模塊顯示初始化子程序的文字說(shuō)明,則LCD寫(xiě)入命令或數(shù)據(jù)子程序無(wú)誤;若不能,則需檢查L(zhǎng)CD顯示模塊的讀寫(xiě)位和使能端位,以及變量是否與電路圖所連接的端口一致。再檢查是否在第一行顯示當(dāng)前測(cè)量值,如果在指示燈均勻閃爍的情況下測(cè)量值一直不變化,則需檢查定時(shí)器中斷服務(wù)子程序是否正常計(jì)數(shù)。
傳感器模塊調(diào)試:使用萬(wàn)用表測(cè)量R5 2端電壓,若低于0.3 V,則更換更大阻值的R5;若高于0.6 V,則更換更小阻值的R5。
單片機(jī)模塊調(diào)試:若30腳與地間電壓是5 V,則檢查單片機(jī)最小系統(tǒng),最小系統(tǒng)包括晶振電路和復(fù)位電路,檢查18、19腳是否接12 M晶振,分別調(diào)整電容與電阻的兩腳接法,檢查無(wú)誤后再次測(cè)量30腳和地間電壓。
本設(shè)計(jì)以STC89C52為控制核心,連接LCD1602液晶顯示和LM358運(yùn)放以及蜂鳴器,再加上各種電阻電容,實(shí)現(xiàn)了人體心率的計(jì)數(shù)及顯示功能。此心率檢測(cè)系統(tǒng)采用光電傳感器直接外部接觸式的測(cè)量方式,能夠保證對(duì)人體心率信號(hào)測(cè)量的精確性和簡(jiǎn)便性,其使用簡(jiǎn)單,攜帶方便,價(jià)格低廉,具有廣闊的市場(chǎng)前景。