版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
緒論 12總體設(shè)計(jì)方案 12.1進(jìn)水控制 12.2加熱控制 22.3基本的設(shè)計(jì)要求 23系統(tǒng)的硬件設(shè)計(jì) 23.1溫度控制與顯示電路 23.1.1顯示電路 23.1.2溫度檢測電路 33.1.3CPU主電路 53.2水位控制 43.3電加熱電路 53.4時(shí)間繼電器控制電路 53.5漏電檢測及報(bào)警電路 63.6電源電路 74系統(tǒng)的軟件設(shè)計(jì) 74.1抗干擾設(shè)計(jì) 74.2程序設(shè)計(jì) 75結(jié)束語 9致謝 9參考文獻(xiàn) 9附錄 11
1緒論電熱水器是為人們提供溫水或飲用水的電熱器具,它具有衛(wèi)生、方便、加熱迅速等特點(diǎn),得到了廣泛的應(yīng)用。電熱水器種類很多,但是就目前的產(chǎn)品來看,都存在著水不能沸騰且冷熱水混流,也就是人們所謂的“陰陽水”的問題。傳統(tǒng)的熱水器注水方式采用的是浮球閥,當(dāng)箱內(nèi)的水流出后冷水就會(huì)自動(dòng)進(jìn)入箱內(nèi),冷熱水混流形成“陰陽水”,當(dāng)人們飲用后造成無畏的傷害,且它所使用的地理位置也嚴(yán)重受到限制。本設(shè)計(jì)在保留原產(chǎn)品的基礎(chǔ)上,加入了水位的檢測及自動(dòng)注水控制,沸騰后自動(dòng)斷電等電路,解決了傳統(tǒng)產(chǎn)品的缺點(diǎn)。此外,還對(duì)系統(tǒng)的硬件和軟件采取抗干擾措施,以保障系統(tǒng)的穩(wěn)定運(yùn)行。2總體設(shè)計(jì)方案圖1結(jié)構(gòu)示意圖熱水器結(jié)構(gòu)如圖1所示。系統(tǒng)通電加熱管發(fā)熱,并顯示當(dāng)前溫度,溫度逐漸上升,當(dāng)水溫達(dá)到溫度傳感器的設(shè)定值時(shí),時(shí)間繼電器通電,開始延時(shí),延時(shí)時(shí)間到水沸騰,然后加熱管停止加熱。當(dāng)箱內(nèi)水位下降到低于水位探頭1時(shí),產(chǎn)生一個(gè)電信號(hào)送給進(jìn)水電磁閥的控制電路,電磁閥打開進(jìn)水口注水,水位超過水位探頭3時(shí),電磁閥斷電,停止注水。電磁閥采用DF系列水用的電磁閥。本閥適用于以水或其它氣液體為工作介質(zhì),可自動(dòng)化控制或遠(yuǎn)程控制空氣、水、油液體等工作介質(zhì)管路的通斷。適用溫度-5~125℃,開閥能力0.03-0.8Mpa,最高工作壓力0.8Mpa,公稱通徑2.5-50mm。2.1進(jìn)水控制當(dāng)水位傳感器檢測到水位低于水位探頭2時(shí),輸出一個(gè)電信號(hào)去控制電磁閥,其線圈得電,形成電磁場,銜鐵在磁力的作用下,打開閥門向箱內(nèi)注水;它可以保證箱內(nèi)有充足的水。當(dāng)水位高于水位探頭3時(shí),輸出一個(gè)電信號(hào)讓電磁閥閉合,進(jìn)水停止。通過水位探頭與電磁閥打開與閉合來完成進(jìn)水的循環(huán)過程。2.2加熱控制水位探頭1的位置高于加熱管,其作用是當(dāng)通電后若檢測到水位低于探頭1時(shí),加熱將不會(huì)能通電,這樣就完成了防止干燒的控制。當(dāng)水位高于探頭1且水溫低于85度時(shí)加熱管通電,開始加熱。當(dāng)水加熱到溫度傳感器的設(shè)定值,時(shí)間繼電器通電開始延時(shí),延時(shí)時(shí)間到加熱管斷電。通過時(shí)間繼電器與溫度傳感器的雙重控制可以保證水能循環(huán)加熱。2.3基本的設(shè)計(jì)要求以單片機(jī)為主控芯片構(gòu)成的電熱水器控制器,其基本的設(shè)計(jì)要求:(1)具有漏電保護(hù)功能;(2)水沸騰后能自動(dòng)斷電;(3)溫度低于85℃時(shí)自動(dòng)加熱;(4)測量水溫,并通過顯示器實(shí)時(shí)顯示水溫,其顯示范圍為0~105℃;(5)具有超溫?cái)嚯姳Wo(hù)并報(bào)警提示的功能;(6)出現(xiàn)傳感器故障時(shí),可迅速切斷加熱元件電源并報(bào)警提示;還要求控制器有較強(qiáng)的抗干擾能力,達(dá)到或超過家用電器檢測標(biāo)準(zhǔn),并符合國家安全認(rèn)證和國際上的相關(guān)安全認(rèn)證標(biāo)準(zhǔn)[1]。3系統(tǒng)的硬件設(shè)計(jì)AT89S51AT89S51電源電路溫度檢測電路漏電檢測報(bào)警顯示電路電加熱電路時(shí)鐘復(fù)位電路壓力控制電路圖2系統(tǒng)框圖3.1溫度控制與顯示電路3.1.1顯示電路圖3顯示電路根據(jù)溫度的顯示范圍(0-105)需要三個(gè)LED數(shù)碼顯示器,采用共陽極靜態(tài)顯示。LED具有耗電省,成本低,配置靈活,安裝方便等優(yōu)點(diǎn)。顯示器采用串行口設(shè)置為方式0輸出方式,外接74LS164移位寄存器構(gòu)成顯示器接口電路,如圖3。3.1.2溫度檢測電路由DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20型單線智能溫度傳感器,屬于新一代適配微處理器的智能溫度傳感器,可廣泛用于工業(yè)、民用、軍事等領(lǐng)域的溫度測量及控制儀器、測控系統(tǒng)和大型設(shè)備中。它具有體積小,接口方便,傳輸距離遠(yuǎn)等特點(diǎn)。DS18B20的性能特點(diǎn):①采用單總線專用技術(shù),既可通過串行口線,也可通過其它I/O口線與微機(jī)接口,無須經(jīng)過其它變換電路,直接輸出被測溫度值(9位二進(jìn)制數(shù),含符號(hào)位),②測溫范圍為-55℃--+125℃,測量分辨率為0.0625℃,③內(nèi)含64位經(jīng)過激光修正的只讀存儲(chǔ)器ROM,④適配各種單片機(jī)或系統(tǒng)機(jī),⑤用戶可分別設(shè)定各路溫度的上、下限,⑥內(nèi)含寄生電源。DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM,溫度傳感器,非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL,高速暫存器。DS18B20的管腳排列如圖4所示。64位光刻ROM是出廠前被光刻好的,它可以看作是該DS18B20的地址序列號(hào)。不同的器件地址序列號(hào)不同[2]。
圖4DS18B20封裝在硬件上,DS18B20與單片機(jī)的連接有兩種方法,一種是Vcc接外部電源,GND接地,I/O與單片機(jī)的I/O線相連;另一種是用寄生電源供電,此時(shí)UDD、GND接地,I/O接單片機(jī)I/O。無論是內(nèi)部寄生電源還是外部供電,I/O口線要接5KΩ左右的上拉電阻。CPU對(duì)DS18B20的訪問流程是:先對(duì)DS18B20初始化,再進(jìn)行ROM操作命令,最后才能對(duì)存儲(chǔ)器操作,數(shù)據(jù)操作。DS18B20每一步操作都要遵循嚴(yán)格的工作時(shí)序和通信協(xié)議。如主機(jī)控制DS18B20完成溫度轉(zhuǎn)換這一過程,根據(jù)DS18B20的通訊協(xié)議,須經(jīng)三個(gè)步驟:每一次讀寫之前都要對(duì)DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作,如圖5。圖5DS18B20應(yīng)用電路3.1.3CPU主電路CPU主電路主要包括復(fù)位電路,時(shí)鐘電路,單片機(jī)。8051的外部振蕩脈沖信號(hào)由XTAL2端輸入,直接送到內(nèi)部時(shí)鐘電路。電容器C1和C2通常取30PF左右,振蕩頻率范圍是1.2MHz~12MHz。3.2水位控制水位控制電路如圖6所示。A棒處于下限水位,棒處于上限水位,B棒在上、下限水位之間。A棒接+5v電源,B棒、C棒各通過一個(gè)電阻與地相連。供水時(shí),水位上升,當(dāng)達(dá)到上限時(shí),由于水的導(dǎo)電作用,B棒、C棒聯(lián)通+5v。因此,b、c兩端均為“1”狀態(tài),這時(shí),應(yīng)關(guān)閉電磁閥停止供水。當(dāng)水位降到下限時(shí),B棒、C棒都不能與A棒導(dǎo)通,因此b、c兩端均為“0”狀態(tài)。這時(shí),應(yīng)打開電磁閥供水。當(dāng)水位處于上下限之間時(shí),B棒與A棒導(dǎo)通。因C棒不能與A棒導(dǎo)通,b端為“1”狀態(tài),c端為“0”狀態(tài)。這時(shí),無論電磁閥是打開的還是關(guān)閉的水位是上升的還是下降的,都應(yīng)繼續(xù)維持原有的工作狀態(tài)[6]。圖6水位檢測電路3.3電加熱電路 圖7電加熱電路該部分的設(shè)計(jì)主要解決兩個(gè)問題:弱電(單片機(jī)系統(tǒng))和強(qiáng)電(AC220v)的隔離.對(duì)此,采用了光電耦合器和雙向可控硅實(shí)現(xiàn)對(duì)電熱絲的控制.電加熱電路由電熱板、雙向可控硅,光電隔離器等組成。當(dāng)溫度傳感器檢測到箱內(nèi)溫度低于設(shè)定溫度時(shí),通過其輸出口輸出一個(gè)控制電平,經(jīng)過光電隔離送到雙向可控硅的控制柵極,可控硅觸發(fā)導(dǎo)通,電熱板有電流流過,通電對(duì)水加熱,其電路圖如圖7。3.4時(shí)間繼電器控制電路當(dāng)貯水箱中的水位高于水位設(shè)定值后,限制開關(guān)K閉合。當(dāng)溫度低于溫控器設(shè)定溫度后,溫控器開關(guān)JW閉合;中間繼電器線圈KM1通電,觸頭KM1閉合;KM2線圈通電,觸頭KM2閉合,電熱管R工作,指示燈XD通電發(fā)亮。KT線圈通電,觸頭KT閉合。當(dāng)水溫達(dá)到設(shè)定溫度后,JW斷開,線圈KM1失電,觸頭KM1斷開。時(shí)間繼電器KT失電,但觸頭KT因延時(shí)依然閉合,交流接觸器線圈KM2依然通電,電熱管R繼續(xù)工件。達(dá)到預(yù)設(shè)的延時(shí)時(shí)間后,觸頭KT才斷開,這時(shí)交流接觸器線圈KM2失電,電熱管R停止工件。指示燈XD熄滅,表示水可飲用。可見,只要延時(shí)時(shí)間設(shè)得合適,就能確保水被加熱到沸騰后才跳閘。時(shí)間繼電器延時(shí)時(shí)間的設(shè)定方法在調(diào)試電熱水器時(shí),先把時(shí)間繼電器KT的線路切除,然后,如果是冬天可把溫控器調(diào)到接近水沸騰的溫度(99℃以上),夏天則可以調(diào)到98℃-99℃左右,重新接上時(shí)間繼電器,把時(shí)間設(shè)在2-5分鐘即可。也可根據(jù)公式pt=4.2m△T計(jì)算出時(shí)間,舉例:某廠的電熱水器功率為p=6千瓦(電熱管是純電阻),容量為40L(升)即m=40千克。如果是夏天△T=2℃(100℃—98℃),可算出延時(shí)時(shí)間t=56秒??紤]散熱等因素,取兩倍的時(shí)間2分鐘比較合適。其電路如圖8。KTKT圖8改進(jìn)后的電氣原理圖3.5漏電檢測及報(bào)警電路圖9漏電檢測電路電熱水器工作在潮濕的場合,為了確保人身安全,控制器應(yīng)具備漏電檢測及報(bào)警功能,其電路圖如圖9。漏電檢測是由漏電檢測線圈的輸出經(jīng)整形后送入IC的中斷輸入端IRQ。一旦漏電電流超過規(guī)定的閾值,單片機(jī)將立即響應(yīng)中斷,通過漏電開關(guān),切斷整個(gè)系統(tǒng)的供電電源,確保人身安全。系統(tǒng)中還設(shè)有報(bào)警功能,當(dāng)超溫或傳感器出現(xiàn)故障時(shí),蜂鳴器報(bào)警提示。它是用一位AbstractI/O線來完成,從I/O口輸出一定頻率的方波信號(hào),由晶體三極管驅(qū)動(dòng)蜂鳴器,使蜂鳴器發(fā)出聲音[1]。3.6電源圖10電源電路系統(tǒng)采用220V供電,220V市電經(jīng)過T1降壓、D1~D4整流、C1濾波后產(chǎn)生12V直流電,作為繼電器的驅(qū)動(dòng)電壓。12V電壓經(jīng)過7805穩(wěn)壓后產(chǎn)生5V電壓,作為控制器的主電源。電容C2作為高頻旁路電容,將高頻信號(hào)旁路到地。同樣電容C3為濾波電容,C4為高頻旁路電容。R1為限流電阻,LED1為5V電源指示燈,如圖10。在設(shè)計(jì)的過程中,濾波電容要盡量選擇的大,因?yàn)樵陔娐分幸箅妷罕容^穩(wěn)定。4系統(tǒng)的軟件設(shè)計(jì)4.1抗干擾設(shè)計(jì)為了防止程序在執(zhí)行控制加熱管動(dòng)作時(shí)出現(xiàn)干擾,使用指令復(fù)執(zhí)、程序卷回的方法,讓程序在一段時(shí)間內(nèi)連續(xù)循環(huán)執(zhí)行這個(gè)動(dòng)作,確保控制準(zhǔn)確無誤。在各功能模塊子程序適當(dāng)位置設(shè)置軟件陷阱,進(jìn)行冗余設(shè)計(jì),在信號(hào)采集與處理程序中采用多種數(shù)字濾波的方法,消除隨機(jī)的尖脈沖干擾。4.2程序設(shè)計(jì)開水箱的工作狀態(tài)總共有三個(gè),它們分別是初次使用、用水之后和閑置狀態(tài)。三個(gè)狀態(tài)所執(zhí)行的動(dòng)作是不相同的,所以要分別考慮每個(gè)的狀態(tài)的所運(yùn)用的程序,其中初次使用和用水之后都會(huì)檢測水溫及水位信號(hào),然后根據(jù)檢測到的水位及水溫信號(hào)執(zhí)行動(dòng)作;當(dāng)開水箱閑置時(shí)它只會(huì)檢測水溫,如果水溫低于設(shè)定值時(shí)加熱管就會(huì)通電,系統(tǒng)總流程圖如圖11。主程序用水之后檢測水位,水溫主程序用水之后檢測水位,水溫系統(tǒng)初始化系統(tǒng)初始化低于探頭2?低于探頭2?Y是否漏電Y是否漏電打開電磁閥,開始進(jìn)水N打開電磁閥,開始進(jìn)水N檢測水位,水溫并顯示水溫檢測水位,水溫并顯示水溫低于探頭3?低于探頭3?低于探頭1?N低于探頭1?NNN關(guān)閉電磁閥,停止進(jìn)水運(yùn)行子程序關(guān)閉電磁閥,停止進(jìn)水運(yùn)行子程序YY打開電磁閥,開始進(jìn)水打開電磁閥,開始進(jìn)水子程序運(yùn)行閑置時(shí)低于探頭3?子程序運(yùn)行閑置時(shí)低于探頭3?NN關(guān)閉電磁閥,停止進(jìn)水關(guān)閉電磁閥,停止進(jìn)水子程序子程序水溫低于85度?水溫低于85度?YY加熱器通電加熱器通電NN水溫低于99度?水溫低于99度?時(shí)間繼電器通電,延時(shí)時(shí)間繼電器通電,延時(shí)2分鐘后加熱管斷電圖11主程序流程圖5結(jié)束語本系統(tǒng)通過采用以AT89S51單片機(jī)作為核心檢測、控制器件實(shí)現(xiàn)了電熱水器的自動(dòng)快速恒溫的功能,克服了陰陽水的問題。并且加強(qiáng)了安全保護(hù),加入了人為控制、抗干擾等功能,對(duì)傳統(tǒng)的設(shè)計(jì)方案提出了改進(jìn)措施,加入了前饋控制環(huán)節(jié),使調(diào)溫速度更快,精確性更高,加入多項(xiàng)保護(hù)措施使系統(tǒng)使用更安全可靠。用DS18B20測溫,在其內(nèi)部就能進(jìn)行A/D轉(zhuǎn)換,輸出數(shù)字量與單片機(jī)直接進(jìn)行通訊,無需外加轉(zhuǎn)換器A/D,轉(zhuǎn)換速度快,降低了成本,而且大大簡化了電路,提高了集成度,使其滿足小型化的要求。致謝非常感謝指導(dǎo)老師在畢業(yè)設(shè)計(jì)及論文寫作中給予我的指導(dǎo)與幫助。從畢業(yè)設(shè)計(jì)和論文寫作開始,指導(dǎo)老師就給我們制訂了詳盡卻又環(huán)環(huán)相扣的計(jì)劃,并且在每周都進(jìn)行檢查和指導(dǎo),使我們循序漸進(jìn)、有條不紊地在所學(xué)課程的基礎(chǔ)上展開應(yīng)用。在這個(gè)實(shí)用性很強(qiáng)的課題中,指導(dǎo)老師豐富的經(jīng)驗(yàn),淵博的知識(shí),深邃的思想,嚴(yán)謹(jǐn)?shù)闹螌W(xué)風(fēng)格、平易近人處事態(tài)度,讓我們?cè)趯W(xué)習(xí)知識(shí)和解決問題時(shí)感到無比的輕松和愉快,使我們少走了很多彎路,也讓我們學(xué)到很多書本上沒有的內(nèi)容。至此論文定稿之際,對(duì)指導(dǎo)老師表示衷心的感謝!感謝老師能在繁忙之中抽出時(shí)間為我提供耐心的指導(dǎo),幫我們解決在設(shè)計(jì)過程中遇到的種種問題。在做畢業(yè)設(shè)計(jì)期間,我還有幸得到其它同學(xué)的大力幫助,有了他們,我才能克服各種困難,順利完成畢業(yè)設(shè)計(jì)和論文。在這里一并向他們表示感謝!最后,再次向各位領(lǐng)導(dǎo)、各位老師致以崇高的敬意和最衷心的感謝!參考文獻(xiàn)[1]國家標(biāo)準(zhǔn)局.家用和類似用途電器的安全—貯水式電熱水器的特殊要求.北京:國家標(biāo)準(zhǔn)局,GB4706.12-86[2]張福學(xué).傳感器應(yīng)用及其電路精選(上、下冊(cè))[M].北京;電子工業(yè)出版社,1992[3]滕召生,童調(diào)生.智能檢測系統(tǒng)與數(shù)據(jù)融合[M].北京;機(jī)械工業(yè)出版社,1999[4]李娜.自動(dòng)化儀表[M].北京;燕山大學(xué)出版社,2004[5]康華光,鄒壽彬.電子技術(shù)基礎(chǔ)數(shù)字部分[M].北京;高等教育出版社,1999.6[6]王培東.單片機(jī)原理及應(yīng)用[M].哈爾濱;哈爾濱工業(yè)大學(xué)出版社,1996.3[7]姚福安.電子電路設(shè)計(jì)與實(shí)踐[M].濟(jì)南;山東科學(xué)技術(shù)出版社,2002[8]余永權(quán).模糊控制技術(shù)與模糊家用電器[M].北京:北京航空航天大學(xué)出版社,2002[9]周明寶,瞿文龍.電力電子技術(shù)[M].北京;機(jī)械工業(yè)出版社,1997.5[10]宋春榮.通用集成電路速查手冊(cè)[M].濟(jì)南;山東科技大學(xué)出版社,1995.9[11]徐君毅.單片微型計(jì)算機(jī)原理與應(yīng)用[M].上海;上海科學(xué)技術(shù)出版社,1986[12]金權(quán)林.電熱水器的熱平衡及參數(shù)選擇[J].家用電器科技,1996.1[13]張漢屏.八通道溫度巡查控制儀[J].Electronics,DIY2001,(3);86-871[14]徐征明.基于模糊模型設(shè)計(jì)自校正調(diào)節(jié)器的研究[J].自動(dòng)化學(xué)報(bào),1987,13(3)[15]陶永華.新型PID控制及其應(yīng)用[M].北京;機(jī)械工業(yè)出版社,2002[16]李科杰.新編傳感器手冊(cè)[M].北京;國防工業(yè)出版社,2002[17]許毓榮.影響溫控器漂移的因素[J].電機(jī)電器技術(shù),2004,3:32-33附錄:DISP1EQU6FH;顯示緩沖區(qū)域DISP2EQU6EHDISP3EQU6DHDISP4EQU6CHDISP5EQU6BH;D100EQU6AH;溫度的百位數(shù)據(jù)緩存。EVEQU69H;沒有刪分BCD的溫度值DAYEQU68HSUMEQU67H;控制訂定時(shí)器1的中段次數(shù)SUMMEQU66H;查表得出的定時(shí)器需要設(shè)置的延時(shí)初值的循環(huán)次數(shù)。SVEQU65H;當(dāng)前溫度值DUAN1_WEQU64HDUAN2_WEQU63HDUAN3_WEQU62HDUAN4_WEQU61H;3段溫度值BEEPBITP2.7;蜂鳴器DS18B20_INBITP3.7CHCEK_ZEROBITP3.2S10KEQU33H;一秒到,溫度刷MS50EQU34H;50MS的存儲(chǔ)單元。TEMPHDATA35H;從18b20中得到的溫度TEMPLDATA36H;從18b20中得到的溫度CBCDEQU38H;拆B(yǎng)CDORG0000HLJMPMAINORG0003HLJMPEX_ZEROORG000BHLJMPTOITORG001BHLJMPTO2TORG0030HMAIN;MOVSP,#70HMOVTMOD,#11HMOVTH0,#9EHMOVTL0,#58HMOVTH1,#0FFHMOVTL1,#0E7H;T1定時(shí)為0.05msMOVS10K,#0MOVSECOND,#0MOVMINUTE,#0MOVHOUR,#0MOVDAY,#0SETBBEEPMOVS11,#1MOVS22,#0MOVS55,#0MOVDUAN1_W,#30MOVDUAN2_W,#37MOVDUAN3_W,#40MOVDUAN4_W,#38MOVDAY_1,#6MOVDAY_2,#10MOVDAY_3,#20MOVDISP1,#0HMOVDISP2,#11HMOVDISP3,#11HMOVDISP4,#10HMOVDISP5,#0FH;系統(tǒng)初始化ACALLTZHDISPSETBEASETBET0SETBET1CLRTR0SETBEX0CLRIT0SETBPT0SETBPT1CLRPSCLRPX0CLRPX1CLRCH_A;SETBCH_B;SETBCH_C;CLRP0.0;START;MOVA,S10KCJNEA,#1,START1LCALLWENDULCALLDISPMOVS10K,#0MAIN1;JBFLAG.1, NE7JBS2,NET1ACALLT12MSJBS2,NET1JNBS2,$MAIN1_1;INCS22MOVA,S22NET1;CJNEA,#1,NE1MOVR0,#DUAN1_W;R0送入第一段要調(diào)的溫度單元地址MOVDISP3,#11MOVDISP2,#12MOVDISP1,#1LJMPTZNE1;CJNEA,#2,NE2MOVR0,#DUAN2_W;R0送入第二段要調(diào)的溫度單元地址MOVDISP3,#11MOVDISP2,#12MOVDISP1,#2LJMPTZNE2;CJNEA,#3,NE3MOVR0,#DUAN3_W;R0送入第三段要調(diào)的溫度單元地址MOVDISP3,#11MOVDISP2,#12MOVDISP1,#3LJMPTZSETBTR0SETBEX0MOVSV,DUAN1_W;系統(tǒng)開始運(yùn)行,調(diào)入第一段溫度SETBFLAG.1MA1;CJNEA,#2,MAIN2CLRTR0CLREX0SETBRUNCLRTR1SETBCONTROL_GMOVS55,#0MAIN2;LJMPSTART;一秒定時(shí)中段(時(shí)鐘程序);************************************TOIT;PUSHPSWPUSHACCMOVTH0,#03CHMOVTL0,#0B0HINCMS50MOVA,MS50CJNEA,#20,RETURN;20MOVS10K,#1MOVMS50,#00HINCSECONDMOVA,SECONDCJNEA,#60,RETURNMOVSECOND,#0INCDAYMOVA,DAYCJNEA,DAY_1,N1MOVSV,DUAN2_WN1;CJNEA,DAY_2,N2MOVSV,DUAN3_WSETBFLAG.0;第二段溫度送出N2;CJNEA,DAY_3,N3CLRFLAG.0MOVSV,DUAN4_WN3;MOVA,DAYCJNEA,#60,RETURNMOVMINUTE,#0INCHOUR;JNBFLAG.0,PASS;如果標(biāo)志位為0,通過;INCDJ;MOVA,DJ;CJNEA,#2,PASSPASS;MOVA,HOURMOVA,HOURCJNEA,#24,RETURNMOVHOUR,#0INCDAYRETURN;POPACCPOPPSWRETI;*********************************************;定時(shí)器1中段程序TO2T;PUSHACCPUSHPSWDJNZSUM,CHUCLRCONTROL_GCLRP0.0CLRTR1CHU;MOVTH1,#0FFHMOVTL1,#0E7H;T1定時(shí)為0.05msPOPPSWPOPACCRETI;*****************************************************************************;通過外部中斷口調(diào)整溫度EX_ZERO;PUSHACCPUSHPSWMOVTH1,#0FFHMOVTL1,#0E7H;T1定時(shí)為0.05msSETBP0.0SETBCONTROL_GMOVSUM,SUMM;SUMMM差值查出的,TR1中段次數(shù)SETBTR1POPPSWPOPACCRETIKIND;ACALLTZHDISPACALLT12MSACALLT12MSJBS1,NET10ACALLT12MSJBS1,NET12JNBS1,$KIND1;INCS11MOVA,S11NET10;CJNEA,#1,NET11MOVDUAN1_W,#20MOVDUAN2_W,#21MOVDUAN3_W,#22MOVDUAN4_W,#23MOVDAY_1,#5MOVDAY_2,#10MOVDAY_3,#15MOVDISP1,#1MOVDISP2,#1MOVDISP3,#1MOVDISP4,#1MOVDISP5,#1CLRCH_A;SETBCH_B;SETBCH_C;NET11;CJNEA,#2,NET12MOVDUAN1_W,#10MOVDUAN2_W,#11MOVDUAN3_W,#12MOVDUAN4_W,#13MOVDAY_1,#10MOVDAY_2,#15MOVDAY_3,#20MOVDISP1,#2MOVDISP2,#2MOVDISP3,#2MOVDISP4,#2MOVDISP5,#2CLRCH_ASETBCH_BCLRCH_CNET12;CJNEA,#3,NET13MOVDUAN1_W,#20MOVDUAN2_W,#21MOVDUAN3_W,#22MOVDUAN4_W,#23MOVDAY_1,#11MOVDAY_2,#16MOVDAY_3,#21MOVDISP1,#3MOVDISP2,#3MOVDISP3,#3MOVDISP4,#3MOVDISP5,#3SETBCH_ACLRCH_BCLRCH_CNET13;CJNEA,#4,NET14MOVS11,#0MOVDISP1,#0MOVDISP2,#0MOVDISP3,#0MOVDISP4,#0MOVDISP5,#0SETBCH_ACLRCH_BSETBCH_CNET14;JBS2,NET15ACALLT12MSJBS2,NET15JNBS2,$MOVDISP1,#0MOVDISP2,#0MOVDISP3,#0MOVDISP4,#0MOVDISP5,#0LJMPMAIN1_1NET15;JBS5,NET16ACALLT12MSJBS5,NET16JNBS5,$MOVSV,DUAN1_W;系統(tǒng)開始運(yùn)行,調(diào)入第一段溫度LJMPS55_1NET16;LJMPKIND;===============================;溫度總子程序;===============================WENDU;ACALLINIT_1820ACALLRE_CONFIGACALLGET_TEMPERACALLCONVTEMP_BCDACALLSUBBBRET;;DS18B20初始化程序;INIT_1820;SETBDS18B20_INNOPCLRDS18B20_INMOVR0,#06BHMOVR1,#03HTSR1;DJNZR0,TSR1;延時(shí)MOVR0,#6BHDJNZR1,TSR1SETBDS18B20_INNOPNOPNOPMOVR0,#25HTSR2;JNBDS18B20_IN,TSR3DJNZR0,TSR2LJMPTSR4;延時(shí)TSR3;SETB20H.1;置標(biāo)志位,表示DS1820存在LJMPTSR5TSR4;CLR20H.1;清標(biāo)志位,表示DS1820不存在LJMPTSR7TSR5;MOVR0,#06BHMOVR1,#03HTSR6;DJNZR0,TSR6;延時(shí)MOVR0,#6BHDJNZR1,TSR6TSR7;SETBDS18B20_INRET;;重新寫DS18B20暫存存儲(chǔ)器設(shè)定值;RE_CONFIG;CLREX0;關(guān)閉外部中斷CLRET1JB20H.1,RE_CONFIG1;若DS18B20存在,轉(zhuǎn)RE_CONFIG1RETRE_CONFIG1;MOVA,#0CCH;發(fā)SKIPROM命令LCALLWRITE_1820MOVA,#4EH;發(fā)寫暫存存儲(chǔ)器命令LCALLWRITE_1820MOVA,#00H;TH(報(bào)警上限)中寫入00HLCALLWRITE_1820MOVA,#00H;LCALLWRITE_1820MOVA,#1FH;選擇9位溫度分辨率LCALLWRITE_1820SETBEX0SETBET1RET;;讀出轉(zhuǎn)換后的溫度值;GET_TEMPER;CLREX0CLRET1SETBDS18B20_IN;定時(shí)入口LCALLINIT_1820JB20H.1,TSS2RET;若DS18B20不存在則返回TSS2;MOVA,#0CCH;跳過ROM匹配LCALLWRITE_1820MOVA,#44H;發(fā)出溫度轉(zhuǎn)換命令LCALLWRITE_1820LCALLINIT_1820MOVA,#0CCH;跳過ROM匹配LCALLWRITE_1820MOVA,#0BEH;發(fā)出讀溫度命令LCALLWRITE_1820LCALLREAD_18200MOV37H,A;將讀出的溫度數(shù)據(jù)保存SETBEX0SETBET1RET;寫DS18B20的程序WRITE_1820;MOVR2,#8CLRCWR1;CLRDS18B20_INNOPNOPNOPNOPRRCAMOVDS18B20_IN,CMOVR3,#35DJNZR3,$SETBDS18B20_INNOPDJNZR2,WR1SETBDS18B20_INRET;;讀DS18B20的程序,從DS18B20中讀出兩個(gè)字節(jié)的溫度數(shù)據(jù);READ_18200;MOVR4,#2;將溫度高位和低位從DS18B20中讀出MOVR1,#36H;低位存入36H(TEMPER_L),高位存入35H(TEMPER_H)RE00;MOVR2,#8RE01;CLRCSETBDS18B20_INNOPNOPCLRDS18B20_INNOPNOPNOPSETBDS18B20_INNOPNOPMOVC,DS18B20_INMOVR3,#35RE20;DJNZR3,RE20RRCADJNZR2,RE01MOV@R1,ADECR1DJNZR4,RE00RET;*****************************************;處理溫度BCD碼子程序;***************************************CONVTEMP_BCD;MOVA,TEMPLANLA,#0FHMOVDPTR,#DOTTABMOVCA,@A+DPTRMOVDISP3,AMOVA,TEMPLANLA,#0F0HSWAPAMOVTEMPL,AMOVA,TEMPHANLA,#0FHSWAPAORLA,TEMPLMOVEV,A;存入沒有刪分的當(dāng)前溫度值MOVB,#100DIVABMOVD100,AMOVA,#10XCHA,BDIVABMOVDISP4,BMOVDISP5,ARETDOTTAB;DB00H,01H,01H,02H,03H,03H,04H,04H,05H,05H,06HDB06H,07H,08H,09H,09H;********************************************************;計(jì)算出,所測溫度和當(dāng)前溫度的差值并查出,要T1定時(shí)的次數(shù)SUBBB;PUSHPSWPUSHACCCLRCMOVA,SVSUBBA,EVJNBACC.7,ZHENG;A中存入設(shè)定溫度和當(dāng)前溫度的差值CPLAINCACJNE A,#5,LLLL;JCLLLMOV50H,A;測試用,檢查,溫差CLRBEEPLLL;CLREX0CLRTR1SETBCONTROL_GSJMPCH;比設(shè)定溫度高出,立即停止加熱ZHENG;SETBEX0SETBBEEPMOV50H,A;測試用,檢查溫度MOVDPTR,#SUMTABMOVCA,@A+DPTRMOVSUMM,ACH;POPACCPOPPSWRETSUMTAB;DB165,125,100,80,80,60,60,50,50,40,40;0~0.101~0.142~0.163~0.224~0.335~0.396~0.487~0.558~0.649~0.7210~0.82DB40,40,30,30,30,20,20,20,20,20,15;11~0.9112~1.013
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年農(nóng)村宅基地使用權(quán)轉(zhuǎn)讓合同范本3篇
- 2024年度版權(quán)共享合同:影視作品合作制作3篇
- 2024版智能地產(chǎn)廣告折頁制作及營銷方案合同3篇
- 2024年度地鐵線路鋪設(shè)承包合同6篇
- 2024年度玻璃幕墻工程保險(xiǎn)理賠與索賠合同2篇
- 2024版智慧農(nóng)業(yè)設(shè)備采購與智能化改造合同范本2篇
- 2024版水庫灌溉權(quán)轉(zhuǎn)讓合同2篇
- 2024版房產(chǎn)抵押貸款保險(xiǎn)合同標(biāo)準(zhǔn)范本3篇
- 2024版存量房居間買賣合同新范本:存量房翻新改造居間買賣2篇
- 2024版家用汽車個(gè)人買賣合同樣本3篇
- 包裝裝潢承印五項(xiàng)制度登記表
- 可比樓盤量化定價(jià)法
- xxxxx年豬文化節(jié)
- 鋼結(jié)構(gòu)項(xiàng)目技術(shù)服務(wù)和售后服務(wù)內(nèi)容及措施
- 第二語言習(xí)得理論概述
- 水景施工工藝(包括防水)
- DAC數(shù)模轉(zhuǎn)換實(shí)驗(yàn)報(bào)告
- 散貨船持證清單
- 公路巡查記錄表格模板
- 師德師風(fēng)整改臺(tái)賬23668
- 河海大學(xué)水資源規(guī)劃及利用復(fù)習(xí)知識(shí)點(diǎn).
評(píng)論
0/150
提交評(píng)論