0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于PIC16F877單片機和HD44780A芯片實現(xiàn)家用電子血壓計的設計

電子設計 ? 來源:現(xiàn)代電子技術 ? 作者:包旭鶴 ? 2021-04-14 10:24 ? 次閱讀

隨著生活水平的不斷提高以及城市老齡化比例的提高,醫(yī)療檢測設備的家庭化逐漸成為了趨勢。其中家用電子血壓計就是典型的家庭醫(yī)療檢測設備之一。血壓計大致上可分為兩種:一是水銀式血壓計,其優(yōu)點為數(shù)值穩(wěn)定,其缺點為:無法一人自行操作,且必須專業(yè)醫(yī)護人員操作,肉限觀察誤差極大主觀性強,體積較大不易攜帶。二是電子式血壓計其優(yōu)點為:使用簡易,可一人獨自操作,測量值便于記錄,體積輕巧便于攜帶。電子式血壓計具備了諸多優(yōu)點,越來越受到普通家庭的歡迎。本文介紹了以PIC16F877為控制核心。輔以氣壓傳感器FGN-605PGSR和用作傳感器與MCU之間模擬信號處理的LM324/331模擬電路以及LCD驅(qū)動芯片HD44780A,實現(xiàn)了家用電子血壓計的設計。該設計盡量將系統(tǒng)使用的芯片和被動組件數(shù)量降低,故具有低成本小型化低功耗的特點。

1 PIC16F877單片機

PIC16F877單片機美國微芯(Micro Chip)公司推出的8位CMOS FLASH 28/40引腳的單片機。單片機采用RISC CPU,有35條單字節(jié)的指令,即保證了必要的指令效率也兼具了控制芯片成本和簡化編程復雜度。其主要特點如下:

寬工作電壓為2.0~5.5 V;

時鐘周期為0~20 MHz指令周期為0~5 MHz;

片內(nèi)FLASH ROM為8 k Words,RAM為368 B,E2PROM為256 B;

低功耗工作電流《0.6 mA@3V時鐘周期為4 MHz;

2個8位和1個16位定時器;

2個16位捕捉/比較模塊或2個10位PWM模塊;

10位多信道ADC;

串行通信口SPI,I2C,USART及8位并行通信口。

2 外圍組件介紹

FGN-605PGSR是日本專業(yè)傳感器供貨商fujikura公司推出的專門用于血壓計的氣壓傳感器,其尺寸為10.3 mm×7 mm×9.5 mm,可測壓力范圍-34.47~+34.47 kPa符合所要量測的壓力范圍。FGN-605PGSR原理是在恒流源供電的文氏電橋上的電阻隨氣壓變化而輸出雙端差分電壓信號。LM324是常用的4運放14腳雙列直插集成電路,LM311是常用的4比較器14腳雙列直插集成電路,其具有電源電壓范圍寬,靜態(tài)功耗小,可單電源使用,低價等優(yōu)點。HD44780A是日立推出的點陣字符液晶顯示控制器驅(qū)動器,可顯示16字×1行或16字×2行或20字×4行之文字模式,每個字為5*7點矩陣字型。

3 電子血壓計工作原理

3.1 血壓測量原理定義

血壓的概念就是血液流經(jīng)血管壁時的壓力。由心臟出來的血液,需要有推力,才能繞行身體一周,心臟就是借著不停的收縮、放松,將血液推送前進。血壓有兩種,一是收縮壓:是當心臟收縮把血液打到血管所測得的血壓,二是舒張壓:是心臟在不收縮所得的壓力。當袖帶的壓力等于血壓時,血液開始可以流通而產(chǎn)生所謂的袖帶聲,這時候也就是收縮壓,必須開始從這里做記錄,直到最后當袖帶聲沒有的時候,此點即為舒張壓。

3.2 系統(tǒng)工作原理

系統(tǒng)框圖如圖2所示。系統(tǒng)由壓力傳感器(FGN-605PGSR),恒流源(LM324×1),差分放大(LM324×3),0.8 Hz二階高通濾波(LM324×1),200倍放大(LM324×2),38Hz二階低通濾波(LM324×1),血壓脈沖觸發(fā)(LM311×1),液晶驅(qū)動器(HD44780A)和單片機(PIC16F877)組成。

單片機主要工作為:PWM輸出控制氣泵充氣漏氣調(diào)整袖帶內(nèi)氣壓;一路ADC采樣袖帶內(nèi)氣壓直流分量以便取得收縮壓和舒張壓;一路ADC采樣袖帶內(nèi)氣壓交流分量經(jīng)分析計算分析后確定收縮壓和舒張壓的瞬態(tài)時間位置;接收血壓脈沖信號觸發(fā)ADC工作;將計算出的收縮壓和舒張壓結(jié)果輸出至液晶驅(qū)動器顯示。

一次測量血壓的過程為:按激活鍵單片機PWM輸出控制氣泵充氣至200 mmHg高,慢慢以每秒約下降5 mmHg的速度放氣。壓力傳感器輸出信號經(jīng)差分放大器后變單端信號一路送入單片機ADC監(jiān)視直流分量,另一路送入0.8 Hz二階高通濾波器濾除直流分量;交流分量經(jīng)200倍放大后輸入38 Hz二階低通濾波器去除電源及皮膚與袖帶摩擦的高頻噪聲和工頻干擾并將此信號維持在0~5 V之問,濾波后的交流分量一路送入血壓脈沖觸發(fā)然后觸發(fā)單片機ADC工作,另一路送入單片機ADC計算幅值,先找出最大振幅值Amax,在往前找幅值為0.5Amax的瞬態(tài)位置對應血壓直流分量即為收縮壓,往后找幅值為0.8Amax的瞬態(tài)位置對應血壓直流分量即為舒張壓,將計算出的收縮壓和舒張壓結(jié)果輸出至液晶驅(qū)動器顯示。血壓信號及收縮壓和舒張壓位置如圖3所示。

4 硬件設計

4.1 PIC16F877單片機

時鐘輸入 外接有源晶振通過OSC1/CLKIN(Pin13)輸入8 MHz主頻。

電源輸入 系統(tǒng)電源為9 V電池,通過外部7805降壓到直流5 V輸入VDD(Pin11,32)。

按鍵輸入 按鍵低電平脈沖通過RB0/INT(Pin33)輸入,以中斷方式觸發(fā)一次測量血壓的過程,中斷服務子程序有消除按鍵抖動的處理。

氣泵驅(qū)動 RC1(Pin33)為內(nèi)部PWM模塊的輸出信道,PWM驅(qū)動氣泵充氣和放氣。

喇叭驅(qū)動 RC3(Pin37)驅(qū)動喇叭輸出測量血壓時的提示和過程聲音。

液晶驅(qū)動控制 對HD44780A輸出指令和數(shù)據(jù)進行顯示控制,RC.3~5(Pin18,23,24)接HD44780A控制線RS,R/W,EN;RD.0~7(Pin19~22,27~30)接HD44780A數(shù)據(jù)總線DB0~7。

4.2 提供傳感器偏置的恒流源

如圖4所示,運放LM324-11輸入正端為可設定的直流偏置電壓Vref,LM324-11輸出端和輸入負端提供了壓力傳感器電橋恒流偏置的回路。

回路電流為:

4.3 差分轉(zhuǎn)單端輸出的放大電路

如圖4所示,經(jīng)過兩個運放LM324-12,13隔離,LM324-14差分放大后其輸出電壓為:

4.4 0.8 Hz二階高通巴特沃思濾波器

采用二階巴特沃思二階高通濾波,運放LM324-24接成跟隨器放大倍數(shù)為1,高通濾波器的傳遞函數(shù)為:

4.5 200倍放大電路

如圖4所示,用兩個級運放LM324-21,22搭成的比例放大電路,第一級為20倍放大,第二級為10倍放大。

4.6 38Hz二階低通巴特沃思濾波器

采用二階巴特沃思二階低通濾波,運放LM324-23接成跟隨器,放大倍數(shù)為1,低通濾波器的傳遞函數(shù)為:

4.7 血壓脈沖觸發(fā)

利用比較器LM311設定一定的電壓門限,將血壓交流信號形成脈沖,輸入PIC16F877 RC2的CCP1觸發(fā)ADC信道1工作。

5 單片機軟件設計

5.1 初始化工作

上電后對單片機寄存器,SRAM,特殊功能的設置如PWM,輸入輸出端口的設置做必要的初始化;對HD44780A輸出指令關閉顯示。

5.2 按鍵輸入

未按鍵時RB0/INT(Pin33)端口為大電阻上拉狀態(tài),有按鍵時低電平脈沖通過此端口輸入,中斷方式觸發(fā)一次測量血壓的過程,進入中斷服務子程序后每隔10 ms判斷一次端口狀態(tài),連續(xù)讀到3次低電平,則判斷按鍵有效,這是消除按鍵抖動的處理。判斷按鍵有效后對HD44780A輸出指令顯示開始測試畫面。

5.3 氣泵充氣

判斷按鍵有效后,PWM輸出對氣泵充氣。停止充氣的條件有兩個必須同時滿足:一是ADC信道0測到的血壓直流分量是否大于4 V;二是ADC信道1測到血壓交流分量是否介于1.6~4.9 V之間。滿足此條件表示氣壓已足夠,可停止充氣,一般此時氣壓略大于200 mmHg。

5.4 測量血壓

PWM輸出勻速放氣。心跳脈沖通過CCP1觸發(fā)ADC信道1采樣血壓交流分量測出每個脈沖的峰峰值,同時計算出這個脈沖時間段內(nèi)ADC信道0測到的血壓直流分量的平均值。把峰峰值和直流平均值作為一對數(shù)據(jù)記錄起來,每個心跳脈沖會對應一對數(shù)據(jù)。

5.5 計算收縮壓和舒張壓

ADC信道0測到的血壓直流分量是否小于1 V表示氣壓低于50 mmHg,是單次測量結(jié)束的標志。然后開始統(tǒng)計記錄下來的若干組峰峰值和直流平均值,找出峰峰值最大的值Amax,在往前找峰峰值最接近0.5Amax的一對數(shù)據(jù)其中血壓直流分量即為收縮壓,往后找峰峰值最接近0.8Amax的一對數(shù)據(jù)其中血壓直流分量即為舒張壓。判斷測出收縮壓和舒張壓的值落在合理的數(shù)據(jù)范圍內(nèi),如:收縮壓應在80~190 mmHg范圍內(nèi)和舒張壓50~120 mmHg范圍內(nèi)。將計算出落在合理數(shù)據(jù)范圍內(nèi)的收縮壓和舒張壓結(jié)果輸出至液晶驅(qū)動器顯示。

5.6 ADC數(shù)據(jù)處理

ADC信道1測血壓交流分量的采樣率為2 kHz,其取值原由為:心跳脈沖頻率上限約為2 Hz,定義峰值出現(xiàn)的時間約占心跳脈沖周期的1%,在峰值附近ADC測量10次,所以ADC的采樣率=2 Hz/1%×10=2 kHz。因為ADC測量到數(shù)據(jù)含有電源及皮膚與袖帶摩擦的高頻噪聲,必須經(jīng)過ADC多次測量才可將噪聲造成的異常數(shù)據(jù)去除,這里采用的做法將多次測量的數(shù)據(jù)先做比較先去掉個別與大多數(shù)數(shù)據(jù)相差較大的數(shù)據(jù),在剩下的數(shù)據(jù)中取偏大(?。┑膸讉€數(shù)據(jù)做平均從而得到高(低)峰值。本設計將PIC16F877設置單次數(shù)模轉(zhuǎn)換時間為48μs,具體條件為FUSC=8 MHz,TOSC=125 ns,TAD=32TOSC,故單次數(shù)模準轉(zhuǎn)換時間TADC=12TAD=12×32×125 ns=48μs。實際上在數(shù)模轉(zhuǎn)換前還必須保留20 μs采樣保持時間。這種設置采樣率的最大值可做到1/(48μs+20 μs)=14.7 kHz遠大于要求的2 kHz,故滿足要求。ADC信道0測血壓直流分量模準轉(zhuǎn)換時間設置與ADC信道1相同,每次采樣緊接著ADC信道1采樣后進行。

5.7 異常處理

(1) 充氣時在限定時間內(nèi)未滿足氣壓足夠高即停止充氣的條件,則先放氣然后重新充氣。連續(xù)3次出現(xiàn)此異常,則HD44780A輸出錯誤信息。

(2) 放氣時在限定時間內(nèi)未滿足氣壓足夠低即停止血壓測量的條件,則放棄此次測量數(shù)據(jù)再放氣然后重新充氣并測量。連續(xù)3次出現(xiàn)此異常,則HD44780A輸出錯誤信息。

(3) 測量后計算出的收縮壓和舒張壓未落在合理的數(shù)據(jù)范圍內(nèi),則放棄此次測量數(shù)據(jù)再放氣然后重新充氣并測量。連續(xù)3次出現(xiàn)此異常,則HD44780A輸出錯誤信息。

6 結(jié) 語

電子血壓計具有低成本、小型化、低功耗、自動化程度高的優(yōu)點,在使用上帶來了便攜和易操作的特點,從而使電子血壓計呈現(xiàn)出家用化的趨勢。本文給出了完整的攜帶式電子血壓計設計方案,并基于PIC 16F877為控制核心輔以壓力傳感器和外圍的模擬電路以及LCD驅(qū)動芯片實現(xiàn)了電子血壓計的設計。此設計可直接轉(zhuǎn)化為實際產(chǎn)品,故有較高的實用價值。

責任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2542

    文章

    50260

    瀏覽量

    750136
  • 芯片
    +關注

    關注

    452

    文章

    49985

    瀏覽量

    419657
  • 單片機
    +關注

    關注

    6026

    文章

    44455

    瀏覽量

    630897
收藏 人收藏

    評論

    相關推薦

    基于PIC16F877單片機的簡易測速設計方案

    本文介紹了一種基于低功耗芯片PIC16F877的簡易測速的設計方案,并給出了其在Proteus軟件下的仿真結(jié)果。該方案中整個測速的設計有效地利用了
    發(fā)表于 11-07 11:01 ?4029次閱讀
    基于<b class='flag-5'>PIC16F877</b><b class='flag-5'>單片機</b>的簡易測速<b class='flag-5'>計</b>設計方案

    PIC16F877單片機課程設計

    PIC16F877單片機課程設計,文章目錄1 參考書籍:2 單片機基礎寄存器操作:3 工程建立與仿真4 實際項目1 參考書籍:2 單片機基礎寄存器操作:3 工程建立與仿真4 實際項目
    發(fā)表于 07-15 09:15

    JHD161A LCD顯示器與PIC16F877單片機連接

            本文較詳細地介紹了JHD161A LCD顯示器的功能結(jié)構(gòu)及其應用過程中的注意事項,并給出了與單片機PIC16F877的連接方式。[關鍵詞]LC
    發(fā)表于 09-04 08:29 ?44次下載

    PIC16F877 單片機的鍵盤和LED 數(shù)碼顯示接口

    PIC16F877 單片機的鍵盤和LED 數(shù)碼顯示接口 1 PIC16F877單片機與鍵盤和LED數(shù)碼顯示的硬件接口電路單片機的許多應用都
    發(fā)表于 04-06 13:54 ?140次下載

    基于PIC16F877單片機的空調(diào)車檢測儀設計

    摘要:介紹了由PIC16F877單片機開發(fā)完成的空調(diào)車檢測儀的組成和結(jié)構(gòu),給出了比較詳細的硬件電路組成和部分軟件流程圖,經(jīng)試用效果良好。關鍵詞:PIC單片機,空調(diào)車,檢測儀
    發(fā)表于 08-06 12:21 ?47次下載

    PIC16F877單片機原理圖設計及應用

    圖1所示為PIC16F877單片機最小系統(tǒng),圖2所示為單片機與發(fā)光二級管的接線原理圖,其中8個發(fā)光二極管與地之間通過一個8位撥碼
    發(fā)表于 12-11 13:41 ?4406次閱讀

    采用PIC16F877單片機的汽車電動助力轉(zhuǎn)向系統(tǒng)

    采用PIC16F877單片機的汽車電動助力轉(zhuǎn)向系統(tǒng)  1 引言   隨著電子控制技術的發(fā)展及其在汽車領域的廣泛應用, 電動助力轉(zhuǎn)向系統(tǒng)(Electric Power Steering, 簡稱EPS)越
    發(fā)表于 01-06 14:23 ?2925次閱讀
    采用<b class='flag-5'>PIC16F877</b><b class='flag-5'>單片機</b>的汽車電動助力轉(zhuǎn)向系統(tǒng)

    上海某公司PIC16F877單片機編程實例教程下載

    上海某公司PIC16F877單片機編程實例教程下載
    發(fā)表于 06-17 11:37 ?46次下載

    基于PIC16F877單片機通過SPWM脈寬調(diào)制技術軟件產(chǎn)生純正

    通過PIC16F877單片機實現(xiàn)PWM脈寬調(diào)節(jié)
    發(fā)表于 05-03 16:42 ?14次下載

    基于PIC16F877單片機的GPS車速傳感器的設計與應用

    基于PIC16F877單片機的GPS車速傳感器的設計與應用
    發(fā)表于 02-07 16:14 ?22次下載

    PIC16F877單片機與LCD的接口電路設計及LCD字符顯示的實現(xiàn)

    方法,同時介紹在實際調(diào)試中遇到的問題以及解決、改進的方法。 本文提到的可編程電源主要由主控芯片PIC16F877 單片機[1]、液晶顯示器、鍵盤、RS232 遠程控制、D/A 轉(zhuǎn)換機、
    發(fā)表于 12-01 09:19 ?19次下載
    <b class='flag-5'>PIC16F877</b><b class='flag-5'>單片機</b>與LCD的接口電路設計及LCD字符顯示的<b class='flag-5'>實現(xiàn)</b>

    采用PIC24F “GC”系列單片機血壓計參考設計視頻教程

    本視頻介紹了基于PIC24F “GC”系列單片機血壓計參考設計,PIC24F GC系列的智能模擬外設為這一血壓計參考設計提供了支持,采用更
    的頭像 發(fā)表于 05-24 13:46 ?4103次閱讀

    PIC16F877實現(xiàn)直流無刷電機的控制

    PIC16F877實現(xiàn)直流無刷電機的控制(深圳市核達中遠通電源技術有限公司電話)-PIC16F877實現(xiàn)直流無刷電機的控制。PDF中有詳盡的直流無刷電機介紹。
    發(fā)表于 09-28 12:11 ?97次下載
    <b class='flag-5'>PIC16F877</b><b class='flag-5'>實現(xiàn)</b>直流無刷電機的控制

    PIC16F877矩陣鍵盤的識別

    PIC16F877矩陣鍵盤的識別
    發(fā)表于 11-16 19:51 ?7次下載
    <b class='flag-5'>PIC16F877</b>矩陣鍵盤的識別

    PIC16F877矩陣鍵盤的識別

    PIC16F877矩陣鍵盤的識別
    發(fā)表于 11-16 21:06 ?17次下載
    <b class='flag-5'>PIC16F877</b>矩陣鍵盤的識別