阮承治,俞 晴,俞志強,許真華
(武夷學(xué)院 機電工程學(xué)院,福建 武夷山 354300)
目前隨著電子信息與計算機技術(shù)的發(fā)展,人們對健康的重視程度越來越高,特別是心率的實時監(jiān)測和步行的步數(shù)記錄。傳統(tǒng)的心率檢測方式是通過醫(yī)務(wù)工作者用聽診器來獲取病人的心率,該設(shè)備需要醫(yī)務(wù)工作者與患者的配合,其缺點是攜帶不方便,實時性不強,已經(jīng)難以滿足人們對心率監(jiān)測的要求。目前已廣泛應(yīng)用的運動手環(huán)等電子設(shè)備可實時對步數(shù)進(jìn)行記錄,但該設(shè)備往往缺乏心率數(shù)據(jù)的監(jiān)測,功能相對單調(diào)[1-2]。因此,迫切需要設(shè)計一款簡易的可測心率與計步的電子裝置。
面對上述問題,本設(shè)計中結(jié)合可測心率、可計步、可調(diào)節(jié)電子時鐘等功能,設(shè)計并制作一款采用單片機STC89C51為核心的電子設(shè)備[3]。該控制器主要有電子時鐘模塊、心率模塊[4]、計步模塊,系統(tǒng)界面采用LCD1602液晶顯示屏可將實時時間、當(dāng)前心率、當(dāng)前步數(shù)等信息通過按鍵切換,并通過顯示屏實時顯示。通過對本電子裝置的設(shè)計,能達(dá)到自行檢測心率,查詢時間,查看當(dāng)前步數(shù)的功能。
本系統(tǒng)主要由單片機為核心的控制模塊組成,由USB設(shè)備為單片機提供直流電源。本系統(tǒng)的主要作用為檢測心率和計步功能。單片機控制模塊由獨立按鍵,報警器,LCD1602顯示屏,心率,計步,電子時鐘等七個子模塊構(gòu)成[5]。系統(tǒng)總體設(shè)計方案如圖1所示。
圖1 系統(tǒng)總體設(shè)計Fig.1 Overall design of the system
系統(tǒng)的設(shè)計主要是由單片機主控系統(tǒng)組成。單片機主控系統(tǒng)是由獨立按鍵,報警器,LCD1602顯示屏,電子時鐘模塊、心率檢測模塊、計步模塊等7個部分電路構(gòu)成。
該最小系統(tǒng)主要是由復(fù)位電路、時鐘振蕩電路等構(gòu)成,并由USB接口提供直流電源支持單片機的正常運行。單片機最小系統(tǒng)設(shè)計如圖2所示。
圖2 單片機的最小系統(tǒng)Fig.2 MCU minimum system
根據(jù)設(shè)計的最小系統(tǒng),RST引腳接收到兩個機器周期以上的高電平信號,STC89C51單片機實現(xiàn)復(fù)位功能。本設(shè)計采用的是12MHz晶振,按鈕復(fù)位電路。
2.2.1 LCD顯示電路
LCD顯示屏的D0到D7與單片機P0口相連,LCD顯示屏EN口與單片機P3.4口相連,RS與P3.5相連??梢酝ㄟ^變阻器RV1改變LCD顯示屏的顯示對比度,LCD顯示模塊如圖3所示。
圖3 LCD顯示模塊Fig.3 LCD display module
2.2.2 獨立按鍵模塊電路
獨立按鍵模塊如圖4所示,采用獨立鍵盤,鍵盤按下時,相應(yīng)的I/O口電平由高變低,檢測按鍵是否被按下。4個獨立按鍵與單片機P1.0—P1.3口相連。
圖4 獨立按鍵模塊Fig.4 Independent key module
2.2.3 報警模塊電路
蜂鳴器在準(zhǔn)點報時產(chǎn)生報警聲,LED在秒鐘為偶數(shù)時或者功能鍵被按下時亮。蜂鳴器與單片機P2.2口相連,LED燈與單片機P2.3口相連,報警模塊電路如圖5所示。
圖5 報警模塊Fig.5 Alarm module
2.2.4 心率傳感器
本設(shè)備選購的心率傳感器,它是通過按壓光電式心率傳感器實現(xiàn)血液對綠外光的吸收,將檢測到的光強變化量轉(zhuǎn)化為電信號,經(jīng)過接口傳送到達(dá)處理器部分。當(dāng)處理器處理完畢之后,由LCD1602液晶顯示屏顯示出心率值BPM,以達(dá)到心率檢測的目的[6-7]。
2.2.5 三軸加速度傳感器
從圖6中可以看到,LSM303芯片與外圍器件通過一條I2C總線實現(xiàn)通信功能,此芯片連接簡單,周邊所需器件少。I2C總線采用一條數(shù)據(jù)線(SDA)和一條時鐘線(SCL)完成數(shù)據(jù)的傳輸及外圍器件的擴展。
圖6 加速度傳感器LSM303外圍電路Fig.6 Acceleration sensor LSM303 peripheral circuit
當(dāng)設(shè)備經(jīng)過上電初始化后系統(tǒng)自動開始運行時鐘模塊與計步模塊,此時當(dāng)使用者第1次按鍵時,在LCD1602液晶顯示屏上顯示存儲在寄存器內(nèi)的時間數(shù)據(jù);第2次按鍵時,開始檢測心率并在檢測完畢后在顯示屏上顯示心率數(shù);第3次按鍵時,中斷心率程序并且在顯示屏上顯示存儲在寄存器內(nèi)的步數(shù)數(shù)據(jù)進(jìn)行顯示步數(shù)的功能。主程序流程圖如圖7所示。
圖7 主程序流程圖Fig.7 Main program flow chart
3.2.1 電子時鐘模塊程序設(shè)計
主程序進(jìn)行初始化后便開始運行該模塊。首先定義各項參數(shù)以及初始化各相關(guān)模塊,調(diào)用數(shù)據(jù)處理程序,然后將數(shù)據(jù)實時存儲在寄存器中,判斷是否有按鍵按下,若有按鍵按下則調(diào)用數(shù)據(jù)顯示到LCD顯示屏上。計時中斷服務(wù)程序完成秒的計時及向分鐘、小時的進(jìn)位和星期、年、月、日的進(jìn)位。調(diào)時程序用于調(diào)整分鐘、小時、星期、日、月、年。主要由主函數(shù)組成通過對相關(guān)子程序的調(diào)用。實現(xiàn)了對時間的設(shè)置和修改、LCD顯示數(shù)值等主要功能。相關(guān)的調(diào)整是靠對功能鍵的判斷來實現(xiàn)的。電子時鐘程序流程圖如圖8所示。
圖8 電子時鐘程序流程圖Fig.8 Flow chart of electronic clock program
3.2.2 心率檢測模塊程序設(shè)計
該子模塊由主程序激活,在主程序發(fā)出信號后,初始化各模塊并開始檢測心率,在采集到數(shù)據(jù)并且處理完數(shù)據(jù)后在顯示屏上顯示心率數(shù)。若在這過程中主程序發(fā)出中斷指令則立即中斷運行該子模塊[8]。心率程序流程圖如圖9所示。
圖9 心率檢測模塊程序流程圖Fig.9 Heart rate detection module program flow chart
3.2.3 計步模塊程序設(shè)計
主程序進(jìn)行初始化后便開始運行該模塊。首先定義各項參數(shù)以及初始化各相關(guān)模塊,調(diào)用數(shù)據(jù)處理程序,然后將數(shù)據(jù)實時存儲在寄存器中,判斷是否有按鍵按下,若有按鍵按下則調(diào)用數(shù)據(jù)顯示到LCD顯示屏上[9]。判斷時間是否過了1 d,若是過了1 d則歸零步數(shù),達(dá)到每天更新步數(shù)總數(shù)的功能。計步程序流程圖如圖10所示。
圖10 計步程序流程圖Fig.10 Flow chart of step-counting program
為了驗證電子時鐘的代碼是否描述正確,依據(jù)代碼利用Protues8.0做仿真電路圖。仿真電路如圖11所示。仿真結(jié)果:可以正確顯示年,月,日,星期,還有時分秒。
在仿真電路中,通過自動模式仿真,可以發(fā)現(xiàn)LCD顯示屏可以正常顯示仿真結(jié)果。本次仿真實驗結(jié)果表明:該電子時鐘模塊的軟件能夠滿足設(shè)計需求。
圖11 仿真電路圖Fig.11 Simulated circuit diagram
將各模塊連接于開發(fā)板上,每個模塊連接完成后,需要逐一對其模塊功能進(jìn)行調(diào)試,以及對出現(xiàn)的故障進(jìn)行排除。制作并調(diào)試通過后的實物如圖12所示。
圖12 實物圖Fig.12 Physical map
首先對心率模塊進(jìn)行測試,將心率傳感器貼于手腕處,模擬佩戴手環(huán)時測量心率的情況,利用獨立按鍵將設(shè)備調(diào)至測試心率的模式。測量結(jié)果如圖13所示,其中心率為73。經(jīng)過對照測量,此數(shù)據(jù)符合系統(tǒng)設(shè)計要求。
圖13 心率模塊調(diào)試圖Fig.13 Heart rate module debugging diagram
再測試計步模塊,將設(shè)備系在測試者手腕上經(jīng)行走動,模擬佩戴手環(huán)時記錄步數(shù)的情況。使用獨立按鍵將設(shè)備調(diào)至LCD顯示屏顯示步數(shù)的界面,測量結(jié)果如圖14所示。從測試結(jié)果看,設(shè)備記錄的步數(shù)數(shù)據(jù)符合設(shè)計要求。
圖14 計步模塊調(diào)試圖Fig.14 Step-counting module debugging diagram
設(shè)計利用STC89C51單片機為主控芯片,結(jié)合可測心率、可計步、可調(diào)節(jié)電子時鐘等功能,利用心率傳感器對人體心率進(jìn)行采集,并使用三軸加速度傳感器對步數(shù)進(jìn)行統(tǒng)計,可實現(xiàn)心率和計步的基本功能。本設(shè)計的系統(tǒng)在一個裝置上集成了可測心率、可計步、可調(diào)節(jié)電子時鐘等功能。測試結(jié)果表明該系統(tǒng)的工作原理能基本滿足設(shè)計需求,可滿足快速測試健康指數(shù)的需求。