便攜式心率計的設計(合肥),便攜式,心率,設計,合肥
學號:1108441016
本科畢業(yè)論文(設計)手冊
(2015屆)
便攜式心率計的設計
學 院 電子信息工程學院
專 業(yè)電氣工程及其自動化
姓 名 左中剛
指導教師 尹靜 李仁文
職 稱 助教 副教授
等 級 碩士 博士
6
合肥師范學院本科畢業(yè)論文(設計)開題報告
(學生填寫)
學號
1108441016
姓名
左中剛
指導教師
尹靜
題目
便攜式心率計的設計
課題內(nèi)容:
1、研究現(xiàn)狀
隨著社會經(jīng)濟水平和人們的物質(zhì)生活水平的不斷提高,人們的生活方式和飲食結(jié)構(gòu)發(fā)生著巨大變化??旃?jié)奏的生活方式和不良的飲食結(jié)構(gòu),使得現(xiàn)代的人們不得不面臨著更大的健康威脅,高血壓、冠心病、動脈硬化等各種各樣的心血管疾病正不斷威脅著人類。
2、研究目標及意義
這些疾病的早期監(jiān)測,對疾病的防治和控制有著十分重要的意義,所以結(jié)合著現(xiàn)代電子技術(shù)的電子心率計對心率的檢測和疾病的控制也對人們的健康有著十分重要的意義。正因為如此,本設計利用現(xiàn)代電子技術(shù)、傳感器技術(shù)等,設計出一款測量準確、簡單易用,造價便宜的電子心率計。此心率計總體包括了紅外心率檢測電路、前端信號處理電路、控制電路和電源轉(zhuǎn)換電路。并用C語言編寫控制程序,實現(xiàn)對電路的控制。?
通過不斷的修改和調(diào)試,最終設計這種基于紅外線傳感器檢測心率,通過運算放大電路和整形濾波電路對檢測到的小信號進行處理,形成可被單片機處理的數(shù)字信號,最后用STC89C51單片機控制,實現(xiàn)心率顯示和異常報警的多功能電子心率計。本設計的一大特點是,心率計控制程序?qū)π穆实膬煞N算法可使得該心率計工作在測量平均心率和瞬時心率兩種狀態(tài),這兩種心率可以從不同方面反映人體的健康狀況,因此更具醫(yī)學價值。
課題關鍵問題及難點:
我們根據(jù)現(xiàn)有的知識,可以利用單片機對紅外發(fā)射和接收管的信號處理,當手指放在紅外發(fā)射二極管和接收三極管中間,隨著心臟的跳動,血管中血液的流量將發(fā)生變換。由于手指放在光的傳遞路徑中,血管中血液飽和度的變化會引起光的強度發(fā)生變化,因此和心跳的節(jié)拍相對應,紅外接收三極管的電流也跟著改變,這就使紅外接收三極管輸出脈沖信號。談到脈沖信號首先我們得有示波器,只要將紅外接收管的信號處理好并檢測出來,那么就會成功。
在光電式心率監(jiān)測系統(tǒng)的測量過程中,前端測量到的心率信號十分微弱,容易受到外界環(huán)境干擾,其中主要的干擾源有測量環(huán)境光干擾、電磁干擾、測量運動噪聲等。
我使用了LM358為心率信號的處理芯片,主要包括信號采集電路、放大電路、比較電路,這幾部分的電路比較復雜,計算部分較多,容易出現(xiàn)些問題。
擬采取的方式、方法及計劃進程安排(主要技術(shù)路線):
1 文獻資料法:查閱了大量相關的文獻資料,對單片機心率計進行了深入地研究,完成了論文撰寫的理論基礎及準備工作。
2 用相應的技術(shù)手段,進行論文課題圖紙的設計。
3 用實用儀器設備及工具加以適當驗證。
4 采用適宜軟件進行必要的仿真及繪圖。
便攜式數(shù)字人體心率計運用STC89C51單片機作為核心控制處理單元,采用紅外傳感器作為傳感器,運用軟件和硬件雙重濾波技術(shù)實現(xiàn)了對人體心率信號的準確檢測,最終以數(shù)值形式顯示在LCD上。
本課題開發(fā)一款低功耗、便攜式數(shù)字心率計,具體要求如下:
(1) 實時顯示被測者心率值,并顯示;
(2) 可用按鍵設置正常心率的范圍,超過這個范圍,進行報警提示。
參考文獻:
[1] 陳文彬, 王友赤. 診斷學[M]. 人民衛(wèi)生出版社, 2002.45-90.
[2] 王瑞元, 孫學川, 熊開宇. 運動生理學[M]. 人民體育出版社, 2002.76-81.
[3] 姜元恩,邢武;基于脈搏波速度測量的動脈硬化檢測系統(tǒng)的設計與實現(xiàn)[J].自動化與儀器儀表,2007.8.12(5).
[4] 姜元恩,邢武:半導體應變片式脈搏傳感器在動躲硬純檢測系統(tǒng)中酶應用[Z].安徽省傳感器技術(shù)與產(chǎn)業(yè)化發(fā)展論壇,2007.10.
[5] 朱彤、李婉媚.脈搏波傳導速度測定的新認識[J].醫(yī)療保健器具,2006.(8).
指導教師意見:
教師簽名: 年 月 日
指導小組(教研室)意見:
組長簽名: 年 月 日
合肥師范學院本科畢業(yè)論文(設計)中期報告
(學生填寫)
學號
1108441016
姓名
左中剛
指導教師
尹靜
題目
便攜式心率計的設計
1、開題以來所做的具體工作和取得的進展和成果
自開題以來,我所做的工作主要是:
①在計算機上安裝所要用到的開發(fā)工具并做有關的主要功能測試。
②畫出系統(tǒng)的原理圖并生成PCB。
③根據(jù)原理圖進行實物元器件的排版,并焊接。
④對焊接好的系統(tǒng)做簡要的功能調(diào)試。
⑤根據(jù)老師提供的模版,獨立完成論文的初稿并做好格式的修改。
2、下一步的主要研究任務,具體設想和安排
①對系統(tǒng)的不足之處爭取早日解決。
②對論文的內(nèi)容及格式做進一步的修改。
③對論文進行查重并依據(jù)查重結(jié)果做出修改。
3、存在的具體問題
①對系統(tǒng)的數(shù)據(jù)傳輸?shù)膬?nèi)部工作不夠熟悉造成開發(fā)的困難性。
②程序代碼太過冗長,不夠簡練
指導教師意見:
教師簽名:
月 日
指導小組(教研室)意見:
組長簽名:
月 日
合肥師范學院本科畢業(yè)論文(設計)指導記錄
(指導教師、學生共同填寫)
學號
1108441016
姓名
左中剛
指導教師
尹靜
題目
便攜式心率計的設計
第1次指導 時間:2014.11.5 地點:躬行樓211 指導形式:面談
指導內(nèi)容:講解畢業(yè)設計的一些注意事項,通知開始畢業(yè)設計并做好畢設選題的準備。
學生簽名: 教師簽名:
第2次指導 時間:2014.11.19 地點:躬行樓211 指導形式:面談
指導內(nèi)容:查看各自準備的畢業(yè)設計課題是否符合要求,確定了畢業(yè)設計的課題。
學生簽名: 教師簽名:
第3次指導 時間:2014.12.10 地點:躬行樓211 指導形式:面談
指導內(nèi)容:指導查閱與課題有關的資料,使對課題內(nèi)容有充分的理解,并布置指導做畢業(yè)設計的有關任務。做好充分的開題準備。
學生簽名: 教師簽名:
第4次指導 時間:2015.1.7 地點:躬行樓211 指導形式:面談
指導內(nèi)容:指導開題工作,指導開題報告的填寫并確認開題后的主要任務進程。
學生簽名: 教師簽名:
第5次指導 時間:2015.3.11 地點:躬行樓211 指導形式:面談
指導內(nèi)容:檢查前一段時間的工作成果,指導解決設計過程中所遇到的常見問題。
學生簽名: 教師簽名:
第6次指導 時間:2015.3.25 地點:博約樓107 指導形式:面談
指導內(nèi)容:中期檢查畢業(yè)設計進展狀況以及論文格式與內(nèi)容結(jié)構(gòu)并給予修改意見。
學生簽名: 教師簽名:
第7次指導 時間:2015.4.15 地點:躬行樓211 指導形式:面談
指導內(nèi)容:準備好答辯所需材料,進行預答辯之處還存在的不足和所需改進之處。
學生簽名: 教師簽名:
第8次指導 時間:2015.4.22 地點:躬行樓211 指導形式:面談
指導內(nèi)容:指導答辯,講解答辯過程的技巧及主要的注意事項。
指導答辯
學生簽名: 教師簽名:
學號:1108441016
本科畢業(yè)論文(設計)
(2015屆)
便攜式心率計的設計
院 系 電子信息工程學院
專 業(yè) 電子信息工程
姓 名 左中剛
指導教師 尹靜 助教
2015 年 5 月
合肥師范學院2015屆本科畢業(yè)論文(設計)
摘 要
在社會飛速發(fā)展的今天,人們的物質(zhì)文化生活得到了極大的提高,但同時多種疾病威脅著人們的生命;而心臟病又是人們難以預防的突發(fā)致命疾病,所以健康也被越來越多的人所重視。本設計要解決的問題就是可以測量心率、預防心臟病等心臟方面疾病的數(shù)字心率計。
便攜式數(shù)字人體心率計運用STC89C51單片機作為核心控制處理單元,采用紅外傳感器作為傳感器,運用軟件和硬件雙重濾波技術(shù)實現(xiàn)了對人體心率信號的準確檢測。測量范圍限可以用按鍵調(diào)節(jié),并進行聲音報警,傳感器可以放在身體脈搏明顯的任何部位,測量結(jié)果以數(shù)字方式方式顯示,測量精確到2次/分。經(jīng)過大量實驗,本心率計已經(jīng)基本達到題目要求部分的全部指標。
關鍵字:心率計,紅外傳感器,單片機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 心率計的研究背景和意義 2
1.2 心率計的研究現(xiàn)狀及發(fā)展動態(tài) 2
第二章 方案論證及元器件選擇 3
2.1 研究內(nèi)容及設計指標 3
2.2 方案設計與論證 3
2.3 元器件選擇及功能介紹 6
第三章 硬件系統(tǒng)設計 7
3.1 系統(tǒng)設計框圖 7
3.2 信號采集電路 8
3.3信號放大電路 9
3.4 信號比較電路 9
3.5 LCD1602顯示電路 10
3.6 鍵盤電路 10
第四章 系統(tǒng)軟件設計 11
4.1測量計算原理 11
4.2主程序流程圖 11
4.3中斷程序流程圖 12
4.4定時器T0和T1的中斷服務程序 12
第五章 系統(tǒng)測試與結(jié)果分析 13
5.1 測試方法和儀器 13
5.2仿真與焊接階段 14
5.3 測試數(shù)據(jù)與結(jié)果分析 15
第六章 總結(jié)和展望 18
參考文獻 19
附錄 20
附錄一:系統(tǒng)仿真圖 20
附錄二:系統(tǒng)原理圖 20
附錄三:系統(tǒng)PCB 21
附錄四:源程序 22
7
合肥師范學院2015屆本科生畢業(yè)生論文(設計)
第一章 引言
1.1 心率計的研究背景和意義
伴隨著全球科技與經(jīng)濟的飛速發(fā)展與進步,關愛生命與健康已成為人類的共同追求。心腦血管方面的問題是危害人類生命和健康的最主要的疾病。每年由于心腦血管疾病死亡的人數(shù)居人類疾病死亡的首位,高昂的醫(yī)療費用,給人們的家庭和社會造成巨大負擔[1]。近年來,由于人們飲食問題以及生活節(jié)奏變快等原因,心腦血管疾病的發(fā)病率更是呈逐年上升的趨勢。如何科學的降低心腦血管疾病的發(fā)病率和死亡率,有效的減輕心腦血管疾病帶來的社會和家庭負擔,已經(jīng)成為全社會所面臨的一個十分嚴峻問題。
今天,越來越多的人已認識到健康生活方式和疾病預防的重要性,對擁有日常家庭化和個性化的健康監(jiān)測和疾病預防手段的需求也日益增大。在脈搏波研究方面,國內(nèi)外已經(jīng)出現(xiàn)了眾多的技術(shù)和理論,基于現(xiàn)代醫(yī)學技術(shù),利用脈搏波對人體心血管健康進行無創(chuàng)檢測的方法和儀器不斷涌現(xiàn)。現(xiàn)在的任務是既要對脈搏波的檢測分析及對心血管健康檢測應用方面做進一步研究,研制一種面向家庭和社區(qū)醫(yī)療服務的,能夠?qū)θ梭w動脈硬化的程度和其他心血管健康狀況進行無創(chuàng)檢測的儀器,讓更多的人對自己的心血管健康狀態(tài)進行及時的了解,對心血管疾病能夠及早的發(fā)現(xiàn)和進行預防。
基于上述現(xiàn)狀和背景,不難發(fā)現(xiàn):心血管功能檢測新技術(shù)、新方法的研究以及心血管功能監(jiān)測類家用電子醫(yī)療保健儀器的開發(fā)已刻不容緩。它不僅能滿足當前的醫(yī)療保健急需,也能為維持和發(fā)展我國家用數(shù)字醫(yī)療事業(yè),為推行實施國家“家庭醫(yī)療保健工程”做出積極和長久的貢獻[2]。
1.2 心率計的研究現(xiàn)狀及發(fā)展動態(tài)
自上世紀80年代以來,基于血流動力流變學和彈性腔理論的無創(chuàng)傷血管功能檢測方法的研究逐漸受到廣泛的關注。很多不同學科的研究員與醫(yī)學家合作,研究出各種應用型人體心率傳感器,有單部、三部、液態(tài)水、子母式單點,多點,氣壓式、硅杯式、軟性接觸式、剛性接觸式等,組成脈搏傳感器的主要部件有壓電晶體、單晶硅、陶瓷應變片、光敏組件、pvdf壓電薄膜等,其中以單部單點應變片式應用最為廣泛。
到目前,用于評價大動脈的結(jié)構(gòu)和方法已有很多。血管造影和其他造影技術(shù)等有創(chuàng)方法可精確評價動脈管腔或分心動脈壁結(jié)構(gòu)。但是這些方法操作復雜,費用高昂,需要非常精密的技術(shù)設備,限制了其只能在大型臨床研究中應用,另外,還有一些其他的無創(chuàng)方法,這些主要根據(jù)超聲技術(shù)和計算機分析圖像和超聲信號,來研究某些動脈軸和位點的功能和結(jié)構(gòu),這些相對復雜的技術(shù)僅用于某些臨床研究實驗室。在無創(chuàng)方法中,脈搏波速度的檢測已經(jīng)在較長時間內(nèi)廣泛應用于評價動脈壁擴張性和硬度。該方法無創(chuàng)傷,操作簡單、結(jié)果準確、重復性好,因此被廣泛應用于大型治療和流行病學研究當中,并且,該方法非常適合于向家庭和社區(qū)醫(yī)療服務推廣。國外,諸如法國研制生產(chǎn)的康普樂儀、日本科林公司的動脈硬化檢測儀等就是利用此種方法,并在歐美國家得到廣泛的普及,國內(nèi)也有醫(yī)院引進了這種設備,但是價格昂貴[7][8]。國內(nèi)也有多家單位開始了此類設備的研究,在2007年,也有類似的產(chǎn)品相繼上市。但是,這些儀器均被應用在大型醫(yī)療機構(gòu)中,成本高,檢測費用高,功能局限于檢測,不能滿足患者隨時隨地的檢測的需要。
第二章 方案論證及元器件選擇
2.1 研究內(nèi)容及設計指標
研究內(nèi)容:
便攜式數(shù)字人體心率計運用STC89C51單片機作為核心控制處理單元,采用紅外傳感器作為傳感器,運用軟件和硬件雙重濾波技術(shù)實現(xiàn)了對人體心率信號的準確檢測,最終以數(shù)值形式顯示在LCD上。
本課題開發(fā)一款低功耗、便攜式數(shù)字心率計,具體要求如下:
(1)實時測量被測者心率值,并顯示;
(2)可用按鍵設置正常心率的范圍,超過這個范圍,進行報警提示。
2.2 方案設計與論證
2.2.1 傳感器的選擇與論證
(1)壓電式
壓電式傳感器的檢測方法是利用壓力傳感器或振動傳感器將人體脈搏振動轉(zhuǎn)換成電信號。常見的壓力傳感器可用現(xiàn)有的壓電陶瓷代替。壓電式元件的內(nèi)阻極高,通常采用兩片相同的元件,使其極性反向相疊,由夾在中間的銅片作為一個電極。這樣,中央電極處于全空狀態(tài),可以用具有良好絕緣性的導線引出。此種方法的優(yōu)點是傳感器種類多,一般的傳感器輸出信號也比較大,對后面的放大電路要求不高。壓電陶瓷具有成本低、取材方便、易于提高敏感度等特點。
(2)聲電式
聲電式傳感器的作用是將氣體、液體或固體中傳播的機械振動轉(zhuǎn)換成電信號。因此,它也屬于力學量傳感器。它的制作材料一般由不定性無煙煤顆?;驂弘娞沾蓸?gòu)成。顆粒式聲電傳感器的優(yōu)點是耐用、成本低和容易制作,缺點是顆粒的機械磨損和接觸表面上的瞬間電弧會使顆粒逐漸老化,從而導致雜音大、性能不穩(wěn)定和非線性;而壓電陶瓷式的聲電傳感器在檢測聲音信號時卻存在著一定的缺陷。
聲電式檢測方法是利用微音傳感器將人體的振動的聲音轉(zhuǎn)換成電信號。此種方法的優(yōu)點是作為傳感器的微音傳感器可利用現(xiàn)有的駐極體或電容式話筒,但其后面的電路要采取一定的措施將環(huán)境的聲音干擾信號濾去。
(3)光電式
光電系統(tǒng)通常是指能敏感由紫外光到紅外光的光能量,并將光能量轉(zhuǎn)換成電信號的器件。通常用的光電器件有光電二極管和光電三極管。光電式傳感器測量微小的位移變化有明顯的效果,但是光電傳感器對材料、電路控制和光電管屬性要求較高:1)吸收紅外光的能力極強2)介電常數(shù)小,以便得到大的輸出電壓。3)介電損耗小。
光電式檢測方法是利用光電傳感器檢測人體內(nèi)血液流動時對光的透過率或反射率不同而將其轉(zhuǎn)換成電信號的方法。此種方法有兩種方式:一種是對射式,另一種是反射式。對射式是在一個大小合適的環(huán)的兩側(cè)各放一個發(fā)射管和一個接收管,測量時將人的手指伸到環(huán)中,由于手指中的血流量的變化而使光電接收管的光電流也隨之變化,反射式是光電發(fā)射與光電接收都指向一個方向,當人體內(nèi)的血流發(fā)生變化時其對光的反射率也隨之變化,從而檢測出心率。這種方法的優(yōu)點是外界干擾信號小,但其最大的難點是傳感器輸出信號小,對后面的放大電路要求較高。此外,對于干擾變化強烈的信號,回路不宜調(diào)制,可視光電管的定向角不同,光軸也不宜把握。
綜上所述,從傳感器的制作工藝、材料的選取、受外界的干擾信號的干擾程度和制作過程中前級電路的處理難易程度上考慮,就選用一對紅外對射二極管實現(xiàn)。紅外傳感器的檢測、放大、濾波和整型并傳到單片機工作系統(tǒng)的過程見下圖2-1所示:圖2-1信號檢測處理工作流程圖
2.2.2 信號處理方案選擇和論證
(1)小規(guī)模數(shù)字電路:采用小規(guī)模數(shù)字電路也可完成此方案的基本功能,
電路框圖如圖2-2所示。
圖2-2小規(guī)模數(shù)字電路心率計
這種方案是采用一個二進制計數(shù)器,將處理后的脈波信號進行計數(shù),在1分鐘內(nèi)將計數(shù)值顯示。此方案的不足是電路結(jié)構(gòu)復雜,實現(xiàn)一個相對簡單一些的過程控制功能都要用好多片電路,且數(shù)字電路器件功能單一,一旦硬件電路定型就難以改動,尤其在題目要求中,要實現(xiàn)心率測量并顯示,還要超限報警等等,則顯得力不從心。
(2)PLD:可編程邏輯器件(PLD)突破了小規(guī)模數(shù)字電路功能單一的缺點,可以按照設計者設計分析出來的邏輯要求去編程定義,應用起來確實方便,設計也比較靈活。針對題目要求,該方案應該至少由傳感器電路、閘門電路、計數(shù)器電路、數(shù)字鎖存電路、顯示電路、數(shù)據(jù)存儲電路、PC接口電路七部分構(gòu)成,在閘門信號允許時間內(nèi)對被測信號計數(shù),閘門寬度為單位時間。顯然電路復雜,一旦涉及到數(shù)據(jù)處理、數(shù)據(jù)分析、數(shù)據(jù)記憶、數(shù)據(jù)通信等功能要求時,其實現(xiàn)難度可想而知。
(3)單片機:單片機的發(fā)展和應用大家有目共睹,其體積小、重量輕、價格低、可靠性高、耗電少和靈活機動等許多優(yōu)點已經(jīng)被默認。在科學計算、數(shù)據(jù)處理及信息管理、CAD、CAM、CAA、CAI、過程控制和儀表智能化、軍事領域、多媒體系統(tǒng)和信息高速公路甚至家用電器和家庭自動化等方面都可以看到單片機的影子,可謂立下了汗馬功勞。
單片機內(nèi)部包含了CPU、RAM、ROM、I/O口、總線甚至A/D及D/A轉(zhuǎn)換電路,功能十分強大。許多在數(shù)字電路、模擬電路中的難題都在單片機的程序設計中得到了出乎意料的解決效果,通過對程序和外部少許電路的修改即可以改變整個設計系統(tǒng)的功能。可移植性和可維護性得到極大的改善。在數(shù)據(jù)分析、處理、記憶、通訊等方面表現(xiàn)相當出色。根據(jù)題目提出的要求,單片機控制當為首選。以單片機為主外設顯示器、鍵盤、通訊、打印接口等硬件電路,完成脈波計數(shù)、數(shù)據(jù)運算、顯示、通訊、記憶等功能。
根據(jù)以上方案比較,本課題決定采用以紅外傳感器為傳感器,以單片機為主控芯片外輔少量硬件電路完成數(shù)據(jù)處理、記憶、顯示、通訊等功能。硬件框圖如圖2-3所示。
圖 2-3單片機心率計
2.2.3 單片機系統(tǒng)選擇
STC89C51、STC89C52單片機是最常用的單片機,是一種高性能、低損耗、CMOS八位微處理器。STC89C51與MCS-51系列的單片機在指令系統(tǒng)和引腳上完全兼容,而且能使系統(tǒng)具有許多新的功能,功能強、靈活性高而且價格低廉。STC89C51可構(gòu)成真正的單片機最小應用系統(tǒng),增加系統(tǒng)可靠性,縮小系統(tǒng)體積,降低了系統(tǒng)成本。程序長度只要不大于4K,四個I/O口全部提供給用戶。系統(tǒng)運行中需要存放的中間變量較少,可不必再擴充外部RAM。采用STC89C51單片機,其內(nèi)部有4KB單元的程序存儲器。而且具有三個定時器,正好滿足系統(tǒng)多機通信時所用。 比較以上方案,綜合考慮單片機的各部分資源,因此此次設計選用STC89C51。
2.2.4 顯示模塊選擇和論證
(1)液晶顯示
液晶單元是容性負載,液晶的電阻在大多數(shù)情況下可以忽略不計,是無極性的,即正壓和負壓的作用效果是一樣的。當頻率小于1000Hz時,液晶透光率的改變只和外電壓的有效值有關。液晶顯示信息量大、長壽命、低壓驅(qū)動等優(yōu)點。
(2)LED動態(tài)顯示
數(shù)碼管是一類顯示屏通過對其不同的管腳輸入相對的電流,會使其發(fā)亮,從而顯示出數(shù)字能夠顯示時間、日期、溫度等所有可用數(shù)字表示的參數(shù)。由于它的價格便宜 使用簡單在電器 特別是家電領域應用極為廣泛,空調(diào)、熱水器、冰箱等等。絕大多數(shù)熱水器用的都是數(shù)碼管,其他家電也用液晶屏與熒光屏。
根據(jù)以上兩種方案比較,液晶顯示具有其獨特的優(yōu)越性,顯示效果好,控制簡單等優(yōu)點。所以就選擇液晶來實現(xiàn)顯示功能。
2.3 元器件選擇及功能介紹
2.3.1單片機STC89C51
STC89C51是一種低功耗、高性能CMOS8位微控制器,具有4K 在系統(tǒng)可編程Flash 存儲器。使用高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C51為眾多嵌入式控制應用系統(tǒng)提供高靈活、有效的解決方案。
STC89C51具有以下標準功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,STC89C51 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復位為止。
2.3.2紅外傳感器
紅外技術(shù)是在最近幾十年中發(fā)展起來的一門新興技術(shù)。它在科技,國防,和工農(nóng)業(yè)生產(chǎn)等領域得到廣泛的應用,特別是在科學研究、軍事工程和醫(yī)學方面起著極其重要的作用。例如在紅外制導火箭、紅外成像、紅外遙感等。而紅外輻射技術(shù)的重要工具就紅外傳感器,紅外傳感器已經(jīng)在現(xiàn)代化的生產(chǎn)實踐中發(fā)揮著它的巨大作用。尤其是在實現(xiàn)遠距離溫度監(jiān)測與控制方面,紅外溫度傳感器以其優(yōu)異的性能,滿足了多方面的要求,因而在產(chǎn)品傳感器大顯身手的地方。因此紅外傳感器的發(fā)展前景也是不可估量的。本設計的心率計的傳感器采用一對5MM的紅外對管外輔少許電路所組成的紅外傳感器,紅外對管是紅外線發(fā)射管與光敏接收管,或者紅外線接收管,或者紅外線接收頭配合在一起使用時候的總稱。
紅外線發(fā)射管在LED封裝行業(yè)中主要有三個常用的波段,如下850NM、875NM、940NM。根據(jù)波長的特性運用的產(chǎn)品也有很大的差異,850NM波長的主要用于紅外線監(jiān)控設備,875NM主要用于醫(yī)療設備,940NM波段的主要用于紅外線控制設備。EG:紅外線遙控器、光電開關、光電記數(shù)設備等。
光敏接收管是一個具有光敏特征的PN結(jié),屬于光敏三極管,具有單向?qū)щ娦裕虼斯ぷ鲿r需加上反向電壓。無光照時,有很小的飽和反向漏電流(暗電流)。此時光敏管不導通。當光照時,飽和反向漏電流馬上增加,形成光電流,在一定的范圍內(nèi)它隨入射光強度的變化而增大。
2.3.3雙運算放大器LM358
LM358內(nèi)部包括有兩個獨立的、高增益、內(nèi)部頻率補償?shù)碾p運算放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式,在推薦的工作條件下,電源電流與電源電壓無關。它的使用范圍廣,有傳感放大器、直流增益模塊和其他所有使用運算放大器的可用單電源供電的場合。
2.3.4 LCD1602顯示模塊
1602LCD是指顯示的內(nèi)容為16x2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數(shù)字)。
第三章 硬件系統(tǒng)設計
3.1 系統(tǒng)設計框圖
心率計的總體設計電路框圖如圖3-1所示,主要有信號采集電路、放大電路、比較電路和單片機信號處理電路和液晶顯示電路。首先使用紅外傳感器收集與心跳相同頻率的信號,當人體組織的半透明度較大時,紅外發(fā)射管發(fā)射出的光透過人體組織的強度低,此時光敏三極管不通,輸出高電平;當人體組織的半透明度較小時,紅外發(fā)射管發(fā)射出的光透過人體組織的強度強,光敏三極管是通路,輸出低電平。如此就有了頻率與脈搏的次數(shù)成正比的信號,和正弦的波形類似。
當脈搏為40次/分時,檢測到的頻率是0.78Hz,當脈搏為100次/分時,檢測到的頻率是3.33Hz,從傳感器過來的是低頻信號。該低頻信號首先經(jīng)RC振蕩器濾波以消除高頻干擾,經(jīng)無極性隔直流電容C3、C5加到線性放大器的輸入端。運算放大器將此信號放大100倍,并與R3、R4、C6組成的低通T型濾波器濾除殘留的干擾。正弦信號經(jīng)微分形成尖脈沖信號,單穩(wěn)態(tài)振蕩電路將尖脈沖信號轉(zhuǎn)化為同頻率的長脈沖信號,該脈沖信號通過R12送到單片機后,經(jīng)過軟件對信號的處理,最后在以數(shù)值形式顯示在液晶上。
圖 3-1 系統(tǒng)設計原理框圖
3.2 信號采集電路
信號采集電路如圖3-2所示。5MM紅外對管D1與D3組成紅外傳感器。因紅外傳感器輸出的脈沖信號是非常微弱的信號,而且頻率很低(如脈搏50次/分鐘為0.78Hz,200次/分鐘為3.33Hz),并且還伴有各種噪聲干擾,故該信號要經(jīng)過R7、C5低通濾波,去除高頻干擾。當傳感器檢測到較強的干擾噪音時,其輸出端的直流電壓信號會有很大變化。
圖3-2 信號采集電路
3.3信號放大電路
如圖3-3所示,R3與R8的電阻之比為放大器的放大倍數(shù),經(jīng)過計算所得該放大器的理論值為200倍,但由于8號接口上5V供壓不足再加上材料限制和人為的因素,該放大倍數(shù)只有20倍左右。
圖中C7為耦合電容,作用為隔直流通交流,之所以使用1uF的電容,是為了讓所有的信號通過。信號放大電路仿真圖如圖3-4所示。
圖 3-3 信號放大電路
3.4 信號比較電路
電壓比較器是一種常用的集成電路。這里主要介紹其基本概念、工作原理及典型工作電路,電壓比較器是用來比較兩個模擬電壓的大小并顯示出哪一個的電壓高,接到的信號電壓小于該值時顯示0V,當大于該值時顯示5V,這就形成了0和5V的方波。如圖3-7 所示。
圖3-7 電壓比較器
3.5 LCD1602顯示電路
LCD1602與單片機接口電路如下:
3.6 鍵盤電路
因為I/O口足夠用,鍵盤設計采用線性鍵盤。三個引腳通過按鍵接地。有程序控制掃描。3個按鍵分別接到CPU的P30、P31、P32上,正常心率范圍的設置,以便在超出限制時報警提示。
圖 3-10鍵盤電路
第四章 系統(tǒng)軟件設計
基于單片機心率計的軟件設計主要由主程序流程圖、中斷程序流程圖及顯示子程序圖組成。C語言程序有利于實現(xiàn)較復雜的算法,匯編語言程序則具有較高的效率且容易精細計算程序運行的時間,而心率計的程序既有較復雜的計算(時間t內(nèi)的平均值),又要求精細計算程序運行時間(動脈搏動時間),所以控制程序可采用C語言和匯編語言混合編程。
4.1測量計算原理
設K個連續(xù)的動脈搏動所用時間為t(秒),在時間 t 內(nèi)心率的平均值為n(次/分),則:
n = 60K/t (4-1)
為了能夠控制用單片機計算機測定t值,我們利用脈動信號控制(在K個連續(xù)的脈搏周期內(nèi))單片機的定時/計數(shù)器T0定時(定時1ms中斷一次),工作寄存器對中斷次數(shù)進行計數(shù),然后讀取計數(shù)值。設該計數(shù)值為N,于是有:
t = 0.001N (4-2)
把(2)帶入(1)得到:
n = 60k/0.001N =60000K/N (4-3)
式(3)就是利用單片計算機測定心率值的數(shù)學模型(誤差小于0.4%)。在該單片機系統(tǒng)中,K = 1~~9(用戶可通過按鍵自行設置)??蓽y心率范圍20次/分~~200次/分(N的范圍:300~~30000)。
4.2主程序流程圖
程序流程圖如圖4-1所示。程序初始化是單片機程序必需的,它的主要任務是確定中斷入口地址和程序入口。然后顯示全零,目的是為了區(qū)分是否有信號送入,當沒有信號送入時,顯示全零,則說明心率計沒有正常工作,反之,則正常工作。
在這個設計中重要的地方是定時l00ms,它是為采樣6s建立基礎。系統(tǒng)運用定時器T1定時來實現(xiàn)100ms的定時,中斷等待占用程序執(zhí)行的大多數(shù)時間,是死循環(huán)語句,僅在中斷滿足條件時,才執(zhí)行中斷服務子程序,進行累加計數(shù),累加之后,判斷采樣次數(shù),如果采樣未滿60次,說明不到6 s,返回繼續(xù)采樣、等待中斷,直到采樣60次為止,之后把6s內(nèi)采樣得到的次數(shù)由二進制數(shù)轉(zhuǎn)化為十進制數(shù),送到液晶進行顯示。
圖 4-1 程序流程圖 圖 4-2 中斷程序流程圖
4.3中斷程序流程圖
心率的有效測量范圍為40次—120次/分鐘,為了消除外界信號的干擾,在定時器中斷程序中加入了對頻率大小的判斷,濾除掉小于40次/分鐘和大于120次/分鐘的脈沖信號,中斷程序如圖4-2所示。
4.4定時器T0和T1的中斷服務程序
定時器T0的中斷流程圖如圖4-3所示,定時器T1的中斷服務流程圖如圖4-4所示。
圖4-3 定時器T0的中斷
服務程序流程圖
圖4-4 定時器T1的中斷
服務程序流程圖
第五章 系統(tǒng)測試與結(jié)果分析
5.1 測試方法和儀器
(1) 時基測量:心率測量儀的精度在很大程度上取決于系統(tǒng)的時間基準,因而對1MS時間定時要用儀器校準,我們用的是TDS210數(shù)字示波器。在T0定時中斷服務程序中首先對外部的某一端口的狀態(tài)不斷取反,用示波器測端口的周期,如有誤差可在程序中改變TL0的值,直到時間滿足要求為止。
(2) 測量精度測試:用信號發(fā)生器產(chǎn)生一方波,其頻率與測量范圍相符,(40~120次/分)分別測量40次/分、80次/分、100次/分、120次/分,觀察心率儀的測量結(jié)果與與信號發(fā)生器輸出的頻率是否相符,如誤差大于±2次/分時可再細調(diào)TL0的值,如不能滿足要求可用軟件與TL0的值同時調(diào)節(jié),直到滿足要求為止。
使用儀器:
示波器(TDS210)
信號發(fā)生器(GFG-8015G)
萬用表(FLUKE73)
+-5V電源(YB1711B)
單片機仿真器(E2000/S)
編程器(kile)
5.2仿真與焊接階段
5.2.1仿真階段
當模塊設計完成并在ISIS 7 protues中仿真成功后,電路基本確定,但那只是理論值,需要對這些仿真電路進行試驗,以確保這些電路是否適用與該設計。
5.2.2焊接與完成階段
在完成實驗階段測試后,這時電路的元器件及各種電阻電容的值就已經(jīng)確定??梢詫嵨锏暮附印?
(1)焊前處理
焊接前,應對元件引腳或電路板的焊接部位進行焊前處理。
①焊接位置氧化層的清除
用小刀刮去金屬引線表面的氧化層,使引腳部分具有金屬光澤。轉(zhuǎn)印電路板可用細紗紙將銅箔打光后,均勻涂上一層松香。
②元件鍍錫
在處理過引線上鍍錫??蓪⒁€沾上松香后,將帶錫的烙鐵頭壓在引線上,轉(zhuǎn)動引線。即可使引線均勻地鍍上一層很薄的錫層。焊接前,用剝線鉗剝?nèi)ソ^緣外皮,再經(jīng)過以上處理,才能正式焊接。若是多股金屬絲的導線,打光后應先擰在一起,然后再鍍錫。
(2) 焊接技
做好焊前處理之后,就可正式進行焊接。
①焊接方法:焊接,檢查,剪短。
a.焊接前,電烙鐵需要預熱5分鐘。而且烙鐵頭要有鍍錫,即帶上一層薄薄的焊錫。
b.將烙鐵頭貼在焊點處。使熔化的錫從烙鐵頭上覆蓋到焊點上。將烙鐵頭停留在焊點處2~3秒鐘。
C.移開烙鐵頭。等焊點上的錫冷卻凝固后,才可松開左手。
d.用鑷子轉(zhuǎn)動引線,確認不松動,然后可用偏口鉗剪去多余的引線。
②焊接質(zhì)量
焊接時,要保證每個焊點焊接牢固、接觸良好。要保證焊接質(zhì)量。應是錫點光亮,圓滑而無毛刺,錫量適中。錫和被焊物融合牢固。不應有虛焊和假焊。虛焊是焊點處只有少量錫焊住,造成接觸不良,時通時斷。假焊是指表面上好像焊住了,但實際上并沒有焊上,有時用手一拔,引線就可以從焊點中拔出。這兩種情況將給電子制作的調(diào)試和檢修帶來極大的困難。只有經(jīng)過大量的、認真的焊接實踐,才能避免這兩種情況。
焊接電路板時,一定要控制好時間。太長,電路板將被燒焦,或造成焊點脫落。從電路板上拆卸元件時,可將電烙鐵頭貼在焊點上,待焊點上的錫熔化后,將元件拔出。
由于本次設計采用單片機開發(fā)板來焊接,因此最小系統(tǒng)部分只用焊接元件不用另外布線,減輕了焊接部分的工作量,同時是電路板更美觀。雖然用單片機開發(fā)板來焊接,但是在焊接過程中也必須認真謹慎,避免虛焊和短路。每焊完一個元器件或者一條線路都要用萬用表檢查焊接是否成功,最終按照附錄一所示仿真圖焊接實物。
實物圖如圖5-1所示。
圖 5-1 實物
5.3 測試數(shù)據(jù)與結(jié)果分析
5.3.1測量結(jié)果與分析
(1)用儀器測量:用信號發(fā)生器作信號源,產(chǎn)生一個40~200次/分的方波,觀察心率儀讀數(shù)與信號發(fā)生器輸出的頻率是否相等。表5-1給出了部分測量結(jié)果。
表5-1 信號發(fā)生器測量結(jié)果
測量序號
信號發(fā)生器示值及示波器
心率儀示值
1
40
40(低限報警)
2
80
80
3
150
150
4
120
120(高限報警)
由以上測量結(jié)果看,用信號發(fā)生器產(chǎn)生的信號用心率儀測量時其測量誤差為0,且在報警的上下限可報警。
(2)實際測量:對同一同學和不同的同學進行測量,同時由另一同學用聽診器測量脈搏,表5-2給出了部分測量結(jié)果。
表5-2實際測量結(jié)果比較
測量序號
聽診器測量
心率計值
誤差
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ù)值與心率儀測量的數(shù)值會有誤差,在測同一人時其誤差只要在允許范圍內(nèi),有時也超過測量精度,這是因為人工測量時的計數(shù)起始時間與結(jié)束時間掌握不準所至。
由信號發(fā)生器產(chǎn)生的信號測量時沒有誤差,而實際測量時產(chǎn)生誤差,這是因為信號發(fā)生器產(chǎn)生的頻率穩(wěn)定,而實際測量時被測人的脈波穩(wěn)定性、強度不穩(wěn)定。
示波器顯示的方波以及對應的心率計顯示如下圖5-2,5-3所示。
圖5-2 示波器顯示方波波形
圖5-3 心率計顯示心率值及設置上下限
5.3.2幾種主要系統(tǒng)干擾與影響
(1) 陽光的干擾。
因為本心率計是通過紅外光線透過手指采集到信號,進而對信號處理得到人體的心率值,光照在本系統(tǒng)中很關鍵。而且在各種不同的環(huán)境中,外界光照的強度不一樣,這對實驗的干擾卻大。但是外界光照對于人體是均衡的,即各處光照強度相同,對人體內(nèi)變化的影響是相同的,即可以相互抵消。
(2) 測量過程中手指的抖動。
紅外傳感器檢測到的人體信號很微弱,手指的一點抖動都會引起測量心率值的大幅變化。為了解決這個問題,在設計中,把紅外對管相距一定距離(夠放下食指)之后固定死,這樣在測量的時候只要被測者盡量保持手指不動,就可以大大減小手指抖動對試驗的影響。
(3) 呼吸的影響。
試驗的原理主要是血液中的含氧量的變化進而導致人體組織變化而檢測心率的,這樣就使得均勻呼吸和急促呼吸使人體內(nèi)的含氧量變化很大。據(jù)試驗所得,當人劇烈運動之后呼吸會比較局促,這時他的心率值就會波動很大。正常情況下 ,心率指的是當人心平氣和時的心跳值。
第六章 總結(jié)和展望
心率指心臟每分鐘搏動的次數(shù),它能夠反映心臟的工作狀態(tài)。而心率計是常用的醫(yī)學檢查設備,實時準確的心率測量在病人監(jiān)控臨床治療及體育競賽等方面都有著廣泛的應用。
心率計的硬件設計,包括微控制器的系統(tǒng)及顯示電路、信號采集和信號放大和濾波電路三部分組成。單片機采用STC89C51或其兼容系列。具有精度高12MHz晶體振蕩器以獲得更穩(wěn)定的時鐘頻率,減少了測量誤差。單片機的P1.0的輸出端口40kHz的超聲波換能器所需的方波信號,外部中斷0來監(jiān)測從紅外傳感器輸出信號采集電路的信號。顯示電路采用簡單實用的液晶顯示器,信號用LM358芯片放大。
基于單片機心率計的軟件設計流程由主程序,中斷子程序流程圖和顯示子程序組成。據(jù)我所知C語言程序有利于實現(xiàn)更復雜的算法,匯編語言程序則具有較高的效率且容易精細計算程序運行的時間,而心率計的程序既有較復雜的計算(時間t內(nèi)的平均值),又要求精細計算程序運行時間(動脈搏動時間),所以控制程序可以混合C和匯編語言編程的。
焊完實物后,首先是硬件調(diào)試。電路的調(diào)試過程是檢驗、修正設計方案的實踐過程,但也是對理論知識的實際應用,解決各種問題的關鍵環(huán)節(jié),是電路設計人員必須掌握的基本技能。
把電子元器件連接起來,實現(xiàn)特定功能的關鍵一步是調(diào)試。調(diào)試方法有兩種:分塊調(diào)試法和整體調(diào)試法。在硬件檢測完之后,在沒有問題的情況下可以輸入程序,調(diào)試程序的可行性,并加以修正,配合程序改動系統(tǒng)的原理圖。
文中的心率計使用了脈搏波作為源信號,當然我還可以通過對心電圖的分析來研究心率,它們的后繼電路部分結(jié)構(gòu)都大同小異,主要的區(qū)別是前段的信號采集。本心率計適用于4—9V直流電壓,工作電流為100mA左右,心率計通電后,將手指固定在紅外傳感器之間即可檢測到人體的信號,并在液晶上顯示出來!
當然它也存在著一定的問題,但我想在未來的研制和生產(chǎn)中,肯定會大大提高它的性能 ,極力改善它的缺點。
參考文獻
[1] 陳文彬, 王友赤. 診斷學[M]. 人民衛(wèi)生出版社, 2002.45-90.
[2] 王瑞元, 孫學川, 熊開宇. 運動生理學[M]. 人民體育出版社, 2002.76-81.
[3] 姜元恩,邢武;基于脈搏波速度測量的動脈硬化檢測系統(tǒng)的設計與實現(xiàn)[J].自動化與儀器儀表,2007.8.12(5).
[4] 姜元恩,邢武:半導體應變片式脈搏傳感器在動躲硬純檢測系統(tǒng)中酶應用[Z].安徽省傳感器技術(shù)與產(chǎn)業(yè)化發(fā)展論壇,2007.10.
[5] 朱彤、李婉媚.脈搏波傳導速度測定的新認識[J].醫(yī)療保健器具,2006.(8).
[6]羅志昌、張松、楊文鳴.脈搏波波形特征信息的研究[N].北京工業(yè)大學學報.1996.1.10(11).
[7]趙玉霞等.橈動脈脈圖在心血管血流動力學定量監(jiān)測中的價值[N].山東醫(yī)科大學學報.1994.1.20(1).
[8]陳春曉等.無倉Ⅱ,血管功能測試診斷儀的研究[J].生物醫(yī)學工程學雜志,2003.1.15(33).
[9][日].西山一郎,兆十編著. 耿連發(fā),潘維林譯. 自律型機器人制作[J]. 科學出版社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ù),變量依次為字符顯示首地址,顯示字符長度,所顯示的字符*/
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
收藏