【基于STM32的非接觸式紅外溫度檢測系統設計8700字】_第1頁
【基于STM32的非接觸式紅外溫度檢測系統設計8700字】_第2頁
【基于STM32的非接觸式紅外溫度檢測系統設計8700字】_第3頁
【基于STM32的非接觸式紅外溫度檢測系統設計8700字】_第4頁
【基于STM32的非接觸式紅外溫度檢測系統設計8700字】_第5頁
已閱讀5頁,還剩20頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于STM32的非接觸式紅外溫度檢測系統設計內容摘要本設計主要以STM32單片機作為核心,設計的一款非接觸式紅外溫度檢測系統,其中采用的是非接觸紅外溫度傳感器來進行對人體溫度的采集,同時可以進行按鍵控制溫度設置。系統采集的溫度通過OLED顯示屏來進行顯示,實現對人體溫度檢測監控報警。當溫度高于37.3℃時,進行蜂鳴器報警提示,同時結合語音播報模塊進行溫度值的播報。整個系統中最關鍵的控制模塊是單片機控制電路,通過它的運行實現自動完成非接觸紅外溫度電信號的輸入和信號輸出的切換,從而來直接達成以溫度采集為核心的系統運作。這款非接觸式紅外溫度檢測系統在當前疫情前是起到一個重要的作用,能夠進行有效篩選和排查感染者的情況,及早的發現并進行隔離治療。關鍵詞:STM32單片機;OLED顯示器;非接觸式;語音播報,溫度目錄一、引言 1(一)研究目的及意義 1(二)研究現狀 1(三)論文結構 2二、系統總設計方案 2(一)設計總框圖 2(二)器件選型辯證 31.主控制系統辯證 32.溫度傳感器辯證 43.顯示屏選型辯證 4三、硬件設計方案 5(一)STM32單片機介紹 5(二)按鍵控制電路設計 5(三)蜂鳴器報警電路設計 6(四)OLED顯示電路設計 6(五)非接觸式溫度傳感器電路設計 7(六)語音模塊電路設計 7四、軟件設計方案實施 8(一)非接觸式紅外程序流程 8(二)蜂鳴器報警流程 9(三)按鍵控制程序流程 10(四)OLED顯示程序流程 11(五)語音播報程序流程 12五、實物制作與調試 13(一)電子電路設計 13(二)硬件方面調試 15(三)軟件方面調試 15六.總結展望 16參考文獻 17附錄 18PAGEPAGEIV一、引言(一)研究目的及意義當今世界,改革開放到今天,我們的日常生活已經發生了巨大的變化,用來測量溫度的儀器也是不斷地增加,當我們不小心感冒或者發燒時,身體溫度就會發生著明顯的變化,這時就需要使用溫度計來對我們的身體進行準確的測量。最近幾年,由于智能產品的飛速發展,溫度計也開始逐漸邁向智能化,科技的發展飛快,運用上單片機的地方越來越多,在這方面的研究也是更加的深入。隨著我們不斷地設計和不斷地創新,單片機也經常會作為一個核心部件,出現在實時監測和自動控制的系統之中。從2020年開始,新冠疫情在全球爆發,時至今日仍然還有確診的患者。這個病毒可以在空氣中進行傳播,被傳染者的主要癥狀是發熱,失去味覺等。因此能夠實時監測溫度就顯得非常的重要,是新冠疫情排查感染者的一個重要指標?,F今由于疫情的需要,在進入商場、學校、醫院等公共場所都需要進行溫度測量,保證此區域的人員安全,進行疫情排查,起到一個盡快排查,減少生命財產損失,防止疫情在無形中傳播的作用。因此,此設計的意義很明顯,就是保證在這疫情期間實時監測每一位公民的體溫,所以這個儀器最好適用于正常的生活,外觀小巧,適合醫療、日常生活實用,既經濟又實惠。(二)研究現狀當今社會,工業自動化發展十分的迅速,微電子控制芯片給我們各行各業帶來了新的機遇和新的可能性,并且設計出各式各樣到的電子產品,給人們的日常生活帶來了許許多多的便利,這讓廣大人民群眾對電子產品的興趣與日俱增,進一步擴大了電子產品在中國的市場。在一些發達國家中,溫度方面的監控測量技術已經成熟,相比于我們國家來說是比較先進的,而且取得了很多不錯的成績,廣泛用于世界各地。但是在我國,溫度測量還處于比較初級的階段,傳統的溫度計測量難免造成較大的誤差。以德國、日本、美國等發達國家為例,就在上個世紀,他們已經生產了大量的溫度檢測的儀器儀表,并且成功投放市場,可見我國在這方面與他們還是有著很大的距離。目前看來,我們還沒有從根本上戰勝新冠病毒,還需與之進行一段時間的斗爭。本設計主要設計一種方便、緊湊的電子體溫計,適用于醫療和日常生活,用來滿足疫情期間對人體溫度測量的一些需要。通過溫度測試對溫度進行采集,采集的數字信號通過單路串口傳輸到單片機STM32。處理后,溫度值顯示在液晶屏上。同時,通過對預設溫度值的比較,判斷當前溫度是否超過預設最高溫度值,如果超過,則自動報警,能夠有效防止人體溫度異常還隨意出入公共場所的情況,能夠在一定程度上防止病毒擴散,保障人民的健康安全。(三)論文結構第一章:設計思路的闡述。本章主要通過瀏覽各大網站的文獻資料、查閱相關設計的書籍、以及搜索瀏覽設計的相關介紹等,將進行一個課題的深入了解,并且通過自身的見解將本次的設計的背景、設計理念、以及設計的目的詳細敘述。第二章:系統設計的框圖結構。本章通過設計框圖呈現電路控制系統的總體設計思路,主要介紹單片機的控制電路,與非接觸式紅外傳感器模塊、OLED顯示屏、蜂鳴器模塊等之間的關系,同時還敘述了各電路中實現功能的方式。第三章:硬件部分設計。硬件電路包括單片機控制電路、按鍵控制電路等,完成功能實現。第四章:軟件部分設計。軟件是結合硬件共同完成的,程序代碼是硬件的靈魂,將功能進行輸出呈現,本章中主要介紹了各功能實現的代碼思路,完成各項功能的實現,得到一個完美的作品。第五章:硬件和軟件方面的調試。調試即檢查是否有需要進行調整的問題,在調試中需要注意的各個事項,其調試是確保功能實現的重要步驟。第六章:全文結論陳述。對制作作品的全過程進行一個總結。二、系統總設計方案(一)設計總框圖對于本次設計的主控芯片,我們選用的是STM32單片機,其中采用的是非接觸紅外溫度傳感器來進行對人體溫度的采集,同時設置,允許通過按鍵來控制溫度值。然后我們系統所檢測到的溫度會通過OLED屏幕來進行顯示,實現對人體溫度的實時監測和實時報警。當溫度高于37.3℃時,進行蜂鳴器報警提示,同時使用語音播報模塊進行溫度值的播報。在整個系統中,最為關鍵的控制模塊那就是單片機控制電路,通過這個關鍵模塊的運行,來實現非接觸紅外溫度電信號輸入輸出的自由切換,從而達成以溫度采集為核心的系統運作。這款非接觸式紅外溫度檢測系統在當前疫情前是起到一個重要的作用,就是能夠進行有效篩選排查感染者的體溫情況,及早的發現并進行隔離治療。設計總框圖如圖2.1所示。OLEDOLED顯示屏非接觸式紅外STM32F103C8T6語音播報復位電路按鍵電源圖2.1系統總框圖(二)器件選型辯證1.主控制系統辯證本作品設計中的控制部分芯片的選擇,主要從以下兩款單片機進行相關分析。方案一:STC89C52單片機是STC系列中常用的一款單片機,同時它還可以兼容51單片機。該芯片中含有8位控制器,操作流程單一,只需要通過下載器就可完成程序的擦除與撰寫,學起來較為簡單,易上手。但是該芯片中可編程Flash存儲器只有8k的字節,存儲量少,而且在這個運行的速度這個方面也是不怎么理想,編程的思維太過古板,不怎么靈活,乃至于在AD轉換是還需要插入硬件才能操作,較為繁瑣。方案二:STM32是一種核心為ARM

Cortex?-M0嵌入式應用設計的單片機,值得一提的是他的功能真的是非常的齊全,而且在性能方面也是非常的完善,受到了眾多企業和電子愛好者的青睞。STM32單片機的運行速度和他工作的效率在眾多產品之中那也是非常優秀的,擁有32位RISC處理器,不僅在處理程序時,效率變得更高,而且他還能夠兼容所有AMR的工具和軟件。如此方便,如此快捷,以至于他得到了非常廣泛的應用。本次設計中,根據課題的需求,通過上述兩個方案進行對比以及從各方面考慮,認為STM32單片機更為適合,在成本預算不高的情況下,還能使用如此高性能、運速快的單片機,是一種不錯的選擇。因此,本設計所使用的主控制芯片是STM32單片機。2.溫度傳感器辯證方案一:非接觸式紅外測溫傳感器它具有超低功耗、靈敏度和精準度都較高、測溫范圍廣的特點,可以測量人體溫度或者表面溫度,無論溫度過低或或低都可以測量,并且測量者不需要靠近高電壓這些危險的區域中去測量,直接就可以使熱敏電阻之類的器件進行感溫效應。尤其是在測量液體溫度時,不用直接觸碰到液體就可以測量出液體的溫度,可見這個非接觸式紅外測溫傳感器使用起來是非常的方便。方案二:DS18B20溫度傳感器是一款比較普通的溫度傳感器,它在使用的時候需要靠近被測物體,不然測不出來,而且它還不能進行遠距離的測量,測量起來不是很方便,所以使用范圍比較有局限性,精度不能滿足所有的場合。綜合以上的兩種方案,本次設計中是對人體進行測溫,需要進行不接觸被測物完成測溫,而DS18B20溫度傳感器極易受到周圍環境溫度影響,因此方案二比較有局限性,故選擇方案一使用非接觸式的測溫會更適合應用于本次的設計中。3.顯示屏選型辯證方案一:采用液晶屏LCD12864顯示。此顯示屏的價位相對較低,顯示屏的尺寸較大,內容顯示清晰,其分辨率是128*64,在使用過程中,接口方式并不復雜,操作起來簡單易懂。內部設計中采用的是背光技術,由于背光技術的不斷改進,使得顯示屏在運用顯示上,擁有著亮度更高、亮度反射更加均勻,但是可視化的角度效果并不是很好,在一些角度上看顯示內容可能會有所影響,不清晰。方案二:采用OLED屏顯示。此顯示屏的外觀較為小巧,不僅擁有著較高的色彩對比度,超高清的顯示,還不需要單獨的背光源,而且每一個像素點都會自發光,顯色方面更出色,性價比更高。但是成本相對其他顯示屏而言較高,在分辨率較高的情況下耗能較大。本設計主要用于文字與數據方面的顯示,顯示內容相對較少,像素點的要求并不高,因此在通過以上兩款的顯示相比,OLED外形上更為小巧,使用的單片機I/O口較少,能夠有效減少資源浪費,因此選擇方案二,也就是OLED顯示屏作為此設計的顯示屏。三、硬件設計方案(一)STM32單片機介紹STM32是專門為低功耗環境開發的32位嵌入式芯片。該芯片資源豐富,包括485通信、232通信、定時器中斷、ADC通道、PWM等資源。該芯片可以滿足許多不同環境的不同需求。同時,還提供了許多應用實例來支持單片機的實時仿真和跟蹤,采用ARM最新先進的架構Cortex-M3內核。通過增加一些外圍電路,可以形成一個完整的小系統。單片機具有很強的可擴展性,它具有與普通計算機相似的強大的數據處理功能。通過使用一些科學的算法,可以獲得很強的數據處理能力。因此在工業應用中,單片機可以大大提高工業設備的智能化、數據處理能力和處理效率,而且不需要占用大量的空間。STM32單片機最小系統如圖3.1所示。圖3.1單片機引腳電路圖(二)按鍵控制電路設計按鍵電路主要是由一個個獨立的按鍵組成,每個按鍵都可以分別控制不同的功能。當進行按鍵按下操作時,按鍵觸點閉合,電路呈現導通狀態(即低電平),同時單片機檢測按鍵被按下后,執行相應的命令指示;當松開按鍵時,按鍵觸點斷開,電路呈現開路狀態,同時單片機不執行相應程序。按鍵電路圖如圖3.2所示。圖3.2按鍵控制電路圖(三)蜂鳴器報警電路設計蜂鳴器的主要特點是能夠發出聲響,可以起到起到報警、警示、提醒的一個作用。本設計是一款關于溫度測試的非接觸式紅外溫度檢測系統,蜂鳴器在此設計中主要是用于溫度報警,當人體溫度超過37.3℃的時候,蜂鳴器會被觸發。根據蜂鳴器的特性,單片機的供電是不足以實現蜂鳴器驅動,故連接STM32單片機時需要額外連接一個三極管進行輔助驅動,從而實現驅動,發出“滴滴”聲響。系統蜂鳴器電路圖3.3所示:圖3.3蜂鳴器報警電路圖(四)OLED顯示電路設計OLED液晶顯示器具有性能穩定、性價比高、操作方便、低溫特性好等特點。它常用作STM32單片機系統的顯示器。本設計只需要顯示字符和阿拉伯數字,不需要顯示圖片,因此本設計最適合選擇OLED作為顯示器。如圖3.4所示。圖3.4OLED顯示電路圖(五)非接觸式溫度傳感器電路設計本次設計紅外測溫模塊,采用的是非接觸式的MLX90614系列,這款在使用時是通用的。有著身形小巧、價格便宜、測試結果偏差小等優點,因此被選用。在使用過程中,所有的檢測的溫度輸出方式都是單通道輸出,有兩種輸出接口,在應用方面比較廣泛。非接觸式測溫的方式,就算不用接觸到物體也能夠精準進行測量,在檢測溫度的過程中只需要將被測物體靠近測試范圍內,利用紅外線的紅外輻射,就可做出檢測反映,不易受影響,測出的數據也較穩定。如圖3.5所示。圖3.5非接觸式溫度傳感器電路圖語音模塊電路設計本設計中使用的是TTS語音合成模塊系列的,這是一種實現人機對話的模塊,能夠將文本進行語音轉換,實現語音播報功能。其主要是通過連接單片機的串口進行通訊,當單片機發出電平信號時,語音播報模塊才會被觸發,其觸發信號有兩種,一種是高電平信號,另外一種則是低電平信號。而當單片機發送的電平是高點時,語音播報將會被觸發,并且執行相應的指令,本設計中需要播報的內容主要是當前溫度傳感器實時檢測的溫度數據;相反,若是發送低電平信號,則語音播報模塊不執行。語音播報電路圖如圖3.6所示。圖3.6語音播報電路圖四、軟件設計方案實施(一)非接觸式紅外程序流程在非接觸式紅外傳感器中,主要是實現在允許間隔范圍內也能準確測量人體溫度。程序開始下載運行時,首先程序中探測器會進行電信號生成,而生成的該電信號將會與輻射成比例放大,同時在通過連續接收來自單片機的數字信號的同時,此傳感器內部會處理,隨之轉化同一頻率的輸出信號,最終完成溫度的獲取。非接觸式紅外測溫程序流程圖如圖4.1所示:紅外傳感器初始紅外傳感器初始開始采集溫度值數據轉換讀取當前溫度值結束圖4.1非接觸式紅外測溫程序流程圖(二)蜂鳴器報警流程蜂鳴器控制部分是根據設置的距離閥值識別的結果來進行監控,在與設置的溫度數值進行比較時,當溫度高于37.3℃的時候,顯示異常,并且會進行驅動,同時發出聲響,提示溫度顯示異常,起到提示作用,通過聲音判別就能知道溫度是否正常。蜂鳴器控制程序流程圖如下圖4.2所示:YY開始延時10ms延時1000ms開啟蜂鳴器驅動關閉蜂鳴器驅動溫度是否超出37.3N返回圖4.2蜂鳴器報警流程圖(三)按鍵控制程序流程主板單片機進行程序燒錄時,運行到按鍵程序,會通過I/O口進行一個高低電平的判斷,其中當檢測中檢測到了低電平有效時,將會進行一次按鍵掃描,這樣一來,按鍵就會執行相關控制操作,當按鍵被按下時,I/O口進行一個檢測,檢測是否存在按鍵被進行按下操作,判斷為是時,控制實現。按鍵控制程序流程圖如下圖4.3所示。開始開始按鍵是否閉合N按鍵是否閉合N按鍵數值有效Y數值設置返回結束軟件延時10ms圖4.3按鍵控制程序流程圖(四)OLED顯示程序流程本設計中采用OLED顯示,該顯示模塊的控制原理是背光顯示文字,在程序中首先需要進行對需要顯示的文字、符號進行位置的選取,否則將出現顯示內容混亂。設置好位置后,進行數據的寫入,單片機系統通過字庫寫入把ARM中每位數據對應一個點的亮、暗的狀態,進而實現具體顯示內容。本設計中主要對所測量的溫度值進行顯示。程序流程圖如圖4.4所示。開始運行開始運行初始化寫入測量的溫度值延時顯示完畢返回OLED字庫顯示文字、數字寫入相應的數據圖4.4OLED顯示程序流程圖(五)語音播報程序流程語音播報模塊是主要通過單片機進行控制,實現實時溫度值的播報。在c語言環境下書寫程序,進行輸入需要播報的內容,通過單片機進行控制通訊,結合文本到語音的轉換,從而實現實時播報功能。語音播報流程圖如圖4.5所示。開始語音播報模塊初始化進行播報結束讀取溫度值開始語音播報模塊初始化進行播報結束讀取溫度值五、實物制作與調試(一)電子電路設計本設計采用AltiumDesigner軟件實現原理圖的設計,此軟件源自于設計公司Altium發布的一套完整的電路開發系統。此軟件使用方便,操作也比較簡單,在工程項目中創建原理圖,元器件正確接線,檢查校對,模塊編號,電路原理圖設計中,并且擁有嵌入式系統軟件設計,因此運用較多。被廣泛用于電路原理圖的制作、PCB電路板的設計,為用戶提供了一個很好的電路設計平臺,一直深受硬件工程師喜愛。操作步驟:(1)創建工程文件.Project、原理圖文件.SchDoc、以及PCB文件.PcbDoc(并命名為“基于STM32的非接觸式紅外溫度檢測系統設計與實現”。(2)根據本設計中所運用到的元器件進行一個原理圖設計,整合連接,形成一個完整的電路圖。如圖5.15.1實物圖原理圖如圖5.2所示。圖5.2電路原理圖(二)硬件方面調試PCB板或焊接板方面的調試:首先我們要對電源線進行適當的加粗,因為我們必須要確保電源一定要是穩定的。第二,我們要查看一下電源之間是否存在著短路或者短路的情況,要通過萬用表來檢查。第三,還是通過萬用表,我們要檢查一下在信號線之間是否有斷路,漏焊這些情況。以上情況都確認沒問題后上電測試,測量電壓是否達到標準,標準后才能接上模塊進行使用。在完成硬件的安裝工作后,要進行電路的測試,以及電路元器件、線路等發現問題后的調整這兩個步驟。第一個步驟是,在測試之前都需要進行線路檢查,確認線路及元器件方向無誤后,才能開始進行上電檢測;第二個步驟是,進行信號輸入后,觀察輸入輸出波形以及最后呈現的效果是否是達到自己預期的效果。在通電之前:先使用萬用表,對焊接的線路進行測試,排查是否有短接、焊錯、以及漏焊等情況發生,避免導致電路短路燒毀,對板子造成一定程度的損害。在通電之時(不加入信號,靜態觀察):先觀察電路是否導通,然后開始聽一下板子有沒有異常的響動,最后,測一下兩端的電壓是否達到了預想值,計算誤差,若是相差甚遠,則需及時改正,并再一次重復上述步驟。3.在通電之后(加入信號,動態觀察并調試):根據上述步驟完成后,開始加入合適的信號,按照自己所設計的電路中電流走向,來逐一測量各個測試點輸出的信號。在進行測試這一操作時,不能單憑感覺,需要用到各種儀器(如示波器、信號發生器等)來得出數據并觀察。最后,在確認測量中得出的各數據準確無誤后,進行最后的調整,結合設計作品的要求,實際情況等,判斷可行性。4.在斷電之后:整理記錄剛剛所發生的問題,開始一個個進行解決。將虛焊的一些電路,進行焊接,是否需要更換元器件等,進行進一步完善。(三)軟件方面調試對各模塊板進行測試和對整體組裝出來的板進行整體測試,用串口調試單片機工作是否正常,根據作品功能一個一個組合實現調試最后綜合調試,修改代碼內容細節。對于一些比較簡單的代碼,那么肯定就不需要再次進行硬件的調試,直接一次就可以成功。但是如我發現此次代碼工程比較大的話,那么出現一些漏洞也是在所難免的,這就有必要通過硬件調試來解決問題了。我決定用c語言來進行此次軟件的編程,首先確定一個合適的思路,然后看看使用的函數恰不恰當,標點符號有沒有對應使用好或者遺漏了。先編寫好一個子函數實現了這個所編寫函數的功能后再到另一個功能的實現,編寫好程序后在編譯器中檢測,如顯示0個警告0個錯誤后就可以把這段程序下載到硬件中看是否可以實現自己想要的功能,再做進一步的修改和功能的實現,最后再把所有的子函數結合在一起完整的實現這個作品的具體功能要求。六.總結展望在此非接觸式紅外溫度檢測系統的設計中,主要使用的主控制芯片是STM32單片機,整套設計中包含硬件和軟件兩大部分設計,硬件方面較為熟悉,設計起來不難,但是檢測調試這一步驟花費時間較長;而軟件方面,程序較為陌生,剛開始時不知如何下手,經過查閱各種資料后,成功完成了這一部分的設計。此外,本設計運用的模塊化設計方法,有一部分可直接通過庫函數調用模式進行軟件開發設計,很大程度上為設計爭取了一些時間,把軟件設計方面的工作效率提高了。對于非接觸式紅外溫度檢測系統這一設計,在日后的推行方面可行性較高,能夠實現不接觸即可準確測量人體溫度,同時進行語音播報,在現今與疫情共存的時期中,推行性高,市場需求較大。日后也會有一個新的突破,一旦發展起來,會受到廣大消費者喜愛。參考文獻[1]張守峰,李炳星,華維三,馬進存,王飛鵬,一種基于紅外線熱輻射收費站車道智能融雪裝置[J],現代工業經濟和信息化,2021-09-30,13[2]MoiselloElisabetta&MalcovatiPiero;&Bonizzoni,EdoardoThermalSensorsforContactlessTemperatureMeasurements,OccupancyDetection,andAutomaticOperationofAppliancesduring,theCOVID-19Pandemic[M]AReview,,Micromachines, 2021-02-03 (N0.5)[3]SirozhiddinMakhmudov&YuldashSobirov&AbdujabborAbdurakhmanov,Remotemethodoftemperaturemeasurementinthefocusofhigh-temperaturesolarfurnaces[M] E3SWebofConferences2020-01-01(N0.11)[4]劉挺,以非接觸式溫度傳感器為載體的工業微波爐控制系統設計與實踐,工業加熱期刊[J],2019-10-30,8[5]孫彥民,楊穎,張典帥,徐春啟,周遠航,張京濤《多功能家用智能窗控制器的設計》[J],《自動化應用雜志》出版,2018,6[6]王社會,基于DS18B20的數字式測溫計設計[M],《山西大同大學學報(自然科學版)》出版,2009年,10[7]童詩白,模擬電子技術基礎[M],高等教育出版社,2015年,10[8]閻石,數字電子技術基礎[M],高等教育出版社,2016年,9[9]朱清慧,Proteus教程[M],清華大學出版社,2016年,11[10]陳亞麗,現代檢測技術實例教程[J],人民郵電出版社,2016年,5[11]Motorola,Inc.&Phoenix,AZ,,TemperatureMeasurementandDisplayUsingtheMC68HC05B4andtheMC14489.MotorolaSemiconductorApplicationNote[M]AN431.1990,3[12]李振基,非接觸紅外測溫器在工業領域中的應用[J].科技風2016,11[13]何先華,紅外測溫設備試驗室檢測技術的應用[J].青海電力.2015,8[14]符丙虹,趙麗芬,蔣祖軍.福建電腦.基于單片機的非接觸式體溫計設計[J].福建電腦.2017,7[15]張健,余挺,錢永愷,陶大錦,基于單片機的非接觸式人體體溫計的研制[J].微型機與應用.2014,12附錄附錄一主要代碼#include"stm32f10x.h"#include"string.h"#include"buzzer.h"#include"key.h"#include"mlx90614.h"#include"oled.h"#include"timer.h"#include"delay.h"#include"sys.h"#include"usart.h"uint8_talarm_flag=0;floattemp_value=0;//溫度值floatalarm_temp_value=37.3;//報警溫度值(默認37.3℃)voidmain_interface(void);//主界面intmain(void){ chartemp_str[16]={0}; charuart_str[16]={0}; charalarm_temp_value_str[8]={0}; uint8_tkey=KEY_NULL; delay_init();//延時初始化,72MHz uart1_init(9600);//串口1初始化 buzzer_init();//蜂鳴器初始化 key_init();//按鍵初始化 SMBus_Init();//mlx90614初始化 OLED_Init();//OLED初始化 TIMx_Init(TIM2,10000,0,1);//定時器2初始化(用于按鍵長短按),每10ms中斷一次 TIMx_Init(TIM3,50000,0,2);//定時器3初始化(用于蜂鳴器報警),每50ms中斷一次 ON_TIMx(TIM2);//打開定時器2 OFF_TIMx(TIM3);//關閉定時器3 main_interface();//主界面 /*語音播報*/// USART1_TX((uint8_t*)"歡迎您"); while(1) { /*按鍵掃描*/ key=key_scan(); switch(key) { caseKEY1_SHORT_PRESS: alarm_temp_value++; if(alarm_temp_value>=99) alarm_temp_value=99; sprintf(alarm_temp_value_str,"%.2f",alarm_temp_value); OLED_Display_6x8_8x16(6,32,1,(constu8*)alarm_temp_value_str);//報警溫度值顯示 break; caseKEY2_SHORT_PRESS: alarm_temp_value--; if(alarm_temp_value<=0) alarm_temp_value=0; sprintf(alarm_temp_value_str,"%.2f",alarm_temp_value); OLED_Display_6x8_8x16(6,32,1,(constu8*)alarm_temp_value_str);//報警溫度值顯示 break; caseKEY3_SHORT_PRESS: temp_value=SMBus_ReadTemp();//獲取傳感器溫度值 sprintf(temp_str,"%.2f",temp_value);//溫度值轉為字符串用于顯示 OLED_Display_6x8_8x16(2,32,1,(constu8*)temp_str);//溫度值顯示

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論