基于51單片機(jī)的脈搏測(cè)量?jī)x設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第1頁(yè)
基于51單片機(jī)的脈搏測(cè)量?jī)x設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第2頁(yè)
基于51單片機(jī)的脈搏測(cè)量?jī)x設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第3頁(yè)
基于51單片機(jī)的脈搏測(cè)量?jī)x設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第4頁(yè)
基于51單片機(jī)的脈搏測(cè)量?jī)x設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩64頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于51單片機(jī)的脈搏測(cè)量?jī)x設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文封面脈率是指單位時(shí)間內(nèi)脈搏跳動(dòng)的次數(shù),一般指每分鐘的脈搏次數(shù),是臨床常規(guī)檢查的生理指標(biāo)。脈搏監(jiān)測(cè)系統(tǒng)在我們的日常生活中已經(jīng)得到了非常廣泛的應(yīng)用。在醫(yī)學(xué)上,通過(guò)測(cè)量人的脈搏,便可初步判斷人的健康狀況。本課題設(shè)計(jì)完成了一個(gè)基于51單片機(jī)的脈搏測(cè)量系統(tǒng)。系統(tǒng)以STC89C52單片機(jī)為核心,以5mm光電對(duì)管為傳感器,利用單片機(jī)系統(tǒng)內(nèi)部定時(shí)器計(jì)算時(shí)間,通過(guò)光電對(duì)管及其相關(guān)外部電路產(chǎn)生脈搏信號(hào),單片機(jī)通過(guò)檢測(cè)兩次脈沖間隔時(shí)間計(jì)算脈搏跳動(dòng)次數(shù),在LCD上顯示脈搏次數(shù)。系統(tǒng)實(shí)現(xiàn)了脈搏的實(shí)時(shí)監(jiān)測(cè)與顯示、閾值調(diào)整以及超限報(bào)警等功能。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)工作正常,測(cè)量靈敏度高,實(shí)現(xiàn)了設(shè)計(jì)功能。關(guān)鍵詞:51單片機(jī);脈搏;光電傳感器AbstractPulseratereferstothenumberofpulsebeatsperunittime,generallyreferstothenumberofpulsesperminute,andisaphysiologicalindicatorofroutineclinicalexamination.Pulsemonitoringsystemhasbeenwidelyusedinourdailylife.Inmedicine,people'shealthcanbepreliminarilyjudgedbymeasuringtheirpulse.Thistopichasdesignedandcompletedapulsemeasurementsystembasedon51single-chipmicrocomputer.ThesystemtakesSTC89C52singlechipmicrocomputerasthecore,takes5mmphotoelectricpairtubeasthesensor,usestheinternaltimerofthesinglechipmicrocomputersystemtocalculatethetime,andgeneratespulsesignalthroughthephotoelectricpairtubeanditsrelatedexternalcircuit.Thesinglechipmicrocomputercalculatesthepulsebeatingtimesbydetectingthetimebetweentwopulses,anddisplaysthepulsetimesontheLCD.Thesystemrealizesthefunctionsofreal-timemonitoringanddisplayofpulse,thresholdadjustmentandalarmreminder.Theexperimentalresultsshowthatthesystemworksnormally,hashighmeasurementsensitivity,andachievesthedesignfunction.Keywords:51Microcontroller;Pulserate;Photoelectricsensor畢業(yè)論文封面 1 2Abstract 3 4第一章緒論 6 61.2課題的研究現(xiàn)狀 61.3本文內(nèi)容 7第二章總體方案設(shè)計(jì) 82.1設(shè)計(jì)功能要求 82.2元件選型 8 8 9 2.3本章小結(jié) 第三章系統(tǒng)硬件設(shè)計(jì) 113.1總體硬件設(shè)計(jì) 3.2電源電路設(shè)計(jì) 3.3STC89C52最小系統(tǒng)模塊電路設(shè)計(jì) 3.2.1STC89C52芯片介紹 3.2.2STC89C52最小系統(tǒng) 3.4脈搏采集電路設(shè)計(jì) 3.4.1信號(hào)采集電路 3.4.2信號(hào)放大電路 3.4.3波形整形電路 3.5LCD顯示電路設(shè)計(jì) 3.6鍵盤電路設(shè)計(jì) 3.7本章小結(jié) 第四章系統(tǒng)軟件設(shè)計(jì) 4.1軟件開(kāi)發(fā)環(huán)境介紹 4.2軟件設(shè)計(jì)要求 204.3系統(tǒng)軟件流程圖 204.4脈搏采集子程序設(shè)計(jì) 4.5鍵盤程序設(shè)計(jì) 224.6液晶顯示子程序設(shè)計(jì) 錯(cuò)誤!未定義書(shū)簽。4.7本章小結(jié) 24第五章系統(tǒng)調(diào)試 25 255.1.2硬件電路焊接 255.2軟件調(diào)試 265.3系統(tǒng)調(diào)試 275.4實(shí)物測(cè)試 285.5誤差結(jié)果分析 參考文獻(xiàn) 32致謝 33附錄一實(shí)物圖 34 35附錄三元件清單 36附錄四源程序 37第一章緒論1.1課題意義在中醫(yī)四診(望﹑聞﹑問(wèn)﹑切)中,脈診占有非常重要的位置。脈診是我國(guó)傳統(tǒng)醫(yī)學(xué)中最具特色的一項(xiàng)診斷方法,其歷史悠久,內(nèi)容豐富,是中醫(yī)“整體觀念”﹑“辨證論證”的基本精神的體現(xiàn)與應(yīng)用。脈搏攜帶有豐富的人體健康狀況的信息,自公元三世紀(jì)我國(guó)最早的脈學(xué)專著《脈經(jīng)》問(wèn)世以來(lái),脈學(xué)理診作為“綠色無(wú)創(chuàng)”診斷的手段和方法得到了中外人士的關(guān)注。但由于中醫(yī)是靠手指獲取脈搏信息,雖然脈診具有簡(jiǎn)便﹑無(wú)創(chuàng)﹑無(wú)痛的特點(diǎn)易為患者接受,然而在長(zhǎng)期的醫(yī)療實(shí)踐中也暴露出一些缺陷。首先,切脈單憑醫(yī)生手指感覺(jué)辨別脈象的特征,受到感覺(jué)﹑經(jīng)驗(yàn)和表述的限制,并且難免存在許多主觀臆斷因素,影響了對(duì)脈象判斷的規(guī)化。其次,這種用手指切脈的技巧很難掌握。再則,感知的脈象無(wú)法記錄和保存影響了對(duì)脈象機(jī)理的研究。脈診的這種定性化和主觀性大大影響了其精度與可行性,成為中醫(yī)脈診應(yīng)用﹑發(fā)展和交流中的制約因素。為了將傳統(tǒng)的中醫(yī)藥學(xué)發(fā)揚(yáng)光大,促進(jìn)脈診的應(yīng)用和發(fā)展,必須與現(xiàn)代科技相結(jié)合,實(shí)現(xiàn)更科學(xué)﹑客觀的診斷[1]。醫(yī)院的護(hù)士每天都要給住院的病人把脈記錄病人每分鐘脈搏數(shù)的方法是用手按在病人腕部的動(dòng)脈上,根據(jù)脈搏的跳動(dòng)進(jìn)行計(jì)數(shù)。為了節(jié)省時(shí)間,一般不會(huì)作1分鐘的測(cè)量,通常是測(cè)量10秒鐘時(shí)間心跳的數(shù),再把結(jié)果乘以6即得到每分鐘的心跳數(shù),即使這樣做還是比較費(fèi)時(shí),而且精度也不高。因此,開(kāi)發(fā)出一款功能強(qiáng)大的脈搏測(cè)量?jī)x是非常有意義的。1.2課題的研究現(xiàn)狀隨著科學(xué)技術(shù)的發(fā)展,脈搏測(cè)量技術(shù)也越來(lái)越先進(jìn),對(duì)脈搏的測(cè)量精度也越來(lái)越高,國(guó)外先后研制了不同類型的脈搏測(cè)量?jī)x,而其中關(guān)鍵是對(duì)脈搏傳感器的研究。起初用于體育測(cè)量的脈搏測(cè)試集中在對(duì)接觸式傳感器的研究,利用此類傳感器所研制的指脈﹑耳脈等測(cè)量?jī)x各有其優(yōu)缺點(diǎn)。指脈測(cè)量比較方便﹑簡(jiǎn)單,但因?yàn)槭种干系暮瓜佥^多,指夾常年使用,污染可能會(huì)使測(cè)量靈敏度下降。耳脈測(cè)量比較干凈,傳感器使用環(huán)境污染少,容易維護(hù)。但因耳脈較弱,尤其是當(dāng)季節(jié)變化時(shí),所測(cè)信號(hào)受環(huán)境溫度影響明顯,造成測(cè)量結(jié)果不準(zhǔn)確。過(guò)去在醫(yī)院臨床監(jiān)護(hù)和日常中老年保健中出現(xiàn)的日常監(jiān)護(hù)儀器,如便攜式電子血壓計(jì),可以完成脈搏的測(cè)量,但是這種便攜式電子血壓計(jì)利用微型氣泵加壓橡膠氣囊,每次測(cè)量都需要一個(gè)加壓和減壓的過(guò)程,存在體積龐大﹑加減壓過(guò)程會(huì)有不適﹑脈搏檢測(cè)的精確度低等缺點(diǎn)[2]。近年來(lái)國(guó)外致力于開(kāi)發(fā)無(wú)創(chuàng)非接觸式的傳感器,這類傳感器的重要特征是測(cè)量的探測(cè)部分不侵入機(jī)體,不造成機(jī)體創(chuàng)傷,能夠自動(dòng)消除儀表自身系統(tǒng)的誤差,測(cè)量精度高,通常在體外,尤其是在體表間接測(cè)量人體的生理和生化參數(shù)。其中光電式脈搏傳感器是根據(jù)光電容積法制成的脈搏傳感器,通過(guò)對(duì)手指末端透光度的監(jiān)測(cè),間接檢測(cè)出脈搏信號(hào)。具有結(jié)構(gòu)簡(jiǎn)單﹑無(wú)損傷﹑精度高﹑可重復(fù)使用等優(yōu)點(diǎn)。通過(guò)光電式脈搏傳感器所研制的脈搏測(cè)量?jī)x已經(jīng)應(yīng)用到臨床醫(yī)學(xué)等各個(gè)方面并收到了理想效果。1.3本文內(nèi)容本文主要是介紹基于51單片機(jī)的脈搏測(cè)量?jī)x設(shè)計(jì)與實(shí)現(xiàn)。本次設(shè)計(jì)結(jié)合單片機(jī)技術(shù)、傳感器技術(shù)、模擬電子技術(shù)、誤差分析與處理等技術(shù),實(shí)現(xiàn)脈搏測(cè)量?jī)x的數(shù)據(jù)監(jiān)測(cè)與設(shè)備控制等功能。本文主要內(nèi)容包括五個(gè)部分:第一章為緒論。通過(guò)本次課題的意義和研究現(xiàn)狀,對(duì)于脈搏測(cè)量?jī)x的發(fā)展進(jìn)行分析與推理,設(shè)計(jì)出具有創(chuàng)意的產(chǎn)品。第二章為介紹脈搏測(cè)量?jī)x的原理,通過(guò)了解脈搏測(cè)量?jī)x的工作原理,以及與現(xiàn)階段脈搏測(cè)量?jī)x的技術(shù)成就進(jìn)行研究,利用最先進(jìn)化的手段實(shí)現(xiàn)脈搏測(cè)量?jī)x控制達(dá)到目前所要的要求。第三章為本設(shè)計(jì)的硬件系統(tǒng)設(shè)計(jì),通過(guò)選擇合適的元件,進(jìn)入電路圖設(shè)計(jì),根據(jù)元件的電器參數(shù)、電路設(shè)計(jì)等設(shè)計(jì)出可靠的電路圖。第四章為本設(shè)計(jì)的軟件系統(tǒng)設(shè)計(jì),經(jīng)過(guò)設(shè)計(jì)好的電路圖后,就可以進(jìn)行軟件程序的編寫,首先畫(huà)出程序流程圖,然后通過(guò)所學(xué)單片機(jī)知識(shí)、C語(yǔ)言知識(shí),利用單片機(jī)進(jìn)行數(shù)據(jù)采集,并傳出顯示。第五章為本設(shè)計(jì)的系統(tǒng)調(diào)試,通過(guò)電路分析,最后通過(guò)焊接硬件調(diào)試,總結(jié)調(diào)試過(guò)中出現(xiàn)的問(wèn)題,以及對(duì)最終結(jié)果進(jìn)行分析。第二章總體方案設(shè)計(jì)2.1設(shè)計(jì)功能要求本次設(shè)計(jì)的脈搏測(cè)量?jī)x主要具有以下功能:1、具有智能化產(chǎn)品的基本特點(diǎn);2、具有使用者的脈搏檢測(cè)、實(shí)時(shí)顯示等功能;3、具有脈搏次數(shù)超限報(bào)警功能;4、具有按鍵調(diào)整功能,可對(duì)當(dāng)前脈搏報(bào)警上下限閾值進(jìn)行調(diào)整;2.2元件選型方案一:STM32F103系列微控制器,是ST意法半導(dǎo)體公司推出的基于Cortex-M3內(nèi)核的一款控制器,該控制器最大的一款具有512K容量flash適合高級(jí)的集成電路開(kāi)發(fā),且是一款低功耗的產(chǎn)品,供電只需3.0-3.6V之間[3]。圖2-1STM32F103C8T6最小系統(tǒng)板實(shí)物圖方案二:STC89C52單片機(jī),該單片機(jī)是目前51系類單片機(jī)代表,該芯片上資源豐富,寄存器不多,適合初學(xué)者入門學(xué)習(xí)使用。并且該控制器相比傳統(tǒng)的MCS-51芯片做出了很多的改進(jìn),例如其P0口無(wú)需上拉電阻,可實(shí)現(xiàn)ISP在線編程,在電路調(diào)試時(shí)方便了很多。該芯片具有低功耗、性能好的特點(diǎn),內(nèi)部資源具有定時(shí)器、串口、外部中斷等等[4]。如下圖2-2為STC89C52單片機(jī)實(shí)物圖。圖2-2STC89C52單片機(jī)實(shí)物圖方案三:MSP430,MSP430是上美國(guó)德州儀器(TI)半導(dǎo)體公司推出的一款低功耗處理器,該處理器以低功耗而聞名。它是一款16位的單片機(jī),該芯片是具有精簡(jiǎn)指令集的混合信號(hào)處理器。由于其低功耗的特點(diǎn)通常用于便攜式產(chǎn)品開(kāi)發(fā)。綜上所述,根據(jù)本次設(shè)計(jì)的要求,選擇合適的微控制器,本次設(shè)計(jì)采用使用簡(jiǎn)單、性能比較高的STC89C52系列單片機(jī),具有8kflash的芯片STC89C52RC作為主控。方案一:透射型光電式傳感器,透射型是指由光電傳感器的上端的紅外發(fā)射二極管發(fā)出紅外光線,由于紅外線穿透能力強(qiáng),經(jīng)過(guò)手指透射進(jìn)過(guò)血液循環(huán),由于血液隨心跳的流動(dòng)具有舒張和收縮作用導(dǎo)致不同的變化,手指內(nèi)的血液濃度從而跳動(dòng),在跳動(dòng)時(shí),底部的紅外接收二極管接收到信號(hào),從而產(chǎn)生不同的光電信號(hào)。傳感器模塊實(shí)物圖如下圖2-3透射型光電傳感器實(shí)物圖方案二:采用pulsesensor紅外心率傳感器,該傳感器是利用內(nèi)部紅外對(duì)管進(jìn)行血流的檢測(cè),紅外模塊檢測(cè)心率信號(hào)抗干擾能力強(qiáng),并且該模塊內(nèi)部集成了信號(hào)放大電路、濾波電路、整形輸出電路等,輸出波形也很好。適用于脈搏方面的科學(xué)研究和教學(xué)演示,也非常適合用于二次開(kāi)發(fā)。如下圖2-3為心率傳感器實(shí)物圖。圖2-4心率傳感器實(shí)物圖綜上所示,選擇方案一透射型光電式傳感器,能應(yīng)用于手指實(shí)現(xiàn)心率脈搏測(cè)量,測(cè)量精度較高,而方案二該傳感器是一款反射式的心率傳感器,雖可適用于身體多個(gè)部位測(cè)量,但測(cè)量精度相比于透射型光電式傳感器較低。方案一:采用單色液晶LCD1602顯示屏,該液晶屏的顯示功能強(qiáng)大,其內(nèi)部是由32個(gè)5*7點(diǎn)陣組成,能顯示大多數(shù)的字符。該液晶可通過(guò)四線串行接口或者8線并行接口驅(qū)動(dòng),其驅(qū)動(dòng)時(shí)序非常簡(jiǎn)單,適合開(kāi)發(fā)者使用。LCD1602價(jià)格低廉,功耗低,是一款非常適用顯示字符、數(shù)字的液晶屏。方案二:低功耗的OLED12864顯示器,該OLED是一款低功耗的顯示器,該顯示模塊是基于SSD1306芯片驅(qū)動(dòng)。數(shù)據(jù)通信采用IIC接口驅(qū)動(dòng)顯示,具有數(shù)據(jù)通信簡(jiǎn)單等特點(diǎn)。采用OLED的特點(diǎn)是該器件采用的是二極管自行發(fā)光器件,不需要背光電源,是通過(guò)軟件控制的一款顯示模塊。其工作電壓在3.3V-5.V之間,體積小顯示內(nèi)容豐富[5]。方案三:采用串口型TFT彩色液晶屏,該液晶屏界面絢麗,非常適合人機(jī)界面的開(kāi)發(fā),同時(shí)利用串口兩線即可驅(qū)動(dòng)液晶顯示,通過(guò)上位機(jī)實(shí)現(xiàn)界面規(guī)劃,良好的操作方法是該屏的一大亮點(diǎn)。通過(guò)單片機(jī)串口發(fā)送簡(jiǎn)單的指令即可顯示想要的內(nèi)容。該液晶屏廣泛用于電子產(chǎn)品當(dāng)中,但其價(jià)格昂貴是一大重要問(wèn)題。綜上所述,本次設(shè)計(jì)選取的液晶是用于脈搏測(cè)量?jī)x,考慮到設(shè)計(jì)的成本和開(kāi)發(fā)難度,故而選擇方案一LCD1602顯示。2.3本章小結(jié)本章對(duì)設(shè)計(jì)中用到的元器件進(jìn)行了一個(gè)系統(tǒng)性的說(shuō)明。包括對(duì)主控的說(shuō)明,字符型液晶器的優(yōu)點(diǎn),以及介紹本次設(shè)計(jì)所要用到的脈搏傳感器的原理等。STC89C52單片機(jī)報(bào)警模塊STC89C52單片機(jī)報(bào)警模塊第三章系統(tǒng)硬件設(shè)計(jì)3.1總體硬件設(shè)計(jì)要實(shí)現(xiàn)以上的要求,通過(guò)查閱資料,對(duì)照其器件的特性、性比價(jià)、穩(wěn)定性等因素,選擇出了該設(shè)計(jì)的硬件方案。具有方案如下:采用STC89C52RC單片機(jī)為系統(tǒng)控制器單元,利用透射型光電式傳感器實(shí)現(xiàn)使用者的脈搏測(cè)量,通過(guò)STC89C52RC內(nèi)部定時(shí)器計(jì)算出實(shí)際脈搏。通過(guò)LCD顯示屏實(shí)時(shí)顯示當(dāng)前的數(shù)據(jù),同時(shí)具有按鍵切換顯示和超限報(bào)警等功能;綜上所述,整個(gè)硬件部分主要由單片機(jī)最小系統(tǒng)、脈搏采集模塊、鍵盤模塊、LCD液晶顯示模塊構(gòu)成。硬件框圖如下圖3-1所示。顯示模塊光電傳感器顯示模塊復(fù)位電路復(fù)位電路鍵盤鍵模塊時(shí)鐘電路鍵盤鍵模塊3.2電源電路設(shè)計(jì)本設(shè)計(jì)對(duì)電源要求不是很高,基本的USB5V或者四節(jié)1.5V干電池供電即可完成,本設(shè)計(jì)采用USB電源線供電,如下圖3-2為本設(shè)計(jì)的電源接口及開(kāi)關(guān)控制電路圖。P4為電源DC插口,2、3腳接地線,1腳接到開(kāi)關(guān)控制腳,通過(guò)開(kāi)關(guān)P3控制電源的通斷,輸出到VCC為系統(tǒng)供電,VCC為5V。圖3-2電源接口及開(kāi)關(guān)控制電路圖3.3STC89C52最小系統(tǒng)模塊電路設(shè)計(jì)通過(guò)上一章節(jié)介紹了,設(shè)計(jì)中主控芯片采用STC89C52RC單片機(jī)作為主控制。該型號(hào)單片機(jī)為DIP封裝,內(nèi)部資源足夠用于本次設(shè)計(jì)。STC89C52RC芯片最高工作頻率可達(dá)24MHZ,片內(nèi)有4k字節(jié)在線可重復(fù)編程快擦寫程序存儲(chǔ)器。內(nèi)部8k字節(jié)的閃存程序存儲(chǔ)器,也就是說(shuō)代碼量可以寫到8k字節(jié),足夠本次設(shè)計(jì)。3.2.1STC89C52芯片介紹STC89C52是一種低電壓,高性能CMOS8位單片機(jī),片內(nèi)含8KBYTES的可反復(fù)擦寫的只讀程序存儲(chǔ)器(EPROM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)的80C51和80C52產(chǎn)品的指令系統(tǒng)和引腳兼容,芯片擦寫允許程序存儲(chǔ)器在系統(tǒng)內(nèi)部或一個(gè)普通的非易失存儲(chǔ)器所改寫。片內(nèi)置通用8位中央處理器(CPU)和FLASH存儲(chǔ)單元,功能強(qiáng)大的STC89C52單片機(jī)適用于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,512字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,內(nèi)置4KB的EEPROM,MAX810復(fù)位電路,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),STC89C52可降至0HZ的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。STC89C52RC管腳圖如圖3-3所示[6]。圖3-3STC89C52RC管腳圖3.2.2STC89C52最小系統(tǒng)所有的微控制器當(dāng)中,單單一個(gè)微控制器芯片是不足以完成一個(gè)控制系統(tǒng)的。51單片機(jī)最小系統(tǒng),除了微控制器芯片,還需要晶振電路、復(fù)位電路來(lái)組成一個(gè)系統(tǒng)。STC89C52最小系統(tǒng)分為時(shí)鐘電路和復(fù)位電路,我們采用STC89C52RC芯片,單片機(jī)的時(shí)鐘電路由一個(gè)12M的晶振和兩個(gè)30P的小電容組成。由于芯片IO口內(nèi)部自帶上拉電阻,因此復(fù)位電路只需一個(gè)10nF電容組成。51單片機(jī)相對(duì)STM32此類單片機(jī)較為簡(jiǎn)單,MCU微處理器是整個(gè)系統(tǒng)的核心,相當(dāng)于整個(gè)系統(tǒng)的“大腦”,維持著整個(gè)系統(tǒng)的運(yùn)行,所以微控制必須能夠穩(wěn)定的運(yùn)行,下圖(圖3-4)為STC89C52最小系統(tǒng)電路圖,芯片電源為5V供電。如下圖3-4為本次設(shè)計(jì)使用的STC89C52RC最小系統(tǒng)模塊內(nèi)部電路圖。圖3-4STC89C52RC最小系統(tǒng)板3.4脈搏采集電路設(shè)計(jì)設(shè)計(jì)中采用5mm的光電對(duì)管,該模塊是一款光電式傳感器,由紅外發(fā)射二極管和紅外接收二極管構(gòu)成,LED發(fā)光信號(hào)波長(zhǎng)為940nm,模塊可工作在5V,在進(jìn)行正常工作時(shí),檢測(cè)的信號(hào)為光透射信號(hào),經(jīng)過(guò)模塊外部放大、整形、濾波等處理,最終輸出模擬信號(hào)。由于本次設(shè)計(jì)采用STC89C52RC芯片為主控制,通過(guò)檢測(cè)IO口低電平存在的時(shí)間并結(jié)合換算關(guān)系可實(shí)現(xiàn)脈搏的計(jì)算。如下圖3-5所示為光電式傳感器的電路設(shè)計(jì)圖,主要包括低通濾波、信號(hào)放大、波形整形等三部分所構(gòu)成,信號(hào)放大和波形整形通過(guò)雙運(yùn)算放大器LM358實(shí)現(xiàn)[7]。圖3-5光電傳感器電路設(shè)計(jì)圖3.4.1信號(hào)采集電路信號(hào)采集電路關(guān)鍵部分在于脈搏信號(hào)的檢測(cè)。本設(shè)計(jì)采用由紅外發(fā)射二極管器和紅外接收二極管組成的透射式光電傳感器。U2、D2分別是紅外發(fā)射、接收裝置,由于紅外發(fā)射二極管中的電流越大,發(fā)射角度越小,產(chǎn)生的發(fā)射強(qiáng)度就越大,所以對(duì)R5阻值的選取要求較高。R5選擇220Ω同時(shí)也是基于紅外接收二極管感應(yīng)紅外光靈敏度考慮。R5過(guò)大,通過(guò)紅外發(fā)射二極管的電流偏小,紅外接收二極管無(wú)法區(qū)別有心跳和無(wú)心跳時(shí)的信號(hào)。反之,R5過(guò)小,通過(guò)的電流偏大,紅外接收二極管也不能準(zhǔn)確地辨別有脈搏跳動(dòng)和無(wú)脈搏跳動(dòng)時(shí)的信號(hào)。因光電傳感器輸出的脈沖信號(hào)是非常微弱的信號(hào),而且頻率很低(如脈搏50次/分鐘為0.78Hz,200次/分鐘為3.33Hz并且還伴有各種噪聲干擾,故該信號(hào)要經(jīng)過(guò)R7、C5低通濾波,去除高頻干擾。脈搏信號(hào)采集電路如圖3-6所示。圖3-6信號(hào)采集電路3.4.2信號(hào)放大電路如下圖所示,RT1與R14的電阻之比為放大器的放大倍數(shù),經(jīng)過(guò)計(jì)算所得該放大器的理論值為200倍,但由于接口上5V供壓不足再加上材料限制和人為的因素,該放大倍數(shù)只有20倍左右。脈搏信號(hào)放大電路如圖3-7所示。圖3-7信號(hào)放大電路圖中C5為耦合電容,作用為隔直流通交流。使用1uF的電容,讓所有的信號(hào)通過(guò)。3.4.3波形整形電路電壓比較器是一種常用的集成電路。它可用于報(bào)警器電路、自動(dòng)控制電路、測(cè)量技術(shù),也可用于V/F變換電路、A/D變換電路、高速采樣電路、電源電壓監(jiān)測(cè)電路、振蕩器及壓控振蕩器電路、過(guò)零檢測(cè)電路等。電壓比較器工作原理是對(duì)兩個(gè)模擬電壓比較其大小并判斷出其中哪一個(gè)電壓高,電壓小于該值時(shí)顯示0V,當(dāng)大于該值時(shí)顯示5V,這就形成了0和5V的方波。如圖3-7所示,經(jīng)過(guò)低通放大后的脈搏信號(hào)整形后為0和5V的方波,脈沖高電平與心跳同步,并由紅色發(fā)光二極管RED1的閃亮指示出來(lái),即發(fā)光二極管作脈搏狀態(tài)顯示,心臟每跳動(dòng)一次發(fā)光二極管亮一次[8]。脈搏信號(hào)波形整形電路如圖3-8所示。圖3-8波形整形電路3.5LCD顯示電路設(shè)計(jì)本次采用字符型液晶LCD1602作為本次脈搏測(cè)量?jī)x的顯示器,LCD1602是一種專門用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,其1602是指LCD顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個(gè)字符,常作為各類單片機(jī)實(shí)物設(shè)計(jì)的顯示屏。該模塊具有16個(gè)引腳,包括8位數(shù)據(jù)輸入部分、LCD讀寫操作及使能控制部分、背光打開(kāi)與關(guān)閉控制部分以及對(duì)比度調(diào)節(jié)部分。其接口如下:第1引腳GND接地;第2引腳為VCC,接5V電源正極;第3引腳VO是LCD1602液晶顯示器對(duì)比度調(diào)節(jié)端,接VCC時(shí)對(duì)比度最弱,接GND時(shí)對(duì)比度最高,在使用時(shí)如果對(duì)比度過(guò)高,會(huì)因?yàn)轫憫?yīng)速度原因使圖像發(fā)生模糊,所以在使用時(shí)用R2接VCC和R1接地調(diào)整對(duì)比度;第4腳RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器;第5腳RW為讀寫信號(hào)線,高低電平時(shí)分別進(jìn)行讀操作和寫操作;第6腳,EN端為使能端,高電平時(shí)讀取信息,負(fù)跳變時(shí)執(zhí)行指令;第7腳與第14腳,D0到D7是8位雙向數(shù)據(jù)端。如下圖3-9所示[9]。3.6鍵盤電路設(shè)計(jì)本次設(shè)計(jì)采用三個(gè)獨(dú)立式按鍵實(shí)現(xiàn)閾值調(diào)整、界面切換功能。三個(gè)按鍵分為設(shè)置加鍵、設(shè)置減鍵、切換鍵。設(shè)置加鍵是用來(lái)對(duì)報(bào)警閾值進(jìn)行設(shè)置加,設(shè)置減鍵是用來(lái)對(duì)報(bào)警閾值進(jìn)行設(shè)置減。界面切換鍵可實(shí)現(xiàn)對(duì)上下限閾值調(diào)整界面進(jìn)行切換。下圖中3-10為鍵盤電路設(shè)計(jì)圖,圖中三個(gè)個(gè)按鍵一端接公共端GND,另一端分別接單片機(jī)的I/O。三個(gè)按鍵接口分別接單片機(jī)的P3^0、P3^1、P3^2引腳,當(dāng)單片機(jī)的相應(yīng)引腳檢測(cè)到低電平時(shí),說(shuō)明該引腳被觸發(fā),從而實(shí)現(xiàn)相應(yīng)的動(dòng)作。KEYO——K3圖3-10鍵盤電路設(shè)計(jì)圖3.7本章小結(jié)本章介紹了基于51單片機(jī)的脈搏測(cè)量?jī)x的設(shè)計(jì)與實(shí)現(xiàn)的硬件電路設(shè)計(jì),通過(guò)查閱相關(guān)器件資料,通過(guò)器件的技術(shù)文檔做出了電路設(shè)計(jì),通過(guò)不斷的電路焊接調(diào)試,利用萬(wàn)用表、示波器等設(shè)備完成最終的電路設(shè)計(jì)。包括各個(gè)模塊的電路圖等做出了驗(yàn)證,具體模塊有電源電路設(shè)計(jì)、主控制電路設(shè)計(jì)、脈搏采集電路設(shè)計(jì)、LCD顯示電路設(shè)計(jì)、鍵盤電路設(shè)計(jì)等。并根據(jù)設(shè)計(jì)好的電路進(jìn)行焊接驗(yàn)證調(diào)試電路圖,做出參數(shù)記錄等。第四章系統(tǒng)軟件設(shè)計(jì)4.1軟件開(kāi)發(fā)環(huán)境介紹本次設(shè)計(jì)主控制采用STC89C52RC單片機(jī)為主控制,軟件以KEIL5MDK為開(kāi)發(fā)平臺(tái),該開(kāi)發(fā)平臺(tái)特點(diǎn)眾多,具有界面美觀、使用效率高、實(shí)用性強(qiáng)等特點(diǎn)。KEIL5MDK平臺(tái)支持匯編語(yǔ)言、C語(yǔ)言混合編程,也可以單獨(dú)編程,是集成化非常高的編譯環(huán)境??梢杂糜诙喾N單片機(jī)的開(kāi)發(fā),并且該開(kāi)發(fā)環(huán)境支持軟件仿真和硬件仿真,是51系列單片機(jī)開(kāi)發(fā)的首選平臺(tái)[10]。本次設(shè)計(jì)采用的是keil5MDK開(kāi)發(fā)平臺(tái),利用C語(yǔ)言編程規(guī)范實(shí)現(xiàn)對(duì)本次設(shè)計(jì)軟件,該平臺(tái)是51系列單片機(jī)主流開(kāi)發(fā)平臺(tái),其界面美觀,是51系列單片機(jī)開(kāi)發(fā)者的首選。該開(kāi)發(fā)平臺(tái)具有開(kāi)發(fā)效率高、可在線編程仿真調(diào)試等優(yōu)點(diǎn)。首先安裝好KEIL5MDK平臺(tái)后,新建工程、添加頭文件、創(chuàng)建子程序、編譯、仿真、下載到電路中等步驟,聯(lián)合調(diào)試到最終的結(jié)果,完成最后的測(cè)試。如下圖4-1為KEIL5MDK軟件調(diào)試圖。圖4-1KEIL5MDK軟件調(diào)試圖4.2軟件設(shè)計(jì)要求上一章介紹了本設(shè)計(jì)的硬件電路,包括了各個(gè)模塊等。通過(guò)本章節(jié)根據(jù)電路原理以及設(shè)計(jì)要求寫出軟件程序,本設(shè)計(jì)的設(shè)計(jì)功能具體如下:能夠?qū)崿F(xiàn)液晶實(shí)時(shí)顯示數(shù)據(jù),并能夠切換顯示;能夠?qū)崿F(xiàn)按鍵調(diào)整功能,可對(duì)當(dāng)前脈搏報(bào)警上下限閾值進(jìn)行調(diào)整能夠?qū)崿F(xiàn)使用者的脈搏實(shí)時(shí)檢測(cè)及脈搏超限報(bào)警功能;能夠?qū)崿F(xiàn)使用者的脈搏波采集并上傳到Labview上位機(jī)顯示;能夠?qū)崿F(xiàn)使用者的脈搏數(shù)據(jù)存儲(chǔ)以及掉電顯示;本設(shè)計(jì)以C語(yǔ)言為基礎(chǔ),采用Keil5編譯器進(jìn)行編程以及數(shù)據(jù)獲取,硬件上采用STC15F2K60S2為主控芯片,結(jié)合光電傳感器等模塊進(jìn)行硬件設(shè)計(jì),最后通過(guò)液晶顯示數(shù)據(jù)將硬件和軟件相結(jié)合來(lái)實(shí)現(xiàn)脈搏測(cè)量系統(tǒng)的功能。本章通過(guò)系統(tǒng)軟件流程圖的介紹,主程序的介紹、以及各個(gè)模塊子程序的介紹。集合硬件寫出軟件程序。4.3系統(tǒng)軟件流程圖本系統(tǒng)設(shè)計(jì)主要采用Keil軟件編寫與調(diào)試程序,程序語(yǔ)言采取易讀性和移植性更高的C語(yǔ)言編寫。系統(tǒng)運(yùn)行流程圖如下圖所示。要實(shí)現(xiàn)以上功能要求,系統(tǒng)的軟件程序框圖如下圖4-2所示。首先進(jìn)行系統(tǒng)初始化,系統(tǒng)初始化包括液晶初始化配置、定時(shí)器初始化以及串口初始化。接下來(lái)進(jìn)入主程序循環(huán)。主程序循環(huán)系統(tǒng)中主要是脈搏信號(hào)的實(shí)時(shí)采集。利用定時(shí)器2實(shí)現(xiàn)脈搏脈沖信號(hào)的捕獲,檢測(cè)兩次脈沖的間隔時(shí)間,定時(shí)器0實(shí)現(xiàn)有效脈搏信號(hào)的計(jì)數(shù),最終通過(guò)計(jì)算得到實(shí)際的脈搏值,將得出的脈搏值存儲(chǔ)在EEPROM中。利用AD開(kāi)始采集原始脈搏波形并通過(guò)串口上傳到Labview上位機(jī)。同時(shí)鍵盤子程序?qū)崟r(shí)掃描,檢測(cè)到切換鍵按下時(shí),會(huì)切換顯示;在閾值界面設(shè)置狀態(tài)下,設(shè)置按鍵按下時(shí)上限閾值或下限閾值會(huì)相應(yīng)增加減。程序執(zhí)行到這里完了一次,以下列出整體軟件設(shè)計(jì)的流程圖,如圖4-2所示:否切換鍵按否切換鍵按系統(tǒng)初始化得出脈搏值采集脈搏波上傳labview存儲(chǔ)數(shù)據(jù)更新是切換顯示圖4-2主程序流程圖4.4脈搏采集子程序設(shè)計(jì)設(shè)計(jì)采用檢測(cè)兩次脈搏信號(hào)脈沖間隔時(shí)間計(jì)算脈搏,在采集脈搏時(shí),其具體步驟如下:首先是初始化定時(shí)器0、2,分別定時(shí)1ms、10ms中斷,之后進(jìn)入循環(huán)。在循環(huán)中,如果脈搏脈沖信號(hào)存在30ms以上,在定時(shí)器1中斷開(kāi)始脈搏計(jì)數(shù),同時(shí)在定時(shí)器0中斷排除脈搏測(cè)量不穩(wěn)定的情況,最后通過(guò)脈搏算法算出其脈搏值,在OLED上顯示出來(lái),其代碼見(jiàn)附錄二源程序,其流程圖如下圖4-3所示。 N 30ms有信號(hào)?NY讀取脈搏計(jì)數(shù)數(shù)脈搏算法計(jì)算脈搏顯示脈搏值 圖4-3脈搏讀取程序流程圖4.5鍵盤程序設(shè)計(jì)按鍵在本系統(tǒng)中主要起到閾值調(diào)整、切換界面等功能。按鍵工作流程如下:首先在正常工作狀態(tài)下,按下切換鍵,進(jìn)入設(shè)置上下限閾值界面,OLED顯示脈搏測(cè)量值、上下限閾值,通過(guò)設(shè)置加鍵、設(shè)置減鍵實(shí)現(xiàn)上下限閾值的調(diào)整。設(shè)置完成后最后按下切換鍵會(huì)回到初始界面,具體流程圖如下圖4-4所示。YNYN切換鍵按切換鍵按進(jìn)入設(shè)置界面Y加鍵被按加鍵被按Y減鍵被按減鍵被按顯示設(shè)置值N設(shè)置鍵按Y圖4-4鍵盤程序流程圖4.6OLED顯示程序設(shè)計(jì)本次設(shè)計(jì)采用OLED屏作為顯示器,本次選用的是IIC接口,四針的OLED,通過(guò)IIC實(shí)現(xiàn)驅(qū)動(dòng)OLED,使用方式非常簡(jiǎn)單。由上一章節(jié)可知,OLED的SDA、SCL分別接STC15F2K60S2的P2^7、P2^6,通過(guò)軟件模擬IIC驅(qū)動(dòng)。IIC接口包括IIC起始信號(hào)、IIC停止信號(hào)、IIC讀數(shù)據(jù)、IIC寫數(shù)據(jù)、IIC響應(yīng)信號(hào)和非響應(yīng)信號(hào)。以下為OLED讀取顯示數(shù)據(jù)流程圖,首先進(jìn)行初始化配置,初始化IIC,然后配置指令。接下來(lái)進(jìn)入顯示數(shù)據(jù)工作中,首先確定顯示顯示為坐標(biāo),然后顯示字體大小等信息,然后寫入顯示數(shù)據(jù)。其流程圖如下圖4-4所示IIC初始化設(shè)定顯示坐標(biāo)寫顯示數(shù)據(jù)圖4-5OLED顯示流程圖4.7本章小結(jié)本章對(duì)整個(gè)設(shè)計(jì)的軟件設(shè)計(jì)進(jìn)行了詳細(xì)介紹,包括主程序流程圖,主程序包括了各個(gè)子模塊程序,首先通過(guò)主程序的分析,將每個(gè)模塊分割為幾個(gè)小模塊,整個(gè)程序模塊化編程使程序具有可讀性。每一個(gè)子程序都包含的各個(gè)傳感器、模塊電路的驅(qū)動(dòng)程序,通過(guò)每一個(gè)部分的驅(qū)動(dòng)程序,在主程序的條件下來(lái)控制所有的子程序,方便程序的修改以及問(wèn)題的調(diào)試。第五章系統(tǒng)調(diào)試通過(guò)系統(tǒng)硬件設(shè)計(jì)與軟件設(shè)計(jì)完成整個(gè)系統(tǒng)的設(shè)計(jì),設(shè)計(jì)功能實(shí)現(xiàn)后需要對(duì)硬件和軟件進(jìn)行調(diào)試,電子系統(tǒng)中最關(guān)鍵的就是系統(tǒng)的測(cè)試,測(cè)試可以鑒定其工作性能以及穩(wěn)定性。本章通過(guò)硬件調(diào)試和軟件調(diào)試來(lái)分別對(duì)系統(tǒng)測(cè)試,最終得到最后的結(jié)果。5.1硬件調(diào)試本次設(shè)計(jì)采用AltiumDesigner13設(shè)計(jì)出了PCB電路板線路圖,該軟件是Protel99se的升級(jí)版,是一款高性能、開(kāi)發(fā)方便的EDA軟件,該軟件僅僅能夠繪制原理圖、PCB等還能進(jìn)行嵌入式開(kāi)發(fā)。本次采用該軟件繪制出來(lái)整個(gè)系統(tǒng)的電路圖,以及PCB圖,在設(shè)計(jì)過(guò)程中要注意(1)線寬規(guī)則:地線鋪銅,電源線寬大于信號(hào)線寬。(2)走線不能直角,盡量45度轉(zhuǎn)角。(3)電源電路和信號(hào)電路盡量隔遠(yuǎn)。(4)電源線從濾波電容布線輸出。5.1.2硬件電路焊接硬件電路是系統(tǒng)板的核心重要部分,也是最容易出錯(cuò)的部分,因此在焊接過(guò)程中必須要嚴(yán)謹(jǐn)仔細(xì),注意焊接器件時(shí)要做注意輕拿輕放。特別是在電源一塊要防止電路出現(xiàn)短路等問(wèn)題。在焊接過(guò)程中主要有一下幾步:第一步:檢查,選擇好合適的元件后,利用萬(wàn)用表等儀器測(cè)量元件的特性是否完好,能夠識(shí)別出器件是否正常,通過(guò)儀表儀器測(cè)出其相關(guān)值。第二步:焊接,在焊接過(guò)程中,首先焊接電源部分,電源是硬件電路中的關(guān)鍵,首先分清楚供電電源線的正負(fù)極,以及元器件的正負(fù)極引腳。將對(duì)應(yīng)引腳焊接,最終上電測(cè)試,電壓是否正常,若正常則進(jìn)步下一步。不正常則繼續(xù)測(cè)試。第三部:核心控制部分調(diào)試:焊接剩余相關(guān)元件的時(shí)候注意芯片引腳順序、LED的正負(fù)極等主要問(wèn)題,最終焊接完成后,將程序燒錄到STM32單片機(jī)中。第四步,在一切模塊都可以單獨(dú)運(yùn)行后,對(duì)整個(gè)系統(tǒng)進(jìn)行整合組裝,并用萬(wàn)用表對(duì)所有功能模塊進(jìn)行監(jiān)測(cè),檢測(cè)其是否正常運(yùn)行。此時(shí)會(huì)出現(xiàn)一種現(xiàn)象,有時(shí)在手持設(shè)計(jì)的時(shí)候會(huì)造成現(xiàn)象丟失不準(zhǔn)確等隨機(jī)故障,但是把其放到桌面上就不會(huì)有這些問(wèn)題。經(jīng)過(guò)排查后發(fā)現(xiàn)手指的不慎誤觸,會(huì)導(dǎo)致一些元件引腳的短路,再加上電壓不高,因此不易察覺(jué),由于造成需焊接問(wèn)題,最終通過(guò)在該點(diǎn)位置焊接加錫絲即可[11]。焊接完成效果5.2軟件調(diào)試軟件調(diào)試主要在KEIL5MDK平臺(tái)上進(jìn)行軟件bug調(diào)試,通過(guò)對(duì)軟件中編譯的問(wèn)題進(jìn)行修改和調(diào)試。本次設(shè)計(jì)主控是STC89C52RC,開(kāi)發(fā)環(huán)境是基于KEIL5,通過(guò)新建工程、創(chuàng)建主程序、編譯、下載調(diào)試等步驟,先寫出一個(gè)小模塊,然后點(diǎn)擊編譯按鈕,然后增加完善到最后的理想結(jié)果。圖5-2KEIL5MDK軟件最終調(diào)試圖MDK的一個(gè)強(qiáng)大的功能就是提供軟件仿真,通過(guò)軟件仿真,我們可以發(fā)現(xiàn)很多將要出現(xiàn)的問(wèn)題,避免了下載到STC89C52里面來(lái)查這些錯(cuò)誤,這樣最大的好處是能很方便的檢查程序存在的問(wèn)題,因?yàn)樵贛DK的仿真下面,你可以查看很多硬件相關(guān)的寄存器,通過(guò)觀察這些寄存器,你可以知道代碼是不是真正有效。5.3系統(tǒng)調(diào)試最后一步就是硬件整體測(cè)試了,主要運(yùn)用萬(wàn)用表、直流電源和示波器對(duì)焊接好的板子進(jìn)行整體調(diào)試,主要檢查每一個(gè)器件是不是都正常工作了,主要分為兩個(gè)環(huán)節(jié)動(dòng)態(tài)調(diào)試和靜態(tài)調(diào)試。其中靜態(tài)調(diào)試主要分為以下四種:1.肉眼觀察。主要觀看焊接點(diǎn)是否飽滿,以及相連器件之間是否相連或者器件管腳沒(méi)有焊接好,出現(xiàn)短路現(xiàn)象。2.使用萬(wàn)用表調(diào)試。首先查看電源是否短路,然后測(cè)量管腳是否連接正確,有沒(méi)有接線錯(cuò)誤。3.上電檢查。在完成第一步和第二步都沒(méi)有問(wèn)題,接下來(lái)就可以上電了,上電以后觀看每個(gè)器件是否正常工作,然后在逐一測(cè)試功能。4.綜合檢查測(cè)試。這種測(cè)試方法只適合單片機(jī)開(kāi)發(fā)板開(kāi)發(fā)的系統(tǒng)才能使用這種方法,本文不適宜用這種方法測(cè)試。動(dòng)態(tài)調(diào)試。動(dòng)態(tài)調(diào)試主要是靜態(tài)調(diào)試沒(méi)有任何問(wèn)題,做最后一步檢查,就是每個(gè)器件能否正常工作,能否滿足我系統(tǒng)開(kāi)發(fā)的功能,防止器件內(nèi)部損壞,影響系統(tǒng)性能[12]。5.4實(shí)物測(cè)試通過(guò)對(duì)本次課題設(shè)計(jì)的系統(tǒng)設(shè)計(jì)和硬件電路設(shè)計(jì),最終做出電路板,將電路各個(gè)模塊進(jìn)行焊接。在焊接時(shí)應(yīng)該注意先后順序,先焊接電路模塊,將電路接口和電源開(kāi)關(guān)焊接好后,接通電源。接下來(lái)利用萬(wàn)用表測(cè)試各個(gè)電源點(diǎn)是否正常,測(cè)試正常后進(jìn)入下一步的焊接。焊接順序按照先焊接電源和主控制單片機(jī)部分,先焊接小元件再焊接大元件的方式,最終焊接完成圖樣如下圖5-3所示。在系統(tǒng)板在開(kāi)機(jī)后,正常運(yùn)行不放手指時(shí),LCD第一行會(huì)顯示“HeartRate:”,第二行不顯示,如下圖5-4所示為系統(tǒng)開(kāi)機(jī)界面和數(shù)據(jù)顯示主界面圖。放手指時(shí),在主界面下實(shí)時(shí)顯示該系統(tǒng)的脈搏數(shù)據(jù),并可以自動(dòng)刷新顯示脈搏測(cè)量數(shù)據(jù)。如下圖所示,LCD第一行會(huì)顯示“HeartRate:”,第二行會(huì)顯示脈搏測(cè)量值41。(a)開(kāi)機(jī)界面圖(b)主界面圖圖5-4開(kāi)機(jī)和主界面調(diào)試界面圖在主界面上實(shí)時(shí)顯示時(shí),可通過(guò)按鍵實(shí)現(xiàn)其他功能,按下切換鍵時(shí),LCD將切換到閾值調(diào)整界面。整個(gè)顯示界面顯示脈搏測(cè)量值、上下限閾值等信息,通過(guò)設(shè)置增和設(shè)置減按鍵可以實(shí)現(xiàn)上、下限閾值的調(diào)整。默認(rèn)下限閾值40,上限閾值100。當(dāng)脈搏測(cè)量值低于下限閾值或者高于上限閾值,蜂鳴器報(bào)警提示。如下圖5-5所示為閾值調(diào)整界面。第一行顯示脈搏測(cè)量值,第二行顯示當(dāng)前上限或下限閾值。圖5-5上下限閾值調(diào)整界面5.5誤差結(jié)果分析經(jīng)多次測(cè)量,得到下表1:表1測(cè)量數(shù)據(jù)表實(shí)際的心率次數(shù)測(cè)量得出脈搏波次數(shù)1測(cè)量得出脈搏波次數(shù)2測(cè)量得出脈搏波次數(shù)3測(cè)量得出脈搏波次數(shù)4測(cè)量得出脈搏波次數(shù)5注:實(shí)際的脈搏次數(shù)以聽(tīng)診器測(cè)出的心率次數(shù)為準(zhǔn)。根據(jù)絕對(duì)誤差公式:D=X-x其中X為實(shí)際心率次數(shù)均值,x為脈搏測(cè)量次數(shù)均值,可得出絕對(duì)誤差D為1.2。由相對(duì)誤差公式Er得:Er= DEr=究其原因不難發(fā)現(xiàn),因?yàn)閭鞲衅髋c各器件無(wú)法達(dá)到理想線性,需要實(shí)測(cè)值給予線性補(bǔ)償。由均方差公式得:S=sqr[]=0.59誤差結(jié)果在允許范圍內(nèi),基本達(dá)到設(shè)計(jì)要求。參考文獻(xiàn)[1]陳文彬,王友赤.診斷學(xué)[M].人民衛(wèi)生出版社,2002.45-90.[2]王瑞元,孫學(xué)川,熊開(kāi)宇.運(yùn)動(dòng)生理學(xué)[M].人民體育出版社,2002.76-81.[3]李朝青.單片機(jī)原理及其接口技術(shù).北京:北京航空航天大學(xué)出版社,2006[4]孫惠芹.單片機(jī)項(xiàng)目設(shè)計(jì)教程.北京:電子工業(yè)出版社,2009[5]李建忠.單片機(jī)原理及應(yīng)用.西安:西安電子科技大學(xué),2002年[6]汪會(huì).定脈沖實(shí)現(xiàn)心率測(cè)量[J].科技傳播,2010(17):185+188.[7]陳奕鴻,孫玉軒,周祖德,何芳.心率計(jì)脈搏測(cè)量?jī)x[J].電子世界,2019(06):66-67.DOI:10.19353/ki.dzsj.2019.06.033.[8]朱國(guó)富,廖明濤,王博亮.袖珍式脈搏波測(cè)量?jī)x[J].電子技術(shù)應(yīng)用雜志,1998,第12卷,第1期,1-3.[9]傅揚(yáng)烈主編.單片機(jī)原理與應(yīng)用教程.北京:電子工業(yè)出版社.2002[10]張毅剛編著.新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì).哈爾濱:哈爾濱工業(yè)大學(xué)出版社.2003:89-102[11]江思敏主編.PROTEL電路設(shè)計(jì)教程.北京:清華大學(xué)出版社.2002.9:113-118[12]肖洪兵主編.跟我學(xué)用單片機(jī).四川:北京航空航天大學(xué)出版社.2002.9:179-201致謝在即將畢業(yè)的這段時(shí)間,非常感謝我的指導(dǎo)老師,在我完成這次畢業(yè)設(shè)計(jì)的過(guò)程給了我細(xì)心的指導(dǎo)、以及嚴(yán)格的要求。他對(duì)我總是耐心的要求,老師的教學(xué)作風(fēng)深深影響著我,當(dāng)我遇到問(wèn)題老師時(shí),他并不會(huì)直接告訴我答案,總是讓我自己去查閱資料,確實(shí),很多知識(shí)點(diǎn)在網(wǎng)上和書(shū)上都能找到。在他的指點(diǎn)下我滿懷信心的完成的我的畢業(yè)設(shè)計(jì)。與此同時(shí),我也獨(dú)立的解決的許多問(wèn)題,這樣也增強(qiáng)了我的自我創(chuàng)新能力老師的熱心,真誠(chéng)和嚴(yán)謹(jǐn)?shù)膶W(xué)術(shù)精神給我印象深刻,也正是因?yàn)檫@樣我才能學(xué)到更多的知識(shí),在這里再次表達(dá)對(duì)老師的感激之情!從我上大學(xué)以來(lái),學(xué)校的每位老師都兢兢業(yè)業(yè)的指導(dǎo)我們的工作和學(xué)習(xí),這讓我度過(guò)了充實(shí)而有意義的大學(xué)時(shí)光,同時(shí)我的專業(yè)能力,綜合素質(zhì)都得到了飛躍的提升。這次撰寫畢業(yè)設(shè)計(jì),不光得到了指導(dǎo)老師的幫助,同時(shí)也得到了很多同學(xué)的幫助,我想如果沒(méi)有他們,我不會(huì)如此順利的完成我的畢業(yè)設(shè)計(jì),在這里,我衷心的感謝你們,謝謝!附錄一實(shí)物圖附錄二電路圖1kP3101kP31021VCC21VCCPOWERVCCVCCR13U3VCC2VCCLS1VCCRDERDER4R4bVCC1KVCCVCCVCC6R1VCC6RY10KXL10KXLR5K130pf30R5K1+U1RESERESET10uFR7RR3R8R9CBACB424231424231314212附錄三元件清單11STC89C52單片機(jī)1LM358芯片11輕觸按鍵45mm紅外接收管15mm紅外發(fā)射管1有源蜂鳴器111LED(5mm紅色)111103可調(diào)電位器1116p單排母座11導(dǎo)線若干\焊錫若干\\\附錄四源程序#include<reg52.h>#include<intrins.h>//包含頭文件#defineuintunsignedint#defineucharunsignedchar#defineulongunsignedlong//宏定義#defineLCD_DATAP0//定義P0口為L(zhǎng)CD_DATAsbitLCD_RS=P2^5;sbitLCD_RW=P2^6;//定義LCD控制引腳sbitLCD_E=P2^7;sbitXintiao=P1^0;//脈搏檢測(cè)輸入端定義sbitspeaker=P2^4;//蜂鳴器引腳定義voiddelay5ms(void);//誤差0usvoidLCD_WriteData(ucharLCD_1602_DATA);//LCD1602數(shù)據(jù)寫入voidLCD_WriteCom(ucharLCD_1602_COM);//LCD1602命令寫入/*1602字符顯示函數(shù),變量依次為字符顯示首地址,顯示字符長(zhǎng)度,所顯示的字符*/voidlcd_1602_word(ucharAdress_Com,ucharNum_Adat,uchar*Adress_Data);voidInitLcd();//液晶初始化函數(shù)voidTim_Init();定時(shí)器初始化ucharXintiao_Change=0;uintXintiao_Jishu;ucharstop;ucharView_Data[3];ucharView_L[3];ucharView_H[3];ucharXintiao_H=100;ucharXintiao_L=40;ucharnum[10];uintnum_OK=0;ucharXT=0;//脈搏上限//脈搏下限ucharKey_Change;ucharKey_Value;ucharView_Con;ucharView_Change;//按鍵鍵值//設(shè)置的位(0正常工作,1設(shè)置上限,2設(shè)置下限)voidmain()//主函數(shù){InitLcd();Tim_Init();lcd_1602_word(0x80,16,"HeartRate:");//初始化顯示TR1=1;//打開(kāi)定時(shí)器while(1)//進(jìn)入循環(huán){if(Key_Change)//有按鍵按下并已經(jīng)得出鍵值{Key_Change=0;//將按鍵使能變量清零,等待下次按鍵按下View_Change=1;switch(Key_Value)//判斷鍵值{case1://設(shè)置鍵按下{View_Con++;//設(shè)置的位加if(View_Con==3)//都設(shè)置好后將此變量清零View_Con=0;break;//跳出,下同}case2://加鍵按下{if(View_Con==2)//判斷是設(shè)置上限{if(Xintiao_H<150)//上限數(shù)值小于150Xintiao_H++;//上限+}if(View_Con==1)//如果是設(shè)置下限{if(Xintiao_L<Xintiao_H-1)//下限值小于上限-1(下限值不能超過(guò)上限)Xintiao_L++;//下限值加}break;}case3://減鍵按下{if(View_Con==2)//設(shè)置上限{if(Xintiao_H>Xintiao_L+1)//上限數(shù)據(jù)大于下限+1Xintiao_H--;//上限數(shù)據(jù)減}if(View_Con==1)//設(shè)置下限{if(Xintiao_L>30)//下限數(shù)據(jù)大于30時(shí)Xintiao_L--;//下限數(shù)據(jù)減}break;}}}if(View_Change)//開(kāi)始顯示變量{View_Change=0;//變量清零if(stop==0)//心率正常時(shí){if(View_Data[0]==0x30)//最高位為0時(shí)不顯示View_Data[0]='';}else//心率不正常(計(jì)數(shù)超過(guò)5000,也就是兩次信號(hào)時(shí)間超過(guò)5s)不顯示數(shù)據(jù){View_Data[0]='';View_Data[1]='';View_Data[2]='';}switch(View_Con){case0://正常顯示{lcd_1602_word(0x80,16,"HeartRate:");//顯示一行數(shù)據(jù)lcd_1602_word(0xc0,16,"");//顯示第二行數(shù)據(jù)lcd_1602_word(0xcd,3,View_Data);//第二行顯示心率break;}case1://設(shè)置下限時(shí)顯示{lcd_1602_word(0x80,16,"HeartRate:");//第一行顯示心率lcd_1602_word(0x8d,3,View_Data);View_L[0]=Xintiao_L/100+0x30;//將下限數(shù)據(jù)拆字View_L[1]=Xintiao_L%100/10+0x30;View_L[2]=Xintiao_L%10+0x30;if(View_L[0]==0x30)//最高位為0時(shí),不顯示View_L[0]='';lcd_1602_word(0xC0,16,"WarningL:");//第二行顯示下限數(shù)據(jù)lcd_1602_word(0xCd,3,View_L);break;}case2://設(shè)置上限時(shí)顯示(同上){lcd_1602_word(0x80,16,"HeartRate:");lcd_1602_word(0x8d,3,View_Data);View_H[0]=Xintiao_H/100+0x30;View_H[1]=Xintiao_H%100/10+0x30;View_H[2]=Xintiao_H%10+0x30;if(View_H[0]==0x30)View_H[0]='';lcd_1602_word(0xC0,16,"WarningH:");lcd_1602_word(0xCd,3,View_H);break;}}}}}voidTime1()interrupt3//定時(shí)器1服務(wù)函數(shù){staticucharKey_Con,Xintiao_Con;uchari,j;ucharzancun;bitflag_break;TH1=0xd8;//10msTL1=0xf0;//重新賦初值switch(Key_Con)//無(wú)按鍵按下時(shí)此值為0{case0://每10ms掃描此處{if((P3&0x07)!=0x07)//掃描按鍵是否有按下{Key_Con++;//有按下此值加1,值為1}break;}case1://10ms后二次進(jìn)入中斷后掃描此處(Key_Con為1){if((P3&0x07)!=0x07)//第二次進(jìn)入中斷時(shí),按鍵仍然是按下(延時(shí)去抖){Key_Con++;//變量加1,值為2switch(P3&0x07)//判斷是哪個(gè)按鍵按下{//判斷好按鍵后將鍵值賦值給變量Key_Valuecase0x06:Key_Value=1;break;case0x05:Key_Value=2;break;case0x03:Key_Value=3;break;}}else//如果10ms時(shí)沒(méi)有檢測(cè)到按鍵按下(按下時(shí)間過(guò)短){Key_Con=0;//變量清零,重新檢測(cè)按鍵}break;}case2://20ms后檢測(cè)按鍵{if((P3&0x07)==0x07)//檢測(cè)按鍵是否還是按下?tīng)顟B(tài){Key_Change=1;//有按鍵按下使能變量此變量為1時(shí)方處理鍵值數(shù)Key_Con=0;//變量清零,等待下次有按鍵按下}break;}}switch(Xintiao_Con)//此處與上面按鍵的檢測(cè)類似{case0://默認(rèn)Xintiao_Con是為0的{if(!Xintiao)//每10ms(上面的定時(shí)器)檢測(cè)一次脈搏是否有信號(hào){Xintiao_Con++;//如果有信號(hào),變量加一,程序就會(huì)往下走了}break;}{if(!Xintiao)//每過(guò)10ms檢測(cè)一下信號(hào)是否還存在{Xintiao_Con++;//存在就加一}else{Xintiao_Con=0;//跳出此次檢測(cè)}break;}case2:{if(!Xintiao){Xintiao_Con++;//存在就加一}else{Xintiao_Con=0;//跳出此次檢測(cè)}break;}case3:{if(!Xintiao){Xintiao_Con++;//存在就加一}else{Xintiao_Con=0;//跳出此次檢測(cè)}break;}case4:{if(Xintiao)//超過(guò)30ms有信號(hào),判定此次是脈搏信號(hào){//心率計(jì)原理為檢測(cè)兩次脈沖間隔時(shí)間計(jì)算心率,變量Xintiao_Change//第一次脈沖時(shí)為0的,所有走下面的else,第二次走這里if(Xintiao_Change==1){if(60000/Xintiao_Jishu<200){num[XT]=(60000/Xintiao_Jishu);XT++;if(XT>=5){XT=0;for(i=0;i<5;i++){flag_break=0;for(j=0;j<5;j++){if(num[j]>num[j+1]){zancun=num[j];num[j]=num[j+1];num[j+1]=zancun;flag_break=1;}}if(flag_break==0)break;}num_OK=(num[1]+num[2]+num[3]/*+num[5]+num[6]+

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論