畢業(yè)論文單片機(jī)溫控制系統(tǒng)_第1頁
畢業(yè)論文單片機(jī)溫控制系統(tǒng)_第2頁
畢業(yè)論文單片機(jī)溫控制系統(tǒng)_第3頁
畢業(yè)論文單片機(jī)溫控制系統(tǒng)_第4頁
畢業(yè)論文單片機(jī)溫控制系統(tǒng)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1緒 論 溫度控制,在工業(yè)自動化控制中占有非常重要的地位。單片機(jī)系統(tǒng)的開發(fā)應(yīng)用給現(xiàn)代工業(yè)測控領(lǐng)域帶來了一次新的技術(shù)革命,自動化、智能化均離不開單片機(jī)的應(yīng)用。將單片機(jī)控制方法運(yùn)用到溫度控制系統(tǒng)中,可以克服溫度控制系統(tǒng)中存在的嚴(yán)重滯后現(xiàn)象,同時在提高采樣頻率的基礎(chǔ)上可以很大程度的提高控制效果和控制精度?,F(xiàn)代自動控制越來越朝著智能化發(fā)展,在很多自動控制系統(tǒng)中都用到了工控機(jī),小型機(jī)、甚至是巨型機(jī)處理機(jī)等,當(dāng)然這些處理機(jī)有一個很大的特點,那就是很高的運(yùn)行速度,很大的內(nèi)存,大量的數(shù)據(jù)存儲器。但隨之而來的是巨額的成本。在很多的小型系統(tǒng)中,處理機(jī)的成本占系統(tǒng)成本的比例高達(dá)20%,而對于這些小型的系統(tǒng)來說,配置

2、一個如此高速的處理機(jī)沒有任何必要,因為這些小系統(tǒng)追求經(jīng)濟(jì)效益,而不是最在乎系統(tǒng)的快速性,所以用成本低廉的單片機(jī)控制小型的,而又不是很復(fù)雜,不需要大量復(fù)雜運(yùn)算的系統(tǒng)中是非常適合的。 溫度控制,在工業(yè)自動化控制中占有非常重要的地位,如在鋼鐵冶煉過程中要對出爐的鋼鐵進(jìn)行熱處理,才能達(dá)到性能指標(biāo),塑料的定型過程中也要保持一定的溫度。隨著科學(xué)技術(shù)的迅猛發(fā)展,各個領(lǐng)域?qū)ψ詣涌刂葡到y(tǒng)控制精度、響應(yīng)速度、系統(tǒng)穩(wěn)定性與自適應(yīng)能力的要求越來越高,被控對象或過程的非線性、時變性、多參數(shù)點的強(qiáng)烈耦合、較大的隨機(jī)擾動、各種不確定性以及現(xiàn)場測試手段不完善等,使難以按數(shù)學(xué)方法建立被控對象的精確模型的情況。 隨著電子技術(shù)以及

3、應(yīng)用需求的發(fā)展,單片機(jī)技術(shù)得到了迅速的發(fā)展,在高集成度,高速度,低功耗以及高性能方面取得了很大的進(jìn)展。伴隨著科學(xué)技術(shù)的發(fā)展,電子技術(shù)有了更高的飛躍,我們現(xiàn)在完全可以運(yùn)用單片機(jī)和電子溫度傳感器對某處進(jìn)行溫度檢測,而且我們可以很容易地做到多點的溫度檢測,如果對此原理圖稍加改進(jìn),我們還可以進(jìn)行不同地點的實時溫度檢測和控制。 2總體設(shè)計方案2.1 溫度控制的總體設(shè)計和思路在這個系統(tǒng)中我們從性能及設(shè)計成本考慮,我們選擇AT89S52芯片。AT89S52的廣泛使用,使單片機(jī)的價格大大下降。目前,89S52的市場零售價已經(jīng)低于8255、8279、8253、8250等專用接口芯片中的任何一種;而89S52的功

4、能實際上遠(yuǎn)遠(yuǎn)超過以上芯片。因此,如把89S52作為接口芯片使用,在經(jīng)濟(jì)上是合算的。在溫度傳感器的選擇上我們采用溫度芯片DS18B20測量溫度。該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,且此元件線形較好。在0100攝氏度時,最大線形偏差小于1攝氏度。該芯片直接向單片機(jī)傳輸數(shù)字信號,便于單片機(jī)處理及控制。本制作的最大特點之一就是直接采用溫度芯片對溫度進(jìn)行測量,使數(shù)據(jù)傳輸和處理簡單化。采用溫度芯片DS18B20測量溫度,體現(xiàn)了作品芯片化這個趨勢。部分功能電路的集成,使總體電路更簡潔,搭建電路和焊接電路時更快。而且,集成塊的使用,有效地避免外界的干擾,提高測量電路的精確度。所以芯片的使用將成為電

5、路發(fā)展的一種趨勢。本方案應(yīng)用這一溫度芯片,也是順應(yīng)這一趨勢。對于溫度的調(diào)節(jié)系統(tǒng),我們才用的只是簡單的升溫和降溫方法,當(dāng)溫度低于我們設(shè)定的最低溫度值時,則單片機(jī)系統(tǒng)則會通過一個高電平的脈沖電流直接送給繼電器,使連接在繼電器上的電阻絲通電產(chǎn)生熱量來提高溫度。如果當(dāng)溫度高于我們設(shè)定的最高溫度值時,則單片機(jī)會通過另一個口發(fā)出一個高電平的脈沖電流送個繼電器,使連在繼電器上的一個風(fēng)扇啟動,來降低溫度。在次過程中,我們通過單片機(jī)將傳感器所測量出來的溫度通過數(shù)碼管顯示出來。這樣就能只管的觀察到即時的溫度情況,以便更好的驗證系統(tǒng)的性能。2.2 溫度控制方框圖單片機(jī)溫度控制系統(tǒng)采用的裝置有單片機(jī)、溫度傳感器和溫度

6、調(diào)節(jié)設(shè)備組成起結(jié)構(gòu)如圖2.1硬件結(jié)構(gòu)圖所示。數(shù)據(jù)顯示溫度采集AT89S52單片機(jī)溫度控制鍵盤圖2.1溫度控制系統(tǒng)硬件結(jié)構(gòu)圖3 單片機(jī)AT89S52的結(jié)構(gòu)和原理3.1 AT89S52單片機(jī)的結(jié)構(gòu)AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 AT89S52具有以下標(biāo)

7、準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷 繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。 圖3.1 AT89S52引腳圖 AT89S52的結(jié)構(gòu)如圖3.1所示。由于它的廣泛使用使得市面價格較8155、8255、8279要低,所以說用它是很經(jīng)濟(jì)的.該芯

8、片具有如下功能:有1個專用的鍵盤/顯示接口;有1個全雙工異步串行通信接口;有2個16位定時/計數(shù)器。這樣,1個89S52,承擔(dān)了3個專用接口芯片的工作;不僅使成本大大下降,而且優(yōu)化了硬件結(jié)構(gòu)和軟件設(shè)計,給用戶帶來許多方便。89S52有40個引腳,有32個輸入端口(I/O),有2個讀寫口線,可以反復(fù)插除。所以可以降低成本。 3.2 AT89S52單片機(jī)主要特征(1)兼容MCS-51指令系統(tǒng)(2)32個可編程I/O口線 (3)3個16位可編程定時/計數(shù)器(4)全雙工UART串行中斷口線(5)8個中斷源(6)中斷喚醒省電模式(7)看門狗(WDT)電路(8)靈活的ISP字節(jié)和分頁編程 (9)4k可反復(fù)

9、擦寫(>1000次)ISP Flash ROM (10)4.5-5.5V工作電壓(11)時鐘頻率0-33MHz (12)128x8bit內(nèi)部RAM(13)低功耗空閑和省電模式(14)3級加密位(15)軟件設(shè)置空閑和省電功能(16)雙數(shù)據(jù)寄存器指針(17)全雙工UART串行通道3.3 AT89S52單片機(jī)管腳說明·VCC:供電電壓。·GND:接地。·P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作

10、為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必須被拉高。·P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 引腳號第二功能P1.0 T2(定時器/計數(shù)器T2的外部計數(shù)輸入),時鐘輸出P1.1 T2EX(定時器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制)P1.5 MOSI(在系統(tǒng)編程用)P1.6 MISO(在系統(tǒng)編程用)P1.7 SCK(在系統(tǒng)編程用)

11、3;P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。·P3 口:P3 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動4 個

12、TTL 邏輯電平。對P3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,如下所示。在flash編程和校驗時,P3口也接收一些控制信號。如下所示:引腳號第二功能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口同時為閃爍編程和

13、編程校驗接收一些控制信號。·RST: 復(fù)位輸入。晶振工作時,RST腳持續(xù)2 個機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T狗計時完成后,RST 腳輸出96 個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。·ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過

14、。如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”,ALE 僅在執(zhí)行MOVX 或MOVC指令時有效。否則,ALE 將被微弱拉高。這個ALE 使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。PSEN:外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。當(dāng)AT89S52從外部程序存儲器執(zhí)行外部代碼時,PSEN在每個機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,PSEN將不被激活。·/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次

15、有效的/PSEN信號將不出現(xiàn)。·/EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。·XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。·XTAL2:來自反向振蕩器的輸出。MCS-51 器件有單獨的程序存儲器和數(shù)據(jù)存儲器。外部程序存儲器和數(shù)據(jù)存儲器都可以64K 尋址。程序存儲器:如果EA 引腳接地,程序讀取只從外部存儲器開始。對于89S52

16、,如果EA 接VCC,程序讀寫先從內(nèi)部存儲器(地址為0000H1FFFH)開始,接著從外部尋址,尋址地址為:2000HFFFFH 。數(shù)據(jù)存儲器:AT89S52 有256 字節(jié)片內(nèi)數(shù)據(jù)存儲器。高128 字節(jié)與特殊功能寄存器重疊。也就是說高128 字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。當(dāng)一條指令訪問高于7FH 的地址時,尋址方式?jīng)Q定CPU 訪問高128 字節(jié)RAM 還是特殊功能寄存器空間。直接尋址方式訪問特殊功能寄存器(SFR)。·晶振特性AT89S52 單片機(jī)有一個用于構(gòu)成內(nèi)部振蕩器的反相放大器,XTAL1 和XTAL2 分 別是放大器的輸入、輸出端。從外部時鐘源驅(qū)動器件

17、的話,XTAL2 可以不接,而從XTAL1 接入。由于外部時鐘信號經(jīng)過二分頻觸發(fā)后作為外部時鐘電路輸入的,所以對外部時鐘信號的占空比沒有其它要求,最長低電平持續(xù)時間和最少高電平圖3.2 AT89S52內(nèi)部結(jié)構(gòu)圖 持續(xù)時間等還是要符合要求的。·空閑模式在空閑工作模式下,CPU 處于睡眠狀態(tài),而所有片上外部設(shè)備保持激活狀態(tài)。這種狀態(tài)可以通過軟件產(chǎn)生。在這種狀態(tài)下,片上RAM和特殊功能寄存器的內(nèi)容保持不變??臻e模式可以被任一個中斷或硬件復(fù)位終止。由硬件復(fù)位終止空閑模式只需兩個機(jī)器周期有效復(fù)位信號,在這種情況下,片上硬件禁止訪問內(nèi)部RAM,而可以訪問端口引腳??臻e模式被硬件復(fù)位終止后,為了防

18、止預(yù)想不到的寫端口,激活空閑模式的那一條指令的下一條指令不應(yīng)該是寫端口或外部存儲器。·中斷AT89S52 有6 個中斷源:兩個外部中斷(INT0 和INT1),三個定時中斷(定時器0、1、2)和一個串行中斷。每個中斷源都可以通過置位或清除特殊寄存器IE 中的相關(guān)中斷允許控制位分別使得中斷源有效或無效。IE 還包括一個中斷允許總控制位EA,它能一次禁止所有中斷。IE.6 位是不可用的。對于AT89S52,IE.5 位也是不能用的。用戶軟件不應(yīng)給這些位寫1。它們?yōu)锳T89 系列新產(chǎn)品預(yù)留。定時器2 可以被寄存器T2CON 中的TF2 和EXF2 的或邏輯觸發(fā)。程序進(jìn)入中斷服務(wù)后,這些標(biāo)志

19、位都可以由硬件清0。實際上,中斷服務(wù)程序必須判定是否是TF2 或EXF2 激活中斷,標(biāo)志位也必須由軟件清0。定時器0 和定時器1 標(biāo)志位TF0 和TF1 在計數(shù)溢出的那個周期的S5P2 被置位。它們的值一直到下一個周期被電路捕捉下來。然而,定時器2 的標(biāo)志位TF2 在計數(shù)溢出的那個周期的S2P2 被置位,在同一個周期被電路捕捉下來4 溫度控制的硬件設(shè)備4.1 溫度傳感器的選擇 溫度傳感器美國Dallas半導(dǎo)體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持 "一線總線"接口的溫度傳感器,在其內(nèi)部使用了在板(ON-B0ARD)專利技術(shù)。DS18B20原理與特性本系統(tǒng)采用了

20、DS18B20單總線可編程溫度傳感器,來實現(xiàn)對溫度的采集和轉(zhuǎn)換,大大簡化了電路的復(fù)雜度,以及算法的要求。首先先來介紹一下DS18B20這塊傳感器的特性及其功能: DSl8B20的管腳及特點 DS18B20可編程溫度傳感器有3個管腳。內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20的外形及管腳排列如下圖4.1圖4.1 DS18B20的外形及管腳圖GND為接地線,DQ為數(shù)據(jù)輸入輸出接口,通過一個較弱的上拉電阻與單片機(jī)相連。VDD為電源接口,既可由數(shù)據(jù)線提供電源,又可由外部提供電源,范圍3O55 V。本文使用外部電源供電。主要特點有

21、: 1. 用戶可自設(shè)定報警上下限溫度值。 2. 不需要外部組件,能測量55+125 范圍內(nèi)的溫度。 3. 10 +85 范圍內(nèi)的測溫準(zhǔn)確度為±05 。 4. 通過編程可實現(xiàn)9l2位的數(shù)字讀數(shù)方式,可在至多750 ms內(nèi)將溫度轉(zhuǎn)換成12 位的數(shù)字,測溫分辨率可達(dá)00625 。 5. 獨特的單總線接口方式,與微處理器連接時僅需要一條線即可實現(xiàn)與微處理器雙向通訊。6. 測量結(jié)果直接輸出數(shù)字溫度信號,以"一線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強(qiáng)的抗干擾糾錯能力。7. 負(fù)壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作。8. DS18B20支

22、持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫。DS18B20的內(nèi)部結(jié)構(gòu) DS18B20內(nèi)部功能模塊如圖4.2所示,圖4.2 DS18B20的內(nèi)部結(jié)構(gòu) DS18B20內(nèi)部功能模塊圖 DS18B20工作原理DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同DS18B20 為9位12位A/D轉(zhuǎn)換精度,而DS1820為9位A/D轉(zhuǎn)換,雖然我們采用了高精度的芯片,但在實際情況上由于技術(shù)問題比較難實現(xiàn),而實際精度此時溫度寄存器中的數(shù)值即為所測溫度。斜率累加器用于補(bǔ)償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預(yù)置值。如下3.3的測溫

23、原理圖不同,且溫度轉(zhuǎn)換時的延時時間由2s減為750ms。 DS18B20測溫原理如圖4.3所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。則高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預(yù)置在55所對應(yīng)的一個基數(shù)值時。計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計數(shù),當(dāng)計數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,計數(shù)器1的預(yù)置將重新被裝入,計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值。 圖4.3 DS18B20的測溫原理框圖 DS18

24、B20使用中注意事項 DS18B20雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點,但在實際應(yīng)用中也應(yīng)注意以下幾方面的問題:   1) 較小的硬件開銷需要相對復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS18B20與微處理器間采用串行數(shù)據(jù)傳送,因此,在對DS18B20進(jìn)行讀寫編程時,必須嚴(yán)格的保證讀寫時序,否則將無法讀取測溫結(jié)果。在使用PL/M、C等高級語言進(jìn)行系統(tǒng)程序設(shè)計時,對DS18B20操作部分最好采用匯編語言實現(xiàn)。   2) 在DS18B20的有關(guān)資料中均未提及單總線上所掛DS18B20數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個DS18B20,在實際應(yīng)用

25、中并非如此。當(dāng)單總線上所掛DS18B20超過8個時,就需要解決微處理器的總線驅(qū)動問題,這一點在進(jìn)行多點測溫系統(tǒng)設(shè)計時要加以注意。   3) 連接DS18B20的總線電纜是有長度限制的。試驗中,當(dāng)采用普通信號電纜傳輸長度超過50m時,讀取的測溫數(shù)據(jù)將發(fā)生錯誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距離可達(dá)150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時,正常通訊距離進(jìn)一步加長。這種情況主要是由總線分布電容使信號波形產(chǎn)生畸變造成的。因此,在用DS18B20進(jìn)行長距離測溫系統(tǒng)設(shè)計時要充分考慮總線分布電容和阻抗匹配問題。   4) 在DS18B20測溫

26、程序設(shè)計中,向DS18B20發(fā)出溫度轉(zhuǎn)換命令后,程序要等待DS18B20的返回信號,一旦某個DS18B20接觸不好或斷線,當(dāng)程序讀該DS18B20時,將沒有返回信號,程序進(jìn)入死循環(huán)。這一點在進(jìn)行DS1820硬件連接和軟件設(shè)計時也要給予一定的重視。 測溫電纜線建議采用屏蔽4芯雙絞線,其中一對線接地線與信號線,另一組接VCC和地線,屏蔽層在源端單點接地。4.2 繼電器 固態(tài)繼電器的原理及結(jié)構(gòu)SSR按使用場合可以分成交流型和直流型兩大類,它們分別在交流或直流電源上做負(fù)載的開關(guān),不能混。 交流型的SSR的工作原理,圖4.4是它的工作原理框圖,圖4.4中的部件構(gòu)成交流SSR的主體,從整體上看,SSR只有

27、兩個輸入端(A和B)及兩個輸出端(C和D),是一種四端器件。工作時只要在A、B上加上一定的控制信號,就可以控制C、D兩端之間的“通”和“斷”,實現(xiàn)“開關(guān)”的功能,其中耦合電路的功能是為A、B端輸入的控制信號提供一個輸入/輸出端之間的通道,但又在電氣上斷開SSR中輸入端和輸出端之間的(電)聯(lián)系, 以防止輸出端對輸入端的影響,耦合電路用的元件是“光耦合器”,它動作靈敏、響應(yīng)速度高、輸入/輸出端間的絕緣(耐壓)等級高;由于輸入端的負(fù)載是發(fā)光二極管,這使SSR的輸入端很容易做到與輸入信號電平相匹配,在使用可直接與計算機(jī)輸出接口相接,即受“1”與“0”的邏輯電平控制。觸發(fā)電路的功能是產(chǎn)生合乎要求的觸發(fā)信

28、號,驅(qū)動開關(guān)電路工作,但由于開關(guān)電路在不加特殊控制電路時,將產(chǎn)生射頻干擾并以高次諧波或尖峰等污染電網(wǎng),為此特設(shè)“過零控制電路”。所謂“過零”是指,當(dāng)加入控制信號,交流電壓過零時,SSR即為通態(tài);而當(dāng)斷開控制信號后,SSR要等待交流電的正半周與負(fù)半周的交界點(零電位)時,SSR才為斷態(tài)。這種設(shè)計能防止高次諧波的干擾和對電網(wǎng)的污染。吸收電路是為防止從電源中傳來的尖峰、浪涌(電壓)對開關(guān)器件雙向可控硅管的沖擊和干擾(甚至誤動作)而設(shè)計的,一般是用“R-C”串聯(lián)吸收電路或非線性電阻(壓敏電阻器)。圖4.4 固態(tài)繼電器的工作原理圖直流型的SSR與交流型的SSR相比,無過零控制電路,也不必設(shè)置吸收電路,開

29、關(guān)器件一般用大功率開關(guān)三極管,其它工作原理相同。不過,直流型SSR在使用時應(yīng)注意:負(fù)載為感性負(fù)載時,如直流電磁閥或電磁鐵,應(yīng)在負(fù)載兩端并聯(lián)一只二極管,二極管的電流應(yīng)等于工作電流,電壓應(yīng)大于工作電壓的4倍。SSR工作時應(yīng)盡量把它靠近負(fù)載,其輸出引線應(yīng)滿足負(fù)荷電流的需要。使用電源屬經(jīng)交流降壓整流所得的,其濾波電解電容應(yīng)足夠大。 固態(tài)繼電器的特點SSR成功地實現(xiàn)了弱信號(Vsr)對強(qiáng)電(輸出端負(fù)載電壓)的控制。由于光耦合器的應(yīng)用,使控制信號所需的功率極低(約十余毫瓦就可正常工作),而且Vsr所需的工作電平與TTL、HTL、CMOS等常用集成電路兼容,可以實現(xiàn)直接聯(lián)接。這使SSR在數(shù)控和自控設(shè)備等方面

30、得到廣泛應(yīng)用。在相當(dāng)程度上可取代傳統(tǒng)的“線圈簧片觸點式”繼電器(簡稱“MER”)。SSR由于是全固態(tài)電子元件組成,與MER相比,它沒有任何可動的機(jī)械部件,工作中也沒有任何機(jī)械動作;SSR由電路的工作狀態(tài)變換實現(xiàn)“通”和“斷”的開關(guān)功能,沒有電接觸點,所以它有一系列MER不具備的優(yōu)點,即工作高可靠、長壽命(有資料表明SSR的開關(guān)次數(shù)可達(dá)108-109次,比一般MER的106高幾百倍);無動作噪聲;耐振耐機(jī)械沖擊;安裝位置無限制;很容易用絕緣防水材料灌封做成全密封形式,而且具有良好的防潮防霉防腐性能;在防爆和防止臭氧污染方面的性能也極佳。 固態(tài)繼電器應(yīng)用電路(1)基本單元電路如圖4.5a所示為穩(wěn)定

31、的阻性負(fù)載,為了防止輸入電壓超過額定值,需設(shè)置一限流電阻Rx;當(dāng)負(fù)載為非穩(wěn)定性負(fù)載或感性負(fù)載時,在輸出回路中還應(yīng)附加一個瞬態(tài)抑制電路,如圖4.5b所示,目的是保護(hù)固態(tài)繼電器。通常措施是在繼電器輸出端加裝RC吸收回路(例如:R=150 ,C=0.5 F或R=39 ,C=0.1 F),它可以有效的抑制加至繼電器的瞬態(tài)電壓和電壓指數(shù)上升率dv/dt。在設(shè)計電路時,建議用戶根據(jù)負(fù)載的有關(guān)參數(shù)和環(huán)境條件,認(rèn)真計算和試驗RC回路的選值。另一個常用的措施是在繼電器輸出端接入具有特定鉗位電壓的電壓控制器件,如雙向穩(wěn)壓二極管或壓敏電阻(MOV)。壓敏電阻電流值應(yīng)按下式計算:Imov=(Vmax-Vmov)/ZS

32、其中ZS為負(fù)載阻抗、電源阻抗以及線路阻抗之和,Vmax、Vmov分別為最高瞬態(tài)電壓、壓敏電阻的標(biāo)稱電壓,對于常規(guī)的220V和380V的交流電源,推薦的壓敏電阻的標(biāo)稱電壓值分別為440-470V和760-810V。在交流感性負(fù)載上并聯(lián)RC電路或電容,也可抑制加至SSR輸出端的瞬態(tài)電壓和電壓指數(shù)上升率。但實驗表明,RC吸收回路,特別是并聯(lián)在SSR輸出端的RC吸收回路,如果和感性負(fù)載組合不當(dāng),容易導(dǎo)致振蕩,在負(fù)載電源上電或繼電器切換時,加大繼電器輸出端的瞬變電壓峰值,增大SSR誤導(dǎo)通的可能性,所以,對具體應(yīng)用電路應(yīng)先進(jìn)行試驗,選用合適的RC參數(shù),甚至有時不用RC吸收電路更有利。對于容性負(fù)載引起的浪涌

33、電流可用感性元件抑制,如在電路中引入磁干擾濾波器、扼流圈等,以限制快速上升的峰值電流。另外,如果輸出端電流上升變化率(di/dt)很大,可以在輸出端串聯(lián)一個具有高磁導(dǎo)率的軟化磁芯的電感器加以限制。 (a) (b) 圖4.5繼電器結(jié)構(gòu)連接圖(2)多功能控制電路圖4.5a為多組輸出電路,當(dāng)輸入為“0”時,三極管BG截止,SSR1、SSR2、SSR3的輸入端無輸入電壓,各自的輸出端斷開;當(dāng)輸入為“1”時,三極管BG導(dǎo)通,SSR1、SSR2、SSR3的輸入端有輸入電壓,各自的輸出端接通,因而達(dá)到了由一個輸入端口控制多個輸出端“通”、“斷”的目的。圖4.5b為單刀雙擲控制電路,當(dāng)輸入為“0”時,三極管B

34、G截止,SSR1輸入端無輸入電壓,輸出端斷開,此時A點電壓加到SSR2的輸入端上(UA-UDW應(yīng)使SSR2輸出端可靠接通),SSR2的輸出端接通;當(dāng)輸入為“1”時,三極管BG導(dǎo)通,SSR1輸入端有輸入電壓,輸出端接通,此時A點雖有電壓,但UA-UDW的電壓值已不能使SSR2的輸出端接通而處于斷開狀態(tài),因而達(dá)到了“單刀雙擲控制電路”的功能(注意:選擇穩(wěn)壓二極管DW的穩(wěn)壓值時,應(yīng)保證在導(dǎo)通的SSR1“+”端的電壓不會使SSR2導(dǎo)通,同時又要兼顧到SSR1截止時期“+”端的電壓能使SSR2導(dǎo)通)。5 系統(tǒng)硬件設(shè)計5.1 溫度采集電路數(shù)據(jù)采集電路如圖5.1所示, 由溫度傳感器DS18B20采

35、集被控對象的實時溫度,提供給AT89S52的P3.1口作為數(shù)據(jù)輸入。在本次設(shè)計中我們所控的對象為所處室溫。當(dāng)然作為改進(jìn)我們可以把傳感器與電路板分離,由數(shù)據(jù)線相連進(jìn)行通訊,便于測量多種對象。圖5.1單片機(jī)2051與溫度傳感器DS18B20的連接圖5.2 數(shù)碼管溫度顯示電路 數(shù)碼管的分類 數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點顯示);按能顯示多少個“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成

36、公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點亮。當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點亮。當(dāng)某一字段的陽極為低電平時,相應(yīng)字段就不亮。 數(shù)碼管的驅(qū)動方式 靜態(tài)顯示驅(qū)動:靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機(jī)的I/O端口進(jìn)行驅(qū)動,或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯

37、示亮度高,缺點是占用I/O端口多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示則需要5×840根I/O端口來驅(qū)動,要知道一個89S51單片機(jī)可用的I/O端口才32個呢:),實際應(yīng)用時必須增加譯碼驅(qū)動器進(jìn)行驅(qū)動,增加了硬件電路的復(fù)雜性。 動態(tài)顯示驅(qū)動:數(shù)碼管動態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機(jī)對位選通C

38、OM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。 恒流驅(qū)動與非恒流驅(qū)動對數(shù)碼管的影響 1、顯示效果:由于發(fā)光二極管基本上屬于電流敏感器件,其正向壓降的分散性很大, 并且還與溫度有關(guān),

39、為了保證數(shù)碼管具有良好的亮度均勻度,就需要使其具有恒定的工作電流,且不能受溫度及其它因素的影響。另外,當(dāng)溫度變化時驅(qū)動芯片還要能夠自動調(diào)節(jié)輸出電流 的大小以實現(xiàn)色差平衡溫度補(bǔ)償。2、安全性: 即使是短時間的電流過載也可能對發(fā)光管造成永久性的損壞,采用恒流驅(qū)動電路后可防止 由于電流故障所引起的數(shù)碼管的大面積損壞。另外,我們所采用的超大規(guī)模集成電路還具有級聯(lián)延時開關(guān)特性,可防止反向尖峰電壓對發(fā)光二極管的損害。超大規(guī)模集成電路還具有熱保護(hù)功能,當(dāng)任何一片的溫度超過一定值時可自動關(guān)斷,并且可在控制室內(nèi)看到故障顯示。 圖5.2 數(shù)碼管顯示電路 5.3 單片機(jī)接口電路5.3.1 P0口的上拉電阻原理1、當(dāng)

40、TTL電路驅(qū)動COMS電路時,如果TTL電路輸出的高電平低于COMS電路的最低高電平(一般為3.5v)這時就需要在TTL的輸出端接上拉電阻,以提高輸出高電平的值。2、OC門電路必須加上拉電阻,才能使用。3、為加大輸出引腳的驅(qū)動能力,有的單片機(jī)管腳上也常使用上拉電阻。4、在COMS芯片上,為了防止靜電造成損壞,不用的管腳不能懸空,一般接上拉電阻產(chǎn)生降低輸入阻抗,提供泄荷通路。5、芯片的管腳加上拉電阻來提高輸出電平,從而提高芯片輸入信號的噪聲容限增強(qiáng)抗干擾能力。6、提高總線的抗電磁干擾能力。管腳懸空就比較容易接受外界的電磁干擾。7、長線傳輸中電阻不匹配容易引起反射波干擾,加上下拉電阻是電阻匹配,有

41、效的抑制反射波干擾。 上拉電阻阻值的選擇原則包括:1、從節(jié)約功耗及芯片的灌電流能力考慮應(yīng)當(dāng)足夠大;電阻大,電流小。2、從確保足夠的驅(qū)動電流考慮應(yīng)當(dāng)足夠小;電阻小,電流大。3、對于高速電路,過大的上拉電阻可能邊沿變平緩。 綜合考慮以上三點,通常在1k到10k之間選取。對下拉電阻也有類似道理 對上拉電阻和下拉電阻的選擇應(yīng)結(jié)合開關(guān)管特性和下級電路的輸入特性進(jìn)行設(shè)定,主要需要考慮以下幾個因素:1 驅(qū)動能力與功耗的平衡。以上拉電阻為例,一般地說,上拉電阻越小,驅(qū)動能力越強(qiáng),但功耗越大,設(shè)計是應(yīng)注意兩者之間的均衡。2 下級電路的驅(qū)動需求。同樣以上拉電阻為例,當(dāng)輸出高電平時,開關(guān)管斷開,上拉電阻應(yīng)適當(dāng)選擇以

42、能夠向下級電路提供足夠的電流。3 高低電平的設(shè)定。不同電路的高低電平的門檻電平會有不同,電阻應(yīng)適當(dāng)設(shè)定以確保能輸出正確的電平。以上拉電阻為例,當(dāng)輸出低電平時,開關(guān)管導(dǎo)通,上拉電阻和開關(guān)管導(dǎo)通電阻分壓值應(yīng)確保在零電平門檻之下。4 頻率特性。以上拉電阻為例,上拉電阻和開關(guān)管漏源級之間的電容和下級電路之間的輸入電容會形成RC延遲,電阻越大,延遲越大。上拉電阻的設(shè)定應(yīng)考慮電路在這方面的需求。下拉電阻的設(shè)定的原則和上拉電阻是一樣的。OC門輸出高電平時是一個高阻態(tài),其上拉電流要由上拉電阻來提供,設(shè)輸入端每端口不大于100uA,設(shè)輸出口驅(qū)動電流約500uA,標(biāo)準(zhǔn)工作電壓是5V,輸入口的高低電平門限為0.8V

43、(低于此值為低電平);2V(高電平門限值)。選上拉電阻時:500uA x 8.4K= 4.2即選大于8.4K時輸出端能下拉至0.8V以下,此為最小阻值,再小就拉不下來了。如果輸出口驅(qū)動電流較大,則阻值可減小,保證下拉時能低于0.8V即可。當(dāng)輸出高電平時,忽略管子的漏電流,兩輸入口需200uA,200uA x15K=3V即上拉電阻壓降為3V,輸出口可達(dá)到2V,此阻值為最大阻值,再大就拉不到2V了。選10K可用。COMS門的可參考74HC系列設(shè)計時管子的漏電流不可忽略,IO口實際電流在不同電平下也是不同的,上述僅僅是原理,一句話概括為:輸出高電平時要喂飽后面的輸入口,輸出低電平不要把輸出口喂撐了(

44、否則多余的電流喂給了級聯(lián)的輸入口,高于低電平門限值就不可靠了) 上拉電阻的選擇我們在此設(shè)計中原則的是用P0口來驅(qū)動數(shù)碼管的顯示,所以我們所通過上述原理。如果是驅(qū)動led,那么用1K左右的就行了。如果希望亮度大一些,電阻可減小,最小不要小于200歐姆,否則電流太大;如果希望亮度小一些,電阻可增大,增加到多少,主要看亮度情況,以亮度合適為準(zhǔn),一般來說超過3K以上時,亮度就很弱了,但是對于超高亮度的LED,有時候電阻為10K時覺得亮度還能夠用。通常就用1k的。其具體的連接電路圖如圖5.3所示:圖5.3單片機(jī)上拉電阻示意圖5.4 單片機(jī)電源及下載線電路7805是我們最常用到的穩(wěn)壓芯片了,他的使用方便,

45、用很簡單的電路即可以輸入一個直流穩(wěn)壓電源,他的輸出電壓恰好為5v,剛好是51系列單片機(jī)運(yùn)行所需的電壓,介紹一下他的3個引腳以及用它來構(gòu)成的穩(wěn)壓電路的資料。其中1接整流器輸出的+電壓,2為公共地(也就是負(fù)極),3就是我們需要的正5V輸出電壓了。 圖5.4 7085引腳圖 圖5.5 7085電源原理圖本次用的下載線電路是以一塊74LS373芯片為主的電路。原理圖如圖5.6。該電路在原理圖上只有一個下載口的體現(xiàn),只要把下載線接到下載口就可以把程序下載到單片機(jī)中了。圖5.6下載線電路原理圖5.5 溫度控制電路溫度控制分為高、低溫控制。設(shè)計所要達(dá)到的效果就是,我們給單片機(jī)設(shè)置一個固定的溫度范圍,當(dāng)溫度傳

46、感器測量的溫度高于我們設(shè)置的最高數(shù)值時,這時單片機(jī)指令控制P3.2口產(chǎn)生一個高電平信號送給固態(tài)繼電器,是繼電器的產(chǎn)開開關(guān)閉合,使開關(guān)打開通電??刂埔粋€降溫裝置的開啟(本設(shè)計中考慮到成本和技術(shù)問題,采用電風(fēng)扇進(jìn)行降溫控制)。相反,當(dāng)溫度傳感器測量的溫度低于設(shè)置的最低數(shù)值的時候,這時單片機(jī)又控制P3.3口產(chǎn)生一個高電平送給繼電器,使開關(guān)打開從而控制升問裝置進(jìn)行加熱(本系統(tǒng)采用電熱絲進(jìn)行加熱)。通過一個升溫和一個降溫裝置,就能實現(xiàn)溫度的調(diào)節(jié)。只要通過程序,將我們所要達(dá)到的溫度控制在一個恒溫狀態(tài)下??刂齐娐返脑韴D如5.7所示,繼電器的正極接電源電壓,負(fù)極接三極管的集電極,之所以采用三極管,就是繼電器

47、一般是需要驅(qū)動電壓的。而單片機(jī)的管腳不能提供最后高的電壓,這樣就會導(dǎo)致即使單片機(jī)送出了高電平也無法將繼電器開關(guān)打開。當(dāng)接上三極管后就能將輸入信號的發(fā)送到繼電器當(dāng)中,驅(qū)動開關(guān)使溫度調(diào)節(jié)器改變溫度。圖5.7溫度控制電路繼電器的選擇上,我們選擇北京科通繼電器總廠生產(chǎn)的GX-10F繼電器為例,列出輸入、輸出參數(shù),詳見表5.1,根據(jù)輸入電壓參數(shù)值大小,可確定工作電壓大小。如采用TTL或CMOS等邏輯電平控制時,最好采用有足夠帶載能力的低電平驅(qū)動,并盡可能使“0”電平低于0.8 V。如在噪聲很強(qiáng)的環(huán)境下工作,不能選用通、斷電壓值相差小的產(chǎn)品,必需選用通、斷電壓值相差大的產(chǎn)品,(如選接通電壓為8 V或12

48、V的產(chǎn)品)這樣不會因噪聲干擾而造成控制失靈 。我們在這選擇12V的繼電器作為我們使用的器件。使用的具體元件參數(shù)如下表表5.1固態(tài)繼電器參數(shù)設(shè)置型 號SSR-1DD-P輸入?yún)?shù)控制方式3-32DC輸入電流大于5mA工作指示/通斷時間10ms可靠關(guān)斷電壓小于0.8 VDC輸出參數(shù)輸出電壓直流5-110VDC 有高的 200VDC 300VDC額定工作電流1A.2A.3A.4A.5A.通態(tài)壓降1.5V最小導(dǎo)通電流50mA斷態(tài)漏電流小于10mA性能參數(shù)介質(zhì)耐壓2500VAC,1分鐘絕緣電壓2500V絕緣電阻100M工作溫度3575 電源頻率50/60HZ散熱條件/負(fù)載電流安全系數(shù)阻性負(fù)載取2-4倍,感

49、性負(fù)載取3-5倍工作壽命300萬-500萬次重量18g外型尺寸39.0L×23.0W×13H6 溫度控制的軟件設(shè)計6.1 數(shù)碼管動態(tài)顯示單片機(jī)AT89S52輸出8個高低電平信號每個數(shù)碼管的8個段分別連接P0.0-P0.7口上當(dāng)某個數(shù)碼管的公共端為“0”時,那么這個數(shù)碼管被選中,這時此數(shù)碼管的哪段為”1“則哪段就被點亮初學(xué)者可以利用本實驗板自帶的仿真器功能來單步執(zhí)行,來觀察數(shù)碼管的工作原理,由于I/O資源有限,一個51單片機(jī)只有32個I/O所以只能將8個數(shù)碼管以動態(tài)掃描的方式來顯示,何為動態(tài)掃描呢? 動態(tài)掃描的連接方式是將8個數(shù)碼管的8個段用相同的I/O來控制,即第

50、一個數(shù)碼管的”a“段由P0.0控制第二個數(shù)碼管的”a“段也是由P0.0來控制的而8個數(shù)碼管的公共端則是由不同的I/O來控制,即第一個數(shù)碼管的公共端由P2.4控制而第二個數(shù)碼管的公共端有P2.5控制  動態(tài)掃描的控制原理是:將第一個數(shù)碼管要顯示的內(nèi)容顯示出來,然后立刻將第二個數(shù)碼管的內(nèi)容顯示出來,一次把第8個數(shù)碼管的內(nèi)容顯示出來由于單片機(jī)的工作速度非???,所以當(dāng)顯示第8個數(shù)碼管的時候第一個數(shù)碼管的內(nèi)容還沒有完全消失,這時立刻重復(fù)上面的過程,就實現(xiàn)了數(shù)碼管的。數(shù)碼關(guān)分共陽極數(shù)碼管,還有就是共陰極數(shù)碼管,我們就采用共陰來使用。單片機(jī)各個口的電壓輸出的都為高電平。共陰就通過控制陽極

51、,即可控制LED顯示。6.2 DS18B20初始化DS18B20的一線工作協(xié)議流程是:初始化ROM操作指令存儲器操作指令數(shù)據(jù)傳輸。其工作時序包括初始化時序、寫時序和讀時序。故主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號后等待1660微秒左右,后發(fā)出60240微秒的存在低脈沖,主CPU收到此信號表示復(fù)位成功。DS18B20的單線協(xié)議和命令DS18B20有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)的傳

52、輸?shù)恼_性和完整性主機(jī)操作單線器件DS18B20必須遵循下面的順序.1.初始化單線總線上的所有操作均從初始化開始。初始化過程如下:主機(jī)通過拉低單線480us以上,產(chǎn)生復(fù)位脈沖,然后釋放該線,進(jìn)入Rx接收模式主機(jī)釋放總線時,會產(chǎn)生一個上升沿。單線期間DS18B20檢測到改上升沿后,延時15-60us,通過拉低總線60-240us來產(chǎn)生應(yīng)答脈沖。主機(jī)棘手到從機(jī)的應(yīng)答脈沖后,說明有單線器件在線。2.ROM操作命令一旦總線主機(jī)檢測到應(yīng)答脈沖,便可以發(fā)起ROM操作命令。工有5位ROM操作命令。3.內(nèi)存操作命令在成功執(zhí)行了ROM操作命令之后,才可以使用內(nèi)存操作命令。主機(jī)可以提供6種內(nèi)存操作命令。4.數(shù)據(jù)處

53、理DS18B20要有嚴(yán)格的時序來保證數(shù)據(jù)的完整性。在單線DQ上,存在復(fù)位脈沖、應(yīng)答脈沖、寫“0”、寫“1”、讀“0”和讀“1”幾種信號類型。其中,出來映帶脈沖之外,均由主機(jī)產(chǎn)生。數(shù)據(jù)位的讀和寫則是通過使用讀、寫時隙實現(xiàn)的。首先來看寫時隙。當(dāng)主機(jī)將數(shù)據(jù)從高電平來至低電平時,產(chǎn)生寫時隙。有2種類型的寫時隙:寫“1”和寫“0”。所有寫時隙必須在60us以上,各個寫時隙之間必須保證最段1us的恢復(fù)時間。DS18B20在DQ線變低后的15-60us的窗口對DQ線進(jìn)行采樣,如果為高電平,就寫“1”;如果為低電平就寫“0”。對于主機(jī)產(chǎn)生寫“1”時隙的情況,數(shù)據(jù)線必須先被拉低,然后釋放,在寫時隙開始后的15u

54、s,允許DQ線來至高電平。讀主機(jī)產(chǎn)生寫“0”時隙的情況,DQ線必須被拉至低電平且至少保持低電平60us。再來看讀時隙。當(dāng)主機(jī)從DS18B20讀數(shù)據(jù)時,把數(shù)據(jù)線從高電平來至低電平,產(chǎn)生讀時隙。數(shù)據(jù)線DQ必須保持低電平至少1us,來自DS18B20的輸出數(shù)據(jù)在讀時隙下降沿之后15us內(nèi)有效。因此,在此15us內(nèi),主機(jī)必須停止將DQ引腳置低。在讀時隙結(jié)束時,DQ引腳將通過外部上拉電阻拉回來至高電平。所有的讀時隙最短必須持續(xù)60us,各個讀時隙之間必須保證延時到最段1us的恢復(fù)時間。所以的讀寫時隙至少需要60us,且每兩個獨立的時隙之間至少需要1us的恢復(fù)時間。在寫時隙中,主機(jī)將在拉低中線15us內(nèi)釋

55、放總線,并向DS18B20寫“1”。若主機(jī)拉低總線后能保持至少60us的低電平,則向單總線期間寫“0”。DS18B20僅在主機(jī)發(fā)生讀時隙時才向主機(jī)傳輸數(shù)據(jù),所以,當(dāng)主機(jī)向DS18B20發(fā)生讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時隙,以便DS18B20能傳輸數(shù)據(jù)。6.3 系統(tǒng)流程圖系統(tǒng)流程圖如圖6.1所示:開始初始化啟動18B20P3.3高電平升溫P3.2高電平降溫讀溫度計算溫度顯示溫度?下限?上限結(jié)束圖6.1系統(tǒng)流程圖7 調(diào)試和總結(jié)7.1 仿真軟件程序線路調(diào)試通過對電路的硬件設(shè)計和程序設(shè)計,我們使用了PROTEUS對設(shè)計的電路進(jìn)行仿真設(shè)計。首先,我們將硬件電路在PROTEUS中連接好,按照設(shè)計總電路圖連

56、接各個硬件。然后,轉(zhuǎn)換C程序,我們通過單片機(jī)C語言來進(jìn)行編程,程序如附錄所示。通過KEIL軟件降我們的源程序轉(zhuǎn)換成目標(biāo)程序來進(jìn)行仿真,生成*.hex文件。最后從PROTEUS中,將我們的程序?qū)雴纹瑱C(jī)中,便能進(jìn)行實時仿真。調(diào)試結(jié)果分析:1當(dāng)將程序?qū)雴纹瑱C(jī),打開運(yùn)行開關(guān)溫度22度顯示正常,測試其他的溫度顯示,當(dāng)調(diào)節(jié)到21度的時候,發(fā)現(xiàn)出來亂碼,數(shù)碼管并不完全發(fā)亮如圖7.1所示:真aLeus管描的方式來顯示,何為動態(tài)掃描呢?圖7.1 地址錯誤引起數(shù)碼管不完全發(fā)亮問題分析要么是線接錯,要么是程序數(shù)碼管地址錯誤。很直觀的發(fā)現(xiàn)線路連接肯定沒錯誤,估計就是地址錯誤。打開C程序經(jīng)計算1的是0xf9,錯誤成0xf3了,所以顯示錯誤。教正后如圖7.2所示:圖7.2 經(jīng)修改調(diào)試后正常顯示2.溫度控制調(diào)試根據(jù)設(shè)計要求,單片機(jī)在顯示傳感器所讀出的溫度同時,必須根據(jù)設(shè)定的溫度上限和下限來改變溫度的高低,使的所在環(huán)境的溫度相對的保持一個恒溫情況。這樣就要通過單

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論