版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
摘要隨著全球人口和經(jīng)濟規(guī)模的不斷增長,能源使用帶來的環(huán)境問題及其誘因逐漸為人們所結(jié)識,“低碳經(jīng)濟”這一概念開始進入人們的視野。太陽能具有儲量的“無限性”、存在的普遍性,并且?guī)缀醪划a(chǎn)生任何污染。鑒于此,人們在大力的發(fā)展太陽能產(chǎn)業(yè)。太陽能熱水器順應(yīng)時代發(fā)展的規(guī)定,滿足人們對環(huán)保綠色產(chǎn)品的需求。在人類文明限度日益提高的今天,它是現(xiàn)代文明社會的最佳選擇。本文提出了一種新型的太陽能熱水器控制系統(tǒng)設(shè)計方案。本設(shè)計采用MSC-51系列單片機AT89S52作為中央解決器,采用DS1302實時時鐘,12864點陣式液晶顯示屏等模塊,完畢時間溫度水位的顯示,以及時間和溫度的設(shè)定等功能。關(guān)鍵詞:太陽能熱水器;單片機;實時時鐘;液晶顯示屏ABSTRACTAstheglobalpopulationandeconomicgrowth,energyuseofenvironmentalproblemsandcausesgraduallyrecognized,"low-carboneconomy,"theconceptbecamepartofthepeopleofvision.Solarenergyhasreservesofthelimitless",theuniversalityofexisting,andalmostdoesnotproduceanypollution.Inviewofthis,peopleinthedevelopmentofsolarenergyindustry.Solarwaterheaters,inconformitywiththerequirementsofthetimes,aremeetingthedemandforgreenproducts.Inhumancivilizationincreasinglytoday,itisamoderncivilizedsociety.Anewsolarwaterheatercontrolsystemdesign.ThisdesignincorporatesMSC-51MCUAT89S52ascentralprocessors,areal-timeclockusingDS1302,12864,dot-matrixLCDmodule,completiontimedisplayofthetemperaturelevel,aswellasthetimeandtemperaturesetting.Keywords:Solarwaterheater;chip;clock;LCDscreen目錄摘要 IABSTRACT II1前言 11.1太陽能熱水器的組成與工作原理 11.2太陽能熱水器的發(fā)展概況及市場競爭分析 21.3太陽能熱水器的應(yīng)用及意義 22太陽能熱水器控制系統(tǒng)的硬件設(shè)計 42.1主控芯片模塊 42.1.1主控芯片模塊電路 42.1.2主控芯片簡介 52.2實時時鐘模塊 72.2.1實時時鐘模塊電路 72.2.2實時時鐘簡介 82.3溫度傳感器模塊 102.3.1溫度傳感器模塊電路 102.3.2溫度傳感器簡介 102.4液晶顯示模塊 122.4.1液晶顯示模塊電路 122.4.2液晶顯示屏簡介 132.5鍵盤輸入模塊 153太陽能熱水器控制系統(tǒng)軟件設(shè)計 173.1KEILuVISION3軟件環(huán)境 173.2太陽能熱水器控制系統(tǒng)軟件設(shè)計流程圖 173.3太陽能熱水器控制系統(tǒng)軟件功能的實行 183.3.1初始化程序 183.3.2按鍵檢測及解決程序 193.3.3讀取溫度的程序 214太陽能熱水器控制系統(tǒng)整體調(diào)試 234.1Proteus仿真環(huán)境 234.2太陽能熱水器控制系統(tǒng)調(diào)試過程 24結(jié)論 27參考文獻 28致謝 29附錄 301前言在我設(shè)計太陽能熱水器的控制系統(tǒng)之前,一方面了解一下太陽能熱水器的組成與工作原理,了解一下太陽能熱水器的基本構(gòu)架和工作過程,以及太陽能熱水器發(fā)展概況和深遠運用價值。1.1太陽能熱水器的組成與工作原理圖1.1熱水器裝置簡圖1-集熱器2-下降水管3-循環(huán)水管4-補給水箱5-上升水管6-自來水管7-熱水出水管熱水器重要由集熱器、循環(huán)管道和水箱等組成,圖中為典型的熱水器裝置圖。圖中集熱器1按最佳傾角放置,下降水管2的一端與循環(huán)水箱3的下部相連,另一端與集熱器1的下集管接通。上升水管5與循環(huán)水箱3上部相連,另一端與集熱器1的上集管相接。補給水箱4供應(yīng)循環(huán)水箱3所需的冷水。集熱器吸取太陽輻射后,集熱器內(nèi)溫度上升,水溫也隨之升高。水溫升高后,水的比重減輕,便經(jīng)上升水管進入循環(huán)水箱上部。而循環(huán)水箱下部的冷水比重較大,就由水箱下流到集熱器下方,在集熱器內(nèi)受熱后又上升。這樣不斷對流循環(huán),水溫逐漸提高,直到集熱器吸取的熱量與散失的熱量相平衡時,水溫不再升高。這種熱水運用循環(huán)加熱的原理,因此又稱循環(huán)熱水器。集熱器是一種運用溫室效應(yīng),將太陽能輻射轉(zhuǎn)換為熱能的裝置,該裝置與一般熱水互換器不同樣,熱互換器通常只是液體到液體,或是液體到氣體的熱互換過程,而平板行集熱器時直接將太陽輻射傳給液體或氣體,是一個復(fù)雜的傳熱過程。平板型集熱器結(jié)構(gòu)形式很多,世界上已實用的集熱器就有直管式、瓦楞式、扁管式、鋁翼式等二十多種。1.2太陽能熱水器的發(fā)展概況及市場競爭分析我國自78年引進全玻璃真空集熱管的樣管以來,通過20數(shù)年的努力,攻克了熱壓封等許多技術(shù)難關(guān),已經(jīng)建立了擁有自主知識產(chǎn)權(quán)的現(xiàn)代化全玻璃真空集熱管產(chǎn)業(yè),用于生產(chǎn)集熱管的磁控濺射鍍膜機已有745臺,產(chǎn)品質(zhì)量達成世界先進水平,產(chǎn)量雄居世界首位。1978年中國誕生第一臺太陽能熱水器,到1986年臥式磁控濺射鍍膜機的設(shè)計制造,是在政策扶持下的研究開發(fā)階段。1987年,我國制造了第一支全玻璃真空集熱管。在之后的幾年里,全玻璃和熱管式真空管集熱器實現(xiàn)了產(chǎn)業(yè)化,產(chǎn)業(yè)規(guī)模達成中試水平,為下一階段產(chǎn)業(yè)的規(guī)模化奠定了良好的基礎(chǔ),成為產(chǎn)業(yè)的孕育發(fā)展階段。1993年太陽能產(chǎn)業(yè)進入初級發(fā)展階段:由于成果轉(zhuǎn)化需要很長一段時間的磨合,特別是受技術(shù)人員缺少的影響,此階段的產(chǎn)品質(zhì)量有待于進一步提高,整體來講,發(fā)展速度較為緩慢。這時候以山東力諾集團為主的真空管生產(chǎn)公司的產(chǎn)品占了真空管生產(chǎn)絕大部分市場。1997-2023年太陽能產(chǎn)業(yè)得到高速發(fā)展,逐漸形成北京、魯東、泰安、揚州、海寧等5個產(chǎn)業(yè)基地,并以此向周邊不斷輻射,產(chǎn)能得以迅速提高。目前,我國是世界上太陽能熱水器生產(chǎn)量和銷售量最大的國家。太陽能熱水器是太陽能運用中最常見的一種裝置,經(jīng)濟效益明顯,正在迅速的推廣應(yīng)用,太陽能熱水器可以將太陽輻射能轉(zhuǎn)換熱能,供生產(chǎn)和生活使用。當(dāng)今社會發(fā)展日新月異,人們衣食住行也在不斷的提高。現(xiàn)有電熱型熱水器費用昂貴及燃氣型熱水器的不安全性,且排放二氧化碳污染大氣,北方用煤氣取暖導(dǎo)致城市空氣環(huán)境污染,這些都是太陽能熱水器良好的外部生存環(huán)境。太陽能熱水器克服了上述缺陷,他是綠色環(huán)保產(chǎn)品。它使用簡樸、方便。太陽能熱水器順應(yīng)時代發(fā)展的規(guī)定,滿足人們對環(huán)保綠色產(chǎn)品的需求。1.3太陽能熱水器的應(yīng)用及意義資源是社會經(jīng)濟發(fā)展的物質(zhì)基礎(chǔ),經(jīng)濟愈發(fā)展,對資源的依賴性愈強。許多資源(如煤、石油、天然氣等)是不可再生的,并且在運用過程中給人類生存環(huán)境帶來極大污染,人類繁衍生息的物質(zhì)和環(huán)境基礎(chǔ)受到嚴峻挑戰(zhàn)。加強清潔、可再生資源的開發(fā)運用,已引起全世界的普遍重視。太陽能作為一種取之不盡、用之不竭的可再生資源,有節(jié)能、環(huán)保、安全和永續(xù)運用等優(yōu)點,理應(yīng)成為開發(fā)運用的首選。其中太陽能熱水器作為家庭生活用品,其開發(fā)運用在我國已走過了二十?dāng)?shù)年的歷程,生產(chǎn)技術(shù)成熟,具有明顯優(yōu)點:(一)從節(jié)能環(huán)保的角度講,使用太陽能熱水器不會對環(huán)境導(dǎo)致污染,同時為國家節(jié)約了大量能源,社會效益明顯,是國家重點推廣項目,使用前景廣闊。(二)太陽能熱水器的使用壽命較長,使用太陽能熱水器經(jīng)濟實惠。若使用合理,其壽命可達2023甚至更長。據(jù)測算,使用1平方米太陽能熱水器,相稱于每年節(jié)約310度電。太陽能熱水器的費用只有燃氣熱水器的七分之一,電熱水器的六分之一。購置太陽能熱水器一次性投資3000元左右,使用5至6年就可實現(xiàn)與其熱水器的支出對比平衡。按照裝置壽命2023計算,其經(jīng)濟效益是十分明顯的。(三)太陽能熱水器集熱效果好,集熱時間更長。只要陽光能照射到的地方,就可以使用太陽能熱水器,即使在高寒地區(qū)一年四季也可以正常使用。在我國浙江、江蘇、山東等地,太陽能熱水器的研發(fā)和生產(chǎn)已形成規(guī)模,應(yīng)用太陽能熱水器的場合也由家居使用擴展到醫(yī)院、學(xué)校、賓館、飯店、游泳池、洗浴場合等。2太陽能熱水器控制系統(tǒng)的硬件設(shè)計2.1主控芯片模塊2.1.1主控芯片模塊電路單片機系統(tǒng)由AT89C52和一定功能的外圍電路組成,涉及為單片機提供復(fù)位電壓的復(fù)位電路,提供系統(tǒng)頻率的晶振。這部分電路重要負責(zé)程序的存儲和運營。對外接電容的值雖然沒有嚴格的規(guī)定,但電容的大小會影響振蕩器頻率的高低、諧振器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。晶體可在1.2MHz~12MHz之間任選,電容C1和C2的典型值在20pF~100pF之間選擇,但在60pF~70pF時振蕩器具有較高的頻率穩(wěn)定性。典型值通常選擇為30pF左右,但本電路采用30pF。AT89C52的復(fù)位是由外部的復(fù)位電路來實現(xiàn)的。復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式。本設(shè)計中所用到的是上電按鈕復(fù)位,如圖2.1所示。圖2.1單片機系統(tǒng)2.1.2主控芯片簡介AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用ATMEL公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有機靈的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、有效的解決方案。AT89S52具有以下標準功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定期器,2個數(shù)據(jù)指針,三個16位定期器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。此外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定期器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止[1]。8位微控制器8K字節(jié)在系統(tǒng)可編程FlashAT89S52。圖2.2為AT89S52的引腳圖圖2.2AT89S52的引腳圖AT89S52引腳功能說明如下:VCC:電源電壓GND:地[2]P0口:P0口是一個8位漏極開路的雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0內(nèi)部上拉電阻被激活。在flash編程時,P0口也用來接受指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。P1口:P1口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅(qū)動(吸取或輸出電流)4個TTL邏輯門電平。對P1端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的因素,將輸出電流(TTL)。此外,P1.0和P1.2分別作定期器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如表2.1所示。在flash編程和校驗時,P1口接受低8位地址字節(jié)。表2.1P1口第二功能端口引腳第二功能P1.0T2(定期器/計數(shù)器T2的外部計數(shù)輸入),時鐘輸出P1.1T2EX(定期器/計數(shù)器T2的捕獲/重載觸發(fā)信號和方向控制)P1.5MOSI(在系統(tǒng)編程用)P1.6MISO(在系統(tǒng)編程用)P1.7SCK(在系統(tǒng)編程用)P2口:P2口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P2端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的因素,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@DPTR)時,P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX@RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗時,P2口也接受高8位地址字節(jié)和一些控制信號。P3口:P3口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P3端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的因素,將輸出電流(TTL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,P3口的第二功能如表2.2。表2.2P3口的第二功能端口引腳第二功能端口引腳第二功能P3.0RXD(串行輸入口)P3.4TO(定期/計數(shù)器0)P3.1TXD(串行輸出口)P3.5T1(定期/計數(shù)器1)P3.2INTO(外中斷0)P3.6WR(外部數(shù)據(jù)存儲器寫選通)P3.3INT1(外中斷1)P3.7RD(外部數(shù)據(jù)存儲器讀選通)此外,P3口還接受一些用于FLASH閃存編程和程序校驗的控制信號。RST——復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將是單片機復(fù)位。WDT溢出將使該引腳輸出高電平,設(shè)立SFRAUXR的DISRTO位(地址8EH)可打開或關(guān)閉該功能。DISRTO位缺省為RESET輸出高電平打開狀態(tài)。ALE/PROG——當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定期目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可嚴禁ALE操作。該位置位后,只有一條MOVX和MOVC指令才干將ALE激活。此外,該引腳會被薄弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)立ALE嚴禁位無效[3]。PSEN——程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89C52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將有兩次有效的PSEN信號。EA/VPP——外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:假如加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器的指令。FLASH存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。XTAL1:振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。2.2實時時鐘模塊2.2.1實時時鐘模塊電路從古代的滴漏更鼓到近代的機械鐘,從電子表到目前的數(shù)字時鐘,為了準確的測量和記錄時間,人們一直在努力改善計時工具。鐘表的數(shù)字化,大力推動了計時的精確性和可靠性。在單片機構(gòu)成的裝置中,實時時鐘是必不可少的部件。目前常用的實時時鐘,很多采用單片機的中斷服務(wù)來實現(xiàn),這種方式一方面需要采用計數(shù)器,占用硬件資源,另一方面需要設(shè)立中斷、查詢等,同樣花費單片機的資源,并且某些測控系統(tǒng)也許不允許;有的則使用并行接口的時鐘芯片,如MC146818、DS12887等,它們雖然能滿足單片機系統(tǒng)對實時時鐘的規(guī)定,但是這些芯片與單片機接口復(fù)雜,占用地址、數(shù)據(jù)總線多,芯片體積大,占用空間多,給其它設(shè)計帶來諸多不便。本設(shè)計選取串行接口時鐘芯片DS1302與單片機同步通信構(gòu)成數(shù)字時鐘電路,如圖2.3。其簡樸的三線接口能為單片機節(jié)省大量資源,DS1302的后背電源及對后背電源進行涓細電流充電的能力保證電路斷電后仍能保存時間和數(shù)據(jù)信息等。這些優(yōu)點解決了目前常用的實時時鐘所無法解決的問題。該時鐘電路強大的功能和優(yōu)越的性能,在很多領(lǐng)域的應(yīng)用中,特別是某些自動化控制、長時間無人看守的測控系統(tǒng)等對時鐘精確性和可靠性有較高規(guī)定的場合,具有很高的使用價值。圖2.3DS1302與單片機接口電路2.2.2實時時鐘簡介DS1302[4]是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘芯片,它可以對年、月、日、周日、時、分、秒進行計時,且具有閏年補償功能,工作電壓寬達2.5~5.5V。時鐘可工作在24小時格式或12小時(AM/PM)格式。DS1302與單片機的接口使用同步串行通信,僅用3條線與之相連接??刹捎靡淮蝹魉鸵粋€字節(jié)或突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增長了主電源/后背電源雙電源引腳,同時提供了對后背電源進行細電流充電的能力。DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運營。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:一方面,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;另一方面,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。假如在傳送過程中RST置為低電平,則會終止本次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運營時,在Vcc>2.0V之前,RST必須保持低電平。只有在SCLK為低電平時,才干將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有具體說明。SCLK為時鐘輸入端??刂谱止?jié)的最高有效位(位7)必須是邏輯1,假如它為0,則不能把數(shù)據(jù)寫入到DS1302中。位6假如為0,則表達存取日歷時鐘數(shù)據(jù),為1表達存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表達要進行寫操作,為1表達進行讀操作,控制字節(jié)總是從最低位開始輸出。DS1302的復(fù)位引腳:通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送.RST輸入有兩種功能:一方面,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;另一方面,RST提供了終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。假如在傳送過程中置RST為低電平,則會終止本次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。上電運營時,在Vcc≥2.5V之前,RST必須保持低電平。只有在SCLK為低電平時,才干將RST置為高電平。在控制指令字輸入后的下一個SCLK時鐘的上升沿時數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位至高位7。DS1302共有12個寄存器[5],其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。其日歷、時間寄存器及其控制字見表2.3。表2.3DS1302的日歷、時鐘寄存器及其控制字寄存器名命令字取值范圍各位內(nèi)容寫操作讀操作76543210秒寄存器80H81H00--59CH10SECSEC分寄存器82H83H00--59010MINMIN時寄存器84H85H01-12或00-2312/24010HRHR日寄存器86H87H01-28,29,30,310010DATEDATE月寄存器88H89H01--1200010MMONTH周寄存器8AH8BH01--0700000DAY年寄存器8CH8DH00--9910YEARYEAR此外,DS1302尚有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器的內(nèi)容。DS1302與RAM相關(guān)的寄存器分為兩類,一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0H--FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;再一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。2.3溫度傳感器模塊2.3.1溫度傳感器模塊電路基于DS18B20多點溫度測量系統(tǒng)以AT89C51為中心器件,以KEIL為系統(tǒng)開發(fā)平臺,用C語言進行程序設(shè)計,以PROTEUS作為仿真軟件設(shè)計而成的。DS18B20是智能溫度傳感器,它的輸入/輸出采用數(shù)字量,以單總線技術(shù),接受主機發(fā)送的命令,根據(jù)DS18B20內(nèi)部的協(xié)議進行相應(yīng)的解決,將轉(zhuǎn)換的溫度以串口發(fā)送給主機。主機按照通信協(xié)議用一個IO口模擬DS18B20的時序,發(fā)送命令(初始化命令、ROM命令、功能命令)給DS18B20,并讀取溫度值,在內(nèi)部進行相應(yīng)的數(shù)值解決,用圖形液晶模塊顯示各點的溫度。在系統(tǒng)啟動之時,可以通過4×4鍵盤設(shè)立各點溫度的上限值,當(dāng)某點溫度超過設(shè)立值時,報警器開始報警,從而實現(xiàn)了對各點溫度的實時監(jiān)控。每個DS18B20有自己的序列號,因此本系統(tǒng)可以在一根總線上掛接了4個DS18B20,通過CRC校驗,對各個DS18B20的ROM進行尋址,地址符合的DS18B20才作出響應(yīng),接受主機的命令,向主機發(fā)送轉(zhuǎn)換的溫度。采用這種DS18B20尋址技術(shù),使系統(tǒng)硬件電路更加簡樸,圖2.4所示。圖2.418B20與單片機的連接電路2.3.2溫度傳感器簡介DS18B20數(shù)字溫度計是DALLAS公司生產(chǎn)的1-Wire,即單總線器件,具有線路簡樸,體積小的特點。因此用它來組成一個測溫系統(tǒng),具有線路簡樸,在一根通信線,可以掛很多這樣的數(shù)字溫度計,十分方便。DS18B20產(chǎn)品的特點[6]:只規(guī)定一個端口即可實現(xiàn)通信。在DS18B20中的每個器件上都有獨一無二的序列號。實際應(yīng)用中不需要外部任何元器件即可實現(xiàn)測溫。測量溫度范圍在-55.C到+125.C之間。數(shù)字溫度計的分辨率用戶可以從9位到12位選擇。內(nèi)部有溫度上、下限告警設(shè)立。其引腳功能描述見表2.4。表2.4DS18B20具體引腳功能描述序號名稱引腳功能描述1GND地信號2DQ數(shù)字輸入輸出引腳,開漏單總線接口引腳,當(dāng)使用寄生電源時,可向電源提供電源3VDD可選擇的VDD引腳,當(dāng)工作于寄生電源時,該引腳必須接地64位ROM存儲器件獨一無二的序列號。暫存器包含兩字節(jié)(0和1字節(jié))的溫度寄存器,用于存儲溫度傳感器的數(shù)字輸出。暫存器還提供一字節(jié)的上線警報觸發(fā)(TH)和下線警報觸發(fā)(TL)寄存器(2和3字節(jié)),和一字節(jié)的配置寄存器(4字節(jié)),使用者可以通過配置寄存器來設(shè)立溫度轉(zhuǎn)換的精度。暫存器的5、6和7字節(jié)器件內(nèi)部保存使用。第八字節(jié)具有循環(huán)冗余碼(CRC)。DS18B20加電后,處在空閑狀態(tài)。要啟動溫度測量和模擬到數(shù)字的轉(zhuǎn)換,解決器須向其發(fā)出ConvertT[44h]命令;轉(zhuǎn)換完后,DS18B20回到空閑狀態(tài)。溫度數(shù)據(jù)是以帶符號位的16-bit補碼存儲在溫度寄存器中的[7]。符號位說明溫度是正值還是負值,正值時S=0,負值時S=1。訪問DS18B20必須嚴格遵守這一命令序列,假如丟失任何一步或序列混亂,DS18B20都不會響應(yīng)主機(除了SearchROM和AlarmSearch這兩個命令,在這兩個命令后,主機都必須返回到第一步)。a.初始化:DS18B20所有的數(shù)據(jù)互換都由一個初始化序列開始。由主機發(fā)出的復(fù)位脈沖和跟在其后的由DS18B20發(fā)出的應(yīng)答脈沖構(gòu)成。當(dāng)DS18B20發(fā)出響應(yīng)主機的應(yīng)答脈沖時,即向主機表白它已處在總線上并且準備工作。b.ROM命令[8]:ROM命令通過每個器件64-bit的ROM碼,使主機指定某一特定器件(假如有多個器件掛在總線上)與之進行通信。DS18B20的ROM如表2.5所示,每個ROM命令都是8bit長。表2.5ROM命令指令協(xié)議功能讀ROM33H讀DS18B20中的編碼(即64位地址)符合ROM55H發(fā)出此命令后,接著發(fā)出64位ROM編碼,訪問單總線上與該編碼相相應(yīng)的DS18B20,使之作出響應(yīng),為下一步對該DS18B20的讀寫作準備搜索ROM0F0H用于擬定掛接在同一總線上DS18B20的個數(shù)和辨認64位ROM地址,為操作各器件作好準備跳過ROM0CCH忽略64位ROM地址,直接向DS18B20V溫度轉(zhuǎn)換命令,合用于單個DS18B20工作告警搜索命令0ECH執(zhí)行后,只有溫度超過廟宇值上限或下限的片子才做出響應(yīng)溫度轉(zhuǎn)換44H啟動DS18B20進行溫度轉(zhuǎn)換,轉(zhuǎn)換時間最長為500ms(典型為200ms),結(jié)果豐入內(nèi)部9字節(jié)RAM中讀暫存器BEH讀內(nèi)部RAM中9字節(jié)的內(nèi)容 寫暫存器4EH發(fā)出向內(nèi)部RAM的第3、4字節(jié)寫上、下溫度數(shù)據(jù)命令,緊該溫度命令之后,傳達兩字節(jié)的數(shù)據(jù)復(fù)制暫存器48H將RAM中第3、4字內(nèi)容復(fù)制到E2PROM中重調(diào)E2PROM0B8H將E2PROM中內(nèi)容恢復(fù)到RAM中的第3、4字節(jié)讀供電方式0B4H讀DS18B20的供電模式,寄生供電時DS18B20發(fā)送“0”,外部供電時DS18B20發(fā)送“1”2.4液晶顯示模塊2.4.1液晶顯示模塊電路液晶顯示模塊以其微功耗、體積小、顯示內(nèi)容豐富、模塊化、接口電路簡樸等諸多優(yōu)點得到廣泛應(yīng)用。液晶顯示模塊分字符型和點陣型兩種,前者只能顯示常用的字符,點陣型液晶顯示模塊除顯示字符外還能顯示各種圖形和漢字。如圖2.5所示,為液晶顯示屏與單片機的連接電路圖。圖2.5液晶顯示屏與單片機的連接電路2.4.2液晶顯示屏簡介12864是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部具有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為128×64,內(nèi)置8192個16*16點漢字,和128個16*8點ASCII字符集。該模塊靈活的接口方式和簡樸、方便的操作指令,可構(gòu)成全中文人機交互圖形界面??梢燥@示8×4行16×16點陣的漢字??赏戤厛D形顯示。電壓低功耗是其又一顯著特點。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不管硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊[9]。圖2.6LCD結(jié)構(gòu)尺寸基本特性:低電源電壓(VDD:+3.0--+5.5V)顯示分辨率:128×64點內(nèi)置漢字字庫,提供8192個16×16點陣漢字(簡繁體可選)內(nèi)置128個16×8點陣字符2MHZ時鐘頻率顯示方式:STN、半透、正顯驅(qū)動方式:1/32DUTY,1/5BIAS視角方向:6點背光方式:側(cè)部高亮白色LED,功耗僅為普通LED的1/5—1/10通訊方式:串行、并口可選內(nèi)置DC-DC轉(zhuǎn)換電路,無需外加負壓無需片選信號,簡化軟件設(shè)計工作溫度:0℃-+55℃,存儲溫度:-20℃控制器接口信號說明:如表2.6,2.7表2.6RS和R/W的配合選擇決定控制界面的4種模式RSR/W功能說明LLMPU寫指令到指令暫存器(IR)LH讀出忙標志(BF)及地址記數(shù)器(AC)的狀態(tài)HLMPU寫入數(shù)據(jù)到數(shù)據(jù)暫存器(DR)HHMPU從數(shù)據(jù)暫存器(DR)中讀出數(shù)據(jù)
表2.7E信號E狀態(tài)執(zhí)行動作結(jié)果高——>低I/O緩沖——>DR配合/W進行寫數(shù)據(jù)或指令高DR——>I/O緩沖配合R進行讀數(shù)據(jù)或指令低/低——>高無動作
忙標志:BF。BF標志提供內(nèi)部工作情況.BF=1表達模塊在進行內(nèi)部操作,此時模塊不接受外部指令和數(shù)據(jù).BF=0時,模塊為準備狀態(tài),隨時可接受外部指令和數(shù)據(jù)。運用STATUSRD指令,可以將BF讀到DB7總線,從而檢查模塊之工作狀態(tài)。字型產(chǎn)生ROM(CGROM):字型產(chǎn)生ROM(CGROM)提供8192個此觸發(fā)器是用于模塊屏幕顯示開和關(guān)的控制。DFF=1為開顯示(DISPLAYON),DDRAM的內(nèi)容就顯示在屏幕上,DFF=0為關(guān)顯示(DISPLAYOFF)。DFF的狀態(tài)是指令DISPLAYON/OFF和RST信號控制的[10]。顯示數(shù)據(jù)RAM(DDRAM):模塊內(nèi)部顯示數(shù)據(jù)RAM提供64×2個位元組的空間,最多可控制4行16字(64個字)的中文字型顯示,當(dāng)寫入顯示數(shù)據(jù)RAM時,可分別顯示CGROM與CGRAM的字型;此模塊可顯示三種字型,分別是半角英數(shù)字型(16*8)、CGRAM字型及CGROM的中文字型,三種字型的選擇,由在DDRAM中寫入的編碼選擇,在0000H—0006H的編碼中(其代碼分別是0000、0002、0004、0006共4個)將選擇CGRAM的自定義字型,02H—7FH的編碼中將選擇半角英數(shù)字的字型,至于A1以上的編碼將自動的結(jié)合下一個位元組,組成兩個位元組的編碼形成中文字型的編碼BIG5(A140—D75F),GB(A1A0-F7FFH)。字型產(chǎn)生RAM(CGRAM):字型產(chǎn)生RAM提供圖象定義(造字)功能,可以提供四組16×16點的自定義圖象空間,使用者可以將內(nèi)部字型沒有提供的圖象字型自行定義到CGRAM中,便可和CGROM中的定義同樣地通過DDRAM顯示在屏幕中。地址計數(shù)器AC[11]:地址計數(shù)器是用來貯存DDRAM/CGRAM之一的地址,它可由設(shè)定指令暫存器來改變,之后只要讀取或是寫入DDRAM/CGRAM的值時,地址計數(shù)器的值就會自動加一,當(dāng)RS為“0”時而R/W為“1”時,地址計數(shù)器的值會被讀取到DB6——DB0中。光標/閃爍控制電路:此模塊提供硬體光標及閃爍控制電路,由地址計數(shù)器的值來指定DDRAM中的光標或閃爍位置。2.5鍵盤輸入模塊一般具有人機對話的單片機系統(tǒng)少不了會有鍵盤。本設(shè)計采用三個按鍵,最佳的接口方案是獨立式接法,即每一個I/O口上只接一個按鍵,按鍵的另一端接地。獨立式鍵盤的實現(xiàn)方法是運用單片機I/O口讀取口的電平高低來判斷是否有鍵按下。我們將按鍵的一端接地,另一端接一個I/O口,程序開始時將此I/O口置于高電平,平時無按鍵按下時I/O口保護高電平。當(dāng)有鍵按下時,此I/O口與地短路迫使I/O口為低電平。按鍵釋放后,與單片機連接的上拉電阻使I/O口仍然保持高電平。我們所要做的就是在程序中查詢此I/O口的電平狀態(tài)就可以了解我們是否有按鍵動作了。值得注意的是,我們在用單片機對鍵盤解決的時候涉及到了一個重要的過程,那就是鍵盤的去抖動。這里說的抖動是機械的抖動,是當(dāng)鍵盤在未按到按下的臨界區(qū)產(chǎn)生的電平不穩(wěn)定正?,F(xiàn)象,并不是我們在按鍵時通過注意可以避免的。這種抖動一般在10~200毫秒之間,這種不穩(wěn)定電平的抖動時間對于人來說太快了,而對于時鐘是微秒級的單片機而言則是漫長的。為了提高系統(tǒng)的穩(wěn)定性,我們必須去除或避開它。此處我采用軟件去抖動,實現(xiàn)方法是先查詢按鍵當(dāng)有低電平出現(xiàn)時立即延時10~200毫秒以避開抖動,延時結(jié)束再讀一次I/O口的值。按鍵分工,從左至右依次為1、2、3號按鍵,一號鍵模式鍵,二號三號鍵為加減鍵。圖2.7鍵盤接口電路3太陽能熱水器控制系統(tǒng)軟件設(shè)計3.1KEILuVISION3軟件環(huán)境單片機開發(fā)中除必要的硬件外,同樣離不開軟件,本系統(tǒng)的軟件編程設(shè)計是在Keil軟件環(huán)境中完畢的。我們寫的C語言、匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已很少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變?yōu)闄C器碼,用于MCS-51單片機的匯編軟件有初期的A51,隨著單片機開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了涉及C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要的,假如使用C語言編程,那么Keil幾乎就是不二之選。即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令人事半功倍[12]。KeilC51是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。
KeilC51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。此外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到KeilC51生成的目的代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。3.2太陽能熱水器控制系統(tǒng)軟件設(shè)計流程圖本課題設(shè)計的太陽能熱水器控制系統(tǒng)的軟件程序設(shè)計重要由(1)初始化程序,(2)掃描按鍵程序,(3)按鍵解決子程序,(4)讀取水位信息、水箱溫度和時間程序,(6)調(diào)用顯示子程序,六個部分組成。系統(tǒng)總體流程圖如圖3.1所示。開始開始初始化掃描鍵盤,是否有按鍵N調(diào)用鍵盤解決子程序Y讀取水位信息和水箱溫度調(diào)用顯示子程序顯示水溫時間圖3.1系統(tǒng)總體流程圖3.3太陽能熱水器控制系統(tǒng)軟件功能的實行3.3.1初始化程序太陽能熱水器控制系統(tǒng)在接通電源后,一方面要對系統(tǒng)進行初始化。初始化的過程涉及啟動DS1302,啟動12864,對12864進行清屏。初始化流程圖如下:初始化開始初始化開始啟動DS1302啟動12864清屏圖3.2初始化程序流程圖初始化程序清單如下:voidstart(void)//初始化函數(shù){unsignedchari;set_time(0x8e,0x00);//取消寫保護set_time(0x80,0x00);//啟動時鐘set_time(0x84,0x00);//設(shè)立24小時模式set_time(0x90,0xa5);//時鐘時鐘充電模式set_time(0x8e,0x80);//啟動寫保護RES1=0;RES1=1;dis_write_cmd(0xaf);//啟動12864clean();//清屏3.3.2按鍵檢測及解決程序在太陽能熱水器初始化完畢之后,系統(tǒng)便會進入鍵盤掃描狀態(tài),此狀態(tài)下,主控芯片AT89S52會不斷掃描是否有鍵按下,即等待用戶輸入。在檢測到有鍵按下后,根據(jù)按下的次數(shù)(按一下設(shè)立“分”,按兩下設(shè)立“時”,三下設(shè)立“星期”,以此類推),在運用“加”“減”分別設(shè)立。按鍵檢測及解決流程圖如圖所示:(以按下“一下”為例)開始掃描開始掃描是否有鍵按下否是一下(設(shè)立分)是否為“+”鍵是“分”加1否“分”減1圖3.3按鍵檢測及解決程序流程圖按鍵檢測及解決程序清單如下:while(1)//總循環(huán){while(state_button==0)//狀態(tài)0循環(huán){…//無鍵按下的解決程序…}while(state_button!=0)//狀態(tài)非0循環(huán){set_time(0x80,0x80);//啟動時鐘set_time(0x8e,0x00);//啟動保護位if(state_button==1)//狀態(tài)1設(shè)立分{if(time_jia==1)//判斷按鈕加是否按下過{minute0++;//分操作下面所有的加減同理if(minute0>9)//minute0最大為9,minute1最大為5{minute1++;minute0=0;if(minute1>5){minute1=0;}}time_jia=0;//按鍵清零表達已經(jīng)執(zhí)行完}if(time_jian==1){minute0--;if(minute0<0){minute1--;minute0=9;if(minute1<0){minute1=5;}}time_jian=0;}}3.3.3讀取溫度的程序本設(shè)計采用while循環(huán),在沒有鍵按下時,跳出while循環(huán),進行下邊的語句,即讀取溫度,并將其顯示在12864上。在讀取的過程中,要注意溫度的正負。讀取溫度的流程圖如圖3.4所示:復(fù)位復(fù)位讀取溫度數(shù)據(jù)判斷正負正轉(zhuǎn)為十進制負取反后,轉(zhuǎn)十進制圖3.4讀取溫度流程圖讀取溫度程序清單:wendu_reset();//溫度復(fù)位wendu_write(0xcc);//跳過ROM搜索命令wendu_write(0x44);//啟動一次轉(zhuǎn)換wendu_reset();//復(fù)位wendu_write(0xcc);//跳過ROM搜索命令wendu_write(0xbe);//發(fā)送讀命令a=wendu_read();//讀高字節(jié)8位b=wendu_read();//讀低字節(jié)8位pn=b&0x80;//判斷溫度正負if(pn==0)//假如溫度為正{t=((b*256)+a)/16;//直接轉(zhuǎn)化為十進制數(shù)}if(pn==0x80)//假如溫度為負{a=~a;//將數(shù)據(jù)取反b=~b;c=a+1;//低位加1if(c==0x00)//當(dāng)?shù)臀粸?55時,加1后為0,這時需進位{b++;}//向高位進1t=((b*256)+c)/16;//再進行轉(zhuǎn)換十進制4太陽能熱水器控制系統(tǒng)整體調(diào)試4.1Proteus仿真環(huán)境本系統(tǒng)的硬件設(shè)計一方面是在Proteus軟件環(huán)境中仿真實現(xiàn)的。Proteus軟件是來自英國Labcenterelectronics公司的EDA工具軟件,Proteus軟件有十?dāng)?shù)年的歷史,在全球廣泛使用,除了具有和其它EDA工具同樣的原理布圖、PCB自動或人工布線及電路仿真的功能外,其革命性的功能是,它的電路仿真是互動的。針對微解決器的應(yīng)用,還可以直接在基于原理圖的虛擬原型上編程,并實現(xiàn)軟件源碼級的實時調(diào)試。假如有顯示及輸出,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等,還能看到運營后輸入輸出的效果。它運營于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路。Proteus[13]建立了完備的電子設(shè)計開發(fā)環(huán)境,特別重要的是ProteusLite可以完全免費,也可以花微局限性道的費用注冊達成更好的效果。Proteus7.1是目前最佳的模擬單片機外圍器件的工具??梢苑抡?1系列、AVR、PIC等常用的MCU及其外圍電路(如LCD,RAM,ROM,鍵盤,馬達,LED,AD/DA,部分SPI器件,部分IIC器件,...)。其實Proteus與multisim比較類似,只但是它可以仿真MCU!當(dāng)然,軟件仿真精度有限,并且不也許所有的器件都找得到相應(yīng)的仿真模型,用開發(fā)板和仿真器當(dāng)然是最佳選擇,可是初學(xué)者擁有它們的也許性比較小。使用51系列單片機,不管是用匯編語言還是用C語言編程都要用到keil軟件。使用keilc51v7.50+proteus7.1可以像使用仿真器同樣調(diào)試程序,一般而言,微機實驗中用萬能仿真器+電工系自己做的實驗板的實驗都可以做得到。當(dāng)然,硬件實踐還是必不可少的。在沒有硬件的情況下,Proteus能像pspice仿真模擬/數(shù)字電路那樣仿真MCU及外圍電路。此外,即使有硬件,在程序編寫初期用軟件仿真一下也是很有必要的[14]。Proteus軟件重要具有以下幾個方面的特點:(1)實現(xiàn)了單片機仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。(2)支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:ARM7(LPC21xx)、8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多種外圍芯片。(3)提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)立斷點等調(diào)試功能,同時可以觀測各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能[15];同時支持第三方的軟件編譯和調(diào)試環(huán)境,如KeilC51uVision2、MPLAB等軟件。(4)具有強大的原理圖繪制功能。總之,該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大。(5)在設(shè)計綜合性方案中,還可以運用ARES開發(fā)印制電路板。4.2太陽能熱水器控制系統(tǒng)調(diào)試過程系統(tǒng)的硬件電路設(shè)計與軟件程序設(shè)計都完畢之后,一方面,在硬件電路的仿真環(huán)境Proteus中,將通過編輯、編譯、匯編、連接幾步生成的.HEX文獻加載到單片機AT89S52中,然后對系統(tǒng)進行整體調(diào)試。以下是調(diào)試過程中碰到的重要問題及相應(yīng)的解決方法:1、問題描述:在控制系統(tǒng)中,涉及到了電加熱模塊,即當(dāng)室外光強局限性(陰天、下雨)時,對水箱的水進行電加熱是很必要的,然而仿真中無法顯示出是否在執(zhí)行加熱過程。解決方法:用一個等來仿真加熱過程,燈亮?xí)r表達加熱,圖中的三極管為光敏三極管(Proteus仿真元件庫中沒有),當(dāng)燈亮?xí)r,光敏三極管導(dǎo)通,繼電器閉合,電阻絲發(fā)熱,完畢了加熱任務(wù)。所以只有當(dāng)燈亮?xí)r為加熱進行中。如圖4.1所示。圖4.1加熱程序電路圖2、問題描述:在控制中,尚有一個重要的部分,水位顯示。也沒有辦法直接顯示到仿真過程中,只有通過另一種模式模擬出來。解決方法:起初想到兩個方案。第一個方案是用多個溫度傳感器,通過溫度比較,來擬定水位,由于水下傳感器的溫度必然不同于不在水中的傳感器,通過溫度比較來判斷,但是后來發(fā)現(xiàn),多個傳感器不合理,并且水溫的高低不好解決。最后決定的方案如圖4.2所示。圖4.2水位顯示電路圖檢測原理如下:當(dāng)水箱中無水時,8個非門均由1M歐姆電阻上拉成高電平,所以圖中各“非”門(CD4069)輸出均為低電平,LED1~LED8均不亮。當(dāng)水位高于“非”門1的輸入探針時,由于水的導(dǎo)電作用,使“非”門1的輸入變?yōu)榈碗娖?,所以其輸出變?yōu)楦唠娖?,LED點亮,依此類推。隨著水位的上升,各“非”門輸出相繼為高電平,LED依次點亮。這里要注意的是上拉電阻不能選擇太小,由于水的電阻在100k8左右,所以上拉電阻選擇太小的話,將在水位升高時,無法把“非”門輸入端拉成低電平。3、問題描述:生成.HEX文獻運營時,調(diào)試按鍵,沒按一下,屏幕或者沒有反映,或者連跳兩下,“加”“減”鍵也是如此,想在現(xiàn)有的基礎(chǔ)上加一,結(jié)果按了一下以后,并沒有加一,有時候連加兩次。因素分析及解決方法:再看按鍵的部分資料時,得知需要進行按鍵防抖動,這種抖動一般在10~200毫秒之間,這種不穩(wěn)定電平的抖動時間對于人來說太快了,而對于時鐘是微秒級別的單片機而言則是漫長的。為了提高系統(tǒng)的穩(wěn)定性,必須去除或避開它。此處我通過delay()延時程序,延時結(jié)束再讀一次I/O口的值。4、問題描述:在與12864液晶顯示屏連接仿真時,發(fā)現(xiàn)液晶顯示屏可以啟動,清屏,但是部分時間及星期不顯示,按鍵并不起作用。如圖4.3所示。圖4.3液晶顯示屏因素分析及解決方法:一方面查看程序,是否是顯示部分的程序出問題,或者是定義的部分代碼犯錯,然后又查看電路圖的連接,也許是接線沒有接好,部分管腳沒有連通。通過檢查,發(fā)現(xiàn)程序在keil中運營無誤,是部分導(dǎo)線連接錯誤。結(jié)論(1)系統(tǒng)能實現(xiàn)的功能:本系統(tǒng)通過單片機控制各個電路模塊以實現(xiàn)對溫度,水位的檢測,以及對整個熱水器的智能化控制。(2)系統(tǒng)功能測試:設(shè)計前期通過KEIL軟件和PROTEUS仿真軟件的聯(lián)調(diào),對設(shè)計功能進行仿真,均達成了預(yù)期的設(shè)計效果,設(shè)計后期,硬件制作完畢后,將仿真成功后的程序通過單片機下載程序,寫入單片機,再根據(jù)顯示模塊的各個端口連接方式,對的地將單片機跟顯示模塊連接,最后都實現(xiàn)了設(shè)計的功能。(3)系統(tǒng)功能分析:該控制器和以往顯示儀相比具有性能價格比高、溫度控制與顯示精度高、使用方便和性能穩(wěn)定等優(yōu)點。單片機控制系統(tǒng)具有低價、智能的優(yōu)勢,可以根據(jù)需求的不同而作相應(yīng)的調(diào)整,更加個性化。同時,使用單片機控制系統(tǒng)可以節(jié)約能源,保護設(shè)備,延長設(shè)備的使用時間。該熱水器具有以下特點:結(jié)構(gòu)簡樸、運營可靠、操作維護簡便;熱源取之不盡用之不竭,不需要運送,節(jié)省燃料;無污染,不會對周邊環(huán)境導(dǎo)致任何影響。參考文獻[1]李念強,等.單片機原理及應(yīng)用[M].北京:機械工業(yè)出版社,2023:30-40[2]孫育才,MCS-51系列單片微型計算機及其應(yīng)用[M].第4版.南京:東南大學(xué)出版社,1997:52-55[3]張濤,王金崗.單片機原理與接口技術(shù)[M].北京:冶金工業(yè)出版社,2023:72-80[4]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,1997:53-57[5]李廣第等.單片機基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2023:77-93[6]王長胤,文軍.單片單板機原理及應(yīng)用[M].武漢:武漢大學(xué)出版社,1993:45-56[7]殷為民.太陽能水溫水位儀[J].家用電子,1999,5(1):37-38[8]徐龍坤.輔助加熱式太陽能熱水器[J].家用電器,1997,15(2):9-10[9]王俊杰.基于89C51單片機的太陽能熱水器智能控制器的設(shè)計[J].鄭州輕工業(yè)學(xué)院學(xué)報:自然科學(xué)版,2023(8):67-68.[10]張振榮,晉明武,王投平.MCS-51單片機原理及實用技術(shù)[M].北京:人民郵電出版社,2023:64-120[11]戴佳,戴衛(wèi)恒.51單片機C語言應(yīng)用程序設(shè)計實例精講[M].北京電子工業(yè)出版社,2023:11-20[12]周潤景,袁偉亭,景曉松.Proteus在MCS-51&ARM7系統(tǒng)中的應(yīng)用百例[M].電子工業(yè)出版社,2023:64-78[13]宮亞梅.基于Proteus和Keil的單片機課程設(shè)計[J].濟南職業(yè)學(xué)院學(xué)報.2023(5):1-3[14]PredictiveEnergyBalanceforSolarHotWaterSystems,CentreforSustainableEnergySystems[J].2023:115-130[15]DreamtechSoftwareTeam,ProgrammingforEmbeddedSystems-CrackingtheCode,HungryMinds[J].2023.4:33-42致謝本次課程設(shè)計是對所學(xué)知識的一次綜合性運用。其中涉及對模擬電子技術(shù)基礎(chǔ)、和數(shù)字電子技術(shù)基礎(chǔ)、單片機等知識的運用。從而完畢了本次設(shè)計。在設(shè)計的過程中發(fā)現(xiàn)了自身知識的局限性,也發(fā)現(xiàn)我們必須具有專業(yè)基礎(chǔ)知識以外,才干成功的設(shè)計出一件合格的東西。這次課程設(shè)計收獲很多,體會也很深刻,并且對我們所學(xué)的東西也產(chǎn)生了濃厚的愛好。在設(shè)計過程中,也學(xué)會了很多新的東西,PROTEL軟件繪制電路原理圖和PCB圖,以及一些仿真軟件的應(yīng)用,最典型的就是PROTEUS軟件的應(yīng)用,以及與KEIL軟件的聯(lián)合使用功能。當(dāng)然最重要的是學(xué)到了關(guān)于基本電子設(shè)計的一些基本方法,同時也加深了對一些常用的電子元件的理解及其基本用法的掌握。除此之外,我覺得在這次設(shè)計的過程中,我發(fā)現(xiàn)團隊精神的重要性,很多時候一個人的力量是有限的,一個人不也許什么都會,什么都能自己解決,還是有需要別人幫助的時候,我覺得人與人之間的互相幫助很有必要,這樣不僅能幫助大家不久的解決問題,還能提高我們每個人的實際水平,也培養(yǎng)了我們的團隊合作精神,這些能力對于我們此后的學(xué)習(xí)和工作都很有幫助。由于時間關(guān)系,本次設(shè)計中尚有不盡完善之處。希望在以后的學(xué)習(xí)生涯中不斷的完善和改善。在本次設(shè)計過程中碰到不少問題,在趙保華老師和同學(xué)的幫助和配合下才順利的完畢了本次課程設(shè)計。趙保華老師在我們做設(shè)計的過程中,給予了我們極大的幫助,不僅從知識方面引導(dǎo)了我們的設(shè)計思緒,同時,在人生觀上也給了我們不少的啟示。在此,我對老師和同學(xué)表達深深的謝意。附錄下圖為仿真時的總體電路圖:#include"at89x51.h"#include"intrins.h"sbitRES1=P2^0;//12864復(fù)位sbitA0=P2^1;//命令數(shù)據(jù)選擇sbitRW=P2^2;//讀寫選擇sbitE=P2^3;//使能信號sbitB0=P0^0;//狀態(tài)按鈕sbitB1=P0^1;//執(zhí)行加按鈕sbitB2=P0^2;//執(zhí)行減按鈕sbitDQ=P3^0;//溫度線sbitIO=P3^3;//DS1302IO口設(shè)立sbitSCLK=P3^2;//時鐘線設(shè)立sbitCE=P3^1;//復(fù)位/片選腳設(shè)立unsignedcharstate_button,time_jia,time_jian;//按鈕參數(shù)voiddelay(unsignedinti)//延遲程序{while(i--);//12MHz下跳轉(zhuǎn)到延遲函數(shù)需2微妙,while循環(huán)一次4.5微秒。}/*DS18B20*/voidwendu_reset(void)//DS18B20復(fù)位程序{unsignedcharr=0;DQ=1;//致高電平,為下面復(fù)位時總線下拉準備delay(8);DQ=0;//總線下拉,開始復(fù)位delay(90);//復(fù)位延遲,不得小于480微秒DQ=1;//總線拉高,復(fù)位過程結(jié)束delay(14);//延遲一段時間,等待回應(yīng)r=DQ;//若回應(yīng)為低電平,則復(fù)位成功,為高電平則失敗delay(20);//延遲一段時間結(jié)束//return(r);可以根據(jù)需要返回復(fù)位結(jié)果}voidwendu_write(unsignedchardate)//寫字節(jié)程序{unsignedchari=0;for(i=8;i>0;i--){DQ=0;//總線拉低DQ=date&0x01;//發(fā)送最低位字節(jié)到DS18B20delay(7);//延遲30微秒左右,等DS18B20采樣DQ=1;//將總線拉高date>>=1;//寫入數(shù)據(jù)右移一位}}signedintwendu_read(void)//讀溫度字節(jié)程序{unsignedchari=0,t=0,pn=0;//t為暫存變量for(i=8;i>0;i--){DQ=0;//總線為低電平準備讀操作,然后在1微秒內(nèi)釋放總線,以便讓DS18B20將數(shù)據(jù)反饋t>>=1;//將變量右移一位,剛好可以抵消讀所需的延遲時間DQ=1;//總線拉為高電平后,執(zhí)行下面代碼if(DQ==1)//假如總線反饋為高電平{t|=0x80;//則將變量最高位置1}//假如反饋為0,則變量最高位為0delay(4);//延遲一頓時間
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025下半年四川省長寧縣事業(yè)單位招聘57人歷年高頻重點提升(共500題)附帶答案詳解
- 2025下半年四川省廣安市鄰水縣“小平故里英才”引進急需緊缺專業(yè)人才9人歷年高頻重點提升(共500題)附帶答案詳解
- 2025下半年916四川事業(yè)單位聯(lián)考系列講座歷年高頻重點提升(共500題)附帶答案詳解
- 2025上半年四川雅安天全縣事業(yè)單位招聘6人高頻重點提升(共500題)附帶答案詳解
- 2025上半年四川省內(nèi)江資中縣事業(yè)單位考聘215人歷年高頻重點提升(共500題)附帶答案詳解
- 2025上半年事業(yè)單位聯(lián)考云南省招聘歷年高頻重點提升(共500題)附帶答案詳解
- 智能家居安裝勞務(wù)施工合同
- 城市規(guī)劃工程師聘用協(xié)議
- 吉林省高速公路工程質(zhì)量監(jiān)督辦法
- 2024年度建材銷售傭金合同范本3篇
- 2024年度承包合同:石灰石生產(chǎn)線承包2篇
- 2024年度社區(qū)養(yǎng)老社會工作服務(wù)項目協(xié)議書3篇
- 蜜雪冰城合作加盟合同
- 青海省西寧市2021-2022學(xué)年八年級上學(xué)期期末歷史試題(解析版)
- 2024統(tǒng)編版七年級上冊語文期末復(fù)習(xí):名著閱讀 練習(xí)題匯編(含答案解析)
- 2024年物業(yè)管理員(中級)職業(yè)鑒定考試題庫(含答案)
- 統(tǒng)編版(2024版)七年級上冊歷史:期末復(fù)習(xí)課件
- 國開(陜西)2024年《中國制造之高端裝備》形考作業(yè)1-4答案
- 工會新聞寫作培訓(xùn)課題
- 醫(yī)療行業(yè)銷售內(nèi)勤工作匯報
- 統(tǒng)計年報和定報培訓(xùn)
評論
0/150
提交評論