版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
分享無罪太陽能熱水器控制器設(shè)計摘要太陽能是當前社會巨大能源,人們運用太陽能可以節(jié)約好多能源,因此要好好運用太陽能,發(fā)揮它應(yīng)有作用。太陽能熱水器因運用太陽能、無污染、使用以便、長期使用投入費用低等特點而倍受人們青睞,得到較好發(fā)展。本設(shè)計以單片機89S52做為控制核心并協(xié)調(diào)節(jié)個系統(tǒng)工作,通過數(shù)字溫度傳感器檢測當前水溫度,由于是數(shù)字信號就直接送入單片機89S52內(nèi),通過單片機解決在LED數(shù)碼管上顯示當前溫度值。此外一路是在水箱中水壓傳感器測水壓力從而得到水位高低,水壓傳感器輸出是0~5V模仿量,要通過A/D轉(zhuǎn)換成為數(shù)字量再送入單片機89S52進行解決,在LED數(shù)碼管上顯示水位值。按鍵用來設(shè)定想要控制溫度值,單片機在內(nèi)部通過比較設(shè)定溫度和當前溫度,當前溫度不大于設(shè)定溫度時就會閉合電磁開關(guān),啟動加熱裝置。高于設(shè)定溫度時斷開開關(guān)停止加熱。自動上水方面是設(shè)立水位上限和下限,水位低于下限時就會閉合電磁開關(guān),開始上水,當水位高于上線時就會自動斷開電磁開關(guān),停止上水。溫度和水位值在時時檢測,達到控制目。核心詞:太陽能熱水器,傳感器,控制,單片機DesignofControllerofSolarWaterHeaterABSTRACTSolarenergyisnowagreatresources,peopleusesolarenergycansavealotofenergy,somakegooduseofsolarenergy,toplayitsproperrole.Solarwaterheaterduetouseofsolarenergy,nopollution,easytouse,long-termuseofinputsandlowcosthasattractedpeople'sfavor,welldeveloped.Thisdesignmostly89S52microcontrollercoreasacontrolandcoordinatetheworkoftheentiresystem,digitaltemperaturesensorbydetectingthecurrentwatertemperature,becausethenumberofdigitalsignaldirectlyintotheMCU89S52,throughSCMhandleLEDdigitaltubedisplaysthecurrenttemperature.Anotherwayisthepressureinthetankpressuresensormeasuringthewaterleveltogetthewaterlevel,waterpressuresensoroutputis0~5VforanalogtogothroughA/DconvertedintodigitalandthenprocessedintotheMCU89S52,inLEDdigitaltubedisplaylevelvalue.Buttonisusedtosetthedesiredtemperature,microcontrollerinternallybycomparingthesettemperatureandcurrenttemperature,currenttemperatureislessthanthesetvaluewillbeclosedwhentheelectromagneticswitch,opentheheatingdevice.SheungShuiaspectautomaticallysettheupperlimitwaterlevel,waterlevellessthanthelowerlimitwillbeclosedelectromagneticswitch,willbegintowater,thewaterlevelreachesthelineisautomaticallydisconnectedwhentheelectromagneticswitch,stopwatering.Temperatureandwatervaluesdetectconstantlytocontrollingpurposes.KEYWORDS:Solarheater,Sensor,control,MCU目錄摘要 IABSTRACT II1前言 11.1課題背景和意義 11.2本課題研究內(nèi)容與重要工作 21.3本課題研究預(yù)期成果 22總體系統(tǒng)設(shè)計 33總體硬件設(shè)計 43.1系統(tǒng)總體硬件框圖與工作原理 43.2溫度傳感器 43.2.1溫度傳感器DS18B20 43.2.2DS18B20構(gòu)造 63.3水壓傳感器及A/D轉(zhuǎn)換 73.3.1水壓傳感器 73.3.2ADC0832構(gòu)造及原理 73.4電磁開關(guān)電路及原理 83.4.1光電隔離器原理 93.4.2電磁繼電器原理 103.5單片機控制系統(tǒng) 113.6LED數(shù)碼管顯示電路 133.7按鍵電路設(shè)計 154軟件設(shè)計方案 164.1DS18B20驅(qū)動程序設(shè)計 174.1.1DS18B20工作過程及時序 174.1.2DS18B20驅(qū)動程序 194.2串行AD轉(zhuǎn)換器ADC0832程序設(shè)計 214.3按鍵控制程序設(shè)計 254.4LED數(shù)碼管顯示程序設(shè)計 275硬件電路仿真成果 305.1溫度仿真 305.1.1溫度顯示仿真 305.1.2溫度控制仿真 305.2水位仿真 325.2.1水位顯示仿真 325.2.2水位控制仿真 325.3仿真成果分析 33道謝 35參照文獻 36附錄Ⅰ系統(tǒng)總原理圖 37附錄Ⅱ系統(tǒng)源程序 381前言1.1課題背景和意義當前,中華人民共和國已成為世界上最大太陽能熱水器生產(chǎn)國,年產(chǎn)量約為世界各國之和,已有一百多家太陽能熱水器生產(chǎn)廠。但是與之配套太陽能熱水器控制器卻始終處在研究與開發(fā)階段,當由于天氣因素而光強局限性時,就會給熱水器顧客帶來不便;雖然熱水器具備輔助加熱功能,由于加熱時間不能控制而產(chǎn)生過燒,從而揮霍大量電能。溫度控制采用模糊控制,控制器可以依照天氣狀況運用輔助加熱裝置使蓄水箱內(nèi)水溫在設(shè)定期間達到預(yù)先設(shè)定溫度,從而達到24小時供應(yīng)熱水目。太陽能熱水器是太陽能運用中最常用一種裝置,經(jīng)濟效益明顯,正在迅速推廣應(yīng)用,太陽能熱水器可以將太陽輻射能轉(zhuǎn)換熱能,供生產(chǎn)和生活使用。她重要由平板集熱器、蓄水器和連接管道等部件構(gòu)成,可分循環(huán)式、直流式和悶曬式。太陽能熱水器是環(huán)保、無污染,人們用著安全放心。運用太陽能源,大量節(jié)約既有能源,是后來能源發(fā)展趨勢。原有燃氣熱水器和電熱水器雖然加熱速度比較快,但是所用煤和氣都會對環(huán)境導(dǎo)致一定污染,并且會使室內(nèi)空氣變得不清新,電熱水器功率較大,對長期使用普通家庭來說必然會帶來一定經(jīng)濟困難,是一筆相稱大開銷[14]。太陽能熱水器安全、環(huán)保、經(jīng)濟,帶有輔助加熱功能熱水器可在全年任何時候使用,設(shè)計一種控制器來協(xié)助人們理解水溫度和熱水器中水位高低,使人們清晰使用。先前國內(nèi)外大多數(shù)家庭使用太陽能熱水器只是純粹太陽能加熱問題,還沒有其她智能控制方面,在沒有太陽天氣中沒有足夠能源使水箱中水加到最熱。另一方面對太陽能熱水器中水位沒有記錄,使人們不能及時懂得水箱中水量,以便補充,缺少自動性。如今大多數(shù)家庭太陽能都裝有水位監(jiān)測和水溫測量、顯示功能,使用更加以便。今年來,運用太陽能和其他能源結(jié)合,使得太陽能熱水器更加完善,在任何天氣狀況下都能使用到熱水。此款熱水器涉及主、從兩大系統(tǒng):主系統(tǒng)特點是在晴好天氣運用太陽光能為熱水器加熱;從系統(tǒng)相稱于電熱水器,它在無光照狀況下運用電輔助加熱。它充分運用太陽能豐富免費資源優(yōu)勢,同步考慮到在陰天及夜間無法運用太陽能缺陷,充分發(fā)揮太陽能熱水器和電熱水器各自優(yōu)勢,這是世面上大某些熱水器所不能比擬。當今社會發(fā)展日新月異,人們衣食住行也在不斷提高。既有電熱型熱水器費用昂貴及燃氣型不安全性,且排放二氧化碳污染大氣,北方用煤氣取暖導(dǎo)致都市空氣環(huán)境污染,這些都是太陽能熱水器良好外部生存環(huán)境。太陽能熱水器克服了上述缺陷,她是綠色環(huán)保產(chǎn)品。它使用簡樸、以便。太陽能熱水器順著時代發(fā)展規(guī)定,滿足人們對環(huán)保綠色產(chǎn)品需求。在人類文明限度日益提高今天,它是當代文明社會最佳選取。應(yīng)當注意到,集體單位對太陽能熱水器用量很大。眾所周知,太陽能是取之不盡,用之不竭,沒有污染巨大能源。隨著世界上煤、石油、天然氣存儲量日益減少,能源危機已日益增長,環(huán)境污染危機已威脅著生態(tài)平衡,太陽能開發(fā)運用課題已提到人類面前。有人預(yù)測:21世紀太陽能將由輔助能源上升為重要能源。但由于太陽能分散性、季節(jié)性和地區(qū)性又給太陽能運用帶來重重困難,有些技術(shù)難點尚未突破,產(chǎn)品造價偏高,因而尚未被人們大規(guī)模使用。在太陽能熱運用技術(shù)中,太陽能熱水器是技術(shù)上比較成熟、造價比較低廉產(chǎn)品,同步給人民提供低耗能源、保護環(huán)境、絕對安全熱水而受到人們歡迎。世界各國太陽能熱水器生產(chǎn)發(fā)展也不久。例如:澳大利亞政府規(guī)定,在北部地區(qū)新建房屋一定要設(shè)立太陽能熱水器,已有25%新住宅安裝了太陽能熱水器。日本當前每年安裝太陽能熱水器近50萬臺,籌劃此后普及率更高。有些國家法令規(guī)定所有新建筑物必要配備太陽能熱水器。太陽能熱水器推廣應(yīng)用及經(jīng)濟效益據(jù)不完全記錄,迄今全國太陽能熱水器合計安裝使用總量已達到300萬平方米以上。因此該控制器具備使用以便、性價比高、工作可靠、精度高等特點,為太陽能熱水器進一步推廣具備積極推動作用。1.2本課題研究內(nèi)容與重要工作本設(shè)計重要運用單片機為核心,選取恰當傳感器作為信號采集來源,溫度傳感器選取數(shù)字式DS18B20。水位信號檢測選取PTJ204/205/206/207壓力傳感器,將檢測模仿信號通過A/D轉(zhuǎn)換后送入單片機解決。通過LED數(shù)碼管來顯示溫度和水位。要通過幾某些設(shè)計來完畢:(a)LED數(shù)碼管顯示某些設(shè)計(b)A/D轉(zhuǎn)換某些設(shè)計(c)溫度采集某些設(shè)計(d)控制加熱和上水電路設(shè)計從系統(tǒng)需要和研究內(nèi)容可以看出,本設(shè)計需要做重要工作有:查閱有關(guān)資料,理解各某些功能原理。查閱元器件資料,掌握器件工作原理和硬件實現(xiàn)辦法。運用電腦仿真,對設(shè)計電路進行模仿檢測。1.3本課題研究預(yù)期成果設(shè)計出太陽能熱水器控制器,編寫出穩(wěn)定簡潔程序,調(diào)試成功,并在硬件電路上進行仿真達到預(yù)期目,完畢設(shè)計任務(wù)。2總體系統(tǒng)設(shè)計總體設(shè)計之前,依照該系統(tǒng)所要達到功能,選取恰當元器件和適當芯片來設(shè)計系統(tǒng),理解各器件原理和功能。太陽能熱水器控制器設(shè)計,就要有溫度采集器件,依照有關(guān)參數(shù)范疇選取了DS18B20數(shù)字溫度傳感器,采集到數(shù)據(jù)為數(shù)字量,可以直接送入單片機解決,電路簡樸,數(shù)字溫度傳感器比模仿溫度傳感器測量成果精準。要顯示水位量就要有單片機能解決水位量,這個量就要由傳感器來測量,這里水位檢測傳感器選取模仿傳感器,模仿量不能直接進入單片機進行解決,要變成二進制數(shù)字量才干送入單片機進行解決,這就要進行A/D轉(zhuǎn)換,把采集到水位信號轉(zhuǎn)換成為數(shù)字量。A/D轉(zhuǎn)換器件選取為ADC0832轉(zhuǎn)換芯片,它是一種兩路模仿量輸入,轉(zhuǎn)換完數(shù)字量串行輸出,ADC0832轉(zhuǎn)換芯片引腳少,能達到相似功能,并且電路簡樸,以便。顯示所測量成果要用到LED數(shù)碼管,用LED數(shù)碼管來顯示成果比較清晰,防水和磨損,是比較好顯示方式。要實現(xiàn)溫度穩(wěn)定控制,就需要設(shè)定溫度原則量,是和當前水溫度進行比較,看當前水溫度有無達到或者不不大于原則溫度,然后加以控制,要設(shè)立給定溫度就要有輸入裝置,采用簡樸按鍵作為輸入是很簡便,不會帶來復(fù)雜問題。控制裝置要采用電磁開關(guān)控制,這樣就不用人為操作,電磁開關(guān)在閉合或打開時候在電磁線圈上會產(chǎn)生電流,為了防止這樣電流對前面電路產(chǎn)生不良效果,與線圈并聯(lián)一種二極管,運用二極管單項導(dǎo)通性就能制止電流流回電路,保證電路安全。為了保證單片機輸出控制信號穩(wěn)定并且有足夠大電流,在單片機輸出信號后加上正向驅(qū)動器來增大信號強度,再在電磁開關(guān)之前加上光電隔離,會阻隔掉不必要干擾,通過光電隔離電壓信號是穩(wěn)定,這樣控制系統(tǒng)才干穩(wěn)定可靠工作。3總體硬件設(shè)計3.1系統(tǒng)總體硬件框圖與工作原理通過對所要設(shè)計控制系統(tǒng)功能規(guī)定進行分析,可以得道系統(tǒng)總體硬件設(shè)計框圖,如圖3-1所示。由系統(tǒng)總框圖可以看出該系統(tǒng)工作原理為:單片機89S52作為控制核心并協(xié)調(diào)節(jié)個系統(tǒng)工作,通過數(shù)字溫度傳感器檢測當前水溫度,由于數(shù)數(shù)字信號就直接送入單片機89S52內(nèi),通過單片機解決在LED數(shù)碼管上顯示當前溫度值。此外一路是在水箱中水壓傳感器測水壓力從而得到水位高低,水壓傳感器輸出是0~5V模仿量,要通過A/D轉(zhuǎn)換成為數(shù)字量再送入單片機89S52進行解決,在LED數(shù)碼管上顯示水位值。按鍵用來設(shè)定想要溫度值,單片機在內(nèi)部通過比較設(shè)定溫度和當前溫度,當前溫度不大于設(shè)定值時就會閉合電磁開關(guān),啟動加熱裝置。自動上水方面是設(shè)立水位上下限,水位不大于下限時就會閉合電磁開關(guān),就會開始上水,水位到達上線時就會自動斷開電磁開關(guān),停止上水。溫度和水位值在時時檢測,達到控制目[1]。圖3-1系統(tǒng)總體硬件框圖 3.2溫度傳感器3.2.1溫度傳感器DS18B20溫度傳感器選取DS1820數(shù)字溫度計,它以9位數(shù)字量形式反映器件溫度值。DS1820通過一種單線接口發(fā)送或接受信息,因而在中央微解決器和DS1820之間僅需一條連接線(加上地線)。用于讀寫和溫度轉(zhuǎn)換電源可以從數(shù)據(jù)線自身獲得,無需外部電源。由于每個DS1820均有一種獨特片序列號,因此多只DS1820可以同步連在一根單線總線上,這樣就可以把溫度傳感器放在許多不同地方。這一特性在HVAC環(huán)境控制、探測建筑物、儀器或機器溫度以及過程監(jiān)測和控制等方面非常有用。圖3-2DS18B20引腳排列與封裝形式表3-1DS18B20引腳闡明引腳符號闡明1GND接地2DQ數(shù)據(jù)輸入/輸出腳。對于單線操作:漏極開路3VDD可選VDD引腳。DS18B20雖然具備測溫系統(tǒng)簡樸、測溫精度高、連接以便、占用口少等長處,但在實際應(yīng)用中也應(yīng)注意一下問題:(a)較小硬件開銷需要相對復(fù)雜軟件進行連接補償,DS18B20與微解決器間采用穿行數(shù)據(jù)傳送,編程時要嚴格保證讀寫時序,否則將無法讀取測溫成果。(b)連接DS18B20總線電纜長度是有長度限制。當采用普通信號電纜傳播長度不能超過50m,采用雙絞線帶屏蔽電纜時可達到150m。(c)在DS18B20測溫程序中,向DS18B20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20返回信號,要保持接觸良好,否則會進入死循環(huán)。DS18B20特性:(a)獨特單總線接口方式。DS18B20在I/O解決器連接時,僅需要一種I/O口即可實現(xiàn)微解決器同DS18B20雙向通訊。(b)DS18B20支持組網(wǎng)功能,各種DS18B20各種DS18B20可以并聯(lián)在唯一單線上,實現(xiàn)多點測溫。(c)DS18B20測溫范疇為:-55℃~+125℃,在-10℃~+85℃時,其精度為+(d)DS18B20測量成果數(shù)字量位數(shù)從9~12位,可編程進行選取。(e)DS18B20內(nèi)部寄生電源,器件既可以由單線總線供電,也可以用外部電源供電。DS18B290測溫原理:DS18B20測量溫度采用了特有溫度測量技術(shù),它是通過計數(shù)時鐘周期來實現(xiàn),內(nèi)部計數(shù)器對一種受溫度影響振蕩器脈沖計數(shù),低溫時,振蕩器脈沖無法通過門電路。計數(shù)器設(shè)立為-55℃。同步,計數(shù)器復(fù)位在當前溫度值時,電路對振蕩器溫度系數(shù)進行補償,計數(shù)器重新開始計數(shù)直到回零。如果門電路仍未關(guān)閉,則系統(tǒng)重復(fù)上述過程[2]3.2.2DS18B20構(gòu)造DS18B20有三個重要數(shù)字部件:1.64位激光ROM,2.溫度傳感器,3.非易失性溫度報警觸發(fā)器TH和TL。器件用如下方式從單線通訊線上汲取能量:在信號線處在高電平期間把能量儲存在內(nèi)部電容里,在信號線處在低電平期間消耗電容上電能工作,直到高電平到來再給寄生電源(電容)充電。DS1820也可用外部5V電源供電。圖3-3DS18B20內(nèi)部構(gòu)造DS18B20單純通信功能是分時完畢。單線信號涉及復(fù)位脈沖,響應(yīng)脈沖,寫“0”,寫“1”,讀“1”。它們有嚴格時隙概念。系統(tǒng)對DS18B20操作以DS18B20在使用時,普通都采用單片機來實現(xiàn)數(shù)據(jù)采集。只需將DS18B20信號線與單片機1位I/O線相連,且單片機1位I/O線可掛接各種DS18B20,就可實現(xiàn)單點或多點溫度測量。DS18B20傳感器精度高、互換性好;它直接將溫度數(shù)據(jù)進行編碼,可以只使用一根電纜傳播溫度數(shù)據(jù),通信以便,傳播距離遠且抗干擾性好,與用老式溫度傳感器系統(tǒng)相比系統(tǒng)得以簡化。系統(tǒng)擴充維護十分以便。3.3水壓傳感器及A/D轉(zhuǎn)換水位傳感器輸出信號為模仿信號,由于輸出量薄弱,要通過放大器放大轉(zhuǎn)化為0~5V電壓信號,才干送入ADC0832中進行轉(zhuǎn)換,輸出為串行數(shù)字數(shù)據(jù),送入單片機89S52解決。傳感器和AD轉(zhuǎn)換原理圖如下圖3-4所示:圖3-4模仿量輸入及AD轉(zhuǎn)換電路構(gòu)造3.3.1水壓傳感器力學(xué)傳感器種類繁多,如電阻應(yīng)變片壓力傳感器、半導(dǎo)體應(yīng)變片壓力傳感器、電感式壓力傳感器、壓阻式壓力傳感器、電容式壓力傳感器、諧振式壓力傳感器及電容式加速度傳感器等。但應(yīng)用最為廣泛是壓阻式壓力傳感器,它具備極低價格和較高精度以及較好線性特性。在水箱最底部安裝壓力傳感器,水位不同,傳感器檢測到壓力值就不同,采集到模仿量信號通過解決和計算,就能換算成水位高低,通過單片機顯示[3]。3.3.2ADC0832構(gòu)造及原理圖3-5ADC0832芯片引腳圖芯片各引腳闡明:1)CS_片選使能,低電平芯片使能。2)CH0模仿輸入通道0,或作為IN+/-使用。3)CH1模仿輸入通道1,或作為IN+/-使用。4)GND芯片參照0電位(地)。5)DI數(shù)據(jù)信號輸入,選取通道控制。6)DO數(shù)據(jù)信號輸出,轉(zhuǎn)換數(shù)據(jù)輸出。7)CLK芯片時鐘輸入。8)Vcc/REF電源輸入及參照電壓輸入(復(fù)用)。ADC0832為8位辨別率A/D轉(zhuǎn)換芯片,其最高辨別可達256級,可以適應(yīng)普通模仿量轉(zhuǎn)換規(guī)定。其內(nèi)部電源輸入與參照電壓復(fù)用,使得芯片模仿電壓輸入在0~5V之間。芯片轉(zhuǎn)換時間僅為32μS,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗,以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強。獨立芯片使能輸入,使多器件掛接和解決器控制變更加以便。通過DI數(shù)據(jù)輸入端,可以容易實現(xiàn)通道功能選取。單片機對ADC0832控制原理:正常狀況下ADC0832與單片機接口應(yīng)為4條數(shù)據(jù)線,分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時并未同步有效并與單片機接口是雙向,因此電路設(shè)計時可以將DO和DI并聯(lián)在一根數(shù)據(jù)線上使用。當ADC0832沒有工作時其CS輸入端為高電平,此時芯片禁用,CLK和DO/DI電平可任意。當要進行A/D轉(zhuǎn)換時,須先將CS使能端為低電平并且保持低電平直到轉(zhuǎn)換完全結(jié)束。此時芯片開始轉(zhuǎn)換工作,同步由解決器向芯片時鐘輸入端CLK輸入時鐘脈沖,DO/DI端則使用DI端輸入通道功能選取數(shù)據(jù)信號。在第1個時鐘脈沖下沉之前DI端必為高電平,表達啟始信號。在第2、3個脈沖下沉之前DI端輸入2位數(shù)據(jù)用于選取通道功能,當此2位數(shù)據(jù)為“1”、“0”時,只對CH0進行單通道轉(zhuǎn)換。當2位數(shù)據(jù)為“1”、“1”時,只對CH1進行單通道轉(zhuǎn)換。當2位數(shù)據(jù)為“0”、“0”時,將CH0作為正輸入端IN+,CH1作為負輸入端IN-進行輸入。當2位數(shù)據(jù)為“0”、“1”時,將CH0作為負輸入端IN-,CH1作為正輸入端IN+進行輸入。到第3個脈沖下沉之后DI端輸入電平就失去輸入作用,此后DO/DI端則開始運用數(shù)據(jù)輸出DO進行轉(zhuǎn)換數(shù)據(jù)讀取。從第4個脈沖下沉開始由DO端輸出轉(zhuǎn)換數(shù)據(jù)最高位DATA7,隨后每一種脈沖下沉DO端輸出下一位數(shù)據(jù)。直到第11個脈沖時發(fā)出最低位數(shù)據(jù)DATA0,一種字節(jié)數(shù)據(jù)輸出完畢。也正是從此位開始輸出下一種相反字節(jié)數(shù)據(jù),即從第11個字節(jié)下沉輸出DATA0。隨后輸出8位數(shù)據(jù),到第19個脈沖數(shù)據(jù)輸出完畢,也標志著一次A/D轉(zhuǎn)換結(jié)束。最后將CS置高電平禁用芯片,直接將轉(zhuǎn)換后數(shù)據(jù)進行解決就可以了[3]。3.4電磁開關(guān)電路及原理要實現(xiàn)自動控制,就要有能自動閉合開關(guān),這里用到是電磁開關(guān)(繼電器),繼電器上有電流時,由于電磁感應(yīng)就會在鐵心上產(chǎn)生磁性,將開關(guān)彈片吸引,使外部電路導(dǎo)通。為了在電磁繼電器上有穩(wěn)定電流流過,前端就要有相應(yīng)控制元器件,我選取是光電隔離器件,隔離掉了不穩(wěn)定因素。使光電隔離前端發(fā)光穩(wěn)定,信號前端還需要驅(qū)動,提供穩(wěn)定信號電流。只有發(fā)光某些穩(wěn)定,背面信號才干得到穩(wěn)定輸出??刂萍訜嵫b置和上水裝置電路如圖3-6所示[4]??刂齐娐饭ぷ髟恚簡纹瑱C依照解決成果,從控制端口輸出低電平控制信號,通過正向驅(qū)動器,得到穩(wěn)定信號,使得光電隔離前端發(fā)光二極發(fā)光,電路接通,后續(xù)電路工作,輸出電壓經(jīng)分壓,三極管導(dǎo)通,電磁繼電器工作,彈片向下吸引,開關(guān)閉合,背面電路開始工作。圖3-6電磁開關(guān)控制電路3.4.1光電隔離器原理光電隔離器(opticalcoupler,英文縮寫為OC)亦稱光耦合器,簡稱光耦。光耦合器以光為媒介傳播電信號。它對輸入、輸出電信號有良好隔離作用,因此,它在各種電路中得到廣泛應(yīng)用。當前它已成為種類最多、用途最廣光電器件之一。光耦合器普通由三某些構(gòu)成:光發(fā)射、光接受及信號放大。輸入電信號驅(qū)動發(fā)光二極管(LED),使之發(fā)出一定波長光,被光探測器接受而產(chǎn)生光電流,再通過進一步放大后輸出。這就完畢了電到光再到電轉(zhuǎn)換,從而起到輸入、輸出、隔離作用。在發(fā)光二極管上提供一種偏置電流,再把信號電壓通過電阻耦合到發(fā)光二極管上,這樣光電晶體管接受到是在偏置電流上增、減變化光信號,其輸出電流將隨輸入信號電壓作線性變化。光電耦合器也可工作于開關(guān)狀態(tài),傳播脈沖信號。在傳播脈沖信號時,輸入信號和輸出信號之間存在一定延遲時間,不同構(gòu)造光電耦合器輸入、輸出延遲時間相差很大。由于光耦合器輸入輸出間互相隔離,電信號傳播具備單向性等特點,因而具備良好電絕緣能力和抗干擾能力。又由于光耦合器輸入端是電流型工作低阻元件,因而具備很強共模抑制能力。因此,它在長線傳播信息中作為終端隔離元件可以大大提高信噪比。在計算機數(shù)字通信及實時控制中作為信號隔離接口器件,可以大大增長計算機工作可靠性。光耦合器重要長處是:信號單向傳播,輸入端與輸出端完全實現(xiàn)了電氣隔離,輸出信號對輸入端無影響,抗干擾能力強,工作穩(wěn)定,無觸點,使用壽命長,傳播效率高[5]。電耦合器之因此在傳播信號同步能有效地抑制尖脈沖和各種干擾,使通道上信號穩(wěn)定性大為提高,重要有如下幾方面因素:(1)光電耦合器輸入阻抗很小,只有幾百歐姆,而干擾源阻抗較大,普通為105~106Ω。據(jù)分壓原理可知,雖然干擾電壓幅度較大,但饋送到光電耦合器輸入端干擾電壓會很小,只能形成很薄弱電流,由于沒有足夠能量而不能使二極體發(fā)光,從而被抑制掉了。(2)光電耦合器輸入回路與輸出回路之間沒有電氣聯(lián)系,也沒有共地;之間分布電容極小,而絕緣電阻又很大,因而回路一邊各種干擾都很難通過光電耦合器饋送到另一邊去,避免了共阻抗耦合干擾信號產(chǎn)生。(3)光電耦合器可起到較好安全保障作用,雖然當外部設(shè)備浮現(xiàn)故障,甚至輸入信號線短接時,也不會損壞儀表。由于光耦合器件輸入回路和輸出回路之間可以承受幾千伏高壓。3.4.2電磁繼電器原理繼電器是一種電子控制器件,它具備控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路),普通應(yīng)用于自動控制電路中,它事實上是用較小電流去控制較大電流一種“自動開關(guān)”。故在電路中起著自動調(diào)節(jié)、安全保護、轉(zhuǎn)換電路等作用。電磁式繼電器普通由鐵芯、線圈、銜鐵、觸點簧片等構(gòu)成。電磁繼電器工作原理并不復(fù)雜,它重要是運用電磁感應(yīng)原理而工作。當線圈通以電流時,線圈便產(chǎn)生磁場,線圈中間鐵心被磁化產(chǎn)生磁力.從而使銜鐵在電磁吸力作用下吸向鐵心,此時銜鐵帶動支桿將板簧推開,使兩個常閉觸點斷開。當斷開繼電器線圈電流時,鐵心便失去磁性,銜鐵在板簧作用下恢復(fù)初始狀態(tài),觸點則又閉合。觸點形式普通分為三種:一種是繼電器線圈未通電時處在接通狀態(tài)靜觸點,為常閉觸點。二種是處在斷開狀態(tài)靜觸點,稱為常開觸點,尚有一種是一種動觸點與一種靜觸點常閉,而同步與一種靜觸點常開,形成一開一閉轉(zhuǎn)換觸點形式。常閉觸點在線圈通電時由閉合狀態(tài)斷開,因此又稱為動斷觸點,而把常開觸點稱為動合觸點轉(zhuǎn)換觸點有兩種狀況,即先合后斷轉(zhuǎn)換觸點和先斷后合轉(zhuǎn)換觸點[6]。先理解必要條件:(1)控制電路電源電壓,能提供最大電流;(2)被控制電路中電壓和電流;(3)被控電路需要幾組、什么形式觸點。選用繼電器時,普通控制電路電源電壓可作為選用根據(jù)??刂齐娐窇?yīng)能給繼電器提供足夠工作電流,否則繼電器吸合是不穩(wěn)定。3.5單片機控制系統(tǒng)單片機系統(tǒng)有基本時鐘電路和復(fù)位電路,單片機頻率普通為11.0592M,復(fù)位電路有手動和上電自動復(fù)位電路,RST復(fù)位信號復(fù)位端,當此引腳保持兩個機器周期高電平時,就可以完畢復(fù)位操作。復(fù)位電路如圖:圖3-7手動復(fù)位電路圖3-8自動復(fù)位電路單片機時鐘信號是由外部接晶振產(chǎn)生,晶振連接電路如圖:圖3-9單片機晶振電路單片機芯片上集成了各種功能部件:中央解決器(CPU)、隨機存取存儲器(RAM)、只讀存儲器(ROM)、定期/計數(shù)器、和各種輸入/輸出(I/O)接口等。它們之間互相連接,構(gòu)成一種完整單片機。89S52單片機采用40引腳雙列直插封裝(DIP方式),在單片機40條引腳中有2條專用于主電源引腳,2條外接晶體振蕩引腳,4條控制與其他電源復(fù)用引腳,32條輸入/輸出(I/O)引腳[7]。AT89S52單片機是一種低功耗高性能COMS8位微控制器,內(nèi)置8KB可在線編程閃存。該器件采用Atmel公司高密度非易失性存儲技術(shù)生產(chǎn),其指令與工業(yè)原則80C51指令集兼容。片內(nèi)程序存儲器容許重復(fù)在線編程,容許程序存儲器在系統(tǒng)內(nèi)通過SPI串行口改寫或通同用非易失性存儲器改寫。通過把通過8位CPU與可在線下載Flash集成在一種芯片上,AT89S52便成為一種高效微型計算機。它應(yīng)用范疇廣,可用于解決復(fù)雜控制問題,且成本較低。AT89S52重要特性有:兼容MCS51產(chǎn)品,8K字節(jié)可擦寫1000次在線可編程ISP閃存,3級程序存儲加密,256字節(jié)內(nèi)部RAM,3個16位定期/計數(shù)器,8個中斷源,低功耗空閑方式和掉電方式,看門狗定期器,雙數(shù)據(jù)指針,靈活在線編程。其芯片引腳如圖3-10所示:圖3-10單片機芯片封裝引腳RST:復(fù)位輸入。晶體振蕩工作時,RST引腳持續(xù)兩個機器周期高電平將使單片機復(fù)位。看門狗計時完畢后,RST腳輸出96個晶振周期高電平。特殊寄存器AUXR(地址8EH)上DISRTO位可以使此功能無效。DISRTO默認狀態(tài)下,復(fù)位高電平有效。ALE:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8位地址輸出脈沖。在普通狀況下,ALE以晶振六分之一固定頻率輸出脈沖,可用來作為外部定期器或時鐘使用。然而,特別強調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。:外部程序存儲器選通信號()是外部程序存儲器選通信號。當AT89S52從外部程序存儲器執(zhí)行外部代碼時,在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,將不被激活。/VPP:訪問外部程序存儲器控制信號。為使能從0000H到FFFFH外部程序存儲器讀取指令,必要接GND。為了執(zhí)行內(nèi)部程序指令,應(yīng)當接VCC。P0口:P0口為一種8位漏極開路雙向I/O口,每個腳可吸取8TTL門電流。當P0口管腳第一次寫1時,被定義為高阻輸入。P0可以用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址第八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必要被拉高。P1口:P1口是一種內(nèi)部提供上拉電阻8位雙向I/O口,P1口緩沖器能接受輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉緣故。在FLASH編程和校驗時,P1口作為第八位地址接受。P2口:P2口為一種內(nèi)部上拉電阻8位雙向I/O口,P2口緩沖器可接受,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因而作為輸入時,P2P3口:P3口管腳是8個內(nèi)部帶上拉電阻雙向I/O口,可接受輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流這是由于上拉緣故。在單片機中,這8個引腳還用于專門功能,是復(fù)用雙功能口,作為第一功能使用時,就是普通I/O端口,值得強調(diào)是,每一條引腳都可以獨立定義第一功能輸入輸出或第二個功能。其第二功能如表3-2所示:表3-2P3口第二功能闡明口線引腳第二功能P3.010RXD(串行輸入口)P3.111TXD(串行輸出口)P3.212INT0(外部中斷0)P3.313INT1(外部中斷1)P3.414T0(定期器0外部輸入)P3.515T1(定期器1外部輸入)P3.616WR(外部數(shù)據(jù)存儲器寫脈沖)P3.717RD(外部數(shù)據(jù)存儲器讀脈沖)3.6LED數(shù)碼管顯示電路7段LED數(shù)碼管是運用7個LED(發(fā)光二極管)外加一種小數(shù)點LED組合而成顯示設(shè)備,可以顯示0~9等10個數(shù)字和小數(shù)點,此類數(shù)碼管可以分為公陰極與共陽極兩種,共陽極就是把所有LED陽極連接到共同結(jié)點,而每個LED陰極分別為a,b,c,d,e,f,g及dp(小數(shù)點);共陰極就是把所有LED陽極連接到共同結(jié)點,而每個LED陽極分別為a,b,c,d,e,f,g及dp(小數(shù)點),如圖3-11所示:圖3-11數(shù)碼管原理電路依照數(shù)碼管驅(qū)動方式不同,可以分為靜態(tài)式和動態(tài)式兩類。靜態(tài)顯示驅(qū)動:每個數(shù)碼管每個段都由一種單片機I/O端口進行驅(qū)動,或者使用如BCD碼二~十進制譯碼器譯碼進行驅(qū)動。靜態(tài)驅(qū)動長處是編程簡樸,顯示亮度高,缺陷是占用I/O端口多。動態(tài)顯示驅(qū)動:動態(tài)驅(qū)動是將所有數(shù)碼管8個顯示筆劃“a,b,c,d,e,f,g,dp”同名端連在一起,位選通由各自獨立I/O線控制,當單片機輸出字形碼時,所有數(shù)碼管都接受到相似字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通控制,因此咱們只要將需要顯示數(shù)碼管選通控制打開,該位就顯示出字形。圖3-12單片機與數(shù)碼管連接電路3.7按鍵電路設(shè)計按鍵是用來向系統(tǒng)提供操作人員命令接口,因此精確無誤地辨認每個鍵動作以及其所處狀態(tài),是系統(tǒng)能否正常工作核心。多數(shù)按鍵多采用機械彈性開關(guān),一次高低電平變化就是一次命令。但是按鍵抖動是難以避免,為了穩(wěn)定操作,咱們要防止抖動發(fā)生,就要消除抖動影響,可以從硬件和軟件兩方面解決。硬件防抖電路:運用RC積分電路對干擾脈沖吸取作用,選取好電路時間常數(shù),就能在按鍵抖動信號通過此濾波電路時,消除抖動影響。濾波防抖電路圖如圖2-12所示。當K位按下時,電容C兩端電壓均為0,非門輸出為1。當K按下時,由于C兩端電壓不也許產(chǎn)生突變。盡管在觸點接觸過程種也許浮現(xiàn)抖動,只要恰當選用R1、R2和C值,即可保證電容C兩端充電電壓波動不超過非門啟動電壓(TTL位0.8V),非門輸出維持高電平。同理,當觸點斷開時,由于電容C通過電阻R放電,C兩端放電電壓波動不會超過門關(guān)閉電壓,因而,門輸出也不會變化[8]??傊?,只要R1、R2和C時間常數(shù)選獲得當,保證電容C有穩(wěn)態(tài)電壓充電到啟動電壓,或放電到關(guān)閉電壓延遲時間等于或不不大于10ms,該電路就能消除抖動影響。圖3-13單片機與數(shù)碼管連接電路軟件防抖辦法:當?shù)谝淮螜z測到有鍵按下時,先用軟件延時(10~20ms),而后再確認該鍵電平與否仍維持閉合狀態(tài)電平。若保持閉合狀態(tài)電平,則確認此鍵一按下,從而消除了抖動影響。4軟件設(shè)計方案硬件電路是一切基本,在其基本上軟件設(shè)計是核心某些,它是單片機工作重點,就是讓各某些協(xié)調(diào)工作命令,軟件程序重要性是毋庸置疑,是整個控制系統(tǒng)命脈,依照各某些編寫相應(yīng)驅(qū)動程序,才干使得相應(yīng)芯片有其功能,因此程序設(shè)計是非常重要。芯片工作有著與自己相應(yīng)時序圖,只有依照時序精確執(zhí)行命令才干達到想要目,實現(xiàn)芯片功能。程序設(shè)計還要有著一定思路,依照系統(tǒng)運營過程要畫出相應(yīng)程序流程圖,依照流程圖寫程序是非常以便,也不容易產(chǎn)生錯誤,得到對的程序。如圖4-1所示圖4-1系統(tǒng)程序總流程圖4.1DS18B20驅(qū)動程序設(shè)計DS18B20數(shù)字溫度計提供9位(二進制)溫度讀數(shù),批示器件溫度。信息通過單線接口送入DS18B20或從DS18B20送出,因而從主機CPU到DS18B20僅需一條數(shù)據(jù)線和地線,電源可以有數(shù)據(jù)線自身提供而不需要外部電源。DS18B20測量范疇從-55°C到+125°C。溫度傳感器引腳如表4-1所示。表4-1DS18B20管腳連接管腳號名稱功能電路連接狀況1GND接電源地DGND2DQ數(shù)據(jù)輸出P3.5端3VDD接+5V電源VCC每一種DS18B20涉及一種唯一64位長序號,該序號存儲在DS18B20內(nèi)部ROM中。開始8位是產(chǎn)品類型編碼(DSl820編碼均為10H)接著48位是每個器件唯一序號最后8位是前面56位CRC(循環(huán)冗余校驗)碼DSl820中尚有用于貯存測得溫度值兩個8位存貯器RAM編號為0號和1號1號存貯器存儲溫度值符號如果溫度為負,則1號存貯器8位全為1,否則全為00號存貯器用于存儲溫度值補碼LSB(最低位)1表達0.5。DS1820用9位存貯溫度值,最高位為符號位下表為DS18B20溫度存儲方式負溫度S=1正溫度S=0。表4-2DS18B20溫度存儲Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0LSBBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8MSBSSSSSSSS4.1.1DS18B20工作過程及時序DS18B20 工作過程中合同如下:1.初始化單總線上所有解決均從初始化開始。2.ROM操作指令主機檢測到DS18B20存在,便可以發(fā)出ROM操作命令之一,這些命令如指令代碼ReadROM(讀ROM)[33H]MatchROM(匹配ROM)[55H]SkipROM(跳過ROM][CCH]SearchROM(搜索ROM)[F0H]Alarmsearch(告警搜索)[ECH]3.存儲器操作命令指令代碼WriteScratchpad(寫暫存存儲器)[4EH]ReadScratchpad(讀暫存存儲器)[BEH]CopyScratchpad(復(fù)制暫存存儲器)[48H]ConvertTemperature(溫度變換)[44H]RecallEPROM(重新調(diào)出)[B8H]ReadPowersupply(讀電源)[B4H]4.時序主機使用時間隙(timeslots)來讀寫DSl820數(shù)據(jù)位和寫命令字位[9]。(1)初始化時序見圖2.25-2主機總線to時刻發(fā)送一種復(fù)位脈沖(最短為480us低電平信號),接著在tl時刻釋放總線并進入接受狀態(tài),DSl8B20在檢測到總線上升沿之后,等待15-60us接著DS1820在t2時刻發(fā)出存在脈沖(低電平持續(xù)60-240us)如圖中虛線所示圖4-2初始化時序圖(2)寫時間隙當主機總線to時刻從高拉至低電平時就產(chǎn)生寫時間隙見圖,從to時刻開始15us之內(nèi)應(yīng)將所需寫位送到總線上DSl8B20在t后15-60us間對總線采樣若低電平寫入位是0見圖,若高電平寫入位是1見圖,持續(xù)寫2位間間隙應(yīng)不不大于1us。圖4-3寫0時序圖圖4-4寫1時序圖(3)讀時間隙主機總線to時刻從高拉至低電平時,總線只須保持低電平l7ts,之后在t1時刻將總線拉高,產(chǎn)生讀時間隙,讀時間隙在t1時刻后t2時刻前有效。t2距to為15u,s也就是說,t2時刻前主機必要完畢讀位,并在to后60us一120us內(nèi)釋放總線。讀位子程序(讀得位到C中)[10]。圖4-5讀時序圖4.1.2DS18B20驅(qū)動程序voiddelay(uinti)//延時函數(shù){ while(i--);}Init_DS18B20(void)//初始化函數(shù){ ucharx=0; DQ=1;//DQ復(fù)位 delay(8);//稍做延時 DQ=0;//單片機將DQ拉低 delay(80);//精準延時不不大于480us DQ=1;//拉高總線 delay(14); x=DQ;//稍做延時后如果x=0則初始化成功x=1則初始化失敗 delay(20);}Read(void)//讀一種字節(jié){ uchari=0; uchardat=0; for(i=8;i>0;i--) { DQ=0;//給脈沖信號 dat>>=1; DQ=1;//給脈沖信號 if(DQ)dat|=0x80; delay(4); } return(dat);}Write(uchardat)//寫一種字節(jié){ uchari=0; for(i=8;i>0;i--) { DQ=0; DQ=dat&0x01; delay(5); DQ=1; dat>>=1; }}ReadTemperature(void)//讀取溫度{ uchara=0; ucharb=0; uintt=0; floattt=0; Init_DS18B20(); Write(0xCC);//跳過讀序號列號操作 Write(0x44);//啟動溫度轉(zhuǎn)換 Init_DS18B20(); Write(0xCC);//跳過讀序號列號操作 Write(0xBE);//讀取溫度寄存器等(共可讀9個寄存器)前兩個就是溫度 a=Read(); b=Read(); t=b; t<<=8; t=t|a; tt=t*0.0625;//將溫度高位與低位合并 t=tt*10+0.5;//對成果進行4舍5入 return(t);}4.2串行AD轉(zhuǎn)換器ADC0832程序設(shè)計由于微機只能解決數(shù)字化信息,而在實際應(yīng)用中被控對象經(jīng)常是持續(xù)變化物理量,因而,微機用于控制系統(tǒng)是需要有能把模仿信號轉(zhuǎn)換成數(shù)字信號接口,以便能對被控制對象進行解決和控制。A/D轉(zhuǎn)換器就是承擔這樣任務(wù),A/D轉(zhuǎn)換就是把模仿量轉(zhuǎn)化成為二進制數(shù)字量,普通A/D轉(zhuǎn)換過程是通過采樣、保持,量化,編碼4個環(huán)節(jié)完畢,這些往往是合并運營。輸入配備可在多路器尋址時序中進行。多路器地址可通過DI端移入轉(zhuǎn)換器。多路器地址選取模仿輸入通道可決定輸入是單端輸入還是差分輸入[11]。當輸入是差分時,應(yīng)分派輸入通道極性,并應(yīng)將差分輸入分派到相鄰輸入通道對中。例如通道0和通道1可被選為一對差分輸入。此外,在選取差分輸入方式時,極性也可以選取。一對輸入通道兩個輸入端任何一種都可以作為正極或負極。普通ADC0832在輸出以最高位(MSB)開頭數(shù)據(jù)流后,會以最低位(LSB)開頭重輸出一遍(前面數(shù)據(jù)流)。(因而,編程時要發(fā)兩輪脈沖,第一次取數(shù)據(jù),第二次若不要從低到高數(shù)據(jù),也要發(fā)一輪8個脈沖將ADC0832中寄存器數(shù)據(jù)移出。其工作時序如下所示:圖4-6ADC0832讀寫時序圖ADC0832有8只引腳,CH0和CH1為模仿輸入端,CS為片選引腳,只有CS置0才干對ADC0832進行配備和啟動轉(zhuǎn)換。CLK為ADC0832時鐘輸入端。CS在整個轉(zhuǎn)換過程中都必要為低,當CS為低時,在數(shù)據(jù)輸入端DI(數(shù)據(jù)輸入端)加一種高電平(這個高電平是算在送到DI一位之中,那么背面就只要再送兩位。這個高電平是作為起始標志),接著在CLK上加一種時鐘,DI上邏輯1就會使ADC0832DI脫離高阻態(tài),然后通道配備數(shù)據(jù)隨著著時鐘通過DI端移入多路器,當最后一位數(shù)據(jù)移入多路器時(數(shù)據(jù)是三位,前一位標志輸入開始,后兩位是用來作通道設(shè)立和選?。?,DI變?yōu)楦咦钁B(tài),在這此前DO(數(shù)據(jù)輸出端)都為高阻態(tài)(就是CS從高跳到低到當前)。在通過一種時鐘(是指在最后一種數(shù)據(jù)從DI移入后,還要再通過一種時鐘,當最后一位數(shù)據(jù)移入DI,需要再加一種時鐘使DO脫離高阻態(tài)),DO脫離高阻狀態(tài)并啟動轉(zhuǎn)換。接著從解決器接受時鐘信號,每通過一種時鐘,轉(zhuǎn)換后數(shù)據(jù)就會從高位到低位逐次從DO移出,通過8個時鐘后,數(shù)據(jù)又以從低位到高位形式從DO移出(也是每個時鐘移一位)。當最后一位數(shù)據(jù)移出時轉(zhuǎn)換完畢。當CS從低變?yōu)楦邥r,ADC0832內(nèi)部所有寄存器清零。如想要進行下一次轉(zhuǎn)換,CS必要做一種從高到低跳變,后跟著地此配備數(shù)據(jù)重復(fù)上面過程[12]。表4-3DS18B20通道選取多路轉(zhuǎn)換器地址通道SGL/ODD/SIGN0100+-01-+10+11+依照上述ADC0832有關(guān)轉(zhuǎn)換時序,進行單片機和ADC0832連接時,由于DI和DO并不是同步使用,因此DI和DO可以共用單片機一條I/O線,再加上一條時鐘線和一條片選線就可以實現(xiàn)單片機和ADC0832連接,流程圖如圖4-7所示圖4-7ADC0832工作流程圖如下是ADC0832進行工作驅(qū)動程序:unsignedintAdc0832(unsignedcharchannel){uchari=0; ucharj; uintdat=0; ucharndat=0; if(channel==0)channel=2; if(channel==1)channel=3; ADDI=1; _nop_(); _nop_(); ADCS=0;//拉低CS端 _nop_(); _nop_(); ADCLK=1;//拉高CLK端 _nop_(); _nop_(); ADCLK=0;//拉低CLK端,形成下降沿1 _nop_(); _nop_(); ADCLK=1;//拉高CLK端 ADDI=channel&0x1; _nop_(); _nop_(); ADCLK=0;//拉低CLK端,形成下降沿2 _nop_(); _nop_(); ADCLK=1;//拉高CLK端 ADDI=(channel>>1)&0x1; _nop_(); _nop_(); ADCLK=0;//拉低CLK端,形成下降沿3 ADDI=1;//控制命令結(jié)束 _nop_(); _nop_(); dat=0; for(i=0;i<8;i++) { dat|=ADDO;//收數(shù)據(jù) ADCLK=1; _nop_(); _nop_(); ADCLK=0;//形成一次時鐘脈沖 _nop_(); _nop_(); dat<<=1; if(i==7)dat|=ADDO; } for(i=0;i<8;i++) { j=0; j=j|ADDO;//收數(shù)據(jù) ADCLK=1; _nop_(); _nop_(); ADCLK=0;//形成一次時鐘脈沖 _nop_(); _nop_(); j=j<<7; ndat=ndat|j; if(i<7)ndat>>=1; } ADCS=1;//拉低CS端 ADCLK=0;//拉低CLK端 ADDO=1;//拉高數(shù)據(jù)端,回到初始狀態(tài) dat<<=8; dat|=ndat; return(dat);//返回數(shù)據(jù)}4.3按鍵控制程序設(shè)計按鍵是外部命令體現(xiàn),一種按鍵從沒有按下到按下以及釋放是一種完整過程,也就是說,當咱們按下一種按鍵時,總但愿某個命令只執(zhí)行一次,而在按鍵按下過程中,不要有干擾進來,由于,在按下過程中,一旦有干擾過來,也許導(dǎo)致誤觸發(fā)過程,這并不是咱們所想要。因而在按鍵按下時候,要把咱們手上干擾信號以及按鍵機械接觸等干擾信號濾除掉,普通狀況下,咱們可以采用電容來濾除掉這些干擾信號,但事實上,會增長硬件成本及硬件電路體積,這是咱們不但愿,總得有個辦法解決這個問題,因而咱們可以采用軟件濾波辦法去除這些干擾信號,普通狀況下,一種按鍵按下時候,總是在按下時刻存在著一定干擾信號,按下之后就基本上進入了穩(wěn)定狀態(tài)[13]。詳細一種按鍵從按下到釋放全過程信號圖如下圖所示:圖4-8按鍵抱負波形圖圖4-9按鍵實際波形從圖中可以看出,由于按鍵機械特性,當按鍵閉合時,并不能立即保存良好接觸,而是來回彈跳。這個時間很短,咱們手主線感覺不出來。但是對于一秒鐘執(zhí)行百萬條指令單片機而言,這個時間是相稱長了。那么在這段抖動時間內(nèi),單片機也許讀到多次高低電平變化。如果不加任何解決話,就會以為已經(jīng)按下,或者松開諸多次了。而事實上,咱們手始終按在按鍵上,并沒有重復(fù)按動諸多次。要想可以對的判斷按鍵與否按下就要避開這段抖動時間。咱們在程序設(shè)計時,從按鍵被辨認按下之后,延時10ms以上,從而避開了干擾信號區(qū)域,咱們再來檢測一次,看按鍵與否真得已經(jīng)按下,若真得已經(jīng)按下,這時必定輸出為低電平,若這時檢測到是高電平,證明剛才是由于干擾信號引起誤觸發(fā),CPU就以為是誤觸發(fā)信號而舍棄這次按鍵辨認過程。從而提高了系統(tǒng)可靠性。由于規(guī)定每按下一次,命令被執(zhí)行一次,直到下一次再按下時候,再執(zhí)行一次命令,因而從按鍵被辨認出來之后,咱們就可以執(zhí)行這次命令,因此要有一種等待按鍵釋放過程,顯然釋放過程,就是使其恢復(fù)成高電平狀態(tài)。程序設(shè)計過程中按鍵辨認過程框圖如下圖所示:圖4-10按鍵檢測框圖按鍵控制程序如下:voiddelay(ucharz)//延時程序{ucharx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);voidmain(){ if(up_key==0)//有按鍵按下嗎 { delay(10);//延時10ms if(up_key==0)//確認有按鍵按下嗎 temp=temp+10;//執(zhí)行操作 while(!up_key);//按鍵放開了嗎 delay(10);//延時10ms while(!up_key);//確認按鍵放開 } elseif(down_key==0) { delay(10); if(down_key==0) temp--; while(!down_key); delay(10); while(!down_key);}4.4LED數(shù)碼管顯示程序設(shè)計將所得到成果用LED數(shù)碼管顯示出來,給人直觀理解當前系統(tǒng)狀態(tài),數(shù)碼管要顯示當前系統(tǒng)值,就要有一定端口往數(shù)碼管送入數(shù)據(jù),還要有點亮數(shù)碼管信號為,咱們要將0~9這十個數(shù)字碼字定義成一種數(shù)組[14],通過檢查輸出數(shù)據(jù)查斷碼表,就能顯示相應(yīng)數(shù)字。表4-47段LED字型碼顯示字符共陽極字型碼共陰極字型碼顯示字符共陽極字型碼共陰極字型碼03FHC0H56DH92H106HF9H67DH82H25BHA4H707HF8H34FHB0H87FH80H466H99H96FH90H由于在硬件電路中,是將P0口和數(shù)碼管段碼位相連,位選信號P2口與數(shù)碼管亮滅關(guān)于,掌握著是哪個數(shù)碼管亮,接下來程序就要定義有關(guān)端口:(1)定義字位和字型口#definesled_dm_portP0/*定義數(shù)碼管段碼控制腳*/#definesled_wm_portP2/*定義數(shù)碼管位碼控制腳*/(2)定義字型編碼表(數(shù)字0~9)ucharcodedu_char[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,};(3)顯示:得到字型和字位口地址后,向不同字位送數(shù)據(jù),進行顯示。(4)動態(tài)掃描:由于使用動態(tài)顯示法,在LED顯示程序中,需要不斷地進行掃描字位口,從而實現(xiàn)不同字位數(shù)據(jù)動態(tài)掃描成果。圖4-11LED顯示程序流程圖 (5)數(shù)碼管顯示主程序/*1MS為單位延時程序*/voiddelay_1ms(ucharz){ucharx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}main(){ uinttemp_buff; uchari; sled_dm_port=0; while(1) { temp_buff=ReadTemperature();/*讀取當前溫度*/ sled_data[5]=du_char[temp_buff/100]; sled_data[6]=du_char[temp_buff%100/10]; sled_data[7]=du_char[temp_buff%10]; for(i=0;i<8;i++) { sled_wm_port=0x00;/*關(guān)閉顯示*/ sled_dm_port=sled_data[i];/*輸出段碼數(shù)據(jù)到數(shù)碼管*/ if(i==6)sled_dm_port=sled_dm_port&0x7f;/*顯示小數(shù)點*/ sled_wm_port=we_table[i];/*輸出位碼數(shù)據(jù)到數(shù)碼管*/ delay_1ms(1); } }}5硬件電路仿真成果5.1溫度仿真通過硬件電路和軟件結(jié)合,測試程序?qū)Φ男?,需要仿真溫度顯示和可控制加熱方面與否達到規(guī)定,需要通過proteus軟件做如下仿真:5.1.1溫度顯示仿真仿真成果表白,顯示溫度和數(shù)字溫度傳感器DS18B20上顯示數(shù)據(jù)相似,表白程序?qū)囟葌鞲衅鱀S18B20中溫度數(shù)據(jù)對的讀出,達到了讀取溫度和顯示溫度目。圖5-1溫度顯示仿真圖5.1.2溫度控制仿真溫度控制就是當溫度低于某個溫度值是閉合開關(guān),而閉合開關(guān)一陣時間后溫度達到適當溫度后開關(guān)就會自動斷開,停止加熱。設(shè)定溫度值為40度,如下是溫度控制仿真成果:溫度沒有低于設(shè)定溫度時開關(guān)在右側(cè),當溫度低于設(shè)定值時開關(guān)就會向左邊閉合,啟動加熱。圖5-2溫度高于設(shè)定溫度圖5-3溫度低于設(shè)定溫度5.2水位仿真水位控制就是實現(xiàn)自動上水,保持水箱中始終有水,自動上水功能實現(xiàn)就要設(shè)定控制水位上限和下限,當水位低于下限時開關(guān)閉合開始上水,當水位高于設(shè)定上限時開關(guān)斷開,達到自動控制水位功能。5.2.1水位顯示仿真水位顯示是將傳感器檢測到0~5V模仿信號通過ADC0832轉(zhuǎn)換成為8為二進制數(shù)(0~255),通過計算讓水位顯示在0~100之間,通過單片機解決讓數(shù)據(jù)顯示在LED數(shù)碼管上。圖5-4當前水位顯示5.2.2水位控制仿真當水位低于20%時,開關(guān)就會閉合,合向左邊啟動電機上水。而當水位高于90%時,開關(guān)就會斷開,合向右邊關(guān)閉電機上水??刂品抡娉晒缦聢D所示:圖5-5當前水位低于設(shè)定水位圖5-6當前水位高于設(shè)定水位5.3仿真成果分析依照仿真構(gòu)造來看,硬件和軟件都基本達到了設(shè)計規(guī)定,實現(xiàn)了通過數(shù)字溫度傳感器檢測當前水溫度,通過單片機解決在LED數(shù)碼管上顯示當前溫度值。水壓傳感器輸出是0~5V模仿量,通過A/D轉(zhuǎn)換成為數(shù)字量送入單片機進行解決,在LED數(shù)碼管上顯示水位值。通過比較設(shè)定溫度和當前溫度,當前溫度不大于設(shè)定值時就會閉合電磁開關(guān),啟動加熱裝置。自動上水方面是設(shè)立水位上下限,水位不大于下限時就會閉合電磁開關(guān),就會開始上水,水位到達上線時就會自動斷開電磁開關(guān),停止上水。致謝通過幾種月親手實踐,查閱資料,我所做畢業(yè)設(shè)計任務(wù)順利完畢。在此過程中,我學(xué)到了做任何事情自己都要認真對待,不能馬虎,要有始有終。在自己有困難時候祈求教師和同窗協(xié)助,在教師和同窗協(xié)助下,自己克服了畢業(yè)設(shè)計中遇到某些困難。通過這次畢業(yè)實際人認清了自己,但是沒有教師和同窗協(xié)助,我想我也難以完畢這次畢業(yè)設(shè)計任務(wù),因而我要感謝那些在我困難時對我知識和精神上協(xié)助朋友、教師和同窗們,我生活因你們而精彩和充實。一方面,張攀峰教師以淵博知識教誨我、嚴謹治學(xué)態(tài)度督促我、踏實專研精神感染我,使我學(xué)習(xí)到更多專業(yè)知識和懂得更多人生道理,這些都將會在后來學(xué)習(xí)工作中讓我受益匪淺。教師協(xié)助是最重要,張教師經(jīng)常提示我要好好做,不會就去找她,她那種認真讓我感到傾佩,非常感謝張教師諄諄教誨,愿張教師工作順利、事業(yè)更上一層樓。另一方面,在此過程中,同窗朋友互相支持、互相安慰、情同手足,我舍友也給了我很大支持,我在遇到問題解決不了時,就覺得煩躁,她們就過來幫我解決問題,有時一種問題要花好長時間來解決,她們都始終認真協(xié)助我,使我非常感激有這樣某些好舍友。最后,衷心感謝所有教師對我栽培、支持和勉勵,感謝所有朋友關(guān)懷和協(xié)助。向在百忙中抽出時間來協(xié)助我,沒有她們協(xié)助和支持,完畢畢業(yè)設(shè)計任務(wù)就是一種很大難題,就不能這樣順利完畢。參考文獻[1]藺金元,車進.單片機智能控制在太陽能熱水器中應(yīng)用[J].河西學(xué)院學(xué)報第25卷第2期.:21-23.[2]楊新華,郝曉弘,邵輝.基于89C51智能型太陽熱水器控制系統(tǒng)[J].甘肅科學(xué)學(xué)報.(9):88-91.[3]王長胤.單片機原理及應(yīng)用[M].武漢:武漢大學(xué)出版社.1993:64-120.[4]王俊杰.基于89C51單片機太陽能熱水器智能控制器設(shè)計[J].鄭州輕工業(yè)學(xué)院學(xué)報(自然科學(xué)版)第20卷第3期.:67-68.[5]何立民.單片機應(yīng)用系統(tǒng)設(shè)計系統(tǒng)配備與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社.:34-42.[6]張振榮,晉明武,王毅平.MCS-51單片機原理及實用技術(shù)[M].北京:人民郵電出版社.:64-120.[7]郭惠,吳迅.單片機C語言程序設(shè)計[M].北京:電子工業(yè)出版社.:235-240.[8]陸子明.單片機設(shè)計與應(yīng)用基本教程[M].北京:國防工業(yè)出版社.:206-210.[9]劉杰英.水位監(jiān)測系統(tǒng)設(shè)計[J].信息技術(shù)第5期.:141-142.[10]張景文,王震宏.基于單片機太陽能熱水器智能控制系統(tǒng)[J].西華大學(xué)學(xué)報(自然科學(xué)版)第27卷第5期..25-28.[11]殷為民.太陽能水溫水位儀[J].家用電子.1999:372-381.[12]徐龍坤.輔助加熱式太陽能熱水器[J].家用電器.1997:9-10.[13]鄒燦,紅李斌.太陽能熱水器智能控制系統(tǒng)[J].電子科學(xué).42-43.[14]齊劍玲,曾玉紅.智能水位控制系統(tǒng)[J].海淀走讀大學(xué)學(xué)報第一期.:87-91.[15]張學(xué)峰.基于單片機控制太陽能熱水器全自動電路[J].當代電子技術(shù)第4期總第195期.:5-7.附錄Ⅰ系統(tǒng)總原理圖附圖Ⅰ-1系統(tǒng)總原理圖附錄Ⅱ系統(tǒng)源程序#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedchar#definesled_AD_portP0#definesled_WD_portP1#definesled_wm_portP2sbitDQ=P3^5;sbitADCS=P3^2;tsbitADCLK=P3^3;sbitADDI=P3^4;sbitADDO=P3^4;sbitkai1=P3^1;sbitkai2=P3^2;ucharcodedu_char[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,};ucharcodewe_table[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};uchardatasled_data[8]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};uchardataled_lighten_bit=0;voiddelay_1ms(ucharz) {ucharx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}//////////////////如下是DS18B20驅(qū)動程序////////////////voiddelay(uinti) { while(i--);}//初始化函數(shù)Init_DS18B20(void){ ucharx=0; DQ=1; delay(8); DQ=0; delay(80); DQ=1; delay(14); x=DQ; delay(20);}Read(void){ uchari=0; uchardat=0; for(i=8;i>0;i--){ DQ=0; dat>>=1; DQ=1;// if(DQ)dat|=0x80; delay(4); } return(dat);}Write(uchardat){ uchari=0; for(i=8;i>0;i--){ DQ=0; DQ=dat&0x01; delay(5); DQ=1; dat>>=1; }}ReadTemperature(void){ uchara=0; ucharb=0; uintt=0; floattt=0; Init_DS18B20(); Write(0xCC); W
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工作心得體會總結(jié)
- 2025年度典當物品鑒定與拍賣代理服務(wù)合同3篇
- 二零二五年度軍事通信保密協(xié)議及網(wǎng)絡(luò)維護合同3篇
- 二零二五年度幼兒早期教育托管班入園協(xié)議書3篇
- 二零二五年度養(yǎng)殖場租賃與農(nóng)業(yè)生態(tài)循環(huán)經(jīng)濟發(fā)展合作合同3篇
- 2025年度新型建筑材料內(nèi)部承包協(xié)議書3篇
- 2025年度農(nóng)村保潔員崗位職責及待遇合同
- 2025年度水產(chǎn)養(yǎng)殖廢棄物處理設(shè)施建設(shè)合作協(xié)議合同3篇
- 2025年度教育培訓(xùn)機構(gòu)掛靠合作協(xié)議書標準模板3篇
- 二零二五年度農(nóng)業(yè)現(xiàn)代化土地承包合作框架協(xié)議3篇
- 項目資金管理統(tǒng)籌實施方案
- 國家開放大學(xué)電大《金融市場》教學(xué)考一體化網(wǎng)考形考試題及答案-圖文
- 2024年P(guān)URL系列反應(yīng)型皮革用聚氨酯乳液項目合作計劃書
- GB/T 44328-2024七氟異丁腈
- 湖南省常德市桃源縣市級名校2024年中考數(shù)學(xué)模試卷含解析
- 山里的夜(2022年浙江金華中考語文試卷記敘文閱讀題及答案)
- 安全保衛(wèi)工作方案和滅火,應(yīng)急疏散預(yù)案
- DBJ15 31-2016建筑地基基礎(chǔ)設(shè)計規(guī)范(廣東省標準)
- 基于PLC的食品包裝機控制系統(tǒng)設(shè)計
- 保密協(xié)議簡單合同范本
- 機械設(shè)計作業(yè)集
評論
0/150
提交評論