




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、用于電冰箱領域的智能溫度傳感器的設計摘要:近年來隨著計算機在社會領域的滲透, 單片機的應用正在不斷地走向深入,同時帶動傳統(tǒng)控制檢測日新月益更新。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往是作為一個核心部件來使用,僅單片機方面知識是不夠的,還應根據(jù)具體硬件結(jié)構(gòu),以及針對具體應用對象特點的軟件結(jié)合,以作完善。 電冰箱溫度控制系統(tǒng)是利用溫度傳感器DS18B20采集電冰箱冷藏室和冷凍室的溫度,通過INTEL公司的高效微控制器MCS-C51單片機進行數(shù)字信號處理,從而達到智能控制的目的。本系統(tǒng)可實現(xiàn)電冰箱冷藏室和冷凍室的溫度設置、電冰箱自動除霜、開門報警等功能。 本文在第一章介紹了電冰箱的系統(tǒng)組
2、成及工作原理,第二章論述了本控制系統(tǒng)的硬件設計部分。第三章論述了系統(tǒng)的軟件設計部分。 通過對直冷式電冰箱制冷系統(tǒng)的改進和采用模糊控制技術,實現(xiàn)了電冰箱的雙溫雙控,使電冰箱能根據(jù)使用條件的變化迅速合理地調(diào)節(jié)制冷量,且節(jié)能效果良好。關鍵詞:單片機;溫度傳感器;電冰箱;溫度控制智能傳感器(intelligent sensor)是具有信息處理功能的傳感器。智能傳感器帶有微處理機,具有采集、處理、交換信息的能力,是傳感器集成化與微處理機相結(jié)合的產(chǎn)物。二工作原理:根據(jù)冷藏室和冷凍室的溫度情況決定是否開壓縮機,若冷藏室的溫度過高,則打開電磁冷門V1,關閉閥門V2,V3,同時打開壓縮機,產(chǎn)生高溫高壓過熱蒸氣,
3、經(jīng)過冷凝器冷凝,干燥過濾器干燥,毛細節(jié)流管降壓后,在蒸發(fā)器汽化制冷,產(chǎn)生低溫低壓的干燥氣體。經(jīng)過電磁閥門V1 流入冷藏室,使冷藏的溫度迅速降低,當溫度達到要求時關閉壓縮機,同時關閉電磁閥門V1 。若是冷凍室的溫度過高,則應打開V2關閉V1, V3 。電磁閥門V3主要用于冷凍室的化霜。需要化箱時打開V3,從壓縮機流出的高溫高壓氣體流經(jīng)冷凍室可勻速將冷凍室霜層汽化。達到化霜的效果。一般化霜的時間要短,不然會傷存放的食品。三本系統(tǒng)采用單片機控制的電冰箱主要功能及要求:1、設定2個測溫點,測量范圍:26C26C,精度0.5C;2、利用功能鍵分別控制溫度設定、冷藏室及冷凍室溫度設定等;3、制冷壓縮機停機
4、后自動延時3分鐘后方能再啟動;4、電冰箱具有自動除霜功能;5、開門延時超過20秒發(fā)聲報警;6、工作電壓為180240V,當欠壓或過壓時,禁止啟動壓縮機并用指示燈顯示。 硬件設計一系統(tǒng)結(jié)構(gòu)圖控制系統(tǒng)結(jié)構(gòu)如圖2-1 所示,主要由電源開關,電壓檢測裝置,溫度傳感器,功能按鍵,單片機,延時電路,顯示電路,指示燈電路,除霜裝置和故障報警裝置等夠成。圖2-1 控制系統(tǒng)結(jié)構(gòu)圖2 微處理器(單片機)微處理器是本系統(tǒng)的核心,其性能的好壞直接影響系統(tǒng)的穩(wěn)定,鑒于本系統(tǒng)為實時控制系統(tǒng),系統(tǒng)運行時需要進行大量的運算,所以單片機采用INTEL公司的高效微控制器AT89C51。AT89C51是一種帶4K字節(jié)閃爍可編程可擦
5、除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51 ? 指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 1主要特性:與MCS-51 兼容 4K字節(jié)可編程閃爍存儲器 壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時間:10年全靜態(tài)工作:0Hz-24Hz三級程序存儲器鎖定128*8位內(nèi)部R
6、AM32可編程I/O線兩個16位定時器/計數(shù)器5個中斷源 可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時鐘電路 2管腳說明VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫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口被外
7、部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P
8、3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳 備選功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時器0外部輸入)P3.5 T1(記時器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)P3口同時為閃爍編程和編程校驗接收
9、一些控制信號。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN
10、:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。3振蕩特性 /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。 4芯片擦除:整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合
11、,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。此外,AT89C51設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。 5運算器 (1)算術邏輯部件ALU:用以完成+、-、*、/ 的算術運算及布爾代數(shù)的邏輯運算,并通過運算結(jié)果影響程序狀態(tài)寄存器PSW的某些位,從而為判斷、轉(zhuǎn)移、十進制修正和出錯等提供依據(jù)。(2)累
12、加器A:在算術邏輯運算中存放一個操作數(shù)或結(jié)果,在與外部存儲器和I/O接口打交道時,進行數(shù)據(jù)傳送都要經(jīng)過A來完成。(3)寄存器B:在 *、/ 運算中要使用寄存器B 。乘法時,B用來存放乘數(shù)以及積的高字節(jié);除法時,B用來存放除數(shù)及余數(shù)。不作乘除時,B可作通用寄存器使用。(4)程序狀態(tài)標志寄存器PSW:用來存放當前指令執(zhí)行后操作結(jié)果的某些特征,以便為下一條指令的執(zhí)行提供依據(jù)。6.中斷系統(tǒng):8051單片機的中斷系統(tǒng)簡單實用,其基本特點是:有5個固定的可屏蔽中斷源,3個在片內(nèi),2個在片外,它們在程序存儲器中各有固定的中斷入口地址,由此進入中斷服務程序;5個中斷源有兩級中斷優(yōu)先級,可形成中斷嵌套;2個特殊
13、功能寄存器用于中斷控制和條件設置的編程。5個中斷源的符號、名稱及產(chǎn)生的條件如下:INT0:外部中斷0,由P32端口線引入,低電平或下跳沿引起。INT1:外部中斷1,由P33端口線引入,低電平或下跳沿引起。T0:定時器計數(shù)器0中斷,由T0計滿回零引起。T1:定時器計數(shù)器l中斷,由T1計滿回零引起。TIRI:串行IO中斷,串行端口完成一幀字符發(fā)送接收后引起。 三溫度傳感器 在傳統(tǒng)的模擬信號遠距離溫度測量系統(tǒng)中,需要很好的解決引線誤差補償問題、多點測量切換誤差問題和放大電路零點漂移誤差問題等技術問題,才能夠達到較高的測量精度。我們在為冰箱測溫系統(tǒng)中,為了克服上面提到的三個問題,采用了新型數(shù)字溫度傳感
14、器DS1820,在對其測溫原理進行詳細分析的基礎上,提出了提高DS1820測量精度的方法,使DS1820的測量精度由0.5提高到0.1以上,取得了良好的測溫效果。 DS1820簡介DS1820是美國DALLAS半導體公司生產(chǎn)的可組網(wǎng)數(shù)字式溫度傳感器,在其內(nèi)部使用了在板(ON-B0ARD)專利技術。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。與其它溫度傳感器相比,DS1820具有以下特性。(1)獨特的單線接口方式,DS1820在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS1820的雙向通訊。2)DS1820支持多點組網(wǎng)功能,多個DS1820可以并聯(lián)在唯一的三線上,實現(xiàn)多點測溫
15、。(3)DS1820在使用中不需要任何外圍元件。4)溫范圍55125,固有測溫分辨率0.5。(5)測量結(jié)果以9位數(shù)字量方式串行傳送DS1820內(nèi)部結(jié)構(gòu)框圖如圖1所示。DS1820測溫原理如圖2所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預置在55所對應的一個基數(shù)值。計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當計數(shù)器1的預置值減到0時,溫度寄存器的值將加1 ,計數(shù)器1的預置將重新被裝入,計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),
16、如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖2中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預置值。在正常測溫情況下,DS1820的測溫分辯率為0.5以9位數(shù)據(jù)格式表示,其中最低有效位(LSB)由比較器進行0.25比較,當計數(shù)器1中的余值轉(zhuǎn)化成溫度后低于0.25時,清除溫度寄存器的最低位(LSB),當計數(shù)器1中的余值轉(zhuǎn)化成溫度后高于0.25,置位溫度寄存器的最低位(LSB),如25.5對應的9位數(shù)據(jù)格式如下:2提高DS1820測溫精度的途徑2.1DS1820高精度測溫的理論依據(jù)DS1820正常使用時的測溫分辨率為0.5
17、,這對于水輪發(fā)電機組軸瓦溫度監(jiān)測來講略顯不足,在對DS1820測溫原理詳細分析的基礎上,我們采取直接讀取DS1820內(nèi)部暫存寄存器的方法,將DS1820的測溫分辨率提高到0.10.01DS1820內(nèi)部暫存寄存器的分布如表1所示,其中第7字節(jié)存放的是當溫度寄存器停止增值時計數(shù)器1的計數(shù)剩余值,第8字節(jié)存放的是每度所對應的計數(shù)值,這樣,我們就可以通過下面的方法獲得高分辨率的溫度測量結(jié)果。首先用DS1820提供的讀暫存寄存器指令(BEH)讀出以0.5為分辨率的溫度測量結(jié)果,然后切去測量結(jié)果中的最低有效位(LSB),得到所測實際溫度整數(shù)部分T整數(shù),然后再用BEH指令讀取計數(shù)器1的計數(shù)剩余值M剩余和每度
18、計數(shù)值M每度,考慮到DS1820測量溫度的整數(shù)部分以0.25、0.75為進位界限的關系,實際溫度T實際可用下式計算得到:T實際=(T整數(shù)0.25)+(M每度M剩余)/M每度2.2 測量數(shù)據(jù)比較表2為采用直接讀取測溫結(jié)果方法和采用計算方法得到的測溫數(shù)據(jù)比較,通過比較可以看出,計算方法在DS1820測溫中不僅是可行的,也可以大大的提高DS1820的測溫分辨率。DS1820使用中注意事項DS1820雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點,但在實際應用中也應注意以下幾方面的問題:(1)較小的硬件開銷需要相對復雜的軟件進行補償,由于DS1820與微處理器間采用串行數(shù)據(jù)傳送,因此,在
19、對DS1820進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結(jié)果。在使用PL/M、C等高級語言進行系統(tǒng)程序設計時,對DS1820操作部分最好采用匯編語言實現(xiàn)。(2)在DS1820的有關資料中均未提及單總線上所掛DS1820數(shù)量問題,容易使人誤認為可以掛任意多個DS1820,在實際應用中并非如此。當單總線上所掛DS1820超過8個時,就需要解決微處理器的總線驅(qū)動問題,這一點在進行多點測溫系統(tǒng)設計時要加以注意。(3)連接DS1820的總線電纜是有長度限制的。試驗中,當采用普通信號電纜傳輸長度超過50m時,讀取的測溫數(shù)據(jù)將發(fā)生錯誤。當將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距離可達15
20、0m,當采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時,正常通訊距離進一步加長。這種情況主要是由總線分布電容使信號波形產(chǎn)生畸變造成的。因此,在用DS1820進行長距離測溫系統(tǒng)設計時要充分考慮總線分布電容和阻抗匹配問題。(4)在DS1820測溫程序設計中,向DS1820發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS1820的返回信號,一旦某個DS1820接觸不好或斷線,當程序讀該DS1820時,將沒有返回信號,程序進入死循環(huán)。這一點在進行DS1820硬件連接和軟件設計時也要給予一定的重視。四電壓檢測裝置電壓檢測裝置是為了保護系統(tǒng)的穩(wěn)定運行,采用WB系列電壓越限報警傳感器WB系列電壓越限報警傳感器以電壓隔離傳感器
21、為基礎,增配比較器電路、基準電壓設定電路、輸出驅(qū)動電路組成,用來隔離監(jiān)測主回路中的交流或直流電壓,當被監(jiān)測的電壓超過預先設定的上限值,或低于預先設定的下限值時,給出開關量控制信號。本系列產(chǎn)品測控一體化、體積小、精度高、使用方便,報警界限值可以由用戶根據(jù)需要隨時進行調(diào)整,具有很高的性能/價格比。 主要特點:1.測控一體化,體積小、精度高、反應快;2.具有瞬態(tài)干擾抑制功能,防止誤動作;3.報警界限值可在設定值(20%)內(nèi)連續(xù)可調(diào);4.密封式繼電器觸點輸出,觸點壽命30萬次;5.隔離電壓:交流監(jiān)測2.5kVDC,1分鐘;直流監(jiān)測1.5kVDC,1分鐘6.輸入過載能力:10倍閾值,持續(xù)5秒;7.額定環(huán)
22、境溫度:商業(yè)級0+50,工業(yè)級-25+70;8.平均無故障工作時間5萬小時;9.20%回差設置,確保動作穩(wěn)定;五功能按鍵因本系統(tǒng)使用的按鍵數(shù)目少,故按鍵采用硬件去抖。按鍵電路如圖2-6 所示。用兩個與非門構(gòu)成一個RS觸發(fā)器。當按鍵未按下時輸出為1;剛鍵按下時輸出為0。此時即使用按鍵的機器性能,使按鍵因彈性抖動而產(chǎn)生瞬時斷開(抖動跳開B),只要按鍵不返回原來狀態(tài)A,雙穩(wěn)態(tài)電路的狀態(tài)不會改變,輸出保持為0,不會產(chǎn)生抖動的波形。也就是說,即使B點的電壓波形是抖動的,但經(jīng)雙穩(wěn)態(tài)電路之后,其輸出為正規(guī)的矩形波。 圖2-6按鍵電路六壓縮機,風機、電磁閥控制壓縮機,風機工作原理是制冷系統(tǒng)內(nèi)制冷劑的低壓蒸汽被
23、壓縮機吸入并壓縮為高壓蒸汽后排至冷凝器。同時軸流風扇吸入的室外空氣流經(jīng)冷凝器,帶走制冷劑放出的熱量,使高壓制冷劑蒸汽凝結(jié)為高壓液體。高壓液體經(jīng)過過濾器、節(jié)流機構(gòu)后噴入蒸發(fā)器,并在相應的低壓下蒸發(fā),吸取周圍的熱量。同時貫流風扇使空氣不斷進入蒸發(fā)器的肋片間進行熱交換,并將放熱后變冷的空氣送向室內(nèi)。如此室內(nèi)空氣不斷循環(huán)流動,達到降低溫度的目的。 而冰箱沒有風扇靠自然對流來進行熱量交換。電磁閥的工作原理非常簡單,阻流板就象一個閘門,一個彈簧讓它處于關閉狀態(tài),上面一個電磁鐵芯,鐵芯(低部橡膠)壓在阻流板中間(凸起)的一個小眼兒上,外面一個電磁線圈,接通電源后鐵芯別吸上去,小眼兒開始進氣,壓力達到頂開彈簧
24、后電磁閥打開。七故障報警電路報警電路主要用示電冰箱使用過程中出現(xiàn)的故障,包括系統(tǒng)自身故障,外界故障,和誤操作,如:冰箱內(nèi)溫度太高,外界電壓波動大,未關好冰箱門或是開門時間太長等等。四個指示燈作用:L1:設置冷藏室溫度時亮L2:設置冷凍室溫度時亮L3:壓縮機運行時亮L4:電源過壓或欠壓時亮軟件設計本系統(tǒng)軟件主要由主流程、功能子程序、中斷服務程序組成。采用主程序調(diào)用功能子程序,子程序盡可能少的調(diào)用其它子程序,以保證系統(tǒng)的穩(wěn)定運行。本系統(tǒng)溫度在64C64C,用七位即可存放,因此溫度值用一個字節(jié)存放, 最高位存放符號位。 各溫度值均用全程變量形式存放,如下:60H冷藏室溫度設定值61H冷凍室溫度設定值
25、62H冰箱運行時冷藏室溫度實際值63H冰箱運行時冷凍室溫度實際值64H用于存放壓縮機,電源狀態(tài)和壓縮機關機延時狀態(tài)值其中: 最低0位COMP存放壓縮機狀態(tài)標志:1 壓縮機開啟0壓縮機關閉 第1位TIME_OUT離上次關閉壓縮機是否已有5S:1 否0是第2 位UP電壓過欠壓標志:1過欠壓0正常65H,66H用于存放化霜時間計數(shù)67H用于壓縮機關閉延時計數(shù)一、主程序:MAIN主程序由初始化,鍵盤掃描,顯示,溫度采集,溫度控制和定時化霜子程序組成,為系統(tǒng)軟件的主干部分,化霜采用定時化霜,每三十分鐘化霜一次,化霜原理見概論電冰箱式作原理部分,其流程圖如圖3-1所示:程序如下: 圖3-1 主程序流程圖
26、ORG 0000H AJMP MAINORG 0003H LJMP DY_INTORG 000BLJMP TIME0_INTORG 0030HDATA EQUP1.0 V1 EQU P1.3 V2 EQU P1.4 V3 EQU P1.5 SET_KEY EQU P1.5 V3 EQU P1.5 V3 EQU P1.5 SET_KEY EQU P1.5 ADD_KEY EQU P1.6 SUB_KEY EQU P1.7 L1 EQU P0.6 L2 EQU P0.7 L3 EQU P2.5 L4 EQU P2.6 MAIN:CLR A START:LCALL INIT1; 初始化 LCALL
27、KEY; 鍵盤掃描 LCALL GETWD; 獲得冷藏室溫度 MOV 62H , R0 INC DATA LCALL GETWD; 獲得冷凍室溫度 MOV 63H , R0 DEC DATA MOV R3 , 62H; 顯示兩室溫度值 MOV R4 , 63H LCALL DISP MOV A , 60H CLR C HIGH:CJNE A , 62H , HIGH1; 冷藏室溫度等于高于設定值時 AJMP HIGH2 HIGH1:JC HIGH3 HIGH2:SETB V1; 開啟壓縮機LCALL OPENAJMP LOWHIGH3:MOV A , 61HCLR C CJNE A , 63H
28、 , HIGH4; 冷凍室溫度等于高于設定值時AJMP HIGH5 HIGH4:JC LOW HIGH5:SETB V2; 開啟壓縮機 LCALL OPEN LOW: MOV A , 61H CLR C CJNE A , 63H , LOW1; 冷凍室溫度等于低于最低值時AJMP LOW2 LOW1:JNC LOW3 LOW2:CLR V2; 關閉壓縮機 LCALL CLOSE AJMP LS LOW3:MOV A , 60H CLR C CJNE A , 62H , LOW4; 冷凍室溫度等于低于最低值時 AJMP LOW5 LOW4:JNC LS LOW5:CLR V1; 關閉壓縮機 LC
29、ALL CLOSE LS:MOV R1 , #10H; 延時1S LS1:LCALL DLY_100MS DJNZ R1 , LS1 INC 65H; 化霜時間計數(shù)加1 MOV A , 65H CJNE A , #00H , LS2 INC 66H LS2:MOV A , 65H CJNE A , #08H , LOOP MOV A , 66H CJNE A , #07H , LOOP JB V1 , LOOP; 化霜定時時間到且V1,V2均關閉 JB V2 , LOOP SETB V3; 打開V3開始化霜 MOV R0 , #50; 化霜時間5 S LS3:LCALL DLY_100MS D
30、JNZ R0 , LS3 LOOP:AJMP START END 二、初始化子程序:INTI1 初始化模塊主要完成初始化I/O口、中斷、內(nèi)存單元,并讀出存放在閃爍存儲器上的溫度設定值。溫度設定值存放在閃爍存儲器上即使斷電也可保存。 程序如下: INTI1:CLR A MOV DPTR , #20H; 讀取冷藏室溫度設定值 MOVC A , DPTR LCALL DLY_100MS; 延時確保數(shù)據(jù)讀完 MOV 60H , A INC DPTR; 讀取冷藏室溫度設定值 MOVC A , DPTR LCALL DLY_100MS ; 延時確保數(shù)據(jù)讀完 MOV 61H , A MOV 64H , #0
31、0H ; 清空各狀態(tài)位 SETB EX0 ; 允許外部中斷0中斷 SETB IT0 ; 選擇邊沿觸發(fā)方式 SETB EA ; CPU開中斷 RET 三、鍵盤掃描子程序:KEY 掃描程序采用邊延時邊掃描的方法,當設置鍵SET_KEY按下一次,指示燈L1亮,按ADD(+)鍵和SUB()鍵設置冷藏室溫度。當設置鍵SET_KEY按下二次,指示燈L2亮,L1滅,按ADD(+)鍵和SUB()鍵設置冷凍室溫度。當設置鍵SET_KEY按下三次,設置完成,指示燈L1,L2均滅。如果3S內(nèi)無鍵按下,表示誤按或用戶放棄設置。退出掃描。 程序如下: KEY:CLR A MOV R0 , #00H START:MOV
32、R4 , #1EH ; 邊延時邊掃描3S LOOP:LCALL DLY_100MS JNB SETB_KEY , SET JNB ADD-KEY , ADD JNB SUB_KEY , SUB DJNZ R4 , LOOP AJMP EXIT ; 3S內(nèi)沒有鍵按下結(jié)束掃描 SET:CJNE R0 , #03H , SET1 ; 設置鍵按下三次,設置完成 CLR L1 CLR L2 AJMP EXIT SET1:INC R0 CJNE R0 , #01H , SET2 ; 設置鍵按下一次 SETB L1 AJMP START SET2:CLR L1 ; 設置鍵按下二次 SETB L2 AJMP
33、START ; 加鍵按下 ADD:CJNE R0 , #01H , ADD1; 冷藏室溫度為正時加1 MOV A , 60H JB ACC.7 , ADD_1 INC A MOV 60H , A AJMP DSP ADD_1:CLR ACC.7; 冷藏室溫度為負時加1 DEC A SETB ACC.7 MOV 60H , A AJMP DSP ADD1:CJNE R0 , #02H , START MOV A , 61H ; 冷凍室溫度為正時加1 JB ACC.7 , ADD1_1 INC A MOV 61H , A AJMP DSP ADD1_1:CLR ACC.7; 冷凍室溫度為負時加1
34、DEC A SETB ACC.7 MOV 61H , A AJMP DSP ; 減鍵按下 SUB:CJNE R0 , #01H , SUB1; 冷藏室溫度為正時減1 MOV A , 60H JB ACC.7 , SUN_1 DEC A MOV 60H , A AJMP DSP SUB_1:CLR ACC.7 ; 冷藏室溫度為負時減1 INC A SETB ACC.7 MOV 60H , A AJMP DSP SUB1:CJNE R0 , #02H , START CLR ACC.7 ; 冷凍室溫度為正時減1 JB ACC.7 , SUB1_1 DEC A MOV 61H , A AJMP DS
35、P SUB1_1:CLR ACC.7 ; 冷凍室溫度為負時減1 INC A SETB ACC.7 MOV 61H , A AJMP DSP DSP:MOV DPTR , #20H; 將設定值存放在閃爍存儲器上 MOV A , 62H MOVC DPTR , A LCALL DLY_100MS INC DPTR MOV A , 63H MOVC DPTR , A LCALL DLY_100MS MOV R3 , 60H; 顯示設定值 MOV R4 , 61H LCALL DISP AJMP START EXIT:RET 四打開壓縮機子程序:OPEN程序流程圖如下圖3-3如示:圖3-3 打開壓縮機
36、子程序 入口參數(shù):全局變量COMP , TIME_OUT , UP COMP 壓縮機開啟標志:1 壓縮機開啟 0 壓縮關閉 TIME_OUT 離上次關閉壓縮機是否已有3S:1 否 0 是 UP 電壓過欠壓標志:1 過欠壓 0 正常 作用: 根據(jù)條件打開壓縮機 返回值:無 程序如下: OPEN:CLR A MOV A , 64H MOV COMP , ACC.0 MOV TIMP_OUT , ACC.1 MOV UP , ACC.2 JB COMP , EXIT ; 壓縮機處于關閉狀態(tài) JB TIMP_OUT , EXIT ; 距上次關閉有3s JB UP , EXIT ; 電壓正常 SETB COMP ; 置壓機狀態(tài)位 SETB TIME_OUT ; 置TIME_OUT位 MOV AC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆福建省龍巖市龍巖一中化學高一下期末聯(lián)考模擬試題含解析
- ??谑兄攸c中學2025屆化學高一下期末復習檢測試題含解析
- 廣州黃埔區(qū)第二中學2025屆高一化學第二學期期末檢測模擬試題含解析
- 正丙醇項目評估報告
- 安全生產(chǎn)標準化建設工作方案
- 教育心理學在藝術教育中的實踐
- 從職場溝通角度探討提升個體情緒智能的方法和策略
- 教育心理學在改善網(wǎng)絡課程參與度中的應用研究
- 施工現(xiàn)場消防安全保障方案
- 安全生產(chǎn)測繪管理制度
- 民法學全套精美課件
- 獸藥管理法律制度課件
- 叉車安全駕駛技術(叉車基礎知識、安全駕駛、動力裝置)課件
- 公務員登記表及備案表
- 人教版高一數(shù)學必修1課件【全冊】
- 反習慣性違章重在班組長
- 《莊子》寓言對后世的影響
- 湖南省長沙市2022-2023學年新高一英語入學分班考試試卷【含答案】
- 譯林小學英語單詞表帶音標
- 《中國語言文化》課程教學大綱
- 庭審筆錄郭英賀駁回-離婚案件
評論
0/150
提交評論