基于單片機的自動條幅懸掛機

摘 要

隨著日新月異科技發展,在心率體溫測量方面,我們取得了迅速的發展,就近日而言,脈搏測量儀已經在多個領域大展身手,除了在醫學領域有所建樹,在人們的日常生活方面的應用也不斷拓展,如檢疫中心的額溫槍都用到了技術先進的脈搏測量儀。在今年的疫情爆發的同時,我們可以積極應對,利用所學的知識,方便高效地檢測出人體有無異常體溫,在上學簽到時,我們可以利用此來檢測溫度,預防集體性感染事件。為了在心率測量儀的精準性和便攜性方面做出重大改變,我計劃設計一種以51單片機為核心的心率體溫測量儀。我們的心率體溫檢測系統以STC89C51單片機為核心,借用單片機系統的內部計時器計算時間。其大致的步驟為通過ST188光電傳感器感應生成脈沖,心跳次數由單片機累計所得,其對應的時間根據定時器獲取。本設計使用的時候可以展現脈搏心率次數以及時間長短,當其終止使用的時候可以展示總的脈搏心率次數以及時間長短。經過我的個人測試,系統成功運行,符合設計要求。通過軟件與硬件方面的整體調試并進行實驗,得出結論為在技術上可行,預期可以實現功能,準確、快速地完成測量任務。

關鍵詞:心率體溫檢測系統;STC89C51單片機;光電傳感器

1 控制系統設計

1.1 主控系統方案設計
方案一:單片機作為主要的控制芯片,是集成電路的一種,可以單獨完成現代產業所需要的控制功能。單片機外形很小,但是所具備的功能卻是很大的,它將微處理器、儲存器、輸入/輸出接口電路通過導線焊接到板子上,集成到同一片芯片。圖1.1是采用單片機作為本設計的控制部分,該系統主要有單片機、傳感器和顯示器構成。
人體檢測心率脈搏時,通過傳感器采集輸出脈沖信號,傳遞給單片機,單片機經過計算輸出給顯示電路進行顯示。而在液晶顯示屏上的,也就是我們得到的結果。通過得到的結果,來判斷我們是否處于非正常狀態。
在這里插入圖片描述

圖1.1 基于單片機的心率脈搏檢測系統結構圖
方案二:以TI公司生產的DSP芯片作為核心。SP即數字信號處理器,是一種研究用數字對信號進行分析、轉換、濾波、檢測、調制、解調和高速算法的元件[3]。該系統主要由光電脈搏傳感器、脈搏信號調理電路和DSP實時檢測及處理系統三部分組成[4]。如圖1.2所示,當傳感器采集到人體生理脈搏信號時,信號就會經調理電路傳送到DSP系統中,實現心率脈搏的檢測。
在這里插入圖片描述

圖1.2 基于DSP的心率脈搏檢測系統結構圖
總之,DSP的運行速度很高,但與之相對應的,是它負責的控制算法。相比而言單片機系統的控制方法相對簡單,可靠性高,價格低,功耗低。雖然單片機與DSP相比功能相對簡單,但完全可以滿足設計要求。因此,綜合個人實際以及現在市面上的元器件花費情況,我們選用單片機作為這次系統研究的主控芯片。
1.2 脈搏傳感器方案設計
傳感器也被稱為換能器、轉換器等。相當于我們身體中的五官,用來感受外界傳遞給我們的信息。
脈搏傳感器是脈搏檢測系統的重要部分。在本次系統設計之前,我花費了大量的精力,通過廣泛的社會調查,結合在大學期間所學習的知識,融匯貫通,研究出了幾套方案,具體如下面三種:
方案一:光電式傳感器。眾所周知,人體血液是一種不透明的液體。光對一般組織的穿透力相對于血液來說,是它的幾十倍。根據這項功能,我將目光放到了光電式傳感器上,使用光電效應手指脈沖傳感器,用它來記錄我們的脈沖信號。在它的內部結構中,我們用光電二極管的來鎖定裝置,其光電效應特性決定了光照強度與電流成正比,光照強度越大,相對應的鎖定電流也就越大。當然有固定的光強范圍。
在元器件所決定的光強范圍中,光電二極管的阻斷電流與光強成正比的線性關系[5]。當脈搏跳動時,人體中的血管體積和光透過血液的散發隨著脈搏的跳動而變化,隨之而對應的,不同強度的光傳遞到光電管的兩極,將會得到不同強度的光流。再由模擬量轉換成數字量,可以得到相對應的數字型號,再將得到的信號分別傳輸到通常用于測脈沖的光電傳感器的紅外對管和紅外放射管。
下面對紅外對管和紅外放射管分別做簡短的功能介紹,兩者相互作用,得到所需的數據資料。
我們首先用手指尖按住紅外對管,因為手指尖易于測量。手指的血液濃度和光頭率會伴隨著心臟的跳動而產生相對應的變化(一定范圍內),相對應的,紅外對管對應的信號也會不停改變。我們可以使用一些常規的處理方法,如放大、濾波、比較等,將采集到的模擬信號轉換成我們所需要的理想的數字信號 。
采用反射式的紅外管。這是目前市面上最主流的傳感器,我們通常都采用這種傳感器來采集信號,因為紅外線管是在手指的同一側接收和傳輸的,所以就可以忽視個體的差異,通常可以適用于大部分用戶。這種傳感器通過接收血液散射反射的光,通過這次的采集方式,我們能夠準確測量血管內部容積的變化。
方案二:壓電式傳感器。目前來說,一次性心電電極是使用最多的,這種傳感器通常采用接扣與敏感區分離的方法,通過這種方式我們能明顯的感受到干擾量的減少,因為人體運動會產生大量干擾,這對傳感器的準確性會產生極大地偏導。在考慮到人的體液會對我們的測量造成極大的干擾,所以我選擇了相對貼合我們實際的電機,我們所采集到的心電信號質量起著很大程度上取決于電極的好壞,我們采用的電極必須要有強大的粘合力,能緊帖在我們所需要的測量的部位[6]。為了在實際應用中統一和比較接收到的脈沖信號,在記錄脈沖信號時,我們對電極的位置、各部分元器件的連接有著極其嚴格的要求。
目前,市場上已開發出一種新型高分子壓電材料聚偏氟乙烯研制的壓電傳感器,作為壓電傳感器,它有著十分優良的特點:他的靈敏度較高,可以精確檢測出數據;在靈敏度較高的情況下,他還能有著十分可觀的頻率范圍;他的結構簡單,易于上手并且使用相比較其他方式來說十分方便。
當手指前端處于接觸狀態時,模擬信號從傳感器中提取出來,轉換為電信號。這樣傳感器通過捕捉手指脈沖的波長,可以得到人體的脈搏信號。
方案三:集成傳感器。當前,集成心電傳感器在市場是數不勝數,相比于其他傳感器,它具有最高的靈敏度,并且它的集成度高,個頭小巧,方便攜帶,它還可以比較直觀地看到心率的變化,其中且已包含了濾波等抗干擾電路,波形經過放大處理后,可以直接應用在單片機之中。它的缺點也十分明顯,就是它的價格非常昂貴,價格是其他傳感器的數十倍,就本次設計來說,考慮到經費以及鍛煉自己的目的,不會輕易選擇使用該型傳感器。
綜上所述,光電式傳感器的實用性,便捷性抗干擾性都要優于壓電式傳感器,并且在價格上碾壓集成傳感器,經多方考慮,本次設計選用了光電式傳感器來進行設計研究。
1.3 系統工作原理
本設計控制器采用 STC89C51單片機,用于實現人體的心率體溫測量系統檢測。我們可以利用光電脈沖傳感器收集人體脈沖和心率的數據。接收到的信號發送至STC89C51進行處理,得到的數據將會在液晶顯示屏上顯示,液晶顯示屏上顯示得到得的脈搏數和溫度。若有異常,顯示屏將會顯示出具體的脈搏溫度,得以提醒人們脈搏或提問異常。心率監測系統設計框圖如圖1.3所示:
在這里插入圖片描述

圖1.3 心率監測系統設計框圖
日常的測試操作中,我們可以將手指位于傳感器的位置。當心臟跳動收縮時,血管內液體的濃度和流量也會發生變化。當光照射手指組織時,血管中血氧飽和度的變化會導致接收管中接收到的光強度發生變化,這里就呈現出線性正比的聯系,從而使光脈沖和心跳相等。當接收管波長變化時,紅外接收管也隨之變化,電流也隨之波動。此時,紅外接收器可以檢測轉換為脈沖信號的電壓變化。信號在單片機端口經過濾波、放大、成形后發射。單片機在接收到外部中斷信號后執行相應的命令[7]。CPU對輸入的脈沖信號進行處理,將得到的數值進行輸出,輸出的心率數值將會在液晶上面顯示。

2 硬件設計

2.1 主電路
2.1.1 單片機的選擇
此次設計選用單片機當作主控芯片,為了保證系統更好的運行,STC89C51單片機掌握起來更方便,成本低廉,超強的抗干擾性,在系統中可以進行編程,不需要編程器。故本設計采用STC89C51單片機[8]。
基于此有以下兩種方案可供選擇:
方案一:STC89S51單片機作為心率監測系統的CPU是因為其低廉的價格和編程的方便性。雖然STC89S51單片機的功能是有限的,但是對于心率監測系統的功能實現是沒有問題的。
方案二:飛思卡爾公司的嵌入式芯片9S12XS128,這款單片機的最實用的優點就是可以專門計數,這對于我們本系統來說是十分有利的。
最終,在考慮實際應用后,我選擇了STC89S51單片機放棄了嵌入式芯片9S12XS128,嵌入式芯片9S12XS128對比其他的單片機功能齊全,操作也更加簡單,與之相對應的是昂貴的價格。綜合來說,不符合設計心率體溫監測系統的設計初衷[9]。
2.1.2 STC89C51的主要功能及性能參數
此次設計選用的STC89C51單片機,使用COMOS8作為單片機的微處理器,片內具有4KB的Flash存儲器。該設備有40個管腳,速度快,價格便宜,燃錄方便,通過串行口下載,在線編程一般情況下增強型是6時鐘然而普通型是12時鐘;工作頻率范圍在40MHZ以內,和8051的80MHZ以內基本相一致;STC89C1相應的Flash可以劃分成4KB/8KB/15KB;內部存儲器為512B;定時器一共有3個16位;中斷源一共有8個;其不需要專用編程器;通用I/O口一般由32/36個;工作電壓通常情況下為3.8-5.5V;外形封裝可以分為40腳PDIP、44腳PLCC以及PQFP等[10]。
2.1.3 STC89C51單片機引腳說明
在這里插入圖片描述

圖2.1 STC89C51封裝形式

2.3放大電路
脈沖低通比較器是基于身體脈搏心率運動后跳動次數200次/min來設計的,如圖2.3所示。R6、C6形成了低通濾波器從而能夠消除殘留的影響并決定著截止頻率。運放LM358能夠把信號放大而放大倍數依據R12/R13來決定,低通放大之后輸出的信號是疊加有噪聲的脈動正弦波如圖2.4所示。在這里插入圖片描述

圖2.3 低通放大電路
在這里插入圖片描述

圖2.4 心率脈搏傳感器輸出波形圖

3 軟件設計

3.1編程語言的選擇
再進行編寫的時候,語言的選擇很重要,選擇一門正確的語言可以看起來簡單易懂、加快整個畢設的進程,在對比C語言和匯編語言的優缺點時,C語言具有很大的優勢,例如極大地提升程序的可讀性,研究開發的時間大大縮短,并且,它具有極大地庫文件,為我們的程序編寫提供了巨大的方便。因此選擇C語言[17]。
3.2 Keil程序開發環境
在本設計中,選擇使用Keil軟件、C語言進行編程,在短時間內很容易熟悉掌握其中Keil有以下特點:
(1)Keil軟件在很多的電腦操作系統中都能夠使用,下載方便快捷,提供了豐富的庫函數,并有功能強大的開發工具為之輔助[18]。這是其他軟件所不具有的;
(2)在使用Keil軟件編程的過程中,寫成程序進行編譯的過程中,如有錯誤不能直接的下載,會有提示;
(3)Keil軟件可以配合仿真軟件使用,將編譯好的程序下載到在仿真軟件中,通過仿真軟件可以查看程序的不足之處,方便進行修改;
(4)Keil可以完成許多開發過程,從編輯、編譯到連接和調試。Keil軟件界面如圖3.1所示。
在這里插入圖片描述

圖3.1 Keil開發界面圖
3.3 STC-ISP程序燒錄軟件介紹
STC-ISP是為STC系列單片機開發的單片機下載編程軟件。它是一個用于下載代碼、在線模擬和顯示串行接口的集成軟件。它是在智能51系列產品開發過程中獲得的。它具有廣泛性和高性能。是目前51系列單片機控制系統研發中不可缺少的一部分[19]。
可以通過下載器下載微控制器程序(即用于串行接口的編程模塊,如CH340)。在連接了MCU開發板、下載程序和PC機之后,首先就是要選定單片機的型號,波特率將根據定時器的初值計算出來,在程序編寫完成且編譯也沒有出現錯誤的時候,在選定的文件夾中會有系統自動存放進去的“Hex”文件,選定好之后,最后單擊程序的下載按鈕即可。具體下載界面如圖3.2所示。
在這里插入圖片描述

圖3.2 燒錄軟件對話框
3.4 CH340串口程序燒寫模塊介紹
本設計通過CH340串口燒寫模塊實現對單片機程序的燒寫。CH340串口燒寫模塊使用USB接口,十分方便的解決了筆記本電腦用戶對STC系列單片機的程序燒寫問題,本下載器低價格、高性能,是開發STC系列單片機的首選優秀工具。模塊如圖3.3所示。
在這里插入圖片描述

圖3.3 CH340串口燒寫模塊

4 系統調試

4.1 系統硬件調試
根據選好的元器件,在熟悉掌握每一個引腳之后,要繪制電路圖。在繪制電路圖的過程中,要注意美觀、耐用、走線盡可能地少一些,是電路板看起來不會那么亂。在焊接的過程中,既要有正確的焊接技術,還要保證待焊接面是干凈的,這樣才能保證防止不良焊點的出現。如果待焊接面不干凈,需要將其清理干凈,才可以重新進行焊接。當板子根據原理圖焊接好之后,在對硬件進行調試的時候,首先就要檢查每個元器件的引腳有沒有完全的和板子焊接上或者會出現脫焊、虛連的這種情況,還要根據電路圖仔細檢查一下,看看有沒有漏焊的情況,同時要看需要連接的線路有沒有都連上,特別要注意電源線和地線的連接[20]。以免在通電的時候發生短路,燒毀某些元器件,或者不能正常工作的情況。
當單片機中有程序下載進去時,會發現LCD1602液晶屏沒有光亮,也不顯示任何的數字。如果發生上述的這種情況,不要心急,要逐一的去檢查每個元器件,參照原理圖,使用萬用表進行測量,確定是什么部位錯誤導致的。在萬用表上會有一個蜂鳴器,可以根據蜂鳴器有無聲音來判斷是否有問題[21]。
4.2 系統軟件調試
本設計是基于單片機控制,利用單片機的主程序完成對心率脈搏計的控制,使用的是STC89C51系列,這個系列的單片機應用非常廣泛,編譯語言以C語言為主。本次設計以Keil μVision 4軟件進行編寫。
Keil μVision 4使用的基本方法,首先需要建立一個新的項目,選擇使用的單片機類型,可以編寫一個新的文件,編寫完程序后進行編譯,編譯就是檢測程序是否有錯誤和警告,警告不會影響程序的運行。在編譯程序之后,生成.HEX文件。程序寫入控制芯片STC89C51后,接通電源,電源指示燈亮,系統啟動。當人的手指接觸到光電傳感器時,指示燈亮說明系統開始工作,記錄一分鐘心率脈搏次數,則心率脈搏計工作正常。

文章底部可以獲取博主的聯系方式,獲取源碼、查看詳細的視頻演示,或者了解其他版本的信息。
所有項目都經過了嚴格的測試和完善。對于本系統,我們提供全方位的支持,包括修改時間和標題,以及完整的安裝、部署、運行和調試服務,確保系統能在你的電腦上順利運行。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/92352.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/92352.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/92352.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《C++》面向對象編程--類(中)

文章目錄一、構造函數1.1定義1.2語法1.3特性二、析構函數2.1定義2.2語法2.3特性三、拷貝構造函數3.1定義3.2語法3.3特性3.4淺拷貝3.4.1定義3.4.2淺拷貝的風險3.5深拷貝一、構造函數 1.1定義 在C中,構造函數(Constructor) 是一種特殊的成員函…

機器學習初學者理論初解

大家好! 為什么手機相冊能自動識別人臉?為什么購物網站總能推薦你喜歡的商品?這些“智能”背后,都藏著一位隱形高手——機器學習(Machine Learning)。一、什么是機器學習?簡單說,機器學習是教計…

原碼反碼補碼

在Java中,無論是小數還是整數,他們都要帶有符號(和C語言不同,C語言有無符號數)。首位就作為符號位。原碼反碼:正數的反碼是其原碼本身負數的反碼是在其原碼的基礎上, 符號位不變,其余各個位取反…

使用ubuntu:20.04和ubuntu:jammy構建secretflow環境

一、使用ubuntu:20.04構建隱語編譯環境FROM ubuntu:20.04LABEL maintainer"build SecureProtocolLib on ubuntu:20.04"ARG TARGETPLATFORM# change dash to bash as default shell RUN ln -sf /bin/bash /bin/shRUN apt update \&& apt upgrade -y \&&am…

Hinge Loss(鉸鏈損失函數)詳解:SVM 中的關鍵損失函數

📌 一、什么是 Hinge Loss?Hinge Loss(鉸鏈損失),是 支持向量機(SVM, Support Vector Machine) 中常用的一種損失函數,用于最大間隔分類。其核心思想是:當預測結果已經正…

days32 :零基礎學嵌入式之網絡2.0

一、wireshark :網絡抓包工具1.功能:抓取通過電腦網卡的網絡數據2.作用:排查故障、抓取數據做數據分析、3.用法:(1)sudo wireshark(2)選擇需要抓取的網卡》any(3&#xf…

數字護網:一次深刻的企業安全體系靈魂演練

🧩 引言:什么是“護網”?—— 不止是攻防,更是企業安全能力的年度大考 每年,由國家相關部門牽頭的“護網行動”都如期而至,各大企事業單位的安全團隊也隨之進入高度戒備狀態。然而,“護網”遠非…

基于 NumPy 的高效數值計算技術解析與實踐指引

在數據處理與科學計算領域,高效是核心訴求。NumPy 作為 Python 生態高效數值計算的基石,以高性能多維數組對象及配套函數,成為數據從業者的必備工具。其數組支持算術、比較、邏輯等豐富運算,通過向量化操作直接處理每個元素&#…

Kafka MQ 控制器 broker

Kafka MQ 控制器 broker 1 控制器broker的選舉 在 Kafka 集群中會有一個或多個 broker,其中有一個 broker 會被選舉為控制器(Kafka Controller)?,它負責管理整個集群中所有分區和副本的狀態。當某個分區的leader副本出現故障時,由控制器負責為該分區選舉新的leader副本…

50天50個小項目 (Vue3 + Tailwindcss V4) ? | ImageCarousel(圖片輪播組件)

&#x1f4c5; 我們繼續 50 個小項目挑戰&#xff01;—— ImageCarousel組件 倉庫地址&#xff1a;https://github.com/SunACong/50-vue-projects 項目預覽地址&#xff1a;https://50-vue-projects.vercel.app/ 使用 Vue 3 的 <script setup> 語法以及 Tailwind CSS …

基于springboot的智能物流管理系統(源碼+論文)

一、開發環境 MYSQL數據庫 MySQL是一個真正的多用戶、多線程SQL數據庫服務器&#xff0c;基于SQL的客戶/服務器模式的關系數據庫管理系統。其特點包括&#xff1a; 功能強大&#xff1a;支持多用戶、多線程操作。使用簡單&#xff1a;管理方便&#xff0c;安全可靠性高。跨平…

Collection接口的詳細介紹以及底層原理——包括數據結構紅黑樹、二叉樹等,從0到徹底掌握Collection只需這篇文章

目錄 Collection簡介 Collection的遍歷方式 迭代器遍歷 增強for遍歷 Lambda表達式遍歷 List集合 List集合的遍歷方式 列表迭代器遍歷以及普通for循環 數據結構 棧 隊列 數組 鏈表 單向鏈表 雙向鏈表 二叉樹 遍歷方式 普通二叉樹 二叉查找樹 平衡二叉樹 旋轉…

《安順棒壘球》世界十大運動·棒球1號位

Worlds Top 10 Sports for Newbies | 棒球排第幾&#xff1f; 全球青訓體系大揭秘 ?添加圖片注釋&#xff0c;不超過 140 字&#xff08;可選&#xff09;神王棒球世界十大運動排名 Top 10 Global Sports&#xff08;按參與度/商業價值/影響力綜合排序&#xff09;足球 Footba…

什么是“差分“?

1. 什么是"差分"&#xff1f;想象兩個人在玩蹺蹺板&#xff1a;當兩人同時向上跳&#xff08;同向移動&#xff09;→ 蹺蹺板不動 → 這叫"共模"當一人向上&#xff0c;另一人向下&#xff08;反向移動&#xff09;→ 蹺蹺板傾斜 → 這叫"差分"差…

4.組合式API知識點(2)

10 組合式API - 模版引用模板引用的概念如何使用&#xff08;以獲取dom為例 組件同理&#xff09;組件實例對象defineExpose()11 組合式API - provide和inject作用和場景跨層傳遞普通數據跨層傳遞響應式數據跨層傳遞方法需求解決思考

GitLab企業版部署與許可證生成完整指南

GitLab企業版部署與許可證生成完整指南一、背景二、環境準備三、部署步驟1. 創建目錄結構2. 生成GitLab許可證2.1 克隆許可證生成器2.2 修改生成器腳本2.3 構建Docker鏡像2.4 生成許可證文件3. 創建Docker Compose配置文件4. 啟動GitLab容器4.1 初始啟動4.2 修改GitLab配置4.3 …

Jenkins 不同節點間文件傳遞:跨 Job 與 同 Job 的實現方法

在日常的 DevOps 運維實踐中&#xff0c;Jenkins 通常被用于串聯多個自動化流程&#xff0c;而這些流程往往需要在不同的構建節點&#xff08;agent&#xff09;上執行。例如&#xff0c;在以下場景中&#xff1a; &#x1f4cc; 場景需求描述&#xff08;實際問題&#xff09;…

Java中AQS原理

一、核心架構&#xff1a;AQS抽象隊列同步器二、AQS核心機制1. 三大核心組件&#xff1a;state狀態變量&#xff1a;volatile int&#xff0c;表示鎖狀態&#xff08;0未鎖定&#xff0c;≥1鎖定/重入次數&#xff09;CLH隊列&#xff1a;雙向鏈表實現的線程等待隊列Node節點&a…

深入理解程序鏈接機制:靜態鏈接、ELF加載與動態庫實現原理

目錄 一、靜態鏈接 1、靜態鏈接的基本概念 1. 靜態鏈接實例分析 2. 目標文件分析 3. 關鍵觀察 4. 重定位機制 5. 注意事項 2、靜態鏈接過程詳解 1. 目標文件反匯編分析&#xff08;上面已分析&#xff09; 2. 符號表分析 code.o 符號表 hello.o 符號表 3. 鏈接后的…

python基礎復習

復習python基礎語法,最好能做到使用python 寫一些簡單的算法。 1基礎基礎語法 1.0 輸入輸出 一個實用的print:format函數print(站點列表 {0}, {1}, 和 {other}。.format(Google, Runoob, other=Taobao)) 站點列表 Google, Runoob, 和 Taobao。print("a", "b…