久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4877|回復(fù): 1
收起左側(cè)

基于51單片機(jī)的恒溫箱設(shè)計(jì)

[復(fù)制鏈接]
ID:723490 發(fā)表于 2020-4-22 11:46 | 顯示全部樓層 |閱讀模式

恒定溫度的設(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

2^3

2^2

2^1

2^0

2^(-1)

2^(-2)

2^(-3)

2^(-4)

    bit15 bit14 bit13 bit12 bit11   bit10   bit9     bit8

S

S

S

S

S

2^6

2^5

2^4

這是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à)格比也非常出色!

DS1822DS18B20軟件兼容,是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/DD/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)行。用Proteusisis軟件進(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ì)的控制程序如下:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define LCD_DATA P1

  6. sbit LCD_RS=P3^5;
  7. sbit LCD_RW=P3^6;
  8. sbit LCD_E =P3^3;
  9. sbit DQ=P3^1;
  10. bit presence;

  11. uchar  code  cdis1[ ] = {"   DS18B20 OK   "};
  12. uchar  code  cdis2[ ] = {"  TEMP:    .  C "};
  13. uchar  code  cdis3[ ] = {" DS18B20  ERR0R "};
  14. uchar  code  cdis4[ ] = {"  PLEASE CHECK  "};
  15. uchar data  temp_data[2] = {0x00,0x00};
  16. uchar data  display[5] =   {0x00,0x00,0x00,0x00,0x00};
  17. uchar code  ditab[16] =    {0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};
  18. uchar code  mytab[8] = {0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00};

  19. /*初始化lcd1602                                      */
  20. /*******************************************************************/
  21. void LCD_Init()
  22. {
  23. LCD_DATA=0;                                            
  24. LCD_Write_Cmd(0x38,0);                 //三次顯示模式設(shè)置,不檢測(cè)忙信號(hào)
  25. LCD_Delay(5);
  26. LCD_Write_Cmd(0x38,0);
  27. LCD_Delay(5);
  28. LCD_Write_Cmd(0x38,0);
  29. LCD_Delay(5);
  30.   LCD_Write_Cmd(0x38,1);              //顯示模式設(shè)置,開(kāi)始要求檢測(cè)忙信號(hào):8位、2行、5X7點(diǎn)陣
  31. LCD_Write_Cmd(0x08,1);   //關(guān)閉顯示
  32. LCD_Write_Cmd(0x01,1);                //清屏
  33. LCD_Write_Cmd(0x06,1);                //顯示光標(biāo)移動(dòng)設(shè)置:文字不動(dòng),光標(biāo)自動(dòng)右移
  34. LCD_Write_Cmd(0x0C,1);   //顯示開(kāi)及光標(biāo)設(shè)置:光標(biāo)關(guān)、光標(biāo)不閃爍
  35. }
  36. /*初始化ds1820                                      */
  37. /*******************************************************************/
  38. DS18B20_Init(void)
  39. {
  40.   DQ=1;
  41.   DS18B20_Delay(8);
  42.   DQ=0;
  43.   DS18B20_Delay(255);
  44.   DQ=1;
  45.   DS18B20_Delay(8);
  46.   presence=DQ;
  47.   DS18B20_Delay(100);
  48.   DQ=1;
  49.   return(presence);
  50. }
  51. /* 主函數(shù)     */
  52. /************************************/
  53. void main()
  54. {
  55.                  Ok_Menu();
  56.               do
  57.   {
  58.                  DS18B20_Read_Temperature();
  59.      DS18B20_Disp_Temperature();
  60.               }
  61.   while(!presence) ;
  62.               while(1)               
  63.    Error_Menu();
  64.   do
  65.   {
  66.                  DS18B20_Init();
  67.               }                 
  68.                             while(presence) ;
  69. }
復(fù)制代碼

附錄2:硬件電路原理圖


以上的的Word格式文檔51黑下載地址:
恒溫箱的設(shè)計(jì).doc (753.5 KB, 下載次數(shù): 66)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:672979 發(fā)表于 2021-5-24 15:25 | 顯示全部樓層
能給個(gè)hex文件嗎,
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩成人精品 | 婷婷成人在线 | 91精品一区二区三区久久久久 | 中文字幕视频在线观看免费 | 国产免费观看一区 | 精品视频久久久久久 | 九九导航 | 国产区在线观看 | 日韩国产一区 | 亚洲视频观看 | 91精品在线播放 | 欧美成人一区二免费视频软件 | 在线观看成年视频 | 成人在线视频免费看 | 亚洲精品一区二区三区 | 欧美日韩中文在线 | 欧美日韩一区在线 | 高清视频一区二区三区 | 欧美精品一二区 | 日韩av美女电影 | 日本福利视频免费观看 | 激情a| 欧美精品黄 | 五月精品视频 | xxxxx免费视频| 亚洲一区二区 | 国产日韩欧美在线一区 | 亚洲国产精品日韩av不卡在线 | 色综合网站 | 国产成人99久久亚洲综合精品 | 亚洲国产69 | 中文字幕久久久 | 男女激情网 | 久久久观看 | 国产成人99久久亚洲综合精品 | 欧美日本亚洲 | 精品日韩一区 | 欧美日韩在线免费 | 国产日韩精品视频 | 国产精品久久久久久久久久久久久 | 国产色婷婷久久99精品91 |