基于51單片機的恒溫箱溫控系統(tǒng)設計_第1頁
基于51單片機的恒溫箱溫控系統(tǒng)設計_第2頁
基于51單片機的恒溫箱溫控系統(tǒng)設計_第3頁
基于51單片機的恒溫箱溫控系統(tǒng)設計_第4頁
基于51單片機的恒溫箱溫控系統(tǒng)設計_第5頁
已閱讀5頁,還剩44頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

緒論1.1研究背景及意義隨著社會的發(fā)展,各類電器設備,如微波爐、空調、全自動洗衣機等已經普及到市場,這些設備如今已深入我們日常生活的方方面面,它們不僅為我們提供了極大的便利,還在很大程度上提升了我們的生活質量。而這些設備在實際應用中,溫度控制確實是一個關鍵且不可忽視的問題REF_Ref23333\r\h[1]。恒溫箱是一種基于溫度控制的設備,它在航空、交通、家電、農業(yè)、工業(yè)等多個領域都有著舉足輕重作用REF_Ref23431\r\h[2]。除此外,恒溫箱在生物學和物理學研究、醫(yī)藥研究等領域也有著廣泛的應用,其中在生物學研究中,它可以用于保存、培育細胞以及生物樣品育種;在醫(yī)藥研究中,它則常用于藥物穩(wěn)定性測試和藥物存儲REF_Ref23490\r\h[3]。與此同時,溫度控制系統(tǒng)在醫(yī)療領域,同樣展現出了其重要性,監(jiān)測定病人體溫、手術室的溫度,特別是在早產兒的護理中,由于新生兒體溫調節(jié)功能未發(fā)育健全,恒溫箱為嬰兒提供一個穩(wěn)定的溫度環(huán)境REF_Ref23519\r\h[4]。綜上所述,恒溫箱的應用已然滲透到我們生活的多個層面,其重要性不言而喻。相較于傳統(tǒng)的溫度控制方式,即依賴溫度控制表、溫度接觸器和溫度計讀取,再由人工進行加熱或降溫的操作,這一流程確實顯得繁瑣復雜,且費時費力REF_Ref23588\r\h[5]。鑒于此,可開發(fā)一個智能化的溫控系統(tǒng),以簡化操作流程,提升工作效率,并降低人工操作的錯誤率。智能化的溫控系統(tǒng)通過單片機作為核心控制器,配合各個功能部件,能夠實時監(jiān)測并自動調整溫度,確保恒溫箱內的環(huán)境穩(wěn)定且精確,從而滿足各種應用場景的需求REF_Ref23630\r\h[6]。因此,市場急需改進恒溫箱的控制系統(tǒng),提升溫度控制系統(tǒng)的性能,同時降低生產成本,開發(fā)一個簡單、實用且高效的溫控系統(tǒng),用以精準控制溫度,已成為當下的迫切需求,這對于溫度控制系統(tǒng)的研究具有極其重要的意義REF_Ref23663\r\h[7]。1.2國內外研究現狀1.2.1國外研究現狀自20世紀70年代起,國外對溫度控制系統(tǒng)和技術進行了較早的研究。首先,本文介紹了一種綜合模擬系統(tǒng),用于采集系統(tǒng)的指令、記錄、控制等數據。直到80年代后期,他們引入了分散的控制系統(tǒng)?,F在,他們正研究如何利用分散的控制系統(tǒng)來進行深入開發(fā)。目前,世界各地的溫度檢測與控制技術都得到了快速的發(fā)展,有些國家的溫度控制系統(tǒng)也正在向自動化方向發(fā)展。國外在溫控系統(tǒng)以下幾個方面取得了顯著的成就,隨著電子和計算機技術的迅猛進步,外部溫度控制系統(tǒng)的智能化、標準化以及工業(yè)控制化的發(fā)展正日益成為行業(yè)關注的焦點。這一發(fā)展趨勢不僅推動了恒溫箱等溫控設備的性能提升,更對自動化控制系統(tǒng)的開發(fā)與設計方法提出了全新的挑戰(zhàn)與要求REF_Ref23696\r\h[8]。在這方面,日本、美國、德國和瑞典等國在生產組織和商業(yè)組織方面取得了技術上的進步。目前,控制外國溫度的系統(tǒng)和儀器正在迅速發(fā)展,達到高智能水平。盡管中國的溫度控制系統(tǒng)已經廣泛應用于多個領域,并取得了顯著的進展,相比之下,中國的溫度控制系統(tǒng)在技術研發(fā)、制造工藝和市場應用等方面仍有待提升,但總體技術水平仍與發(fā)達國家存在差距,如日本、美國和德國。1.2.2國內研究現狀我國對于溫度測控技術的研究較晚,始于20世紀80年代REF_Ref23745\r\h[9]。我國科技工作者也在積極吸收國外先進經驗,不斷推進測溫與控制技術的發(fā)展。他們深刻地認識到,單純依靠技術引進是不行的,只有消化、再創(chuàng)新才能取得真正的進步。為此,各國都在積極地根據本國的實際需要,不斷地把國外的先進技術和國內的實際需要進行有機地結合起來,逐漸地使這些技術走向全面、實用。在恒溫箱溫控系統(tǒng)方面,中南林業(yè)科技大學的杜沐青在其論文《基于預估模糊PID的恒溫箱溫度控控系統(tǒng)優(yōu)化設計》中,提出了一種創(chuàng)新性的控制策略,把Smith預估控制、經典PID控制和模糊控制結合起來REF_Ref23777\r\h[10]。這個創(chuàng)新策略以最大化各自的優(yōu)勢并相互彌補潛在不足,從而構建出一個更加高效、穩(wěn)定的控制系統(tǒng),確保溫度的穩(wěn)定性??梢哉f,我國的技術專家們正在以開放的心態(tài)和務實的態(tài)度,不斷推進溫度測量控制技術領域的發(fā)展,他們的努力不僅將提升我國在該領域的競爭力,也將為我國的工業(yè)升級和經濟發(fā)展注入新的動力。這種結合了三種控制方式的溫控系統(tǒng),不僅滿足了市場的實際需求,還有效解決了技術上的不足,為溫控系統(tǒng)的未來發(fā)展提供了新的思路和方法。1.3研究內容及目標1.3.1研究內容本設計基于51單片機的恒溫箱溫控系統(tǒng)研究主要聚焦于顯示功能、溫度設置功能、溫度檢測功能、報警功能、溫度調節(jié)功能。功能詳情如下:顯示功能。采用7SEG-MPX4-CC數碼管顯示各項數據信息,確保用戶能夠清晰讀取溫度數值。溫度設置功能。通過物理按鍵結合數碼管顯示屏,設定用戶需要的溫度調節(jié)范圍的需求。溫度采集功能。通過DS18B20傳感器的應用,我們能夠精確地獲取到環(huán)境溫度,并實時通過數碼管顯示屏進行顯示。報警功能。采用聲音與燈光結合起來報警,當采集到的溫度不在設置的溫度范圍時,系統(tǒng)將觸發(fā)相應的該報警機制。溫度調節(jié)功能。如果測得的溫度比設定的最高值要高,就會有報警聲音,LED紅燈會變紅,這時,冷卻設備就會開始工作,當溫度值恢復到設定的溫度區(qū)間時,繼電器就會自動關閉,使其不再冷卻,并停止報警。相反,如果所測得的溫度值小于設定的溫度值的最低值,就會有報警聲音,同時,綠燈會點亮,在這個時候,加熱設備就會開始工作,在溫度恢復到設定的溫度區(qū)間之后,繼電器就會自動關閉,停止加熱,并停止報警。1.3.2研究目標(1)實現智能化控制:通過單片機技術,實現對恒溫箱溫控系統(tǒng)的智能化控制,使得該溫控系統(tǒng)可以根據用戶的需求和環(huán)境因素自動調節(jié)溫度范圍,提高用戶的使用體驗。(2)節(jié)省使用成本:通過智能化的溫控系統(tǒng),減少能源消耗,提高能量轉換效率,為用戶節(jié)省了電費;比如顯示屏幕運用的是成本低、亮度高的數碼管顯示屏幕,若此模塊損壞,更換時屏幕零件時,價格也相對便宜且更容易找到。(3)具有安全可靠的保障:在控制系統(tǒng)設計中充分考慮安全性,防止出現過熱、漏電等安全問題,確保用戶的安全使用。(4)用戶操作更方便:用戶可以隨意的根據自己的需求在合理的范圍內設置溫度值。2系統(tǒng)總體方案設計2.1系統(tǒng)總體設計框架本設計總體設計框圖如下圖2.1所示。圖2.1總體設計框圖2.2功能模塊(1)主控模塊在本設計中,主控模塊的核心組成為AT89C51單片機、晶體振蕩電路及復位電路。該模塊負責全面控制恒溫箱的溫控系統(tǒng),利用DS18B20傳感器實時檢測溫度,主控模塊通過讀取傳感器的信息數據并進行分析處理,然后在數碼管顯示屏上即時展示,讓用戶直觀了解當前溫度狀態(tài),最后結合聲光報警裝置,繼電器控制模塊對其進行升溫/降溫REF_Ref23820\r\h[11]。(2)溫度檢測模塊在本設計中,我們采用了美國DALLAS半導體公司的生產的DS18B20溫度傳感器作為該模塊的核心部件,能夠高效且精確地實現溫度測量功能,其功能是現了溫度信號的數字化轉換REF_Ref23859\r\h[12]。這款傳感器以其出色的轉換功能,將原本難以捉摸的模擬溫度信號轉化為了用戶能夠一目了然地讀取的數字信號,從而消除了傳統(tǒng)模擬信號中可能存在的噪聲和干擾,便于主控芯片進行后續(xù)的處理和分析REF_Ref23888\r\h[13]。(3)按鍵模塊本設計的按鍵模塊使用的是3個物理獨立按鍵。主要功能是通過物理按鍵結合顯示模塊來手動控制需要的溫度范圍。(4)顯示模塊本設計選用4位數碼管作為顯示模塊,其數字顯示方式直觀清晰,能精確展示恒溫箱內的實時溫度。它能適應各種光線環(huán)境,確保用戶隨時準確讀取信息。數碼管顯示屏在溫控系統(tǒng)中作用關鍵,實時顯示溫度并反饋設定值,讓用戶掌握系統(tǒng)狀態(tài)。(5)聲光報警模塊本設計的聲光報警模塊集成了蜂鳴器和LED指示燈,二者協(xié)同工作,為恒溫箱溫控系統(tǒng)提供可靠的雙重警報機制。一旦檢測到的溫度超出用戶設定的范圍,聲光報警模塊會迅速響應,蜂鳴器發(fā)出清晰的聲音警報,LED指示燈則亮起以提供視覺上的警示。(6)繼電器控制模塊本設計采用了單片機來控制繼電器,以實現升溫/降溫功能。該模塊的組成部分包括三極管、負載、繼電器和若干電阻,且具備繼電器控制升溫/和降溫這兩個核心功能。2.3功能部件的選擇2.3.1主控芯片的選擇方案一:采用DSP作為主控模塊芯片。DSP(digital

signal

processor)是一種特殊的微處理器,DSP方案具有出色的數字信號處理能力,特別適用于對計算性能要求高的復雜應用場景,它憑借強大的運算能力和優(yōu)化的指令集,能夠高效處理音頻、視頻等數字信號,為現代通信系統(tǒng)、多媒體設備等領域提供強大的技術支持REF_Ref23921\r\h[14]。由于其專用性和高性能,DSP芯片通常成本較高。方案二:采用AT89C51單片機作為主控模塊芯片。AT89C51是一款低電壓、高性能的CMOS8位微處理器,擁有4K字節(jié)的閃爍可編程可擦除只讀存儲器(FPEROM),為系統(tǒng)提供了強大的數據處理和存儲能力,其卓越的性能和穩(wěn)定的運行特性,使得它在恒溫箱溫控系統(tǒng)中能夠發(fā)揮出卓越的控制效果,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容REF_Ref23950\r\h[15]。此外,它還具有豐富的外設接口,特點是低成本:AT89C51單片機成本相對較低;靈活性高,具有可編程閃爍存儲器,方便進行定制化的開發(fā)和修改;豐富的外設接口:包括定時器、串口通信接口等,方便擴展系統(tǒng)功能;功耗低:在靜態(tài)模式和停機模式下,功耗較低,適合電池供電或長期工作的場景。綜上所述,本次設計選擇AT89C51單片機作為核心芯片。原因在于,AT89C51單片機不僅成本相對較低,而且其靈活性和易用性有助于我們更深入地理解單片機的原理和應用。盡管DSP芯片在運算能力上更勝一籌,但對于本次設計的目標和需求來說,AT89C51單片機已足夠滿足要求,并且更有利于我們提升實踐能力和對嵌入式系統(tǒng)的認識。因此,我們選擇使用方案二。2.3.2傳感器的選擇方案一:采用模擬集成溫度傳感器。模擬集成溫度傳感器是一種獨特的硅半導體集成的溫度測量設備,集成體現在傳感器與電路這二者,這能有效地提高了測量的真實性。以AD590為例,它是一款溫度電流傳感器,能顯著增強系統(tǒng)的抗干擾能力,然而,它也有其局限性AD590模擬集成溫度傳感器的可靠性相對較低,如需要額外的放大電路和A/D轉換電路,這使得電路設計變得相對復雜,一旦出現故障,整個傳感器可能需要更換,增加了維護成本REF_Ref23983\r\h[16]。另外,由于AD590的增益有一定的誤差,所以必須對其進行調試,這就給設計帶來了很大的困難。方案二:采用數字溫度傳感器。DS18B20是美國DALLAS公司研制的一種高精度、高性能的測溫裝置。它采用了獨特的單總線接口,實現了與微控制器或其他數字系統(tǒng)的便捷通信。更為突出的是,DS18B20數字溫度傳感器將A/D轉換器集成在了芯片內部,這一設計使得傳感器能夠直接輸出數字信號,無需外接額外的模數轉換電路,從而簡化了系統(tǒng)設計,提高了整體性能和可靠性。除了集成A/D轉換器外,DS18B20數字溫度傳感器還具有諸多優(yōu)點。綜上所述,本次設計選擇DS18B20數字溫度傳感器。該傳感器集成了A/D轉換器,簡化了系統(tǒng)設計,同時具有高精度和廣泛的測量范圍等優(yōu)點,因此我們選擇使用方案二。2.3.3顯示模塊的選擇方案一:LCD1602液晶顯示器LCD1602,是一款當下工業(yè)設備中常用的液晶顯示器,能夠同時顯示16×2個字符,能通過調節(jié)電壓把液晶點的顏色加深進行顯示LCD1602的顯示區(qū)域由多個小點陣字符位構成,每個字符位可以獨立顯示字符,同時字符之間有空格分隔,為觀察者提供了良好的視覺體驗REF_Ref24012\r\h[17]。然而,盡管LCD1602具有諸多優(yōu)點,但其制造成本相對較高,這在一定程度上限制了其在某些成本敏感的應用場景中的使用。此外,LCD1602的功耗也相對較高,這在需要長時間運行供電的應用中可能成為一個不可忽視的問題。方案二:OLED顯示屏OLED,作為當前備受矚目的下一代顯示應用技術,其獨特的自發(fā)光特性與出色的性能參數使其在顯示領域具有顯著優(yōu)勢。與傳統(tǒng)的液晶顯示屏相比,OLED無需背光源驅動,能夠自主發(fā)光REF_Ref24045\r\h[18]。OLED模塊采用有機發(fā)光二極管技術的顯示器件,采用總線通信的方式,OLED模塊的像素點包含有機薄膜層,來保持更高的對比度,顯示比較清楚明亮,但是弊端就是采購成本比較昂貴。方案三:數碼管顯示屏數碼管顯示屏,在日常生活中也被稱為LED數碼管,可以顯示數字或者字符,常用于廣告宣傳屏幕、鐵路信息指示牌中。它具有許多優(yōu)點,第一就是亮度高,即使在明亮的陽光下也能清晰的顯示,第二就是功耗低,它普遍直流電供電,第三就是價格便宜,它的價格是其他屏幕,比如LCD屏和OLED屏,提的價格是他們的十幾分之一。本篇設計采用的是7SEG-MPX4-CC數碼管,它是一種4位共陰極7段數碼管。綜上所述,本次設計選擇7SEG-MPX4-CC數碼管顯示屏作為顯示模塊??紤]到本篇設計的顯示模塊僅僅是單純顯示溫度的數值,而不需要復雜的圖像或字符顯示,數碼管顯示屏的直觀性和易讀性能夠滿足這一需求。此外,數碼管顯示屏的成本較低,無需定制,這大大降低了設計和生產的成本負擔。數碼管顯示屏以其直觀、易讀和在環(huán)境亮度下的明顯顯示特點,成為本次設計的理想選擇。它將有效地滿足設計需求,因此我們選擇使用方案三。3系統(tǒng)硬件設計3.1系統(tǒng)硬件實物系統(tǒng)硬件實物圖如下圖3.1所示。圖3.1系統(tǒng)硬件實物圖3.2系統(tǒng)電路原理系統(tǒng)電路原理圖如下圖3.2所示。圖3.2系統(tǒng)電路原理圖元器件主要清單如下表3.1所示。表3.1元器件清單表3.3功能電路設計3.3.1主控電路(1)AT89C51單片機簡介AT89C51單片機是一款由Atmel公司制造的低功耗、高性能的8位CMOS微控制器,它基于MCS-51內核架構,擁有強大的功能集,使得它在各種嵌入式系統(tǒng)中得到了廣泛的應用。這款單片機它低功耗、高性能,含有功能強大的微型計算機的CPU,RAM,ROM,I/O口,中斷系統(tǒng),定時器/計數器等功能(如算術運算,邏輯運算,控制,中斷等功能)。AT89C51單片機主要用于嵌入式系統(tǒng),可以進行二次開發(fā),通過寫入不同的程序實現不同的功能,被廣泛應用于各種控制系統(tǒng),如兒童遙控玩具、汽車電子、日常家電等領域REF_Ref24084\r\h[19]。其功能方塊圖如下圖3.3所示。圖3.3功能方塊圖振蕩器和時序OSC:AT89C51單片機具有全靜態(tài)工作特性,其時鐘頻率范圍為0Hz至24MHz。時序OSC則負責產生穩(wěn)定的時序信號,確保電子設備的各部件能按預定順序協(xié)同工作。兩者在電子領域中應用廣泛,是電子設備正常運行的關鍵元件。程序存儲器4KBROM:AT89C51單片機內置了4KB的FlashROM,可以存儲擁有4096個存儲單元,特點就是寫入數據后不能修改。程序存儲器也稱內存,用于存放程序代碼和固件升級包及其他數據,這種存儲器具有可編程和可擦除的特性,使得用戶可以方便地更新和修改程序。數據存儲256BRAM/SFR:AT89C51單片機中數據存儲分兩個部分,一部分叫做RAM,用于存放運算的臨時數據或者開辟堆棧等;另一部分叫SFR,也稱特殊功能寄存器,它是特殊功能寄存器區(qū),用于存放單片機的相應特殊功能的控制指令或者數據。定時器/計數器:AT89C51單片機擁有定時器/計數器,有兩個功能。第一個是通過定時器的設置時鐘源,實現定時功能,用于延時操作和構建實時時鐘。第二個功能是通過計數器獲取脈沖信號,來進行計數,常用于事件計數,如按鍵的點擊的次數等。內中斷:AT89C51單片機支持多種內部中斷,包括C/T0、C/T1等。這些中斷源可以在特定條件下觸發(fā)中斷請求,使CPU能夠及時處理重要事件,提高了系統(tǒng)的響應速度和可靠性。64KB總線擴展控制器:AT89C51單片機具有64KB的總線擴展能力,允許用戶通過外部擴展接口連接更多的存儲器和外設,從而擴展系統(tǒng)的功能和容量??删幊蘄/O:AT89C51單片機提供了32個可編程的I/O端口,用戶可以根據需要配置這些端口為輸入或輸出模式,實現與外部設備的數據交換和控制功能??删幊倘p工串行口:AT89C51單片機可實現內外部設備的串行通信,其中全雙工的意思就是數據的接收與發(fā)出能同時進行,比如我們常用的無線電話就是典型的全雙工通信設備。AT89C51管腳圖如下圖3.4所示。圖3.4AT89C5單片機管腳圖AT89C51單片機管腳說明如下。P1口(1-8引腳):此接口是一個8位的,雙向輸入輸出端口,內置有一個上拉電阻。當P1端口的某個比特被寫為1時,這個比特會因內向上的作用而被拉高,使得它可以作為一個輸入。同時,在通過外接電路將P1端口拉到低電平時,P1端口將輸出一個電流。另外,P1端口還起到了8比特地址接收的作用。RST(9引腳):它是重置針。在單片機重置時,RST管腳要求維持高電平。這是保證單片機從穩(wěn)定狀態(tài)開始執(zhí)行程序的關鍵步驟。P3端口(10-17引腳):也是一個8比特的,雙向輸入/輸出端口,內置一個上拉電阻。如同P1端口一樣,P3端口在寫1的情況下被內部地向上拉動到高電平,并且可以作為輸入。另外,P3端口還具有外部中斷和串行通訊等獨特的功能,使MCU的功能更加多樣化。XTAL1(18引腳)和XTAL2(19引腳):它們分別與MCU的時鐘電路有關。XTAL1為倒相振蕩放大器的輸入端,XTAL2為其輸出端。兩者結合,保證了MCU工作在一個穩(wěn)定的時鐘頻率上。GND(20引腳):它是給MCU提供一個穩(wěn)定的基準電壓的地線。P2端口(21-28引腳):為8-2-28管腳,內置上拉電阻,可以作為輸入端使用。當存取外置程式記憶體或資料存貯器時,P2端口負責高八位位址的輸出。PSEN(29引腳):是一個外部程式存貯器的門控訊號,用來從外程式存貯器中讀出指令。ALE/PROG(30引腳):一個低位元組,它在存取外存時,用來鎖定一個地址,同時也接收程式脈沖。在正常情況下,ALE以一個固定的頻率產生一個正向的脈沖。VPP(31引腳):用來控制MCU對外設的存儲器的存取,并可為12V的程控供電。P0端口(32-39引腳):是8位的漏極開放的雙向I/O端口,在第一次寫1的時候就被定義為高電阻的輸入。另外,P0端口可以被連接至作為8比特的數據/地址的外部數據存儲器。VCC(40引腳):是單片機的供電引腳,確保其正常工作。(2)復位電路本片設計的復位電路如下圖3.5所示。圖3.5復位電路圖AT89C51單片機的復位電路是由一種電容與一電阻相串聯構成,該電容的正極與電源相連,微控制器的復位管腳RST連接于其負極,該電阻的一端與該電容器的負電極相連REF_Ref24123\r\h[20]。它的主要作用就是保證當電源上電或出現故障時,單片機能恢復到原來的工作狀態(tài)。當系統(tǒng)通電后,該電容器由一個電阻對其進行充電,從而使RST管腳由高電平逐漸下降,從而觸發(fā)重置動作。當電容器充完電后,RST管腳恢復高電平,單片機重置完畢,啟動了程序的運行。重置電路作為一種保護裝置,它確保單片機在啟動和運行過程中始終保持在可控的狀態(tài),可以提高單片機的穩(wěn)定性和可靠性,確保它能夠在各種環(huán)境下正常工作。(3)晶振電路晶振電路如下圖3.6所示。圖3.6晶振電路圖晶振電路,即晶體振蕩電路,是單片機或其他電子設備中用于產生穩(wěn)定頻率信號的電路,它為系統(tǒng)的正常運行提供了必要的時序控制。在內部時鐘機制的應用場景中,正確的連接方式顯得尤為重要。按照3.5圖示的接法,我們需在XTAL1(19腳)與XTAL2(18腳)這兩個特定的晶振引腳之間接入石英晶振。此外,為了確保時鐘信號的穩(wěn)定與精確,還需在這兩個引腳與地線之間分別接入電容。這些電容的容量一般維持在幾十皮法的量級,比如常見的30pF電容便是一個很好的選擇。通過這樣細致的電路設計,我們能夠確保晶振電路的穩(wěn)定運行和時鐘信號的準確性。3.3.2溫度檢測電路(1)DS18B20溫度傳感器簡介在本次設計中溫度檢測電路的溫度傳感器選擇的是DS18B20,如下圖3.7所示。圖3.7DS18B20實物圖DS18B20是DALLAS公司推出的一款數字溫度傳感器,它測量溫度范圍在-55℃到+125℃,精度為±0.5℃。DS18B20因其優(yōu)異的性能廣泛應用于家庭自動化、氣象站、工業(yè)控制等領域,為溫度測量和控制系統(tǒng)提供了高效可靠的解決方案。在引腳方面,DS18B20溫度傳感器一般包含三個引腳:VDD:這是電源引腳,外接供電電源輸入端,為傳感器提供穩(wěn)定的工作電壓。GND:這是地線引腳,需要連接到電源的負極或地上,保證傳感器正常工作的接地引腳。DQ:這是數據引腳,數字信號輸入/輸出端。它需要連接到微控制器的GPIO口上,并且通常需要使用上拉電阻將其拉高。在讀取數據時,微控制器通過DQ引腳發(fā)送指令給DS18B20,然后接收來自傳感器的溫度數據。(2)溫度檢測在本次設計中,溫度檢測電路如下圖3.8所示。圖3.8溫度檢測電路圖該系統(tǒng)利用DS18B20對溫度進行實時采集,并將其送入AT89C52的P1.1接口中,DQ腳作為單總線接口,無需復雜的轉換電路,即可直接與單片機的引腳相連,既簡化了電路結構,又提升了數據傳輸的效率。此外,GND引腳為地線連接,確保了電路的穩(wěn)定運行;而VDD引腳則負責外接供電電源的輸入,與VCC相連,為整個系統(tǒng)提供穩(wěn)定可靠的電源供應。通過這一設計,我們能夠實時獲取溫度數據,并進行高效的數據傳輸,為后續(xù)的數據處理和控制提供了堅實的基礎。3.3.3聲光報警電路本設計的聲光報警電路是由蜂鳴器和LED指示燈共同構成,聲光報警電路圖如下圖3.9所示。圖3.9聲光報警電路圖本設計中LED指示燈各串聯一個小電阻接電再與單片機的P2.2和P2.3端口相連;蜂鳴器的電路,通常只需要一個限流電阻或電流驅動放大器來保護蜂鳴器并提供合適的電流再與單片機的P1.0端口相連。此次設計的報警電路采用一個小功率三極管Q1驅動蜂鳴器,蜂鳴器與單片機的P1.0引腳相連接。如果接口處的溫度傳感器檢測到超出設定溫度區(qū)間內的最大值,則LED紅燈D2常點亮;如果在這一點上,溫度超出設定的溫度范圍內的最大值,則發(fā)光二極體指示燈D1常發(fā)光;如果測得的溫度超出設定的范圍,則會發(fā)出警報聲。3.3.4按鍵電路該設計中的按鈕模塊電路是由3個按鈕組合而成,當按鈕被按壓時,這時就會接地,因此均為低電平。按鍵模塊電路圖如下圖3.10所示。圖3.10按鍵電路圖本文所設計的鍵盤模塊由“設置”“減”和“加”三個鍵組成,它們與單片機的P3.2,P3.3,P3.4串聯連接,構成了一個整體的鍵控電路。按鍵的詳解如下:設置:選擇溫度數值范圍的最大值/最小值,當選最大值時,此時紅色LED指示燈D2常亮,提示此時是設置的最大值;當選最小值時,此時綠色LED指示燈D1常亮,提示此時是設置的最小值。減:當選好了溫度數值范圍的最大值/最小值,就對其最大值/最小值進行減小。加:當選好了溫度數值范圍的最大值/最小值,就對其最大值/最小值進行增加。3.3.5顯示電路(1)7SEG-MPX4-CC數碼管顯示器簡介7SEG-MPX4-CC是電子顯示器件中常用的一種數碼管型號。7SEG-MPX4-CC就是一個包含4個共陰極7段數碼管的模塊。每個數碼管都有7個LED段(用于顯示數字)以及一個可選的小數點。這些LED段通過其陽極進行獨立控制,而陰極則全部連接在一起。4位數碼管實物圖下圖3.11所示。圖3.114位數碼管實物圖(2)顯示電路本設計的顯示電路是由7SEG-MPX4-CC數碼管顯示器和上拉電阻共同構成。顯示屏使用的是7SEG-MPX4-CC數碼管顯示器,通過該模塊可以顯示當前環(huán)境溫度數值和設置溫度范圍的最大值/最小值。端口連接解析如下,數碼管的A-G端口和DP端口與上拉電阻串聯后再分別與單片機的P1.0-P1.7端口連接,控制7根數碼管與小數點的亮滅;數碼管的1-4端口與單片機的P2.4-P2.6端口連接,控制4個獨立的7段數碼管。接上拉電阻在數碼管顯示器中起到了提高驅動能力、穩(wěn)定信號、提高輸出高電平值以及增強抗干擾能力的作用,確保數碼管能夠準確、穩(wěn)定地顯示信息。顯示模塊電路圖如下圖3.12所示。圖3.12顯示模塊電路圖3.3.6繼電器控制電路(1)繼電器簡介本設計采用5v繼電器實物圖如下圖3.13所示。圖3.135v繼電器實物圖繼電器在現代自動控制設備中有多種作用。首先,它發(fā)揮著橋梁作用,巧妙地連接電子電路與電氣電路,使得弱電控制信號能夠順利驅動強電執(zhí)行元件,從而實現了電子電路對電氣電路的有效控制。此外,繼電器還具備電氣隔離功能,有效防止了電子電路與電氣電路之間的相互干擾,為電子電路和工作人員的安全提供了有力保障。除了橋梁作用外,繼電器還具備其他重要作用。它擁有放大功能,其觸點能夠承受比線圈更大的電流,這使得繼電器能夠輕松應對大功率負載的控制需求。更值得一提的是,繼電器還具有邏輯控制功能,通過精準控制多個繼電器的通斷狀態(tài),我們可以實現復雜的邏輯運算,如與、或、非等,進一步提升了自動控制設備的智能化和靈活性。(2)繼電器控制升溫電路繼電器升溫控制電路主要由LED指示燈、三極管、繼電器、電阻和升溫模塊等組件構成,這些組件各自扮演關鍵角色,共同實現電路的控制功能。下圖3.14所示。圖3.14繼電器升溫驅動電路在本設計中,三極管被用作電子開關,通過精準地控制其基極電流,實現繼電器的通斷切換。具體來說,當三極管的基極接收到一個高電平的信號時,三極管就被接通了,這樣,電流就能從它的收集極順暢地流到發(fā)射區(qū)。這樣的電流又經過一個繼電器線圈,使繼電器產生吸力,從而改變接觸狀態(tài)(常開接點是關閉的,常閉接點是打開的),這樣,繼電器就實現了對負載電路中升溫模塊的控制。當溫度傳感器采集到的溫度數值低于設置溫度范圍的最小值時,此時,報警電路中蜂鳴器鳴叫、綠色LED指示燈常亮(如圖3.13中右圖所示),繼電器吸合,然后升溫模塊電路導通并開始工作(如圖3.13中左圖所示)。(3)繼電器控制降溫電路繼電器控制降溫電路主要由LED指示燈、三極管、繼電器、電阻和降溫模塊等組件構成,這些組件各自扮演關鍵角色,共同實現電路的控制功能。如下圖3.15所示。圖3.15繼電器降溫驅動電路當溫度傳感器采集到的溫度數值高于設置溫度范圍的最大值時,此時,報警電路中蜂鳴器鳴叫、紅色LED指示燈常亮(如圖3.14中右圖所示),繼電器吸合,然后降溫模塊導通并開始工作(如圖3.14中左圖所示)。4系統(tǒng)軟件設計4.1系統(tǒng)軟件設計本設計的系統(tǒng)軟件設計框圖下圖4.1所示。圖4.1系統(tǒng)軟件設計框圖4.2功能流程4.2.1主控流程本系統(tǒng)的主控流程圖下圖4.2所示。程序啟動后,首先進行定時器的初始化,確保數碼管動態(tài)掃描功能的正常實現。隨后,程序進入一個持續(xù)運行的循環(huán)狀態(tài)。在這個循環(huán)中,系統(tǒng)按照既定順序執(zhí)行一系列任務。首先,程序實時讀取當前溫度值,以確保數據的時效性和準確性。接著,系統(tǒng)將檢測到的溫度值清晰地顯示在數碼管上,便于用戶直觀地查看當前溫度狀態(tài)。隨后,程序會進行溫度范圍的判斷。如果當前溫度超出預設的上下限范圍,系統(tǒng)將立即啟動聲光報警系統(tǒng),發(fā)出警報聲并閃爍警示燈,以提醒用戶注意。同時,模擬恒溫裝置也會被激活,自動進行溫度調控,以維持溫度在正常范圍內。在每次循環(huán)的末尾,程序會進行短暫的延時操作。在此期間,系統(tǒng)會進行按鍵掃描,檢測是否有用戶的按鍵操作。如果檢測到按鍵操作,程序將立即進入溫度上下限的設置狀態(tài),允許用戶根據實際需求調整溫度范圍。這種設計不僅實現了溫度的實時檢測、顯示和報警功能,還為用戶提供了靈活的溫度控制選項,使其能夠根據自身需求進行精確的溫度調控。圖4.2主控流程圖詳細代碼見附錄。4.2.2溫度檢測流程溫度檢測流程圖如下圖4.3所示。程序首先初始化傳感器,發(fā)送0xcc指令跳過ROM尋找,然后發(fā)送0x44指令啟動溫度轉換,接著再次復位傳感器,并發(fā)送0xcc指令,隨后發(fā)送0xbe指令準備讀取檢測結果,最后讀取傳感器返回的結果,完成溫度檢測流程。通過對該流程的描述,我們可以清晰地了解到溫度檢測程序的工作過程,包括初始化、啟動溫度轉換、讀取檢測結果等關鍵步驟。圖4.3溫度檢測流程圖詳細代碼見附錄。4.2.3按鍵流程流程如下圖4.4所示。開機后,進入鍵盤掃描子程序,以查詢的方法判斷各鍵的狀態(tài)。通過“設置”鍵進行“實時溫度”、“最大溫度”和“最低溫度”三種模式的轉換。在轉換到實際溫度的時候,LED燈全部熄滅;在最高溫狀態(tài)下,紅燈長亮,綠燈熄滅;在設定最低溫度時,綠燈長亮,紅燈則不亮。按鍵“加”執(zhí)行溫度加操作。只有切換到“溫度最大值”和“溫度最小值”該操作有效。按鍵“減”執(zhí)行溫度減操作。只有切換到“溫度最大值”和“溫度最小值”該操作有效。通過簡單的按鍵操作,用戶可以輕松實現精準的溫度設置。同時,結合LED燈的亮滅狀態(tài),為用戶提供了直觀且便捷的反饋。這種設計不僅提高了操作的便捷性,還確保了設置的精確性,為用戶帶來了更好的使用體驗。圖4.4按鍵流程圖詳細代碼見附錄。4.2.4顯示流程顯示流程圖如下圖4.5所示。首先,對數碼管進行初始化操作,確保其處于正常工作狀態(tài)。隨后,現在的溫度數據由一個溫度傳感器讀出,并在數字管的顯示屏上實時地顯示出來,以便用戶直觀查看。接著,系統(tǒng)檢測是否有按鍵被按下,若有按鍵操作,則根據按鍵的具體值進行相應的處理。處理完成后,循環(huán)檢測系統(tǒng)再次將更新后的溫度信息顯示在數碼管上,確保用戶始終能夠獲取到最新的溫度數據。整個流程實現了溫度信息的實時讀取、顯示以及按鍵操作的靈活處理,提升了系統(tǒng)的交互性和用戶體驗。4.5顯示流程圖詳細代碼見附錄。4.2.5聲光報警流程聲光報警流程圖如下圖4.6。系統(tǒng)啟動后,首先進行初始化操作。緊接著,溫度檢測模塊開始實時獲取當前溫度。這一溫度隨后會與預設的溫度范圍進行對比。若實時溫度低于設定的最低值,聲光報警裝置會立即啟動,蜂鳴器發(fā)出警示聲音,同時綠色LED指示燈保持常亮狀態(tài)、紅色LED指示燈不亮。反之,若實時溫度高于設定的最高值,聲光報警裝置同樣會啟動,蜂鳴器發(fā)出聲音,此時紅色LED指示燈會常亮、綠色LED指示燈不亮。只有當溫度回歸至設定的范圍內,聲光報警裝置才會停止工作。這一流程確保了系統(tǒng)對溫度的嚴密監(jiān)控和及時響應。4.6聲光報警流程圖詳細代碼見附錄。4.2.6繼電器控制流程數碼管控制流程圖如下圖4.7所示。系統(tǒng)啟動后,首先進行初始化操作,隨后溫度檢測模塊將獲取當前的實時溫度數據,這一數據將與預設的溫度范圍進行對比分析。若實時溫度低于設定的最低值,聲光報警裝置將立即啟動,發(fā)出警報聲音,并點亮綠色LED燈以示警告,此時繼電器將自動吸合并啟動升溫模塊,以恢復溫度至正常范圍;相反,若實時溫度高于設定的最高值,聲光報警裝置同樣會啟動,發(fā)出警報聲,并點亮紅色LED燈,此時繼電器將控制降溫模塊啟動,直至實時溫度降至設定范圍內。在此過程中,一旦溫度恢復正常,聲光報警裝置以及與之相關的控制負載將停止工作。這樣,系統(tǒng)能夠有效地監(jiān)控并調整溫度,保持恒溫,確保其始終維持在合適的范圍內。4.7數碼管控制流程圖詳細代碼見附錄。5仿真調試(1)本設計系統(tǒng)正常啟動后,隨即進入初始化狀態(tài),實現自主控制功能。在初始化階段,數碼管顯示屏會實時更新當前采集到的溫度為16攝氏度。此時,系統(tǒng)默認的溫度范圍已設定為最大值30攝氏度與最小值15攝氏度。由于實時溫度位于這一預設范圍內,繼電器控制電路和聲光報警電路均處于非工作狀態(tài)。如下圖5.1。圖5.1設定溫度范圍內(2)當系統(tǒng)檢測到的溫度為14.5攝氏度,這一數值低于系統(tǒng)設定的最低溫度界限15攝氏度。隨即,聲光報警裝置迅速啟動,蜂鳴器發(fā)出警報聲,同時綠色LED指示燈持續(xù)亮起,以引起操作人員的注意。與此同時,繼電器迅速吸合,激活升溫模塊,以盡快將溫度提升至正常范圍內。這一系列動作均體現了系統(tǒng)對溫度變化的快速響應和精確控制,確保了整個系統(tǒng)的穩(wěn)定運行。如下圖5.2。圖5.2低于設定溫度值(3)當系統(tǒng)檢測到的溫度為31.5攝氏度,這一數值已超出系統(tǒng)設定的最高溫度界限30攝氏度。于是,聲光報警裝置立刻啟動,蜂鳴器發(fā)出警報聲,同時紅色LED指示燈持續(xù)亮起,以警示操作人員。此時,繼電器迅速吸合,啟動降溫模塊,以降低溫度至安全范圍內。這一系列反應不僅體現了系統(tǒng)對異常溫度的敏銳感知,更展示了其高效處理異常情況的能力,從而確保了整個系統(tǒng)的安全穩(wěn)定運行。如下圖5.3。圖5.3高于設定溫度值6總結經過數月的辛勤耕耘,我圓滿完成了整個系統(tǒng)的設計流程,涵蓋了設計構思、編程實現以及最終的系統(tǒng)調試等環(huán)節(jié)。盡管設計主題并非新穎,但它充分展示了系統(tǒng)開發(fā)設計的完整過程,對我們而言具有極高的實踐價值。本設計采用了AT89C51單片機、DS18B20溫度傳感器、數碼管、繼電器及負載的組合方案,確保了機械設計的合理性以及零件價格的適中,便于大批量生產與采購。在系統(tǒng)構建過程中,我充分運用了AT89C51單片機微計算機及其外圍接口的強大功能,通過巧妙運用其計時器和計數器功能,實現了硬件與軟件的有機融合。此次設計不僅強調了理論與實踐相結合的重要性,更展現了我們大學生的實際操作能力。在資料搜集與文獻閱讀的過程中,我培養(yǎng)了自學與實踐能力,學會了將所學知識應用于實際場景中,掌握了處理理論與實踐結合的關鍵技巧,積極面對挑戰(zhàn),不斷學習與進步。在本篇設計中,我對C語言編程,單片機原理和應用,以及模擬和數字電路等多個領域都有一定的了解,再通過上網查閱資料,我成功將這些知識串聯起來,完成了這項富有挑戰(zhàn)性的設計任務。在此過程中,我深刻體會到了“紙上學來終覺淺,絕知此事須躬行”的道理。理論知識的學習固然重要,但真正的理解和掌握還需要通過實踐來驗證。這次論文的完成,不僅是對我專業(yè)知識的一次全面檢驗,更是對我實踐能力的一次提升。我將珍惜這次寶貴的經歷,繼續(xù)努力學習和實踐,為未來的學術研究和職業(yè)發(fā)展奠定堅實的基礎。。未來,我將繼續(xù)努力,不斷提升自己的工作與學習水平,力求在設計中追求更高的完美度。參考文獻王曉華.高精度溫箱溫度控制系統(tǒng)設計[D].西安工業(yè)大學,2013.陳菁,張小溪.基于單片機的小型恒溫箱設計[J].現代電子技術,2014,37(22):101-104.黃耀輝,王藝潔,楊立桃,等.生物育種新技術作物的安全管理[J].生物技術進展,2022,12(02):198-204.DOI:10.19586/j.2095-2341.2021.0147.黃師菊,陳華麗,秦秀群,等.廣州地區(qū)使用嬰兒恒溫箱不加水的可行性研究[J].南方護理學報,2004,(04):26-27.DOI:10.16460/j.issn1008-9969.2004.04.015.吳健,侯文,鄭賓.基于STC89C52單片機的溫度控制系統(tǒng)[J].電腦知識與技術,2011,7(04):902-903+919.文柳.智能溫控系統(tǒng)設計[J].電子測試,2022,36(02):5-7.DOI:10.16520/ki.1000-8519.2022.02.011.朱名強.過程控制系統(tǒng)中溫度控制系統(tǒng)設計分析[J].輕工科技,2020,36(02):73-74.ShadM,HongSeokM,AmmarMD,etal.GeothermalPlusSunlight-BasedIncubatorforSustainablePigProduction[J].Sustainability,2022,14(22):15243-15243.呂穎利,張新軍.基于單片機溫度控制系統(tǒng)的研究[J].南方農機,2022,53(07):144-147.杜沐青.基于預估模糊PID的恒溫箱溫度控制系統(tǒng)優(yōu)化設計[D].中南林業(yè)科技大學,2022.DOI:10.27662/ki.gznlc.2022.000136.王一幟,劉晏麟,王巖,等.便攜智能恒溫箱的設計[J].森林工程,2017,33(03):58-63.DOI:10.16270/ki.slgc.2017.03.012.黃建輝.實驗室溫度監(jiān)測系統(tǒng)的設計[J].海峽科學,2017,(02):31-32.馬東軍,呂惠民.基于ZigBee與溫度傳感器的室內采暖計費系統(tǒng)設計[J].微型機與應用,2014,33(13):55-57+64.DOI:10.19358/j.issn.1674-7720.2014.13.018.夏長亮,方紅偉.永磁無刷直流電機及其控制[J].電工技術學報,2012,27(03):25-34.劉自范.小型地面移動遙控機器人的設計與實現[D].鄭州大學,2009.熊俊.硅鉬棒電爐溫度—電流雙閉環(huán)智能系統(tǒng)的研究與設計[D].中南大學,2007.于志贛,劉國平,張旭斌.液顯LCD1602模塊的應用[J].機電技術,2009,32(03):21-23.李扣生.基于虛擬儀器的電路板圖像識別系統(tǒng)研究與實現[D].上海交通大學,2010.吳巖.單片機在電子技術中的應用和開發(fā)技術研究[J].黑龍江科技信息,2011,(09):10.許文先.紅外電路故障診斷系統(tǒng)中適配器的研制和圖像匹配的研究[D].電子科技大學,2006.附錄/*基于51單片機的恒溫箱溫控系統(tǒng)設計*/#include<reg52.h> //包含頭文件#include<intrins.h>#defineucharunsignedchar //以后unsignedchar就可以用uchar代替#defineuintunsignedint //以后unsignedint就可以用uint代替sbitDQ=P1^1; //DS18B20傳感器的引腳定義sbitw1=P2^4; //數碼管第1位的控制引腳sbitw2=P2^5; //數碼管第2位的控制引腳sbitw3=P2^6; //數碼管第3位的控制引腳sbitw4=P2^7; //數碼管第4位的控制引腳sbitBuzzer=P1^0; //蜂鳴器引腳sbitJdqLow=P2^0; //溫度過低繼電器控制(升溫)sbitJdqHig=P2^1; //溫度過高繼電器控制(降溫)sbitLedLow=P2^2; //溫度低指示燈sbitLedHig=P2^3; //溫度高指示燈sbitKeySet=P3^2; //設置按鍵sbitKeyDown=P3^3; //減按鍵sbitKeyUp=P3^4; //加按鍵/*數碼管的顯示值:0123456789-*/ucharcodeArray1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};/*0.1.2.3.4.5.6.7.8.9.*/ucharcodeArray2[]={0xBf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};ucharBuff[4]; //顯示緩沖區(qū)ucharShowID=1; //當前顯示的是哪一個數碼管intAlarmLow=150; //默認報警的溫度下限值是15度intAlarmHig=300; //默認報警的溫度上限值是30度/*********************************************************///毫秒級的延時函數,time是要延時的毫秒數/*********************************************************/voidDelayMs(uinttime){ uinti,j; for(i=0;i<time;i++) for(j=0;j<112;j++);}/*********************************************************///延時15微秒/*********************************************************/voidDelay15us(void){ _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();}/*********************************************************///復位DS18B20(初始化)/*********************************************************/voidDS18B20_ReSet(void){ uchari; DQ=0; i=240; while(--i); DQ=1; i=30; while(--i); while(~DQ); i=4; while(--i);}/*********************************************************///向DS18B20寫入一個字節(jié)/*********************************************************/voidDS18B20_WriteByte(uchardat){ ucharj; ucharbtmp; for(j=0;j<8;j++) { btmp=0x01; btmp=btmp<<j; btmp=btmp&dat; if(btmp>0) //寫1 { DQ=0; Delay15us(); DQ=1; Delay15us(); Delay15us(); Delay15us(); Delay15us(); } else //寫0 { DQ=0; Delay15us(); Delay15us(); Delay15us(); Delay15us(); DQ=1; Delay15us(); } }}/*********************************************************///讀取溫度值/*********************************************************/intDS18B20_ReadTemp(void){ ucharj; intb,temp=0; DS18B20_ReSet(); //產生復位脈 DS18B20_WriteByte(0xcc); //忽略ROM指令 DS18B20_WriteByte(0x44); //啟動溫度轉換指令 DS18B20_ReSet(); //產生復位脈 DS18B20_WriteByte(0xcc); //忽略ROM指令 DS18B20_WriteByte(0xbe); //讀取溫度指令 for(j=0;j<16;j++) //讀取溫度數量 { DQ=0; _nop_(); _nop_(); DQ=1; Delay15us(); b=DQ; Delay15us(); Delay15us(); Delay15us(); b=b<<j; temp=temp|b; } temp=temp*0.0625*10; //合成溫度值并放大10倍 return(temp); //返回檢測到的溫度值}/*********************************************************///定時器初始化/*********************************************************/voidTimerInit(){ TMOD=0x01; //使用定時器0,工作方式1 TH0=248; //給定時器0的TH0裝初值 TL0=48; //給定時器0的TL0裝初值 ET0=1; //定時器0中斷使能 EA=1; //打開總中斷 TR0 =1; //啟動定時器0}/*********************************************************///顯示溫度值/*********************************************************/voidShowTemp(intdat){ if(dat<0) //負號 { Buff[0]=Array1[10]; dat=0-dat; } else //百位 { Buff[0]=Array1[dat/1000]; } Buff[1]=Array1[dat%1000/100]; //十位 Buff[2]=Array2[dat%100/10]; //個位 Buff[3]=Array1[dat%10]; //小數后一位}/*********************************************************///報警判斷/*********************************************************/voidAlarmJudge(intdat){ if(dat<AlarmLow) //判斷溫度是否過低 { LedLow=0; //溫度低指示燈亮 LedHig=1; //溫度高指示燈滅 JdqLow=0; //溫度過低的繼電器閉合(開始加熱) JdqHig=1; //溫度過高的繼電器斷開(停止降溫) Buzzer=0; //蜂鳴器報警 } elseif(dat>AlarmHig) //判斷溫度是否過高 { LedLow=1; //溫度低指示燈滅 LedHig=0; //溫度高指示燈亮 JdqLow=1; //溫度過低的繼電器斷開(停止加熱) JdqHig=0; //溫度過高的繼電器閉合(開始降溫) Buzzer=0; //蜂鳴器報警 } else //溫度正常 { LedLow=1; //溫度低指示燈滅 LedHig=1; //溫度高指示燈滅 JdqLow=1; //溫度過低的繼電器斷開(停止加熱) JdqHig=1; //溫度過高的繼電器斷開(停止降溫) Buzzer=1; //蜂鳴器停止報警 }}/*********************************************************///按鍵掃描/*********************************************************/voidKeyScanf(){ if(KeySet==0) //如果設置按鍵被按下 { /*設置溫度下限*/ LedLow=0; //點亮綠色燈(代表當前正在設置溫度下限) LedHig=1; //熄滅紅色燈 Buzzer=1; //關閉蜂鳴器 ShowTemp(AlarmLow); //顯示溫度下限值 DelayMs(10); //延時去抖 while(!KeySet); //等待按鍵釋放 DelayMs(10); //延時去抖 while(1) { if(KeyDown==0) //如果“減”按鍵被按下 { if(AlarmLow>-550) //判斷當前溫度下限是否大于-55度 { AlarmLow--; //溫度下限值減去0.1度 ShowTemp(AlarmLow); //刷新顯示改變后的溫度下限值 DelayMs(200); //延時 } } if(KeyUp==0) //如果“加”按鍵被按下 { if(AlarmLow<1250) //判斷當前溫度下限是否小于125度 { AlarmLow++; //溫度下限值加上0.1度 ShowTemp(AlarmLow); //刷新顯示改變后的溫度下限值 DelayMs(200); //延時 } } if(KeySet==0) //如果“設置”按鍵被按下 { break; /

溫馨提示

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

評論

0/150

提交評論