版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PAGE1分類號:編號:畢業(yè)論文(設(shè)計)太陽能熱水器控制器設(shè)計Thedesignofcontrollerforsolarwaterheater申請學(xué)位:工學(xué)學(xué)士院系:光電信息科學(xué)技術(shù)學(xué)院專業(yè):姓名:學(xué)號:指導(dǎo)老師:太陽能熱水器控制器設(shè)計姓名:導(dǎo)師:年05月日煙臺大學(xué)
煙臺大學(xué)畢業(yè)論文(設(shè)計)任務(wù)書院(系):光電信息科學(xué)技術(shù)學(xué)院姓名學(xué)號畢業(yè)屆別專業(yè)畢業(yè)論文(設(shè)計)題目太陽能熱水器控制器設(shè)計指導(dǎo)教師學(xué)歷博士職稱所學(xué)專業(yè)通信與信息系統(tǒng)主要內(nèi)容:本文論述了基于C51單片機的太陽能熱水器控制器的實現(xiàn)。用C51單片機設(shè)計一種太陽能熱水器控制器,實現(xiàn)水溫、水位及時間的實時顯示以及水溫、水位的自動控制等功能,另外還需要實現(xiàn)時間和水溫設(shè)定的功能?;疽?著重培養(yǎng)學(xué)生綜合利用所學(xué)知識解決實際問題的能力以及查閱書籍資料、調(diào)查收集各種有用信息的能力。要求能夠比較熟練掌握C51單片機、DS18B20溫度測量芯片以及其他測量和顯示元件的使用。另外,有利于培養(yǎng)學(xué)生的英文閱讀、計算機操作和動手能力,撰寫畢業(yè)設(shè)計論文的能力。主要參考文獻:余錫存,曹國華.單片機原理及接口技術(shù)(第二版)[M].西安:西安電子科技大學(xué)出版社,2007趙建領(lǐng),薛園園等.51單片機開發(fā)與應(yīng)用技術(shù)詳解[M]北京:電子工業(yè)出版社,2009.進度安排:第一階段:1~3周向?qū)熣埥檀_定課題并查詢資料。第二階段:4~9周在導(dǎo)師的指導(dǎo)下確定設(shè)計方案和實現(xiàn)方法。第三階段:10~13周根據(jù)方案完成軟件仿真和實物焊接,并撰寫畢業(yè)論文。第四階段:14周定稿,打印論文并參加答辯。指導(dǎo)教師(簽字):年月日院(系)意見:教學(xué)院長(主任)(簽字):年月日備注:
[摘要]該太陽能熱水器控制器是基于C51單片機設(shè)計和實施的,它以AT89C51單片機作為檢測和控制中心,由主控芯片模塊、DS18B20溫度檢測及顯示模塊、水位檢測及顯示模塊、時鐘模塊、報警模塊和電磁閥控制模塊、輔助加熱模塊等模塊組成。它通過DS18B20溫度檢測及顯示模塊實時檢測和顯示水溫,通過水位檢測及顯示模塊實時檢測和顯示水位,通過時鐘模塊實時顯示時鐘并在設(shè)定的時間給主控芯片特定的信號,通過電磁閥控制模塊實現(xiàn)熱水器的自動及手動上水,通過輔助加熱模塊實現(xiàn)太陽能熱水器自動及手動加熱,當(dāng)水位過低且水溫過高時通過報警模塊報警,而主控芯片則負責(zé)協(xié)調(diào)其他各模塊的工作。[關(guān)鍵詞]太陽能熱水器控制器;AT89C51單片機;DS18B20
[Abstract]ThedesigningofthissolarwaterheatercontrollerisbasedonC51single-chipmicrocomputer,TheAT89C51MCUisusedasit’sdetectionandcontrolcenter,Itconsistsofamaincontrolchipmodule,DS18B20temperaturedetectionanddisplaymodule,thewaterleveldetectionanddisplaymodule,clockmodule,alarmmoduleandtheelectromagneticvalvecontrolmodule,auxiliaryheatingmoduleandetc.ItisthroughtheDS18B20temperaturedetectionanddisplaymoduleDetectanddisplaythewatertemperatureintime.ItisthroughthewaterleveldetectionanddisplaymoduleDetectanddisplaythewaterlevelintime.Itisthroughtheclockmoduledisplaytimeandatthegiventime,itwillgivethemaincontrolchipmoduleaspecificsignal.Itisthroughtheelectromagneticvalvecontrolmoduletorealizetheautomaticandmanualwaterheater.Itisthroughtheauxiliaryheatingmoduletoheatwaterautomaticallyandmanually.whenthewaterlevelistoolowandthetemperatureistoohighthealarmmodulewillgiveanalarm,theresponsibilityofthemaincontrolchipistoCoordinatetheworkofothermodules.[Keywords]TheSolarwaterheatercontroller;AT89C51MCU;DS18B20PAGEPAGE1目錄1緒論 11.1太陽能熱水器應(yīng)用的意義 11.2我國太陽能發(fā)展現(xiàn)狀 389125449\h12系統(tǒng)設(shè)計及仿真軟件 22.1系統(tǒng)的總體結(jié)構(gòu)設(shè)計 22.2設(shè)計功能要求 2HYPERLINK\l"_Toc389125453"2.3設(shè)計思路 22.4仿真軟件(proteus)簡介 33AT89C51簡介 43.1主要特性 43.2中斷向量 43.3管腳說明 43.4內(nèi)部結(jié)構(gòu) 25459\h64控制器各模塊電路設(shè)計 74.1主控芯片模塊 74.1.1時鐘電路 7HYPERLINK\l"_Toc389125463"4.1.2復(fù)位電路 84.1.3單片機管腳分配 94.2DS18B20溫度檢測及顯示模塊 94.2.1DS18B20芯片簡介 104.2.274LS245簡介 124.2.3LED數(shù)碼管顯示 134.3水位測量及顯示模塊 144.4報警模塊 154.5輔助加熱模塊 164.5.1繼電器工作原理 PAGEREF_Toc389125472\h164.5.2輔助加熱模塊工作原理 174.6電磁閥控制模塊 174.6.1電磁閥工作原理 184.6.2電磁閥控制模塊工作原理 184.7時鐘模塊 184.7.1電子表發(fā)聲原理及控制器定時工作原理 195控制器軟件程序設(shè)計 205.1軟件設(shè)計分析 205.2主程序模塊 205.3子程序模塊 215.3.1DS18B20溫度檢測子程序設(shè)計 215.3.2DS18B20溫度轉(zhuǎn)化及顯示子程序 225.3.3加熱子程序設(shè)計 235.3.4上水子程序設(shè)計 245.4中斷子程序設(shè)計 255.4.1外部中斷0(設(shè)定溫度+)子程序設(shè)計 255.4.2外部中斷1(設(shè)定溫度-)子程序設(shè)計 266調(diào)試與總結(jié) 276.1調(diào)試方法 PAGEREF_Toc389125491\h276.2遇到的問題及解決辦法 276.3總結(jié) 28致謝 29HYPERLINK\l"_Toc389125495"參考文獻 30附錄 31煙臺大學(xué)畢業(yè)論文(設(shè)計)1緒論1.1太陽能熱水器應(yīng)用的意義邁入21世紀以來,隨著經(jīng)濟的急速發(fā)展,對自然資源的需求缺口越來越大,人口基數(shù)過大使得將在很長一段時間保持人口數(shù)量的增長,而經(jīng)濟的高發(fā)展速度也將持續(xù)對資源的供應(yīng)提出考驗。顯而易見的,資源儲量并不是無限的,若要保證經(jīng)濟的可持續(xù)發(fā)展,僅僅靠節(jié)約能源或是限制開采數(shù)量,并不是一個長久的解決辦法,只有開發(fā)新的能源,才能從根本上解決發(fā)展與資源之間的矛盾。所以在今后,新能源必定將會有很大的發(fā)展空間,太陽能、風(fēng)能、潮汐能,這些清潔能源是未來大規(guī)模利用的新趨勢。[1]在各類能源中,太陽能以其清潔、無害、長久和普遍等特點,有極高的發(fā)展?jié)摿?,可以說是取之不盡用之不竭。雖然離太陽能的廣泛利用還有很長的路要走,但是現(xiàn)在已經(jīng)在不少地方開始使用,如常見的太陽能發(fā)電系統(tǒng),太陽能熱水系統(tǒng),太陽能路燈、交通燈等等。我國目前太陽能產(chǎn)業(yè)規(guī)模已躍至世界第一,隨著技術(shù)的日益成熟,太陽能相關(guān)的成熟產(chǎn)品造價也將隨之降低,將更加廣泛地在人們生產(chǎn)生活中普及,這同時也是解決越來越嚴重環(huán)境污染的一個極佳的解決方案。
在我們的生活中,最為我們所熟知的太陽能利用系統(tǒng)便是太陽能熱水器,太陽能熱水器同傳統(tǒng)的熱水器相比有著許多顯著的特點。不僅節(jié)能環(huán)保,而且使用也非常方便。以其低廉的價格深受各層次消費者的青睞。隨著太陽能熱水器的大面積使用,太陽能的優(yōu)勢特點已廣泛為人們所熟知,這也對以后的相關(guān)產(chǎn)品的生產(chǎn)推廣起到了很好的宣傳效應(yīng)。大力開發(fā)和利用豐富的太陽能資源,對于我國的經(jīng)濟、社會可持續(xù)發(fā)展具有重大深遠意義。[2]1.2我國太陽能發(fā)展現(xiàn)狀我國太陽能熱水產(chǎn)業(yè)的發(fā)展特點可以用“起步晚,發(fā)展快”來形容,雖然國內(nèi)與于上世紀80年代才開始研究推廣,但是歷經(jīng)多年的飛速發(fā)展,我國的太陽能產(chǎn)業(yè)已經(jīng)占據(jù)了世界首位,其中熱水器的產(chǎn)量占世界百分之五十以上,同時,中國國產(chǎn)太陽能產(chǎn)品在世界同類產(chǎn)品中也占據(jù)著很大的市場份額,并且市場占有率還在不斷增長。[3]盡管有著如此迅猛的發(fā)展勢頭,但是需要指出的是,目前國內(nèi)的能與太陽能熱水器相配置的控制器的功能卻并不完善,在市面上很多同類的太陽能熱水器產(chǎn)品,控制系統(tǒng)簡單,功能不全,大多數(shù)只具有設(shè)定水溫,顯示水溫這兩個功能,較為智能化的產(chǎn)品還尚未推廣應(yīng)用,有些功能還處于研發(fā)階段。因此設(shè)計出一款具有溫度控制功能和水位控制功能的產(chǎn)品,將很具有實際意義。這樣的控制器,將能夠解決天氣原因?qū)е碌墓饩€不足問題導(dǎo)致熱水器水溫過低的問題,并且因為有了水位控制功能,就可以解決當(dāng)水位達到一定高度時不能自動開始或停止供水等等問題。
2系統(tǒng)設(shè)計及仿真軟件2.1系統(tǒng)的總體結(jié)構(gòu)設(shè)計系統(tǒng)總體結(jié)構(gòu)設(shè)計如圖2.1,該系統(tǒng)包括保溫箱、排氣管、集熱管、溢流管、上下水管、調(diào)節(jié)閥等。圖2.1系統(tǒng)總體結(jié)構(gòu)設(shè)計2.2設(shè)計功能要求該太陽能熱水器的控制器不但需要具有水位、水溫及時間的實時顯示功能,而且需要具有水位、水溫的自動控制功能,必要時,還需要能夠?qū)崿F(xiàn)對時間和水溫進行設(shè)定等功能。當(dāng)蓄水箱水位低于40%時能夠?qū)崿F(xiàn)自動上水,當(dāng)設(shè)定時間到且水位低于蓄水箱水位90%時能夠?qū)崿F(xiàn)自動上水,當(dāng)上水到達規(guī)定的水位時能夠?qū)崿F(xiàn)自動停止上水,當(dāng)水位界于高低水位之間時,用戶可以通過按鍵操作手動上水、停水;當(dāng)設(shè)定時間到且水溫低于規(guī)定值時,能夠?qū)崿F(xiàn)自動加熱。必要時還可以對太陽能熱水器進行手動加熱和上水,禁止高溫空曬后進水以及淋浴時禁止上水等功能。2.3設(shè)計思路該太陽能熱水器控制器是基于C51單片機設(shè)計和實施的,它以AT89C51單片機作為檢測和控制中心,由主控芯片模塊、DS18B20溫度檢測及顯示模塊、水位檢測及顯示模塊、時鐘模塊、報警模塊和電磁閥控制模塊、輔助加熱模塊等模塊組成。它通過DS18B20溫度檢測及顯示模塊實時檢測和顯示水溫,通過水位檢測及顯示模塊實時檢測和顯示水位,通過時鐘模塊實時顯示時鐘并在設(shè)定的時間給主控芯片特定的信號,通過電磁閥控制模塊實現(xiàn)熱水器的自動及手動上水,通過輔助加熱模塊實現(xiàn)太陽能熱水器自動及手動加熱,當(dāng)水位過低且水溫過高時通過報警模塊報警,而主控芯片則負責(zé)協(xié)調(diào)其他各模塊的工作。2.4仿真軟件(proteus)簡介Proteus可以仿真單片機,兼具EDA軟件的仿真功能,還能一部分外圍器件,是當(dāng)前使用最廣,用戶評價最好的仿真工具??梢詮脑韴D設(shè)計,程序編寫調(diào)試,再到與外圍電路同步仿真,提供與PCB板設(shè)計的簡單切換,可以由最初的模擬概型一直到產(chǎn)品的模擬仿真。該軟件也是第一款融合電路原理圖設(shè)計,PCB板設(shè)計,產(chǎn)品生產(chǎn)前的仿真三者結(jié)合的開發(fā)平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430,Cortex,DSP等系列處理器,截止到現(xiàn)在,依然在不斷增加其它系列處理器模型。程序編譯支持Keil和MPLAB軟件編譯器。[4]Proteus軟件具有其它EDA工具軟件的功能:
1.原理布圖
2.PCB自動或人工布線3.SPICE電路仿真革命性的特點Proteus的工作過程:在開始菜單中選擇proteus文件夾,單擊文件夾中的ISIS圖標(biāo)進入proteus仿真軟件的主界面。在工作之前,先要設(shè)置捕捉對齊、顏色、圖形界面大小等項目。工作時,先要單擊工具欄中的P按鈕進入元件選擇對話框(pickdevices),在對話框keyword中輸入所需元件的關(guān)鍵字(比如當(dāng)需要電阻時輸入“res”),在results一欄中雙擊選出所需要的元器件(注意當(dāng)選中元器件時在pickdevices對話框中右側(cè)兩欄中會出現(xiàn)該元器件在仿真電路圖和PCB板上的預(yù)覽圖,根據(jù)此預(yù)覽圖進行選擇),選中的元件會自動出現(xiàn)在工作界面P按鈕下面。然后需要進行仿真電路圖的繪制(具體做法為:在P按鈕下面單擊所需要的元器件即選中此元器件,根據(jù)實驗原理圖把選中的元器件放在工作界面的適當(dāng)位置,雙擊工作界面中的元器件,在出現(xiàn)的對話框中修改元器件的參數(shù),重復(fù)以上步驟直到所有的元器件都擺放到工作界面上,然后單擊各元器件的引腳進行連線。至此仿真電路圖制作完成。然后進行程序的編寫,在程序編寫時需要使用專門的程序編寫器(比如keil軟件等)來編寫并編譯連接運行,生成hex文件。接下來需要把程序存入相應(yīng)的芯片中,具體做法是:雙擊目標(biāo)芯片,在出現(xiàn)的對話框中“programfile”中選擇相應(yīng)的程序,然后點擊ok按鈕即可。最后需要運行,在此步驟秩序點擊proteus工作界面左下方的play按鈕即可。
3AT89C51簡介3.1主要特性?與MCS-51兼容?具有4K字節(jié)的可重復(fù)編程的flash,可寫入/抹掉數(shù)據(jù)1000次以上,寫入的數(shù)據(jù)能保存10年以上?操作頻率:0Hz~24MHz?128×8位內(nèi)部RAM?32條可規(guī)劃的I/O線?5個中斷向量地址?可編程串行通道?需要振蕩電路和時鐘電路[5]3.2中斷向量中斷向量見圖3.1[6]圖3.1中斷向量表3.3管腳說明AT89C51引腳見圖3.2[7]VCC:供電電壓。GND:接地。P0管腳、P1管腳、P2管腳、P3管腳都是8位雙向I/O口,其中P3管腳還有第二功能。圖3.2AT89C51芯片引腳圖 P3管腳第二功能見圖3.3。RST:復(fù)位輸入端。ALE/:地址鎖存信號線。圖3.3P3口第二功能說明:外部程序存儲器讀選通端。/VPP:訪問內(nèi)部程序存儲器控制端XTAL1、XTAL2:震蕩電路輸入端。3.4內(nèi)部結(jié)構(gòu)51單片機內(nèi)部機構(gòu)如圖3.4[8]圖3.451單片機內(nèi)部結(jié)構(gòu)框圖
4控制器各模塊電路設(shè)計4.1主控芯片模塊單片機只有40個管腳,其中I/O管腳只有32個,必須合理地分配單片機管腳,否則很容易造成單片機管腳的不夠用。另外,單片機運行需要時鐘電路、復(fù)位電路、電源、地線等,這些電路也需要在單片機主控芯片里面設(shè)計。主控芯片模塊proteus仿真圖如圖4.1。[9]圖4.1主控芯片模塊proteus仿真圖4.1.1時鐘電路單片機的運行需要時鐘電路的支持,單片機時鐘電路是配合外部晶體實現(xiàn)振蕩的電路,它由一個晶振和兩個電容組成,其組成圖如圖4.2,它的兩端分別接在單片機的XTAL1和XTAL2管腳。它可以為單片機提供運行時鐘,如果運行時鐘為0的話,單片機就不工作,當(dāng)然超出單片機的工作頻率的時鐘也會導(dǎo)致單片機不能正常工作,C51單片機的支持的時鐘頻率為0~24MHz。圖4.2單片機時鐘電路4.1.2復(fù)位電路在單片機在使用過程中有時(比如上電瞬間以及運行中出現(xiàn)錯誤的時候)需要使單片機從開始狀態(tài)重新運行,這時就需要單片機的復(fù)位電路了。它可以使單片機內(nèi)部各寄存器的值變?yōu)槌跏紶顟B(tài),復(fù)位電路如圖4.3。它可以在單片機上電瞬間和復(fù)位開關(guān)按下的瞬間給單片機RESET管腳加上一個程指數(shù)函數(shù)的電平信號,當(dāng)此電平信號能夠在單片機的RESET管腳保持兩個機器周期以上的高電平時,單片機就能完成復(fù)位操作。[10]圖4.3單片機復(fù)位電路4.1.3單片機管腳分配單片機管腳分配如圖4.4。
圖4.4單片機管腳分配4.2DS18B20溫度檢測及顯示模塊蓄水箱水溫檢測電路使用單總線DS18B20芯片,它可以將溫度信號轉(zhuǎn)化成脈沖信號進而轉(zhuǎn)化成水溫高低的信號。DS18B20的DQ端與單片機的P3.7口相連,它可以將水溫大小直接以數(shù)值的方式存放在其內(nèi)部的RAM中,單片機可以通過DS18B20的DQ引腳直接讀取其內(nèi)部RAM中存放的溫度值。在水溫的顯示上,本設(shè)計采用兩位LED數(shù)碼管來實現(xiàn),LED數(shù)碼管的段選信號由單片機的P0口來發(fā)出,其位選信號由單片機的P2.6、P2.7管腳發(fā)出。水溫檢測及顯示模塊的proteus電路仿真如圖4.5。圖4.5溫度檢測及顯示模塊proteus仿真圖4.2.1DS18B20芯片簡介DS18B20是美國DALLAS公司推出的一種溫度傳感器,它能比較準確的測量-55~125℃之間的溫度。相對于以前的熱敏電阻等溫度傳感器,DS18B20更加智能,它能夠直接測出被測環(huán)境的溫度并以數(shù)值方式存在其內(nèi)部的RAM中,當(dāng)有需要時,它可以通過單總線實現(xiàn)單片機等對DS18B20內(nèi)部RAM中數(shù)據(jù)的讀取。DS18B20有如下性能特點:單總線結(jié)構(gòu)設(shè)計,僅需要一個引腳即可完成數(shù)據(jù)在DS18B20和單片機之間的通信。每個DS18B20都有獨一無二的序列號,可以在一條線上并聯(lián)多個DS18B20芯片。測量溫度范圍-55℃~+125℃。分辨率可調(diào)。DS18B20內(nèi)部結(jié)構(gòu)[11]DS18B20內(nèi)部結(jié)構(gòu)如圖4.6。圖4.6DS18B20內(nèi)部結(jié)構(gòu)框圖DS18B20引腳DS18B20引腳功能描述見圖4.7。序號名稱引腳功能描述1GND地信號2DQ數(shù)字信號輸入輸出引腳3VDD供電電源輸入端圖4.7DS18B20各引腳功能DS18B20轉(zhuǎn)換成的溫度數(shù)據(jù)格式[12]當(dāng)DS18B20接到溫度轉(zhuǎn)換命令時它就可以將測得的溫度信號轉(zhuǎn)換成溫度值并以16位帶符號擴展的二進制補碼形式存儲在其高速緩存RAM中,其溫度值格式如圖4.8。圖4.8DS18B20溫度數(shù)據(jù)格式單片機可以通過DS18B20的DQ引腳直接取RAM中溫度的值,讀取時,先讀取低位數(shù)據(jù),然后讀取高位數(shù)據(jù)。在DS18B20溫度數(shù)據(jù)格式中,當(dāng)S=0時表示此時的溫度值為正值,當(dāng)S=1時表示此時溫度為負值。DS18B20ROM命令[13]DS18B20的一系列操作基本都是通過ROM命令來實現(xiàn)的,DS18B20的ROM命令見圖4.9。圖4.9DS18B20的ROM命令4.2.274LS245簡介74LS245為8位雙向3態(tài)緩沖電路,主要用途為數(shù)據(jù)的雙向緩沖,以增強芯片的驅(qū)動能力。[14]74LS245真值表如圖4.10所示。輸入輸出DIRLL從B端到A端進行數(shù)據(jù)傳輸LH從B端到A端進行數(shù)據(jù)傳輸H×高阻態(tài)圖4.1074LS245真值表4.2.3LED數(shù)碼管顯示LED數(shù)碼管是由八個發(fā)光二極管排列在一起并相互連接組成的,根據(jù)其連接方法的不同,LED數(shù)碼管可以分為共陰極和共陽極兩種連接方法。兩種接法電路圖如圖4.11。圖4.11LED數(shù)碼管及接線方法當(dāng)把數(shù)碼管中各發(fā)光二極管的陰極連接在一塊并與地相連,通過從各發(fā)光二極管陽極是否接電源來控制發(fā)光二極管的亮滅時成為共陰極接法。同理,當(dāng)把數(shù)碼管中各發(fā)光二極管陽極接在一塊并與電源相連,通過在各發(fā)光二極管陰極是否接地來控制各發(fā)光二極管的亮滅時稱為共陽極接法。不同的接法所需要點亮電平是不一樣的,所以在使用數(shù)碼管顯示時,一定要注意區(qū)分這兩種接法。當(dāng)然為了顯示數(shù)字或字符,需要對數(shù)字或字符進行編碼,本設(shè)計采用共陰極LED數(shù)碼管顯示。LED數(shù)碼管顯示方式有兩種,即靜態(tài)顯示方式和動態(tài)顯示方式。靜態(tài)顯示就是每個數(shù)碼管都需要連接一個8位的數(shù)據(jù)線,通過該8位數(shù)據(jù)線發(fā)送數(shù)據(jù)來保持顯示的字符,當(dāng)向數(shù)碼管送入一次8位數(shù)據(jù)時數(shù)碼管就會一直顯示該字符,如果需要改變需要顯示的字符則需要重新給數(shù)碼管輸入另一個8位數(shù)據(jù)。動態(tài)顯示就是通過一定的操作使各個數(shù)碼管依次點亮,利用發(fā)光二極管的余暉效應(yīng)和人眼的視覺暫留現(xiàn)象使人的感覺就像是同時點亮各個數(shù)碼管一樣。動態(tài)顯示的亮度比靜態(tài)顯示稍微差一下,程序上稍微麻煩一些,占用的CPU時間長點,但當(dāng)數(shù)碼管位數(shù)比較多時需要的管腳位數(shù)明顯減少,硬件電路會大大簡化。由于單片機輸出管腳有限,為了節(jié)省單片機管腳,本設(shè)計采用動態(tài)顯示方式。4.3水位測量及顯示模塊蓄水箱水位是智能控制的一個重要參數(shù),是實現(xiàn)智能控制的重要依據(jù),只有準確檢測出水箱水位才能更好地實現(xiàn)水位地顯示以及蓄水箱的上水、停水等操作。要實現(xiàn)水位地精確檢測最好采用連續(xù)液位傳感器,但考慮到系統(tǒng)成本及使用范圍,本系統(tǒng)在進行水位檢測時仍然采用分段式液位傳感器(即在蓄水箱不同的位置放入水位探針),在水位顯示上采用由5個發(fā)光二極管組成的分段式液位顯示器。水位檢測及顯示電路圖如圖4.12。圖4.12水位檢測及顯示電路圖檢測原理:把五個金屬水位探針分別固定在水箱的五個位置上,金屬探針通過一個1M的電阻(即上拉電阻)和+5V電源相連,水箱里的水通過導(dǎo)線和地相連。當(dāng)金屬探針在水面以下時,+5V電源、上拉電阻、水箱里的水、地等組成一個回路,由于水的電阻遠比1M小,所以此時探針處電平為低電平。這個低電平通過一個反相器(非門)后變?yōu)楦唠娖?,這個高電平通過發(fā)光二極管、500Ω的電阻放電,使得發(fā)光二極管點亮,顯示此時該液位有水。當(dāng)金屬探針在水面以上時,金屬探針處電平為高電平,該高電平經(jīng)過反相器時變?yōu)榈碗娖?,低電平不能使發(fā)光二極管發(fā)光,從而顯示該液位沒有水。至此,水位的顯示完成。水位測量及顯示模塊proteus仿真圖如圖4.13。圖4.13水位測量及顯示模塊proteus仿真圖本proteus仿真圖使用按鍵開關(guān)代替水和+5V電源、1M電阻及地構(gòu)成回路,當(dāng)按鍵按下時代表此位置處有水,當(dāng)按鍵沒有按下時代表此水位處沒有水。需要注意的是,上拉電阻不宜選的太小,因為水是有電阻的,上拉電阻選的太小會導(dǎo)致當(dāng)探針在水面以下時探針輸出低電平特性不明顯,此時很容易導(dǎo)致液位顯示上出現(xiàn)錯誤。位置最高到位置最低處的探針?biāo)鶞y出的電平經(jīng)反相器后會通過導(dǎo)線依次送到單片機的P2.0到P2.4管腳,經(jīng)單片機接收、處理,實現(xiàn)水位控制的操作。4.4報警模塊太陽能熱水器通常對蓄水箱內(nèi)的水位有一定的要求,當(dāng)水箱水位過低時,很容易給人們的正常生活帶來不便,所以,當(dāng)水位過低時能及時讓人們知道就顯得比較重要,報警模塊正是基于此種原因設(shè)計的。報警模塊的proteus仿真圖如圖4.14。圖4.14報警模塊的proteus仿真圖檢測及報警原理:當(dāng)水位過低時,單片機相應(yīng)管腳被清零,使得單片機通過P1.5口輸出一系列脈沖波。脈沖波經(jīng)由Q1、R1組成的放大電路后作用于蜂鳴器BUZI的線圈上,線圈產(chǎn)生變化的磁場帶動蜂鳴器紙盆震動從而發(fā)出聲音。4.5輔助加熱模塊當(dāng)光照不足時,太陽能熱水器的水溫很難達到指定的要求,為了不影響人們的正常使用,輔助加熱設(shè)備就顯得尤為重要了。輔助加熱模塊的proteus電路仿真圖如圖4.15。圖4.15輔助加熱模塊的proteus電路仿真圖4.5.1繼電器工作原理繼電器工作原理圖如圖4.16所示。[15]圖4.16繼電器工作原理圖當(dāng)繼電器的控制回路沒有電流流過時,繼電器的銜鐵在彈簧的拉力作用下右端上翹,觸點3與觸點5斷開,與觸點4結(jié)合。當(dāng)有電流流過繼電器的控制回路(即由導(dǎo)線和線圈組成的電磁鐵)時,電流就會在在電磁鐵上產(chǎn)生磁場,此時,銜鐵會被電磁鐵吸引而下降,使得觸點3與觸點4分離,與觸點5連接。如果在端點3和端點5接上其他電路組成被控回路就會出現(xiàn)當(dāng)有電流流過控制回路時被控回路導(dǎo)通,當(dāng)沒有電流流過控制回路時被控回路斷開。4.5.2輔助加熱模塊工作原理當(dāng)加熱按鈕沒有按下時,此輔助加熱模塊為自動控制模式。在自動控制模式下,當(dāng)設(shè)定的時間到時,單片機會自動對蓄水箱的水溫進行判斷。當(dāng)水溫高于設(shè)定值時,P1.1口輸出為高電平,三極管Q1集電極和發(fā)射極斷開,此時,輸入回路中沒有電流為零,繼電器被控回路斷開,加熱電阻不工作。當(dāng)P1.1口輸出為低電平時,三極管Q1集電極和發(fā)射極導(dǎo)通,+5V電源經(jīng)電阻R1,繼電器控制回路、三極管Q1和地相連,輸入回路導(dǎo)通,此時,繼電器被控回路閉合,220V交流電源經(jīng)繼電器被控回路給加熱電阻加熱,從而使水溫升高。當(dāng)臨時(不是設(shè)定時間)需要熱水時可以通過加熱按鈕進行加熱,此時,只需按下加熱按鈕即可對蓄水箱的水進行加熱。4.6電磁閥控制模塊電磁閥是把電信號轉(zhuǎn)化成水龍頭開關(guān)信號的裝置,是實現(xiàn)水位智能控制不可缺少的一部分。電磁閥從原理上分為直動式、分步直動式和先導(dǎo)式三類電磁閥,本設(shè)計采用直動式電磁閥。電磁閥控制模塊proteus仿真如圖4.17。圖4.17電磁閥控制模塊proteus仿真電路圖繼電器工作原理已在輔助加熱模塊介紹,此處不再敘述4.6.1電磁閥工作原理電磁閥工作原理如圖4.18。圖4.18電磁閥工作原理圖當(dāng)電磁閥不通電時,活動鐵心在彈簧的彈力作用下上升,入口和出口被閥門隔開,水被阻斷;當(dāng)通電時,活動鐵心在線圈產(chǎn)生的磁場作用下下落,此時入口和出口導(dǎo)通,水從入口經(jīng)電磁閥流向出口,完成上水。4.6.2電磁閥控制模塊工作原理在本設(shè)計中,此電磁閥控制模塊分為自動控制和手動控制兩種工作情況:當(dāng)上水按鍵開關(guān)斷開且淋浴開關(guān)閉合時電磁閥控制模塊為自動控制模式,此時當(dāng)單片機P1.4口輸出為高電平時,繼電器的輸入端輸入電流為零,繼電器輸出端開路,電磁閥所在電路開路,電磁閥關(guān)閉;當(dāng)單片機P1.4口輸出為低電平時,繼電器輸入端通過電阻、三極管和電源、地相連,此時,輸入回路有輸入電流,使得繼電器輸出回路閉合,電磁閥所在電路導(dǎo)通,電磁閥打開。當(dāng)上水按鍵開關(guān)直接閉合且淋浴開關(guān)閉合時,電磁閥通過按鍵開關(guān)直接和220V電源相連,此時電磁閥所在電路導(dǎo)通,電磁閥打開。另外,為了避免淋浴時因水位偏低而導(dǎo)致熱水器直接上水,本模塊加了一個淋浴狀態(tài)開關(guān),當(dāng)淋浴狀態(tài)打開(淋浴開關(guān)斷開)時,直接斷開電磁閥開關(guān),此時無論水位多么低都不會上水,當(dāng)淋浴狀態(tài)關(guān)閉(淋浴開關(guān)閉合)時,可以選擇自動控制和手動控制兩種模式。4.7時鐘模塊時間是實現(xiàn)熱水器控制器定時上水、定時加熱的重要參考,所以設(shè)置時鐘模塊是非常有必要的。時鐘模塊可以通過單片機設(shè)置一個數(shù)字時鐘來實現(xiàn),也可以時鐘芯片(比如DS1302)實現(xiàn),還可以通過外接具有定時功能的電子表來實現(xiàn)??紤]到單片機管腳的數(shù)量限制和設(shè)計的難易程度,本設(shè)計采用外接電子表的方式來實現(xiàn)定時上水、定時加熱。4.7.1電子表發(fā)聲原理及控制器定時工作原理電子表里面裝有壓電陶瓷片,壓電陶瓷片是一種電子發(fā)音元件,在兩個電極中間放入壓電陶瓷介質(zhì)材料,當(dāng)設(shè)定時間到時,會在壓電陶瓷片的兩個電極上加上特定的交流信號,壓電陶瓷片就會根據(jù)所加信號的大小和頻率震動,從而發(fā)出聲音。本設(shè)計中會把這個電極信號接在單片機的P1.0管腳,當(dāng)該管腳的電平是低電平時可以給單片機一個觸發(fā)信號,經(jīng)單片機處理,使得加熱設(shè)備開始工作;同理,當(dāng)給單片機的P1.3管腳加上一個低電平時同樣能給單片機一個觸發(fā)信號,經(jīng)單片機處理后,使得上水設(shè)備開始工作。
5控制器軟件程序設(shè)計5.1軟件設(shè)計分析軟件是系統(tǒng)的指揮中心,由軟件來配合硬件來完成電子設(shè)備特定的功能是目前電子設(shè)備的普遍規(guī)律。本系統(tǒng)同樣要求軟件和硬件兩部分協(xié)調(diào)工作才能所完:由硬件電路完成數(shù)據(jù)的采集、顯示以及對電磁閥和蜂鳴器的控制,由軟件來實現(xiàn)數(shù)據(jù)的判斷、處理等。由此可見,軟件和硬件一樣,都是該系統(tǒng)正常工作所必須的一部分。軟件相對于硬件電路來說具有更高的性價比,并且更容易實現(xiàn),為了充分發(fā)揮C51單片機的優(yōu)良的性能價格比,我們在進行系統(tǒng)設(shè)計時,更傾向于使硬件電路“軟件化”,即通過編程的方法使硬件電路簡化??紤]到C語言諸多優(yōu)良特性,本設(shè)計采用C語言編寫,為了增加系統(tǒng)的實時性,本設(shè)計對于偶然事件的處理采用中斷的方式來進行處理。在電路設(shè)計時我們采用模塊化設(shè)計,同理,在軟件設(shè)計時,我們也采用模塊化設(shè)計。首先需要編寫出大概的主程序,然后需要找出所設(shè)計的子程序并對子程序進行逐個分析和設(shè)計,編寫出子程序后應(yīng)給予每個子程序語法檢驗以確定子程序是不是有語法錯誤,接下來需要把子程序和主程序以及一些的聲明函數(shù)等進行合理的檢查和修改直到?jīng)]有語法錯誤為止,再然后對偶然事件需要進行中斷處理函數(shù)的編寫。最后需要對整個程序進行編譯檢查以確定是否有語法錯誤,如果有語法錯誤需要對程序進行改正,如果沒有可以把程序烤到單片機里來檢驗程序的正確與否。[16]5.2主程序模塊主程序需要完成對單片機端口的初始化,開外部中斷0,開外部中斷1等,此外,還包括溫度數(shù)據(jù)讀取、溫度數(shù)據(jù)顯示、水位數(shù)據(jù)讀取以及對熱水器加熱、上水等操作。其流程圖如圖5.1所示。圖5.1主程序模塊流程圖5.3子程序模塊子程序是指能夠?qū)崿F(xiàn)某一特定功能并能被其他程序調(diào)用的一段程序。采用子程序結(jié)構(gòu)可以使程序得到簡化,便于進行調(diào)試,并可實現(xiàn)程序的模塊化,本設(shè)計將采用子程序模塊的設(shè)計來實現(xiàn)部分功能。5.3.1DS18B20溫度檢測子程序設(shè)計DS18B20溫度檢測模塊的子程序流程圖如圖5.2,它包括對DS18B20的初始化、發(fā)ROM命令、發(fā)溫度轉(zhuǎn)化命令、讀存儲器等操作。圖5.2DS18B20溫度檢測流程圖5.3.2DS18B20溫度轉(zhuǎn)化及顯示子程序DS18B20溫度轉(zhuǎn)化及顯示子程序流程圖如圖5.3,它包括讀取溫度值、對溫度值得判斷、區(qū)分溫度的十位和個位數(shù)據(jù)、顯示十位數(shù)據(jù)、顯示個位數(shù)據(jù)等操作。開始開始讀溫度值溫度值大于等于100℃或小于0℃溫度十位和個位數(shù)據(jù)都置“-”區(qū)分溫度的十位數(shù)據(jù)區(qū)分溫度的個位數(shù)據(jù)顯示溫度十位數(shù)據(jù)顯示溫度個位數(shù)據(jù)返回是否圖5.3DS18B20溫度轉(zhuǎn)化及顯示流程圖5.3.3加熱子程序設(shè)計當(dāng)設(shè)定時間到時,外部時鐘會在單片機的P1.0管腳給單片機一個觸發(fā)信號,使得單片機執(zhí)行加熱子程序。加熱子程序流程圖如圖5.4。圖5.4加熱子程序流程圖5.3.4上水子程序設(shè)計同加熱子程序一樣,當(dāng)設(shè)定時間到時,外部時鐘會在單片機的P1.3管腳給單片機一個觸發(fā)信號,使得單片機執(zhí)行上水子程序。上水子程序流程圖如圖5.5。圖5.5上水子程序流程圖5.4中斷子程序設(shè)計為了保證系統(tǒng)的實時性,本設(shè)計有一些功能是通過中斷來實現(xiàn)的,這就要求在軟件程序設(shè)計里面需要有專門的中斷服務(wù)子程序的設(shè)計。本設(shè)計采用了兩個中斷服務(wù),包括外部中斷0和外部中斷1。其中外部中斷0用作增加設(shè)定的溫度值,外部中斷1用作減小設(shè)定的溫度值。5.4.1外部中斷0(設(shè)定溫度+)子程序設(shè)計外部中斷0負責(zé)使設(shè)定的溫度值增加,每當(dāng)執(zhí)行一次外部中斷0,所設(shè)定的溫度值就會增加1。外部中斷0(設(shè)定溫度+)子程序流程圖如圖5.6。圖5.6外部中斷0(設(shè)定溫度+)子程序流程圖5.4.2外部中斷1(設(shè)定溫度-)子程序設(shè)計同外部中斷0相對應(yīng),外部中斷1用作使設(shè)定的溫度值減小。每當(dāng)執(zhí)行一次外部中斷1,所設(shè)定的溫度值就會自動減1,當(dāng)設(shè)定溫度值減小到30℃一下時設(shè)定溫度值自動變?yōu)?9℃。外部中斷1(設(shè)定溫度-)子程序流程圖如圖5.7。圖5.7外部中斷1(設(shè)定溫度-)子程序流程圖6調(diào)試與總結(jié)6.1調(diào)試方法為了節(jié)省人力、物力,在正式調(diào)試之前往往會對電路進行仿真操作。所謂的仿真操作就是使用專門用于仿真的仿真軟件對系統(tǒng)的硬件電路圖及程序進行仿真。如果仿真結(jié)果滿足我們的要求,那么我們就可以進行硬件電路的制作了,如果仿真結(jié)果不能滿足我們的要求,那么我們就需要重新對程序及相關(guān)的硬件進行設(shè)計。本設(shè)計使用proteus對系統(tǒng)的各部分和整個系統(tǒng)進行仿真。具體做法為:根據(jù)系統(tǒng)要求用proteus畫出整體系統(tǒng)的仿真電路圖(可以先一個模塊一個模塊的畫,然后在組裝在一塊)。2、根據(jù)系統(tǒng)要求及畫出的仿真電路圖編寫程序(本設(shè)計使用C語言編寫),并用keil軟件進行編譯,生成HEX文件。把生成的HEX文件下載到對應(yīng)的單片機中(具體做法為:在proteus仿真電路圖中雙擊相應(yīng)的單片機會出現(xiàn)“EditComponent”對話框,在此對話框中programFile一欄中選擇所需的HEX文件,然后點擊該對話框右上角的ok按鈕即可),然后點擊仿真電路圖界面左下角的play按鈕即可進行電路仿真。在完成系統(tǒng)的仿真操作后就需要對系統(tǒng)進行調(diào)試了。調(diào)試可以分為硬件調(diào)試和系統(tǒng)調(diào)試兩部分。硬件調(diào)試主要是對硬件部分進行調(diào)試,看看所設(shè)計的硬件能否完成我們期望的功能,而系統(tǒng)調(diào)試主要是看看系統(tǒng)能否按照預(yù)期進行工作。在制作完成PCB板之后就可以進行硬件部分的調(diào)試了。 在制作完P(guān)CB板之后就可以進行硬件電路調(diào)試了。在進行硬件電路調(diào)試之前需要先對各元器件進行檢查,對于有問題的元器件需要及時替換。在檢查完元器件之后就可以往PCB板上查元器件了。為了降低硬件調(diào)試的難度,便于更好的發(fā)現(xiàn)問題,在硬件調(diào)試過程中采用分塊調(diào)試的方法。 在完成硬件電路調(diào)試之后就需要對系統(tǒng)進行調(diào)試了。所謂系統(tǒng)調(diào)試就是把提前編譯好的程序下載單片機中,對系統(tǒng)的整體性能進行觀察、調(diào)試。6.2遇到的問題及解決辦法在進行proteus各模塊仿真電路圖設(shè)計時有部分元器件(比如電磁閥、加熱裝置等)在元件庫中找不到。解決方法:用其他有相似特點的元件代替,并將此元件的參數(shù)修改一下。在進行proteus總體仿真電路設(shè)計時,有很多現(xiàn)象(比如:電磁閥的通斷、水位的高低等)不容易觀察或不容易操作。解決方法:用發(fā)光二極管、按鍵開關(guān)代替這些不容易觀察或不容易操作的現(xiàn)象。在程序設(shè)計時對DS18B20的程序設(shè)計總是弄不對。解決方法:參考其他人對這部分程序的編寫,然后按照自己的要求和DS18B20的原理進行修改。在程序設(shè)計過程中,對DS18B20測出的溫度進行轉(zhuǎn)化方面出現(xiàn)失誤:沒有注意DS18B20溫度數(shù)據(jù)是包含小數(shù)部分的溫度而導(dǎo)致在溫度轉(zhuǎn)化時出現(xiàn)錯誤。解決方法:在對DS18B20結(jié)構(gòu)及原理仔細分析的基礎(chǔ)上對設(shè)計的程序進行修改,首先去除溫度的小數(shù)部分,然后吧溫度的個位數(shù)部分和十位數(shù)部分分別放在一個數(shù)組的兩個元素中。在系統(tǒng)調(diào)試中發(fā)現(xiàn)溫度顯示時總是個位數(shù)在前,十位數(shù)在后,給人的感覺很別扭。解決方法有兩個:一、在溫度數(shù)據(jù)的處理子程序中把個位數(shù)據(jù)和十位數(shù)據(jù)處理的語句調(diào)換一下。二、在硬件電路中把兩個LED數(shù)碼管位選信號輸入端調(diào)換一下。本設(shè)計采用第一種方法,即在程序處理方面做改變。6.3總結(jié)太陽能熱水器控制器是對太陽能熱水器進行控制的一種裝置,它需要能夠?qū)崿F(xiàn)對熱水器水溫、水位的控制。在本設(shè)計的過程中,我先是對太陽能熱水器需要實現(xiàn)的功能進行分析,然后按照需要實現(xiàn)的功能按照模塊設(shè)計的思想進行設(shè)計,接下來把各模塊組合起來形成一個系統(tǒng),用proteus對該系統(tǒng)進行仿真,最后進行實際電路連接。經(jīng)過以上各個步驟的實際操作,我們可以看出,本設(shè)計是可行的。本設(shè)計中我用的了單片機、C語言、模電、數(shù)電、電路分析等多門課程,可以說正是在這些知識的支撐下我才能順利完成本設(shè)計。在進行本設(shè)計的過程中,我較深刻理解了能夠綜合運用知識的重要性,當(dāng)然,本設(shè)計對我綜合運用能力也有一定程度的提高。另外,在進行本設(shè)計的過程中,我的交流能力也有一定程度的提高。在本設(shè)計中,我遇到過很多問題,正是與老師、學(xué)長、同學(xué)的交流給我解決這些問題很大的啟發(fā),使我能夠順利完成本設(shè)計。
致謝對于即將畢業(yè)的我們來說,本設(shè)計的完成就基本意味著大學(xué)學(xué)習(xí)生活的結(jié)束。離別時刻就要到來,而我也將要開始我新一段的學(xué)習(xí)生活。此時此刻難免會有各種思緒,其中最強烈的莫過于感恩了。大學(xué)四年不算太長,但在這四年里我卻完成從稚嫩到成熟,由懵懂到理智的成功蛻變。猶記得剛上大一時對未來的迷茫,對生活的不知所措、對專業(yè)知識的一清二白,在看看現(xiàn)在的對未來的憧憬與信心,對生活的游刃有余,對專業(yè)基本知識的胸有成竹,大學(xué)給與我了太多東西,因此,在這里我首先要感謝我的母?!獰熍_大學(xué)?!俺鲩T遇貴人”,在這所大學(xué)里我遇到了太多太多這樣的貴人,正是這些貴人讓我的大學(xué)收獲非常豐富,這些人也是我要感激的。首先要說感謝的是我的畢業(yè)設(shè)計指導(dǎo)老師——劉云學(xué)老師,在我做畢業(yè)設(shè)計時是你給我提供了無私的指導(dǎo)和幫助。其次我要感謝大學(xué)里的其他老師,是你們讓我學(xué)會了如何學(xué)習(xí),如何做人。再次還要感謝那些給過我指引的學(xué)長和學(xué)姐們,尤其要感謝在我論文寫作過程中給我指導(dǎo)的岳峰學(xué)長,正是你們對我無私的引導(dǎo)才使得我的大學(xué)生活不再那么茫然。當(dāng)然還要感謝我那些可愛的同學(xué)們,在我遇困難的時候是你們在陪伴著我,當(dāng)我開心的時候是你們在分享我的歡樂,在論文的創(chuàng)作過程中也是你們給提供了很多幫助。本次畢業(yè)設(shè)計將會在我的經(jīng)歷上留下濃重的一筆,在此過程中,我不僅學(xué)到了很多新的實用的知識技術(shù),收獲了不少經(jīng)驗,最重要的是學(xué)到了解決問題的辦法及途徑,讓我今后在遇到這樣的課題能夠有章可循。
參考文獻[1]張才忠.真空管太陽能熱水器熱性能分析與參數(shù)化設(shè)計研究.濟南:山東大學(xué)學(xué)報,2006[2]胡潤青.蓬勃發(fā)展的太陽能熱水器產(chǎn)業(yè).北京:建設(shè)科技雜志,2006[3]張媛等.太陽能熱水器的發(fā)展前景.天津:天津建設(shè)科技,2009年1期[4]侯玉寶等.基于Proteus的51系列單片機設(shè)計與仿真[M].北京:電子工業(yè)出版社,2008[5]余錫存,曹國華.單片機原理及接口技術(shù)(第二版)[M].西安:西安電子科技大學(xué)出版社,2007[6]趙建領(lǐng),薛園園等.51單片機開發(fā)與應(yīng)用技術(shù)詳解[M]北京:電子工業(yè)出版社,2009[7]胡漢才.單片機原理及其接口技術(shù)[M].北京:清華大學(xué)出版社,2004[8]李群芳等.單片機微型計算機與接口技術(shù)(第2版)[M].北京:電子工業(yè)出版社,2005.1[9]寧成軍等,基于Proteus和Keil接口的單片機外圍硬件電路仿真,北京:現(xiàn)代電子技術(shù)出版社,2006
[10]樓然苗,李光飛.單片機課程設(shè)計指導(dǎo)(第2版)[M].北京:北京航空航天大學(xué)出版社,2012.1[11]李華等.MCS-51系列單片機應(yīng)用系統(tǒng)設(shè)計[M]北京:北京航空航天大學(xué)出版社,1995[12]楊居義主編.單片機課程設(shè)計指導(dǎo)[M].北京:清華大學(xué)出版,2009.9[13]80C51
8bit
flash
microcontroller
family
P89C51RB2/P89C51RC2/P89C51RD2.
Data
Book,
Philips
Semicon-ductors,
2001,6(1).[14]康華光,陳大欽.電子技術(shù)基礎(chǔ)數(shù)字部分(第四版)[M].北京:高等教育出版社,2001.6[15]齊玲,繼電器綜合參數(shù)檢測系統(tǒng)[J]河北:河北工業(yè)大學(xué)學(xué)報,2009[16]周潤景等,基于PROTEUS的電路及單片機系統(tǒng)設(shè)計與仿真.北京:北京航空航天大學(xué)出版社,2006.[17]馬忠梅等.單片機的C語言應(yīng)用程序設(shè)計[M].北京:北京航空航天大學(xué)出版社,2003.11.
附錄本設(shè)計程序如下:[17]/***************************************************/#include<reg51.h>#include<intrins.h>#defineDisdataP0#defineucharunsignedchar#defineuintunsignedintsbitb20=P3^7;sbitp20=P2^0;sbitp21=P2^1;sbitp22=P2^2;sbitp23=P2^3;sbitp24=P2^4;sbitp25=P2^5;sbitp26=P2^6;sbitp27=P2^7;sbitbeet=P1^5;sbitheat=P1^0;sbitp11=P1^1;sbitqxjr=P1^2;sbitadd=P1^3;sbitp14=P1^4;sbitqxss=P1^6;uchara=35;uinttemp,b,wd,h;bitlock0=1;//加熱標(biāo)志位bitlock1=1;ucharcodedis[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf};uchardatatemp_data[3]={0x00,0x000,0x00};uintkey_[2]={5,0};/*****************11us延時函數(shù)*************************/voiddelay(uintt){for(;t>0;t--);}/******************1ms延時函數(shù)*****************************/voiddelay1ms(uintz){ uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }/****************發(fā)音函數(shù)***************************/voidplay(uchart){ uchari; for(i=0;i<1000;i++) { beet=~beet; delay1ms(t); } beet=0;}/****************顯示掃描函數(shù)***************************/scan(){ uintk=0; Disdata=~dis[temp_data[k]]; p26=0; p27=1; delay1ms(5); k++; Disdata=~dis[temp_data[k]]; p26=1; p27=0; delay1ms(5); p26=1; p27=1;}/*********************預(yù)置溫度******************************/voidyzwd(uintb){ Disdata=~dis[b%10]; p26=0; p27=1; delay1ms(5); Disdata=~dis[b/10]; p26=1; p27=0; delay1ms(5); p26=1; p27=1;}/****************DS18B20復(fù)位函數(shù)************************/ow_reset(void){ charpresence=1; while(presence) { while(presence) { b20=1;_nop_();_nop_(); b20=0; delay(50); b20=1; delay(6); presence=b20; } delay(45); presence=~b20; } b20=1;}/****************DS18B20寫命令函數(shù)************************/voidwrite_byte(ucharval){uchari;for(i=8;i>0;i--){ b20=1;_nop_();_nop_(); b20=0;_nop_();_nop_();_nop_();_nop_(); b20=val&0x01; delay(6); val=val/2;}b20=1;delay(1);/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代教育中小學(xué)作文教學(xué)的挑戰(zhàn)與對策
- 社交媒體平臺上的創(chuàng)意視覺傳達策略
- 科技助力小學(xué)數(shù)學(xué)教學(xué)質(zhì)量提升的策略
- 高壓實驗室的電氣系統(tǒng)建設(shè)與施工管理
- 2025年度業(yè)績獎金補充協(xié)議勞動合同
- 營養(yǎng)餐供應(yīng)鏈的優(yōu)化與管理策略
- 二零二五年度琴行鋼琴租賃與專業(yè)賽事組織服務(wù)合同
- 2025年度學(xué)術(shù)論文著作權(quán)轉(zhuǎn)讓及發(fā)表許可合同
- 二零二五年度林業(yè)災(zāi)害應(yīng)急處理樹木砍伐合同
- 二零二五年度信用卡透支服務(wù)費合同
- 安徽省蚌埠市2025屆高三上學(xué)期第一次教學(xué)質(zhì)量檢查考試(1月)數(shù)學(xué)試題(蚌埠一模)(含答案)
- 醫(yī)院工程施工重難點分析及針對性措施
- 2025年春節(jié)安全專題培訓(xùn)(附2024年10起重特大事故案例)
- 2025年江蘇太倉水務(wù)集團招聘筆試參考題庫含答案解析
- 遼寧省沈陽名校2025屆高三第一次模擬考試英語試卷含解析
- 《中小學(xué)校園食品安全和膳食經(jīng)費管理工作指引》專題知識培訓(xùn)
- 2024年新疆區(qū)公務(wù)員錄用考試《行測》真題及答案解析
- 第三章-自然語言的處理(共152張課件)
- 行政事業(yè)單位國有資產(chǎn)管理辦法
- 六年級口算訓(xùn)練每日100道
- 高一生物生物必修一全冊考試題帶答題紙答案
評論
0/150
提交評論