恒定溫度的設(shè)備,被廣泛地應(yīng)用于生產(chǎn)、生活、實(shí)驗(yàn)等領(lǐng)域。在醫(yī)用、水產(chǎn)、特種工業(yè)、工業(yè)探傷、照相等行業(yè),都需要有穩(wěn)定而精確的溫度。在本設(shè)計(jì)中,我們針對(duì)培養(yǎng)箱而設(shè)計(jì)的一個(gè)恒溫系統(tǒng),在系統(tǒng)里,通過(guò)對(duì)恒溫箱溫度的檢測(cè)與變送傳到單片機(jī),與給定值進(jìn)行比較,單片機(jī)對(duì)數(shù)據(jù)進(jìn)行處理,根據(jù)偏差信號(hào)的大小輸出驅(qū)動(dòng)PWM輸出,通過(guò)改變PWM輸出的周期和幅值,控制發(fā)熱絲的功率,從而達(dá)到恒溫箱內(nèi)溫度控制的目的。 本設(shè)計(jì)是對(duì)恒溫箱進(jìn)行溫度控制。從箱內(nèi)溫度的檢測(cè)、變換到信號(hào)的轉(zhuǎn)換和傳送這一系列的過(guò)程都牽扯到很多的知識(shí),在設(shè)計(jì)過(guò)程中我們也遇到很多困難,比如說(shuō)溫度測(cè)量器件的選用,變換成電壓信號(hào)還是電流信號(hào),相應(yīng)的怎么傳送等,都經(jīng)過(guò)了考慮才選擇了這個(gè)方案。單片機(jī)的設(shè)計(jì)中,單片機(jī)外部線(xiàn)路的設(shè)計(jì),端口的分配和選用,復(fù)位和內(nèi)部時(shí)鐘的配合和電路的驅(qū)動(dòng)等方面也遇到了不少問(wèn)題,經(jīng)過(guò)討論我們都基本上解決了。加熱電路我們選擇了IGBT作為開(kāi)關(guān)器件,IGBT可控而且開(kāi)關(guān)頻率很高,適合用在控制頻繁通斷的場(chǎng)合。 這里利用芯片DS18B20作為恒溫箱的溫度檢測(cè)元件。DS18B20芯片可以直接把測(cè)量的溫度值變換成單片機(jī)可以讀取的標(biāo)準(zhǔn)電壓信號(hào)。單片機(jī)從外部設(shè)置兩位撥碼開(kāi)關(guān)進(jìn)行預(yù)置數(shù),讀入的數(shù)據(jù)與預(yù)置數(shù)進(jìn)行比較,根據(jù)偏差的大小,單片機(jī)執(zhí)行程序?qū)WM進(jìn)行控制,經(jīng)過(guò)對(duì)PWM的輸出脈沖進(jìn)行放大,也就是對(duì)恒溫箱內(nèi)電阻絲的驅(qū)動(dòng),對(duì)恒溫箱進(jìn)行加熱,使箱內(nèi)溫度升高,熱電偶連續(xù)對(duì)恒溫箱進(jìn)行溫度檢測(cè),當(dāng)偏差存在時(shí)單片機(jī)就繼續(xù)驅(qū)動(dòng)后繼電路進(jìn)行加熱,直到偏差為零。 本設(shè)計(jì)主要完成了熱電恒溫箱單片機(jī)微機(jī)控制系統(tǒng)的硬件電路設(shè)計(jì)和控制程序的軟件編寫(xiě),對(duì)控制系統(tǒng)的主要器件進(jìn)行了選型和分析,并且對(duì)整個(gè)控制系統(tǒng)的PID控制程序進(jìn)行了仿真調(diào)試。整個(gè)設(shè)計(jì)基本滿(mǎn)足設(shè)計(jì)要求。
2 總體方案設(shè)計(jì) 2.1 方案一  圖2.1 方案一總體圖 利用熱電偶作為恒溫箱的溫度檢測(cè)元件,應(yīng)用橋式電路對(duì)熱電偶作為補(bǔ)償。熱電偶出來(lái)的電流信號(hào)通過(guò)轉(zhuǎn)換變成電壓信號(hào),再進(jìn)行A/D轉(zhuǎn)換變換成單片機(jī)可以接受的電壓信號(hào),在從單片機(jī)讀入進(jìn)行數(shù)據(jù)處理。單片機(jī)從外部設(shè)置兩位撥碼開(kāi)關(guān)進(jìn)行預(yù)置數(shù),讀入的數(shù)據(jù)與預(yù)置數(shù)進(jìn)行比較,根據(jù)偏差的大小,單片機(jī)執(zhí)行程序?qū)WM進(jìn)行控制,經(jīng)過(guò)對(duì)PWM的輸出脈沖進(jìn)行放大,也就是對(duì)恒溫箱內(nèi)電阻絲的驅(qū)動(dòng),對(duì)恒溫箱進(jìn)行加熱,使箱內(nèi)溫度升高,熱電偶連續(xù)對(duì)恒溫箱進(jìn)行溫度檢測(cè),當(dāng)偏差存在時(shí)單片機(jī)就繼續(xù)驅(qū)動(dòng)后繼電路進(jìn)行加熱,直到偏差為零。在控制過(guò)程中,存在著檢測(cè)信號(hào)與控制信號(hào)之間的滯后關(guān)系,因此,在單片機(jī)的控制程序里加入了數(shù)字PID控制算法,是控制更加的準(zhǔn)確。單片機(jī)的設(shè)計(jì)包括外部時(shí)鐘和上電復(fù)位電路計(jì)。單片機(jī)對(duì)溫度的檢測(cè)可以通過(guò)三個(gè)LED進(jìn)行顯示。 方案二 
圖2.2方案二總體圖 利用DS18B20作為恒溫箱的溫度檢測(cè)元件,直接把測(cè)量的溫度值變換成單片機(jī)可以讀取的標(biāo)準(zhǔn)電壓信號(hào)。單片機(jī)從外部設(shè)置兩位撥碼開(kāi)關(guān)進(jìn)行預(yù)置數(shù),讀入的數(shù)據(jù)與預(yù)置數(shù)進(jìn)行比較,根據(jù)偏差的大小,單片機(jī)執(zhí)行程序?qū)WM進(jìn)行控制,經(jīng)過(guò)對(duì)PWM的輸出脈沖進(jìn)行放大,也就是對(duì)恒溫箱內(nèi)電阻絲的驅(qū)動(dòng),對(duì)恒溫箱進(jìn)行加熱,使箱內(nèi)溫度升高,熱電偶連續(xù)對(duì)恒溫箱進(jìn)行溫度檢測(cè),當(dāng)偏差存在時(shí)單片機(jī)就繼續(xù)驅(qū)動(dòng)后繼電路進(jìn)行加熱,直到偏差為零。在控制過(guò)程中,存在著檢測(cè)信號(hào)與控制信號(hào)之間的滯后關(guān)系,因此,在單片機(jī)的控制程序里加入了數(shù)字PID控制算法,是控制更加的準(zhǔn)確。單片機(jī)的設(shè)計(jì)包括外部時(shí)鐘和上電復(fù)位電路計(jì)。單片機(jī)對(duì)溫度的檢測(cè)可以通過(guò)1602液晶顯示。 2.2 方案比較與選擇a.方案一用的是熱電偶進(jìn)行溫度的測(cè)量,熱電偶的測(cè)量范圍和精度要求都符合本設(shè)計(jì)的需要,在不同的環(huán)境下所需要的補(bǔ)償是不一樣的,而且輸入單片機(jī)要進(jìn)行模數(shù)轉(zhuǎn)換,增加了轉(zhuǎn)換電路即增加了成本,轉(zhuǎn)換還需要時(shí)間,那往往就給控制帶來(lái)了很多麻煩,而且給恒溫巷的使用帶來(lái)一定的局限性,使保溫箱不能得到推廣,給廠(chǎng)家大批量的生產(chǎn)也帶來(lái)了很多不便。線(xiàn)性化的處理往往是應(yīng)用熱電偶的約束。而在方案二中,應(yīng)用的是測(cè)量溫度的專(zhuān)用芯片,避免了上述的一些問(wèn)題,而且應(yīng)用方案二的芯片使測(cè)量的靈敏度增加不少。 b.在方案一中,熱電偶測(cè)量出來(lái)的信號(hào)是電流信號(hào),電流信號(hào)適合遠(yuǎn)距離傳輸,而到單片機(jī)的距離不大,電流信號(hào)容易受外界的干擾而影響了測(cè)量信號(hào),導(dǎo)致測(cè)量的誤差增加,就算可以用其他方法消除干擾信號(hào),也麻煩。而在方案二中,測(cè)量出來(lái)的是電壓信號(hào),能直接輸入單片機(jī),方便而且準(zhǔn)確,不容易受外界干擾。 c.在方案一中,需要進(jìn)行電流——電壓的轉(zhuǎn)換,在經(jīng)過(guò)A/D轉(zhuǎn)換,在經(jīng)過(guò)標(biāo)準(zhǔn)化處理才能的到標(biāo)準(zhǔn)的數(shù)字電壓向輸入單片機(jī),而方案二中卻可以直接輸入。 綜上所述:方案二比方案一有更大的優(yōu)越性,而且方案二只用一個(gè)芯片就可以達(dá)到目的,而方案一卻要經(jīng)過(guò)多個(gè)步驟,從經(jīng)濟(jì)角度看,方案二更加經(jīng)濟(jì)實(shí)惠,且使用性強(qiáng)。因此這個(gè)設(shè)計(jì)決定起用方案二來(lái)進(jìn)行綜合設(shè)計(jì)。
3 系統(tǒng)硬件設(shè)計(jì) 3.1 溫度采集模塊設(shè)計(jì)3.1.1數(shù)字溫控芯片DS18B20介紹在本設(shè)計(jì)中,選用的是溫度測(cè)量的專(zhuān)用芯片DS18B20。DS18B20、DS1822“一線(xiàn)總線(xiàn)”數(shù)字化溫度傳感器同DS1820一樣,DS18B20也支持“一線(xiàn)總線(xiàn)”接口,測(cè)量溫度范圍為-50℃~+125℃,在-10℃~+85℃范圍內(nèi),精度為±0.5℃。DS1822的精度較差為±2℃。現(xiàn)場(chǎng)溫度直接以“一線(xiàn)總線(xiàn)”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。新一代產(chǎn)品更便宜,體積更小。DS18B20、DS1822的特性DS18B20可以程序設(shè)定9~12位的分辨率,精度為±0.5℃。可選更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶(hù)設(shè)定的報(bào)警溫度存儲(chǔ)在EEPROM中,掉電后依然保存。省略可存儲(chǔ)用戶(hù)定義報(bào)警溫度、分辨率參數(shù)的EEPROM, 精度降低為±2℃,適用于對(duì)性能要求不高,成本控制嚴(yán)格的應(yīng)用,是經(jīng)濟(jì)型產(chǎn)品。
3.1.2 DS18B20的內(nèi)部結(jié)構(gòu)DS18B20內(nèi)部結(jié)構(gòu)主要由四個(gè)部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。DS18B20的內(nèi)部結(jié)構(gòu)如下圖所示。 
圖3.1 DS18B20的內(nèi)部結(jié)構(gòu) 光刻ROM中的64位序列號(hào)是出廠(chǎng)前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開(kāi)始8位(28H)是產(chǎn)品類(lèi)型標(biāo)號(hào),接著的48位是該DS18B20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校檢碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線(xiàn)上掛接多個(gè)DS18B20的目的。 DS18B20中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625℃/LSB形式表達(dá),其中S為符號(hào)位。 表3.1 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)比特的RAM中,二進(jìn)制中的前面5位符號(hào),如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度. 例如+125℃的數(shù)字輸出為07D0H,+25.0625℃的數(shù)字輸出為0191H,-25.0625的數(shù)字輸出為FF6FH,-55℃的數(shù)字輸出為FC90H. 3.1.3 DS18B20的外形及引腳說(shuō)明外形如圖3.1.2所示。 
圖3.2 DS18B20的外形與引腳圖 1(GND):地
2(DQ):?jiǎn)尉(xiàn)運(yùn)用的數(shù)據(jù)輸入輸出引腳
3(VDD):可選的電源引腳 實(shí)際電路圖:  圖3.3 DS18B20的外形 3.1.4DS18B20的特性及工作原理 DS18B20可以程序設(shè)定9~12位的分辨率,精度為±0.5℃。可選更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶(hù)設(shè)定的報(bào)警溫度,存儲(chǔ)在EEPROM,掉電后依然保存。DS18B20的性能是新一代產(chǎn)品中最好的!性能價(jià)格比也非常出色! DS1822與DS18B20軟件兼容,是DS1820的簡(jiǎn)化版本,省略了存儲(chǔ)用戶(hù)定義報(bào)警溫度,分辨率參數(shù)的EEPROM,精度降低為±2℃。適用于對(duì)性能要求不高,成本控制嚴(yán)格的應(yīng)用,是經(jīng)濟(jì)型產(chǎn)品。 DS18B20工作原理: DS18B20的讀寫(xiě)時(shí)序和測(cè)溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時(shí)的延時(shí)時(shí)間由2s減為750ms。 圖3.4 DS18B20工作流程圖
 
圖3.3(2) DS18B20讀寫(xiě)時(shí)序圖 3.2 預(yù)置數(shù)輸入預(yù)置數(shù)由兩個(gè)十進(jìn)制撥碼開(kāi)關(guān)來(lái)完成,如圖7。每一個(gè)撥碼開(kāi)關(guān)有四位,由0000到1111,取其中的0000到1010就可以實(shí)現(xiàn)十進(jìn)制中0到10的設(shè)定,兩個(gè)就可以構(gòu)成兩位的輸入,就可以實(shí)現(xiàn)0到100的置數(shù)。 3.2.1撥碼盤(pán)介紹由于BCD撥碼盤(pán)方便、直觀、實(shí)用、易于操作等優(yōu)點(diǎn),被廣泛應(yīng)用于參數(shù)設(shè)定的監(jiān)測(cè)儀表,機(jī)械機(jī)床等設(shè)備上,具有很大的應(yīng)用空間。圖3.2.1為撥碼盤(pán)的內(nèi)部原理圖,1、2、4、8四個(gè)端子為數(shù)據(jù)端,com為公共端,當(dāng)撥碼盤(pán)窗口顯示的數(shù)值不為零時(shí),其數(shù)據(jù)線(xiàn)將有一位或幾位與com端接通。例如:當(dāng)撥碼盤(pán)輸出為5時(shí),1、4與com端接通。 
圖3.4 BCD撥碼盤(pán)內(nèi)部原理 讀撥碼盤(pán)流程圖: 圖3.7 讀撥碼盤(pán)流程圖 實(shí)際電路原理圖:  圖3.8實(shí)際電路原理圖 3.2.2 時(shí)鐘時(shí)鐘電路用于產(chǎn)生單片機(jī)工作時(shí)所需的時(shí)鐘信號(hào)。單片機(jī)本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為保證同步工作方式的實(shí)現(xiàn),單片機(jī)應(yīng)該在唯一的時(shí)鐘信號(hào)控制下工作,嚴(yán)格按照時(shí)序執(zhí)行指令進(jìn)行工作,而時(shí)序所研究的是指令執(zhí)行中各個(gè)信號(hào)的關(guān)系。 時(shí)鐘是單片機(jī)的心臟,單片機(jī)的各功能部件的運(yùn)行都是以時(shí)鐘頻率為基礎(chǔ),有條不紊地一拍一拍地工作。因此,常用的時(shí)鐘電路有兩種方式,一種是內(nèi)部時(shí)鐘方式,一種是外部時(shí)鐘方式。 單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,該增益反相放大器的輸入端為X1,輸出引腳為X2。著兩個(gè)引腳跨接晶振和微調(diào)電阻,就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。   圖3.9 自激振蕩器 3.2.3 復(fù)位電路本設(shè)計(jì)用的是手動(dòng)復(fù)位電路中的按鍵電平復(fù)位電路。通過(guò)RST端經(jīng)電阻與電源Vcc 接通而實(shí)現(xiàn)。如下圖所示。 
圖3.10 按鍵電平復(fù)位電路 3.2.4LCD顯示 單片機(jī)對(duì)數(shù)據(jù)進(jìn)行處理后通過(guò)LCD進(jìn)行顯示。LCD各管腳如下圖所示,接單片機(jī)的P0口和P2口。 
圖3.11 1602液晶電路 3.2.5加熱電路 下圖電路供應(yīng)電源及加熱電路驅(qū)動(dòng) 
圖3.12 整流電路圖 
圖3.13 5V與12V電源 
圖3.14 加熱驅(qū)動(dòng)電路 交流220V電壓通過(guò)整流、濾波后得到一個(gè)標(biāo)準(zhǔn)的直流電壓,此時(shí),二極管無(wú)法導(dǎo)通。當(dāng)單片機(jī)把溫度信號(hào)讀進(jìn)去后,與給定值進(jìn)行比較,當(dāng)偏差存在的時(shí)候,單片機(jī)通過(guò)34口輸出一個(gè)脈沖,出來(lái)后進(jìn)行信號(hào)磁隔離,MOSFET控制電壓,驅(qū)動(dòng)IGBT,使加熱回路導(dǎo)通,這樣,箱內(nèi)溫度就得到增加。此時(shí)單片機(jī)繼續(xù)從溫度檢測(cè)芯片那里讀數(shù)據(jù),加熱到當(dāng)偏差為零時(shí),脈沖變低,加熱回路停止工作。 3.2.6IGBT管介紹 IGBT(絕緣柵雙極晶體管)作為新型電力半導(dǎo)體場(chǎng)控自關(guān)斷器件,集功率MOSFET的高速性能與雙極性器件的低電阻于一體,具有輸入阻抗高,電壓控制功耗低,控制電路簡(jiǎn)單,耐高壓,承受電流大等特性,在各種電力變換中獲得極廣泛的應(yīng)用。
4 PID控制 4.1 PID控制原理通過(guò)輸入通道將溫度傳感器DS18B20采集到的被控對(duì)象當(dāng)前溫度轉(zhuǎn)變?yōu)閿?shù)字量并輸入到單片機(jī)中,單片機(jī)求出輸入的當(dāng)前溫度值與設(shè)定值的偏差,并根據(jù)該偏差進(jìn)行PID運(yùn)算,最后,根據(jù)PID運(yùn)算的結(jié)果由單片機(jī)輸出控制數(shù)字信號(hào)經(jīng)過(guò)磁隔離,經(jīng)驅(qū)動(dòng)電路控制晶閘管整流電路,控制恒溫箱加熱。本設(shè)計(jì)分兩個(gè)階段: (1)自由升溫階段控制.在這個(gè)階段,希望升溫越快越好.所以,控制上只要讓電熱絲以最大的功率加熱也就是單片機(jī)輸出脈沖的最大值. 在這個(gè)過(guò)程中,不斷測(cè)溫,當(dāng)預(yù)設(shè)溫度與實(shí)際測(cè)量的溫度之差小于等于10度時(shí)進(jìn)入控溫階段. (2)控溫階段.恒溫箱這個(gè)控制對(duì)象屬于帶純滯后的慣性環(huán)節(jié),所以采用PID控制.根據(jù)給定的參數(shù)設(shè)置.編寫(xiě)增量式PID算法子程序等.
4.2 PID控制系統(tǒng)框圖 
圖4.1 PID控制系統(tǒng)框圖 4.3 PID算法 增量式算法中,輸出量與執(zhí)行的變化量相對(duì)應(yīng),即是前后兩次采樣所計(jì)算的位置差值,其算式為:△u(n)=u(n)-u(n-1)在此就不詳細(xì)板書(shū)了,詳細(xì)式子請(qǐng)見(jiàn)附錄. a.中斷子程序流程如下圖所示,它的作用是判斷是否進(jìn)入控溫階段,若已進(jìn)入控溫階段,則調(diào)用PID算法子程序,否則輸出最大脈沖,使晶閘管整流器以全功率加熱.

圖4.2中斷子程序流程圖 b.增量式PID算法的程序流程圖如下圖所示,計(jì)算△u(n)時(shí)只需要現(xiàn)時(shí)刻以及以前的兩個(gè)偏差值e(n)、e(n-1) 、e(n-2),初始化程序置初值e(n-1)=e(n-2)=0,由中斷服務(wù)對(duì)過(guò)程變量進(jìn)行采樣,并根據(jù)參數(shù)計(jì)算出△u(n).

圖4.3 PID算法子程序
5 軟件設(shè)計(jì) 5.1 編程平臺(tái)簡(jiǎn)介KeilSoftware公司推出的uVision3是一款可用于多種8051MCU的集成開(kāi)發(fā)環(huán)境(IDE),該IDE同時(shí)也是PK51及其它開(kāi)發(fā)套件的一個(gè)重要組件。除增加了源代碼、功能導(dǎo)航器、模板編輯以及改進(jìn)的搜索功能外,uVision3還提供了一個(gè)配置向?qū)Чδ埽铀倭藛?dòng)代碼和配置文件的生成。此外其內(nèi)置的仿真器可模擬目標(biāo)MCU,包括指令集、片上外圍設(shè)備及外部信號(hào)等。uVision3提供邏輯分析器,可監(jiān)控基于MCUI/O引腳和外設(shè)狀態(tài)變化下的程序變量。 Keil uVision 系列是一個(gè)非常優(yōu)秀的編譯器,受到廣大單片機(jī)設(shè)計(jì)者的廣泛使用。其主要特點(diǎn)如下: - 支持匯編語(yǔ)言、C51語(yǔ)言等多種單片機(jī)及設(shè)計(jì)語(yǔ)言;
- 可視化的文件管理,界面友好;
- 支持豐富的產(chǎn)品線(xiàn),除了51及其兼容內(nèi)核的單片機(jī)外,還新增了對(duì)ARM內(nèi)核產(chǎn)品的支持;
- 具有完善的編譯鏈接工具;
- 具備豐富的仿真調(diào)試功能,可以仿真串口、并口、A/D、D/A、定時(shí)器/計(jì)數(shù)器以及中斷等資源,同時(shí)也可以和外部仿真器聯(lián)合進(jìn)行在線(xiàn)調(diào)試
- 支持在一個(gè)工作空間中進(jìn)行多項(xiàng)目的程序設(shè)計(jì);
- 支持多級(jí)代碼優(yōu)化。
5.2 程序流程圖設(shè)計(jì)
圖5.1程序流程圖 5.3 控制系統(tǒng)仿真調(diào)試 系統(tǒng)控制程序編寫(xiě)好以后,要進(jìn)行單片機(jī)控制系統(tǒng)的仿真調(diào)試,以驗(yàn)證程序的正誤,確保系統(tǒng)的安全穩(wěn)定運(yùn)行。用Proteus的isis軟件進(jìn)行仿真,具體步驟如下: 1 進(jìn)入仿真環(huán)境并加載程序 
圖5.2 仿真環(huán)境和加載程序界面 2 運(yùn)行程序且對(duì)狀態(tài)進(jìn)行監(jiān)控 系統(tǒng)運(yùn)行功能檢測(cè)。上電運(yùn)行時(shí)界面如下圖所示:溫度測(cè)量系統(tǒng)正常,LCD正常顯示。 
圖5.3 驗(yàn)證功能狀態(tài)圖一 
圖5.4 驗(yàn)證功能狀態(tài)圖之二 經(jīng)ISIS仿真,數(shù)碼撥盤(pán)正常。
附錄1:程序設(shè)計(jì)
根據(jù)程序流程圖的設(shè)計(jì),以及整個(gè)控制系統(tǒng)的輸入輸出信息分析,設(shè)計(jì)的控制程序如下:
- #include<reg52.h>
- #include<intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- #define LCD_DATA P1
-
- sbit LCD_RS=P3^5;
- sbit LCD_RW=P3^6;
- sbit LCD_E =P3^3;
- sbit DQ=P3^1;
- bit presence;
-
- uchar code cdis1[ ] = {" DS18B20 OK "};
- uchar code cdis2[ ] = {" TEMP: . C "};
- uchar code cdis3[ ] = {" DS18B20 ERR0R "};
- uchar code cdis4[ ] = {" PLEASE CHECK "};
- uchar data temp_data[2] = {0x00,0x00};
- uchar data display[5] = {0x00,0x00,0x00,0x00,0x00};
- uchar code ditab[16] = {0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};
- uchar code mytab[8] = {0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00};
-
- /*初始化lcd1602 */
- /*******************************************************************/
- void LCD_Init()
- {
- LCD_DATA=0;
- LCD_Write_Cmd(0x38,0); //三次顯示模式設(shè)置,不檢測(cè)忙信號(hào)
- LCD_Delay(5);
- LCD_Write_Cmd(0x38,0);
- LCD_Delay(5);
- LCD_Write_Cmd(0x38,0);
- LCD_Delay(5);
- LCD_Write_Cmd(0x38,1); //顯示模式設(shè)置,開(kāi)始要求檢測(cè)忙信號(hào):8位、2行、5X7點(diǎn)陣
- LCD_Write_Cmd(0x08,1); //關(guān)閉顯示
- LCD_Write_Cmd(0x01,1); //清屏
- LCD_Write_Cmd(0x06,1); //顯示光標(biāo)移動(dòng)設(shè)置:文字不動(dòng),光標(biāo)自動(dòng)右移
- LCD_Write_Cmd(0x0C,1); //顯示開(kāi)及光標(biāo)設(shè)置:光標(biāo)關(guān)、光標(biāo)不閃爍
- }
- /*初始化ds1820 */
- /*******************************************************************/
- DS18B20_Init(void)
- {
- DQ=1;
- DS18B20_Delay(8);
- DQ=0;
- DS18B20_Delay(255);
- DQ=1;
- DS18B20_Delay(8);
- presence=DQ;
- DS18B20_Delay(100);
- DQ=1;
- return(presence);
- }
- /* 主函數(shù) */
- /************************************/
- void main()
- {
- Ok_Menu();
- do
- {
- DS18B20_Read_Temperature();
- DS18B20_Disp_Temperature();
- }
- while(!presence) ;
- while(1)
- Error_Menu();
- do
- {
- DS18B20_Init();
- }
- while(presence) ;
- }
復(fù)制代碼
附錄2:硬件電路原理圖 
以上的的Word格式文檔51黑下載地址:
恒溫箱的設(shè)計(jì).doc
(753.5 KB, 下載次數(shù): 66)
2020-4-22 11:45 上傳
點(diǎn)擊文件名下載附件
|