基于單片機(jī)的紅外遙控?zé)崴髟O(shè)計(jì)_第1頁
基于單片機(jī)的紅外遙控?zé)崴髟O(shè)計(jì)_第2頁
基于單片機(jī)的紅外遙控?zé)崴髟O(shè)計(jì)_第3頁
基于單片機(jī)的紅外遙控?zé)崴髟O(shè)計(jì)_第4頁
基于單片機(jī)的紅外遙控?zé)崴髟O(shè)計(jì)_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

摘要伴隨著科學(xué)技術(shù)的發(fā)展和經(jīng)濟(jì)的進(jìn)步,人類社會(huì)的生產(chǎn)力得到了顯著的提升,而且信息化和自動(dòng)化的水平也在不斷地提高。這種趨勢的推動(dòng),使得各行各業(yè)的工作效率和質(zhì)量都得到了改善,同時(shí)也為人們的生活帶來了更多便利,人們開始追求家用電器的智能化?,F(xiàn)今,越來越多的微型計(jì)算機(jī)被應(yīng)用于我們的工作和生活環(huán)境中,它們被稱為單片機(jī)并為我們提供各種服務(wù)。這些單片機(jī)具備高性能、低功耗和小體積等特點(diǎn),能夠?qū)崿F(xiàn)復(fù)雜的控制和處理任務(wù),廣泛應(yīng)用于各種電子設(shè)備中,如智能家居、智能穿戴、工業(yè)控制、醫(yī)療設(shè)備等領(lǐng)域。單片機(jī)的應(yīng)用不僅提高了設(shè)備的智能化和自動(dòng)化程度,也為我們的生產(chǎn)和生活帶來了更多的便利和效益。本文介紹了一種基于單片機(jī)的紅外遙控?zé)崴鞯淖詣?dòng)控制系統(tǒng),系統(tǒng)采用了STC89C51單片機(jī)作為主控模塊,通過防水型DS18B20溫度傳感器采集實(shí)時(shí)水溫,繼電器控制加熱棒工作,設(shè)計(jì)了幾個(gè)獨(dú)立按鍵和紅外遙控模塊設(shè)置水溫的上下限和定時(shí)加熱,當(dāng)定時(shí)時(shí)間未結(jié)束加熱棒始終不工作,只有定時(shí)結(jié)束后加熱棒才會(huì)根據(jù)實(shí)時(shí)溫度和設(shè)置的溫度上下限控制加熱。同時(shí)設(shè)置了水位傳感器檢測實(shí)時(shí)水位自動(dòng)控制上水,方便使用,且具有良好的市場價(jià)格。關(guān)鍵詞:熱水器STC89C51單片機(jī)DS18B20溫度傳感器紅外遙控水位傳感器]。具體流程圖如圖4-18所示。圖4-18主程序流程圖sbit是單片機(jī)中位定義關(guān)鍵字,用于定義一個(gè)地址和名稱,方便程序的編寫。本次設(shè)計(jì)中定義了,設(shè)置鍵、加1鍵、減1鍵、退出鍵、蜂鳴器、繼電器、高低水位傳感器和水泵,以設(shè)置鍵為例,sbitkey_set=p1^0,將單片機(jī)的P1.0口定義位設(shè)置。uchar是unsignedchar的縮寫,代表一個(gè)無符號(hào)的字符型變量,可以存儲(chǔ)0到255之間的數(shù)字,通常用于存儲(chǔ)ASCII碼和二進(jìn)制數(shù)據(jù)。ucharTemperature_up和ucharTemperature_down定義為儲(chǔ)存溫度上下限,這兩個(gè)變量被聲明為全局變量,所以可以在程序的任何地方被調(diào)用和修改。如果需要在某個(gè)函數(shù)中使用這兩個(gè)變量,可以在下面的程序中直接使用它們的變量名。ucharset_f=0,定義了一個(gè)設(shè)置功能,初始值為0,表示不在設(shè)置功能上,為1時(shí)設(shè)置定時(shí)時(shí)間,為2時(shí)設(shè)置溫度上限,為3時(shí)設(shè)置溫度下限。unitnum定義了一個(gè)計(jì)數(shù)變量。ucharH定義為水位高度,為0時(shí)代表水位高,為1時(shí)代表水位低,為2時(shí)代表水位高。引腳定義和變量定義程序如圖4-19所示。圖4-19引腳、變量定義程序圖上電之后,各個(gè)模塊都要進(jìn)行初始化。LCD1602會(huì)顯示一段時(shí)間的init…,表示正在初始化。for(num=0;num<250;num++),這是一個(gè)循環(huán)結(jié)構(gòu)的語句,因?yàn)镈S18B20正常工作需要一定的時(shí)間,它使用了for循環(huán)來執(zhí)行一段代碼塊250次。其中,num變量被初始化為0,然后在每次循環(huán)中,都會(huì)檢查num是否小于250。如果是,則執(zhí)行循環(huán)體內(nèi)的代碼塊,并將num增加1。當(dāng)num大于等于250時(shí),循環(huán)終止。換句話說,這段代碼會(huì)重復(fù)執(zhí)行循環(huán)體內(nèi)的代碼塊250次,每次循環(huán)num的值都會(huì)自動(dòng)增加1,直到num達(dá)到250為止,初始化程序如圖4-20所示。圖4-20初始化程序圖程序進(jìn)入一個(gè)while(1)的死循環(huán),循環(huán)掃描按鍵,如果處于正常模式下,間隔一段時(shí)間就采集一次溫度數(shù)據(jù)并將其轉(zhuǎn)換為實(shí)際溫度,然后將溫度值進(jìn)行顯示;如果處于設(shè)置模式下,則直接顯示設(shè)置界面,具體循環(huán)程序如圖4-21所示。圖4-21while(1)死循環(huán)程序圖4.3系統(tǒng)軟件的測試在用Keiluvision4編寫好的程序后,生成hex文件,再用CH340下載器下載程序到單片機(jī)里面,在此之前,需要焊接好完整的電路,并且檢測好焊點(diǎn)情況,具體操作在第5章。程序下載之后,根據(jù)硬件系統(tǒng)運(yùn)行情況,發(fā)現(xiàn)LCD1602不能清屏,又查詢了LCD1602使用手冊,清屏指令代碼為LCD_write_command(0x01),發(fā)現(xiàn)能正常顯示內(nèi)容表示指令沒有錯(cuò)誤,但是不能正確清屏。仔細(xì)查看使用手冊并且上網(wǎng)查詢此類情況的解決辦法,發(fā)現(xiàn)LCD1602清屏指令需要1.64ms左右的延時(shí),所以在清屏指令下加上40ms的延時(shí),具體代碼如圖4-22所示。反復(fù)調(diào)整修改程序,最終得到一個(gè)完整的程序。。圖4-22正確清屏程序圖4.4本章小結(jié)本章主要講解了子程序中部分程序的實(shí)現(xiàn)的功能,如LED顯示字符的語句,轉(zhuǎn)換為二進(jìn)制的語句,DS18B20讀取溫度和溫度轉(zhuǎn)換的語句,重置紅外遙控的語句,獨(dú)立按鍵和紅外遙控按下的語句。寫主程序之前,需要仔細(xì)閱讀各個(gè)模塊的頭文件,理解頭文件當(dāng)中語句的含義,這樣才能寫好主程序。當(dāng)理解頭文件的含義之后,定義好需要的管腳、函數(shù)和變量,寫好各部分子程序,主程序的代碼很多都是通過調(diào)用子程序完成的,這樣撰寫的主程序簡潔、可讀性高,還便于后期修改。第5章系統(tǒng)仿真和實(shí)物測試5.1系統(tǒng)仿真首先要在Proteus8Professional中繪制好完整電路圖,設(shè)置好參數(shù)并且導(dǎo)入主程序hex文件,系統(tǒng)完整電路圖如圖5-1所示。圖5-1系統(tǒng)完整電路圖點(diǎn)擊左下角的仿真,LCD1602會(huì)有一段時(shí)間的初始化,接著上面會(huì)顯示當(dāng)前在傳感器設(shè)置的溫度值,溫度上限設(shè)置為38℃,下限設(shè)置為16℃,當(dāng)前為25.1℃,處于上下限中間故蜂鳴器不報(bào)警,繼電器未吸合。水位顯示High即高水位傳感器檢測到有水表示水箱水位已滿,水泵不需要工作,如圖5-2所示。圖5-2仿真開始時(shí)電路圖按下DS18B20溫度傳感器上左按鈕,將實(shí)時(shí)溫度模擬到10℃,此時(shí)低于溫度下限值,且沒有設(shè)置定時(shí)模式,繼電器自動(dòng)吸合,圖中顯示為觸板反轉(zhuǎn),藍(lán)色發(fā)光二極管燈亮,表示開始加熱,如圖5-3所示。圖5-3繼電器吸合開始加熱電路圖按下DS18B20溫度傳感器上右按鈕,將實(shí)時(shí)溫度模擬到40℃,此時(shí)高于溫度上限值,繼電器斷開,藍(lán)色發(fā)光二極管熄滅,加熱停止,蜂鳴器鳴叫,如圖5-4所示。圖5-4超過溫度上限報(bào)警電路圖把溫度傳感器檢測的溫度繼續(xù)設(shè)置為25.1℃,一個(gè)處于上下限的溫度值即可,讓蜂鳴器不鳴叫,把高水位傳感器調(diào)到?jīng)]水的位置,低水位傳感器調(diào)制有水的位置,LED顯示Middle字樣,表示水箱水位處于中等情況,水泵未工作,如圖5-5所示。圖5-5中等水位電路圖再把低水位傳感器調(diào)到?jīng)]水位置,此時(shí)LED顯示Low,表示水位到達(dá)下限,水泵開始工作,實(shí)現(xiàn)自動(dòng)上水功能,同時(shí)蜂鳴器開始鳴叫,如圖5-6所示。圖5-6自動(dòng)上水圖將高低水位傳感器都調(diào)到有水位置,LED立即顯示High即水箱已滿狀態(tài),讓水泵和蜂鳴器停止工作。按動(dòng)設(shè)置按鍵一次,T:xx開始閃爍,表示此時(shí)設(shè)置定時(shí)時(shí)間;設(shè)置鍵按兩次,H:xxx閃爍,表示此時(shí)設(shè)置溫度上限值;設(shè)置鍵按三次,L:xxx閃爍,表示此時(shí)設(shè)置溫度下限值;設(shè)置鍵按四次退出設(shè)置功能。加值鍵和減值鍵分別對(duì)設(shè)置的時(shí)間值或溫度值加1和減1,推出鍵表示設(shè)置完成,推出設(shè)置功能。設(shè)將溫度上限值調(diào)至40℃,下限值調(diào)至15℃,即顯示H:040L:015,如圖5-7所示。圖5-7重設(shè)溫度上下限電路圖把溫度傳感器的模擬溫度設(shè)置為10℃,定時(shí)時(shí)間設(shè)為為3分鐘,即LED顯示T:03。設(shè)置完成后,一開始繼電器沒有立即吸合,指示燈也不亮,如圖5-8所示。圖5-83分鐘倒計(jì)時(shí)電路圖當(dāng)三分鐘倒計(jì)時(shí)結(jié)束,溫度低于下限值且低水位傳感器檢測到有水,繼電器立即吸合,指示燈亮,開始加熱,直到加熱到上限值停止,如圖5-9所示。圖5-9倒計(jì)時(shí)結(jié)束繼電器吸合電路圖5.2實(shí)物測試首先,焊接好硬件電路,在通電前檢查電路是否出現(xiàn)漏焊,虛焊,焊錫過多短路、元器件的正負(fù)方向焊錯(cuò)的問題。對(duì)于漏焊和元件的正負(fù)引腳方向的問題,需要將實(shí)際電路與PCB圖仔細(xì)對(duì)照,依次檢查元器件是否在硬件電路中出現(xiàn)和引腳方向是否正確,如果發(fā)生遺漏和錯(cuò)焊,及時(shí)補(bǔ)焊和調(diào)整方向。對(duì)于虛焊和斷路的問題,用萬用表的兩根表筆檢測焊接線路和元件的兩端,把萬用表調(diào)至二極管檔,如果發(fā)出鳴叫,則電路導(dǎo)通;如果不鳴叫,則電路斷開。具體檢測方法如圖5-10所示,圖5-10中看出二極管檔報(bào)警指示燈亮,表示檢測的那段電路是導(dǎo)通的情況。圖5-10虛焊檢測方法對(duì)于焊錫過多短路的問題,根據(jù)選用電阻的阻值,將萬用表調(diào)到合適的電阻檔,兩個(gè)表筆檢測兩個(gè)焊點(diǎn),如果電阻值接近0,則發(fā)生短路;如果電阻值較大,則沒有發(fā)生短路。具體檢測方法如圖5-11所示,圖5-11中看出阻值為0.975KΩ,所以該兩個(gè)焊點(diǎn)沒有發(fā)生短路情況。圖5-11短路檢測方法正確焊接和檢查好硬件電路后,將程序下載進(jìn)單片機(jī)后,然后就可以檢驗(yàn)是否能實(shí)現(xiàn)預(yù)期的功能。實(shí)際電路采用三節(jié)干電池供電,接通電源后,高低水位傳感器指示燈亮,表示水位傳感器已接通電源,LED顯示屏也正常工作,調(diào)節(jié)顯示屏上方的可變電阻使得顯示屏上的字符能夠看得清楚。此時(shí),顯示屏上實(shí)時(shí)水溫為22.68℃,溫度上限為40℃,下限為16℃,水位顯示為High,表示高水位傳感器檢測到水,水箱已滿。水泵不工作,蜂鳴器也不報(bào)警。具體顯示如圖5-12所示。圖5-12高水位圖減少水箱中的水直至低于高水位傳感器高于低水位傳感器,低水位傳感器檢測到有水,高水位傳感器檢測到?jīng)]水。此時(shí),顯示屏顯示水位為Middle。具體顯示情況如圖5-13所示。圖5-13中水位圖再次減少水箱里的水,使水位低于低水位傳感器下方,低水位傳感器檢測到?jīng)]水,顯示屏顯示水位為Low,水泵立即工作,實(shí)現(xiàn)自動(dòng)上水,同時(shí)蜂鳴器報(bào)警,直到高水位傳感器檢測到有水,水泵停止工作,上水結(jié)束。具體情況如圖5-14所示。圖5-14低水位圖硬件電路中,四個(gè)獨(dú)立按鍵,從靠近電源開關(guān)往左依次為:退出鍵、減1鍵、加1鍵、設(shè)置鍵;而在紅外遙控電路中,退出、加1、減1、設(shè)置鍵依次對(duì)應(yīng)于“EQ”、“+”、“-”、“CH”。具體如圖5-15所示。圖5-15獨(dú)立按鍵和紅外遙控圖使用獨(dú)立按鍵將溫度上限改為38℃,使用紅外遙控將溫度下限改為25℃。此時(shí),實(shí)際水溫為22℃左右,低于溫度下限值,繼電器自動(dòng)吸合,黃燈亮,模擬加熱設(shè)備工作。具體情況如圖5-16所示。圖5-16繼電器吸合圖將定時(shí)器調(diào)到1分鐘,此時(shí)繼電器未立即吸合,黃燈未亮,等到1分鐘倒計(jì)時(shí)結(jié)束,繼電器才吸合,才開始加熱。具體如圖5-17所示。圖5-17定時(shí)加熱圖5.3本章小結(jié)本章主要描述了用Proteus8Professional軟件對(duì)電路圖的繪制并且模擬仿真,能完成預(yù)期功能,但是Proteus8Professional不能對(duì)紅外遙控部分完成仿真,所以需要對(duì)實(shí)際硬件電路再次仿真測試。在實(shí)際硬件電路測試中,先對(duì)電路的焊接進(jìn)行了檢測,尤其對(duì)漏焊、虛焊和短路狀況采用了不同方法的檢測,再對(duì)檢測出的問題進(jìn)行具體解決。接著,根據(jù)需要不同高低的水位,不同上下限的溫度值,定時(shí)時(shí)間進(jìn)行實(shí)際的調(diào)整,來檢測功能是否能正常實(shí)現(xiàn),如水泵自動(dòng)上水、繼電器吸合、LCD正確顯示信息、DS18B20正確采集溫度和紅外遙控控制等。最后,發(fā)現(xiàn)上述功能都能實(shí)現(xiàn),電路檢測完成??偨Y(jié)與展望本文針對(duì)過去傳統(tǒng)家用燃?xì)鉄崴鲿?huì)產(chǎn)生爆炸、漏氣等危害,通過分析紅外遙控?zé)崴鞯淖詣?dòng)控制系統(tǒng),針對(duì)人工按鍵會(huì)發(fā)生觸電、太陽能熱水器溫度控制難度較大和不能隨時(shí)加熱、燃?xì)鉄崴髟斐少Y源浪費(fèi)和環(huán)境污染以及不能自動(dòng)檢測水位的缺陷,研究調(diào)查了用戶的需求,設(shè)計(jì)出一種基于單片機(jī)的家用紅外遙控?zé)崴髯詣?dòng)控制系統(tǒng),本文的研究總結(jié)如下:通過調(diào)查分析傳統(tǒng)熱水器的不足和用戶的具體需求,得出在傳統(tǒng)熱水器上功能的升級(jí)和性能改良,在遠(yuǎn)程紅外遙控控制和溫度和水位的檢測基礎(chǔ)上,設(shè)計(jì)出系統(tǒng)整體方案。對(duì)于硬件的對(duì)比選型,本文針對(duì)防水性、操做簡單以及經(jīng)濟(jì)效應(yīng)、可靠性做出了權(quán)衡利弊的選擇,硬件的維修也較為方便,減少耽誤整體正常運(yùn)行的可能。對(duì)于程序設(shè)計(jì)部分,采用了簡單的編程軟件,先寫各個(gè)模塊的功能程序,再在主程序中調(diào)用,便于以后的修改,可靠性和安全性高,效率顯著提升。本系統(tǒng)的設(shè)計(jì),減少了安全隱患和資源的浪費(fèi),成本也在合理的控制,滿足人們的

溫馨提示

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

評(píng)論

0/150

提交評(píng)論