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