基于51單片機(jī)脈搏測量儀
本文介紹一種用單片機(jī)制作的脈搏測量儀,只要把手指放在傳感器內(nèi),很快就可以精確測出每分鐘脈搏數(shù),測量的結(jié)果用三位數(shù)字顯示出來。
一、電路工作原理
電路原理見附圖。電路由傳感器電路、信號放大和整形電路、單片機(jī)電路、數(shù)碼顯示電路等四部分組成。
傳感器由紅外線發(fā)射二極管和接收二極管組成,測量原理如下:將手指放在紅外線發(fā)射二極管和接收二極管之間,血管中血液的流量隨著心臟的跳動(dòng)變化,由于手指放在光的傳遞路徑中,血管中血液飽和度的變化將引起光的傳遞強(qiáng)度變化,此變化和心跳的節(jié)拍相對應(yīng),因此紅外接收二極管的電流也跟著心跳的節(jié)拍改變,使得紅外接收二極管輸出與心跳節(jié)拍相對應(yīng)的脈沖信號。該脈沖信號經(jīng)F1~F3、R3~R5。C1、C2等組成的低通放大器放大,F(xiàn)4、R6、R7、C3組成的放大器進(jìn)一步放大后,送給由F5、F6、RP1、R8等組成的施密特觸發(fā)器整形后輸出,作為單片機(jī)的外部中斷信號。電路中的可變電阻RP1用來調(diào)整施密特觸發(fā)器的閾值壓。
IC2、X1、R10、C5等組成單片機(jī)電路。單片機(jī)對由P3.2輸入的脈沖信號進(jìn)行計(jì)算處理后,送到數(shù)碼管顯示。發(fā)光二極管VD3作脈搏測量狀態(tài)顯示,脈搏每跳動(dòng)一次,VD3點(diǎn)亮一次。
三只數(shù)碼管VT1~VT3、R12-R21等組成數(shù)碼顯示電路。本機(jī)采用動(dòng)態(tài)掃描顯示方式,使用共陽數(shù)碼管,P3.3~P3.5口作三只數(shù)碼管的動(dòng)態(tài)掃描位驅(qū)動(dòng)碼輸出,通過三極管VT1-VT3驅(qū)動(dòng)數(shù)碼管。P1.0-P1.6口作數(shù)碼管段碼輸出。
二、軟件設(shè)計(jì)
程序用C語言編寫,由主程序、外部中斷服務(wù)程序、定時(shí)器TO中斷服務(wù)程序、延時(shí)子程序等模塊組成。主程序主要完成程序的初始化。外部中斷0服務(wù)程序由測量、計(jì)算、讀數(shù)等部分組成。定時(shí)中斷服務(wù)程序由計(jì)時(shí)、動(dòng)態(tài)掃描顯示、無測試信號判斷等部分組成。程序中用變量n對時(shí)間計(jì)數(shù),用變量m對脈搏脈沖信號個(gè)數(shù)計(jì)數(shù)。
從P3.2口輸入的與脈搏相對應(yīng)的脈沖信號作為外部中斷0的請求中斷信號,外部中斷采用邊沿觸發(fā)的方式。由于脈沖信號的頻率很低,所以不適宜用計(jì)數(shù)的方法進(jìn)行測量,故而采用測脈沖周期的方法進(jìn)行測量,即用脈沖來控制計(jì)時(shí)信號,通過計(jì)時(shí)數(shù)計(jì)算出脈沖周期,再由脈沖周期計(jì)算出頻率,從P3.2口每輸入一次脈沖信號就能顯示一次脈搏數(shù)。
定時(shí)器TO的中斷時(shí)間為5ms,每中斷一次計(jì)時(shí)變量n加1,因此計(jì)時(shí)的基本單位為5ms,例如一個(gè)脈搏脈沖周期對應(yīng)的n值為240,則對應(yīng)的時(shí)間為1.2s,由此可得每分鐘脈搏數(shù)為50。如果n的值達(dá)到2000,即10秒鐘仍沒有發(fā)生外部中斷,則表示沒有脈搏脈沖信號輸入,于是n被清零,測量結(jié)果顯示也為0。
讀數(shù)采用三位數(shù)碼顯示。定時(shí)器TO每中斷一次顯示一個(gè)位,因此3次中斷就可以刷新一次數(shù)據(jù),即15ms刷新一次數(shù)據(jù)。
三、安裝與調(diào)試
傳感器的制作是一個(gè)關(guān)鍵??蓪⒓t外線發(fā)射二極管和接收二極管分別固定在一個(gè)塑料夾子的兩側(cè),用時(shí)只需將夾子夾在手指上即可。制作時(shí)注意保證紅外線接收二極管在使用時(shí)不要受到外界光線的干擾。
調(diào)試的主要工作是通過對RP1的調(diào)節(jié)來調(diào)整電路的靈敏度,RP1的阻值越小靈敏度越高,反之靈敏度越低。調(diào)試時(shí)可通過VD3的發(fā)光狀態(tài)進(jìn)行觀察,如果脈搏跳動(dòng)時(shí)VD3不跟隨發(fā)光,則說明靈敏度偏低,不易檢測到脈搏信號;如果在沒有脈搏跳動(dòng)時(shí)VD3偶爾也點(diǎn)亮發(fā)光,說明靈敏度偏高,容易受到干擾。
評論