引言
脈搏測量在有脈搏時遮擋光線,無脈搏時透光強(qiáng),所采用的傳感器是紅外接收二極管和紅外發(fā)射二極管。通過觀測脈搏信號,可以對人體的健康進(jìn)行檢查,通常被用于保健中心和醫(yī)院。系統(tǒng)可以供用戶測量當(dāng)時的脈搏次數(shù),同時還可以設(shè)定上限次數(shù)和下限次數(shù),當(dāng)測量的范圍超過設(shè)定的范圍則驅(qū)動蜂鳴器報(bào)警提醒,除此外用戶還可以設(shè)定每天鬧鐘提醒測量,時間可以自行設(shè)定[1]。
從脈搏波中提取人體的生理病理信息作為臨床診斷和治療的依據(jù),歷來都受到中外醫(yī)學(xué)界的重視。系統(tǒng)以STC89C52單片機(jī)為核心,以光電傳感器利用單片機(jī)系統(tǒng)內(nèi)部定時器來計(jì)算時間,由光電傳感器感應(yīng)產(chǎn)生信號,單片機(jī)通過對信號累加得到脈搏跳動次數(shù),時間由定時器定時而得。系統(tǒng)運(yùn)行中可以通過觀察指示燈閃爍,若均勻閃爍說明測量值準(zhǔn)確。幾乎世界上所有的民族都用過“摸脈”作為診斷疾病的手段。脈搏波所呈現(xiàn)出的形態(tài)(波形)、強(qiáng)度(波幅)、速率(波速)和節(jié)律(周期)等方面的綜合信息,在很大程度上反映出人體心血管系統(tǒng)中許多生理病理的血流特征,但人體的生物信號多屬于強(qiáng)噪聲背景下的低頻的弱信號, 脈搏波信號更是低頻微弱的非電生理信號, 必需經(jīng)過放大和后級濾波以滿足采集的要求。
第一章 概述
1.1 選題的背景和意義
脈搏攜帶有豐富的人體健康狀況的信息,自公元三世紀(jì)我國最早的脈學(xué)專著《脈經(jīng)》問世以來,脈學(xué)理論得到不斷的發(fā)展和提高。在中醫(yī)四診(望、聞、問、切)中,脈診占有非常重要的位置。脈診是我國傳統(tǒng)醫(yī)學(xué)中最具特色的一項(xiàng)診斷方法,其歷史悠久,內(nèi)容豐富,是中醫(yī)“整體觀念”、“辨證論證”的基本精神的體現(xiàn)與應(yīng)用。脈診作為“綠色無創(chuàng)”診斷的手段和方法,得到了中外人士的關(guān)注。但由于中醫(yī)是靠手指獲取脈搏信息,雖然脈診具有簡便、無創(chuàng)、無痛的特點(diǎn)易為患者接受,然而在長期的醫(yī)療實(shí)踐中也暴露出一些缺陷。首先,切脈單憑醫(yī)生手指感覺辨別脈象的特征,受到感覺、經(jīng)驗(yàn)和表述的限制,并且難免存在許多主觀臆斷因素,影響了對脈象判斷的規(guī)范化;其次,這種用手指切脈的技巧很難掌握;再則,感知的脈象無法記錄和保存影響了對脈象機(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ù),方法是用手按在病人腕部的動脈上,根據(jù)脈搏的跳動進(jìn)行計(jì)數(shù)。為了節(jié)省時間,一般不會作1分鐘的測量,通常是測量10秒鐘時間內(nèi)心跳的數(shù),再把結(jié)果乘以6即得到每分鐘的心跳數(shù),即使這樣做還是比較費(fèi)時,而且精度也不高。為了提高脈搏測量的精確與速度,多種脈搏測量儀被運(yùn)用到醫(yī)學(xué)上來,從而開辟了一條全新的醫(yī)學(xué)診斷方法。
早在1860年Vierordt 創(chuàng)建了第一臺杠桿式脈搏描記儀,國內(nèi)20世紀(jì)50年代初朱顏將脈搏儀引用到中醫(yī)脈診的客觀化研究方面。此后隨著機(jī)械及電子技術(shù)的發(fā)展,國內(nèi)外在研制中醫(yī)脈象儀方面進(jìn)展很快,尤其是70年代中期,國內(nèi)天津、上海、江西等地相繼成立了跨學(xué)科的脈象研究協(xié)作組,多學(xué)科共同合作促使中醫(yī)脈象研究工作進(jìn)入了一個新的境界。脈象探頭式樣很多,有單部、三部、單點(diǎn)、多點(diǎn)、剛性接觸式、軟性接觸式、氣壓式、硅杯式、液態(tài)汞、液態(tài)水、子母式等組成,脈象探頭的主要原件有應(yīng)變片、壓電晶體、單晶硅、光敏元件、PVDF壓電薄膜等,其中以單部單點(diǎn)應(yīng)變片式為最廣泛,不過近年來正在向三部多點(diǎn)式方向設(shè)計(jì)[2]。
目前脈搏測量儀在多個領(lǐng)域被廣泛應(yīng)用,除了應(yīng)用于醫(yī)學(xué)領(lǐng)域,如無創(chuàng)心血管功能檢測、妊高癥檢測、中醫(yī)脈象、脈率檢測等等,商業(yè)應(yīng)用也不斷拓展,如運(yùn)動、健身器材中的心率測試都用到了技術(shù)先進(jìn)的脈搏測量儀。
1.2 脈搏測量儀的發(fā)展與應(yīng)用
隨著科學(xué)技術(shù)的發(fā)展,脈搏測量技術(shù)也越來越先進(jìn),對脈搏的測量精度也越來越高,國內(nèi)外先后研制了不同類型的脈搏測量儀,而其中關(guān)鍵是對脈搏傳感器的研究。起初用于體育測量的脈搏測試集中在對接觸式傳感器的研究,利用此類傳感器所研制的指脈、耳脈等測量儀各有其優(yōu)缺點(diǎn)。指脈測量比較方便、簡單,但因?yàn)槭种干系暮瓜佥^多,指夾常年使用,污染可能會使測量靈敏度下降:耳脈測量比較干凈,傳感器使用環(huán)境污染少,容易維護(hù)。但因耳脈較弱,尤其是當(dāng)季節(jié)變化時,所測信號受環(huán)境溫度影響明顯,造成測量結(jié)果不準(zhǔn)確。過去在醫(yī)院臨床監(jiān)護(hù)和日常中老年保健中出現(xiàn)的日常監(jiān)護(hù)儀器,如便攜式電子血壓計(jì),可以完成脈搏的測量,但是這種便攜式電子血壓計(jì)利用微型氣泵加壓橡膠氣囊,每次測量都需要一個加壓和減壓的過程,存在體積龐大、加減壓過程會有不適、脈搏檢測的精確度低等缺點(diǎn)。
近年來國內(nèi)外致力于開發(fā)無創(chuàng)非接觸式的傳感器,這類傳感器的重要特征是測量的探測部分不侵入機(jī)體,不造成機(jī)體創(chuàng)傷,能夠自動消除儀表自身系統(tǒng)的誤差,測量精度高,通常在體外,尤其是在體表間接測量人體的生理和生化參數(shù)。
其中光電式脈搏傳感器是根據(jù)光電容積法制成的脈搏傳感器,通過對手指末端透光度的監(jiān)測,間接檢測出脈搏信號。具有結(jié)構(gòu)簡單、無損傷、精度高、可重復(fù)使用等優(yōu)點(diǎn)。通過光電式脈搏傳感器所研制的脈搏測量儀已經(jīng)應(yīng)用到臨床醫(yī)學(xué)等各個方面并收到了理想效果。
人體心室周期性的收縮和舒張導(dǎo)致主動脈的收縮和舒張,是血流壓力以波的形式從主動脈根部開始沿著整個動脈系統(tǒng)傳播,這種波成為脈搏波。從脈搏波中提取人體的心理病理信息作為臨床診斷和治療的依據(jù),歷來都受到中外醫(yī)學(xué)界的重視。脈搏波所呈現(xiàn)出的形態(tài)(波形)、強(qiáng)度(波幅)、速率(波速)和節(jié)律(周期)等方面的綜合信息,在很大程度上反映出人體心血管系統(tǒng)中許多生理病理的血流特征,因此對脈搏波采集和處理具有很高的醫(yī)學(xué)價(jià)值和應(yīng)用前景。但人體的生物信號多屬于強(qiáng)噪聲背景下的低頻的弱信號, 脈搏波信號更是低頻微弱的非電生理信號,因此必需經(jīng)過放大和后級濾波以滿足采集的要求。
第二章 總體方案的論證與設(shè)計(jì)
2.1主控模塊的選型和論證
方案一:
采用MSP430系列單片機(jī),該單片機(jī)是TI公司1996年開始推向市場的一種16位超低功耗的混合信號處理器。其內(nèi)部集成了很多模擬電路、數(shù)字電路和微處理器,提供強(qiáng)大的功能。不過該芯片昂貴不適合一般的設(shè)計(jì)開發(fā)[3]。
方案二
采用51系列的單片機(jī),該單片機(jī)是一個高可靠性,超低價(jià),無法解密,高性能的8位單片機(jī),32個IO口,且STC系列的單片機(jī)可以在線編程、調(diào)試,方便地實(shí)現(xiàn)程序的下載與整機(jī)的調(diào)試。
因此選用方案二中的51系列單片機(jī)作為主控芯片。
2.2顯示模塊的選型和論證
方案一:
采用點(diǎn)陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對于顯示文字比較合適,如采用在顯示數(shù)字顯得太浪費(fèi),且價(jià)格也相對較高,所以不用此種作為顯示。
方案二:
采用LED數(shù)碼管動態(tài)掃描,LED數(shù)碼管價(jià)格雖適中,對于顯示數(shù)字也最合適,而且采用動態(tài)掃描法與單片機(jī)連接時,占用單片機(jī)口線少。
所以本設(shè)計(jì)中方案二中的數(shù)碼管顯示屏作為顯示模塊。
2.3傳感器的選型和論證
方案一:
采用壓電傳感器用來提取人的脈搏信號,壓電傳感器是利用某些電介質(zhì)受力后產(chǎn)生的壓電效應(yīng)制成的傳感器。所謂壓電效應(yīng)是指某些電介質(zhì)在受到某一方向的外力作用而發(fā)生形變(包括彎曲和伸縮形變)時,由于內(nèi)部電荷的極化現(xiàn)象,會在其表面產(chǎn)生電荷的現(xiàn)象。通過此現(xiàn)象可以提取出人的脈搏信號。
方案二:
采用光電傳感器提取人體脈搏信號,授予手指組織可以分成皮膚、肌肉、骨骼等非血液組織和血液組織,其中非血液組織的光吸收量是恒定的,而在血液中,靜脈血的搏動相對動脈血是十分微弱的,可以忽略,因此可以認(rèn)為光透過手指后的變化僅由動脈血的充盈而引起,那么在恒定波長的光源的照射下,通過檢測透過手指的光強(qiáng)將可以間接測量到人體的脈搏信號[4]。
由于光電傳感器較壓電傳感器容易在一般的地方可以買得到,因此這里選用光電傳感器來提取人體脈搏信號。
2.5系統(tǒng)整體設(shè)計(jì)概述
系統(tǒng)總體設(shè)計(jì)由STC89C52、按鍵、數(shù)碼管、光電傳感器、時鐘模塊、運(yùn)放等構(gòu)成,如圖2.1所示,系統(tǒng)設(shè)有四個按鍵,可以設(shè)置上下限脈搏數(shù),當(dāng)超過范圍的時候單片機(jī)會驅(qū)動蜂鳴器發(fā)響,脈搏測量的時候需要人把手輕輕的按在光電傳感器上面,由于人脈搏跳動的時候,血液的透光性不一樣會導(dǎo)致接收器那邊接收的信號強(qiáng)弱不一樣,間接的把人脈搏信號傳回,通過運(yùn)放對其進(jìn)行放大、整形后連接到單片機(jī)的IO口,單片機(jī)利用外部中斷對其進(jìn)行計(jì)數(shù),最終換算成人一分鐘脈搏的跳動次數(shù),最終顯示在數(shù)碼管上。
第三章 系統(tǒng)硬件電路設(shè)計(jì)
3.1主控模塊
主控模塊模塊在整個系統(tǒng)中起著統(tǒng)籌的作用,需要檢測鍵盤等各種參數(shù),同時驅(qū)動數(shù)碼管顯示相關(guān)參數(shù),在這里我們選用了51系列單片機(jī)中的STC89C52單片機(jī)作為系統(tǒng)的主控芯片。
51系列單片機(jī)最初是由Intel 公司開發(fā)設(shè)計(jì)的,但后來Intel 公司把51 核的設(shè)計(jì)方案賣給了幾家大的電子設(shè)計(jì)生產(chǎn)商,譬如SST、Philip、Atmel 等大公司。因此市面上出現(xiàn)了各式各樣的均以51 為內(nèi)核的單片機(jī)[6]。這些各大電子生產(chǎn)商推出的單片機(jī)都兼容51 指令、并在51 的基礎(chǔ)上擴(kuò)展一些功能而內(nèi)部結(jié)構(gòu)是與51一致的。
STC89C52有40個引腳,4個8位并行I/O口,1個全雙工異步串行口,同時內(nèi)含5個中斷源,2個優(yōu)先級,2個16位定時/計(jì)數(shù)器。STC89C52的存儲器系統(tǒng)由4K的程序存儲器(掩膜ROM),和128B的數(shù)據(jù)存儲器(RAM)組成。
STC89C52單片機(jī)的基本組成框圖見圖3.1所示。
圖3.1 STC89C52單片機(jī)結(jié)構(gòu)圖
3.1.1 STC89C52單片機(jī)主要特性
1. 一個8 位的微處理器(CPU)。
2. 片內(nèi)數(shù)據(jù)存儲器RAM(128B),用以存放可以讀/寫的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù)等,SST89 系列單片機(jī)最多提供1K 的RAM。
3. 片內(nèi)程序存儲器ROM(4KB),用以存放程序、一些原始數(shù)據(jù)和表格。但也有一些單片機(jī)內(nèi)部不帶ROM/EPROM,如8031,8032,80C31等。目前單片機(jī)的發(fā)展趨勢是將RAM 和ROM 都集成在單片機(jī)里面,這樣既方便了用戶進(jìn)行設(shè)計(jì)又提高了系統(tǒng)的抗干擾性。SST 公司推出的89系列單片機(jī)分別集成了16K、32K、64K Flash 存儲器,可供用戶根據(jù)需要選用。
4. 四個8 位并行I/O 接口P0~P3,每個口既可以用作輸入,也可以用作輸出。
5. 兩個定時器/計(jì)數(shù)器,每個定時器/計(jì)數(shù)器都可以設(shè)置成計(jì)數(shù)方式,用以對外部事件進(jìn)行計(jì)數(shù),也可以設(shè)置成定時方式,并可以根據(jù)計(jì)數(shù)或定時的結(jié)果實(shí)現(xiàn)計(jì)算機(jī)控制。為方便設(shè)計(jì)串行通信,目前的52 系列單片機(jī)都會提供3 個16 位定時器/計(jì)數(shù)器。
6. 五個中斷源的中斷控制系統(tǒng)。現(xiàn)在新推出的單片機(jī)都不只5 個中斷源,例如SST89E58RD 就有9 個中斷源。
7. 一個全雙工UART(通用異步接收發(fā)送器)的串行I/O 口,用于實(shí)現(xiàn)單片機(jī)之間或單機(jī)與微機(jī)之間的串行通信。
8. 片內(nèi)振蕩器和時鐘產(chǎn)生電路,但石英晶體和微調(diào)電容需要外接。最高允許振蕩頻率為12MHz。SST89V58RD 最高允許振蕩頻率達(dá)40MHz,因而大大的提高了指令的執(zhí)行速度。
圖3.2 STC89C52單片機(jī)管腳圖
STC89C52單片機(jī)管腳如圖3.2所示,部分引腳說明:
1.時鐘電路引腳XTAL1 和XTAL2:
XTAL2(18 腳):接外部晶體和微調(diào)電容的一端;片內(nèi)它是振蕩電路反相放大器的輸出端,振蕩電路的頻率就是晶體固有頻率。若需采用外部時鐘電路時,該引腳輸入外部時鐘脈沖。
要檢查振蕩電路是否正常工作,可用示波器查看XTAL2 端是否有脈沖信號輸出。
XTAL1(19 腳):接外部晶體和微調(diào)電容的另一端;在片內(nèi)它是振蕩電路反相放大器的輸入端。在采用外部時鐘時,該引腳必須接地[7]。
2.控制信號引腳RST,ALE,PSEN 和EA:
RST/VPD(9 腳):RST 是復(fù)位信號輸入端,高電平有效。當(dāng)此輸入端保持備用電源的輸入端。當(dāng)主電源Vcc 發(fā)生故障,降低到低電平規(guī)定值時,將+5V 電源自動兩個機(jī)器周期(24個時鐘振蕩周期)的高電平時,就可以完成復(fù)位操作。RST 引腳的第二功能是VPD,即接入RST 端,為RAM 提供備用電源,以保證存儲在RAM 中的信息不丟失,從而合復(fù)位后能繼續(xù)正常運(yùn)行。
ALE/PROG(30 腳):地址鎖存允許信號端。當(dāng)8051 上電正常工作后,ALE 引腳不斷向外輸出正脈沖信號,此頻率為振蕩器頻率fOSC 的1/6。CPU 訪問片外存儲器時,ALE 輸出信號作為鎖存低8 位地址的控制信號。
平時不訪問片外存儲器時,ALE 端也以振蕩頻率的1/6 固定輸出正脈沖,因而ALE 信號可以用作對外輸出時鐘或定時信號。如果想確定8051/8031 芯片的好壞,可用示波器查看ALE端是否有脈沖信號輸出。如有脈沖信號輸出,則8051/8031 基本上是好的。
ALE 端的負(fù)載驅(qū)動能力為8 個LS 型TTL(低功耗甚高速TTL)負(fù)載。
此引腳的第二功能PROG 在對片內(nèi)帶有4KB EPROM 的8751 編程寫入(固化程序)時,作為編程脈沖輸入端。
PSEN(29 腳):程序存儲允許輸出信號端。在訪問片外程序存儲器時,此端定時輸出負(fù)脈沖作為讀片外存儲器的選通信號。此引肢接EPROM 的OE 端(見后面幾章任何一個小系統(tǒng)硬件圖)。PSEN 端有效,即允許讀出EPROM/ROM 中的指令碼。PSEN 端同樣可驅(qū)動8 個LS 型TTL 負(fù)載。要檢查一個8051/8031 小系統(tǒng)上電后CPU 能否正常到EPROM/ROM 中讀取指令碼,也可用示波器看PSEN 端有無脈沖輸出。如有則說明基本上工作正常。
EA/Vpp(31 腳):外部程序存儲器地址允許輸入端/固化編程電壓輸入端。當(dāng)EA 引腳接高電平時,CPU只訪問片內(nèi)EPROM/ROM并執(zhí)行內(nèi)部程序存儲器中的指令,但當(dāng)PC(程序計(jì)數(shù)器)的值超過0FFFH(對8751/8051 為4K)時,將自動轉(zhuǎn)去執(zhí)行片外程序存儲器內(nèi)的程序。當(dāng)輸入信號EA 引腳接低電平(接地)時,CPU 只訪問外部EPROM/ROM 并執(zhí)行外部程序存儲器中的指令,而不管是否有片內(nèi)程序存儲器。對于無片內(nèi)ROM 的8031 或8032,需外擴(kuò)EPROM,此時必須將EA 引腳接地。此引腳的第二功能是Vpp 是對8751 片內(nèi)EPROM固化編程時,作為施加較高編程電壓(一般12V~21V)的輸入端[8]。
3.輸入/輸出端口P0/P1/P2/P3:
P0口(P0.0~P0.7,39~32 腳):P0口是一個漏極開路的8 位準(zhǔn)雙向I/O口。作為漏極開路的輸出端口,每位能驅(qū)動8 個LS 型TTL 負(fù)載。當(dāng)P0 口作為輸入口使用時,應(yīng)先向口鎖存器(地址80H)寫入全1,此時P0 口的全部引腳浮空,可作為高阻抗輸入。作輸入口使用時要先寫1,這就是準(zhǔn)雙向口的含義。在CPU 訪問片外存儲器時,P0口分時提供低8 位地址和8 位數(shù)據(jù)的復(fù)用總線。在此期間,P0口內(nèi)部上拉電阻有效。
P1口(P1.0~P1.7,1~8 腳):P1口是一個帶內(nèi)部上拉電阻的8 位準(zhǔn)雙向I/O口。P1口每位能驅(qū)動4 個LS 型TTL 負(fù)載。在P1口作為輸入口使用時,應(yīng)先向P1口鎖存地址(90H)寫入全1,此時P1口引腳由內(nèi)部上拉電阻拉成高電平。
P2口(P2.0~P2.7,21~28 腳):P2口是一個帶內(nèi)部上拉電阻的8 位準(zhǔn)雙向I/O口。P口每位能驅(qū)動4個LS 型TTL 負(fù)載。在訪問片外EPROM/RAM 時,它輸出高8 位地址。
P3口(P3.0~P3.7,10~17 腳):P3口是一個帶內(nèi)部上拉電阻的8 位準(zhǔn)雙向I/O口。P3口每位能驅(qū)動4個LS型TTL負(fù)載。P3口與其它I/O 端口有很大的區(qū)別,它的每個引腳都有第二功能,如下:
P3.0:(RXD)串行數(shù)據(jù)接收。
P3.1:(RXD)串行數(shù)據(jù)發(fā)送。
P3.2:(INT0#)外部中斷0輸入。
P3.3:(INT1#)外部中斷1輸入。
P3.4:(T0)定時/計(jì)數(shù)器0的外部計(jì)數(shù)輸入。
P3.5:(T1)定時/計(jì)數(shù)器1的外部計(jì)數(shù)輸入。
P3.6:(WR#)外部數(shù)據(jù)存儲器寫選通。
P3.7:(RD#)外部數(shù)據(jù)存儲器讀選通。
3.1.2 STC89C52單片機(jī)的中斷系統(tǒng)
STC89C52系列單片機(jī)的中斷系統(tǒng)有5個中斷源,2個優(yōu)先級,可以實(shí)現(xiàn)二級中斷服務(wù)嵌套。由片內(nèi)特殊功能寄存器中的中斷允許寄存器IE控制CPU是否響應(yīng)中斷請求;由中斷優(yōu)先級寄存器IP安排各中斷源的優(yōu)先級;同一優(yōu)先級內(nèi)各中斷同時提出中斷請求時,由內(nèi)部的查詢邏輯確定其響應(yīng)次序。
在單片機(jī)應(yīng)用系統(tǒng)中,常常會有定時控制需求,如定時輸出、定時檢測、定時掃描等;也經(jīng)常要對外部事件進(jìn)行計(jì)數(shù)。STC89C52單片機(jī)內(nèi)集成有兩個可編程的定時/計(jì)數(shù)器:T0和T1,它們既可以工作于定時模式,也可以工作于外部事件計(jì)數(shù)模式,此外,T1還可以作為串行口的波特率發(fā)生器[9]。
3.1.3單片機(jī)最小系統(tǒng)設(shè)計(jì)
圖3.3 單片機(jī)最小系統(tǒng)電路圖
圖3.3為單片機(jī)最小系統(tǒng)電路圖,單片機(jī)最小系統(tǒng)有單片機(jī)、時鐘電路、復(fù)位電路組成,時鐘電路選用了12MHZ的晶振提供時鐘,作用為給單片機(jī)提供一個時間基準(zhǔn),其中執(zhí)行一條基本指令需要的時間為一個機(jī)器周期,單片機(jī)的復(fù)位電路,按下復(fù)位按鍵之后可以使單片機(jī)進(jìn)入剛上電的起始狀態(tài)。圖中10K排阻為P0口的上拉電阻,由于P0口跟其他IO結(jié)構(gòu)不一樣為漏極開路的結(jié)構(gòu),因此要加上拉電阻才能正常使用。
3.2顯示模塊電路
顯示采用四位數(shù)碼管顯示,當(dāng)位選打開時,送入相應(yīng)的段碼,則相應(yīng)的數(shù)碼管打開,關(guān)掉位選,打開另一個位選,送入相應(yīng)的段碼,則數(shù)碼管打開,而每次打開關(guān)掉相應(yīng)的位選時,時間間隔低于20ms,從人類視覺的角度上看,就仿佛是全部數(shù)碼管同時顯示的一樣。顯示電路如圖3.5
圖3.5 數(shù)碼管與STC89C52的引腳連接圖
3.3信號采集電路設(shè)計(jì)
此部分電路的功能是由傳感器將脈搏信號轉(zhuǎn)換為電信號,一般為幾十毫伏,必須加以放大,以達(dá)到整形電路所需的電壓,一般為幾伏。放大后的信號波形是不規(guī)則的脈沖信號,因此必須加以濾波整形,整形電路的輸出電壓應(yīng)滿足計(jì)數(shù)器的要求。選擇電路:所選放大整形電路框圖如圖3.8所示。
圖3.8 放大整形電路框圖
3.4.1傳感器簡介
傳感器采用了紅外光電轉(zhuǎn)換器,作用是通過紅外光照射人的手指的血脈流動情況,把脈搏跳動轉(zhuǎn)換為電信號,其原理電路如圖3.9所示。
圖3.9 傳感器信號調(diào)節(jié)原理電路
如圖3.9中,紅外管VD采用ST188。用+5V電源供電,R1取150Ω,R2取33kΩ,當(dāng)人把手指放在發(fā)光二極管和光電二極管之間的時候,光電二極管接收到的信號會隨人脈搏強(qiáng)度的變化而變化[11]。
3.4.2濾波電路
圖3.10 放大濾波電路
圖3.10為脈搏計(jì)的放大濾波信號,由于脈搏信號輸出的信號十分微弱,一般在uV級別,除此外輸出的信號一般會伴隨很大的噪聲干擾,因此在這里用LM358搭建起一個放大和濾波電路。
3.4.3放大整形電路
經(jīng)過放大濾波后的脈搏信號仍是不規(guī)則的脈沖信號,且有低頻干擾,仍不滿足計(jì)數(shù)器的要求,必須采用整形電路,這里選用了滯回電壓比較器,如圖3.11所示,其目的是為了提高抗干擾能力。集成運(yùn)放采用了LM358,除此外LM358還接上了一個LED用作指示脈搏跳動的狀態(tài)。
圖3.11波形整形電路
第四章 系統(tǒng)軟件設(shè)計(jì)
4.1系統(tǒng)軟件總體設(shè)計(jì)
圖4.1系統(tǒng)流程圖
主程序流程圖如圖4.1所示,單片機(jī)上電后先進(jìn)行初始化,清楚一些參數(shù)的初值,然后等待用戶按下對應(yīng)的按鍵并進(jìn)入對應(yīng)的功能,當(dāng)用戶按下測量按鍵的時候流程如圖4.1(c)所示,單片機(jī)通過定時5s測量人體的脈搏次數(shù)流程如圖4.1(b)所示,然后再換算出對應(yīng)的真實(shí)的脈搏次數(shù)再在液晶屏幕上顯示流程如圖4.1(a)所示,當(dāng)用戶按下設(shè)置脈搏范圍設(shè)定按鍵后,單片機(jī)根據(jù)用戶按下的按鍵進(jìn)行增加或減少范圍。
首先先調(diào)用液晶自定義的字庫,設(shè)置好DDRAM地址后在第一行顯示,根據(jù)程序中的數(shù)據(jù)設(shè)置顯示數(shù)據(jù)的首地址并設(shè)置循環(huán)量,在循環(huán)過程中不斷的取字符代碼直到終止,第二行的顯示過程同一行的顯示過程一樣,兩行顯示完畢后便結(jié)束子程序,如圖4.2所示[15]。
圖4.2 數(shù)碼管初始化子函數(shù)流程圖
4.2程序設(shè)計(jì)原理
軟件任務(wù)分析和硬件電路設(shè)計(jì)結(jié)合進(jìn)行,哪些功能由硬件完成,哪些任務(wù)由軟件完成,在硬件電路設(shè)計(jì)基本定型后,也就基本上決定下來了。
軟件任務(wù)分析環(huán)節(jié)是為軟件設(shè)計(jì)做一個總體規(guī)劃。從軟件的功能來看可分為兩大類:一類是執(zhí)行軟件,它能完成各種實(shí)質(zhì)性的功能,如測量,計(jì)算,顯示,打印,輸出控制和通信等,另一類是監(jiān)控軟件,它是專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度角色的軟件。這兩類軟件的設(shè)計(jì)方法各有特色,執(zhí)行軟件的設(shè)計(jì)偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。
軟件任務(wù)分析時,應(yīng)將各執(zhí)行模塊一一列出,并為每一個執(zhí)行模塊進(jìn)行功能定義和接口定義(輸入輸出定義)。在各執(zhí)行模塊進(jìn)行定義時,將要牽扯到的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型問題也一并規(guī)劃好。
各執(zhí)行模塊規(guī)劃好后,就可以監(jiān)控程序了。首先根據(jù)系統(tǒng)功能和鍵盤設(shè)置選擇一種最適合的監(jiān)控程序結(jié)構(gòu)。相對來講,執(zhí)行模塊任務(wù)明確單純,比較容易編程,而監(jiān)控程序較易出問題。這如同當(dāng)一名操作工人比較容易,而當(dāng)一個廠長就比較難了。
軟件任務(wù)分析的另一個內(nèi)容是如何安排監(jiān)控軟件和各執(zhí)行模塊。整個系統(tǒng)軟件可分為后臺程序(背景程序)和前臺程序。后臺程序指主程序及其調(diào)用的子程序,這類程序?qū)?shí)時性要求不是太高,延誤幾十ms甚至幾百ms也沒關(guān)系,故通常將監(jiān)控程序(鍵盤解釋程序),顯示程序和打印程序等與操作者打交道的程序放在后臺程序中執(zhí)行;而前臺程序安排一些實(shí)時性要求較高的內(nèi)容,如定時系統(tǒng)和外部中斷(如掉電中斷)。也可以將全部程序均安排在前臺,后臺程序?yàn)椤笆瓜到y(tǒng)進(jìn)入睡眠狀態(tài)”,以利于系統(tǒng)節(jié)電和抗干擾。
第五章 系統(tǒng)調(diào)試
5.1軟件調(diào)試
基于單片機(jī)的脈搏計(jì)系統(tǒng)是多功能的數(shù)字型設(shè)計(jì),,所以對于它的程序也較為復(fù)雜,所以在編寫程序和調(diào)試時出現(xiàn)了相對較多的問題。最后經(jīng)過多次的模塊子程序的修改,一步一步的完成,最終解決了軟件。在軟件的調(diào)試過程中主要遇到的問題如下:
問題1:燒入程序后,數(shù)碼管顯示閃動,而且亮度不均勻。
解決:首先對調(diào)用的延時進(jìn)行逐漸修改,可以解決顯示閃動問題。其次,由于本作品使作動態(tài)掃描方式顯示的數(shù)字,動態(tài)掃描很快,人的肉眼是無法看出,但是調(diào)用的顯示程序時,如果不在反回時屏蔽掉最后的附值,則會出現(xiàn)很亮的現(xiàn)象,所以在顯示的后面加了屏蔽子令,最后解決了此問題。
問題2:當(dāng)用戶按下按鍵的時候,單片機(jī)讀取的數(shù)值跟設(shè)定的數(shù)值不對。
解決:重新檢查矩陣鍵盤電路的連接,重新建立一個新的對應(yīng)關(guān)系。
5.2硬件調(diào)試
基于單片機(jī)的脈搏計(jì)系統(tǒng)的電路較大,對于焊接方面更是不可輕視,龐大的電路系統(tǒng)中只要出于一處的錯誤,則會對檢測造成很大的不便,而且電路的交線較多,對于各種鋒利的引腳要注意處理,否則會刺破帶有包皮的導(dǎo)線,則會對電路造成短路現(xiàn)象[14]。
在本脈搏計(jì)的設(shè)計(jì)調(diào)試中遇到了很多的問題;叵脒@些問題只要認(rèn)真多思考都是可以避免的,以下為主要的問題:
問題1:最開始的時候以為單片機(jī)IO口直接可以驅(qū)動蜂鳴器發(fā)聲,后來調(diào)試的時候久久不能出聲音(見附錄C)。
解決:經(jīng)過查找相關(guān)資料,知道揚(yáng)聲器需要三極管來驅(qū)動,后來把三極管放大器加上系統(tǒng)便可以正常工作。
問題2:開始的時候由于沒想到脈搏信號十分微弱大概在uV級別,因此沒有放大足夠的倍數(shù),單片機(jī)最后沒有檢測到脈搏的信號(見附錄C)。
解決:經(jīng)過查找相關(guān)資料,確定脈搏信號的幅值范圍后,增加放大器的放大倍數(shù)就解決問題。
5.3調(diào)試結(jié)果
1.放大倍數(shù)的增加
傳感器的輸出端經(jīng)示波器觀察有幅度很小的正弦波,但經(jīng)整形輸出后檢測到的脈沖還是很弱,在確定電路沒有問題的情況下,加強(qiáng)信號的放大倍數(shù),調(diào)整電阻R23和R27的阻值。
2.時鐘的調(diào)試
根據(jù)晶體振蕩頻率計(jì)算出內(nèi)部定時器的基本參數(shù),通過運(yùn)行一段時間可通過秒表來校正后,看時間誤差的量,以這個量為依據(jù)改變程序中的內(nèi)部定時器基本參數(shù),就可使時鐘調(diào)準(zhǔn)確。
3.開機(jī)后無顯示
首先檢查交流電源部分,有無交流,若無則可能保險(xiǎn)管或變壓器燒壞,如有繼續(xù)查直流有無,如無則電源已燒壞,可更換解決。
4.顯示正常但經(jīng)適當(dāng)運(yùn)動后測量,脈搏次數(shù)沒有增加
可能是前置放大級有問題,可采用更換的辦法判斷并排除。
5.進(jìn)人測量狀態(tài), 但測量值不穩(wěn)定
主要是光電傳感器受到電磁波等干擾,其次是損壞或有虛焊。
6.開機(jī)后顯示不正;虬存I失靈
可查手指擺放的位置或按鍵電路,若無故障則是硬件損壞。
經(jīng)過一系列的問題查找后系統(tǒng)最終能正常工作,并完成所有的功能。
5.4誤差分析
表5.1誤差分析表
注:實(shí)際的脈搏次數(shù)以聽診器測出的脈搏次數(shù)為參考值。
表3.1列出了測量值,但存在誤差,由于傳感器和其他器件本身并非理想線性,實(shí)測數(shù)據(jù)進(jìn)行了線性補(bǔ)償。
由均方差公式得:
=0.59
誤差分析:經(jīng)校準(zhǔn),非線性補(bǔ)償后,誤差以基本達(dá)到要求。
結(jié) 論
通過這次畢業(yè)設(shè)計(jì),我學(xué)到了不少課本上沒有的知識,也鍛煉了自己的動手能力,將以前學(xué)過的零散的知識串到一起。經(jīng)過我長時間的設(shè)計(jì)及調(diào)試,本系統(tǒng)基本能實(shí)現(xiàn)基于單片機(jī)的脈搏計(jì)的所有功能。不足之處有:1.硬件的穩(wěn)定性有待進(jìn)一步提高2.系統(tǒng)人性化還不足。
我的綜合設(shè)計(jì)主要涉及硬件和軟件兩方面的內(nèi)容,通過這些我的硬件和軟件開發(fā)能力都獲得了提高。首先硬件方面,基本了解了電子產(chǎn)品的開發(fā)流程和所要做的工作;菊莆樟薖rotel99SE原理圖的方法,并設(shè)計(jì)了一個單片機(jī)最小系統(tǒng)。通過開發(fā)板的設(shè)計(jì)和硬件搭建的過程,使我對51系單片機(jī)的接口有了更深層次的理解,熟悉了一些單片機(jī)常用的外圍電路引腳和連接方法,如數(shù)碼管,鍵盤等。并且我學(xué)會了分析問題解決問題的能力,加深了對所學(xué)理論知識的理解和運(yùn)用。我的動手能力得到了很大的提高,創(chuàng)新意識得到了鍛煉。
致 謝
在這次課程設(shè)計(jì)的過程中,我的指導(dǎo)老師11111老師給予了我很大的幫助,提供了相關(guān)的資料,對我的課程設(shè)計(jì)作品給予了指導(dǎo)和支持。使我順利圓滿的完成了此次課稱設(shè)計(jì)設(shè)計(jì)。在此,向1111老師表示衷心的感謝!同時,也要感謝學(xué)院提供制板等設(shè)施,使我的設(shè)計(jì)得以順利完成。
古人云:預(yù)則立,不預(yù)則廢。祖先曾經(jīng)教導(dǎo)我們:一年之計(jì)在于春,一日之計(jì)在于晨。作為即將走向社會的我們又何嘗不是如此?一個沒有規(guī)劃的人生,就像一場沒有球門的足球賽,滿場亂踢;一個沒有規(guī)劃的人生,就像一葉在茫茫大海上漫無目標(biāo)的小舟,隨波飄蕩。在我們即將走向社會的時候,我們必須對自己的職業(yè)生涯進(jìn)行規(guī)劃。羅素曾說:選擇職業(yè)就是選擇你自己的將來。因此我們要針對社會需要,結(jié)合自身的情況及早做好相應(yīng)準(zhǔn)備,為我們走向社會打下堅(jiān)實(shí)的基礎(chǔ)。俗話說:磨刀不誤砍柴功。為適應(yīng)社會需要,促進(jìn)自我發(fā)展,我們除了學(xué)好本專業(yè)外,還應(yīng)輔修相關(guān)專業(yè)知識,積極參加社會實(shí)踐活動,培養(yǎng)工作能力,努力提高綜合素質(zhì),同時努力培養(yǎng)特長,形成自身競爭優(yōu)勢。
最后,再次感謝學(xué)院給了我們機(jī)會,以及電子信息與電氣工程學(xué)院的各位老師和許多的朋友、同學(xué)在各個方面給予了我很多的幫助和支持,讓我堅(jiān)持到了最后,謝謝你們!