基于單片機(jī)的電冰箱設(shè)計(jì)_第1頁(yè)
基于單片機(jī)的電冰箱設(shè)計(jì)_第2頁(yè)
基于單片機(jī)的電冰箱設(shè)計(jì)_第3頁(yè)
基于單片機(jī)的電冰箱設(shè)計(jì)_第4頁(yè)
基于單片機(jī)的電冰箱設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選文檔Hefei University 合肥學(xué)院 項(xiàng)目名稱: 基于單片機(jī)的電冰箱設(shè)計(jì) 作者姓名: 孫勇峰 1105031011 孫 蒙 1105031012 夏景可 1105031013 蔡國(guó)慶 1105031014 朱 葵 1105031015 王 浩 1105031016 時(shí) 間: 2014-4-17 目錄第1章 緒論41.1課題研究背景及目的41.2 電冰箱的基本介紹41.3 本設(shè)計(jì)研究?jī)?nèi)容5第2章 總體設(shè)計(jì)方案62.1 功能要求62.2 方案論證62.2.1方案一62.2.2方案二6第3章 系統(tǒng)的硬件設(shè)計(jì)83.1 硬件電路的重要芯片介紹83.1.1 MCS-51單片機(jī)STC89C52

2、83.1.2 溫度傳感器DS18B20113.2 部分電路簡(jiǎn)介133.2.1 過(guò)欠電壓檢測(cè)電路133.2.2 12864液晶連接電路14第4章 系統(tǒng)軟件程序設(shè)計(jì)164.1 顯示子程序174.2 DS18B20程序184.3 預(yù)置溫度調(diào)節(jié)程序194.4 判斷控制程序204.5 開(kāi)啟延時(shí)程序21第5章 分析與結(jié)論23總結(jié)與體會(huì)24參考文獻(xiàn)25溫控器系統(tǒng)原理圖26摘 要單片機(jī)是實(shí)時(shí)檢測(cè)和自動(dòng)控制系統(tǒng)中心一個(gè)核心器件。本文設(shè)計(jì)的基于單片機(jī)的電冰箱溫度控制器系統(tǒng)是利用溫度傳感器DS18B20采集電冰箱冷藏室的溫度,通過(guò)INTEL公司的高效微控制器STC89C52單片機(jī)進(jìn)行信號(hào)控制,從而達(dá)到智能控制的目的

3、。本系統(tǒng)可實(shí)現(xiàn)電冰箱溫度設(shè)置、電冰箱過(guò)欠壓檢測(cè)、開(kāi)門(mén)顯示、壓縮機(jī)開(kāi)啟延時(shí)等功能。通過(guò)對(duì)直冷式電冰箱制冷系統(tǒng)的改進(jìn),實(shí)現(xiàn)了電冰箱的智能控制,使電冰箱能根據(jù)使用條件的變化迅速合理地調(diào)節(jié)制冷,且節(jié)能效果良好。關(guān)鍵詞:?jiǎn)纹瑱C(jī);電冰箱;溫度控制;過(guò)欠壓檢測(cè);開(kāi)啟延時(shí) 第1章 緒論1.1課題研究背景及目的冰箱是深刻改變了人類(lèi)生活的現(xiàn)代奇跡之一。在人們發(fā)明冰箱之前,保存肉類(lèi)的唯一方法是腌制,而在夏季喝到冰鎮(zhèn)飲料更是一種奢望。隨著國(guó)民經(jīng)濟(jì)的日益發(fā)展,人民的生活水平有了很大的提高,冷凍器具在家庭,醫(yī)院,旅館,餐廳和科研單位得到了廣泛的應(yīng)用。電冰箱作為應(yīng)用較為普及的家用電器,近年來(lái),隨著微電子技術(shù)、傳感器技術(shù)以及

4、控制理論的發(fā)展,其呈現(xiàn)迅猛發(fā)展,電冰箱向大容量、多功能、無(wú)氟、節(jié)能、智能化、人性化方向發(fā)展,因此傳統(tǒng)的機(jī)械式、簡(jiǎn)單的電子控制難以滿足現(xiàn)代冰箱的發(fā)展要求。電冰箱一般設(shè)有冷凍室和冷藏室。冷凍室的溫度為:- 16 - 24 。冷藏室的溫度為:28 。電冰箱控制的主要任務(wù)就是保持箱內(nèi)食品最佳溫度,達(dá)到食品保鮮的目的。而此次設(shè)計(jì)的目的則是熟悉溫控器的原理,并通過(guò)開(kāi)發(fā)板模擬實(shí)現(xiàn)電冰箱溫控器。1.2 電冰箱的基本介紹冰箱的基本原理很簡(jiǎn)單:冰箱利用液體蒸發(fā)吸收熱量。冰箱中使用的液體(即制冷劑)會(huì)在極低的溫度蒸發(fā),使冰箱內(nèi)部保持冰凍溫度。所有冰箱都由五個(gè)基本部件組成:壓縮機(jī)熱交換管,冰箱外部呈彎曲或盤(pán)曲狀的管道

5、安全閥冷交換管,冰箱內(nèi)部呈彎曲或盤(pán)曲狀的管道制冷劑,冰箱內(nèi)蒸發(fā)以制造低溫的液體很多工業(yè)冰箱使用純氨作為制冷劑,純氨在-32時(shí)蒸發(fā)。壓縮機(jī)壓縮制冷劑氣體,這將升高制冷劑的壓力和溫度(橙色),而冰箱外部的熱交換線圈幫助制冷劑散發(fā)加壓產(chǎn)生的熱量。 當(dāng)制冷劑冷卻時(shí),制冷劑液化成液體形式(紫色),并流經(jīng)安全閥。當(dāng)制冷劑流經(jīng)安全閥時(shí),液態(tài)制冷劑從高壓區(qū)流向低壓區(qū),因此它會(huì)膨脹并蒸發(fā)(淺藍(lán)色)。在蒸發(fā)過(guò)程中,它會(huì)吸收熱量,發(fā)揮制冷效果。 冰箱內(nèi)的線圈幫助制冷劑吸收熱量,使冰箱內(nèi)部保持低溫。然后,重復(fù)該循環(huán)。1.3 本設(shè)計(jì)研究?jī)?nèi)容在本次課題研究中我將參考從各個(gè)方面收集到的文獻(xiàn),博取其精華。研究方法則是采用C5

6、1單片機(jī)開(kāi)發(fā)板模擬電冰箱工作環(huán)境,并模擬設(shè)定電冰箱各項(xiàng)參數(shù),以研究電冰箱溫控器的工作原理及設(shè)計(jì)。研究的內(nèi)容主要包括以下方面:1、液晶顯示的工作原理,并通過(guò)液晶將各項(xiàng)數(shù)據(jù)顯示在冰箱外;2、溫度控制器原理,制冷原理,自動(dòng)控制電冰箱工作使其通過(guò)制冷達(dá)到所設(shè)定的溫度;3、智能檢測(cè)電冰箱工作電壓是否正常,避免壓縮機(jī)燒壞;4、繼電器工作原理,模擬對(duì)壓縮機(jī)的通/斷電操作;5、單片機(jī)C程序編程語(yǔ)言;在本文中將介紹基于單片機(jī)的電冰箱溫控器設(shè)計(jì)的總體設(shè)計(jì)思想和方案,及用得到的部分芯片及硬件設(shè)計(jì)的原理,還有軟件設(shè)計(jì)過(guò)程中的思想和方法等。 第2章 總體設(shè)計(jì)方案2.1 功能要求通過(guò)液晶顯示所設(shè)定的溫度,溫度能隨意調(diào)節(jié),

7、能自動(dòng)控制電冰箱工作,使其通過(guò)制冷達(dá)到所設(shè)定的溫度。2.2 方案論證根據(jù)畢業(yè)設(shè)計(jì)的要求,我們可以知道在本次設(shè)計(jì)中最重要的部分就是溫控器,溫控器的選擇將決定外部電路的設(shè)計(jì),所以溫控器的選擇具體有兩種以下方案。2.2.1方案一在日常生活及工農(nóng)生產(chǎn)中,經(jīng)常要用到溫度的檢測(cè)及控制,傳統(tǒng)的測(cè)溫元件有熱電耦和熱電阻。溫控器的第一選擇就可以選擇熱電耦和熱電阻,他們測(cè)出的一般都是電壓,再轉(zhuǎn)換成對(duì)應(yīng)的溫度,但是需要比較多的外部硬件支持。因此這種選擇就有如下主要缺點(diǎn): 硬件電路復(fù)雜; 軟件調(diào)試復(fù)雜; 制作成本高;2.2.2方案二采用美國(guó)DALLAS半導(dǎo)體公司生產(chǎn)的高性能數(shù)字智能溫度傳感器DS18B20。DS18B

8、20作為檢測(cè)元件,測(cè)溫范圍為-55125,最高分辨率可達(dá)0.0625。DS18B20可以直接讀出被測(cè)溫度值,而且采用三線制與單片機(jī)相連,減少了外部的硬件電路,具有低成本和易使用的特點(diǎn)。所以在本次畢業(yè)設(shè)計(jì)中采用方案二,使用DS18B20作溫控器配合51單片機(jī)STC89C52進(jìn)行設(shè)計(jì)。按照系統(tǒng)設(shè)計(jì)功能的要求,確定系統(tǒng)由6個(gè)模塊組成:主控制器、測(cè)溫電路、液晶顯示電路、過(guò)欠壓檢測(cè)電路、按鍵電路、繼電器壓縮機(jī)電路。溫度控制器總體電路結(jié)構(gòu)框圖如圖2-1所示。圖 2- 1 溫度控制器總體電路結(jié)構(gòu)框圖第3章 系統(tǒng)的硬件設(shè)計(jì)3.1 硬件電路的重要芯片介紹 溫控器電路設(shè)計(jì)原理圖如附錄A所示,控制器使用單片機(jī)STC

9、89C52,溫度傳感器使用DS18B20,及12864液晶顯示屏實(shí)現(xiàn)溫度和其他顯示。3.1.1 MCS-51單片機(jī)STC89C52單片微機(jī)封裝形式為雙排直列式結(jié)構(gòu)(DIP),引腳共40個(gè)。如圖3-1所示。MCS51單片機(jī)STC89C52其內(nèi)部基本組成為:一個(gè)8位的中央處理器(CPU),256byte片內(nèi)RAM單元,4Kbyte掩膜式ROM,2個(gè)16位的定時(shí)器計(jì)數(shù)器,四個(gè)8位的并行I/O口(P0,P1,P2,P3),一個(gè)全雙工串行口5個(gè)中斷源,一個(gè)片內(nèi)振蕩器和時(shí)鐘發(fā)生電路,可編程串行通道,有低功耗的閑置和掉電模式。這種結(jié)構(gòu)特點(diǎn)決定了單片機(jī)具有體積小、成本低、可靠性高、應(yīng)用靈活、開(kāi)發(fā)效率高、易于被

10、產(chǎn)品化等優(yōu)點(diǎn),使其具有很強(qiáng)的面向控制的能力,在工業(yè)自動(dòng)化控制、家用電器、智能化儀表、機(jī)器人、軍事裝置等領(lǐng)域獲得了廣泛的應(yīng)用。圖 3- 1 MSC-C51單片機(jī)STC89C52引腳圖2管腳說(shuō)明: VCC:供電電壓。 GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4

11、TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄

12、存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為8051的一些特殊功能口,如下所示: 口管腳 備選功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時(shí)器0外部輸入) P3.5 T1(記時(shí)器1外部輸入) P3.6 /WR(外部數(shù)據(jù)存

13、儲(chǔ)器寫(xiě)選通) P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)   P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOV

14、C指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。 /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTA

15、L2:來(lái)自反向振蕩器的輸出。3.1.2 溫度傳感器DS18B20溫度傳感器是本系統(tǒng)不可或缺的元件,其性能的好壞直接影響系統(tǒng)的性能,因此溫度傳感器采用DALLAS公司生產(chǎn)的高性能數(shù)字溫度傳感器DS18B20。 DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3引腳TO92小體積封裝形式;溫度測(cè)量范圍為55125,可編程為9位12位A/D轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá)0.0625,被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出;其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生;多個(gè)DS18B20可以并聯(lián)到3根或2根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口

16、較少,可節(jié)省大量的引線和邏輯電路。以上特點(diǎn)使DS18B20非常適用于遠(yuǎn)距離多點(diǎn)溫度檢測(cè)系統(tǒng)。 DS18B20內(nèi)部結(jié)構(gòu)如圖3-3所示,主要由4部分組成:64位ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列如圖3-2所示: 圖 3- 2 DS18B20的管腳排列圖DQ: 為數(shù)字信號(hào)輸入輸出端; GND:為電源地; VDD:為外接供電電源輸入端(在寄生電源接線方式時(shí)接地,見(jiàn)圖3-2)。 ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼,每個(gè)DS18B20的64位序列號(hào)均不相同。64位ROM的排的循環(huán)冗余校驗(yàn)碼(CRC=X8

17、X5X41)。ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。圖 3- 3 DS18B20的內(nèi)部結(jié)構(gòu)DS18B20 用12 位存貯溫度值,最高位為符號(hào)位。以下圖表為DS18B20的溫度存儲(chǔ)方式,負(fù)溫度S = 1,正溫度S = 0,如:0550H為+ 85,0191H為25.0625 ,F(xiàn)C90H為- 55。2322212021222324溫度值低字節(jié) LSBSSSSS262524溫度值高字節(jié) MSB 高低溫報(bào)警觸發(fā)器TH和TL、配置寄存器均由一個(gè)字節(jié)的EEPROM組成,使用一個(gè)存儲(chǔ)器功能命令可對(duì)TH、TL或配置寄存器寫(xiě)入。其中配置寄存器的格

18、式如下: 0R1R011111 R1、R0決定溫度轉(zhuǎn)換的精度位數(shù):R1R0=00,9位精度,最大轉(zhuǎn)換時(shí)間為93.75ms,R1R0=01,10位精度,最大轉(zhuǎn)換時(shí)間為187.5ms,R1R0=10,11位精度,最大轉(zhuǎn)換時(shí)間為375ms,R1R0=11,12位精度,最大轉(zhuǎn)換時(shí)間為750ms;未編程時(shí)默認(rèn)為12位精度。 高速暫存器是一個(gè)9字節(jié)的存儲(chǔ)器。開(kāi)始兩個(gè)字節(jié)包含被測(cè)溫度的數(shù)字量信息;第3、4、5字節(jié)分別是TH、TL、配置寄存器的臨時(shí)拷貝,每一次上電復(fù)位時(shí)被刷新;第6、7、8字節(jié)未用,表現(xiàn)為全邏輯1;第9字節(jié)讀出的是前面所有8個(gè)字節(jié)的CRC碼,可用來(lái)保證通信正確。 DS18B20的一線

19、工作協(xié)議流程是:初始化ROM操作指令存儲(chǔ)器操作指令數(shù)據(jù)傳輸。3.2 部分電路簡(jiǎn)介3.2.1 過(guò)欠電壓檢測(cè)電路 如圖3-4(a)所示即為過(guò)欠壓檢測(cè)電路,也稱為電壓窗口比較器。在圖3-4(a)中,A1,A2是專(zhuān)用電壓比較器LM119。LM119的內(nèi)部采用射級(jí)接地、集電極開(kāi)路的三極管集電極輸出方式。在使用時(shí),必須外接上拉電阻。過(guò)欠壓檢測(cè)電路只有檢測(cè)出電壓是否穩(wěn)定便可,而這種電路允許輸出端并接在一起。 此電路的工作原理是: 當(dāng)輸入電壓Ui<UR2時(shí),比較器A1的輸出管截止,而比較器A2的輸出管導(dǎo)通,此時(shí)窗口比較器的輸出電平將由比較器A2輸出電平確定為低電平。 當(dāng)輸入電壓Ui>UR1時(shí),比較

20、器A1的輸出管導(dǎo)通,而比較器A2的輸出管截止,此窗口比較器的輸出電平將由比較器A1輸出電平確定為低電平。 只有當(dāng)輸入電壓處于窗口電壓之內(nèi),即UR2<Ui<UR1時(shí),比較器A1和A2輸出管均截止,窗口比較器輸出電平是由上拉負(fù)載電阻拉向高電平。此窗口比較器的傳輸特性如圖3-4(b)所示。 (a) (b)圖 3- 4 過(guò)欠壓檢測(cè)電路3.2.2 12864液晶連接電路 液晶顯示屏有功耗低、體積小、重量輕、超薄等許多其他顯示器無(wú)法比擬的優(yōu)點(diǎn),近幾年來(lái)被廣泛用于單片機(jī)控制的智能儀器、儀表和低功耗電子產(chǎn)品中。利用該模塊靈活的接口方式和簡(jiǎn)單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面。可以顯示8

21、×4行16×16點(diǎn)陣的漢字. 也可完成圖形顯示.低電壓低功耗是其又一顯著特點(diǎn)。由該模塊構(gòu)成的液晶顯示方案與同類(lèi)型的圖形點(diǎn)陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡(jiǎn)潔得多,且該模塊的價(jià)格也略低于相同點(diǎn)陣的圖形液晶模塊。帶中文字庫(kù)的128×64每屏可顯示4行8列共32個(gè)16×16點(diǎn)陣的漢字,每個(gè)顯示RAM可顯示1個(gè)中文字符或2個(gè)16×8點(diǎn)陣全高ASCII碼字符,即每屏最多實(shí)現(xiàn)32個(gè)中文字符或64個(gè)ASCII碼字符的顯示。帶中文字庫(kù)的128×64內(nèi)部提供128×2字節(jié)的字符顯示RAM緩沖區(qū),字符顯示是通過(guò)將字符顯示編碼寫(xiě)

22、入該字符顯示RAM實(shí)現(xiàn)的。根據(jù)寫(xiě)入內(nèi)容的不同,可分別在液晶屏上顯示CGROM(中文字庫(kù))、HCGROM(ASCII碼字庫(kù))及CGRAM(自定義字形)的內(nèi)容。字符顯示的RAM的地址與32個(gè)字符顯示區(qū)域有著一一對(duì)應(yīng)的關(guān)系,其對(duì)應(yīng)關(guān)系如下表所示:表 3- 1 漢字顯示坐標(biāo)X坐標(biāo)Line180H81H82H83H84H85H86H87HLine290H91H92H93H94H95H96H97HLine388H89H8AH8BH8CH8DH8EH8FHLine498H99H9AH9BH9CH9DH9EH9FH在此系統(tǒng)中,液晶采用并口通信,所以第15腳PSB端固定接高電平,引腳7-14作為三態(tài)數(shù)據(jù)線,其他

23、引腳說(shuō)明見(jiàn)表3-2,連接圖如圖3-5所示:圖 3- 5 12864液晶連接電路圖表 3- 2 12864引腳功能說(shuō)明引腳號(hào)引腳名稱方向功能說(shuō)明1VSS-模塊的電源地2VDD-模塊的電源正端3V0-LCD 驅(qū)動(dòng)電壓輸入端4RS(CS)H/L并行的指令/數(shù)據(jù)選擇信號(hào);串行的片選信號(hào)5R/W(SID)H/L并行的讀寫(xiě)選擇信號(hào);串行的數(shù)據(jù)口6E(CLK)H/L并行的使能信號(hào);串行的同步時(shí)鐘16NC空腳17/RETH/L復(fù)位 低電平有效18NC空腳19LED_A-背光源正極(LED+5V)20LED_K-背光源負(fù)極(LED-OV)第4章 系統(tǒng)軟件程序設(shè)計(jì)基于單片機(jī)的電冰箱溫控器軟件設(shè)計(jì)主要由顯示子程序、

24、讀出并處理DS18B20的測(cè)量溫度值程序、預(yù)置溫度調(diào)節(jié)程序、溫度判斷控制程序、電冰箱開(kāi)啟延時(shí)程序、還有軟件復(fù)位程序等組成。軟件程序設(shè)計(jì)總體流程圖如下圖4-1:圖 4- 1 軟件程序設(shè)計(jì)總體流程圖由于51系列的單片機(jī)沒(méi)有停機(jī)的指令,所以可以利用主程序設(shè)置死循環(huán)反復(fù)運(yùn)行各個(gè)任務(wù)。于是就把有實(shí)時(shí)要求的部分放在最內(nèi)層的循環(huán)中。4.1 顯示子程序在本次設(shè)計(jì)中,顯示子程序包括三部分:往LCD液晶顯示屏發(fā)送一個(gè)字節(jié)的數(shù)據(jù)或指令子程序,LCD液晶屏初始化子程序,顯示數(shù)據(jù)處理程序。1) 往LCD液晶顯示屏發(fā)送一個(gè)字節(jié)的數(shù)據(jù)或指令子程序其調(diào)用的函數(shù)是void TransferData(char data1,bit

25、 DI),在程序中首先將并行口選擇為寫(xiě)的狀態(tài),然后選擇將要傳送的是指令還是數(shù)據(jù),再將數(shù)據(jù)送到P1口,打開(kāi)并行口的使能端,等待數(shù)據(jù)輸出完畢后關(guān)閉并行口使能。其流程圖如圖4-2所示。 圖 4- 2 傳送數(shù)據(jù)流程圖 圖 4- 3 LCD液晶初始化程序流程圖2) LCD液晶屏初始化子程序其使用的函數(shù)是void initinal(void),僅在開(kāi)機(jī)時(shí)調(diào)用一次,主要負(fù)責(zé)設(shè)置LCD液晶屏的一些狀態(tài),包括設(shè)置液晶總線模式,芯片復(fù)位,功能設(shè)定,關(guān)閉芯片顯示,設(shè)置芯片動(dòng)態(tài)顯示,清屏,設(shè)置起始行0行0列;液晶初始化結(jié)束返回。LCD液晶屏初始化完成后就可以顯示各種字符了,即進(jìn)入正常工作狀態(tài)。具體流程圖4-3所示。3

26、) 顯示數(shù)據(jù)處理程序調(diào)用方式:void lcd_mesg(uchar code *adder1)函數(shù)說(shuō)明:顯示全屏的內(nèi)容調(diào)用方式:void lcd_mesg2(uchar add,uchar code *adder2)函數(shù)說(shuō)明:顯示某一行的內(nèi)容調(diào)用方式:void LCD_w_wd(uchar add2,int wwd,uchar fs)函數(shù)說(shuō)明:溫度顯示處理并送入LCD的指定區(qū)域這些函數(shù)的使用可以使得顯示內(nèi)容時(shí),非常合適的處理好了頁(yè)切換和列切換,只要通過(guò)查表送至12864液晶顯示屏RAM中便可顯示自如。4.2 DS18B20程序 整個(gè)DS18B20程序調(diào)用方式是uint ReadTempera

27、ture(void),該函數(shù)主要包括了對(duì)DS18B20的初始復(fù)位,讀溫度,溫度轉(zhuǎn)換,計(jì)算溫度等子程序,并將轉(zhuǎn)換后的數(shù)據(jù)擴(kuò)大10倍返回主函數(shù),提供給下一個(gè)函數(shù)使用。讀DS18B20程序流程圖如圖4-4。圖 4- 4讀DS18B20程序流程圖1) 對(duì) DS18B20 操作時(shí),首先要將它復(fù)位將DQ線拉低480至960s,再將數(shù)據(jù)線拉高15至60s,然后DS18B20發(fā)出60至此240s的低電平作為應(yīng)答信號(hào),這時(shí)主機(jī)才能對(duì)它進(jìn)行其它操作11。2) 讀溫度子程序的主要功能是讀出DS18B20的RAM中的9個(gè)字節(jié)。前兩個(gè)就是溫度,將高低字節(jié)分別放入b和a中。在讀出時(shí)須進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)

28、據(jù)的改寫(xiě)。讀操作:主機(jī)將數(shù)據(jù)線從高電平拉至低電平1s以上,再使數(shù)據(jù)線升為高電平,從而產(chǎn)生讀起始信號(hào)從主機(jī)將數(shù)據(jù)線從高電平拉至低電平起15s至60s,主機(jī)讀取數(shù)據(jù)每個(gè)讀周期最短的持續(xù)期為60s周期之間必須有1s以上的高電平恢復(fù)期11。3) 溫度轉(zhuǎn)換命令子程序主要是發(fā)送溫度轉(zhuǎn)換開(kāi)始命令。當(dāng)采用12位分辨率時(shí),轉(zhuǎn)換的時(shí)間約為750ms。在本程序中,采用2s顯示程序延時(shí)法等待轉(zhuǎn)換完成。發(fā)送溫度轉(zhuǎn)換命令的寫(xiě)操作:將數(shù)據(jù)線從高電平拉至低電平,產(chǎn)生寫(xiě)起始信號(hào)從DQ 線的下降沿起計(jì)時(shí),在 15s到60s這段時(shí)間內(nèi)對(duì)數(shù)據(jù)線進(jìn)行檢測(cè),如數(shù)據(jù)線為高電平則寫(xiě)1;若為低電平,則寫(xiě)0,完成了一個(gè)寫(xiě)周期在開(kāi)始另一個(gè)寫(xiě)周期前

29、,必須有1s以上的高電平恢復(fù)期每個(gè)寫(xiě)周期必須要有60 s以上的持續(xù)期11。4) 計(jì)算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定。因?yàn)閺腄S18B20中讀出的二進(jìn)制值必須先轉(zhuǎn)換成十進(jìn)制值,才能用于字符的顯示。DS18B20的轉(zhuǎn)換精度為912位可選,為了提高精度采用12位。在采用12位轉(zhuǎn)換精度時(shí),溫度寄存器里的值是以0.0625為步進(jìn)的,即溫度值為溫度寄存器里的二進(jìn)制值乘以0.0625,就是實(shí)際的十進(jìn)制溫度值。擴(kuò)大十倍,四舍五入后便可將精度精確到0.1。4.3 預(yù)置溫度調(diào)節(jié)程序 在本次設(shè)計(jì)中,可預(yù)置的溫度范圍可以從-2020。在編寫(xiě)程序過(guò)程中,如果直接對(duì)代表溫度值的變

30、量yskey的值在-2020操作對(duì)數(shù)據(jù)的轉(zhuǎn)換將很復(fù)雜和麻煩。于是我將其yskey值的范圍移至1-40間,進(jìn)而就不需要去處理yskey復(fù)雜的數(shù)據(jù)類(lèi)型轉(zhuǎn)換的問(wèn)題了。程序的詳細(xì)設(shè)計(jì)流程圖如下圖4-5:圖 4- 5預(yù)置溫度調(diào)節(jié)程序流程圖 yskey返回給主函數(shù)中的ys后,要得到真實(shí)的溫度值,只需要判斷ys是大于等于20,還是小于20的。若其值大于則減去20即為要預(yù)設(shè)的實(shí)際正數(shù)溫度值;若是其值小于則20減去其值,再加上一個(gè)負(fù)數(shù)符號(hào)便是要預(yù)設(shè)的負(fù)溫度值。將其值送入指定的溫度顯示區(qū)域,我們便能夠適時(shí)的看到調(diào)節(jié)的預(yù)置溫度了。4.4 判斷控制程序判斷控制程序是根據(jù)用戶設(shè)定的溫度值和DS18B20實(shí)時(shí)測(cè)得溫度值相

31、比較,從而決定是否需要制冷,并在液晶屏上顯示其工作狀態(tài)。而對(duì)壓縮機(jī)的控制則是通過(guò)控制繼電器的通斷決定是否給壓縮機(jī)通電工作來(lái)實(shí)現(xiàn)的。當(dāng)ysj=1,也就是P1.1腳為高電平的時(shí)候,繼電器閉合,壓縮機(jī)通電工作;當(dāng)ysj=0時(shí),繼電器斷開(kāi),壓縮機(jī)停止工作。若當(dāng)壓縮機(jī)的工作電壓不正常時(shí),壓縮機(jī)將有被燒壞的危險(xiǎn),程序自動(dòng)進(jìn)入故障處理部分,在液晶顯示屏上顯示故障原因,壓縮機(jī)停止工作。直到故障解除,然后重行啟動(dòng)電冰箱程序。圖4-6所示的就是該程序的流程圖。為了避免冷氣泄露,節(jié)約電能需要進(jìn)行電冰箱門(mén)關(guān)好與否的檢查,因此在程序中又設(shè)置一判斷門(mén)是否關(guān)好的語(yǔ)句能夠及時(shí)地提醒用戶門(mén)沒(méi)關(guān)好。這一部分將不再圖4-6中畫(huà)出。

32、圖 4- 6判斷控制程序流程圖4.5 開(kāi)啟延時(shí)程序該功能要求壓縮機(jī)停機(jī)時(shí)間超過(guò)5分鐘才能啟動(dòng),以延長(zhǎng)壓縮機(jī)的壽命,這就要求在每次電冰箱上電時(shí),都要檢查壓縮機(jī)停機(jī)是否到5分鐘。若未達(dá)到需延時(shí)到5分鐘后才能啟動(dòng),因此在設(shè)計(jì)時(shí)應(yīng)有判斷與延時(shí)功能。按功能要求,電冰箱無(wú)論是自動(dòng)停機(jī)還是強(qiáng)制停機(jī)。為了延長(zhǎng)壓縮機(jī)的壽命,都要延時(shí)5分鐘后壓縮機(jī)才能啟動(dòng)。即在每次接通壓縮機(jī)時(shí),單片機(jī)計(jì)時(shí),利用單片機(jī)將計(jì)數(shù)值保存在軟件設(shè)計(jì)時(shí),每次上電都要檢查此數(shù)據(jù)是否到5分鐘。若時(shí)間不到,延時(shí)后才能接通壓縮機(jī)。為了在單片機(jī)延時(shí)期間不耽擱其他程序的執(zhí)行和處理,在此使用定時(shí)器T1計(jì)時(shí),并且使用工作組2,循環(huán)定時(shí)延遲5分鐘。但在本程序中壓縮機(jī)的開(kāi)啟延時(shí)時(shí)間為30秒,方便演示。圖4-7為開(kāi)啟延時(shí)程序流程圖。圖

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論