版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于LabVIEW的脈搏檢測系統(tǒng)設(shè)計摘要本課題以STC15單片機(jī)作為控制系統(tǒng)核心的心率測量儀的設(shè)計,以紅外光電傳感器作為檢測人體心率脈搏的元件,采集到的心率脈搏信號再傳送到單片機(jī)電路進(jìn)行處理,得出的數(shù)據(jù)在LCD12864顯示出來。當(dāng)系統(tǒng)運行時,LCD12864顯示是當(dāng)前人體的脈搏心率跳動次數(shù)、脈搏波形,測量結(jié)束后顯示的是最后一次測量脈搏心率跳動次數(shù)和脈搏波形。再通過單片機(jī)采集脈搏信號,利用功能強(qiáng)大的虛擬儀器LabVIEW設(shè)計出脈搏的采集與分析系統(tǒng)。在單片機(jī)上實現(xiàn)了采集脈搏傳感器的模擬信號,然后通過串口將數(shù)據(jù)傳輸?shù)缴衔粰C(jī)進(jìn)行處理與分析,實現(xiàn)遠(yuǎn)程監(jiān)控的功能。實驗結(jié)果表明,系統(tǒng)工作正常,測量靈敏度高
2、,實現(xiàn)了設(shè)計功能。關(guān)鍵詞:脈搏檢測系統(tǒng),STC15W408AS,紅外光電傳感器,串口,LabVIEWDesign of pulse rate detection systemBased on LabVIEWMeasurement and Control Technology and Instrument level 2014 grade 14 classWei Cai-lianTutor GanYong-jingAbstract This topic for this STC15 single-chip microcomputer as a control system for the cor
3、e of the heart rate meter design, with infrared receiving sensor as the detecting element of human pulse of heart rate, heart rate were collected pulse signal transmit to MCU circuit for processing, the data in LCD12864 display. When the system is running, the LCD12864 display is the current pulse r
4、ate of the pulse rate of the human body and the pulse waveform. After the measurement, the pulse rate of the pulse rate and pulse pulse are measured. By single-chip microcomputer to collect the pulse signal, the use of powerful LabVIEW virtual instrument design pulse acquisition and analysis system,
5、 on the single chip microcomputer to realize the collection of the analog signal of the pulse sensor and then through a serial port to transmit data to PC for processing and analysis, realizes the remote monitoring function. The experimental results show that the system works normally, the measureme
6、nt sensitivity is high, and the design function is realized.Keywords:Pulse detection system, STC15W408AS,infrared emission receiving sensor, serial port, LabVIEW玉林師范學(xué)院本科生畢業(yè)設(shè)計目錄1 引言11.1 脈搏的研究背景與意義11.2 選題意義12 系統(tǒng)設(shè)計方案12.1 實現(xiàn)的要求和功能12.2 采集主控芯片方案22.3 脈搏傳感器的選擇22.4 上位機(jī)實現(xiàn)方案43 硬件電路設(shè)計53.1 系統(tǒng)總框架53.2 單片機(jī)模塊63.2.1主
7、芯片STC15W408AS介紹63.2.2 單片機(jī)最小系統(tǒng)模塊73.2.3電源電路73.2.4復(fù)位電路73.3 脈搏信號的采集83.4 脈搏信號的處理93.4.1低通濾波放大電路93.4.2 電壓比較器93.4.3 運算放大器LM358103.5 液晶顯示模塊113.6 USB串口通信模塊124 系統(tǒng)軟件設(shè)計124.1測量計算原理124.2 主程序流程介紹134.3 顯示程序流程134.4 ADC 采用程序流程介紹144.5 LabVIEW上位機(jī)程序設(shè)計164.5.1 LaBVTEW串口通信配置164.5.2 LabVIEW 脈值及波形顯示176 系統(tǒng)測試與結(jié)果分析186.1下位機(jī)測試188
8、誤差分析與修正20總結(jié)21致謝22參考文獻(xiàn)23附錄24附錄A硬件原理圖24附錄B PCB圖25附錄C 硬件外觀圖26附錄D LabVIEW程序及前面板:27附錄F 部分程序281 引言1.1 脈搏的研究背景與意義每分鐘脈搏跳動次數(shù)這一物理量在生產(chǎn)加工,人們?nèi)粘I畹母鱾€方面都是一個最基本也是非常重要的一個物理量,在很多應(yīng)用條件下,需要對脈搏跳動這個量進(jìn)行檢測和監(jiān)控。近幾年來,伴隨現(xiàn)代科學(xué)技術(shù)的不斷進(jìn)步,對現(xiàn)代設(shè)備的精度的要求也越來越高,信息技術(shù)領(lǐng)域的前沿尖端技術(shù)包括傳感器技術(shù),通訊技術(shù)以及計算機(jī)技術(shù),技術(shù)應(yīng)用的非常的普遍,已經(jīng)應(yīng)用到了社會生活的各個范圍。1.2 選題意義由心臟搏動而引起的脈搏,
9、這個信息可以反映身體的健康情況。針對脈搏的跳動,我們都知道在中醫(yī)上有一種非常重要的診斷方式,那就是診脈。中醫(yī)的醫(yī)生一直是用手來號脈,進(jìn)而得到脈搏的信息。通過手號脈是一種很難掌握的技巧,因此人們十分的迫切有一種儀器可以快速準(zhǔn)確的得到脈搏跳動的次數(shù)這個信息。作為工業(yè)管制系統(tǒng)中必不可少的組成部分,實時數(shù)據(jù)采集,是進(jìn)行工業(yè)分析,進(jìn)行工業(yè)處理以及控制的根據(jù)。大規(guī)模集成電路、單片機(jī)、計算機(jī)等近些年來,在工業(yè)控制領(lǐng)域有著廣泛的應(yīng)用,實時的數(shù)據(jù)采集是必然的趨勢,采集既是對模擬量通過模數(shù)轉(zhuǎn)換器,數(shù)字化的過程。這就對模數(shù)轉(zhuǎn)換器的性能提出了更高的要求,以及通過使用單片機(jī)進(jìn)行數(shù)據(jù),處理和數(shù)據(jù)傳輸,和對計算機(jī)接口技術(shù),
10、通信技術(shù)等技術(shù)提出了跟高的要求。2 系統(tǒng)設(shè)計方案2.1 實現(xiàn)的要求和功能(1)通過光電傳感器采集指尖脈搏信號,通過A/D轉(zhuǎn)換、MCU處理及設(shè)計的算法得到脈率;(2)通過上位機(jī)(LabVIEW)及液晶屏實時顯示波形及脈率值,實現(xiàn)人體脈率的現(xiàn)場及遠(yuǎn)程實時監(jiān)測;(3)采集到的波形完好干凈,噪聲??;(4)測量結(jié)果誤差范圍在6%以內(nèi);(5)上位機(jī)界面友好,人性化,便于專業(yè)人士分析觀察;(6)價格合理,性價比較高;2.2 采集主控芯片方案方案一:利用STC15W408AS單片機(jī)完成對各個模塊進(jìn)行控制。方案二:利用單片機(jī)STC89C51作為控制部分。方案論證:方案一中STC15W408AS單片機(jī)是STC生產(chǎn)
11、的單時鐘/機(jī)器周期(1T)的單片機(jī),是高速/高可靠、低功耗、超強(qiáng)抗干擾,8路高速10位A/D轉(zhuǎn)換。方案二中STC89C51單片機(jī)雖然簡單易懂,但功耗較大,數(shù)據(jù)傳輸速率低,要實現(xiàn)較復(fù)雜的控制功能還存在一定的難度。綜上所述,本設(shè)計采用方案一,用STC15W408AS作為芯片控制部分。系統(tǒng)所采用的STC15W408AS是STC生產(chǎn)的單時鐘/機(jī)器周期(1T)的單片機(jī),是高速、低功耗、超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。內(nèi)部集成MAX810專用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換,針對電機(jī)控制,強(qiáng)干擾場合。STC15W408AS還帶有豐富多樣和功
12、能靈活齊全的片內(nèi)外設(shè),為用戶提供了豐富的選擇空間,同時,也為設(shè)計人員們的設(shè)計、創(chuàng)新及創(chuàng)造提供了更大的空間。2.3 脈搏傳感器的選擇測量脈搏跳動,傳統(tǒng)的測量方法主要是兩種:一是利用壓力傳感器測量血液中壓力的變化進(jìn)而計算脈搏的跳動,二是光電容積法。目前,由于第二種方式測量的準(zhǔn)確性和便利性,是應(yīng)用最為普遍的監(jiān)測測量方案之一。光電容積法的基本理論是,由于血管正常的搏動時,會導(dǎo)致人體組織不同的透光率,就是利用這種不同,來達(dá)到測量的目的。光源與光電變化器這兩個部分組成了這種傳感器,一般貼著人的手指或者耳垂。光源利用的是波長為500nm700nm范圍的發(fā)光二極管,該波長范圍的光,對動脈中氧和血紅蛋白具有選擇
13、吸收的特性。當(dāng)一束光照射人體表皮血管時,由于動脈的搏動會改變血液容積的變化,這種變化會導(dǎo)致這束光的透光率發(fā)生改變。人體組織反射出來的光線經(jīng)由光電變換器接收,轉(zhuǎn)變?yōu)殡娦盘?,再將這個電信號輸出。由于心臟是周期性搏動的,動脈中的血管容積也會跟著周期性變化。因此有光電變化得到的電信號也會跟著周期性變化。它們的變化基本上都可以看成是同步的。這樣通過電信號周期性的變化,我們就可以得到脈搏跳動的信息,進(jìn)而的到心率這一指標(biāo)。目前市場上常用的光電容積脈搏探測器主要分為兩大類:透射式光電容積探測器與反射式光電容積探測器。它們的結(jié)構(gòu)如圖2.1所示:圖 2.1 反射式與透射式比較Figure 2.1 Comparis
14、on of reflection and transmission(1)反射式是靠血液與組織反射的光強(qiáng)來間接測量脈搏信號,探測的范圍更廣,不會受制于探測未知的厚度,但是它提取的信號要比透射式更加微弱,對調(diào)理電路要求更高。(2)透射式是手指放在發(fā)射管和接收管之間,手指中血流量的變化會使光電接收管的光電流也隨之變化,這種方法不能準(zhǔn)確測出血液容積量的變化。但是很好能反映出心率的時間關(guān)系。它是針對身體一些比較薄弱的部位設(shè)計的,比如說手指或者是耳朵,探測器一側(cè)發(fā)出的近紅外光能夠穿透血液和組織被另一側(cè)的光電探測器所接收,這樣就能再現(xiàn)脈搏信號。由上述克制,透射式紅外光電傳感器能很好地與本設(shè)計契合,故將其運用
15、到本設(shè)計當(dāng)中。當(dāng)手指側(cè)方在紅外對管中間的時候,心臟的跳動,引起血管中的血流量的變化,紅外發(fā)光二極管產(chǎn)生的紅外線照射在放在光傳遞路徑中的手指上,經(jīng)過手指非血液組織的衰減和反射,由對面的紅外接收二極管來接受期透射光,并把透射過來的不同光照強(qiáng)度轉(zhuǎn)換成脈沖,繼而進(jìn)行放大、濾波后傳送到單片機(jī)的外部計數(shù)口,最后單片機(jī)對該輸入的信號脈沖進(jìn)行計算處理,即可實時的測出脈搏次數(shù)。脈搏信號的檢測提取、濾波放大,然后傳到單片機(jī)工作的過程如下圖2.2所示圖2.2 信號檢測處理工作流程圖FIG 2.2 Flow chart of signal detection and processing2.4 上位機(jī)實現(xiàn)方案上位機(jī)和
16、單片機(jī)實現(xiàn)是通過串口來實現(xiàn)的。單片機(jī)自帶串口,實現(xiàn)起來非常方便。在本設(shè)計中,通信協(xié)議采用自定義的。上位機(jī)的實現(xiàn)方案有很多種,目前主流的面向?qū)ο缶幊誊浖蠽isual Basic .NET、C#、Java、LabVIEW等。本設(shè)計中的上位機(jī)實現(xiàn)采取了LabVIEW。LabVIEW是一種程序開發(fā)環(huán)境,由美國國家儀器(NI)公司研制開發(fā),類似于C和BASIC開發(fā)環(huán)境,但是LabVIEW與其他計算機(jī)語言的顯著區(qū)別是:其他計算機(jī)語言都是采用基于文本的語言產(chǎn)生代碼,而LabVIEW使用的是圖形化編輯語言G編寫程序,產(chǎn)生的程序是框圖的形式。 LabVIEW軟件是NI設(shè)計平臺的核心,也是開發(fā)測量或控制系統(tǒng)的理
17、想選擇。 LabVIEW開發(fā)環(huán)境集成了工程師和科學(xué)家快速構(gòu)建各種應(yīng)用所需的所有工具,旨在幫助工程師和科學(xué)家解決問題、提高生產(chǎn)力和不斷創(chuàng)新。與 C 和BASIC一樣,LabVIEW也是通用的編程系統(tǒng),有一個完成任何編程任務(wù)的龐大函數(shù)庫。LabVIEW的函數(shù)庫包括數(shù)據(jù)采集、GPIB、串口控制、數(shù)據(jù)分析、數(shù)據(jù)顯示及數(shù)據(jù)存儲,等等。LabVIEW也有傳統(tǒng)的程序調(diào)試工具,如設(shè)置斷點、以動畫方式顯示數(shù)據(jù)及其子程序(子VI)的結(jié)果、單步執(zhí)行等等,便于程序的調(diào)試。本設(shè)計運用了模塊化的思想,每一個功能是一個子vi,主程序只是提供按鈕分別調(diào)用子vi。任務(wù),我們可以按照模塊化的設(shè)計理念,把一項項復(fù)雜的測試任務(wù)變成一
18、系列的子任務(wù)。3 硬件電路設(shè)計3.1 系統(tǒng)總框架設(shè)計以STC15W408AS單片機(jī)為處理控制核心,根據(jù)設(shè)計的需要,顯示被測者心率值,通過串口發(fā)送到上位機(jī)、顯示波形等功能。本設(shè)計主要包括STC15最小系統(tǒng)、LCD12864顯示模塊、信號采集電路、放大電路、比較電路、液晶顯示電路。其下位機(jī)整體硬件電路如圖3.1所示。本設(shè)計是基于單片機(jī)調(diào)用串口,與單片機(jī)進(jìn)行數(shù)據(jù)傳輸?shù)模瑥亩鴮崿F(xiàn)了將脈搏傳感器采集上來的數(shù)據(jù)傳輸?shù)絃abVIEW上位機(jī)上,數(shù)據(jù)交由LabVIEW上位機(jī)進(jìn)行處理與分析。上位機(jī)發(fā)生開始采集指令給下位機(jī),下位機(jī)開始啟動采集任務(wù),采集脈搏傳感器的模擬數(shù)據(jù),并由單片機(jī)控制串口芯片,將單片機(jī)中的數(shù)字化
19、的脈搏跳動信號,通過串口轉(zhuǎn)發(fā)到上位上,從而完成了上位機(jī)采集數(shù)據(jù)的過程。本次設(shè)計的核心部件是51單片機(jī)(STC15W408AS),通過51單片機(jī)的ADC功能,采集紅外光電傳感器的值,從而實現(xiàn)心率波形的的實時測量,并在通過串口傳遞給上位機(jī)顯示。系統(tǒng)的總框架如圖3.1所示:圖3.1 系統(tǒng)總框架Figure 3.1 Overall framework of the system3.2 單片機(jī)模塊3.2.1主芯片STC15W408AS介紹 (1)STC15W408AS單片機(jī)引腳分布如圖3.2所示。圖3.2 STC15W408AS引腳圖FIG. 3.2 STC15W408AS pin drawing(2)
20、下面將對STC15W408AS芯片部分引腳的功能及特性進(jìn)行說明:1)RST:表示異步復(fù)位引腳。當(dāng)RST為低電平狀態(tài)時,MCU為復(fù)位狀態(tài),重設(shè)內(nèi)部寄存器,及片內(nèi)SRAM;當(dāng)RST從低電平變?yōu)楦唠娖降臅r候,PC指針從0地址開始。STM15中的RST具有施密特功能,在輸入電壓不達(dá)1.9V時芯片會自動復(fù)位。2)SCK、SDA、RS、CS:連接對應(yīng)的液晶顯示屏的接口,SCK是I2C的時鐘控制線,SDA是I2C的數(shù)據(jù)傳輸線,RS為RD是讀數(shù)據(jù)的控制信號。3)P1.0/ADC0:ADC的輸入通道經(jīng)過調(diào)理電路放大后的脈搏信號,其峰峰值已能達(dá)到0.5V左右,而STC15W408AS系列單片機(jī)片內(nèi)集成有有12位轉(zhuǎn)
21、換精度的ADC模塊,最小分辨率為能滿足其對精度的需要,其采樣頻率最高可達(dá)200ksps,而信號的頻率只有010Hz,所以采樣頻率也能完全符合要求。并且采用片內(nèi)集成的ADC12還可以節(jié)約開發(fā)的成本,增強(qiáng)系統(tǒng)的穩(wěn)定性、4)P3.3/INT1:外部中斷1,既可以上升沿中斷也可以下降沿中斷,如果INT1管腳僅為下降沿中斷。如果INT1被清,INT1管腳既支持上升沿支持下降沿中斷。作為輸出信號接口。)TXD和:分別為串口發(fā)送和接受引腳。3.2.2 單片機(jī)最小系統(tǒng)模塊單片機(jī)最小系統(tǒng)指的是單片機(jī)的最小應(yīng)用系統(tǒng),是用最少的元器件組成的單片機(jī)可以正常工作的系統(tǒng),由單片機(jī)、電源電路、復(fù)位電路組成。3.2.3電源電
22、路如果沒有電源電路,單片機(jī)最小系統(tǒng)就不能運行,電源電路負(fù)責(zé)給單片機(jī)提供工作需要的電壓。圖3.3 電源電路Figure 3.3 Power circuit3.2.4復(fù)位電路單片機(jī)復(fù)位是指將整個系統(tǒng)初始化,以便系統(tǒng)回到原始狀態(tài)重新運行。復(fù)位的條件為,在RST引腳輸入連續(xù)兩個周期以上的高電平,然后單片機(jī)就開始執(zhí)行復(fù)位操作。本設(shè)計中采用的是按鍵復(fù)位,復(fù)位電路所接的引腳為單片機(jī)的RST引腳。本設(shè)計復(fù)位電路原理圖如圖3.4所示圖3.4 復(fù)位電路Figure 3.4 Reset circuit3.3 脈搏信號的采集信號采集電路如下圖3.5所示。D1,D2分別為紅外發(fā)射二極管和紅外接收二極管,D1和D2組成紅
23、外傳感器。因紅外傳感器輸出的脈沖信號是非常微弱的信號,而且頻率很低(如脈搏50次/分鐘為0.78Hz,200次/分鐘為3.33Hz),并且還伴有各種噪聲干擾,故該信號要經(jīng)過R4、C4低通濾波,去除高頻干擾。當(dāng)傳感器檢測到較強(qiáng)的干擾噪音時,其輸出端的直流電壓信號會有很大變化。圖3.5信號采集電路FIG. 3.5 Signal acquisition circuit3.4 脈搏信號的處理3.4.1低通濾波放大電路如圖3.6所示,R5與R6、R4的電阻和之比為放大器的放大倍數(shù),經(jīng)過計算所得該放大器的理論值為200倍,但由于2號接口上-5V供壓不足再加上材料限制和人為的因素,該放大倍數(shù)只有20倍左右。
24、信號輸入時要經(jīng)過R4和C4共用組成低通濾波電路,目的是將輸入的信號進(jìn)行頻率截止和清除干擾,以提高測量數(shù)據(jù)的精確度。而LM358的作用就是將濾波后得到的微弱信號進(jìn)行放大,以便于被單片機(jī)采集到,放大倍數(shù)則按照單片機(jī)采集信號的標(biāo)準(zhǔn)通過R5和R6的阻值比例來調(diào)節(jié)。圖中C6為耦合電容,作用為隔直流通交流,之所以使用10NF的電容,是為了讓所有的信號通過。圖3.6 信號放大電路FIG 3.6 Signal amplifier circuit3.4.2 電壓比較器電壓比較器是一種常用的集成電路。它可用于報警器電路、自動控制電路、測量技術(shù),也可用于V/F 變換電路、A/D 變換電路、高速采樣電路、電源電壓監(jiān)測
25、電路、振蕩器及壓控振蕩器電路、過零檢測電路等。我們主要介紹其基本概念、工作原理及典型工作電路,電壓比較器是對兩個模擬電壓比較其大小并判斷出其中哪一個電壓高,接到的信號電壓小于該值時顯示0V,當(dāng)大于該值時顯示5V,這就形成了0和5V的方波。如圖3.7所示。其中射極跟隨器正向輸入是接上圖的一級放的輸出的,所以這里叫做二級,二級的射極跟隨器是為了能夠帶負(fù)載能力強(qiáng)和輸出穩(wěn)定。三級也就是比較器為了能夠輸出整形后的脈搏方波,輸出接一個LED燈,能直觀顯示脈搏跳動,來一次高電平燈就亮一次。其中4口是經(jīng)過整形后方波輸出端口,10K電位器是用來調(diào)節(jié)門限電壓。圖3.7 信號比較電路Figure 3.7 Signa
26、l comparison circuit3.4.3 運算放大器LM358如圖3.8所示,LM358 內(nèi)部含有有兩個獨立的、高增益、內(nèi)部頻率補(bǔ)償?shù)碾p運,供電輸入范圍為3V-30V,其針腳定義如下:8腳為正電源;4腳為負(fù)電源(雙電源工作時)或地(單電源工作時);1、2、3腳是一個運放通道,1腳是輸出端,2腳是反向輸入端,3腳是同相輸出端;5、6、7腳是另一個運放通道,7腳輸出端,6腳是反相輸出端,5角是同相輸入端。工作原理:8腳主要供電輸入,2腳的電壓與3腳電壓比較,6腳的電壓與5腳電壓比較,分別對應(yīng)兩個獨立的輸出:輸出1和輸出2當(dāng)輸入1(+)大于輸入1(-),輸入2(+)大于2(-)是,輸入1和
27、輸出2輸出高電平;當(dāng)輸入1(+)小于輸入1(-),輸入2(+)小于2(-)是,輸入1和輸出2輸出低電平;圖3.8 LM358的引腳結(jié)構(gòu)Figure 3.8 LM358 pin structure3.5 液晶顯示模塊顯示電路運用LCD12864和2只發(fā)光二極管來實時監(jiān)測被測者的心率,監(jiān)測完畢,蜂鳴器發(fā)出一聲短促鳴響,液晶顯示心率值。設(shè)計要求同時實現(xiàn)對波形和頻率進(jìn)行顯示,而12864液晶屏本身并不帶有繪圖的指令,所以想在12864液晶屏上動態(tài)的繪制曲線并非易事??紤]到12864液晶有圖像模式和一般模式兩種模式,在一般模式下可以顯示文字,而在圖形模式下可以對12864液晶的128*64個點進(jìn)行控制,
28、通過一個一個點顯示,便可以形成動態(tài)的曲線。顯示電路原理圖如圖3.9所示。圖3.10 LCD1602顯示模塊原理圖Figure 3.9 LCD1602 display module schematic diagram3.6 USB串口通信模塊本設(shè)計選USB串口來進(jìn)行單片機(jī)和LabVIEW上位機(jī)的通信,USB傳輸時使用的是差分信號,采用USB通信方式時還需要實現(xiàn)USB通信協(xié)議。單片機(jī)串口輸出的TTL電平信號,不能直接用于USB通信,而且USB協(xié)議很復(fù)雜,不容易用單片機(jī)實現(xiàn)。所以我們可將單片機(jī)串口輸出的電平通過CH340G轉(zhuǎn)接芯片裝換成上位機(jī)USB接口可以識別的差分信號和實現(xiàn)USB通信協(xié)議之后,就將
29、數(shù)據(jù)傳送至上位機(jī)。其中TXD與單片機(jī)的P3.1相連,RXD與P3.相連。目前市場上的多數(shù)與上位機(jī)通信產(chǎn)品大都是采用串口通信。該項目采用后發(fā)現(xiàn)其非常簡單可行,對于相關(guān)的使用上位機(jī)的儀器設(shè)備有一定的借鑒意義。4 系統(tǒng)軟件設(shè)計基于單片機(jī)心率計的軟件設(shè)計主要由主程序流程圖、中斷程序流程圖及顯示子程序組成。C語言程序有利于實現(xiàn)較復(fù)雜的算法,匯編語言程序則具有較高的效率且容易精細(xì)計算程序運行的時間,而心率計的程序既有較復(fù)雜的計算(時間t內(nèi)的平均值),又要求精細(xì)計算程序運行時間(動脈搏動時間),所以控制程序可采用C語言和匯編語言混合編程。4.1測量計算原理在單片機(jī)中,主要實現(xiàn)了測量的計算,這個測量的原理是,
30、在t秒時間內(nèi),有連續(xù)的K個脈搏跳動,則在t時間內(nèi),脈搏跳動頻率的平均值n(次/min)為:n=60K/t (4-1)我們通過使用脈動信號去控制單片機(jī)上的定時器T0,中斷計數(shù)使用的是工作寄存器,假定該值為N,于是得到:t=0.001N (4-2)由前面兩個式子可以得到:n=60K/t=60K/0.001n=60000K/N (4-3)上式的數(shù)據(jù)模型,就是使用單片機(jī)計算脈動跳動頻率的公式原型。4.2 主程序流程介紹在程序設(shè)計時,一般采用模塊化的設(shè)計模式,這樣的設(shè)計可以使得每個模塊都相對獨立,互不影響。因為模塊化的程序是將程序分成多個小模塊來設(shè)計,使得設(shè)計思路更加清晰,所以可讀性更高。也可以對單個模
31、塊進(jìn)行設(shè)計或調(diào)試,管理起來也更方便。主程序流程圖如4.1圖所示。圖4.1 主程序設(shè)計Figure 4.1 Main program design4.3 顯示程序流程顯示程序?qū)纹瑱C(jī)計算出來的心率和AD轉(zhuǎn)化的波形顯示在液晶顯示屏上。如圖設(shè)計中關(guān)鍵的是定時10ms,是為采樣2次脈搏建立基礎(chǔ)。本設(shè)計是用定時器T1定時來實現(xiàn)10ms定時,等待每10ms定時的,等待每10ms檢測時間t,程序中是用XinTiao_Jishu表示,那么就可以由公式n=6000/t來算出每分鐘脈搏數(shù),這里是2次脈搏就顯示脈搏數(shù),所以t是M為2的時候的時間,也就是T0計數(shù)器對兩個脈沖時間的計數(shù),計算結(jié)果最后轉(zhuǎn)換成十進(jìn)制,送到液
32、晶進(jìn)行顯示。圖4.2 顯示程序流程Figure 4.2 Display program flow4.4 ADC 采用程序流程介紹 ADC 初始化。n P1端口設(shè)置成ADC功能n ADC存放的10bit數(shù)字信號,清零n 禁止ADC中斷 ADC 轉(zhuǎn)換n ADC上電,確定轉(zhuǎn)換速率和通道,啟動轉(zhuǎn)換n 延時n 等待轉(zhuǎn)換完畢,否則一直等待n 清標(biāo)志位n 讀取10bit的轉(zhuǎn)換值。/*-讀取ADC結(jié)果-*/BYTE GetADCResult(BYTE ch) ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START; _nop_(); /等待4個NOP _nop
33、_(); _nop_(); _nop_(); while (!(ADC_CONTR & ADC_FLAG);/等待ADC轉(zhuǎn)換完成 ADC_CONTR &= ADC_FLAG; /Close ADC return ADC_RES; /返回ADC結(jié)果/*-初始化ADC-*/void InitADC() P1ASF = 0x01; /設(shè)置P1口為AD口 ADC_RES = 0; /清除結(jié)果寄存器 ADC_CONTR = ADC_POWER | ADC_SPEEDLL; Delay1(2); /ADC上電并延時4.5 LabVIEW上位機(jī)程序設(shè)計本設(shè)計中下位機(jī)和上位機(jī)需要通過USB串口進(jìn)行通信,單片機(jī)
34、要想向上位機(jī)發(fā)送數(shù)據(jù),就需要設(shè)置相應(yīng)的串口工作方式和波特率,本設(shè)計采用了串口工作方式1,波特率設(shè)定為9600bps。所以設(shè)定定時器1工作于8位自動重載模式,用于產(chǎn)生9600bps的波特率。4.5.1 LaBVTEW串口通信配置本設(shè)計選用USB串口通信來進(jìn)行上位機(jī)和下位機(jī)之間數(shù)據(jù)傳輸,下位機(jī)設(shè)定的定時器波特率為9600bps,所以我們在配置LabVIEW軟件上位機(jī)的VISA串口時,要設(shè)定與下位機(jī)一樣的波特率才能通信。因為我們沒有用到VISA的其它串口設(shè)定,VISA串口的波特率也是9600bps,所以我們就不用設(shè)定VISA串口了。程序運行期間利用While循環(huán)讀取串口數(shù)據(jù),讀取數(shù)據(jù)的VISA配置串
35、口如圖所示。運用VISA進(jìn)行串口通信過程為,首先調(diào)用VISA ConfigureSerial Port子VI進(jìn)行串口配置,VISA Resource Name、Baud rate Data Bits和Parity分別用來配置串口號(COM1-COM4 ),波特率,數(shù)據(jù)位和奇偶校驗位。然后通過VISA Write子VI和VISA Read子VI分別從串口輸入和輸出數(shù)據(jù),最后調(diào)用VISAClose來關(guān)閉VISA17。其中VISA串口函數(shù)在LabVIEW中的配置如圖5.1所示:圖 4.3 VISA串口配置Figure 4.3 VISA serial port configuration 由于要和單片
36、機(jī)串口設(shè)定的協(xié)議保持同步,所以在這里波特率同樣設(shè)定為9600,數(shù)據(jù)比特選定八位,其它的奇偶校驗、流控制并未設(shè)定。這樣就實現(xiàn)了VISA串口的配置。其次要讀取VISA,如圖5.2所示,在讀取VISA時一定要設(shè)定每次讀取時的字節(jié),由于串口中每次發(fā)送的數(shù)據(jù)為5位電壓值,所以在這里同樣設(shè)定為5位。他其實就是指定要讀的字節(jié)數(shù),然后再偵測一下串口緩沖區(qū)里有多少數(shù)據(jù),偵測完了它就告訴 VISA 讀,VISA就可以完全讀出來。圖4.4 VISA串口讀取Figure 4.4 Read by VISA serial port4.5.2 LabVIEW 脈值及波形顯示VISA串口配置好了之后,脈搏值監(jiān)控VI將單片機(jī)傳
37、送到LAVIEW的1個字節(jié)的脈搏顯示數(shù)據(jù)存入VISA的I/O緩沖區(qū)中,串口讀取,然后有個條件不為空時,執(zhí)行,為空就不執(zhí)行,成功顯示數(shù)據(jù)后清空VISA緩沖區(qū),開始下一次循環(huán)。當(dāng)前波形顯示程序框圖如圖5.3所示。字符的匹配,截取字符串(函數(shù)),返回輸入字符串的子字符串,從偏移量位置開始,包含長度個字符。連線板可顯示該多態(tài)函數(shù)的默認(rèn)數(shù)據(jù)類型。指定字符串中的字符數(shù)值,函數(shù)在該字符數(shù)值后開始查找匹配。偏移量必須為數(shù)值。字符串中第一個字符的偏移量為0。如未連線或小于0,則默認(rèn)值為0。通過字符的截取與匹配可以截取串口發(fā)送過來的數(shù)值,最終顯示單片機(jī)計算出來的脈波數(shù)。圖4.5 脈搏數(shù)據(jù)波形讀取和顯示Figure
38、 4.5 read and display pulse data waveform經(jīng)過VISA串口的配置以及讀取,單片機(jī)串口輸出的數(shù)據(jù)就能被精確的讀取出來。直接通過波形顯現(xiàn)出來,波形如下圖所示:圖 4.6 前面板脈值及波形顯示Figure 4.6 front panel pulse value and waveform display6 系統(tǒng)測試與結(jié)果分析6.1下位機(jī)測試 實際測量:對不同四位同學(xué)同時進(jìn)行手機(jī)應(yīng)用軟件測量和下位機(jī)測量。手機(jī)測量的原理是:人體血液的顏色由于氧含量的變化產(chǎn)生周期性的改變。然后用高光,即攝像頭旁的LED 閃光燈,照亮指尖下的毛細(xì)血管,當(dāng)心臟將新鮮的血液壓入毛細(xì)血管時,
39、亮度即紅色的深度會有輕微變化,肉眼仔細(xì)也能看出來,通過攝像頭檢測這一規(guī)律變化的間隔,即可算出心跳。在這里以手機(jī)軟件測得數(shù)據(jù)為標(biāo)準(zhǔn)值,對處于正常狀態(tài)下10名不同的測試者分別進(jìn)行測量,進(jìn)行誤差分析,實驗數(shù)據(jù)如表4.1所示:由以下可以看出有誤差,但誤差基本在正負(fù)4以下,但有時測量也會超過測量精度,那是兩者起始時間與結(jié)束時間掌握不準(zhǔn)導(dǎo)致。 表6.1 實驗數(shù)據(jù)Table 6.1 Experiment data實驗人顯示的數(shù)據(jù)(次/min)實際數(shù)據(jù)(次/min)誤差相對誤差(%)同學(xué)A第一次測量788244.88%第二次測量7933.66%第三次測量8022.44%同學(xué)B第一次測量969933.03%第二
40、次測量9811.01%第三次測量9633.03%同學(xué)C第一次測量797545.33%第二次測量7411.33%第三次測量7234.00%同學(xué)D第一次測量899011.11%第二次測量9222.22%第三次測量9444.44%8 誤差分析與修正(1) 陽光的干擾。因為本心率計是通過紅外光線透過手指采集到信號,進(jìn)而對信號處理得到人體的心率值,光照在本系統(tǒng)中很關(guān)鍵。而且在各種不同的環(huán)境中,外界光照的強(qiáng)度不一樣,這對實驗的干擾卻大。但是外界光照對于人體是均衡的,即各處光照強(qiáng)度相同,對人體內(nèi)變化的影響是相同的,即可以相互抵消。(2) 測量過程中手指的抖動。紅外傳感器檢測到的人體信號很微弱,手指的一點抖動
41、都會引起測量心率值的大幅變化。為了解決這個問題,在設(shè)計中,把紅外對管相距一定距離(夠放下食指)之后固定死,這樣在測量的時候只要被測者盡量保持手指不動,就可以大大減小手指抖動對試驗的影響。(3) 呼吸的影響。 試驗的原理主要是血液中的含氧量的變化進(jìn)而導(dǎo)致人體組織變化而檢測心率的,這樣就使得均勻呼吸和急促呼吸使人體內(nèi)的含氧量變化很大。據(jù)試驗所得,當(dāng)人劇烈運動之后呼吸會比較局促,這時他的心率值就會波動很大。正常情況下 ,心率指的是當(dāng)人心平氣和時的心跳值。(4)情緒的影響被測者情緒過于激動或者過于傷心都會測量不夠準(zhǔn)確,所以,測量時盡量保持平靜。 總結(jié)本文設(shè)計了基于LabVIEW的脈搏檢測系統(tǒng)分析,主要包括下位機(jī)脈搏信號采集模塊、脈搏信號處理模塊、單片機(jī)處理和液晶顯示模塊、串口通信模塊、上位機(jī)設(shè)計,其中最難的應(yīng)該是信號的采集和信號處理部分。脈搏信號需要從人體采集得到,所以使用的傳感器必須是安全無害的,否則會對人體造成損害。另外脈搏信號比較微弱,所以要使用單片機(jī)對其進(jìn)行分析就需要先將這種模電和測控電路
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 愛心流水燈課程設(shè)計
- 網(wǎng)球初學(xué)者教學(xué)課程設(shè)計
- 預(yù)見2025:中國行業(yè)趨勢報告-羅蘭貝格-202501
- 汽車行業(yè)品牌推廣咨詢
- 紡織服裝行業(yè)業(yè)務(wù)代表工作報告
- 教育行業(yè)人才選拔經(jīng)驗交流
- 2024年秋季小學(xué)開學(xué)典禮方案
- 2024年美發(fā)店管理制度
- 分布式電力供應(yīng)合同(2篇)
- 2024年臘八節(jié)的賀詞
- 水閘閘門運行方案
- 消費型股東招募計劃書
- 2022-2023學(xué)年江蘇省連云港市九年級(上)期末數(shù)學(xué)試卷(含詳細(xì)答案解析)
- 會計事務(wù)所述職報告
- 2022年江蘇普通高中學(xué)業(yè)水平選擇性考試政治真題及答案
- 玻璃工業(yè)的節(jié)能減排與綠色制造
- 防止交叉感染的護(hù)理措施和策略
- 蘇教譯林版四年級英語上冊單詞默寫表
- 金屬冶煉中的領(lǐng)導(dǎo)潛能與領(lǐng)導(dǎo)力發(fā)展策略
- 上海市浦東新區(qū)部分學(xué)校聯(lián)考2023-2024學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試題
- 南京理工大學(xué)物理化學(xué)課程考試8套卷(含答案)
評論
0/150
提交評論