版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于單片機(jī)的便攜式心率測試儀的設(shè)計(jì)摘要心率測量儀在我們的日常生活中已經(jīng)得到了非常廣泛的應(yīng)用。為了提高心率測量儀的簡便性和精確度,本設(shè)計(jì)計(jì)了一種基于51單片機(jī)的心率測量儀。系統(tǒng)以AT89S51單片機(jī)為核心,以紅外發(fā)光二極管和光敏三極管為傳感器,并利用單片機(jī)系統(tǒng)內(nèi)部定時器來計(jì)算時間,由光敏三極管感應(yīng)產(chǎn)生脈沖,單片機(jī)通過對脈沖累加得到脈搏跳動次數(shù),時間由定時器定時而得。系統(tǒng)運(yùn)行中能顯示脈搏次數(shù)和時間,系統(tǒng)停止運(yùn)行時,能夠顯示總的脈搏次數(shù)和時間,在脈搏數(shù)超過設(shè)定上下限時蜂鳴器報警。經(jīng)測試,系統(tǒng)工作正常,到達(dá)設(shè)計(jì)要求。關(guān)鍵詞:心率測量儀;AT89S51單片機(jī);紅外發(fā)光二極管;光敏三極管;蜂鳴器。ABSTRACTHeartratemeasuringinstrumentinourdailyliveshasbeenwidelyused.Inordertoimprovethepulsemeasuringinstrumentissimpleandaccurate,thedesignmethodbasedon51singlechipHeartratemeasuringinstrument.SystembasedontheAT89S51single-chipmicrocomputerasthecore,withtheinfraredemittingdiodeandaphotosensitivetriodesensorthree,andtheuseofMCUinternaltimertocalculatetime,aphotosensitivetriodeinductionpulsethree,singlechipmicrocomputerbasedonpulseaccumulationbypulsenumber,andtimebythetimertimer.Systemcandisplaythepulsefrequencyandduration,thesystemstopsrunning,candisplaythetotalpulsefrequencyandduration,thepulsenumberexceedsthesetupperandlowerlimitalarmbuzzer.Aftertesting,thesystemisworkingproperly,achievesthedesignrequirements.Keywords:Heartratemeasuringinstrument;AT89S51singlechipmicrocomputer;Infraredemittingdiode;Athreetransistor;Buzzer.目錄摘要IABSTRACTII第1章引言31.1概述31.2基于單片機(jī)的心率測試儀的開展與應(yīng)用41.3設(shè)計(jì)說明書內(nèi)容5第2章整體方案分析62.1任務(wù)62.2要求62.3設(shè)計(jì)時要考慮的問題62.3.1環(huán)境光對脈搏傳感器測量的影響62.3.2電磁干擾對脈搏傳感器的影響72.3.3測量過程中運(yùn)動噪聲的影響72.4系統(tǒng)根本方案7脈搏傳感器局部72.4.3顯示局部92.5整體方案9第3章硬件電路設(shè)計(jì)分析113.1控制器113.1.3AT89C51的結(jié)構(gòu)123.2脈搏信號采集15光電傳感器的結(jié)構(gòu)及原理15圖3.2透射式光電傳感器圖153.2.2信號采集電路153.3信號放大163.4波形整形電路173.5單片機(jī)處理電路183.6顯示電路193.6.1LED的綜述203.6.2LED的結(jié)構(gòu)203.6.3LED數(shù)碼管的顯示方法203.7本章總結(jié)21第四章軟件系統(tǒng)224.1主程序流程:224.2定時器中斷程序流程:224.3INT中斷程序流程:234.4顯示程序流程:234.5軟件說明24結(jié)束語24參考文獻(xiàn)26致謝28附錄29附錄Astateflow原理圖29附錄Bsimulink原理圖30附錄CboilerPlantmodelsimulink圖31附錄Dstateflow子狀態(tài)仿真圖32附錄Estateflow的模型查看器34附錄Fstateflow的仿真結(jié)果及生成的源代碼35附錄G英文文獻(xiàn)翻譯42第1章引言1.1概述心腦血管疾病是當(dāng)今全球死亡率最高的疾病,是21世紀(jì)人類健康的頭號殺手。多年來,心率測試儀在心腦血管疾病的研究和診斷方面發(fā)揮出顯著的作用,它記錄的心臟活動時的生物電信號,已稱為臨床診斷的重要依據(jù)。臨床上使用的心電監(jiān)護(hù)儀雖然功能強(qiáng)大,測量精度高,但因?yàn)閮r格高昂,不利于家庭的普及。就算是在醫(yī)院,護(hù)士每天監(jiān)控病人病情而進(jìn)行的心率測試也是用手測。正常人的心率和脈搏跳動的次數(shù)是一樣的,因此可以用測脈搏的方法來測心率。醫(yī)院的護(hù)士每天都要給住院的病人把脈記錄病人每分鐘脈搏數(shù),從而到達(dá)測試心率的目的,他們一般的方法是用手按在病人腕部的動脈上,根據(jù)脈搏的跳動進(jìn)行計(jì)數(shù)。為了節(jié)省時間,一般不會作1分鐘的測量,通常是測量10秒鐘時間內(nèi)心跳的數(shù),再把結(jié)果乘以6即得到每分鐘的心跳數(shù),即使這樣做還是比擬費(fèi)時,而且精度也不高。脈搏波所呈現(xiàn)出來的形態(tài)、強(qiáng)度、速率和節(jié)律等方面的綜合信息,能反映出人體心血管系統(tǒng)中許多生理疾病的血流特征。本系統(tǒng)采用AT89S51單片機(jī)為核心而制作的一種實(shí)用型脈搏測量儀。采用光電脈搏傳感器作為傳感器對人體的脈搏心率警醒數(shù)據(jù)采集。得到的信號送入AT89S51單片機(jī)進(jìn)行處理。單片機(jī)將采集到的脈搏心率在數(shù)碼管上實(shí)時顯示出來,同時還設(shè)置了脈搏測量儀的上下限報警電路。本文首先描述本設(shè)計(jì)的整體思路,然后介紹各個局部設(shè)計(jì)中的細(xì)節(jié)問題,最后提出一些完善本設(shè)計(jì)的改良意見。從脈搏波中提取人體的生理病理信息作為臨床診斷和治療的依據(jù),歷來都受到中外醫(yī)學(xué)界的重視。幾乎世界上所有的民族都用過“摸脈〞作為診斷疾病的手段。脈搏波所呈現(xiàn)出的形態(tài)(波形)、強(qiáng)度(波幅)、速率(波速)和節(jié)律(周期)等方面的綜合信息,在很大程度上反映出人體心血管系統(tǒng)中許多生理病理的血流特征,因此對脈搏波采集和處理具有很高的醫(yī)學(xué)價值和應(yīng)用前景。隨著科技開展的不斷提高,生命科學(xué)和信息科學(xué)的結(jié)合越來越緊密,出現(xiàn)了各種新穎的脈搏測量儀器,特別是電子脈搏儀的出現(xiàn),使脈搏測量變得非常方便。脈診在我國已具有2600多年臨床實(shí)踐,是我國傳統(tǒng)中醫(yī)的精髓,但祖國傳統(tǒng)醫(yī)學(xué)采用“望、聞、問、切〞的手段進(jìn)行病情診斷,受人為的影響因素較大,測量精度不高??萍嫉膭?chuàng)新,脈搏測試不再局限于傳統(tǒng)的人工測試法或聽診器測試法,脈搏測量可利用電子儀器測量出精度更就的數(shù)據(jù)。本文介紹一種用單片機(jī)制作的脈搏測量儀,只要人把手指放在傳感器內(nèi)2秒鐘就可以精確測量出每分鐘脈搏數(shù),測量結(jié)果用三位數(shù)字顯示。本系統(tǒng)以單片機(jī)為核心的便攜式心率測試儀,通過脈搏傳感器采集信號,并經(jīng)過后續(xù)的信號處理電路,最終實(shí)現(xiàn)心率的測量。便攜式心率測試儀攜帶方便并且能準(zhǔn)確快速地測試心率,這是我們在家中就可以測試心率從而能檢測是否患有一些心血管疾病,做到早發(fā)現(xiàn)。他還可以供運(yùn)發(fā)動使用以檢測身體狀態(tài),當(dāng)能護(hù)士使用它可以節(jié)省大量的時間并大大的提高了測試心率的準(zhǔn)確性。1.2基于單片機(jī)的心率測試儀的開展與應(yīng)用人體心室周期性的收縮和舒張導(dǎo)致主動脈的收縮和舒張,是血流壓力以波的形式從主動脈根部開始沿著整個動脈系統(tǒng)傳播,這種波成為脈搏波。從脈搏波中提取人體的心理病理信息作為臨床診斷和治療的依據(jù),歷來都受到中外醫(yī)學(xué)界的重視。脈搏波所呈現(xiàn)出的形態(tài)(波形)、強(qiáng)度(波幅)、速率(波速)和節(jié)律(周期)等方面的綜合信息,在很大程度上反映出人體心血管系統(tǒng)中許多生理病理的血流特征,因此對脈搏波采集和處理具有很高的醫(yī)學(xué)價值和應(yīng)用前景。隨著科學(xué)技術(shù)的開展,脈搏測量技術(shù)也越來越先進(jìn),對脈搏的測量精度也越來越高,國內(nèi)外先后研制了不同類型的脈搏測量儀,而其中關(guān)鍵是對脈搏傳感器的研究。而由于脈搏傳感器的不同,現(xiàn)今市場上的脈搏測試儀的脈率采集主要有三種方法:采用一對紅色發(fā)光二極管實(shí)現(xiàn)、采用反射式的紅外管實(shí)現(xiàn)和采用壓電陶瓷芯片實(shí)現(xiàn)。近年來國內(nèi)外致力于開發(fā)無創(chuàng)非接觸式的傳感器,這類傳感器的重要特征是測量的探測局部不侵入機(jī)體,不造成機(jī)體創(chuàng)傷,能夠自動消除儀表自身系統(tǒng)的誤差,測量精度高,通常在體外,尤其是在體表間接測量人體的生理和生化參數(shù)。本設(shè)計(jì)采用的光電式脈搏傳感器是根據(jù)光電容積法制成的脈搏傳感器。它是采用一對紅色發(fā)光二極管進(jìn)行脈率的采集,而它的測量位置一般是耳垂或手指。通過對手指末端透光度的監(jiān)測,間接檢測出脈搏信號。具有結(jié)構(gòu)簡單、無損傷、精度高、可重復(fù)使用等優(yōu)點(diǎn)。雖然手指上的汗腺較多,指夾常年使用,污染可能會使測量靈敏度下降,但只要注意清理,測量的準(zhǔn)確性還是非常高的;耳脈測量比擬干凈,傳感器使用環(huán)境污染少,容易維護(hù)。但因耳脈較弱,尤其是當(dāng)季節(jié)變化時,所測信號受環(huán)境溫度影響明顯,造成測量結(jié)果不準(zhǔn)確。脈搏測量儀的開展主要向以下幾個趨勢開展:(1)自動測量脈搏并且對所得到的脈搏進(jìn)行自動分析。目前很多脈搏測量儀都具有檢測血氧等其他的功能,但是對這些信號的分析和診斷還需要一些有經(jīng)驗(yàn)的醫(yī)生觀察,進(jìn)行分析后才能確認(rèn)結(jié)果,浪費(fèi)大量的人力,且由人為引入的誤差較大。因此,未來脈搏自動檢測的內(nèi)容將更加詳細(xì),自動分析診斷功能也更強(qiáng)大。(2)數(shù)字化技術(shù)等先進(jìn)技術(shù)的應(yīng)用。隨著數(shù)字科學(xué)技術(shù)的開展,脈搏測量儀集成度將更高,更便于攜帶。數(shù)字信號處理的運(yùn)用將使干擾更小,測量更為準(zhǔn)確?!?〕多功能化越來越明顯目前的脈搏測量儀,一般都具有測試血氧,心電圖等等功能,單純的脈搏測量儀已經(jīng)很少見。隨著電子技術(shù)的開展,脈搏測量儀必然可以實(shí)現(xiàn)更多的功能。本設(shè)計(jì)所使用的系統(tǒng)利用光電傳感器將脈博轉(zhuǎn)換為電壓信號,經(jīng)過信號調(diào)理后利用AT89S51單片機(jī)進(jìn)行信號采集和處理,在短時間內(nèi),測量出人體一分鐘的脈搏數(shù),并將心率進(jìn)行實(shí)時顯示,便于攜帶。到達(dá)了方便、快速、準(zhǔn)確地測量心率的目的。這樣的脈搏測量系統(tǒng)性能良好,結(jié)構(gòu)簡單,性價比高,輸出顯示穩(wěn)定,比擬適應(yīng)群眾化,適合家庭進(jìn)行自我檢查以及醫(yī)院護(hù)士進(jìn)行每日的臨床記錄。1.3設(shè)計(jì)說明書內(nèi)容本設(shè)計(jì)以單片機(jī)為核心,由光電傳感器采集脈搏信號。經(jīng)過前置放大電路、濾波電路、積分和比擬電路后得到與脈搏相關(guān)的脈沖信號。該脈沖信號作為中斷信號交由單片機(jī)進(jìn)行買長周期的計(jì)算。然后得到每分鐘的脈搏搏動次數(shù)〔即心率〕,并在數(shù)碼管上顯示心率。本文的工作是圍繞著光電傳感器檢測脈搏波而單片機(jī)進(jìn)行控制進(jìn)行的。本文的設(shè)計(jì)內(nèi)容安排如下:
第一章為緒論。簡要介紹了心率測試儀的現(xiàn)狀和應(yīng)用,并指出了本文的技術(shù)內(nèi)容,即心率的測試。第二章主要介紹設(shè)計(jì)方案前需注意的一些干擾的問題和方案的比照論證以及最終方案確實(shí)定。第三章是本文的核心。在這里給出了整體的硬件電路設(shè)計(jì)思路,并且對電路的各個局部進(jìn)行分析與解釋。第四章表達(dá)程序的編程方案,給出程序的框架結(jié)構(gòu)圖并對全文進(jìn)行總結(jié),并對以后的設(shè)計(jì)工作進(jìn)行展望。第2章整體方案分析2.1任務(wù)基于單片機(jī)的便攜式心率測試儀的設(shè)計(jì)。本設(shè)計(jì)以單片機(jī)為核心,由光電傳感器采集脈搏信號。經(jīng)過前置放大電路、濾波電路、積分和比擬電路后得到與脈搏相關(guān)的脈沖信號。該脈沖信號作為中斷信號交由單片機(jī)進(jìn)行買長周期的計(jì)算。然后得到每分鐘的脈搏搏動次數(shù)〔即心率〕,并在數(shù)碼管上顯示心率,并且在超出設(shè)定的正常脈搏跳動范圍時,驅(qū)動蜂鳴器報警。2.2要求〔1〕通過脈搏傳感器采樣脈搏信號,設(shè)計(jì)脈搏波檢測電路,通過譯碼管來顯數(shù)脈搏次數(shù)。(2)將脈沖波送入單片機(jī),采用單片機(jī)構(gòu)成脈搏波檢測儀,要求實(shí)現(xiàn)脈搏波次數(shù)超出設(shè)定時限時驅(qū)動蜂鳴器報警。2.3設(shè)計(jì)時要考慮的問題2.3.1環(huán)境光對脈搏傳感器測量的影響在光電式脈搏傳感器中,光敏器件接收到的光信號不僅包含脈搏信息的透射光的信號,而且包含測量環(huán)境下的背景光信號,由于動脈波動引起的光強(qiáng)變化比背景光的變化微弱得多,因此在測量過程當(dāng)中要保持測量背景光的恒定,減少背景光的干擾。測量環(huán)境下的背景光包含環(huán)境光和在測量過程中引起的二次反射光。為了減少環(huán)境光對脈搏信號測量的影響,同時考慮到傳感器使用的方便性,采用密封的指套式包裝方式,整個外殼采用不透光的介質(zhì)和顏色,盡量減小外界環(huán)境光的影響,為了防止測量過程中的二次反射光的影響,在指套式傳感器的內(nèi)層外表涂上一層吸光材料,這樣能有效減少二次反射光的干擾。加上指套式外殼后的脈搏傳感器測量到的脈搏波形比擬平滑。這是因?yàn)榧又柑资降拿}搏傳感器中環(huán)境光在測量過程中根本不受外界環(huán)境光的影響,而且能夠有效減少二次反射光,使照射到手指上的光波長單一,所以得到的脈搏信號較為穩(wěn)定,沒有明顯的重疊雜波信號,能夠很好的表達(dá)出脈搏波形的特征。2.3.2電磁干擾對脈搏傳感器的影響通過光電轉(zhuǎn)換得到的包含脈搏信息的電信號一般比擬微弱,容易受到外界電磁信號的干擾,在傳統(tǒng)的光電式脈搏傳感器電路中,由于光敏器件和放大電路是別離的,那么在信號的傳遞過程就很容易受到外界電磁干擾,通常在一級放大電路采用電磁屏蔽的方式來消除電磁干擾。本系統(tǒng)采用了新型的光敏器件,在芯片內(nèi)部集成光敏器和一級放大電路,有效地抑制了外界電磁信號對原始脈搏信號的干擾。工頻干擾是電路中最常見的干擾,脈搏信號變化緩慢,特別容易受到工頻信號的干擾,因此對工頻信號干擾的抑制是保證脈搏信號測量精度的主要措施之一。通常脈搏信號的頻率范圍在0.3-30Hz之間,小于工頻50Hz,因此通過低通濾波器可以有效濾除工頻干擾,這在信號調(diào)理電路中容易實(shí)現(xiàn);同時可以在控制電路中對光源進(jìn)行脈沖調(diào)制,這樣不但能夠降低系統(tǒng)的功耗,而且能夠在一定程度上減小外界的電磁干擾,在脈搏信號數(shù)據(jù)采集后,可以通過數(shù)據(jù)處理法方法進(jìn)一步濾除工頻信號的干擾。2.3.3測量過程中運(yùn)動噪聲的影響測量過程當(dāng)中,通常情況下手指和光電式脈搏傳感器可能產(chǎn)生相對的運(yùn)動,這樣對脈搏測量產(chǎn)生誤差,可以通過2個方面減少運(yùn)動噪聲誤差:一是改善指套式傳感器的機(jī)械抗運(yùn)動性,比方說使指套能夠更緊的套在手指上,不易松動;二是從脈搏信號處理的角度,通過算法來減小誤差。對于傳感器的設(shè)計(jì),現(xiàn)在采用的主要是第一個途徑。2.4系統(tǒng)根本方案根據(jù)題目的要求系統(tǒng)模塊可以根本劃分為:脈搏傳感器局部、單片機(jī)處理電路局部、顯示電路局部和報警電路。為實(shí)現(xiàn)各模塊的功能,分別做了幾種不同的設(shè)計(jì)方案病進(jìn)行了論證。2.4.1脈搏傳感器局部傳感器又稱為換能器、變換器等。脈搏傳感器是脈搏檢測系統(tǒng)中重要的組成局部。光電式傳感器血液是高度不透明的液體,光照在一般組織中的穿透性要比血液中大幾十倍,據(jù)此特點(diǎn),采用光電效應(yīng)手指脈搏傳感器來拾取脈搏信號。反向偏壓的光敏二極管,它的反向電流具有隨光照強(qiáng)度增加而增加的光電效應(yīng)特性,在一定光強(qiáng)范圍內(nèi),光敏二極管的反向電流與光強(qiáng)呈線性關(guān)系。指端血管的容積和透光度隨心搏改變時,將使光電三極管極管收到不同的光強(qiáng),并由此產(chǎn)生的光電流均隨之作相應(yīng)變化。常用檢測脈搏的光電傳感器分為紅外對管和紅外放射管。采用紅外對管。將對管夾于手指端部,通過手指的血液濃度會隨著心臟的跳動發(fā)生變化,紅外對管對應(yīng)的信號便會發(fā)生相應(yīng)的變化,采集此信號經(jīng)過放大,濾波,比擬等處理便可以得到理想的信號。。采用反射式的紅外管?,F(xiàn)在市場上的心率計(jì)普遍采用這種傳感器來采集信號,因?yàn)榇思t外管接收和發(fā)射都在手指的同一側(cè),因此便不用考慮每個人手指情況不同所造成的麻煩。接收的是血液漫反射回來的光,此信號可以精確地測得血管內(nèi)容積變化。壓電式傳感器目前常用的是一次性心電電極,它是用印刷方法制得的Ag/Agcl傳感器。這種傳感器采用接扣與敏感區(qū)別離的方法,能明顯的減少由于人體運(yùn)動產(chǎn)生的干擾。電極的好壞對采集到的心電信號質(zhì)量起著至關(guān)重要的作用,采用的電極應(yīng)有貼力強(qiáng),能緊附在人體外表,柔軟、吸汗、極化電壓低、導(dǎo)電性良好等特點(diǎn)。中選用電極傳感器時,需要3個電極分別置于左右手和左腿,構(gòu)成標(biāo)準(zhǔn)導(dǎo)聯(lián)。臨床上為了統(tǒng)一和便于比擬所獲得的脈搏信號,在檢測脈搏信號時,對電極的位置,引線與放大器的連接方式都有嚴(yán)格的統(tǒng)一規(guī)定。目前市場上有一種采用新型高分子壓電材料聚偏氟乙烯研制的壓電傳感器,其靈敏度高,頻帶范圍好,結(jié)構(gòu)簡單,便于使用。當(dāng)手指前端受到輕微的壓力時,可以感覺到手指前端在血壓的作用下有一張一弛的感覺,將這個信號用傳感器提取出來,轉(zhuǎn)變?yōu)殡娦盘?,通過指脈的波形檢測,就可以獲得人體的脈搏信號。集成傳感器當(dāng)前,市面上有很多類型的集成心電傳感器,其靈敏度高,集成度高,直接就可以反映出心率的變化,且已包含了濾波等抗干擾電路,波形經(jīng)過放大可以直接處理使用。缺點(diǎn)是價格非常昂貴,一般均在五百元以上,就本次設(shè)計(jì)來說,考慮到經(jīng)費(fèi)以及鍛煉自己的目的,不選擇使用該型傳感器?!?〕三種方案的優(yōu)缺點(diǎn)比擬1〕光電式優(yōu)點(diǎn):靈敏度高,易于操作,響應(yīng)速度快,結(jié)構(gòu)簡單。缺點(diǎn):外部光源的變化對測量結(jié)果的影響較大;2〕壓電式優(yōu)點(diǎn):結(jié)構(gòu)簡單,實(shí)時性好,工作頻帶寬,應(yīng)用電路簡單,且價格低廉。缺點(diǎn):直接與人體相接觸,容易因?yàn)槿梭w肌肉的顫抖等而產(chǎn)生干擾。并且容易受到外界其他信號的干擾。3〕集成式優(yōu)點(diǎn):集成度高,包含了濾波,放大電路,可以直接輸出信號,便于操作,有效的減少了各種干擾。缺點(diǎn):降低了本任務(wù)的難度,如果采用該傳感器,只需將其直接接上單片機(jī)即可實(shí)現(xiàn)功能,且價格非常昂貴。考慮到種種情況,結(jié)合本系統(tǒng)的設(shè)計(jì)要求以及經(jīng)費(fèi)的考慮,采用光電式傳感器。單片機(jī)選擇AT89S51是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S51在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。顯示局部根據(jù)題目要求,設(shè)計(jì)出來的系統(tǒng)是可以設(shè)定報警的范圍的。對顯示局部采用以下方案:采用數(shù)碼管。數(shù)碼管具有功耗小、輕薄短小無輻射危險,簡單方便等特點(diǎn)。2.5整體方案檢測的根本原理:隨著心臟的搏動,人體組織半透明度隨之改變。當(dāng)血液送到人體組織時,組織的半透明度減小;當(dāng)血液流回心臟,組織的半透明度增大。這種現(xiàn)象在人體組織較薄的手指尖、耳垂等部位最為明顯。因此,本脈率計(jì)將紅外發(fā)光二極管產(chǎn)生的紅外線照射到人體的上述部位,并用裝在該部位另一側(cè)或旁邊的紅外光電管來檢測機(jī)體組織的透明程度并把它轉(zhuǎn)換成電信號。由于此信號的頻率與人體每分鐘的脈搏次數(shù)成正比,故只要把它轉(zhuǎn)換成脈沖并進(jìn)行整形、計(jì)數(shù)和顯示,就能實(shí)現(xiàn)實(shí)時檢測脈搏次數(shù)的目的。本設(shè)計(jì)的結(jié)構(gòu)如圖2.1所示光電傳感器光電傳感器低通放大器比擬器和振蕩器單片機(jī)AT89C51報警電路數(shù)碼顯示電路圖2.1硬件框圖2.5本章小結(jié)本章主要介紹了常見的用于脈搏檢測的三種傳感器,并對這三種感器的優(yōu)缺點(diǎn)進(jìn)行了比擬。本設(shè)計(jì)采用的單片機(jī)芯片的型號是AT89S52,在本章主要介紹了它的一些特點(diǎn)。最后,給出了最終的設(shè)計(jì)方案和硬件框圖。第3章硬件電路設(shè)計(jì)分析3.1控制器經(jīng)過第2章的表達(dá)已經(jīng)確定了完本錢設(shè)計(jì)所需要的主要元器件,所以本章開始講述基于單片機(jī)的便攜式心率測試儀的設(shè)計(jì)的硬件電路的設(shè)計(jì)。在這里,單片機(jī)要實(shí)現(xiàn)對脈搏信號的處理。為了能夠在不到10s的時間內(nèi),測量出一分鐘的脈搏,可以使用單片機(jī)的定時器來實(shí)現(xiàn)。在檢測到第一個脈沖到達(dá)時,開啟定時器,然后在下一個脈沖到達(dá)時,關(guān)閉計(jì)時器,如此就可以求得一次心跳所需要的時間,然后由該周期就可以得到一分鐘的脈搏數(shù)??紤]到單片機(jī)要實(shí)現(xiàn)以上功能,選擇使用AT89S51來構(gòu)成電路。AT89S51是一個低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4kBytesISP(In-systemprogrammable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISPFlash存儲單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。AT89S51具有如下特點(diǎn):40個引腳,4kBytesFlash片內(nèi)程序存儲器,128bytes的隨機(jī)存取數(shù)據(jù)存儲器〔RAM〕,32個外部雙向輸入/輸出〔I/O〕口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計(jì)數(shù)器,2個全雙工串行通信口,看門狗〔WDT〕電路,片內(nèi)時鐘振蕩器。此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式。空閑模式下,CPU暫停工作,而RAM定時計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。AT89S·兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80S51引腳結(jié)構(gòu)·4k字節(jié)可重擦寫Flash閃速存儲器·128bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM)·32個外部雙向輸入/輸出〔I/O〕口·5個中斷優(yōu)先級、2層中斷嵌套中斷·2個全雙工串行通信口·片內(nèi)振蕩器和時鐘電路·2個16位定時/計(jì)數(shù)器·6個中斷源·看門狗〔WDT〕電路·全靜態(tài)工作:0Hz-33MHz·三級程序存儲器保密鎖定·可編程串行通道·低功耗空閑和掉電模式AT89C51的結(jié)構(gòu)此次設(shè)計(jì)所使用的AT89S51的封裝形式是PDIP。如圖3.1所示。圖3.1DIP管腳圖AT89C51與51系列中各種型號芯片的引腳互相兼容。目前多采用40只引腳雙列直插,如圖3.1所示。引腳按其功能可分為如下3類:①電源及時鐘引腳—-VCC、VSS;XTAL1、XTAL2;②控制引腳—-、、、和;③I/O口引腳——P0、P1、P2、P3,為4個8位I/O口。1.電源引腳·Vcc:5V電壓·GND:接地2.外接晶體引腳·XTAL1:接外部晶體振蕩器的一端。當(dāng)使用芯片內(nèi)部時鐘時,此腳用于外接石英晶體振蕩器和微調(diào)電容;當(dāng)使用外部時鐘時,對于HMOS單片機(jī),此引腳接地;對于CMOS單片機(jī),此引腳作為外部振蕩信號的輸入端?!TAL2:接外部晶體振蕩器的另一端,當(dāng)使用芯片內(nèi)部時鐘時,此腳用于外接石英晶體振蕩器和微調(diào)電容。當(dāng)使用外部時鐘時,對于HMOS單片機(jī),此引腳接外部振蕩源;對于CMOS單片機(jī),此引腳懸空不接。89S51晶體振蕩器頻率可在6MHZ~40MHZ之間選擇,常選6MHz或12MHz的石英晶體。電容的值沒有嚴(yán)格要求,但其取值對振蕩器的頻率輸出的穩(wěn)定性、大小、振蕩電路起振速度稍有影響,C1、C2可在20pF~100pF之間選擇。當(dāng)外接晶體振蕩器時,電容可選30pF±10pF;外接陶瓷振蕩器時,電容可選40pF±10pF。3.控制信號或與其它電源復(fù)用引腳·:復(fù)位端。當(dāng)輸入的復(fù)位信號持續(xù)2個以上機(jī)器周期〔個晶體振蕩周期〕高電平即為有效,用于完成單片機(jī)的復(fù)位初始化操作。正常工作時,此腳電平應(yīng)≤0.5V。在VCC發(fā)生故障、降低到電平規(guī)定值掉電期間,此引腳可接備用電源VPD〔電源范圍5V±0.5V〕,由VPD向內(nèi)部RAM供電,以保持內(nèi)部RAM中的數(shù)據(jù)?!ぃ旱刂锋i存使能。ALE〔AddressLatchEnable〕;PROG〔Program〕為CPU訪問外部程序存儲器或外部數(shù)據(jù)存儲器提供地址鎖存信號,將低8位地址鎖存在片外的地址鎖存器中。引腳第二功能,對片內(nèi)Flash編程,為編程脈沖輸入端?!ぃ骸睵rogrammerSavingENable〕,外部程序存儲器讀選通信號。在讀外部程序存儲器時有效〔低電平〕,以實(shí)現(xiàn)外部程序存儲器單元的讀操作。在訪問外部數(shù)據(jù)存儲器、訪問內(nèi)部程序存儲器時無效?!ぃ骸睧nableAddress/VoltagePulseofProgramming〕,訪問程序存儲控制信號。當(dāng)=“0〞時,表示讀外部程序存儲器。只讀取外部的程序存儲器中的內(nèi)容,讀取的地址范圍為0000H~FFFFH〔64KB〕,片內(nèi)的4KBFlash程序存儲器不起作用。當(dāng)=“1〞時,表示對程序存儲器的讀操作是從內(nèi)部程序存儲器開始,并可延至外部程序存儲器。在PC值不超出0FFFH〔即不超出片內(nèi)4KBFlash存儲器的地址范圍〕時,單片機(jī)讀片內(nèi)程序存儲器〔4KB〕中的程序,但當(dāng)PC值超出0FFFH〔即超出片內(nèi)4KBFlash地址范圍〕時,將自動轉(zhuǎn)向讀取片外60KB〔1000H-FFFFH〕程序存儲器空間中的程序。對于EPROM〔或FLASH〕型單片機(jī),在EPROM編程期間,此引腳需加12.75V或21V的編程電壓。3.I/O口引腳·P0口:P0口是一組8位漏極開路型雙向I/0口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8個TTL邏輯門電路,對端口寫“1”可作為高阻抗轉(zhuǎn)入端用?!l口:P1是—個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1〞,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電萌。·P2口:P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動〔吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1〞,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。·P3口::①可以作為輸入/輸出口,外接輸入/輸出設(shè)備。②作為第二功能使用,每一位功能定義如表3.1所示。表3.13.2脈搏信號采集目前脈搏波檢測系統(tǒng)有以下幾種檢測方法:光電容積脈搏波法、液體耦合腔脈搏傳感器、壓阻式脈搏傳感器以及應(yīng)變式脈搏傳感器。光電傳感器的結(jié)構(gòu)及原理近年來,光電檢測技術(shù)在臨床醫(yī)學(xué)應(yīng)用中開展很快,這主要是由于光能避開強(qiáng)烈的電磁干擾,具有很高的絕緣性,且可非侵入地檢測病人各種病癥信息。用光電法提取指尖脈搏光信息受到了從事生物醫(yī)學(xué)儀器工作的專家和學(xué)者的重視。本系統(tǒng)設(shè)計(jì)了指套式的透射型光電傳感器,實(shí)現(xiàn)了光電隔離,減少了對后級模擬電路的干擾,結(jié)構(gòu)如圖2所示。圖3.2透射式光電傳感器圖傳感器由發(fā)光二級管和光敏二極管組成,其工作原理是:發(fā)光二極管發(fā)出的光透射過手指,經(jīng)過手指組織的血液吸收和衰減,由光敏二極管接收。由于手指動脈血在血液循環(huán)過程中呈周期性的脈動變化,所以它對光的吸收和衰減也是周期性脈動的,于是光敏二極管輸出信號的變化也就反映了動脈血的脈動變化。3.2.2信號采集電路圖3.3是脈搏信號的采集電路,U3是紅外發(fā)射和接收裝置,由于紅外發(fā)射二極管中的電流越大,發(fā)射角度越小,產(chǎn)生的發(fā)射強(qiáng)度就越大,所以對R21阻值的選取要求較高。R21選擇270Ω同時也是基于紅外接收三極管感應(yīng)紅外光靈敏度考慮的。R21過大,通過紅外發(fā)射二極管的電流偏小,紅外接收三極管無法區(qū)別有脈搏和無脈搏時的信號。反之,R21過小,通過的電流偏大,紅外接收三極管也不能準(zhǔn)確地區(qū)分有脈搏和無脈搏時的信號。當(dāng)手指離開傳感器或檢測到較強(qiáng)的干擾光線時,輸入端的直流電壓會出現(xiàn)很大變化,為了使它不致泄露到U2B輸入端而造成錯誤指示,用C8、C9串聯(lián)組成的雙極性耦合電容把它隔斷[10]。當(dāng)手指處于測量位置時,會出現(xiàn)二種情況:一是無脈期。雖然手指遮擋了紅外發(fā)射二極管發(fā)射的紅外光,但是由于紅外接收三極管中存在暗電流,會造成輸出電壓略低。二是有脈期。當(dāng)有跳動的脈搏時,血脈使手指透光性變差,紅外接收三極管中的暗電流減小,輸出電壓上升。但該傳感器輸出信號的頻率很低,如當(dāng)脈搏只有為50次/分鐘時,只有0.78Hz,200次/分鐘時也只有3.33Hz,因此信號首先經(jīng)R22、C10濾波以濾除高頻干擾,再由耦合電容C8、C9加到線性放大輸入端。圖3.3信號采集電路3.3信號放大按人體脈搏在運(yùn)動后跳動次數(shù)達(dá)200次/分鐘的計(jì)算來設(shè)計(jì)低通放大器,如圖3.4所示。R23、C6組成低通濾波器以進(jìn)一步濾除殘留的干擾,截止頻率由R23、C6決定,運(yùn)放U2B將信號放大,放大倍數(shù)由R23和R27的比值決定。圖3.4放大電路根據(jù)一階有源濾波電路的傳遞函數(shù),可得:放大倍數(shù)為:截止頻率為:按人體的脈搏跳動為200次/分鐘時的頻率是3.3Hz考慮,低頻特性是令人滿意的。經(jīng)過低通放大后輸出的信號是疊加有噪聲的脈動正弦波。3.4波形整形電路波形整形電路如圖3.5所示,U2C是一個電壓比擬器,C11、R29構(gòu)成一個微分器,U2A和C7、R32組成單穩(wěn)態(tài)多諧振蕩器,其脈寬由C7、R32決定。該比擬器的閥值電壓可用R31調(diào)節(jié)在正弦波的幅值范圍內(nèi),但是對R31的調(diào)節(jié)要求并不嚴(yán)格,因?yàn)閁2C的輸出信號經(jīng)C11、R29的微分后總是將正、負(fù)相間的尖脈沖加到單穩(wěn)態(tài)多諧振蕩器U2A的反向輸入端,不會造成很大的觸發(fā)誤差。當(dāng)有輸入信號時,U2A在比擬器輸入信號的每個后沿到來時輸出高電平,使C7通過R32充電。大約持續(xù)20ms之后,因C7充電電流減小而使U2A同相輸入端的電位降低到低于反相輸入端的電位〔尖脈沖已過去很久〕,于是U2A改變狀態(tài)并再次輸出低電平。這長的脈沖是與脈搏同步的,并由紅色發(fā)光二極管DS3的閃亮指示出來。即發(fā)光二極管作脈搏測量狀態(tài)顯示,脈搏每跳動一次發(fā)光二極管就亮一次。同時,該脈沖電平通過R24送到單片機(jī)/INTO腳,進(jìn)行對心率的計(jì)算和顯示。圖3.5整形電路3.5單片機(jī)處理電路如圖3.8所示,本局部運(yùn)用了ATMEL公司的89C51單片機(jī)作為核心元件,在這里運(yùn)用單片機(jī)能更快更準(zhǔn)確地對數(shù)據(jù)進(jìn)行運(yùn)算,而且可以根據(jù)實(shí)際情況進(jìn)行編程,所用外圍元件少,輕巧省電,故障率低。來自傳感和整形輸出電路的脈沖電平輸入單片機(jī)89C51的/INTO腳,單片機(jī)設(shè)為負(fù)跳變中斷觸發(fā)模式,故每次脈沖下降沿到達(dá)時觸發(fā)單片機(jī)產(chǎn)生中斷并進(jìn)行計(jì)時,來一個脈沖脈搏次數(shù)就加一;定時器中斷主要完成一分鐘的定時功能。單片機(jī)對一分鐘內(nèi)的脈沖次數(shù)進(jìn)行累加,通過P0、P2口把測量過程和結(jié)果送到數(shù)碼管顯示出來。復(fù)位電路:圖3.6復(fù)位電路振蕩電路:圖3.7振蕩電路單片機(jī)處理電路:圖3.8單片機(jī)處理電路3.6顯示電路本設(shè)計(jì)的顯示采用LED數(shù)碼管動態(tài)掃描來顯示。兩個4位的共陽極LED數(shù)碼管組成8位顯示,其中0、1兩位顯示測量中的時間,3、4兩位顯示測量中的脈搏次數(shù),6、7兩位用來顯示上次測量的數(shù)據(jù)。單片機(jī)的P0口控制顯示字型,P2口控制顯示字位。顯示電路如圖3.9。圖3.9顯示電路LED的綜述在單片機(jī)的應(yīng)用系統(tǒng)中,為了便于人們觀察和監(jiān)視單片機(jī)的運(yùn)行情況,常常需要用顯示器顯示運(yùn)行的中間結(jié)果、狀態(tài)等信息,因此顯示器也是不可缺少的外部設(shè)備之一。顯示器的種類很多,從液晶顯示、發(fā)光二極管顯示到CRT顯示器,都可以與微機(jī)配接。在單片機(jī)應(yīng)用系統(tǒng)中常用的顯示器主要有發(fā)光二極管數(shù)碼顯示器,簡稱LED顯示器。LED顯示器具有耗電省、本錢低廉、配置簡單靈活、安裝方便、耐振動、壽命長等優(yōu)點(diǎn)。但顯示內(nèi)容有限,不能顯示圖形,因而其應(yīng)用有局限性。LED的結(jié)構(gòu)LED數(shù)碼管顯示器是由發(fā)光的二極管顯示字段組成的。在單片機(jī)應(yīng)用系統(tǒng)中使用最多的就是七段LED數(shù)碼管,有共陰極和共陽極兩種。七段LED數(shù)碼管顯示器有8個發(fā)光二極管,其中從a~g管腳輸入顯示代碼,可顯示不同的數(shù)字或字符,Dp顯示小數(shù)點(diǎn)。共陰極LED數(shù)碼管顯示器的公共端為發(fā)光二極管陰極,通常接地,當(dāng)發(fā)光二極管的陽極為高電平時,發(fā)光二極管點(diǎn)亮。共陽極的LED數(shù)碼管顯示器的公共端為發(fā)光二極管的陽極,通常接+5V電源,當(dāng)發(fā)光二極管的陰極為低電平時,發(fā)光二極管點(diǎn)亮。LED數(shù)碼管的顯示方法靜態(tài)顯示方式是指當(dāng)顯示器顯示某一字符時,發(fā)光二極管的位選始終被選中。在這種顯示方式下,每一個LED數(shù)碼管顯示器都需要一個8位的輸出口進(jìn)行控制。由于單片機(jī)本身提供的I/O口有限,實(shí)際使用中,通常通過擴(kuò)展I/O口的形式解決輸出口數(shù)量缺乏的問題。靜態(tài)顯示主要的優(yōu)點(diǎn)是顯示穩(wěn)定,在發(fā)光二極管導(dǎo)通電流一定的情況下顯示器的亮度大,系統(tǒng)運(yùn)行過程中,在需要更新顯示內(nèi)容時,CPU才去執(zhí)行顯示更新子程序,這樣既節(jié)約了CPU的時間,又提高了CPU的工作效率。其缺乏之處是占用硬件資源較多,每個LED數(shù)碼管需要獨(dú)占8條輸出線。隨著顯示器位數(shù)的增加,需要的I/O口線也將增加。動態(tài)顯示方式是指一位一位地輪流點(diǎn)亮每位顯示器〔稱為掃描〕,即每個數(shù)碼管的位選被輪流選中,多個數(shù)碼管公用一組段選,段選數(shù)據(jù)僅對位選選中的數(shù)碼管有效。對于每一位顯示器來說,每隔一段時間點(diǎn)亮一次。顯示器的亮度既與導(dǎo)通電流有關(guān),也與點(diǎn)亮?xí)r間和間隔時間的比例有關(guān)。通過調(diào)整電流和時間參數(shù),可以既保證亮度,又保證顯示。假設(shè)顯示器的位數(shù)不大于8位,那么顯示器的公共端只需一個8位I/O口進(jìn)行動態(tài)掃描〔稱為掃描口〕,控制每位顯示器所顯示的字形也需一個8位口〔稱為段碼輸出〕。通過比擬,我們可以發(fā)現(xiàn)LED動態(tài)顯示更加適合本設(shè)計(jì),所以就采用此方法。3.7本章總結(jié)本章是本文的核心。在這里給出了整體的硬件電路設(shè)計(jì)思路,并且對電路的各個局部進(jìn)行分析與解釋。主要介紹了AT89S51單片機(jī)的結(jié)構(gòu)與引腳功能、光電傳感器采集脈搏波原理和LED等的原理。第四章軟件系統(tǒng)硬件電路設(shè)計(jì)完成以后,系統(tǒng)的主要功能將依賴于系統(tǒng)軟件來實(shí)現(xiàn)。系統(tǒng)能否正常可靠地工作,除了硬件的合理設(shè)計(jì)外,與功能完善的軟件設(shè)計(jì)是分不開的。系統(tǒng)軟件分為接收端和控制端兩局部。4.1主程序流程:系統(tǒng)主程序控制單片機(jī)系統(tǒng)按預(yù)定的操作方式運(yùn)行,它是單片機(jī)系統(tǒng)程序的框架。系統(tǒng)上電后,對系統(tǒng)進(jìn)行初始化。初始化程序主要完成對單片機(jī)內(nèi)專用存放器、定時器工作方式及各端口的工作狀態(tài)的設(shè)定。系統(tǒng)初始化之后,進(jìn)行定時器中斷、外部中斷、顯示等工作,不同的外部硬件控制不同的子程序。流程如圖4.1所示。圖4.1主程序流程圖4.2定時器中斷程序流程:定時器中斷效勞程序由一分鐘計(jì)時、按鍵檢測、有無測試信號判斷等局部組成。當(dāng)定時器中斷開始執(zhí)行后,對一分鐘開始計(jì)時,1s計(jì)時到之后繼續(xù)檢測下1s,直到60s到了再停止并保存測得的脈搏次數(shù)。同時可以對按鍵進(jìn)行檢測,只要復(fù)位測試值就可以重新開始測試。主要完成一分鐘的定時功能和保存測得的脈搏次數(shù)。流程如圖4.2所示。圖4.2定時器中斷程序流程4.3INT中斷程序流程:部中斷效勞程序完成對外部信號的測量和計(jì)算。外部中斷采用邊沿觸發(fā)的方式,當(dāng)處于測量狀態(tài)的時候,來一個脈沖脈搏次數(shù)就加一,由單片機(jī)內(nèi)部定時器控制一分鐘,累加得出一分鐘內(nèi)的脈搏次數(shù)。流程如圖4.3所示。圖4.3INT中斷程序流程4.4顯示程序流程:顯示程序包括顯示上次的脈搏次數(shù)、本次測量中的時間和脈搏的次數(shù)。從中斷程序中取得結(jié)果后,先顯示上次的脈搏次數(shù),經(jīng)過10ms的延時后再顯示測試中的脈搏次數(shù),再經(jīng)過10ms的延時顯示測試中的時間。流程如圖4.4所示。圖4.4顯示程序流程圖4.5軟件說明本程序采用C語言,程序的可讀性非常好。程序中對前一次測量的脈搏數(shù)據(jù)進(jìn)行了自動保存,并且用數(shù)碼顯示。程序在執(zhí)行過程假設(shè)發(fā)現(xiàn)有干擾那么忽略該干擾而不顯示,進(jìn)一步減少讀入數(shù)據(jù)的誤差。結(jié)束語單片機(jī)近20年的飛速開展,儼然已成為計(jì)算機(jī)開展和應(yīng)用的一個重要方面。另一方面,單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大局部功能,現(xiàn)在已能用單片機(jī)通過軟件方法來實(shí)現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。而51單片機(jī)作為單片機(jī)的主流,隨著集成技術(shù)的開展,51系列單片機(jī)繼承和開展了MCS-51系列的技術(shù)特色,有逐漸取而代之之勢。本設(shè)計(jì)主要是51單片機(jī)在脈搏測試系統(tǒng)中的應(yīng)用。重點(diǎn)介紹了單片機(jī)的最小系統(tǒng),通過單片機(jī)最小系統(tǒng)實(shí)現(xiàn)了脈搏的測量系統(tǒng),由光電傳感器采集到脈沖信號,經(jīng)過信號的放大、濾波和整形電路將輸出的信號通過單片機(jī)的外部中斷獲取并最終在數(shù)碼管上顯示。利用單片機(jī)自身的定時中斷、外部中斷、計(jì)數(shù)等功能,不僅能顯示出此次脈搏測量的次數(shù),還能自動儲存這個數(shù)據(jù)。在這個過程中,受到了我們老師和同學(xué)的熱切關(guān)注和耐心輔導(dǎo),特別胡文靜老師對我進(jìn)行了系統(tǒng)的講解和指導(dǎo),對設(shè)計(jì)提出了很多建設(shè)性的意見及建議,對我的設(shè)計(jì)起到了指導(dǎo)性和決定性的作用,使我深刻的體會到了良師益友給我?guī)淼膸椭诖吮硎旧钌畹母兄x!感謝胡文靜老師給了我們這個時機(jī)去更深層次的學(xué)習(xí)對于PLC的理解能力和分析設(shè)計(jì)能力,感謝這次畢業(yè)設(shè)計(jì)帶給我的豐收的碩果,感覺系統(tǒng)的總結(jié)了4參考文獻(xiàn)[1]賈秋玲,袁冬莉.基于MATLAB7.x/Simulink/Stateflow系統(tǒng)仿真、分析及設(shè)計(jì)[M].西安:西北工業(yè)大學(xué),2006:176-225.[2]張威.Stateflow邏輯系統(tǒng)建模[M].西安:西安電子科技大學(xué),2007,10:30-41.[3]于浩洋,初紅霞等.MATLAB實(shí)用教材[M].北京:化學(xué)工業(yè)出版社,2023:168-169.[4]王小虎,盧超.基于PID算法的溫度控制系統(tǒng)的設(shè)計(jì)[J].科技信息,2023:36.[5]劉卓輝,張艷霞,沈勇環(huán).自適應(yīng)接地距離繼電器的研究[J].電力系統(tǒng)自動化,2005:21-25..[6]邊新迎.基于MATLAB環(huán)境的實(shí)時仿真研究[J].微計(jì)算機(jī)信息,2006:1-7.[7]聶春燕.MATLAB/SIMULINK在動態(tài)系統(tǒng)仿真中的應(yīng)用[J].長春大學(xué)學(xué)報,2001:2.[8]王華斌,劉和平,劉平,王貴.有限狀態(tài)機(jī)的無刷直流電機(jī)系統(tǒng)仿真分析[J].重慶大學(xué)學(xué)報,2023:11.[9]趙曉陽,陳陽舟.基于MATLAB狀態(tài)流的混雜系統(tǒng)仿真設(shè)計(jì)[J].計(jì)算機(jī)仿真,2005:206-210.[10]王東,鄭建立.運(yùn)動裝置紅外通訊系統(tǒng)的設(shè)計(jì)[J].自動化與儀器儀表.2023,06.[11]鄭志聰.淺談紅外通訊.中國高新技術(shù)企業(yè)[J].2023,11.[12]李倩.紅外遙控器檢測儀[D].蘇州大學(xué),2023.[13]基于RS485的多機(jī)串口通信網(wǎng)絡(luò).安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報.2023,06.[14]余錫存.單片機(jī)原理與接口技術(shù)[M].西安:西安電子科技大學(xué)出版社,2006.[15]張一剛.單片機(jī)原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版2006[16]王國輝.單片機(jī)C語言[M].北京:電子工業(yè)出版社,2007.[17]高桔祥.電子儀器儀表設(shè)計(jì)〔全國大學(xué)生電子設(shè)計(jì)競賽培訓(xùn)系列教程〕[M].北京:電子工業(yè)出版社,2007.[18]劉樂善,歐陽星明,劉學(xué)清.微型計(jì)算機(jī)接口技術(shù)及應(yīng)用[M],武漢:華中科技大學(xué)出版社,2023.[19]翟勇.基于AT89S52的多軟件串口通訊系統(tǒng)[D].天津大學(xué),2007.[20]談樂林.基于FS8610的網(wǎng)絡(luò)串口適配器的設(shè)計(jì)與實(shí)現(xiàn)[D].蘇州大學(xué),2023.[21]葉茂深.紅外遙控接收芯片設(shè)計(jì)[D].貴州大學(xué),2023.[22]李倩.紅外遙控器檢測儀[D].蘇州大學(xué),2023.[23]付家才.單片機(jī)控制工程實(shí)踐技術(shù)[J].北京:化學(xué)工業(yè)出版社,2007.[24]王福瑞.單片機(jī)測控系統(tǒng)設(shè)計(jì)大全.北京:北京航空航天大學(xué)出版社,2023.[25]談樂林.基于FS8610的網(wǎng)絡(luò)串口適配器的設(shè)計(jì)與實(shí)現(xiàn)[D].蘇州大學(xué),2023.[26]吳曉艷.單片機(jī)應(yīng)用系統(tǒng)的故障診斷方法[J].科教視野.2007,〔35〕:579.[27]HolgerKarl,AndreasWilling.無線傳感器網(wǎng)絡(luò)協(xié)議與體系結(jié)構(gòu)[M].邱天爽,唐洪,李婷等譯.北京:電子工業(yè)出版社,2007.[28]葉茂深.紅外遙控接收芯片設(shè)計(jì)[D].貴州大學(xué),2023.[29]徐成,曾祺,魏峰.無線傳感網(wǎng)絡(luò)中通用傳感器節(jié)點(diǎn)硬件結(jié)構(gòu)設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用.2007,43〔8〕:103-159.[30]馮育長.單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)例分析[M].西安:西安電子科技大學(xué)出版社,2007.[31]高桔祥.全國大學(xué)生電子設(shè)計(jì)競賽培訓(xùn)系列教程[M].北京:電子工業(yè)出版社,2007.[32]祝常紅.?dāng)?shù)據(jù)采集與數(shù)據(jù)處理[M].北京:電子工業(yè)出版社,2023.[33]TheMathworks,Inc,StateflowUser’SGuide,2023.[34]TheMathworks,Inc,Real-TimeWorkshopEmbeddedCoderUser’sGuide,2023。[35]HarelDavid.Statecharts.AVisualFormalismforComplexSystems[J].ScienceofComputerProgramming8,2023:231-274.[36]M.L.Abell,J.P.Braselton,MapleVbyExample,AcademicPress2006.[37]J.R.Layne,K.M.Passino.FuzzyModelRefereneeLearningControlforCargoShipSteering[J].IEEEControlSystemsMagazine,2003:13(6):23-34.[38]LiXinWang.UniversalAPProximationbyHierarehiealFuzzySystems[J].FuzzySetsandSystems,1998:93:223-230.[39]A.J.vanderWal.APPlieationofFuzzyLogicControlinIndustry,F(xiàn)uzzySetsAndSystems[J].2023:74:33-41.致謝本論文是在胡文靜老師的悉心指導(dǎo)下完成的。從開始進(jìn)入課題到論文的順利完成,他都始終給予我耐心的指導(dǎo)和不懈的支持。胡文靜老師認(rèn)真的教學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,以及對學(xué)生無微不至的關(guān)愛,都深深地感染和鼓勵著我。在大學(xué)期間,有幸得到胡文靜的指點(diǎn),使我受益終生。感謝李偉和劉磊同學(xué),在畢業(yè)設(shè)計(jì)期間,和我共同探討,提出很多珍貴意見和建議。感謝辯論組的老師在中期辯論以及成果演示的過程中,對我的設(shè)計(jì)的缺乏之處給予提醒,對設(shè)計(jì)的步驟和標(biāo)準(zhǔn)方面給我以正確的引導(dǎo),使我能夠很快進(jìn)入狀態(tài),圓滿完成設(shè)計(jì)任務(wù)。在此還要感謝自動化082班的全體同學(xué),在短暫的大學(xué)四年生活中,我們彼此間建立了深厚的友誼,祝愿我們大家庭中的每一位成員事業(yè)有成,一帆風(fēng)順。最后,還要感謝父母對我多年的教導(dǎo)和養(yǎng)育之恩,他們每天的支持和厚愛是我努力學(xué)習(xí)的動力,我將以優(yōu)異的成績作為獻(xiàn)給他們最好的禮物。附錄附錄Astateflow原理圖附錄Bsimulink原理圖附錄CboilerPlantmodelsimulink圖附錄Dstateflow子狀態(tài)仿真圖附錄Estateflow的模型查看器附錄Fstateflow的仿真結(jié)果及生成的源代碼/*Includefiles*/#include"xing_sfun.h"#include"c7_xing.h"/*TypeDefinitions*//*NamedConstants*//*VariableDeclarations*//*VariableDefinitions*/int32_T_sfEvent_;uint32_T_xingMachineNumber_;real_T_sfTime_;/*FunctionDeclarations*//*FunctionDefinitions*/voidxing_initializer(void){_sfEvent_=CALL_EVENT;}voidxing_terminator(void){}/*SFunctionGlueCode*/unsignedintsf_xing_method_dispatcher(SimStruct*simstructPtr,unsignedintchartFileNumber,constchar*specsCksum,int_Tmethod,void*data){if(chartFileNumber==7){c7_xing_method_dispatcher(simstructPtr,method,data);return1;}return0;}unsignedintsf_xing_process_check_sum_call(intnlhs,mxArray*plhs[],intnrhs,constmxArray*prhs[]){#ifdefMATLAB_MEX_FILEcharcommandName[20];if(nrhs<1||!mxIsChar(prhs[0]))return0;/*Possiblecalltogetthechecksum*/mxGetString(prhs[0],commandName,sizeof(commandName)/sizeof(char));commandName[(sizeof(commandName)/sizeof(char)-1)]='\0';if(strcmp(commandName,"sf_get_check_sum"))return0;plhs[0]=mxCreateDoubleMatrix(1,4,mxREAL);if(nrhs>1&&mxIsChar(prhs[1])){mxGetString(prhs[1],commandName,sizeof(commandName)/sizeof(char));commandName[(sizeof(commandName)/sizeof(char)-1)]='\0';if(!strcmp(commandName,"machine")){((real_T*)mxGetPr((plhs[0])))[0]=(real_T)(2828399030U);((real_T*)mxGetPr((plhs[0])))[1]=(real_T)(2887128318U);((real_T*)mxGetPr((plhs[0])))[2]=(real_T)(2617034442U);((real_T*)mxGetPr((plhs[0])))[3]=(real_T)(3406542588U);}elseif(!strcmp(commandName,"exportedFcn")){((real_T*)mxGetPr((plhs[0])))[0]=(real_T)(0U);((real_T*)mxGetPr((plhs[0])))[1]=(real_T)(0U);((real_T*)mxGetPr((plhs[0])))[2]=(real_T)(0U);((real_T*)mxGetPr((plhs[0])))[3]=(real_T)(0U);}elseif(!strcmp(commandName,"makefile")){((real_T*)mxGetPr((plhs[0])))[0]=(real_T)(117619422U);((real_T*)mxGetPr((plhs[0])))[1]=(real_T)(1692202746U);((real_T*)mxGetPr((plhs[0])))[2]=(real_T)(541368259U);((real_T*)mxGetPr((plhs[0])))[3]=(real_T)(1263927372U);}elseif(nrhs==3&&!strcmp(commandName,"chart")){unsignedintchartFileNumber;chartFileNumber=(unsignedint)mxGetScalar(prhs[2]);switch(chartFileNumber){case7:{externvoidsf_c7_xing_get_check_sum(mxArray*plhs[]);sf_c7_xing_get_check_sum(plhs);break;}default:((real_T*)mxGetPr((plhs[0])))[0]=(real_T)(0.0);((real_T*)mxGetPr((plhs[0])))[1]=(real_T)(0.0);((real_T*)mxGetPr((plhs[0])))[2]=(real_T)(0.0);((real_T*)mxGetPr((plhs[0])))[3]=(real_T)(0.0);}}elseif(!strcmp(commandName,"target")){((real_T*)mxGetPr((plhs[0])))[0]=(real_T)(3176360410U);((real_T*)mxGetPr((plhs[0])))[1]=(real_T)(1862911626U);((real_T*)mxGetPr((plhs[0])))[2]=(real_T)(659157607U);((real_T*)mxGetPr((plhs[0])))[3]=(real_T)(1884031890U);}else{return0;}}else{((real_T*)mxGetPr((plhs[0])))[0]=(real_T)(2274999432U);((real_T*)mxGetPr((plhs[0])))[1]=(real_T)(1489593699U);((real_T*)mxGetPr((plhs[0])))[2]=(real_T)(4270069070U);((real_T*)mxGetPr((plhs[0])))[3]=(real_T)(550922543U);}return1;#elsereturn0;#endif}unsignedintsf_xing_autoinheritance_info(intnlhs,mxArray*plhs[],intnrhs,constmxArray*prhs[]){#ifdefMATLAB_MEX_FILEcharcommandName[32];if(nrhs<2||!mxIsChar(prhs[0]))return0;/*Possiblecalltogettheautoinheritance_info*/mxGetString(prhs[0],commandName,sizeof(commandName)/sizeof(char));commandName[(sizeof(commandName)/sizeof(char)-1)]='\0';if(strcmp(commandName,"get_autoinheritance_info"))return0;{unsignedintchartFileNumber;chartFileNumber=(unsignedint)mxGetScalar(prhs[1]);switch(chartFileNumber){case7:{externmxArray*sf_c7_xing_get_autoinheritance_info(void);plhs[0]=sf_c7_xing_get_autoinheritance_info();break;}default:plhs[0]=mxCreateDoubleMatrix(0,0,mxREAL);}}return1;#elsereturn0;#endif}unsignedintsf_xing_get_eml_resolved_functions_info(intnlhs,mxArray*plhs[],intnrhs,constmxArray*prhs[]){#ifdefMATLAB_MEX_FILEcharcommandName[64];if(nrhs<2||!mxIsChar(prhs[0]))return0;/*Possiblecalltogettheget_eml_resolved_functions_info*/mxGetString(prhs[0],commandName,sizeof(commandName)/sizeof(char));commandName[(sizeof(commandName)/sizeof(char)-1)]='\0';if(strcmp(commandName,"get_eml_resolved_functions_info"))return0;{unsignedintchartFileNumber;chartFileNumber=(unsignedint)mxGetScalar(prhs[1]);switch(chartFileNumber){case7:{externconstmxArray*sf_c7_xing_get_eml_resolved_functions_info(void);mxArray*persistentMxArray=(mxArray*)sf_c7_xing_get_eml_resolved_functions_info();plhs[0]=mxDuplicateArray(persistentMxArray);mxDestroyArray(persistentMxArray);break;}default:plhs[0]=mxCreateDoubleMatrix(0,0,mxREAL);}}return1;#elsereturn0;#endif}voidxing_debug_initialize(void){_xingMachineNumber_=sf_debug_initialize_machine("xing","sfun",0,1,0,0,0);sf_debug_set_machine_event_thresholds(_xingMachineNumber_,0,0);sf_debug_set_machine_data_thresholds(_xingMachineNumber_,0);}voidxing_register_exported_symbols(SimStruct*S){}附錄G英文文獻(xiàn)翻譯Overview:Simulinksoftwaremodels,simulates,andanalyzesdynamicsystems.Itenablesyoutoposeaquestionaboutasystem,modelthesystem,andseewhathappens.WithSimulink,youcaneasilybuildmodelsfromscratch,ormodifyexistingmodelstomeetyourneeds.Simulinksupportslinearandnonlinearsystems,modeledincontinuoustime,sampledtime,orahybridofthetwo.Systemscanalsobemultirate—havingdifferentpartsthataresampledorupdatedatdifferentrates.ThousandsofscientistsandengineersaroundtheworlduseSimulinktomodelandsolverealproblemsinavarietyofindustries,including:(1)AerospaceandDefense(2)Automotive(3)Communications(4)ElectronicsandSignalProcessing(5)MedicalInstrumentationWithSimulink,youcanmovebeyondidealizedlinearmodelstoexploremorerealisticnonlinearmodels,factoringinfriction,airresistance,gearslippage,hardstops,andtheotherthingsthatdescribereal-worldphenomena.Simulinkturnsyourcomputerintoalaboratoryformodelingandanalyzingsystemsthatwouldnotbepossibleorpracticalotherwise.Whetheryouareinterestedinthebehaviorofanautomotiveclutchsystem,theflutterofanairplanewing,ortheeffectofthemonetarysupplyontheeconomy,Simulinkprovidesyouwiththetoolstomodelandsimulatealmostanyreal-worldproblem.Simulinkalsoprovidesdemosthatmodelawidevarietyofreal-worldphenomena(seeSimulinkDemoModels).Simulinkprovidesagraphicaluserinterface(GUI)forbuildingmodelsasblockdiagrams,allowingyoutodrawmodelsasyouwouldwithpencilandpaper.Simulinkalsoincludesacomprehensiveblocklibraryofsinks,sources,linearandnonlinearcomponents,andconnectors.Iftheseblocksdonotmeetyourneeds,however,youcanalsocreateyourownblocks.Theinteractivegraphicalenvironmentsimplifiesthemodelingprocess,eliminatingtheneedtoformulatedifferentialanddifferenceequationsinalanguageorprogram.Modelsarehierarchical,soyoucanbuildmodelsusingbothtop-downandbottom-upapproaches.Youcanviewthesystematahighlevel,thendouble-clickblockstoseeincreasinglevelsofmodeldetail.Thisapproachprovidesinsightintohowamodelisorganizedandhowitspartsinteract.Afteryoudefineamodel,youcansimulateit,usingachoiceofmathematicalintegrationmethods,eitherfromtheSimulinkmenusorbyenteringcommandsintheMATLAB?CommandWindow.Themenusareconvenientforinteractivework,whilethecommandlineisusefulforrunningabatchofsimulations(forexample,ifyouaredoingMonteCarlosimulationsorwanttoapplyaparameteracrossarangeofvalues).Usingscopesandotherdisplayblocks,youcanseethesimulationresultswhilethesimulationruns.Youcanthenchangemanyparametersandseewhathappensfor"whatif"exploration.ThesimulationresultscanbeputintheMATLABworkspaceforpostprocessingandvisualization.AStateflowchartisanexampleofafinitestatemachine.Afinitestatemachineisarepresentationofanevent-driven(reactive)system.Inanevent-drivensystem,thesystemmakesatransitionfromonestate(mode)toanother,iftheconditiondefiningthechangeistrue.Forexample,youcanuseastatemachinetorepresenttheautomatictransmissionofacar.Thetransmissionhastheseoperatingstates:park,reverse,neutral,drive,andlow.Asthedrivershiftsfromonepositiontoanother,thesystemmakesatransitionfromonestatetoanother,
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出租車運(yùn)輸行業(yè)市場調(diào)研分析報告
- 便攜式取暖器產(chǎn)品供應(yīng)鏈分析
- 碗碟晾干架項(xiàng)目營銷計(jì)劃書
- 紙制筷子套細(xì)分市場深度研究報告
- 醫(yī)用或獸醫(yī)用培養(yǎng)細(xì)菌用介質(zhì)產(chǎn)品供應(yīng)鏈分析
- 醫(yī)用減肥茶產(chǎn)品供應(yīng)鏈分析
- 體育訓(xùn)練服務(wù)行業(yè)相關(guān)項(xiàng)目經(jīng)營管理報告
- 電腦游戲操縱桿用充電器項(xiàng)目運(yùn)營指導(dǎo)方案
- 物位變送器項(xiàng)目營銷計(jì)劃書
- 樂譜架產(chǎn)業(yè)鏈招商引資的調(diào)研報告
- 2024世界糖尿病日糖尿病與幸福感糖尿病健康教育課件
- 公務(wù)員2018年國考《申論》真題卷及答案(副省級)
- 2024年基金從業(yè)資格證(含三個科目)考前必刷必練題庫500題(含真題、必會題)
- 醫(yī)學(xué)教材 超聲引導(dǎo)下肩關(guān)節(jié)液壓擴(kuò)張聯(lián)合針刀治療肩周炎的臨床應(yīng)用
- 民用無人機(jī)操控員執(zhí)照(CAAC)考試復(fù)習(xí)重點(diǎn)題庫500題(含答案)
- 五四運(yùn)動 說課課件 2024-2025學(xué)年統(tǒng)編版八年級歷史上冊
- 兩彈一星精神(教學(xué)設(shè)計(jì))-2023-2024學(xué)年小學(xué)科學(xué)課后服務(wù)科普課程
- 籍貫對照表完整版
- 獎教獎學(xué)捐款倡議書
- 工程量清單計(jì)價模式下是否可以簽訂 固定總價 合同
- 《廉潔自律加強(qiáng)自身修養(yǎng)》銀行新員工培訓(xùn)
評論
0/150
提交評論