便攜式心率計(jì)的設(shè)計(jì)(合肥),便攜式,心率,設(shè)計(jì),合肥
學(xué)號(hào):1108441016
本科畢業(yè)論文(設(shè)計(jì))
(2015屆)
便攜式心率計(jì)的設(shè)計(jì)
院 系 電子信息工程學(xué)院
專 業(yè) 電子信息工程
姓 名 左中剛
指導(dǎo)教師 尹靜 助教
2015 年 5 月
合肥師范學(xué)院2015屆本科畢業(yè)論文(設(shè)計(jì))
摘 要
在社會(huì)飛速發(fā)展的今天,人們的物質(zhì)文化生活得到了極大的提高,但同時(shí)多種疾病威脅著人們的生命;而心臟病又是人們難以預(yù)防的突發(fā)致命疾病,所以健康也被越來(lái)越多的人所重視。本設(shè)計(jì)要解決的問(wèn)題就是可以測(cè)量心率、預(yù)防心臟病等心臟方面疾病的數(shù)字心率計(jì)。
便攜式數(shù)字人體心率計(jì)運(yùn)用STC89C51單片機(jī)作為核心控制處理單元,采用紅外傳感器作為傳感器,運(yùn)用軟件和硬件雙重濾波技術(shù)實(shí)現(xiàn)了對(duì)人體心率信號(hào)的準(zhǔn)確檢測(cè)。測(cè)量范圍限可以用按鍵調(diào)節(jié),并進(jìn)行聲音報(bào)警,傳感器可以放在身體脈搏明顯的任何部位,測(cè)量結(jié)果以數(shù)字方式方式顯示,測(cè)量精確到2次/分。經(jīng)過(guò)大量實(shí)驗(yàn),本心率計(jì)已經(jīng)基本達(dá)到題目要求部分的全部指標(biāo)。
關(guān)鍵字:心率計(jì),紅外傳感器,單片機(jī)STC89C51,LM358
Abstract
In the social rapid development today, greatly improve the obtained people's material and cultural life, but also a variety of diseases threatening people's life; and another heart attack is sudden fatal disease people difficult to prevent, so health is also more and more people are paying attention. This design is to solve the problem that can measure the heart rate, the prevention of heart disease and other digital heart rate meter heart disease.
Portable digital human body heart rate meter using STC89C51 microcontroller as a core processing unit, using infrared sensors as sensor and realizes accurate detection of human heart rate signal by software and hardware double filtering technique. Measuring range limit keys can be adjusted, and sound alarm, sensors can be placed in any part of the body pulse obviously, the measurement results in digital form to display the measurement accurate to 2 times / min. After a lot of experiments, heart rate meter has basically reached the requirements of Title part of all indexes of the.
Keywords: heart rate meter, infrared sensor, STC89C51 MCU, LM358
目 錄
摘 要 I
Abstract II
目 錄 III
第一章 引言 2
1.1 心率計(jì)的研究背景和意義 2
1.2 心率計(jì)的研究現(xiàn)狀及發(fā)展動(dòng)態(tài) 2
第二章 方案論證及元器件選擇 3
2.1 研究?jī)?nèi)容及設(shè)計(jì)指標(biāo) 3
2.2 方案設(shè)計(jì)與論證 3
2.3 元器件選擇及功能介紹 6
第三章 硬件系統(tǒng)設(shè)計(jì) 7
3.1 系統(tǒng)設(shè)計(jì)框圖 7
3.2 信號(hào)采集電路 8
3.3信號(hào)放大電路 9
3.4 信號(hào)比較電路 9
3.5 LCD1602顯示電路 10
3.6 鍵盤電路 10
第四章 系統(tǒng)軟件設(shè)計(jì) 11
4.1測(cè)量計(jì)算原理 11
4.2主程序流程圖 11
4.3中斷程序流程圖 12
4.4定時(shí)器T0和T1的中斷服務(wù)程序 12
第五章 系統(tǒng)測(cè)試與結(jié)果分析 13
5.1 測(cè)試方法和儀器 13
5.2仿真與焊接階段 14
5.3 測(cè)試數(shù)據(jù)與結(jié)果分析 15
第六章 總結(jié)和展望 18
參考文獻(xiàn) 19
附錄 20
附錄一:系統(tǒng)仿真圖 20
附錄二:系統(tǒng)原理圖 20
附錄三:系統(tǒng)PCB 21
附錄四:源程序 22
7
合肥師范學(xué)院2015屆本科生畢業(yè)生論文(設(shè)計(jì))
第一章 引言
1.1 心率計(jì)的研究背景和意義
伴隨著全球科技與經(jīng)濟(jì)的飛速發(fā)展與進(jìn)步,關(guān)愛(ài)生命與健康已成為人類的共同追求。心腦血管方面的問(wèn)題是危害人類生命和健康的最主要的疾病。每年由于心腦血管疾病死亡的人數(shù)居人類疾病死亡的首位,高昂的醫(yī)療費(fèi)用,給人們的家庭和社會(huì)造成巨大負(fù)擔(dān)[1]。近年來(lái),由于人們飲食問(wèn)題以及生活節(jié)奏變快等原因,心腦血管疾病的發(fā)病率更是呈逐年上升的趨勢(shì)。如何科學(xué)的降低心腦血管疾病的發(fā)病率和死亡率,有效的減輕心腦血管疾病帶來(lái)的社會(huì)和家庭負(fù)擔(dān),已經(jīng)成為全社會(huì)所面臨的一個(gè)十分嚴(yán)峻問(wèn)題。
今天,越來(lái)越多的人已認(rèn)識(shí)到健康生活方式和疾病預(yù)防的重要性,對(duì)擁有日常家庭化和個(gè)性化的健康監(jiān)測(cè)和疾病預(yù)防手段的需求也日益增大。在脈搏波研究方面,國(guó)內(nèi)外已經(jīng)出現(xiàn)了眾多的技術(shù)和理論,基于現(xiàn)代醫(yī)學(xué)技術(shù),利用脈搏波對(duì)人體心血管健康進(jìn)行無(wú)創(chuàng)檢測(cè)的方法和儀器不斷涌現(xiàn)?,F(xiàn)在的任務(wù)是既要對(duì)脈搏波的檢測(cè)分析及對(duì)心血管健康檢測(cè)應(yīng)用方面做進(jìn)一步研究,研制一種面向家庭和社區(qū)醫(yī)療服務(wù)的,能夠?qū)θ梭w動(dòng)脈硬化的程度和其他心血管健康狀況進(jìn)行無(wú)創(chuàng)檢測(cè)的儀器,讓更多的人對(duì)自己的心血管健康狀態(tài)進(jìn)行及時(shí)的了解,對(duì)心血管疾病能夠及早的發(fā)現(xiàn)和進(jìn)行預(yù)防。
基于上述現(xiàn)狀和背景,不難發(fā)現(xiàn):心血管功能檢測(cè)新技術(shù)、新方法的研究以及心血管功能監(jiān)測(cè)類家用電子醫(yī)療保健儀器的開(kāi)發(fā)已刻不容緩。它不僅能滿足當(dāng)前的醫(yī)療保健急需,也能為維持和發(fā)展我國(guó)家用數(shù)字醫(yī)療事業(yè),為推行實(shí)施國(guó)家“家庭醫(yī)療保健工程”做出積極和長(zhǎng)久的貢獻(xiàn)[2]。
1.2 心率計(jì)的研究現(xiàn)狀及發(fā)展動(dòng)態(tài)
自上世紀(jì)80年代以來(lái),基于血流動(dòng)力流變學(xué)和彈性腔理論的無(wú)創(chuàng)傷血管功能檢測(cè)方法的研究逐漸受到廣泛的關(guān)注。很多不同學(xué)科的研究員與醫(yī)學(xué)家合作,研究出各種應(yīng)用型人體心率傳感器,有單部、三部、液態(tài)水、子母式單點(diǎn),多點(diǎn),氣壓式、硅杯式、軟性接觸式、剛性接觸式等,組成脈搏傳感器的主要部件有壓電晶體、單晶硅、陶瓷應(yīng)變片、光敏組件、pvdf壓電薄膜等,其中以單部單點(diǎn)應(yīng)變片式應(yīng)用最為廣泛。
到目前,用于評(píng)價(jià)大動(dòng)脈的結(jié)構(gòu)和方法已有很多。血管造影和其他造影技術(shù)等有創(chuàng)方法可精確評(píng)價(jià)動(dòng)脈管腔或分心動(dòng)脈壁結(jié)構(gòu)。但是這些方法操作復(fù)雜,費(fèi)用高昂,需要非常精密的技術(shù)設(shè)備,限制了其只能在大型臨床研究中應(yīng)用,另外,還有一些其他的無(wú)創(chuàng)方法,這些主要根據(jù)超聲技術(shù)和計(jì)算機(jī)分析圖像和超聲信號(hào),來(lái)研究某些動(dòng)脈軸和位點(diǎn)的功能和結(jié)構(gòu),這些相對(duì)復(fù)雜的技術(shù)僅用于某些臨床研究實(shí)驗(yàn)室。在無(wú)創(chuàng)方法中,脈搏波速度的檢測(cè)已經(jīng)在較長(zhǎng)時(shí)間內(nèi)廣泛應(yīng)用于評(píng)價(jià)動(dòng)脈壁擴(kuò)張性和硬度。該方法無(wú)創(chuàng)傷,操作簡(jiǎn)單、結(jié)果準(zhǔn)確、重復(fù)性好,因此被廣泛應(yīng)用于大型治療和流行病學(xué)研究當(dāng)中,并且,該方法非常適合于向家庭和社區(qū)醫(yī)療服務(wù)推廣。國(guó)外,諸如法國(guó)研制生產(chǎn)的康普樂(lè)儀、日本科林公司的動(dòng)脈硬化檢測(cè)儀等就是利用此種方法,并在歐美國(guó)家得到廣泛的普及,國(guó)內(nèi)也有醫(yī)院引進(jìn)了這種設(shè)備,但是價(jià)格昂貴[7][8]。國(guó)內(nèi)也有多家單位開(kāi)始了此類設(shè)備的研究,在2007年,也有類似的產(chǎn)品相繼上市。但是,這些儀器均被應(yīng)用在大型醫(yī)療機(jī)構(gòu)中,成本高,檢測(cè)費(fèi)用高,功能局限于檢測(cè),不能滿足患者隨時(shí)隨地的檢測(cè)的需要。
第二章 方案論證及元器件選擇
2.1 研究?jī)?nèi)容及設(shè)計(jì)指標(biāo)
研究?jī)?nèi)容:
便攜式數(shù)字人體心率計(jì)運(yùn)用STC89C51單片機(jī)作為核心控制處理單元,采用紅外傳感器作為傳感器,運(yùn)用軟件和硬件雙重濾波技術(shù)實(shí)現(xiàn)了對(duì)人體心率信號(hào)的準(zhǔn)確檢測(cè),最終以數(shù)值形式顯示在LCD上。
本課題開(kāi)發(fā)一款低功耗、便攜式數(shù)字心率計(jì),具體要求如下:
(1)實(shí)時(shí)測(cè)量被測(cè)者心率值,并顯示;
(2)可用按鍵設(shè)置正常心率的范圍,超過(guò)這個(gè)范圍,進(jìn)行報(bào)警提示。
2.2 方案設(shè)計(jì)與論證
2.2.1 傳感器的選擇與論證
(1)壓電式
壓電式傳感器的檢測(cè)方法是利用壓力傳感器或振動(dòng)傳感器將人體脈搏振動(dòng)轉(zhuǎn)換成電信號(hào)。常見(jiàn)的壓力傳感器可用現(xiàn)有的壓電陶瓷代替。壓電式元件的內(nèi)阻極高,通常采用兩片相同的元件,使其極性反向相疊,由夾在中間的銅片作為一個(gè)電極。這樣,中央電極處于全空狀態(tài),可以用具有良好絕緣性的導(dǎo)線引出。此種方法的優(yōu)點(diǎn)是傳感器種類多,一般的傳感器輸出信號(hào)也比較大,對(duì)后面的放大電路要求不高。壓電陶瓷具有成本低、取材方便、易于提高敏感度等特點(diǎn)。
(2)聲電式
聲電式傳感器的作用是將氣體、液體或固體中傳播的機(jī)械振動(dòng)轉(zhuǎn)換成電信號(hào)。因此,它也屬于力學(xué)量傳感器。它的制作材料一般由不定性無(wú)煙煤顆?;驂弘娞沾蓸?gòu)成。顆粒式聲電傳感器的優(yōu)點(diǎn)是耐用、成本低和容易制作,缺點(diǎn)是顆粒的機(jī)械磨損和接觸表面上的瞬間電弧會(huì)使顆粒逐漸老化,從而導(dǎo)致雜音大、性能不穩(wěn)定和非線性;而壓電陶瓷式的聲電傳感器在檢測(cè)聲音信號(hào)時(shí)卻存在著一定的缺陷。
聲電式檢測(cè)方法是利用微音傳感器將人體的振動(dòng)的聲音轉(zhuǎn)換成電信號(hào)。此種方法的優(yōu)點(diǎn)是作為傳感器的微音傳感器可利用現(xiàn)有的駐極體或電容式話筒,但其后面的電路要采取一定的措施將環(huán)境的聲音干擾信號(hào)濾去。
(3)光電式
光電系統(tǒng)通常是指能敏感由紫外光到紅外光的光能量,并將光能量轉(zhuǎn)換成電信號(hào)的器件。通常用的光電器件有光電二極管和光電三極管。光電式傳感器測(cè)量微小的位移變化有明顯的效果,但是光電傳感器對(duì)材料、電路控制和光電管屬性要求較高:1)吸收紅外光的能力極強(qiáng)2)介電常數(shù)小,以便得到大的輸出電壓。3)介電損耗小。
光電式檢測(cè)方法是利用光電傳感器檢測(cè)人體內(nèi)血液流動(dòng)時(shí)對(duì)光的透過(guò)率或反射率不同而將其轉(zhuǎn)換成電信號(hào)的方法。此種方法有兩種方式:一種是對(duì)射式,另一種是反射式。對(duì)射式是在一個(gè)大小合適的環(huán)的兩側(cè)各放一個(gè)發(fā)射管和一個(gè)接收管,測(cè)量時(shí)將人的手指伸到環(huán)中,由于手指中的血流量的變化而使光電接收管的光電流也隨之變化,反射式是光電發(fā)射與光電接收都指向一個(gè)方向,當(dāng)人體內(nèi)的血流發(fā)生變化時(shí)其對(duì)光的反射率也隨之變化,從而檢測(cè)出心率。這種方法的優(yōu)點(diǎn)是外界干擾信號(hào)小,但其最大的難點(diǎn)是傳感器輸出信號(hào)小,對(duì)后面的放大電路要求較高。此外,對(duì)于干擾變化強(qiáng)烈的信號(hào),回路不宜調(diào)制,可視光電管的定向角不同,光軸也不宜把握。
綜上所述,從傳感器的制作工藝、材料的選取、受外界的干擾信號(hào)的干擾程度和制作過(guò)程中前級(jí)電路的處理難易程度上考慮,就選用一對(duì)紅外對(duì)射二極管實(shí)現(xiàn)。紅外傳感器的檢測(cè)、放大、濾波和整型并傳到單片機(jī)工作系統(tǒng)的過(guò)程見(jiàn)下圖2-1所示:圖2-1信號(hào)檢測(cè)處理工作流程圖
2.2.2 信號(hào)處理方案選擇和論證
(1)小規(guī)模數(shù)字電路:采用小規(guī)模數(shù)字電路也可完成此方案的基本功能,
電路框圖如圖2-2所示。
圖2-2小規(guī)模數(shù)字電路心率計(jì)
這種方案是采用一個(gè)二進(jìn)制計(jì)數(shù)器,將處理后的脈波信號(hào)進(jìn)行計(jì)數(shù),在1分鐘內(nèi)將計(jì)數(shù)值顯示。此方案的不足是電路結(jié)構(gòu)復(fù)雜,實(shí)現(xiàn)一個(gè)相對(duì)簡(jiǎn)單一些的過(guò)程控制功能都要用好多片電路,且數(shù)字電路器件功能單一,一旦硬件電路定型就難以改動(dòng),尤其在題目要求中,要實(shí)現(xiàn)心率測(cè)量并顯示,還要超限報(bào)警等等,則顯得力不從心。
(2)PLD:可編程邏輯器件(PLD)突破了小規(guī)模數(shù)字電路功能單一的缺點(diǎn),可以按照設(shè)計(jì)者設(shè)計(jì)分析出來(lái)的邏輯要求去編程定義,應(yīng)用起來(lái)確實(shí)方便,設(shè)計(jì)也比較靈活。針對(duì)題目要求,該方案應(yīng)該至少由傳感器電路、閘門電路、計(jì)數(shù)器電路、數(shù)字鎖存電路、顯示電路、數(shù)據(jù)存儲(chǔ)電路、PC接口電路七部分構(gòu)成,在閘門信號(hào)允許時(shí)間內(nèi)對(duì)被測(cè)信號(hào)計(jì)數(shù),閘門寬度為單位時(shí)間。顯然電路復(fù)雜,一旦涉及到數(shù)據(jù)處理、數(shù)據(jù)分析、數(shù)據(jù)記憶、數(shù)據(jù)通信等功能要求時(shí),其實(shí)現(xiàn)難度可想而知。
(3)單片機(jī):?jiǎn)纹瑱C(jī)的發(fā)展和應(yīng)用大家有目共睹,其體積小、重量輕、價(jià)格低、可靠性高、耗電少和靈活機(jī)動(dòng)等許多優(yōu)點(diǎn)已經(jīng)被默認(rèn)。在科學(xué)計(jì)算、數(shù)據(jù)處理及信息管理、CAD、CAM、CAA、CAI、過(guò)程控制和儀表智能化、軍事領(lǐng)域、多媒體系統(tǒng)和信息高速公路甚至家用電器和家庭自動(dòng)化等方面都可以看到單片機(jī)的影子,可謂立下了汗馬功勞。
單片機(jī)內(nèi)部包含了CPU、RAM、ROM、I/O口、總線甚至A/D及D/A轉(zhuǎn)換電路,功能十分強(qiáng)大。許多在數(shù)字電路、模擬電路中的難題都在單片機(jī)的程序設(shè)計(jì)中得到了出乎意料的解決效果,通過(guò)對(duì)程序和外部少許電路的修改即可以改變整個(gè)設(shè)計(jì)系統(tǒng)的功能。可移植性和可維護(hù)性得到極大的改善。在數(shù)據(jù)分析、處理、記憶、通訊等方面表現(xiàn)相當(dāng)出色。根據(jù)題目提出的要求,單片機(jī)控制當(dāng)為首選。以單片機(jī)為主外設(shè)顯示器、鍵盤、通訊、打印接口等硬件電路,完成脈波計(jì)數(shù)、數(shù)據(jù)運(yùn)算、顯示、通訊、記憶等功能。
根據(jù)以上方案比較,本課題決定采用以紅外傳感器為傳感器,以單片機(jī)為主控芯片外輔少量硬件電路完成數(shù)據(jù)處理、記憶、顯示、通訊等功能。硬件框圖如圖2-3所示。
圖 2-3單片機(jī)心率計(jì)
2.2.3 單片機(jī)系統(tǒng)選擇
STC89C51、STC89C52單片機(jī)是最常用的單片機(jī),是一種高性能、低損耗、CMOS八位微處理器。STC89C51與MCS-51系列的單片機(jī)在指令系統(tǒng)和引腳上完全兼容,而且能使系統(tǒng)具有許多新的功能,功能強(qiáng)、靈活性高而且價(jià)格低廉。STC89C51可構(gòu)成真正的單片機(jī)最小應(yīng)用系統(tǒng),增加系統(tǒng)可靠性,縮小系統(tǒng)體積,降低了系統(tǒng)成本。程序長(zhǎng)度只要不大于4K,四個(gè)I/O口全部提供給用戶。系統(tǒng)運(yùn)行中需要存放的中間變量較少,可不必再擴(kuò)充外部RAM。采用STC89C51單片機(jī),其內(nèi)部有4KB單元的程序存儲(chǔ)器。而且具有三個(gè)定時(shí)器,正好滿足系統(tǒng)多機(jī)通信時(shí)所用。 比較以上方案,綜合考慮單片機(jī)的各部分資源,因此此次設(shè)計(jì)選用STC89C51。
2.2.4 顯示模塊選擇和論證
(1)液晶顯示
液晶單元是容性負(fù)載,液晶的電阻在大多數(shù)情況下可以忽略不計(jì),是無(wú)極性的,即正壓和負(fù)壓的作用效果是一樣的。當(dāng)頻率小于1000Hz時(shí),液晶透光率的改變只和外電壓的有效值有關(guān)。液晶顯示信息量大、長(zhǎng)壽命、低壓驅(qū)動(dòng)等優(yōu)點(diǎn)。
(2)LED動(dòng)態(tài)顯示
數(shù)碼管是一類顯示屏通過(guò)對(duì)其不同的管腳輸入相對(duì)的電流,會(huì)使其發(fā)亮,從而顯示出數(shù)字能夠顯示時(shí)間、日期、溫度等所有可用數(shù)字表示的參數(shù)。由于它的價(jià)格便宜 使用簡(jiǎn)單在電器 特別是家電領(lǐng)域應(yīng)用極為廣泛,空調(diào)、熱水器、冰箱等等。絕大多數(shù)熱水器用的都是數(shù)碼管,其他家電也用液晶屏與熒光屏。
根據(jù)以上兩種方案比較,液晶顯示具有其獨(dú)特的優(yōu)越性,顯示效果好,控制簡(jiǎn)單等優(yōu)點(diǎn)。所以就選擇液晶來(lái)實(shí)現(xiàn)顯示功能。
2.3 元器件選擇及功能介紹
2.3.1單片機(jī)STC89C51
STC89C51是一種低功耗、高性能CMOS8位微控制器,具有4K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、有效的解決方案。
STC89C51具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,STC89C51 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。
2.3.2紅外傳感器
紅外技術(shù)是在最近幾十年中發(fā)展起來(lái)的一門新興技術(shù)。它在科技,國(guó)防,和工農(nóng)業(yè)生產(chǎn)等領(lǐng)域得到廣泛的應(yīng)用,特別是在科學(xué)研究、軍事工程和醫(yī)學(xué)方面起著極其重要的作用。例如在紅外制導(dǎo)火箭、紅外成像、紅外遙感等。而紅外輻射技術(shù)的重要工具就紅外傳感器,紅外傳感器已經(jīng)在現(xiàn)代化的生產(chǎn)實(shí)踐中發(fā)揮著它的巨大作用。尤其是在實(shí)現(xiàn)遠(yuǎn)距離溫度監(jiān)測(cè)與控制方面,紅外溫度傳感器以其優(yōu)異的性能,滿足了多方面的要求,因而在產(chǎn)品傳感器大顯身手的地方。因此紅外傳感器的發(fā)展前景也是不可估量的。本設(shè)計(jì)的心率計(jì)的傳感器采用一對(duì)5MM的紅外對(duì)管外輔少許電路所組成的紅外傳感器,紅外對(duì)管是紅外線發(fā)射管與光敏接收管,或者紅外線接收管,或者紅外線接收頭配合在一起使用時(shí)候的總稱。
紅外線發(fā)射管在LED封裝行業(yè)中主要有三個(gè)常用的波段,如下850NM、875NM、940NM。根據(jù)波長(zhǎng)的特性運(yùn)用的產(chǎn)品也有很大的差異,850NM波長(zhǎng)的主要用于紅外線監(jiān)控設(shè)備,875NM主要用于醫(yī)療設(shè)備,940NM波段的主要用于紅外線控制設(shè)備。EG:紅外線遙控器、光電開(kāi)關(guān)、光電記數(shù)設(shè)備等。
光敏接收管是一個(gè)具有光敏特征的PN結(jié),屬于光敏三極管,具有單向?qū)щ娦裕虼斯ぷ鲿r(shí)需加上反向電壓。無(wú)光照時(shí),有很小的飽和反向漏電流(暗電流)。此時(shí)光敏管不導(dǎo)通。當(dāng)光照時(shí),飽和反向漏電流馬上增加,形成光電流,在一定的范圍內(nèi)它隨入射光強(qiáng)度的變化而增大。
2.3.3雙運(yùn)算放大器LM358
LM358內(nèi)部包括有兩個(gè)獨(dú)立的、高增益、內(nèi)部頻率補(bǔ)償?shù)碾p運(yùn)算放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式,在推薦的工作條件下,電源電流與電源電壓無(wú)關(guān)。它的使用范圍廣,有傳感放大器、直流增益模塊和其他所有使用運(yùn)算放大器的可用單電源供電的場(chǎng)合。
2.3.4 LCD1602顯示模塊
1602LCD是指顯示的內(nèi)容為16x2,即可以顯示兩行,每行16個(gè)字符液晶模塊(顯示字符和數(shù)字)。
第三章 硬件系統(tǒng)設(shè)計(jì)
3.1 系統(tǒng)設(shè)計(jì)框圖
心率計(jì)的總體設(shè)計(jì)電路框圖如圖3-1所示,主要有信號(hào)采集電路、放大電路、比較電路和單片機(jī)信號(hào)處理電路和液晶顯示電路。首先使用紅外傳感器收集與心跳相同頻率的信號(hào),當(dāng)人體組織的半透明度較大時(shí),紅外發(fā)射管發(fā)射出的光透過(guò)人體組織的強(qiáng)度低,此時(shí)光敏三極管不通,輸出高電平;當(dāng)人體組織的半透明度較小時(shí),紅外發(fā)射管發(fā)射出的光透過(guò)人體組織的強(qiáng)度強(qiáng),光敏三極管是通路,輸出低電平。如此就有了頻率與脈搏的次數(shù)成正比的信號(hào),和正弦的波形類似。
當(dāng)脈搏為40次/分時(shí),檢測(cè)到的頻率是0.78Hz,當(dāng)脈搏為100次/分時(shí),檢測(cè)到的頻率是3.33Hz,從傳感器過(guò)來(lái)的是低頻信號(hào)。該低頻信號(hào)首先經(jīng)RC振蕩器濾波以消除高頻干擾,經(jīng)無(wú)極性隔直流電容C3、C5加到線性放大器的輸入端。運(yùn)算放大器將此信號(hào)放大100倍,并與R3、R4、C6組成的低通T型濾波器濾除殘留的干擾。正弦信號(hào)經(jīng)微分形成尖脈沖信號(hào),單穩(wěn)態(tài)振蕩電路將尖脈沖信號(hào)轉(zhuǎn)化為同頻率的長(zhǎng)脈沖信號(hào),該脈沖信號(hào)通過(guò)R12送到單片機(jī)后,經(jīng)過(guò)軟件對(duì)信號(hào)的處理,最后在以數(shù)值形式顯示在液晶上。
圖 3-1 系統(tǒng)設(shè)計(jì)原理框圖
3.2 信號(hào)采集電路
信號(hào)采集電路如圖3-2所示。5MM紅外對(duì)管D1與D3組成紅外傳感器。因紅外傳感器輸出的脈沖信號(hào)是非常微弱的信號(hào),而且頻率很低(如脈搏50次/分鐘為0.78Hz,200次/分鐘為3.33Hz),并且還伴有各種噪聲干擾,故該信號(hào)要經(jīng)過(guò)R7、C5低通濾波,去除高頻干擾。當(dāng)傳感器檢測(cè)到較強(qiáng)的干擾噪音時(shí),其輸出端的直流電壓信號(hào)會(huì)有很大變化。
圖3-2 信號(hào)采集電路
3.3信號(hào)放大電路
如圖3-3所示,R3與R8的電阻之比為放大器的放大倍數(shù),經(jīng)過(guò)計(jì)算所得該放大器的理論值為200倍,但由于8號(hào)接口上5V供壓不足再加上材料限制和人為的因素,該放大倍數(shù)只有20倍左右。
圖中C7為耦合電容,作用為隔直流通交流,之所以使用1uF的電容,是為了讓所有的信號(hào)通過(guò)。信號(hào)放大電路仿真圖如圖3-4所示。
圖 3-3 信號(hào)放大電路
3.4 信號(hào)比較電路
電壓比較器是一種常用的集成電路。這里主要介紹其基本概念、工作原理及典型工作電路,電壓比較器是用來(lái)比較兩個(gè)模擬電壓的大小并顯示出哪一個(gè)的電壓高,接到的信號(hào)電壓小于該值時(shí)顯示0V,當(dāng)大于該值時(shí)顯示5V,這就形成了0和5V的方波。如圖3-7 所示。
圖3-7 電壓比較器
3.5 LCD1602顯示電路
LCD1602與單片機(jī)接口電路如下:
3.6 鍵盤電路
因?yàn)镮/O口足夠用,鍵盤設(shè)計(jì)采用線性鍵盤。三個(gè)引腳通過(guò)按鍵接地。有程序控制掃描。3個(gè)按鍵分別接到CPU的P30、P31、P32上,正常心率范圍的設(shè)置,以便在超出限制時(shí)報(bào)警提示。
圖 3-10鍵盤電路
第四章 系統(tǒng)軟件設(shè)計(jì)
基于單片機(jī)心率計(jì)的軟件設(shè)計(jì)主要由主程序流程圖、中斷程序流程圖及顯示子程序圖組成。C語(yǔ)言程序有利于實(shí)現(xiàn)較復(fù)雜的算法,匯編語(yǔ)言程序則具有較高的效率且容易精細(xì)計(jì)算程序運(yùn)行的時(shí)間,而心率計(jì)的程序既有較復(fù)雜的計(jì)算(時(shí)間t內(nèi)的平均值),又要求精細(xì)計(jì)算程序運(yùn)行時(shí)間(動(dòng)脈搏動(dòng)時(shí)間),所以控制程序可采用C語(yǔ)言和匯編語(yǔ)言混合編程。
4.1測(cè)量計(jì)算原理
設(shè)K個(gè)連續(xù)的動(dòng)脈搏動(dòng)所用時(shí)間為t(秒),在時(shí)間 t 內(nèi)心率的平均值為n(次/分),則:
n = 60K/t (4-1)
為了能夠控制用單片機(jī)計(jì)算機(jī)測(cè)定t值,我們利用脈動(dòng)信號(hào)控制(在K個(gè)連續(xù)的脈搏周期內(nèi))單片機(jī)的定時(shí)/計(jì)數(shù)器T0定時(shí)(定時(shí)1ms中斷一次),工作寄存器對(duì)中斷次數(shù)進(jìn)行計(jì)數(shù),然后讀取計(jì)數(shù)值。設(shè)該計(jì)數(shù)值為N,于是有:
t = 0.001N (4-2)
把(2)帶入(1)得到:
n = 60k/0.001N =60000K/N (4-3)
式(3)就是利用單片計(jì)算機(jī)測(cè)定心率值的數(shù)學(xué)模型(誤差小于0.4%)。在該單片機(jī)系統(tǒng)中,K = 1~~9(用戶可通過(guò)按鍵自行設(shè)置)??蓽y(cè)心率范圍20次/分~~200次/分(N的范圍:300~~30000)。
4.2主程序流程圖
程序流程圖如圖4-1所示。程序初始化是單片機(jī)程序必需的,它的主要任務(wù)是確定中斷入口地址和程序入口。然后顯示全零,目的是為了區(qū)分是否有信號(hào)送入,當(dāng)沒(méi)有信號(hào)送入時(shí),顯示全零,則說(shuō)明心率計(jì)沒(méi)有正常工作,反之,則正常工作。
在這個(gè)設(shè)計(jì)中重要的地方是定時(shí)l00ms,它是為采樣6s建立基礎(chǔ)。系統(tǒng)運(yùn)用定時(shí)器T1定時(shí)來(lái)實(shí)現(xiàn)100ms的定時(shí),中斷等待占用程序執(zhí)行的大多數(shù)時(shí)間,是死循環(huán)語(yǔ)句,僅在中斷滿足條件時(shí),才執(zhí)行中斷服務(wù)子程序,進(jìn)行累加計(jì)數(shù),累加之后,判斷采樣次數(shù),如果采樣未滿60次,說(shuō)明不到6 s,返回繼續(xù)采樣、等待中斷,直到采樣60次為止,之后把6s內(nèi)采樣得到的次數(shù)由二進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù),送到液晶進(jìn)行顯示。
圖 4-1 程序流程圖 圖 4-2 中斷程序流程圖
4.3中斷程序流程圖
心率的有效測(cè)量范圍為40次—120次/分鐘,為了消除外界信號(hào)的干擾,在定時(shí)器中斷程序中加入了對(duì)頻率大小的判斷,濾除掉小于40次/分鐘和大于120次/分鐘的脈沖信號(hào),中斷程序如圖4-2所示。
4.4定時(shí)器T0和T1的中斷服務(wù)程序
定時(shí)器T0的中斷流程圖如圖4-3所示,定時(shí)器T1的中斷服務(wù)流程圖如圖4-4所示。
圖4-3 定時(shí)器T0的中斷
服務(wù)程序流程圖
圖4-4 定時(shí)器T1的中斷
服務(wù)程序流程圖
第五章 系統(tǒng)測(cè)試與結(jié)果分析
5.1 測(cè)試方法和儀器
(1) 時(shí)基測(cè)量:心率測(cè)量?jī)x的精度在很大程度上取決于系統(tǒng)的時(shí)間基準(zhǔn),因而對(duì)1MS時(shí)間定時(shí)要用儀器校準(zhǔn),我們用的是TDS210數(shù)字示波器。在T0定時(shí)中斷服務(wù)程序中首先對(duì)外部的某一端口的狀態(tài)不斷取反,用示波器測(cè)端口的周期,如有誤差可在程序中改變TL0的值,直到時(shí)間滿足要求為止。
(2) 測(cè)量精度測(cè)試:用信號(hào)發(fā)生器產(chǎn)生一方波,其頻率與測(cè)量范圍相符,(40~120次/分)分別測(cè)量40次/分、80次/分、100次/分、120次/分,觀察心率儀的測(cè)量結(jié)果與與信號(hào)發(fā)生器輸出的頻率是否相符,如誤差大于±2次/分時(shí)可再細(xì)調(diào)TL0的值,如不能滿足要求可用軟件與TL0的值同時(shí)調(diào)節(jié),直到滿足要求為止。
使用儀器:
示波器(TDS210)
信號(hào)發(fā)生器(GFG-8015G)
萬(wàn)用表(FLUKE73)
+-5V電源(YB1711B)
單片機(jī)仿真器(E2000/S)
編程器(kile)
5.2仿真與焊接階段
5.2.1仿真階段
當(dāng)模塊設(shè)計(jì)完成并在ISIS 7 protues中仿真成功后,電路基本確定,但那只是理論值,需要對(duì)這些仿真電路進(jìn)行試驗(yàn),以確保這些電路是否適用與該設(shè)計(jì)。
5.2.2焊接與完成階段
在完成實(shí)驗(yàn)階段測(cè)試后,這時(shí)電路的元器件及各種電阻電容的值就已經(jīng)確定??梢詫?shí)物的焊接。
(1)焊前處理
焊接前,應(yīng)對(duì)元件引腳或電路板的焊接部位進(jìn)行焊前處理。
①焊接位置氧化層的清除
用小刀刮去金屬引線表面的氧化層,使引腳部分具有金屬光澤。轉(zhuǎn)印電路板可用細(xì)紗紙將銅箔打光后,均勻涂上一層松香。
②元件鍍錫
在處理過(guò)引線上鍍錫??蓪⒁€沾上松香后,將帶錫的烙鐵頭壓在引線上,轉(zhuǎn)動(dòng)引線。即可使引線均勻地鍍上一層很薄的錫層。焊接前,用剝線鉗剝?nèi)ソ^緣外皮,再經(jīng)過(guò)以上處理,才能正式焊接。若是多股金屬絲的導(dǎo)線,打光后應(yīng)先擰在一起,然后再鍍錫。
(2) 焊接技
做好焊前處理之后,就可正式進(jìn)行焊接。
①焊接方法:焊接,檢查,剪短。
a.焊接前,電烙鐵需要預(yù)熱5分鐘。而且烙鐵頭要有鍍錫,即帶上一層薄薄的焊錫。
b.將烙鐵頭貼在焊點(diǎn)處。使熔化的錫從烙鐵頭上覆蓋到焊點(diǎn)上。將烙鐵頭停留在焊點(diǎn)處2~3秒鐘。
C.移開(kāi)烙鐵頭。等焊點(diǎn)上的錫冷卻凝固后,才可松開(kāi)左手。
d.用鑷子轉(zhuǎn)動(dòng)引線,確認(rèn)不松動(dòng),然后可用偏口鉗剪去多余的引線。
②焊接質(zhì)量
焊接時(shí),要保證每個(gè)焊點(diǎn)焊接牢固、接觸良好。要保證焊接質(zhì)量。應(yīng)是錫點(diǎn)光亮,圓滑而無(wú)毛刺,錫量適中。錫和被焊物融合牢固。不應(yīng)有虛焊和假焊。虛焊是焊點(diǎn)處只有少量錫焊住,造成接觸不良,時(shí)通時(shí)斷。假焊是指表面上好像焊住了,但實(shí)際上并沒(méi)有焊上,有時(shí)用手一拔,引線就可以從焊點(diǎn)中拔出。這兩種情況將給電子制作的調(diào)試和檢修帶來(lái)極大的困難。只有經(jīng)過(guò)大量的、認(rèn)真的焊接實(shí)踐,才能避免這兩種情況。
焊接電路板時(shí),一定要控制好時(shí)間。太長(zhǎng),電路板將被燒焦,或造成焊點(diǎn)脫落。從電路板上拆卸元件時(shí),可將電烙鐵頭貼在焊點(diǎn)上,待焊點(diǎn)上的錫熔化后,將元件拔出。
由于本次設(shè)計(jì)采用單片機(jī)開(kāi)發(fā)板來(lái)焊接,因此最小系統(tǒng)部分只用焊接元件不用另外布線,減輕了焊接部分的工作量,同時(shí)是電路板更美觀。雖然用單片機(jī)開(kāi)發(fā)板來(lái)焊接,但是在焊接過(guò)程中也必須認(rèn)真謹(jǐn)慎,避免虛焊和短路。每焊完一個(gè)元器件或者一條線路都要用萬(wàn)用表檢查焊接是否成功,最終按照附錄一所示仿真圖焊接實(shí)物。
實(shí)物圖如圖5-1所示。
圖 5-1 實(shí)物
5.3 測(cè)試數(shù)據(jù)與結(jié)果分析
5.3.1測(cè)量結(jié)果與分析
(1)用儀器測(cè)量:用信號(hào)發(fā)生器作信號(hào)源,產(chǎn)生一個(gè)40~200次/分的方波,觀察心率儀讀數(shù)與信號(hào)發(fā)生器輸出的頻率是否相等。表5-1給出了部分測(cè)量結(jié)果。
表5-1 信號(hào)發(fā)生器測(cè)量結(jié)果
測(cè)量序號(hào)
信號(hào)發(fā)生器示值及示波器
心率儀示值
1
40
40(低限報(bào)警)
2
80
80
3
150
150
4
120
120(高限報(bào)警)
由以上測(cè)量結(jié)果看,用信號(hào)發(fā)生器產(chǎn)生的信號(hào)用心率儀測(cè)量時(shí)其測(cè)量誤差為0,且在報(bào)警的上下限可報(bào)警。
(2)實(shí)際測(cè)量:對(duì)同一同學(xué)和不同的同學(xué)進(jìn)行測(cè)量,同時(shí)由另一同學(xué)用聽(tīng)診器測(cè)量脈搏,表5-2給出了部分測(cè)量結(jié)果。
表5-2實(shí)際測(cè)量結(jié)果比較
測(cè)量序號(hào)
聽(tīng)診器測(cè)量
心率計(jì)值
誤差
1
88
89
1
1
89
88
1
1
90
92
2
2
72
73
1
3
67
65
2
4
94
95
1
在實(shí)際測(cè)量時(shí)人工測(cè)量的數(shù)值與心率儀測(cè)量的數(shù)值會(huì)有誤差,在測(cè)同一人時(shí)其誤差只要在允許范圍內(nèi),有時(shí)也超過(guò)測(cè)量精度,這是因?yàn)槿斯y(cè)量時(shí)的計(jì)數(shù)起始時(shí)間與結(jié)束時(shí)間掌握不準(zhǔn)所至。
由信號(hào)發(fā)生器產(chǎn)生的信號(hào)測(cè)量時(shí)沒(méi)有誤差,而實(shí)際測(cè)量時(shí)產(chǎn)生誤差,這是因?yàn)樾盘?hào)發(fā)生器產(chǎn)生的頻率穩(wěn)定,而實(shí)際測(cè)量時(shí)被測(cè)人的脈波穩(wěn)定性、強(qiáng)度不穩(wěn)定。
示波器顯示的方波以及對(duì)應(yīng)的心率計(jì)顯示如下圖5-2,5-3所示。
圖5-2 示波器顯示方波波形
圖5-3 心率計(jì)顯示心率值及設(shè)置上下限
5.3.2幾種主要系統(tǒng)干擾與影響
(1) 陽(yáng)光的干擾。
因?yàn)楸拘穆视?jì)是通過(guò)紅外光線透過(guò)手指采集到信號(hào),進(jìn)而對(duì)信號(hào)處理得到人體的心率值,光照在本系統(tǒng)中很關(guān)鍵。而且在各種不同的環(huán)境中,外界光照的強(qiáng)度不一樣,這對(duì)實(shí)驗(yàn)的干擾卻大。但是外界光照對(duì)于人體是均衡的,即各處光照強(qiáng)度相同,對(duì)人體內(nèi)變化的影響是相同的,即可以相互抵消。
(2) 測(cè)量過(guò)程中手指的抖動(dòng)。
紅外傳感器檢測(cè)到的人體信號(hào)很微弱,手指的一點(diǎn)抖動(dòng)都會(huì)引起測(cè)量心率值的大幅變化。為了解決這個(gè)問(wèn)題,在設(shè)計(jì)中,把紅外對(duì)管相距一定距離(夠放下食指)之后固定死,這樣在測(cè)量的時(shí)候只要被測(cè)者盡量保持手指不動(dòng),就可以大大減小手指抖動(dòng)對(duì)試驗(yàn)的影響。
(3) 呼吸的影響。
試驗(yàn)的原理主要是血液中的含氧量的變化進(jìn)而導(dǎo)致人體組織變化而檢測(cè)心率的,這樣就使得均勻呼吸和急促呼吸使人體內(nèi)的含氧量變化很大。據(jù)試驗(yàn)所得,當(dāng)人劇烈運(yùn)動(dòng)之后呼吸會(huì)比較局促,這時(shí)他的心率值就會(huì)波動(dòng)很大。正常情況下 ,心率指的是當(dāng)人心平氣和時(shí)的心跳值。
第六章 總結(jié)和展望
心率指心臟每分鐘搏動(dòng)的次數(shù),它能夠反映心臟的工作狀態(tài)。而心率計(jì)是常用的醫(yī)學(xué)檢查設(shè)備,實(shí)時(shí)準(zhǔn)確的心率測(cè)量在病人監(jiān)控臨床治療及體育競(jìng)賽等方面都有著廣泛的應(yīng)用。
心率計(jì)的硬件設(shè)計(jì),包括微控制器的系統(tǒng)及顯示電路、信號(hào)采集和信號(hào)放大和濾波電路三部分組成。單片機(jī)采用STC89C51或其兼容系列。具有精度高12MHz晶體振蕩器以獲得更穩(wěn)定的時(shí)鐘頻率,減少了測(cè)量誤差。單片機(jī)的P1.0的輸出端口40kHz的超聲波換能器所需的方波信號(hào),外部中斷0來(lái)監(jiān)測(cè)從紅外傳感器輸出信號(hào)采集電路的信號(hào)。顯示電路采用簡(jiǎn)單實(shí)用的液晶顯示器,信號(hào)用LM358芯片放大。
基于單片機(jī)心率計(jì)的軟件設(shè)計(jì)流程由主程序,中斷子程序流程圖和顯示子程序組成。據(jù)我所知C語(yǔ)言程序有利于實(shí)現(xiàn)更復(fù)雜的算法,匯編語(yǔ)言程序則具有較高的效率且容易精細(xì)計(jì)算程序運(yùn)行的時(shí)間,而心率計(jì)的程序既有較復(fù)雜的計(jì)算(時(shí)間t內(nèi)的平均值),又要求精細(xì)計(jì)算程序運(yùn)行時(shí)間(動(dòng)脈搏動(dòng)時(shí)間),所以控制程序可以混合C和匯編語(yǔ)言編程的。
焊完實(shí)物后,首先是硬件調(diào)試。電路的調(diào)試過(guò)程是檢驗(yàn)、修正設(shè)計(jì)方案的實(shí)踐過(guò)程,但也是對(duì)理論知識(shí)的實(shí)際應(yīng)用,解決各種問(wèn)題的關(guān)鍵環(huán)節(jié),是電路設(shè)計(jì)人員必須掌握的基本技能。
把電子元器件連接起來(lái),實(shí)現(xiàn)特定功能的關(guān)鍵一步是調(diào)試。調(diào)試方法有兩種:分塊調(diào)試法和整體調(diào)試法。在硬件檢測(cè)完之后,在沒(méi)有問(wèn)題的情況下可以輸入程序,調(diào)試程序的可行性,并加以修正,配合程序改動(dòng)系統(tǒng)的原理圖。
文中的心率計(jì)使用了脈搏波作為源信號(hào),當(dāng)然我還可以通過(guò)對(duì)心電圖的分析來(lái)研究心率,它們的后繼電路部分結(jié)構(gòu)都大同小異,主要的區(qū)別是前段的信號(hào)采集。本心率計(jì)適用于4—9V直流電壓,工作電流為100mA左右,心率計(jì)通電后,將手指固定在紅外傳感器之間即可檢測(cè)到人體的信號(hào),并在液晶上顯示出來(lái)!
當(dāng)然它也存在著一定的問(wèn)題,但我想在未來(lái)的研制和生產(chǎn)中,肯定會(huì)大大提高它的性能 ,極力改善它的缺點(diǎn)。
參考文獻(xiàn)
[1] 陳文彬, 王友赤. 診斷學(xué)[M]. 人民衛(wèi)生出版社, 2002.45-90.
[2] 王瑞元, 孫學(xué)川, 熊開(kāi)宇. 運(yùn)動(dòng)生理學(xué)[M]. 人民體育出版社, 2002.76-81.
[3] 姜元恩,邢武;基于脈搏波速度測(cè)量的動(dòng)脈硬化檢測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].自動(dòng)化與儀器儀表,2007.8.12(5).
[4] 姜元恩,邢武:半導(dǎo)體應(yīng)變片式脈搏傳感器在動(dòng)躲硬純檢測(cè)系統(tǒng)中酶應(yīng)用[Z].安徽省傳感器技術(shù)與產(chǎn)業(yè)化發(fā)展論壇,2007.10.
[5] 朱彤、李婉媚.脈搏波傳導(dǎo)速度測(cè)定的新認(rèn)識(shí)[J].醫(yī)療保健器具,2006.(8).
[6]羅志昌、張松、楊文鳴.脈搏波波形特征信息的研究[N].北京工業(yè)大學(xué)學(xué)報(bào).1996.1.10(11).
[7]趙玉霞等.橈動(dòng)脈脈圖在心血管血流動(dòng)力學(xué)定量監(jiān)測(cè)中的價(jià)值[N].山東醫(yī)科大學(xué)學(xué)報(bào).1994.1.20(1).
[8]陳春曉等.無(wú)倉(cāng)Ⅱ,血管功能測(cè)試診斷儀的研究[J].生物醫(yī)學(xué)工程學(xué)雜志,2003.1.15(33).
[9][日].西山一郎,兆十編著. 耿連發(fā),潘維林譯. 自律型機(jī)器人制作[J]. 科學(xué)出版社OHM社 2002.3.8-102.
[10] [德] WOLFGANG KLOSTERHALFEN University ofDusseldorf, 4000 Dusseldorf, Federal Republic of Germany. A computer-controlled cardiotachometer1 980, Vol. 12 (1), 58-62.
[11]K.D.TAYLOR.Technicalnote--(Keywords---Cardiotachometer,Pulsegenerator)Precision cardiotachometer calibrator .Med. & Biol. Eng. & Comput.1977. 15.476-478.
附錄
附錄一:系統(tǒng)仿真圖
附錄二:系統(tǒng)原理圖
附錄三:系統(tǒng)PCB
附錄四:源程序
#include
#include
#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long
#define LCD_DATA P0
sbit LCD_RS =P2^5;
sbit LCD_RW =P2^6;
sbit LCD_E =P2^7;
sbit Xintiao =P1^0 ;
sbit speaker =P2^4;
void delay5ms(void); //誤差 0us
void LCD_WriteData(uchar LCD_1602_DATA); /********LCD1602數(shù)據(jù)寫入***********/
void LCD_WriteCom(uchar LCD_1602_COM); /********LCD1602命令寫入***********/
void lcd_1602_word(uchar Adress_Com,uchar Num_Adat,uchar *Adress_Data); /*1602字符顯示函數(shù),變量依次為字符顯示首地址,顯示字符長(zhǎng)度,所顯示的字符*/
void InitLcd();
void Tim_Init();
uchar Xintiao_Change=0;
uint Xintiao_Jishu;
uchar stop;
uchar View_Data[3];
uchar View_L[3];
uchar View_H[3];
uchar Xintiao_H=100;
uchar Xintiao_L=40;
uchar Key_Change;
uchar Key_Value;
uchar View_Con;
uchar View_Change;
void main()
{
InitLcd();
Tim_Init();
lcd_1602_word(0x80,16,"Heart Rate: ");
TR0=1;
TR1=1;
while(1)
{
if(Key_Change)
{
Key_Change=0;
View_Change=1;
switch(Key_Value)
{
case 1:
{
View_Con++;
if(View_Con==3)
View_Con=0;
break;
}
case 2:
{
if(View_Con==2)
{
if(Xintiao_H<150)
Xintiao_H++;
}
if(View_Con==1)
{
if(Xintiao_LXintiao_L+1)
Xintiao_H--;
}
if(View_Con==1)
{
if(Xintiao_L>30)
Xintiao_L--;
}
break;
}
}
}
if(View_Change)
{
View_Change=0;
if(stop==0)
{
if(View_Data[0]==0x30)
View_Data[0]=' ';
}
else
{
View_Data[0]=' ';
View_Data[1]=' ';
View_Data[2]=' ';
}
switch(View_Con)
{
case 0:
{
lcd_1602_word(0x80,16,"Heart Rate: ");
lcd_1602_word(0xc0,16," ");
lcd_1602_word(0xcd,3,View_Data);
break;
}
case 1:
{
lcd_1602_word(0x80,16,"Heart Rate: ");
lcd_1602_word(0x8d,3,View_Data);
View_L[0]=Xintiao_L/100+0x30;
View_L[1]=Xintiao_L%100/10+0x30;
View_L[2]=Xintiao_L%10+0x30;
if(View_L[0]==0x30)
View_L[0]=' ';
lcd_1602_word(0xC0,16,"Warning L : ");
lcd_1602_word(0xCd,3,View_L);
break;
}
case 2:
{
lcd_1602_word(0x80,16,"Heart Rate: ");
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,"Warning H : ");
lcd_1602_word(0xCd,3,View_H);
break;
}
}
}
}
}
void Time1() interrupt 3
{
static uchar Key_Con,Xintiao_Con;
TH1=0xd8; //10ms
TL1=0xf0;
switch(Key_Con)
{
case 0:
{
if((P3&0x07)!=0x07)
{
Key_Con++;
}
break;
}
case 1:
{
if((P3&0x07)!=0x07)
{
Key_Con++;
switch(P3&0x07)
{
case 0x06:Key_Value=1;break;
case 0x05:Key_Value=2;break;
case 0x03:Key_Value=3;break;
}
}
else
{
Key_Con=0;
}
break;
}
case 2:
{
if((P3&0x07)==0x07)
{
Key_Change=1;
Key_Con=0;
}
break;
}
}
switch (Xintiao_Con)
{
case 0:
{
if(!Xintiao)
{
Xintiao_Con++;
}
break;
}
case 1:
{
if(!Xintiao)
{
Xintiao_Con++;
}
else
{
Xintiao_Con=0;
}
break;
}
case 2:
{
if(!Xintiao)
{
Xintiao_Con++;
}
else
{
Xintiao_Con=0;
}
break;
}
case 3:
{
if(!Xintiao)
{
Xintiao_Con++;
}
else
{
Xintiao_Con=0;
}
break;
}
case 4:
{
if(Xintiao)
{
if(Xintiao_Change==1)
{
View_Data[0]=(60000/Xintiao_Jishu)/100+0x30;
View_Data[1]=(60000/Xintiao_Jishu)%100/10+0x30;
View_Data[2]=(60000/Xintiao_Jishu)%10+0x30;
if(((60000/Xintiao_Jishu)>=Xintiao_H)||((60000/Xintiao_Jishu)<=Xintiao_L))
speaker=0;
else
speaker=1;
View_Change=1;
Xintiao_Jishu=0;
Xintiao_Change=0;
stop=0;
}
else
{
Xintiao_Jishu=0;
Xintiao_Change=1;
}
Xintiao_Con=0;
break;
}
}
}
}
void Time0() interrupt 1
{
TH0=0xfc; //1ms
TL0=0x18;
Xintiao_Jishu++;
if(Xintiao_Jishu==5000)
{
Xintiao_Jishu=0;
View_Change=1;
Xintiao_Change=0;
stop=1;
speaker=1;
}
}
void Tim_Init()
{
EA=1;
ET0=1;
ET1=1;
TMOD=0x11;
TH0=0xfc; //1ms
TL0=0x18;
TH1=0xd8; //10ms
TL1=0xf0;
}
void lcd_1602_word(uchar Adress_Com,uchar Num_Adat,uchar *Adress_Data)
{
uchar a=0;
uchar Data_Word;
LCD_WriteCom(Adress_Com);
for(a=0;a
收藏