基于-ARM數(shù)字式人體脈搏儀設(shè)計(jì)_第1頁(yè)
基于-ARM數(shù)字式人體脈搏儀設(shè)計(jì)_第2頁(yè)
基于-ARM數(shù)字式人體脈搏儀設(shè)計(jì)_第3頁(yè)
基于-ARM數(shù)字式人體脈搏儀設(shè)計(jì)_第4頁(yè)
基于-ARM數(shù)字式人體脈搏儀設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(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)介

1、-. z嵌入式系統(tǒng)設(shè)計(jì)題目:基于ARM的數(shù)字式人體脈搏儀的設(shè)計(jì)專業(yè):電氣工程及其自動(dòng)化 *:K030941441 :雄 2021年11月14日-. z一 數(shù)字式人體脈搏器測(cè)量系統(tǒng)總體方案設(shè)計(jì)1.1 系統(tǒng)硬件電路設(shè)計(jì)方案數(shù)字式人體脈搏器是通過(guò)脈搏傳感器采集脈搏信息輸出電壓信號(hào),經(jīng)信號(hào)放大電路對(duì)其進(jìn)展放大。然后,將放大后的脈搏信號(hào)通過(guò)A/D轉(zhuǎn)換模塊轉(zhuǎn)換為單片機(jī)易于處理的脈沖信號(hào)。通過(guò)對(duì)單片機(jī)進(jìn)展編程來(lái)實(shí)現(xiàn)對(duì)脈搏波動(dòng)頻率的測(cè)量和計(jì)算,最終在顯示電路中直觀的顯示出來(lái)。硬件原理框圖如圖1.1所示: 圖1.1 數(shù)字式人體脈搏儀測(cè)量系統(tǒng)硬件原理框圖由圖可知,本系統(tǒng)硬件局部主要由以下局部構(gòu)成:脈搏傳感器局部、

2、信號(hào)放大電路局部、A/D轉(zhuǎn)換電路局部、單片機(jī)處理電路局部及顯示電路局部。其中各局部實(shí)現(xiàn)功能如下:1脈搏傳感器局部。選用適宜的脈搏傳感器,將脈搏信號(hào)轉(zhuǎn)換成電信號(hào)輸出。脈搏傳感器的精度、靈敏度、抗干擾能力及安裝方式?jīng)Q定了脈搏測(cè)量精度,因此其選型對(duì)整個(gè)設(shè)計(jì)具有決定性的作用。2信號(hào)放大電路局部。脈搏傳感器出來(lái)的電壓信號(hào)較弱,一般在毫伏級(jí),需要進(jìn)展放大。所以,設(shè)計(jì)信號(hào)放大電路,將脈搏傳感器出來(lái)的信號(hào)進(jìn)展放大,使之成為一個(gè)幅值適當(dāng)?shù)男盘?hào),便于后續(xù)電路的處理。3A/D轉(zhuǎn)換電路局部。單片機(jī)是數(shù)字信號(hào)處理工具,輸入單片機(jī)的信號(hào)必須是離散的數(shù)字信號(hào)或者是脈沖信號(hào),經(jīng)A/D轉(zhuǎn)化,便于單片機(jī)處理。4單片機(jī)處理電路局部

3、。本設(shè)計(jì)作為一個(gè)簡(jiǎn)單脈搏測(cè)量?jī)x,最后需給出脈搏波動(dòng)頻率,以單片機(jī)作為信息處理中心,通過(guò)對(duì)單片機(jī)進(jìn)展編程,完成信號(hào)輸入檢測(cè)、信息分析處理及信息顯示。5顯示電路局部。單片機(jī)處理得到的脈搏波動(dòng)頻率信息,最后在顯示電路中直觀地顯示出來(lái)。所以,需要選用適宜的顯示設(shè)備及顯示電路,來(lái)實(shí)現(xiàn)對(duì)脈搏波動(dòng)頻率信息的顯示。1.1.1 脈搏傳感器的選擇傳感器又稱為換能器、變換器等。脈搏傳感器是脈搏檢測(cè)系統(tǒng)中重要的組成局部,其根本功能是將切脈壓力和橈動(dòng)脈搏動(dòng)壓力這樣一些物理量(非電量)轉(zhuǎn)換成為便于測(cè)量的電量。脈搏傳感器的精度、靈敏度、抗干擾能力及安裝方式?jīng)Q定了脈搏測(cè)量精度,因此其選型對(duì)整個(gè)設(shè)計(jì)具有決定性的作用。目前,脈搏

4、信號(hào)的測(cè)量方式主要有:1光電脈搏波傳感器。血管不受壓力時(shí),血流均勻,反射光也比擬均勻,故傳感器無(wú)脈搏信號(hào)輸出;當(dāng)血管受壓血液不流動(dòng)時(shí),傳感器也無(wú)輸出信號(hào);只有當(dāng)血管受到擠壓,血管中的血液斷續(xù)流動(dòng)時(shí),反射光也隨之變化,這時(shí)傳感器輸出脈搏信號(hào),到達(dá)了測(cè)量脈搏的作用。這種傳感器的特點(diǎn)是構(gòu)造簡(jiǎn)單、可靠性高、抗干擾能力強(qiáng),主要用于測(cè)量脈搏的跳動(dòng)次數(shù)。人體不同部位的脈搏波波形存在差異,光電脈搏波傳感器不適合用于提取不同部位的脈搏波信號(hào)。2壓力傳感器測(cè)量。壓電傳感器主要應(yīng)用在加速度、壓力和力等的測(cè)量中。壓電式加速度傳感器是一種常用的加速度計(jì)。它具有構(gòu)造簡(jiǎn)單、體積小、重量輕、使用壽命長(zhǎng)等優(yōu)異的特點(diǎn)。壓電式加速

5、度傳感器在飛機(jī)、汽車(chē)、船舶、橋梁和建筑的振動(dòng)和沖擊測(cè)量中已經(jīng)得到了廣泛的應(yīng)用,特別是航空和宇航領(lǐng)域中更有它的特殊地位。壓電式傳感器也可以用來(lái)測(cè)量發(fā)動(dòng)機(jī)部燃燒壓力的測(cè)量與真空度的測(cè)量。也可以用于軍事工業(yè),例如用它來(lái)測(cè)量槍炮子彈在膛中擊發(fā)的一瞬間的膛壓的變化和炮口的沖擊波壓力。它既可以用來(lái)測(cè)量大的壓力,也可以用來(lái)測(cè)量微小的壓力。圖1.2 信號(hào)發(fā)生局部其測(cè)量原理是,將測(cè)力傳感器的受力端壓在人體橈動(dòng)脈處,模仿人的指頭。這種方式通常采用壓阻式傳感器,它具有抗干擾能力強(qiáng)的特點(diǎn),但由于動(dòng)脈血管產(chǎn)生的力很小,故量程小,抗沖擊力不強(qiáng)。脈搏信號(hào)還表現(xiàn)為皮膚振動(dòng),因此可以用加速度傳感器進(jìn)展檢測(cè),其特點(diǎn)是構(gòu)造簡(jiǎn)單、體

6、積小、波形測(cè)量精度較高。本設(shè)計(jì)中的脈搏傳感器用MP*4115壓力傳感器3,如圖2.2所示。表2.1說(shuō)明了引腳連接,腳1接運(yùn)算放大電路輸入端,腳2接地,腳3接+5V電源等。表2.2,2.3分別為傳感器的一些參數(shù)。表1.1 MP*4115引腳功能Vout地VsN/CN/CN/C表1.2 最大額定值(Tc=25)參 數(shù)符 號(hào)數(shù) 值單 位 最大壓力P1P2Pma*400KPa 存貯溫度Tstg-40+125 操作溫度TA-40+125表1.3 傳感器工作特性參數(shù) VS=5.1Vdc,T=25參 數(shù)符 號(hào)最 小典 型最 大單 位壓力圍Pop15-115KPa供電電壓Vs4.855.15.35Vdc 供電

7、電流Lo-7.010mAdc 最大壓力偏置 085 Vs=5.0VVpss0.1350.2040.273Vdc滿量程輸出 085Vs=5.0VVoff4.7254.7944.863Vdc滿量程比例 085Vs=5.0V VFSS4.5214.5904.695Vdc精度 085 -1.5%VPSS 靈敏度V/P-45.9-mV/KPa響應(yīng)時(shí)間10%90%tR-1.0-ms 上升報(bào)警時(shí)間-20-ms偏置穩(wěn)定性 -0.5-%VFSS1.1.2 信號(hào)放大電路的選擇脈搏傳感器出來(lái)的電壓信號(hào)較弱,一般在毫伏級(jí),需要對(duì)其進(jìn)展放大。所以,設(shè)計(jì)信號(hào)放大電路,將脈搏傳感器出來(lái)的信號(hào)進(jìn)展放大,使之成為一個(gè)幅值適當(dāng)?shù)?/p>

8、信號(hào),便于后續(xù)電路的處理。MP*4115型壓電式脈搏傳感器輸出電壓大約為-10mv40mv,在后續(xù)電路中需要將其通過(guò)差動(dòng)式放大電路,將信號(hào)放大,然后通過(guò)A/D轉(zhuǎn)換電路轉(zhuǎn)換為數(shù)字脈沖信號(hào)。差動(dòng)放大電路廣泛地應(yīng)用于模擬集成電路中,它具有很高的共模抑制比。諸如由電源波動(dòng)、溫度變化等外界干擾都會(huì)引起工作點(diǎn)不穩(wěn)定,它們都可以看作是一種共模信號(hào)。差動(dòng)放大電路能抑制共模信號(hào)的放大,對(duì)上述變化有良好的適應(yīng)性,使放大器有較高的穩(wěn)定度。所以本設(shè)計(jì)選擇了差動(dòng)放大電路。1.1.3 單片機(jī)的選擇本設(shè)計(jì)作為一個(gè)簡(jiǎn)單脈搏測(cè)量?jī)x,最后需給出脈搏波動(dòng)頻率。以單片機(jī)作為信息處理中心,通過(guò)對(duì)單片機(jī)進(jìn)展編程,完成信號(hào)輸入檢測(cè)、信息分

9、析處理及信息顯示。1AVR單片機(jī)AVR單片機(jī)4是ATMEL公司生產(chǎn)的單片機(jī)。1997年,由ATMEL公司挪威設(shè)計(jì)中心的A先生與V先生利用ATMEL公司的Flash新技術(shù), 共同研發(fā)出RISC精簡(jiǎn)指令集的高速8位單片機(jī),簡(jiǎn)稱AVR。相對(duì)于出現(xiàn)較早也較為成熟的51系列單片機(jī),AVR系列單片機(jī)片資源更為豐富,接口也更為強(qiáng)大,同時(shí)由于其價(jià)格低等優(yōu)勢(shì),在很多場(chǎng)合可以替代51系列單片機(jī)。其特點(diǎn)是高速度(50ns)、低功耗,硬件應(yīng)用Harward構(gòu)造,具有預(yù)取指令功能,使得指令可以在一個(gè)時(shí)鐘周期執(zhí)行,而MSC-51要12個(gè)時(shí)鐘周期執(zhí)行一條指令。AVR單片機(jī)如LPC2131等。2凌陽(yáng)單片機(jī)凌陽(yáng)是凌陽(yáng)公司推出的

10、單片機(jī),具有高速度、低價(jià)、可靠、實(shí)用、體積小、功耗低和簡(jiǎn)單易學(xué)等特點(diǎn),它的CPU核采用凌陽(yáng)推出的Microcontroller and Signal Processor 16位微機(jī)處理器芯片,以下簡(jiǎn)稱nSP 。圍繞micro;nSP 所形成的16位unSP 系列單片機(jī),以下簡(jiǎn)稱nSP 家族。采用的是模塊式集成構(gòu)造,它以nSP 核為中心集成不同規(guī)模的ROM PAM和功能豐富的各種外設(shè)部件。nSP 核是一個(gè)通用的和構(gòu)造。除此之外的其它功能模塊均為可選構(gòu)造。以及這種構(gòu)造可大可小可有可無(wú),借助這種通用構(gòu)造附加可選構(gòu)造的積木式的構(gòu)成,便可成為各種系列的派生產(chǎn)品,以適合不同場(chǎng)合,這樣做無(wú)疑會(huì)使每種派生產(chǎn)品

11、具有更強(qiáng)的功能和更低的本錢(qián)。nSP 家族有有以下特點(diǎn):體積小 ,集成度高,可靠性好易于擴(kuò)展。nSP 家族把各功能把各功能部件模塊化地集成在一個(gè)芯片里。部采用總線構(gòu)造,因?yàn)闇p少了各功能部件之間的連接,提高了其可靠性和抗干擾能力,另外,模塊化的構(gòu)造易于系列的擴(kuò)展,以適應(yīng)不同用戶的需求。具有較強(qiáng)的中斷處理能力。nSPTM家族的中斷系統(tǒng)支持10個(gè)中斷向量及10余個(gè)中斷源,適合實(shí)時(shí)應(yīng)用領(lǐng)域。高性能價(jià)格比:nSPTM家族片帶有高尋址能力的ROM,靜態(tài)RAM和多功能的I/O口,另外nSPTM的指令系統(tǒng)提供出具有較高運(yùn)算速度的16位,16位的乘法運(yùn)算指令和積運(yùn)算指令,為其應(yīng)用添加了DSP功能,使得nSPTM家

12、族運(yùn)用在復(fù)雜的數(shù)字信號(hào)處理方面既很便利又比專用的DSP芯片廉價(jià)。如SPCE061等。351單片機(jī)51單片機(jī)是對(duì)目前所有兼容Intel 8031指令系統(tǒng)的單片機(jī)的統(tǒng)稱。該系列單片機(jī)的始祖是Intel的8031單片機(jī),后來(lái)隨著Flash rom技術(shù)的開(kāi)展,8031單片機(jī)取得了長(zhǎng)足的進(jìn)展,成為目前應(yīng)用最廣泛的8位單片機(jī)之一,其代表型號(hào)是ATMEL公司的AT89系列,它廣泛應(yīng)用于工業(yè)測(cè)控系統(tǒng)之中。目前很多公司都有51系列的兼容機(jī)型推出,在目前乃至今后很長(zhǎng)的一段時(shí)間將占有大量市場(chǎng)。51單片機(jī)是根底入門(mén)的一個(gè)單片機(jī),還是應(yīng)用最廣泛的一種。51單片機(jī)是INTEL公司生產(chǎn)的。它具有構(gòu)造簡(jiǎn)單,價(jià)格廉價(jià),易于開(kāi)發(fā)

13、的特點(diǎn)。通用型,有總線擴(kuò)展,有較強(qiáng)的位處理功能,有全雙工異步串行通信口。但是其功能相對(duì)較少,外部數(shù)據(jù)有瓶頸,作電壓圍窄。本設(shè)計(jì)中,單片機(jī)只需要對(duì)脈搏信號(hào)的波動(dòng)頻率進(jìn)展測(cè)量、計(jì)算和顯示,對(duì)單片機(jī)的要求不是很高。而對(duì)51單片機(jī),本人比擬熟悉,所以,本設(shè)計(jì)中選擇51單片機(jī)作為信息處理中心。在51系列單片機(jī)中,AT89系列單片機(jī)是美國(guó)ATMEL公司推出的一種新型高性能低價(jià)位、低電壓低功耗的8位CMOS微型計(jì)算機(jī)。AT89S51就是其中一款,它可以完全滿足本設(shè)計(jì)的設(shè)計(jì)要求,而且,AT89S51的價(jià)格較低。1.2 系統(tǒng)軟件方案選擇1.2.1 脈搏波動(dòng)頻率測(cè)量方案的選擇通過(guò)放大電路經(jīng)A/D轉(zhuǎn)換之后的信號(hào)為脈

14、沖信號(hào)。脈沖信號(hào)的頻率是指在單位時(shí)間由信號(hào)所產(chǎn)生的交變次數(shù)或脈沖個(gè)數(shù),即??梢钥闯鰷y(cè)量f*必須將N或t兩個(gè)量之一作為閘門(mén)或基準(zhǔn),對(duì)另一個(gè)量進(jìn)展測(cè)量。對(duì)于不同的頻率圍,有三種不同的測(cè)量方法。1周期測(cè)量法:適用于低頻信號(hào)。采用單片機(jī)的一個(gè)定時(shí)/計(jì)數(shù)器,以單片機(jī)的標(biāo)準(zhǔn)機(jī)器周期作為標(biāo)準(zhǔn)時(shí)基信號(hào)Ts。被測(cè)信號(hào)的周期作為信號(hào)閘門(mén),由程序控制開(kāi)關(guān)對(duì)時(shí)基進(jìn)展計(jì)數(shù)得n*,因此被測(cè)信號(hào)周期為,每分鐘脈搏跳動(dòng)次數(shù)為。2多周期同步法:適用于中頻信號(hào)。其特點(diǎn)是標(biāo)準(zhǔn)頻率信號(hào)不是用來(lái)填充待測(cè)信號(hào)的周期,而是與待測(cè)信號(hào)分別輸入到兩個(gè)計(jì)數(shù)器進(jìn)展同步計(jì)數(shù)。3頻率測(cè)量法:適用于高頻信號(hào)。充分利用單片機(jī)的兩個(gè)定時(shí)/計(jì)數(shù)器,一個(gè)作為定

15、時(shí)器,給出標(biāo)準(zhǔn)閘門(mén)信號(hào),另一個(gè)作為計(jì)數(shù)器。人體脈搏波動(dòng)頻率一般為6080次/min,其頻率成分主要分布在020Hz之間,屬于次聲,最高頻率不超過(guò)40Hz,一般情況下為1Hz左右,屬于低頻信號(hào)。所以,本設(shè)計(jì)中選擇周期測(cè)量法。1.2.2 單片機(jī)工作方式的選擇單片機(jī)數(shù)據(jù)傳送方式一般有以下幾種:1查詢方式:由于CPU與外設(shè)之間存在時(shí)序、速度等差異,在數(shù)據(jù)傳送前必須檢測(cè)接口狀態(tài),探查外設(shè)是否數(shù)據(jù)準(zhǔn)備就緒。查詢方式優(yōu)點(diǎn)是構(gòu)造簡(jiǎn)單,硬件開(kāi)銷(xiāo)?。蝗秉c(diǎn)是CPU在整個(gè)傳送過(guò)程中需要不斷檢測(cè)外設(shè)狀態(tài),由于CPU的速度遠(yuǎn)遠(yuǎn)高于外設(shè),因此通常處于等待狀態(tài),工作效率很低。2中斷方式:CPU無(wú)需檢測(cè)外設(shè)是否數(shù)據(jù)準(zhǔn)備就緒,不

16、占據(jù)CPU時(shí)間,因此CPU與外設(shè)并行工作,提高了CPU的工作效率,還滿足了外設(shè)的實(shí)時(shí)要求。本設(shè)計(jì)中,只對(duì)A/D轉(zhuǎn)換后的脈沖信號(hào)進(jìn)展頻率計(jì)算,CPU工作不是很繁忙,可以選擇查詢方式。1.2.3 顯示電路方案的選擇脈搏信號(hào)經(jīng)過(guò)單片機(jī)處理,得到脈搏波動(dòng)頻率之后,需要在顯示電路中直觀地顯示出來(lái)。所以,需要選用適宜的顯示設(shè)備及顯示電路,來(lái)實(shí)現(xiàn)對(duì)脈搏波動(dòng)頻率信息的顯示。人體脈搏信號(hào)從時(shí)域上看,是一個(gè)周期性較強(qiáng)的準(zhǔn)周期信號(hào)。脈搏波動(dòng)頻率一般為6080次/min。本設(shè)計(jì)中,顯示位數(shù)較多。可以選擇LCD字符液晶屏來(lái)對(duì)脈搏波動(dòng)頻率信息進(jìn)展顯示。它具有:電參數(shù)(VDD=5.0V 10%,VSS=0V,Ta=25 )

17、顯示容:16字符* 2 行字符點(diǎn)陣:5 * 8點(diǎn)驅(qū)動(dòng)方式:1/16D可供型號(hào):TN STN(黃綠模灰模黑白模)反射型帶EL或LCD背光源5LCD常用顯示方法有兩種:靜態(tài)顯示和動(dòng)態(tài)掃描顯示。1靜態(tài)顯示:所謂靜態(tài)顯示,就是每一個(gè)顯示器都要占用單獨(dú)的具有鎖存功能的 I/O接口用于筆劃段字形顯示。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時(shí),再發(fā)送新的字形碼,因此,使用這種方法單片機(jī)中CPU的開(kāi)銷(xiāo)小,較小的電流能得到較高的亮度且字符不閃爍。靜態(tài)顯示適用于顯示器位數(shù)較少時(shí)。2動(dòng)態(tài)掃描顯示:所謂動(dòng)態(tài)顯示,就是一位一位地輪流點(diǎn)亮顯示器各個(gè)位掃描,對(duì)于顯示器的每一位來(lái)說(shuō),

18、每隔一段時(shí)間點(diǎn)亮一次。利用人的視覺(jué)暫留功能可以看到整個(gè)顯示,但必需保證掃描速度足夠快,字符才不閃爍。當(dāng)顯示位數(shù)較多時(shí),用靜態(tài)顯示所需的I/O太多,一般采用動(dòng)態(tài)顯示的方法。本設(shè)計(jì)中,顯示的脈搏波動(dòng)頻率,同時(shí)顯示脈搏次數(shù)和測(cè)試時(shí)間,選用動(dòng)態(tài)顯示。二 數(shù)字式人體脈搏儀測(cè)量系統(tǒng)硬件電路設(shè)計(jì)本設(shè)計(jì)中,脈搏波動(dòng)頻率測(cè)量的實(shí)現(xiàn)是通過(guò)脈搏傳感器采集脈搏信息輸出電壓信號(hào),經(jīng)信號(hào)放大電路對(duì)其進(jìn)展放大。然后,將放大后的脈搏信號(hào)通過(guò)A/D轉(zhuǎn)換電路轉(zhuǎn)換為單片機(jī)易于處理的脈沖信號(hào)。通過(guò)對(duì)單片機(jī)進(jìn)展編程來(lái)實(shí)現(xiàn)對(duì)脈搏波動(dòng)頻率的測(cè)量和計(jì)算,并在顯示電路中直觀的顯示出來(lái)。為到達(dá)電路構(gòu)造簡(jiǎn)單實(shí)用的設(shè)計(jì)目的,從設(shè)計(jì)要求出發(fā),設(shè)計(jì)了信

19、號(hào)放大電路、A/D轉(zhuǎn)換電路,單片機(jī)處理電路及LCD顯示電路等。本章對(duì)各局部電路的設(shè)計(jì)進(jìn)展詳細(xì)論述與分析。2.1 信號(hào)放大電路的設(shè)計(jì)脈搏傳感器6出來(lái)的電壓信號(hào)較弱,在毫伏級(jí),需要對(duì)其進(jìn)展放大。所以,設(shè)計(jì)信號(hào)放大電路,將脈搏傳感器出來(lái)的信號(hào)進(jìn)展放大 ,使之成為一個(gè)幅值適當(dāng)?shù)男盘?hào),便于后續(xù)電路的處理。本設(shè)計(jì)中采用的是差動(dòng)式放大電路,如圖2.1所示:圖2.1 差動(dòng)式放大電路根本差動(dòng)放大電路由兩個(gè)完全對(duì)稱的共發(fā)射極單管放大電路組成,該電路的輸入端是兩個(gè)信號(hào)的輸入,這兩個(gè)信號(hào)的差值,為電路有效輸入信號(hào),電路的輸出是對(duì)這兩個(gè)輸入信號(hào)之差的放大。設(shè)想這樣一種情景,如果存在干擾信號(hào),會(huì)對(duì)兩個(gè)輸入信號(hào)產(chǎn)生一樣的干

20、擾,通過(guò)二者之差,干擾信號(hào)的有效輸入為零,這就到達(dá)了抗共模干擾的目的。差動(dòng)放大電路的根本形式對(duì)電路的要:兩個(gè)電路的參數(shù)完全對(duì)稱兩個(gè)管子的溫度特性也完全對(duì)稱。 它的工作原理是:當(dāng)輸入信號(hào)Ui=0時(shí),則兩管的電流相等,兩管的集點(diǎn)極電位也相等,所以輸出電壓Uo=UC1-UC2=0。溫度上升時(shí),兩管電流均增加,則集電極電位均下降,由于它們處于同一溫度環(huán)境,因此兩管的電流和電壓變化量均相等,其輸出電壓仍然為零。共模信號(hào)的作用,對(duì)兩管的作用是同向的,將引起兩管電流同量的增加,集電極電位也同量減小,因此兩管集電極輸出共模電壓Uoc為零。因此:于是差動(dòng)電路對(duì)稱時(shí),對(duì)共模信號(hào)的抑制能力強(qiáng)差模信號(hào)的作用,由于信號(hào)

21、的極性相反,因此T1管集電極電壓下降,T2管的集電極電壓上升,且二者的變化量的絕對(duì)值相等,所以,由此我們可以看出差模電壓放大倍數(shù)等于單管電壓的放大倍數(shù)。圖2.2 A/D轉(zhuǎn)換電路2.2 A/D轉(zhuǎn)換電路的設(shè)計(jì)放大后的脈搏信號(hào),幅值為-1V4V,而在后續(xù)電路中,需要把放大后的脈搏信號(hào)轉(zhuǎn)換為易于單片機(jī)處理得到脈搏波動(dòng)頻率信息的脈沖信號(hào)。單片機(jī)是數(shù)字信號(hào)處理工具,輸入單片機(jī)的信號(hào)必須是離散的數(shù)字信號(hào)或者是脈沖信號(hào),經(jīng)A/D轉(zhuǎn)化,便于單片機(jī)處理。其原理圖如圖3.2所示。只有當(dāng)信號(hào)幅值在一定圍時(shí)才會(huì)實(shí)現(xiàn)模數(shù)轉(zhuǎn)換功能,以便記錄脈搏次數(shù)。2.3 單片機(jī)微處理系統(tǒng)的設(shè)計(jì)本設(shè)計(jì)作為一個(gè)簡(jiǎn)單脈搏測(cè)量?jī)x,最后需給出脈搏

22、波動(dòng)頻率,以單片機(jī)作為信息處理中心,通過(guò)對(duì)單片機(jī)進(jìn)展編程,完成信號(hào)輸入檢測(cè)、信息分析處理及信息顯示。從實(shí)用性、設(shè)計(jì)、貨源及價(jià)格的角度出發(fā),并且考慮到本設(shè)計(jì)對(duì)單片機(jī)沒(méi)有特殊的要求,選用了常用的AT89S51單片機(jī)7,其引腳如圖2.3所示:圖2.3 AT89S51單片機(jī)引腳圖在AT89S51單片機(jī)引腳圖中,P3口是一個(gè)帶部上拉電阻的8位雙向I/O口。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如表3.1所示。本設(shè)計(jì)正是利用T0口的定時(shí)功能實(shí)現(xiàn)對(duì)脈搏波動(dòng)頻率的測(cè)量。AT89S51單片機(jī)不僅完全可以實(shí)現(xiàn)對(duì)脈搏波動(dòng)頻率測(cè)量的控制要求,而且可以在線編程調(diào)試,符合設(shè)計(jì)的要求。表2.1 P3

23、口第二功能端口引腳第二功能P3.0R*D串行輸入口P3.1T*D串行輸出口P3.2INTO外中斷0P3.3INT1外中斷1P3.4T0定時(shí)/計(jì)數(shù)0外部輸入P3.5T1定時(shí)/計(jì)數(shù)1外部輸入P3.6WR外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通P3.7RD外部數(shù)據(jù)存儲(chǔ)器讀選通本設(shè)計(jì)中對(duì)脈搏頻率的測(cè)量,采用周期測(cè)量法。將單片機(jī)定時(shí)/計(jì)數(shù)器T0定為16位定時(shí)器,對(duì)部機(jī)器周期計(jì)數(shù)。將A/D轉(zhuǎn)換出來(lái)的脈沖信號(hào)接到單片機(jī)的P2.5口上,則定時(shí)器的開(kāi)關(guān)由程序根據(jù)P2.5口上的狀態(tài)進(jìn)展控制。檢測(cè)到上升沿時(shí)開(kāi)T0計(jì)數(shù),當(dāng)緊接著的另一個(gè)上升沿被檢測(cè)到時(shí)關(guān)T0計(jì)數(shù)。單片機(jī)微處理系統(tǒng)硬件電路如圖3.4所示。圖2.4 單片機(jī)微處理系統(tǒng)硬件電路

24、P1.0 T2定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入,時(shí)鐘輸出;P1.1 T2E*定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制;P1.5 MOSI在系統(tǒng)編程用;P1.6 MISO在系統(tǒng)編程用;P1.7 SCK在系統(tǒng)編程用。圖2.5 LCD1602液晶顯示 表2.2 1602液晶時(shí)序參數(shù)時(shí)序參數(shù)符號(hào)最大值典型值最小值單位測(cè)試條件E信號(hào)周期tC400-ns引腳EE脈沖寬度tRW150-ns引腳EE上升/下降時(shí)間tR tF-25ns引腳E地址建立時(shí)間tSP130-ns引腳ERSRW地址保持時(shí)間tHD110-ns引腳ERSRW數(shù)據(jù)建立時(shí)間讀操作tD-100ns引腳DB-DB7數(shù)據(jù)保持時(shí)間讀操作tHD22

25、0-ns引腳DB-DB7數(shù)據(jù)建立時(shí)間寫(xiě)操作tSP240-ns引腳DB-DB7數(shù)據(jù)保持時(shí)間寫(xiě)操作tHD310-ns引腳DB-DB72.4 LCD顯示硬件電路的設(shè)計(jì)脈搏信號(hào)經(jīng)過(guò)單片機(jī)處理,得到脈搏波動(dòng)頻率之后,需要在顯示電路中直觀地顯示出來(lái)。所以,需要選用適宜的顯示設(shè)備及顯示電路,來(lái)實(shí)現(xiàn)對(duì)脈搏波動(dòng)頻率信息的顯示。本設(shè)計(jì)中,采用1602字符液晶屏8動(dòng)態(tài)顯示方式來(lái)顯示脈搏波動(dòng)頻率信息。顯示電路如圖2.5所示,1602字符液晶屏?xí)r序參數(shù)如表2.2所示,硬件端口定義及軟件資源分配如表2.3所示。表2.3 液晶驅(qū)動(dòng)程序硬件端口資源分配表硬件端口分配資源說(shuō) 明RSP0.0存放器選擇控制線RWP0.1LCD讀寫(xiě)

26、控制線EP0.2啟用控制線,高電平動(dòng)作LCDP2雙向數(shù)據(jù)總線POS_FLAG20H字符串顯示位置標(biāo)志,為0時(shí)顯示在第一行,為1時(shí)顯示在第二行BLANK30H清行時(shí)填入的空格個(gè)數(shù)控制變量LCD初始化液晶顯示模塊1602的控制指令:1602的控制指令共11條,其中9條針對(duì)命令存放器IR的,另外2條是針對(duì)數(shù)據(jù)存放器DR的,具體指令如表3.4所示。表2.4 1602指令表注:表示可以為0或1編號(hào)指 令RSRWD7 D6D5D4D3D2D1D01清屏顯示00000000012光標(biāo)返回0000000013置輸入模式00000001I/DS4顯示開(kāi)/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/

27、CR/L6置功能00001DLNF7置字符發(fā)生存儲(chǔ)器地址0001字符發(fā)生存儲(chǔ)器地址(AGG)8置數(shù)據(jù)存儲(chǔ)器地址001顯示數(shù)據(jù)存儲(chǔ)器地址(ADD)9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址(AC)10寫(xiě)數(shù)到CGRAM或DDRAM10要寫(xiě)的數(shù)據(jù)11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)表2.4的相關(guān)命令設(shè)置如表2.5所示:表2.5 1602指令相關(guān)設(shè)置命 令設(shè)置命 令設(shè)置I/D1增量方式,0減量方式S/C1顯示器移位,0光標(biāo)移位S1不移動(dòng),0移動(dòng)R/L1右移,0左移D1顯示,0不顯示DL18BIT,06BITC1顯示光標(biāo),0不顯示光標(biāo)N12 行,01 行B1光標(biāo)閃爍,0光標(biāo)不閃爍F15*10 字型,0

28、5*7 字型BF1正在執(zhí)行部操作,0可接收命令控制信號(hào)RS、RW、E與對(duì)應(yīng)功能的真值表如表3.6所示:表2.6 控制使能端真值表RSRWE功能RSR/WE功能00下降沿寫(xiě)指令代碼10下降沿寫(xiě)數(shù)據(jù)01上升沿讀忙標(biāo)志和AC碼10上升沿讀數(shù)據(jù)三 數(shù)字式人體脈搏儀測(cè)量系統(tǒng)軟件設(shè)計(jì)從脈搏傳感器出來(lái)的脈搏信號(hào),經(jīng)過(guò)放大電路、電壓基準(zhǔn)變化電路、過(guò)零比擬器,轉(zhuǎn)換為脈沖信號(hào)之后,需要對(duì)單片機(jī)進(jìn)展編程,實(shí)現(xiàn)對(duì)脈搏波動(dòng)頻率的測(cè)量、計(jì)算和顯示。本設(shè)計(jì)中,軟件設(shè)計(jì)采用模塊化構(gòu)造。根據(jù)脈搏波動(dòng)頻率測(cè)量系統(tǒng)的設(shè)定功能,將軟件劃分為假設(shè)干個(gè)功能相對(duì)獨(dú)立的模塊,主要有系統(tǒng)主程序和脈搏波動(dòng)頻率測(cè)量模塊。本章給出主要模塊的程序設(shè)計(jì)

29、思想和流程圖。3.1 脈搏頻率測(cè)量原理脈沖信號(hào)的頻率是指在單位時(shí)間由信號(hào)所產(chǎn)生的交變次數(shù)或脈沖個(gè)數(shù),即f*=N/t可以看出測(cè)量f*必須將N或t兩個(gè)量之一作為閘門(mén)或基準(zhǔn),對(duì)另一個(gè)量進(jìn)展測(cè)量。周期測(cè)量法:適用于低頻信號(hào)。采用單片機(jī)的一個(gè)定時(shí)/計(jì)數(shù)器,以單片機(jī)的標(biāo)準(zhǔn)機(jī)器周期作為標(biāo)準(zhǔn)時(shí)基信號(hào)Ts,如圖3.1所示。被測(cè)信號(hào)的周期作為信號(hào)閘門(mén),由程序控制開(kāi)關(guān)對(duì)時(shí)基進(jìn)展計(jì)數(shù)得n*,因此被測(cè)信號(hào)周期為。圖3.1周期測(cè)量法原理多周期同步法:適用于中頻信號(hào)。其特點(diǎn)是標(biāo)準(zhǔn)頻率信號(hào)不是用來(lái)填充待測(cè)信號(hào)的周期,而是與待測(cè)信號(hào)分別輸入到兩個(gè)計(jì)數(shù)器進(jìn)展同步計(jì)數(shù)。首先,由單片機(jī)給出閘門(mén)開(kāi)啟信號(hào),此時(shí),計(jì)數(shù)器并不開(kāi)場(chǎng)計(jì)數(shù),而是

30、等到被測(cè)信號(hào)的上升沿到來(lái)時(shí),才真正開(kāi)場(chǎng)計(jì)數(shù)。然后,兩級(jí)計(jì)數(shù)器分別對(duì)被測(cè)信號(hào)和標(biāo)準(zhǔn)信號(hào)計(jì)數(shù)。當(dāng)單片機(jī)給出閘門(mén)關(guān)閉信號(hào)后,計(jì)數(shù)器并不立即停頓計(jì)數(shù)而是等到被測(cè)信號(hào)上升沿來(lái)到的時(shí)刻才真正完畢計(jì)數(shù),完成一次測(cè)量過(guò)程。如圖3.2所示,可以看出,實(shí)際閘門(mén)與參考閘門(mén)并不嚴(yán)格相等,但最大差值不超過(guò)被測(cè)信號(hào)的一個(gè)周期。設(shè)對(duì)被測(cè)信號(hào)的計(jì)數(shù)值為N*,對(duì)時(shí)基信號(hào)的計(jì)數(shù)值為N0,時(shí)基信號(hào)的頻率為f0,則被測(cè)信號(hào)的頻率為: 。圖3.2 多周期測(cè)量法原理頻率測(cè)量法:適用于高頻信號(hào)。充分利用單片機(jī)的兩個(gè)定時(shí)/計(jì)數(shù)器。一個(gè)作為定時(shí)器,給出標(biāo)準(zhǔn)閘門(mén)信號(hào)Tz,另一個(gè)作為計(jì)數(shù)器,對(duì)f*的變化次數(shù)直接進(jìn)展計(jì)數(shù)得N*,如圖3.3所示。圖3

31、.3 脈搏波動(dòng)頻率測(cè)量法原理人體脈搏信號(hào)從時(shí)域上看,是一個(gè)周期性較強(qiáng)的準(zhǔn)周期信號(hào)。脈搏波動(dòng)頻率為6080次/min,其頻率一般情況下為1Hz左右,屬于低頻信號(hào)。所以,本設(shè)計(jì)中采用周期測(cè)量法。3.2 系統(tǒng)主程序的設(shè)計(jì)系統(tǒng)主程序控制單片機(jī)系統(tǒng)按預(yù)定的操作方式運(yùn)行,是單片機(jī)系統(tǒng)程序的框架。系統(tǒng)主程序流程圖如圖4.4所示。圖3.4 系統(tǒng)主程序流程圖上電后,首先進(jìn)展整機(jī)初始化處理。主程序的初始化模塊主要完成儀器硬件、軟件的初態(tài)設(shè)置,單片機(jī)專用存放器的設(shè)定,單片機(jī)工作方式及各端口的工作狀態(tài)的規(guī)定。整機(jī)初始化完畢后,檢測(cè)P3.2口的狀態(tài),如果檢測(cè)到上升沿,則進(jìn)入脈搏波動(dòng)頻率測(cè)量子程序,測(cè)得脈搏波動(dòng)頻率之后,

32、送到LCD顯示單元進(jìn)展顯示。3.3 數(shù)字式人體脈搏儀測(cè)量子程序的設(shè)計(jì)本設(shè)計(jì)中對(duì)脈搏頻率的測(cè)量采用周期測(cè)量法。可將單片機(jī)定時(shí)/計(jì)數(shù)器T0定為16位定時(shí)器,對(duì)部機(jī)器周期計(jì)數(shù),即方式控制字為*01H。脈搏波動(dòng)頻率測(cè)量子程序流程圖如圖3.5所示。定時(shí)器的開(kāi)關(guān)由程序根據(jù)P3.2口上的狀態(tài)進(jìn)展控制,檢測(cè)到上升沿時(shí)開(kāi)T0計(jì)數(shù),當(dāng)緊接著的另一個(gè)上升沿被檢測(cè)到時(shí)關(guān)T0計(jì)數(shù)。T0中的計(jì)數(shù)值為n*,則被測(cè)脈搏信號(hào)周期對(duì)于12MHz晶振,Ts=1s,每分鐘跳動(dòng)次數(shù)。圖3.5 脈搏波動(dòng)頻率測(cè)量子程序流程圖考慮到脈搏的頻率很低,大約為1Hz左右,而16 位定時(shí)/計(jì)數(shù)器的最高計(jì)數(shù)值為65535,這樣定時(shí)/計(jì)數(shù)器將發(fā)生溢出,

33、且最后脈搏波動(dòng)頻率的計(jì)算涉及到雙字節(jié)除法,編程較復(fù)雜。為此,采用定時(shí)器中斷方式,即在一個(gè)脈搏周期,隔一段時(shí)間T1,T1即為中斷周期。設(shè)N為每分鐘脈搏跳動(dòng)次數(shù),T為脈搏跳動(dòng)周期,則本設(shè)計(jì)中,設(shè)定顯示的每分鐘脈搏跳動(dòng)次數(shù)誤差不超過(guò)1次,則假設(shè)T=2,則定時(shí)器周期不超過(guò)1/15秒。假設(shè)T=1,則定時(shí)器周期不超過(guò)1/60秒。取T=1,即定時(shí)器周期不超過(guò)1/60秒。設(shè)中斷周期為T(mén)1,中斷次數(shù)為n,則:為方便計(jì)算,?。?。由于定時(shí)器周期不超過(guò)1/60秒,即, ,故取m=7。即中斷周期為。每分鐘脈搏跳動(dòng)次數(shù),為方便計(jì)算,取。系統(tǒng)程序見(jiàn)下。數(shù)字式脈搏器的設(shè)計(jì)程序*include*include*include

34、 *include *define uchar unsigned char*define uint unsigned int*define BUSY 0*80 / LCD *define DATAPORT P0/ 參sbit LCM_RS=P20;/ 數(shù)sbit LCM_RW=P21; / 配sbit LCM_EN=P22; / 置sbit reset=P37;sbit bj=P30;sbit time_start=P32; sbit time_over=P33;sbit EOC=P23; /OE1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE0,輸出數(shù)據(jù)線呈高阻狀態(tài)。sbit START=P24; /START

35、為轉(zhuǎn)換啟動(dòng)信號(hào)。當(dāng)START上跳沿時(shí),所有部存放器清零;下跳沿時(shí),開(kāi)場(chǎng)進(jìn)展A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持低電平。sbit OE =P25; /EOC為轉(zhuǎn)換完畢信號(hào)。當(dāng)EOC為高電平時(shí),說(shuō)明轉(zhuǎn)換完畢;否則,說(shuō)明正在進(jìn)展A/D轉(zhuǎn)換。sbit AD_ALE=P26; /ad 轉(zhuǎn)換sbit CLK=P27;unsigned long int getdata;void ADC0809();uchar code str0=Throb: ;uchar code str1=Time: ;void delay(uint k); /延時(shí)void lcd_wait(); /LCM忙檢測(cè)void Writeman

36、dLCM(uchar WCLCM,uchar BusyC); /寫(xiě)指令到LCM子函數(shù)void WriteDataLCM(uchar WDLCM); /寫(xiě)數(shù)據(jù)到LCM子函數(shù)void DisplayOneChar(uchar *,uchar Y,uchar DData); /顯示指定坐標(biāo)的一個(gè)字符子函數(shù)void DisplayListChar(uchar *,uchar Y,uchar code *DData); /顯示指定坐標(biāo)的一串字符子函數(shù)void initLCM( void); /LCD初始化子程序uchar m=0;uint counter=0,counter_0=0;uchar seco

37、nd_0=0;uint totle_1;float totle_0;void main()uint i,j,k; TMOD=0*02;TL0=0*fe;TH0=0*fe; /AD頻率TR0=1;ET0=1;TH1=0*60;TL1=0*78;/定時(shí)5msET1=1;P*1=1;E*0=1;IT0=1;E*1=1;IT1=1;EA=1;delay(100); /系統(tǒng)延時(shí)500ms啟動(dòng) initLCM( ); WritemandLCM(0*01,1); /清顯示屏 DisplayListChar(0,0,str0);DisplayListChar(0,1,str1);AD_ALE=0;START=

38、0;OE=0;while(1)ADC0808();/v=getdata;if(getdata=300&getdata=300&getdata400)counter+; if(m=1)PT1=1;TR1=1;m=0;/DisplayOneChar(7,0,0*30+getdata/100);/DisplayOneChar(8,0,0*30+getdata%10);/DisplayOneChar(9,0,0*30+getdata/10%10);if(counter=100) DisplayOneChar(7,0,0*30+counter/100);DisplayOneChar(8,0,0*30+c

39、ounter/10%10);DisplayOneChar(9,0,0*30+counter%10); if(second_059) second_0=0;DisplayOneChar(7,1,0*30+second_0%10);DisplayOneChar(6,1,0*30+second_0/10);if(reset=0)counter=0;counter_0=0;second_0=0;totle_0=0;totle_1=0;bj=0;totle_1=(int)totle_0;DisplayOneChar(9,1,0*30+totle_1/100);DisplayOneChar(10,1,0*

40、30+totle_1/10%10);DisplayOneChar(11,1,0*30+totle_1%10);DisplayOneChar(12,1,/);DisplayOneChar(13,1,m);DisplayOneChar(14,1,i);DisplayOneChar(15,1,n);if(totle_1120)for(k=0;k100;k+)for(i=0;i25;i+)bj=0;for(j=0;j25;j+)bj=1;if(reset=0)counter=0;counter_0=0;second_0=0;totle_0=0;totle_1=0;bj=0;if(totle_10)fo

41、r(k=0;k100;k+)for(i=0;i25;i+)bj=0;for(j=0;j25;j+)bj=1;if(reset=0)counter=0;counter_0=0;second_0=0;totle_0=0;totle_1=0;bj=0;/*外部中斷0*/void intr0_int() interrupt 0 using 3m=1;/*外部中斷1*/ void intr1_int() interrupt 2 using 3PT1=0;TR1=0;totle_0=(float)counter/second_0*60;/*定時(shí)中斷0*/void timer0_int() interrup

42、t 1 using 1 CLK=CLK; /*定時(shí)中斷1*/void timer1_int() interrupt 3 using 2TH1=0*60;TL1=0*78;counter_0+; if(counter_0=190)counter_0=0;second_0+;/*延時(shí)K*1ms,12.000mhz*/void delay(uint k) uint i,j; for(i=0;ik;i+) for(j=0;j100;j+);/*lcm部等待函數(shù)*/ /從這里到AD前面都是 LCD的驅(qū)動(dòng)程序void lcd_wait(void) DATAPORT=0*ff; /讀LCD前假設(shè)單片機(jī)輸出低

43、電平,而讀出LCD為高電平,則沖突,Proteus仿真會(huì)有顯示邏輯黃色LCM_EN=1; LCM_RS=0; LCM_RW=0; LCM_RW=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();_nop_(); while(DATAPORT&BUSY) LCM_EN=0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); LCM_EN=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_();_nop_();_nop_(); LCM_EN=0;/*寫(xiě)指令到LCM子函數(shù)*/void WritemandLCM(uchar WCLCM,uc

溫馨提示

  • 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)論