目次 1 緒論 1.1 國內外心率計脈搏儀系統研究現狀 1.2 該論文的主要內容 2 總體方案的論證與設計 2.1 系統整體設計 2.2 主控模塊的選型和論證 2.3 顯示模塊的選型和論證 2.4 傳感器的選型和論證 3 系統硬件電路設計 3.1 主控模塊 3.2 單片機最小系統設計 3.3 LCD顯示電路模塊設計 3.4 液晶顯示電路 3.5 光電傳感器電路模塊設計 3.6 傳感器簡介 3.7 濾波電路 3.8 放大整形電路 3.9 整體電路圖 4 系統軟件設計 4.1 主程序設計 4.2 子程序設計 5 系統調試 5.1 Keil軟件介紹 5.2 Keil軟件調試過程及結果 5.3 硬件調試 5.4 系統測試 結 論 致 謝
1 緒論1.1 國內外心率計脈搏儀系統研究現狀心率(Heart Rate)是用來描述心跳周期的專業術語,是指心臟每分鐘跳動的次數, 它不僅是反映心臟功能強弱的重要標志,也是反映人體運動強度的生理指標。自公元三世紀我國最早的脈學專著《脈經》問世以來,脈學理論得到不斷的發展和提高。在中醫四診(望、聞、問、切)中,脈診占有非常重要的位置。脈診是我國傳統醫學中最具特色的一項診斷方法,其歷史悠久,內容豐富,是中醫“整體觀念”、“辨證論證”的基本精神的體現與應用。 進入21世紀以來,科技不斷的發展,電子產品越來越多,系統的價格越來越便宜;產品的科技含量比例也越來越大,性能越來越可靠。人們日常的生產、生活都在慢慢走向高度自動化和智能化。隨著科學技術的發展,脈搏測量技術也越來越先進,對脈搏的測量精度也越來越高,國內外先后研制了不同類型的脈搏測量儀,而其中關鍵是對脈搏傳感器的研究。國外,諸如法國研制生產的康普樂儀,日本科林公司的動脈硬化檢測儀器等就是利用此方法,并在歐美國家得到廣泛的應用,國內醫院也有引進此類設備的研究,在2007年,有人有次類似的產品相繼上市。但,這些儀器被應用在大型醫療機構中,成本高,檢測費用高,功能局限于檢測,不能夠滿足患者隨時隨地的檢測的需要。 1.2 該論文的主要內容該論文所做的設計是針對心率計脈搏儀的功能問題,力圖解決測量方便、快捷、準確等方面的問題。脈搏測量在有脈搏時遮擋光線,無脈搏時透光強,所采用的傳感器是紅外接收二極管和紅外發射二極管。通過觀測脈搏信號,可以對人體的健康進行檢查,通常被用于保健中心和醫院。系統可以供用戶測量當時的脈搏次數,同時還可以設定上限次數和下限次數,當測量的范圍超過設定的范圍則驅動蜂鳴器報警提醒,除此外用戶還可以設定每天鬧鐘提醒測量,時間可以自行設定。 從脈搏波中提取人體的生理病理信息作為臨床診斷和治療的依據,歷來都受到中外醫學界的重視。系統以STC89C52單片機為核心,以光電傳感器利用單片機系統內部定時器來計算時間,由光電傳感器感應產生信號,單片機通過對信號累加得到脈搏跳動次數,時間由定時器定時而得。系統運行中可以通過觀察指示燈閃爍,若均勻閃爍說明測量值準確。脈搏波所呈現出的形態(波形)、強度(波幅)、速率(波速)和節律(周期)等方面的綜合信息,在很大程度上反映出人體心血管系統中許多生理病理的血流特征,但人體的生物信號多屬于強噪聲背景下的低頻的弱信號, 脈搏波信號更是低頻微弱的非電生理信號, 必需經過放大和后級濾波以滿足采集的要求。
2 總體方案的論證與設計2.1 系統整體設計心率計的總體設計電路框圖如圖2-1所示,主要包括光電傳感器、放大電路、比較電路、轉換電路、單片機處理電路和顯示電路,用其5V的電源。 圖2.1 總體設計電路框圖 光電傳感器:光電感應主要是由光電指套式傳感器實現的,LED發出的光線通過手指照射在三極管的感應窗上,隨著微血管脈壓波動的變化,其透光度也隨其變化,這樣光敏三極管的電流也發生波動性的變化,這樣也完成了將光敏三極管轉換為電壓信號,完成可第一步工作過程。 放大電路:由于通過光電傳感器接收到的信號極其微弱,容易被其外圍電路所干擾,因此系統必須為信號處理電路提供電源。檢測到的信號經過LM324放大器放大后仍存在較大的偏置電壓,因此必須在信號輸入端加濾波電容,將電路中的直流成份濾掉并保證不影響交流信號的傳遞。 比較電路:比較器是將一個模擬電壓信號與一個基準電壓相比較的電路。比較器的兩路輸入為模擬信號,輸出則為二進制信號,當輸入電壓的差值增大或減小時,其輸出保持恒定。運用比較電路的原理,對兩個或多個測量數據項進行比較,用來檢測測量結果是否精確。 A/D轉換電路:將模擬信號轉換為數字信號,方便其讀數。 單片機處理電路:單片機處理電路是設計的核心電路,起著統籌的作用。 顯示電路:將脈搏(心率)測量結果顯示出來。 電源:提供的單片機運行所需要的電壓。 2.2 主控模塊的選型和論證 方案一: 采用MSP430系列單片機,該單片機是TI公司1996年開始推向市場的一種16位超低功耗的混合信號處理器。其內部集成了很多模擬電路、數字電路和微處理器,提供強大的功能。不過該芯片昂貴不適合一般的設計開發。 方案二: 采用51系列的單片機,該單片機是一個高可靠性,超低價,無法解密,高性能的8位單片機,32個IO口,且STC系列的單片機可以在線編程、調試,方便地實現程序的下載與整機的調試。 因此選用方案二中的51系列單片機作為主控芯片。 2.3 顯示模塊的選型和論證方案一: 采用點陣式數碼管顯示,點陣式數碼管是由八行八列的發光二極管組成,對于顯示文字比較合適,如采用在顯示數字顯得太浪費,且價格也相對較高,所以不用此種作為顯示。 方案二: 采用LED數碼管動態掃描,LED數碼管價格雖適中,對于顯示數字也最合適,而且采用動態掃描法與單片機連接時,占用單片機口線少。但是由于數碼管動態掃描需要借助74LS164移位寄存器進行移位,該芯片在電路調試時往往有很多障礙,所以不采用LED數碼管作為顯示。 方案三: 采用LCD液晶顯示屏,液晶顯示屏的顯示功能強大,可顯示大量文字,圖形,顯示多樣,清晰可見,對于本設計而言一個LCD1602的液晶屏即可,價格也還能接受,需要的借口線較多,但會給調試帶來諸多方便。 所以本設計中方案三中的LCD1602液顯示屏作為顯示模塊。 2.4 傳感器的選型和論證方案一: 采用壓電傳感器用來提取人的脈搏信號,壓電傳感器是利用某些電介質受力后產生的壓電效應制成的傳感器。所謂壓電效應是指某些電介質在受到某一方向的外力作用而發生形變(包括彎曲和伸縮形變)時,由于內部電荷的極化現象,會在其表面產生電荷的現象。通過此現象可以提取出人的脈搏信號。 方案二: 采用光電傳感器提取人體脈搏信號,授予手指組織可以分成皮膚、肌肉、骨骼等非血液組織和血液組織,其中非血液組織的光吸收量是恒定的,而在血液中,靜脈血的搏動相對動脈血是十分微弱的,可以忽略,因此可以認為光透過手指后的變化僅由動脈血的充盈而引起,那么在恒定波長的光源的照射下,通過檢測透過手指的光強將可以間接測量到人體的脈搏信號。 由于光電傳感器較壓電傳感器容易在一般的地方可以買得到,因此這里選用光電傳感器來提取人體脈搏信號。 3 系統硬件電路設計3.1 主控模塊 主控模塊模塊在整個系統中起著統籌的作用,需要檢測鍵盤等各種參數,同時驅動液晶顯示相關參數,在這里我們選用了51系列單片機中的STC89C52單片機作為系統的主控芯片。 本設計采用STC89C52用于設計,STC89C52有40個引腳,4個8位并行I/O口,1個全雙工異步串行口,同時內含5個中斷源,2個優先級,3個16位定時/計數器。STC89C52的存儲器系統由4K的程序存儲器(掩膜ROM),和128B的數據存儲器(RAM)組成。 STC89C52單片機的基本組成框圖見圖3.1所示。 
圖3.1 STC89C52基本組成框圖 STC89C52單片機主要特性 1. 一個8 位的微處理器(CPU)。 2. 片內數據存儲器RAM(128B),用以存放可以讀/寫的數據,如運算的中間結果、最終結果以及欲顯示的數據等,SST89 系列單片機最多提供1K 的RAM。 3. 片內程序存儲器ROM(4KB),用以存放程序、一些原始數據和表格。但也有一些單片機內部不帶ROM/EPROM,如8031,8032,80C31 等。目前單片機的發展趨勢是將RAM 和ROM 都集成在單片機里面,這樣既方便了用戶進行設計又提高了系統的抗干擾性。SST 公司推出的89 系列單片機分別集成了16K、32K、64K Flash 存儲器,可供用戶根據需要選用。 4. 四個8 位并行I/O 接口P0-P3,每個口既可以用作輸入,也可以用作輸出。 5. 兩個定時器/計數器,每個定時器/計數器都可以設置成計數方式,用以對外部事件進行計數,也可以設置成定時方式,并可以根據計數或定時的結果實現計算機控制。為方便設計串行通信,目前的52 系列單片機都會提供3 個16 位定時器/計數器。 6. 五個中斷源的中斷控制系統。現在新推出的單片機都不只5 個中斷源,例如SST89E58RD 就有9 個中斷源。 7. 一個全雙工UART(通用異步接收發送器)的串行I/O 口,用于實現單片機之間或單機與微機之間的串行通信。 8. 片內振蕩器和時鐘產生電路,但石英晶體和微調電容需要外接。最高允許振蕩頻率為12MHz。SST89V58RD 最高允許振蕩頻率達40MHz,因而大大的提高了指令的執行速度。 3.2 單片機最小系統設計 圖3.2為單片機最小系統電路圖,單片機最小系統有單片機、時鐘電路、復位電路組成,時鐘電路選用了12MHZ的晶振提供時鐘,作用為給單片機提供一個時間基準,其中執行一條基本指令需要的時間為一個機器周期,單片機的復位電路,按下復位按鍵之后可以使單片機進入剛上電的起始狀態。圖中10K排阻為P0口的上拉電阻,由于P0口跟其他IO結構不一樣為漏極開路的結構,因此要加上拉電阻才能正常使用。 圖3.2 單片機最小系統電路圖 3.3 LCD顯示電路模塊設計由于本設計中要求顯示界面顯示一些參數,因此這里選用了LCD1602作為界面顯示,可以把一些相關的參數進行顯示。 液晶顯示器(LCD)英文全稱為Liquid Crystal Display,它一種是采用了液晶控制透光度技術來實現色彩的顯示器。和CRT顯示器相比,LCD的優點是很明顯的。由于通過控制是否透光來控制亮和暗,當色彩不變時,液晶也保持不變,這樣就無須考慮刷新率的問題。 顯示接口用來顯示系統的狀態,命令或采集的電壓數據。本系統顯示部分用的是LCD液晶模塊,采用一個16×2的字符型液晶顯示模塊。 點陣圖形式液晶由 M 行×N 列個顯示單元組成,假設 LCD 顯示屏有64行,每行有 128列,每 8列對應 1 個字節的 8 個位,即每行由 16 字節,共 16×8=128個點組成,屏上 64×16 個顯示單元和顯示 RAM 區 1024 個字節相對應,每一字節的內容和屏上相應位置的亮暗對應。一個字符由 6×8 或 8×8點陣組成,即要找到和屏上某幾個位置對應的顯示 RAM區的 8 個字節,并且要使每個字節的不同的位為‘1’,其它的為‘0’,為‘1’的點亮,為‘0’的點暗,這樣一來就組成某個字符。但對于內帶字符發生器的控制器來說,顯示字符就比較簡單了,可讓控制器工作在文本方式,根據在LCD 上開始顯示的行列號及每行的列數找出顯示 RAM對應的地址,設立光標,在此送上該字符對應的代碼即可。 LCD1602液晶模塊采用HD44780控制器,hd44780具有簡單而功能較強的指令集,可以實現字符移動,閃爍等功能,LM016L與單片機MCU通訊可采用8位或4位并行傳輸兩種方式,hd44780控制器由兩個8位寄存器,指令寄存器(IR)和數據寄存器(DR)忙標志(BF),顯示數RAM(DDRAM),字符發生器ROMA(CGOROM)字符發生器RAM(CGRAM),地址計數器RAM(AC)。IR用于寄存指令碼,只能寫入不能讀出,DR用于寄存數據,數據由內部操作自動寫入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM讀出的數據,BF為1時,液晶模塊處于內部模式,不響應外部操作指令和接受數據,DDTAM用來存儲顯示的字符,能存儲80個字符碼,CGROM由8位字符碼生成5*7點陣字符160中和5*10點陣字符32種.8位字符編碼和字符的對應關系, CGRAM是為用戶編寫特殊字符留用的,它的容量僅64字節,可以自定義8個5*7點陣字符或者4個5*10點陣字符,AC可以存儲DDRAM和CGRAM的地址,如果地址碼隨指令寫入IR,則IR自動把地址碼裝入AC,同時選擇DDRAM或CGRAM,LCD1602液晶模塊的引腳圖如圖3.3所示。 | | | | | | | | 讀busy flag(DB7),以及讀取位址計數器(DB0~DB6)值 | | | | | | |
圖3.3 LCD液晶模塊引腳圖 3.4 液晶顯示電路 如圖3.4所示,用STC89C52的P0口作為數據線,用P1.2、P1.1、P1.0分別作為LCD的EN、R/W、RS。其中EN是下降沿觸發的片選信號,R/W是讀寫信號,RS是寄存器選擇信號本模塊設計要點如下:顯示模塊初始化:首先清屏,再設置接口數據位為8位,顯示行數為1行,字型為5×7點陣,然后設置為整體顯示,取消光標和字體閃爍,最后設置為正向增量方式且不移位。向LCD的顯示緩沖區中送字符,程序中采用2個字符數組,一個顯示字符,另一個顯示電壓數據,要顯示的字符或數據被送到相應的數組中,完成后再統一顯示.首先取一個要顯示的字符或數據送到LCD的顯示緩沖區,程序延時2.5ms,判斷是否夠顯示的個數,不夠則地址加一取下一個要顯示的字符或數據。 圖3.4 液晶顯示電路 3.5 光電傳感器電路模塊設計此部分電路的功能是由傳感器將脈搏信號轉換為電信號,一般為幾十毫伏,必須加以放大,以達到整形電路所需的電壓,一般為幾伏。放大后的信號波形是不規則的脈沖信號,因此必須加以濾波整形,整形電路的輸出電壓應滿足計數器的要求。選擇電路:所選放大整形電路框圖如圖3.5所示。        圖3.5 放大整形電路框圖 3.6 傳感器簡介傳感器采用了紅外光電轉換器,作用是通過紅外光照射人的手指的血脈流動情況,把脈搏跳動轉換為電信號,其原理電路如圖3.6所示。 圖3.6 傳感器信號調節原理電路 如圖3.6中,紅外管VD采用ST188。用+5V電源供電,R1取150Ω,R2取33kΩ,當人把手指放在發光二極管和光電二極管之間的時候,光電二極管接收到的信號會隨人脈搏強度的變化而變化。 3.7 濾波電路圖3.7 放大濾波電路 圖3.7為脈搏計的放大濾波信號,由于脈搏信號輸出的信號十分微弱,一般在uV級別,除此外輸出的信號一般會伴隨很大的噪聲干擾,因此在這里用LM358搭建起一個放大和濾波電路。 3.8 放大整形電路經過放大濾波后的脈搏信號仍是不規則的脈沖信號,且有低頻干擾,仍不滿足計數器的要求,必須采用整形電路,這里選用了滯回電壓比較器,如圖3.8所示,其目的是為了提高抗干擾能力。集成運放采用了LM358,除此外LM358還接上了一個LED用作指示脈搏跳動的狀態。 圖3.8 波形整形電路 3.9 整體電路圖將3.1-3.8畫為一個圖,整體電路如圖3.9所示:
圖3.9 整體電路圖 4 系統軟件設計4.1 主程序設計 圖4.1 系統流程圖 主程序流程圖如圖4.1所示,單片機上電后先進行初始化,清楚一些參數的初值,然后等待用戶按下對應的按鍵并進入對應的功能,當用戶按下測量按鍵的時候流程如圖4.1(c)所示,單片機通過定時15s測量人體的脈搏次數流程如圖4.1(b)所示,然后再換算出對應的真實的脈搏次數再在液晶屏幕上顯示流程如圖4.1(a)所示,當用戶按下設置脈搏范圍設定按鍵后,單片機根據用戶按下的按鍵進行增加或減少范圍。 4.2 子程序設計圖4.2 LCD1602初始化子函數流程圖 5 系統調試
5.1 Keil軟件介紹Keil軟件是目前開發8051系列單片機的常用軟件,Keil軟件提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案。它具有編譯時間短、可產生最少的代碼量、支持浮點和長整數、重入和遞歸等特點。 具有以下優點: 1、Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。 2、與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil C51軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。 3、Keil C51單片機軟件工具包的整體結構,可以完成編輯、編譯、連接、調試、仿真等整個開發流程。 使用獨立的Keil仿真器時的注意事項: 1、仿真器標配11.0592MHz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。 2、仿真器上的復位按鈕只復位仿真芯片,不復位目標系統。 3、仿真芯片的31腳(/EA)已接至高電平,所以仿真時只能使用片內ROM,不能使用片外ROM;但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,故該仿真器仍可插入到擴展有外部ROM(其CPU的/EA引腳接至低電平)的目標系統中使用。 5.2 keil軟件調試過程及結果Keil進行軟件仿真開發的主要步驟為: 編寫源程序并保存—建立工程并添加源文件—設置工程—編譯/匯編、連接,產生目標文件—程序調試。 首先選擇菜單File-New,在源程序編輯器中輸入C語言源程序(直接打開已用其它編輯器編輯好的源程序文檔)并保存,注意保存時必須在文件名后加上擴展名.c。 然后選擇菜單Project-New Project,建立新工程并保存,工程保存后會立即彈出一個設備選擇對話框,如圖5.1所示,選擇C8051F310單片機的型號后點確定返回主界面。 
圖5.1 選取單片機型號 這時工程管理窗口的文件頁(Files)會出現“Target1”,將其前面+號展開,接著選擇Source Group1,右擊鼠標彈出快捷菜單,選擇“Add File to Group ‘Source Group1’”,出現一個對話框,加入源文件后點close返回主界面。如圖5.2所示: 
圖5.2 建立工程并加入源文件 選擇工程管理窗口的Target1,再選擇Project-Option for Target‘Target1’打開工程屬性設置對話框,共有8個選項卡,設置晶振頻率,在Debug選項卡中設置實驗仿真板等,如要寫片,還必須在Output選項卡中選中“Creat Hex Fi”;其它選項卡內容一般可取默認值,如圖5.3所示。 
圖5.3 Target選項卡 工程設置后按F7鍵進行編譯/匯編、連接以及產生目標文件。 5.3 硬件調試基于單片機的脈搏計系統是多功能的數字型設計,所以對于它的程序也較為復雜,所以在編寫程序和調試時出現了相對較多的問題。最后經過多次的模塊子程序的修改,一步一步的完成,最終解決了軟件。在軟件的調試過程中主要遇到的問題如下: 問題1:燒入程序后,LCD液晶顯示閃動,而且亮度不均勻。 解決:首先對調用的延時進行逐漸修改,可以解決顯示閃動問題。其次,由于本作品使作動態掃描方式顯示的數字,動態掃描很快,人的肉眼是無法看出,但是調用的顯示程序時,如果不在反回時屏蔽掉最后的附值,則會出現很亮的現象,所以在顯示的后面加了屏蔽子令,最后解決了此問題。 
問題2:當用戶按下按鍵的時候,單片機讀取的數值跟設定的數值不對。 解決:重新檢查矩陣鍵盤電路的連接,重新建立一個新的對應關系。 5.4 系統測試基于單片機的脈搏計系統的電路較大,對于焊接方面更是不可輕視,龐大的電路系統中只要出于一處的錯誤,則會對檢測造成很大的不便,而且電路的交線較多,對于各種鋒利的引腳要注意處理,否則會刺破帶有包皮的導線,則會對電路造成短路現象。 
在本脈搏計的設計調試中遇到了很多的問題。回想這些問題只要認真多思考都是可以避免的,以下為主要的問題: 問題1:最開始的時候以為單片機I/O口直接可以驅動蜂鳴器發聲,后來調試的時候久久不能出聲音。 解決:經過查找相關資料,知道揚聲器需要三極管來驅動,后來把三極管放大器加上系統便可以正常工作。 問題2:開始的時候由于沒想到脈搏信號十分微弱大概在uV級別,因此沒有放大足夠的倍數,單片機最后沒有檢測到脈搏的信號。 解決:經過查找相關資料,確定脈搏信號的幅值范圍后,增加放大器的放大倍數就解決問題。
結 論 通過這次畢業設計,我學到了不少課本上沒有的知識,也鍛煉了自己的動手能力,將以前學過的零散的知識串到一起。經過我長時間的設計及調試,本系統基本能實現基于單片機的脈搏計的所有功能。不足之處有:1.硬件的穩定性有待進一步提高2.系統人性化還不足。 我的綜合設計主要涉及硬件和軟件兩方面的內容,通過這些我的硬件和軟件開發能力都獲得了提高。首先硬件方面,基本了解了電子產品的開發流程和所要做的工作。基本掌握了Protel99SE原理圖的方法,并設計了一個單片機最小系統。通過開發板的設計和硬件搭建的過程,使我對51系單片機的接口有了更深層次的理解,熟悉了一些單片機常用的外圍電路引腳和連接方法,如LCD液晶,鍵盤等。并且我學會了分析問題解決問題的能力,加深了對所學理論知識的理解和運用。我的動手能力得到了很大的提高,創新意識得到了鍛煉。 致 謝 在這次課程設計的過程中,我的指導老師給予了我很大的幫助,提供了相關的資料,對我的課程設計作品給予了指導和支持。使我順利圓滿的完成了此次課稱設計設計。在此,向方老師表示衷心的感謝!同時,也要感謝學院領導的關心,使我的設計得以順利完成。 古人云:預則立,不預則廢。祖先曾經教導我們:一年之計在于春,一日之計在于晨。作為即將走向社會的我們又何嘗不是如此?一個沒有規劃的人生,就像一場沒有球門的足球賽,滿場亂踢;一個沒有規劃的人生,就像一葉在茫茫大海上漫無目標的小舟,隨波飄蕩。在我們即將走向社會的時候,我們必須對自己的職業生涯進行規劃。羅素曾說:選擇職業就是選擇你自己的將來。因此我們要針對社會需要,結合自身的情況及早做好相應準備,為我們走向社會打下堅實的基礎。俗話說:磨刀不誤砍柴功。為適應社會需要,促進自我發展,我們除了學好本專業外,還應輔修相關專業知識,積極參加社會實踐活動,培養工作能力,努力提高綜合素質,同時努力培養特長,形成自身競爭優勢。 最后,再次感謝南理工給了我讀本科的機會,以及感謝學院領導、方老師、許多的朋友和同學在各個方面給予了我很多的幫助和支持,讓我堅持到了最后,謝謝你們!
完整的Word格式文檔51黑下載地址:
基于51單片機心設計率計脈搏儀.doc
(2.04 MB, 下載次數: 234)
2018-4-30 22:04 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|