單片機(jī)溫度控制

上傳人:jun****875 文檔編號:23686469 上傳時間:2021-06-10 格式:DOC 頁數(shù):28 大?。?04.91KB
收藏 版權(quán)申訴 舉報 下載
單片機(jī)溫度控制_第1頁
第1頁 / 共28頁
單片機(jī)溫度控制_第2頁
第2頁 / 共28頁
單片機(jī)溫度控制_第3頁
第3頁 / 共28頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《單片機(jī)溫度控制》由會員分享,可在線閱讀,更多相關(guān)《單片機(jī)溫度控制(28頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、摘 要 隨著電子產(chǎn)品向智能化和微型化的不斷發(fā)展,單片機(jī)已成為電子產(chǎn)品研制和開發(fā) 中首選的控制器。為了更好地推廣單片機(jī)在實際生活和生產(chǎn)中的應(yīng)用,本文從硬件和 軟件兩個方面介紹了基于 AT89C52 單片機(jī)溫度控制系統(tǒng)的設(shè)計,以實現(xiàn)系統(tǒng)能自主 調(diào)節(jié)溫度的功能。 該系統(tǒng)的硬件部分由溫度采集模塊、鍵盤掃描及按鍵處理模塊、溫度顯示模塊、 繼電器控制模塊組成。其中溫度采集模塊采用溫度傳感器DS18B20來采集當(dāng)前溫度, 并對采集的溫度信號進(jìn)行AD轉(zhuǎn)換以數(shù)字信號的方式傳送給單片機(jī)。鍵盤掃描及按 鍵處理模塊由34矩陣鍵盤、反相驅(qū)動器74LS06、顯示驅(qū)動芯片8279組成,完成掃 描鍵盤,形成鍵碼,并將其送至

2、單片機(jī)處理。溫度顯示模塊由顯示驅(qū)動芯片8279和 數(shù)碼管組成,輸入的溫度值進(jìn)行比較,并通過液晶顯示器LCD顯示出來。繼電器控制 模塊由繼電器和升溫電爐、降溫風(fēng)扇組成。如果采集溫度低于設(shè)置溫度,系統(tǒng)將通 過繼電器模塊自動控制升溫;如果采集溫度高于設(shè)置溫度,系統(tǒng)將通過繼電器模塊 自動控制降溫。 該系統(tǒng)的軟件設(shè)計部分由系統(tǒng)主程序流程框圖、溫度處理子程序流程框圖、鍵 盤處理子程序框圖組成,其中系統(tǒng)主程序由初始化程序、掃描鍵盤程序及溫度處理 子程序組成。溫度采集子程序由對溫度傳感器的初始化和溫度處理程序組成。鍵盤 處理子程序由8279芯片的初始化程序及掃描處理程序組成。 關(guān)鍵詞:單片機(jī)AT89C52;溫

3、度控制;溫度傳感器DS18B20;液晶顯示器LCD 。 ABSTRACT With the electronic products developing to intelligent and miniaturization, single chip has become the first chosen controller which is used to develop and explore the electronic product. In order to promote single chip applicating in real life and production, th

4、e paper will introduce a temperature control system which is based on a kind of single chip AT89C52, and it can achieve the function that the system can regulate the temperature independently. The hardware of the system by the temperature acquisition module, keyboard scan and key processing module,

5、temperature display module, relay control module. Wherein the temperature sensor DS18B20 temperature acquisition module to acquire the current temperature, and the acquisition of the temperature signal to the A / D converted digital signal is transferred to the microcontroller. Keyboard scan and key

6、 processing module consists of a 3 4 matrix keyboard, inverting driver 74LS06 display driver chip 8279, to complete the scan keyboard, a key code, and sent to the microcontroller processing. The temperature display module consists of a display driver chip 8279 and digital tubes, the input temperatu

7、re values are compared, and through the liquid crystal display LCD display. Relay control module relay and heating furnace, cooling fan. If the acquisition temperature is below the set temperature, the system will automatically controlled by the relay module temperature; the collecting temperature i

8、s higher than the set temperature, the system will automatically control the cooling relay module. Software design of the system by the system main program flow block diagram temperature processing the subroutine flow diagram, keyboard handling subroutine block diagram form, the system main program

9、initialization procedure, scanning keyboard program and temperature processing subroutines.The temperature acquisition subroutine by the temperature sensor the initialization and temperature handler. The keyboard handling routine by the 8279 chip initialization procedures and scanning process. Keywo

10、rds: Single Chip AT89C52;Temperature Control;Temperature Sensor- DS18B20;Liquid Crystal Display. 目 錄 緒 論 1 選題背景與意義 .......................................................1 選題介紹 .............................................................1 1 單片機(jī)溫度控制系統(tǒng)總體設(shè)計 .........................................2

11、1.1 系統(tǒng)的特征 .......................................................2 1.2 系統(tǒng)的設(shè)計目標(biāo)和原則 .............................................2 1.3 系統(tǒng)模塊設(shè)計 .....................................................2 1.4 系統(tǒng)層次框圖 .....................................................2 2 硬件系統(tǒng)設(shè)計 ..............................

12、..........................4 2.1 單片系統(tǒng)設(shè)計 .....................................................4 2.1.1 主要性能參數(shù) .................................................4 2.1.2 功能特性概述 .................................................5 2.1.3 管腳說明 .....................................................5 2.1.4 定時與計數(shù)

13、...................................................6 2.1.5 復(fù)位電路 .....................................................6 2.1.6 時鐘電路 .....................................................6 2.2 溫度傳感模塊的設(shè)計 ...............................................7 2.2.1 DS18B20 的性能特點 ................................

14、............7 2.2.2 DS18B20 控制方法 ..............................................7 2.2.3 DS18B20 使用中注意事項 ........................................8 2.2.4 高速暫存存儲器 ...............................................9 2.3 鍵盤顯示模塊的設(shè)計 ...............................................9 2.3.1 鍵盤顯示驅(qū)動芯片 8279..........

15、..............................10 2.3.2 8279 內(nèi)部結(jié)構(gòu) ................................................11 2.3.3 鍵盤和數(shù)碼管 ................................................12 2.4 繼電器控制模塊的設(shè)計 ............................................12 2.4.1 繼電器接點說明 ..............................................13 2.4.2 繼電器控制

16、升溫 ..............................................13 2.4.3 繼電器控制降溫 ...............................................13 3 系統(tǒng)軟件設(shè)計 ......................................................14 3.1 系統(tǒng)主程序流程圖 ................................................14 3.2 鍵盤處理子程序 ..........................................

17、........15 3.3 DS18B20 子程序圖 ...............................................15 體 會 .................................................................17 致 謝 .................................................................18 參考文獻(xiàn) ...............................................................19 附 錄 ...

18、..............................................................20 緒 論 選題背景與意義 在生產(chǎn)的管理過程中,溫度的控制是十分常見的。國內(nèi)已相繼出現(xiàn)各種以微機(jī) 為核心的溫度控制系統(tǒng)。這種系統(tǒng)控制精度高、重復(fù)性好、自動化程度高。 在日常生活中,人們?yōu)榱藫碛幸粋€更舒適的生活環(huán)境,往往需要室內(nèi)擁有一個 合適的溫度,而單片機(jī)的準(zhǔn)確性高、價格低、功耗低等一系列優(yōu)點,可結(jié)合升溫和 降溫設(shè)備,有效的應(yīng)用到實際生活中。 單片機(jī)溫度控制系統(tǒng)是單片機(jī)控制的一項簡單應(yīng)用。近幾年來單片機(jī)因其獨特 的,方便,快捷的優(yōu)勢被廣泛的應(yīng)用于各個領(lǐng)域之中。 選題簡

19、介 課題名稱:單片機(jī)溫度控制系統(tǒng)設(shè)計 主要任務(wù):將溫度控制在設(shè)定的溫度值,設(shè)定范圍為0-99度,針對在生產(chǎn)和日 常生活中溫度智能化控制系統(tǒng)的實現(xiàn)。 開發(fā)環(huán)境:本環(huán)境溫度控制系統(tǒng)的軟件部分是通過KEIL進(jìn)行編譯。 技術(shù)指標(biāo): (1)以AT89C52系列單片機(jī)為核心部件 (2)以數(shù)字電路和模擬電路為硬件基礎(chǔ) (3)以C語言為軟件實現(xiàn)語言 功能概述:在該環(huán)境溫度控制系統(tǒng)中,單片機(jī)作為核心部件進(jìn)行檢測控制,增 強(qiáng)了設(shè)計的通用性,適時性。在該環(huán)境溫度控制系統(tǒng)中溫度檢測采用 DS18B20 溫度 傳感器,它不僅具有較高的精度,而且適用電壓寬。同時采用了 3X4 矩陣掃描鍵盤 輸入,顯示設(shè)備等外圍擴(kuò)展芯片。

20、軟件部分采用流程圖來表示。 1 單片機(jī)溫度控制系統(tǒng)總體設(shè)計 1.1 系統(tǒng)的特征 從功能上講單片機(jī)溫度控制系統(tǒng)應(yīng)該能夠快速提供真實準(zhǔn)確的溫度數(shù)據(jù),并能 實現(xiàn)斷開操作,從而使糧倉保持在一個恒定的溫度。同時單片機(jī)溫度控制系統(tǒng)也具 有如下特征: (1) 糧倉溫度需要不間斷測量。 (2) 必須有效地測量的精度。 (3) 系統(tǒng)反應(yīng)時間短,穩(wěn)定性高。 (4) 執(zhí)行裝置可靠 。 1.2 系統(tǒng)的設(shè)計目標(biāo)和原則 單片機(jī)溫度控制系統(tǒng)的建立是一個系統(tǒng)工程,包括硬件和軟件兩個方面,從技 術(shù)角度看,系統(tǒng)設(shè)計必須進(jìn)行充分的需求調(diào)查,對運作機(jī)制、信息流程、現(xiàn)有儀器 狀態(tài)、用戶要求等做詳盡的了解,在從系統(tǒng)工程的角度出發(fā)、采用快

21、速原型法,進(jìn) 行從上而下的系統(tǒng)詳細(xì)設(shè)計。根據(jù)單片機(jī)溫度控制系統(tǒng)的特點,確定如下設(shè)計原則: (1) 實用性原則:要求最大限度地滿足實際工作的需要,充分考慮其實用性。 (2) 可靠性原則:設(shè)計要簡潔,保證長時間工作的可靠性。 (3) 準(zhǔn)確性原則:保證測量數(shù)據(jù)的準(zhǔn)確性。 1.3 系統(tǒng)模塊設(shè)計 (1) 單片機(jī)控制模塊 (2) 溫度傳感模塊 (3) 鍵盤、顯示模塊 (4) 繼電器控制模塊 1.4 系統(tǒng)層次框圖 本文所研究的溫度控制系統(tǒng)硬件部分按功能大致可以分為以下幾個部分:單片 機(jī)主控模塊、溫度傳感模塊、鍵盤顯示模塊、繼電器控制模塊。其中,溫度控制系 統(tǒng)以 AT89C52 單片機(jī)為核心,并擴(kuò)展外部存儲

22、器構(gòu)成主控模塊。利用溫度傳感器 DS18B20 檢測并轉(zhuǎn)換成微弱的電壓信號。它具有精度高可靠性好和能直接將模擬 被測量轉(zhuǎn)換成數(shù)字量輸出,因此不需要加 A/D 轉(zhuǎn)換,電路更加簡單。鍵盤掃描及顯 示模塊主要由顯示驅(qū)動芯片 8279、反相驅(qū)動器 74LS06、數(shù)碼管和 34 組成,完成了 溫度設(shè)定值的輸入和顯示溫度的功能。繼電器控制模塊完成對升溫電爐和降溫風(fēng)扇 的控制。對上述各項功能需求進(jìn)行集中、分塊、按照結(jié)構(gòu)化程序設(shè)計的要求,得到 溫度測量保護(hù)系統(tǒng)層次框圖,如圖 1-1 所示。 圖 1-1 單片機(jī)溫度控制系統(tǒng)層次框圖 2 單片機(jī)溫度控制系統(tǒng)的電路設(shè)計 單片機(jī)溫度控制系統(tǒng)的電路設(shè)計在整個系統(tǒng)中占有非

23、常重要的地位,電路結(jié)構(gòu) 設(shè)計的好壞將直接對應(yīng)用系統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生的影響。合理的電路結(jié)構(gòu) 設(shè)計可以大大提高工作的效率,保證數(shù)據(jù)系統(tǒng)的可靠性。同時合理的電路結(jié)構(gòu)也將 有利于程序的實現(xiàn)。 2.1 單片機(jī)模塊 單片機(jī)模塊主要由單片機(jī)芯片 AT89C52 組成,本模塊負(fù)責(zé)與溫度傳感器、鍵盤 顯示驅(qū)動傳遞命令和數(shù)據(jù),并進(jìn)行數(shù)據(jù)的處理。單片機(jī)從 8279 讀入鍵盤掃描得到的 溫度設(shè)定值,并將數(shù)據(jù)保存在存儲器某一單元。單片機(jī)還負(fù)責(zé)從 DS18B20 的數(shù)據(jù)引 腳讀入實際的溫度值,保存在某一單元。最后,單片機(jī)對兩者進(jìn)行比較,從而確定 執(zhí)行的操作。單片機(jī)引腳圖如圖 2-1 所示 圖 2-1 89C52單

24、片機(jī)引腳圖 2.1.1 主要性能參數(shù) 與 MCS-51 產(chǎn)品指令和引腳完全兼容 256*8 位內(nèi)部 RAM 32 可編程 I/O 線 3 個 16 位定時器/計數(shù)器 8 個中斷源 可編程串行 UART 通道 片內(nèi)振蕩器和時鐘電路 8K 字節(jié)可重擦寫 flash 閃爍存儲器 全靜態(tài)工作:0Hz-24Hz 三級加密程序存儲器 1000 次擦寫周期 2.1.2 功能特性概述 AT89C52 具有以下標(biāo)準(zhǔn)功能: 8k 字節(jié) Flash,256 字節(jié) RAM,32 位 I/O 口線, 看門狗定時器,2 個數(shù)據(jù)指針,三個 16 位定

25、時器 /計數(shù)器,一個 6 向量 2 級中斷結(jié) 構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89C52 可降至 0Hz 靜態(tài)邏輯操 作,支持 2 種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許 RAM、定時器 /計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM 內(nèi)容被保存,振蕩器被凍結(jié), 單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。 2.1.3 管腳說明 (1) VCC:供電電壓。 (2) GND:接地。 (3) P0 口:P0 口為一個 8 位漏級開路雙向 I/O 口,每腳可吸收 8TTL 門電流。當(dāng) P1 口的管腳第一次寫 1 時,被定義為高阻輸入。P0 口能

26、夠用于外部程序數(shù)據(jù)存儲器, 它可以被定義為數(shù)據(jù)/地址的第八位。在 FIASH 編程時,P0 口作為原碼輸入口,當(dāng) FIASH 進(jìn)行校驗時,P0 輸出原碼,此時 P0 外部必須被拉高。 (4) P1 口:P1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 I/O 口,P1 口緩沖器能接 收輸出 4TTL 門電流。P1 口管腳寫入 1 后,被內(nèi)部上拉為高電平,可用作輸入,P1 口被外部下拉為低電平時,將輸出電流。在 FLASH 編程和校驗時,P1 口作為第八位 地址接收。 (5) P2 口:P2 口為一個內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 口緩沖器可接收, 輸出 4 個 TTL 門電流,當(dāng)

27、 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 編程和校驗時接收高八 位地址信號和控制信號。 (6) P3 口:P3 口管腳是 8 個帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個 TTL 門電流。當(dāng) P3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入, 由

28、于外部下拉為低電平,P3 口將輸出電流,這是由于上拉的緣故。P3 口也可作為 AT89C52 的一些特殊功能口,管腳備選功能如下: 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 口同時為閃爍編程和編程校驗接收一些控制信號。 (7) RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持 RST

29、 腳兩個機(jī)器周期的高電平。 (8) ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地 位字節(jié)。在 FLASH 編程期間,此引腳用于輸入編程脈沖。在平時,ALE 端以不變的 頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的 1/6。因此它可用作對外部輸出 的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一 個 ALE 脈沖。如想禁止 ALE 的輸出可在 SFR8EH 地址上置 0。此時, ALE 只有在執(zhí)行 MOVX,MOVC 指令時 ALE 才起作用。另外,該引腳被略微拉高。如果微處理器在外部 執(zhí)行狀態(tài) ALE 禁止,置位無效。 (9) /PSE

30、N:外部程序存儲器的選通信號。在外部程序存儲器取指期間,每個機(jī)器 周期兩次/PSEN 有效。但在訪問外部數(shù)據(jù)存儲器時,兩次有效的/PSEN 信號將不出現(xiàn)。 (10) /EA/VPP:當(dāng)/EA 保持低電平時,則在此期間外部程序存儲器(0000H- FFFFH)工作,不管是否有內(nèi)部程序存儲器。注意加密方式 1 時,/EA 將內(nèi)部鎖定為 RESET;當(dāng)/EA 端保持高電平時,此間內(nèi)部程序存儲器。在 FLASH 編程期間,此引腳 也用于施加 12V 編程電源(VPP) 。 (11) XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 (12) XTAL2:來自反向振蕩器的輸出。 2.1.

31、4 定時與記數(shù) AT89C52 單片機(jī)內(nèi)部設(shè)有 3 個 16 位的可編程定時器/計數(shù)器,簡稱為定時器 O(T0)、定時器 l(T1)和定時器 2(T2)。可編程是指其功能(如工作方式,定肘時間、 量程、啟動方式等)均可由指令來確定和改變。在定時器/計數(shù)器中除了有 3 個 16 位 的計數(shù)器之外,還有兩個特殊功能寄存器(控制寄存器和方式寄存器)。 2.1.5 復(fù)位電路 AT89C52 單片機(jī)復(fù)位是使 CPU 和系統(tǒng)中的其他芯片處于一個確定的初始狀態(tài),無 論在系統(tǒng)剛開始接通電源時,還是在斷開電源或者發(fā)生故障后都需要復(fù)位。單片機(jī) 的復(fù)位條件是在復(fù)位引腳 RST 加上持續(xù)的 2 個機(jī)器周期以上的高電位

32、。復(fù)位電路如 圖 2-2 所示 圖 2-2復(fù)位電路 2.1.6 時鐘電路 時鐘電路是系統(tǒng)的心臟,它控制著系統(tǒng)的工作節(jié)奏,時鐘頻率因型號而異,典 型值為 12MHz。AT89C52 單片機(jī)內(nèi)部有一個帶反饋的線形反相放大器,XTAL1,XTAL2 分別為反相器輸入和輸出端,外接晶振和電容組成震蕩器。震蕩器在加電以后延遲 一段時間(約 10ms)起振產(chǎn)生時鐘。時鐘電路如圖 2-3 所示 圖 2-3時鐘電路圖 2.2 溫度傳感模塊 3 溫度傳感模塊主要由單線數(shù)字溫度傳感器 DS18B20 組成,主要完成溫度的測量, 并將其轉(zhuǎn)換成數(shù)字量,傳送給單片機(jī)。溫度傳感模塊如圖 2-4 所示 圖 2-4 溫度傳感

33、模塊圖 2.2.1 DS18B20性能特點 采用單總線專用技術(shù),既可通過串行口線,也可通過其它 I/O 口線與微機(jī)接 口,無須經(jīng)過其它變換電路,直接輸出被測溫度值(9 位二進(jìn)制數(shù),含符號位)。 測溫范圍為-55-+125,測量分辨率為 0.0625。 內(nèi)含 64 位經(jīng)過激光修正的只讀存儲器 ROM。 適配各種單片機(jī)或系統(tǒng)機(jī)。 用戶可分別設(shè)定各路溫度的上、下限。 內(nèi)含寄生電源。 2.2.2 DS18B20控制方法 在硬件上,DS18B20 與單片機(jī)的連接有兩種方法,一種是 Vcc 接外部電源,GND 接地,I/O 與單片機(jī)的 I/O 線相連;另一種是用寄生電源供電,此時 Vcc、GN

34、D 接地, I/O 接單片機(jī) I/O。無論是內(nèi)部寄生電源還是外部供電,I/O 口線要接 5K 左右的 上拉電阻。 DS18B20 有六條控制命令,如表 2-1 所示: 表 2-1 DS18B20的六條控制命令 2.2.3 DS18B20使用中注意事項 DS18B20 雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點, 但在實際應(yīng)用中也應(yīng)注意以下幾方面的問題: (1)每一次讀寫之前都要對 DS18B20 進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條 ROM 指 令,最后發(fā)送 RAM 指令,這樣才能對 DS18B20 進(jìn)行預(yù)定的操作。復(fù)位要求主 CPU 將數(shù)據(jù)線下拉 500 us,然后釋放, DS18

35、B20 收到信號后等待16 60 us 左右,后 發(fā)出60240 us 的存在低脈沖,主 CPU 收到此信號表示復(fù)位成功。(所有的讀寫時 序至少需要 60us ,且每個獨立的時序之間至少需要 1us 的恢復(fù)時間。在寫時序時, 主機(jī)將在下拉低總線 15us 之內(nèi)釋放總線,并向單總線器件寫 1 ;若主機(jī)拉低總線 后能保持至少 60us 的低電平,則向單總線器件寫0 。單總線僅在主機(jī)發(fā)出讀寫時 序時才向主機(jī)傳送數(shù)據(jù),所以,當(dāng)主機(jī)向單總線器件發(fā)出讀數(shù)據(jù)指令后,必須馬上 產(chǎn)生讀時序,以便單總線器件能傳輸數(shù)據(jù)。) (2)在寫數(shù)據(jù)時,寫 0 時單總線至少被拉低 60us, 寫 1 時,15us 內(nèi)就得 釋放

36、總線。 (3)轉(zhuǎn)化后得到的12 位數(shù)據(jù),存儲在 DS18B20 的兩個8 比特的RAM 中,二進(jìn) 制中的前面 5 位是符號位,如果測得的溫度大于 0 ,這 5 位為 0 ,只要將測到 的數(shù)值乘于0.0625 即可得到實際溫度;如果溫度小于0 ,這5 位為1 ,測到的數(shù)值 需要取反加 1 再乘于 0.0625 即可得到實際溫度。 (4)較小的硬件開銷需要相對復(fù)雜的軟件進(jìn)行補償,由于 DS18B20 與微處理 器間采用串行數(shù)據(jù)傳送,因此,在對 DS1820 進(jìn)行讀寫編程時,必須嚴(yán)格的保證讀 寫時序,否則將無法讀取測溫結(jié)果。在使用PL/M 、 C 等高級語言進(jìn)行系統(tǒng)程序設(shè) 計時,對 DS18B20

37、操作部分最好采用匯編語言實現(xiàn)。 (5)在 DS18B20 的有關(guān)資料中均未提及單總線上所掛DS18B20 數(shù)量問題,容 易使人誤認(rèn)為可以掛任意多個 DS18B20 ,在實際應(yīng)用中并非如此。當(dāng)單總線上所掛 DS18B20 超過8 個時,就需要解決微處理器的總線驅(qū)動問題,這一點在進(jìn)行多點測 指 令 約定代碼 操 作 說 明 溫度轉(zhuǎn)換 44H 啟動 DS18B20 進(jìn)行溫度轉(zhuǎn)換 讀暫存器 BEH 讀暫存器 9 個字節(jié)內(nèi)容 寫暫存器 4EH 將數(shù)據(jù)寫入暫存器的 TH、TL 字節(jié) 復(fù)制暫存器 48H 把暫存器的 TH、TL 字節(jié)寫到 E2RAM 中 重新調(diào) E2RAM B8H 把 E2RAM

38、 中的 TH、TL 字節(jié)寫到暫存器 TH、TL 字節(jié) 讀電源供電方式 B4H 啟動 DS18B20 發(fā)送電源供電方式的信號給主 CPU 溫系統(tǒng)設(shè)計時要加以注意。 (6)連接DS18B20 的總線電纜是有長度限制的。試驗中,當(dāng)采用普通信號電纜 傳輸長度超過 50m 時,讀取的測溫數(shù)據(jù)將發(fā)生錯誤。當(dāng)將總線電纜改為雙絞線帶屏 蔽電纜時,正常通訊距離可達(dá) 150m ,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電 纜時,正常通訊距離進(jìn)一步加長。這種情況主要是由總線分布電容使信號波形產(chǎn)生 畸變造成的。因此,在用 DS1B820 進(jìn)行長距離測溫系統(tǒng)設(shè)計時要充分考慮總線分布 電容和阻抗匹配問題。測溫電纜線建議采用屏

39、蔽 4 芯雙絞線,其中一對線接地線與 信號線,另一組接 VCC 和地線,屏蔽層在源端單點接地。 (7)在 DS18B20 測溫程序設(shè)計中,向 DS18B20 發(fā)出溫度轉(zhuǎn)換命令后,程序 總要等待 DS18B20 的返回信號,一旦某個 DS18B20 接觸不好斷線,當(dāng)程序讀該 DS18B20 時,將沒有返回信號,程序進(jìn)入死循環(huán)。這一點在進(jìn)行 DS18B20 硬件連接 和軟件設(shè)計時也要給予重視。 2.2.4 高速暫存存儲器 在 DS18B20 內(nèi)部結(jié)構(gòu)中有一個高速暫存存儲器,該存儲器由 9 個字節(jié)組成,其 分配如表 2.2 所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二進(jìn)制補碼形 式存放在高速暫

40、存存儲器的第 0 和第 1 個字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù), 讀取時低位在前,高位在后,數(shù)據(jù)格式如表 2-2 所示。對應(yīng)的溫度計算:當(dāng)符號位 S=0 時,直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng) S=1 時,先將補碼變?yōu)樵a,再計算成 十進(jìn)制值。 表 2-2 DS18B20暫存器分布 CPU 對 DS18B20 的訪問流程是:先對 DS18B20 初始化,再進(jìn)行 ROM 操作命令, 最后才能對存儲器和數(shù)據(jù)進(jìn)行操作。DS18B20 每一步操作都要遵循嚴(yán)格的工作時序 和通信協(xié)議。如主機(jī)控制 DS18B20 完成溫度轉(zhuǎn)換這一過程,根據(jù) DS18B20 的通訊協(xié) 議,須經(jīng)三個步驟:每一次讀寫之前都要對

41、DS18B20 進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一 條 ROM 指令,最后發(fā)送 RAM 指令,這樣才能對 DS18B20 進(jìn)行預(yù)定的操作。 2.3 鍵盤、顯示模塊 鍵盤、顯示模塊主要由鍵盤、顯示驅(qū)動芯片 8279、數(shù)碼管、34 鍵盤矩陣、反 相驅(qū)動器 74LS06 組成,完成溫度設(shè)定數(shù)值的輸入和溫度的顯示功能。鍵盤、顯示驅(qū) 動芯片 8279 主要完成和單片機(jī)芯片進(jìn)行數(shù)據(jù)的交換,將單片機(jī)送來的、需要顯示的 數(shù)據(jù)經(jīng)反相驅(qū)動器 74LS06 反相后驅(qū)動數(shù)碼管,譯碼掃描輸出信號 SL0-SL3 完成對數(shù) 碼管的選擇,并且自動刷新顯示數(shù)據(jù)。8279 還負(fù)責(zé)掃描鍵盤,形成鍵碼,并將其送 至單片機(jī)。數(shù)碼管顯示設(shè)定溫

42、度和實際溫度,鍵盤完成溫度數(shù)據(jù)的設(shè)定??傮w電路 如圖 2-5 所示: 圖 2-5 鍵盤、顯示模塊電路圖 2.3.1 鍵盤、顯示驅(qū)動芯片 8279 8279 芯片是一種通用的可編程鍵盤顯示器接口器件,單個芯片就能完成鍵盤輸 入和七段碼顯示控制兩種功能。引腳如圖 2-6 IRQ:中斷請求,高電平有效。為輸出線。 D0D7:數(shù)據(jù)總線,為雙向三態(tài)總線,和單片機(jī)的數(shù)據(jù)總線相連接,用于傳送 CPU 和 8279 之間的命令、數(shù)據(jù)和狀態(tài)等信息。 圖 2-6 8279芯片引腳圖 、 :讀寫選通信號,來自 CPU,低電平有效??刂?8279 讀、寫操作。RDW :片選信號。 =0 時選中 8279,為輸入線。

43、CSCS A0:數(shù)據(jù)選擇線,A0=1 時,CPU 寫入 8279 的數(shù)據(jù)為命令字、從 8279 讀出的數(shù) 據(jù)為狀態(tài);A0=0 時,CPU 讀寫的字節(jié)均為數(shù)據(jù)。 RESET:復(fù)位端。RESET=1 時 8279 復(fù)位,復(fù)位時芯片有關(guān)狀態(tài)是:程序時鐘編 程為 31、外部譯碼鍵掃描方式,雙鍵互鎖,16 個字符顯示。 CLK:系統(tǒng)時鐘。外部時鐘輸入,經(jīng)分頻后產(chǎn)生 100kHz,作為 8279 的內(nèi)部時鐘。 RL0RL7:反饋輸入線。平時保持“1” ,當(dāng)鍵盤矩陣結(jié)點上有鍵閉合時,邊為 “0”。在選通方式時作為 8 位輸入線。 SHIFT:移位信號。高電平有效,可用它擴(kuò)充鍵盤功能,作為上、下檔功能選擇 鍵

44、。在傳感器方式或選通方式中無效。 CNTL/STB:控制/選通輸入線。高電平有效,常用于擴(kuò)充鍵的控制功能,該信號 的上升沿可將來自 RL0RL7 的數(shù)據(jù)存入 FIFO RAM 中。 SL0SL7:掃描輸出線,用于鍵盤、顯示器或傳感器的掃描線。 OUTA0OUTA3:A 組段顯示數(shù)據(jù)輸出線。 OUTB0OUTB3:B 組段顯示數(shù)據(jù)輸出線。 A、B 兩組可以單獨使用,也可合并使用。與多位數(shù)字顯示的掃描線 SL0SL3 同步。 :消隱輸出線,低電平有效。當(dāng)有顯示切換或消隱命令時,使顯示器消滅。D 2.3.2 8279內(nèi)部結(jié)構(gòu) 1I/O 控制和數(shù)據(jù)緩沖器 數(shù)據(jù)緩沖器是雙向緩沖器,連接內(nèi)部總線和外部總

45、線 D7D0,用于傳送 CPU 和 8279 之間的命令狀態(tài)和數(shù)據(jù)。 I/O 控制線是 CPU 對 8279 進(jìn)行控制的引線, 是片選信號,A0 用于區(qū)別信息CS 的特征。 2控制邏輯 控制與定時寄存器用來寄存鍵盤和顯示器的工作方式以及由 CPU 編程的其他操 作方式。這些寄存器一旦接受鎖存送來的命令,就通過譯碼產(chǎn)生相應(yīng)的信號,從而 完成相應(yīng)的控制功能。 定時和控制包含一些計數(shù)器,其中有一個 5 位計數(shù)器,對 CLK 引線輸入的時鐘 信號進(jìn)行分頻,產(chǎn)生 100kHz 的定時信號,然后再經(jīng)過分頻為鍵盤掃描提供適當(dāng)?shù)闹?行掃描頻率和顯示掃描時間。 3掃描計數(shù)器 掃描計數(shù)器有編碼和譯碼兩種

46、工作方式。按編碼方式工作時,掃描計數(shù)器的狀 態(tài)從 SL0SL3 輸出,通過外部譯碼器,可以外接 16 位顯示器和 88 鍵盤;按譯碼 方式工作時,掃描計數(shù)器的低 2 位的狀態(tài)從 SL0SL3 輸出,狀態(tài)為 00,SL0 輸出低 電平,SL1SL3 輸出高電平;狀態(tài)為 01,SL1 輸出為低電平,其他輸出為高電平 此時只能外接 4 位顯示器和 48 鍵盤。 4鍵輸入控制和 FIFO(先進(jìn)先出)RAM 這部分電路可以完成對鍵盤的自動掃描,鎖存 RL0RL 7的輸入信號,搜索閉合 鍵,去除鍵抖動,并將鍵輸入數(shù)據(jù)寫入先進(jìn)先出存儲器(FIFO RAM) 。8279 具有 8 個字節(jié)先進(jìn)先出的鍵輸入存儲器

47、,當(dāng) FIFO RAM 中存有鍵盤上閉合鍵的鍵碼時,IRQ 變?yōu)楦唠娖剑?CPU 請求中斷:當(dāng) CPU 從 FIFO RAM 中讀取數(shù)據(jù)時,IRQ 變?yōu)榈碗娖健?若 RAM 中仍有數(shù)據(jù),則 IRQ 再次恢復(fù)高電平;當(dāng) CPU 將 RAM 中的輸入數(shù)據(jù)全部讀出 時,IRQ 下降為低電平。 鍵盤掃描方式中,8279 輸入數(shù)據(jù)按下列格式存放: D7 D6 D5 D4 D3 D2 D1 D0 CNTL SHITF SCAN RETURN CNTL(D7):控制鍵 CNTL 的狀態(tài)。 SHITF(D6):控制鍵 SHITF 的狀態(tài)。 SCAN(D5D3):輸入鍵的行數(shù),由 SLO

48、SL2 的狀態(tài)確定。 RETURN(D2D0):指出輸入鍵的列數(shù),由 RL0RL7 狀態(tài)確定。 5顯示 RAM和顯示地址寄存器 8279 中有 16 個字節(jié)的顯示寄存器。CPU 將段數(shù)據(jù)寫入顯示存儲器,存儲的顯示 數(shù)據(jù)輪流從顯示寄存器輸出,CPU 將顯示數(shù)據(jù)寫入存儲器有左端送入和右端送入兩 種方式。左端送入為依次填入方式,右端送入為移位方式,顯示寄存器的輸出與顯 示掃描配合,不斷的將顯示 RAM 中的數(shù)據(jù)在顯示器上顯示出來,也可以合送一個 8 位的二進(jìn)制數(shù)據(jù)。 顯示地址寄存器用來寄存由 CPU 進(jìn)行讀/寫顯示 RAM 的地址,它可以由命令設(shè)定, 也可以設(shè)置成每次讀出或?qū)懭胫笞詣舆f增。 2.3

49、.3 鍵盤和數(shù)碼管 在本模塊中鍵盤向單片機(jī)芯片輸入用戶準(zhǔn)備設(shè)定的溫度值,顯示部分的數(shù)碼管 顯示設(shè)定的溫度值和實際溫度值?,F(xiàn)規(guī)定設(shè)定溫度值在 0到 99之間,故需要顯 示的數(shù)碼位數(shù)為兩位數(shù),需要的數(shù)碼管總數(shù)為 4,用于溫度設(shè)定的鍵盤采用 34 鍵 盤矩陣。 結(jié)合上述 8279 芯片的介紹,顯示電路采用譯碼掃描、4 字符顯示、左進(jìn)工作方 式,數(shù)碼管采用共陽極 LED 數(shù)碼管。掃描輸出 SL0SL 3已經(jīng)過譯碼,故可直接作為 4 個數(shù)碼管的選通信號,輪流刷新 4 個數(shù)碼管。OUTA 03 與 OUTB03 共同作為顯示輸 出,經(jīng) 74LS06 反相驅(qū)動后接至 LED 顯示器,每個輸出驅(qū)動一段,各個數(shù)

50、碼管相同的 段連接在一起。顯示內(nèi)容來自顯示 RAM。現(xiàn)規(guī)定第一位數(shù)碼管顯示設(shè)定溫度的十位 數(shù)字,第二位數(shù)碼管顯示設(shè)定溫度的個位數(shù)字,第三位數(shù)碼管顯示實際溫度的十位 數(shù)字,第四位顯示實際溫度的個位數(shù)字。鍵盤的 12 個鍵中,10 個鍵用于設(shè)定溫度 值的 0-9 這 10 個數(shù),一個鍵用于刪除輸入錯誤的數(shù)字,一個用于確定所輸入的溫度 值。按鍵及相關(guān)說明如表 2-3 所示: 表 2-3 按鍵及相關(guān)說明 行掃描信號 列掃描信號按鍵 SL2 SL1 SL0 RL3 RL2 RL1 RL0 鍵盤掃描數(shù) 據(jù) 鍵碼 S0 1 1 0 1 1 1 0 11000000 0 S1 1 0 1 1 1 1 0 11

51、001000 1 S2 0 1 1 1 1 1 0 11010000 2 S3 1 1 0 1 1 0 1 11000001 3 S4 1 0 1 1 1 0 1 11001001 4 S5 0 1 1 1 1 0 1 11010001 5 S6 1 1 0 1 0 1 1 11000010 6 S7 1 0 1 1 0 1 1 11001010 7 S8 0 1 1 1 0 1 1 11010010 8 S9 1 1 0 0 1 1 1 11000011 9 S10 1 0 1 0 1 1 1 11001011 10 S11 0 1 1 0 1 1 1 11010011 11 2.4 繼電器

52、控制模塊 本模塊主要是用來控制溫度高低,當(dāng)環(huán)境的溫度高于或低于設(shè)定的溫度值,繼 電器開始工作,進(jìn)行降溫或升溫以達(dá)到設(shè)定溫度值。繼電器模塊電路圖如圖 2-7 所 示 圖 2-7 繼電器模塊 2.4.1 繼電器接點說明 NC:常閉點,以 COM 為共同點,NC 與 COM 在平時是呈導(dǎo)通狀態(tài)的。 COM:共通點,輸出控制接點的共同接點。 NO:常開點,NO 和 COM 平時呈開路的狀態(tài),當(dāng)繼電器工作時,NO 和 COM 導(dǎo)通, NC 和 COM 則呈開路狀態(tài)。 在本設(shè)計中為了達(dá)到降溫或升溫的目的, 在單片機(jī)的 P1.1 和 P1.7 腳分別接 一個繼電器,一個繼電器的 2 腳和

53、3 腳間接加熱電爐另一個繼電器的 2 腳和 3 腳間 接風(fēng)扇,當(dāng)繼電器 P1 腳輸入一個低電平時,C8550B 處于截至狀態(tài),繼電器不工作, 當(dāng)給一個高電平時,由于磁場的吸合作用使得繼電器開始工作,同時 1 腳和 3 腳斷 開,2 腳和 3 腳接通。從外面可以看到發(fā)光二極管點亮,說明繼電器在正常的工作。 2.4.2 繼電器控制升溫 在單片機(jī)的 P1.1 接一個繼電器,繼電器的 3 腳和 2 腳間接加熱電爐, 當(dāng)繼電 器 P1 腳輸入一個低電平時,C8550B 處于截至狀態(tài),繼電器不工作,當(dāng)給一個高電 平時,由于磁場的吸合作用使得繼電器開始工作,同時 1 腳和 3 腳斷開,2 腳和 3 腳接通

54、說明此時電爐升溫。從外面可以看到發(fā)光二極管點亮,說明繼電器在正常的 工作。 2.4.3 繼電器控制降溫 在單片機(jī)的 P1.7 接一個繼電器,繼電器的 3 腳和 2 腳間接降溫風(fēng)扇, 當(dāng)繼電 器 P1 腳輸入一個低電平時,C8550B 處于截至狀態(tài),繼電器不工作,當(dāng)給一個高電 平時,由于磁場的吸合作用使得繼電器開始工作,同時 1 腳和 3 腳斷開,2 腳和 3 腳接通說明此時使用風(fēng)扇降溫。從外面可以看到發(fā)光二極管點亮,說明繼電器在正 常的工作。 3 系統(tǒng)軟件設(shè)計 3.1 系統(tǒng)主程序框圖 本系統(tǒng)的流程框圖中,Ts 設(shè)定溫度 Tr 實際溫度,系統(tǒng)主程序要做的主要工作 是上電后對系統(tǒng)初始化

55、和構(gòu)建系統(tǒng)整體軟件框架,主要完成 AT89C52 芯片、8279 芯 片和 DS18B20 的初始化,對繼電器、數(shù)碼顯示管的初始化,完成對鍵盤處理子程序、 18B20 子程序、顯示子程序的調(diào)用,并完成對溫度值的比較判斷,然后等待溫度設(shè)定, 若溫度已經(jīng)設(shè)定好了,判斷系統(tǒng)運行鍵是否按下,若系統(tǒng)運行,則依次調(diào)用各個相 關(guān)模塊,循環(huán)控制直到系統(tǒng)停止運行。如圖 3-1 所示(溫度處理中,允許最大的溫差 為 3) 圖 3-1 主程序框圖 3.2 鍵盤處理子程序框圖 鍵盤處理子程序流程框圖主要完成對鍵盤設(shè)置溫度值進(jìn)行處理,如圖 3-2 所示。 本課題中共需要設(shè)置兩位數(shù)字??驁D將數(shù)字位數(shù)送入 R1,將讀入的鍵

56、盤值送入緩 沖單元 28H,完成初始化后,循環(huán)判斷是否有按鍵,有,則讀入鍵碼值并將其轉(zhuǎn)換 成二進(jìn)制數(shù)并存儲在指定單元,計數(shù)器減 1,地址增 1;無,則返回繼續(xù)判斷是否 存在按鍵。 圖 3-2 鍵盤處理子程序框圖 3.3 DS18B20子程序框圖 DS18B20 子程序框圖主要完成對溫度傳感器 DS18B20 的初始化和從 18B20 中讀 出數(shù)據(jù)的操作,負(fù)責(zé)溫度信號的采集以及將采集到的模擬量通過 AD 轉(zhuǎn)換器轉(zhuǎn)化為 相應(yīng)的數(shù)字量提供給單片機(jī)。如圖 3-3 所示。單片機(jī)對 DS18B20 的數(shù)據(jù)引腳進(jìn)行 500uS 的低電平復(fù)位,并判斷復(fù)位是否成功。沒有成功則繼續(xù)進(jìn)行復(fù)位;復(fù)位成功 則進(jìn)行讀操

57、作。每一次對 DS18B20 進(jìn)行讀寫操作先必須依次經(jīng)過復(fù)位、ROM 指令。 圖 3-3 DS18B20子程序框 體會 單片機(jī)溫度控制系統(tǒng)采用了高性能的單片機(jī),其豐富的片內(nèi)源,使得外圍擴(kuò)展 器件少,體積小,降低了成本,也降低了故障率。 通過兩個多月的畢業(yè)設(shè)計,我對AT89C52系列單片機(jī)和數(shù)字溫度傳感器DB1280 有了初步了解,從中獲得了很多課堂上學(xué)習(xí)不到的知識,其中我對以下幾點有比較深 的體會: (1)電路的設(shè)計要細(xì)致認(rèn)真,對于使用芯片的特點要熟知。 (2)編程一定要規(guī)范,必要時應(yīng)加上注解。不要想當(dāng)然地定義某個變量、常量。 標(biāo)準(zhǔn)的定義方法和習(xí)慣,用助于其他程序員理解程序代碼,以便今后進(jìn)行維

58、護(hù)。 (3)查閱資料是必不可少的一個環(huán)節(jié),如果能找到與設(shè)計有關(guān)的合適參考文獻(xiàn), 將對所做的編程工作有極大的幫助,可以避免走許多不必要的彎路。在互聯(lián)網(wǎng)上搜 索相關(guān)資料,往往會有意想不到的驚喜,大大提高效率。 (4)程序編寫好后,對它的調(diào)試也是及其重要的一步。調(diào)試程序的意義在于,可 以逐步改正程序中的錯誤,努力使程序達(dá)到最佳的狀態(tài)。在調(diào)試的過程中應(yīng)該盡量 以普通用戶的思想去測試,而不是程序設(shè)計者。 這次畢業(yè)實習(xí)與畢業(yè)設(shè)計對我來講是一次難得實踐機(jī)會,在真正的工作中加深 了對專業(yè)知識的理解,積累了經(jīng)驗!無論是自己的意志品質(zhì)還是適應(yīng)社會的能力都 得到了磨練,為今后走向社會打下了堅實的基礎(chǔ)。 致 謝 在論

59、文完成之際,回顧大學(xué)的成長道路,我在學(xué)業(yè)和生活上得到了眾多老師、 同學(xué)和朋友們的熱心幫助和大力支持。在此,我要向你們表示我最誠摯的謝意! 本論文是在林剛勇教授的悉心指導(dǎo)下完成的,在此我首先對林教授表示誠摯的 謝意。 在我的整個學(xué)習(xí)階段,無論在專業(yè)學(xué)習(xí),還是在課題研究和論文撰寫上,林 教授都給予了極大的關(guān)心、指導(dǎo)和鼓勵。林教授求真務(wù)實的治學(xué)精神、淵博的知識、 豐富的實踐經(jīng)驗、勇于開拓的科學(xué)精神和平易近人的態(tài)度,是我終身難忘,并將深 深影響我以后的工作和學(xué)習(xí),再次感謝林教授對我不倦的栽培! 在畢業(yè)設(shè)計期間,教研組的所有老師都給予我非常大的關(guān)心和指導(dǎo),感謝你們。 使我能順利的完成畢業(yè)論文。 最后感謝

60、所有對我有過幫助在我人生中知遇的許許多多匆匆過客,愿他們能心 想事成! 參考文獻(xiàn) 1 秦實宏,徐春輝. MCS-51 單片機(jī)原理及應(yīng)用M . 武漢:華中科技大學(xué)出版社, 2010. 2 陳明熒. 8051 單片機(jī)課程設(shè)計實訓(xùn)教材M . 北京:清華大學(xué)出版,2004. 3 凌玉華. 單片機(jī)原理與應(yīng)用系統(tǒng)設(shè)計M . 長沙: 中南大學(xué)出版社,2006. 4 李軍. 檢測技術(shù)及儀表M . 北京:中國輕工業(yè)出版社,2002. 5 欒桂東,金歡陽. 傳感器及其應(yīng)用M . 西安:西安電子科技大學(xué),2002. 6 康華光. 電子技術(shù)基礎(chǔ)模擬部分(第四版)M.北京:高等教育出版社,1999. 7 譚浩強(qiáng). C

61、程序設(shè)計(第三版)M.北京:清華大學(xué)出版社.2005-7-3. 8 侯玉寶. 基于 Proteus 的 51 系列單片機(jī)設(shè)計與仿真M.電子工業(yè)出版社. 2008 9 劉鳴,車立新,陳興梧,趙煜. 溫度傳感器 DS18B20 的特性及程序設(shè)計方法J. 電測與儀表,2001,(10). 10 周月霞,孫傳友. DS18B20 硬件連接及軟件編程J. 傳感器世界,2001,(12) 11 陳濤. DS18B20 芯片與單片微控制器的接口設(shè)計與應(yīng)用J. 山東煤炭科技. 2002,(03). 12 陳躍東. DS18B20 集成溫度傳感器原理及其應(yīng)用J. 安徽工程科技學(xué)院學(xué)報, 2002(04). 附

62、錄 單片機(jī)內(nèi)存分配申明: TEMPES EQU 27H ;用于保存設(shè)定溫度值 TEMPER_L EQU 29H ;用于保存實際溫度 Tr 的低 8 位 TEMPER_H EQU 28H ;用于保存實際溫度 Tr 的高 8 位 FLAG1 EQU 38H ;是否檢測到 DS18B20 標(biāo)志未 LO EQU #0F60H ;定時器低字節(jié) HI EQU #0F6H ;定時器高字節(jié) FLAG2 EQU 39H ;按鍵標(biāo)志位 A_BIT EQU 20H ;數(shù)碼管實際溫度 Tr 個位數(shù)存放位置 B_BIT EQU 21H ;數(shù)碼管實際溫度 Tr 十位數(shù)存放位置 C_BI

63、T EQU 18H ;數(shù)碼管設(shè)定溫度 Ts 個位數(shù)存放位置 D_BIT EQU 19H ;數(shù)碼管設(shè)定溫度 Ts 十位數(shù)存放位置 SDWD EQU 30H ;轉(zhuǎn)換后的設(shè)置溫度 SJWD EQU 31H ;轉(zhuǎn)換后的實際溫度 SW1 EQU P1.1 ;繼電器 1 控制引腳,加熱繼電器 SW2 EQU P1.7 ;繼電器 2 控制引腳,降溫繼電器 DS18 EQU P1.0 ;DS18B20 的數(shù)據(jù)引腳 SJK EQU FFE8H ;8279 的數(shù)據(jù)口 MLK EQU FFEAH ;8279 的命令口 8CLK EQU ALK ;8279 的時鐘信號輸入端 ORG 00H JMP MAIN ORG

64、0BH MAIN: CLR SW1 ;關(guān)繼電器 1 CLR SW2 ;關(guān)繼電器 2 MOV A_BIT,#0 MOV B_BIT,#0 MOV C_BIT,#0 MOV D_BIT,#0 MOV TEMPES,#0 MOV TEMPER_L,#0 MOV TEMPER_H,#0 INIT_1820:SETB DS18 NOP CLR DS18 ;主機(jī)發(fā)出延時 537 微妙的復(fù)位低脈沖 MOV R1,#3 TER1:MOV R0,#107 DJNZ R0,$ DJNZ R1,TSR1 SETB DS18 ;拉高數(shù)據(jù)線 NOP NOP NOP NOP MOV R0,#25H TSR2: J

65、NB DS18,TSR3 ;等待 DS18B20 回應(yīng) DJNZ R0,TSR2 ;延時 LJMP TSR4 TSR3: SETB FLAG1 ;置標(biāo)志位,表示 DS18B20 存在 LJMP TSR5 TSR4: CLR FLAG1 ;清標(biāo)志位,表示 DS18B20 不存在 LJMP TSR7 TSR5: MOV R0,#117 TDR6: DJNZ R0,TSR6 ;時序要求延時一端時間 TSR7: SETB DS18 RET LP: MOVX A, DPTR JB ACC.7,LP MOV A,#2AH ;S 時鐘十分頻成 100KHz MOVX DPTR,A MOVX DPTR,#DI

66、SHBH ;提示符 0000 代碼首地址 LCALL DIS MOV 27H,#80H SETB IT SETB EA SETB EX1 INIT_TIMTR:MOV TMOD,#22H ;定時器初始化,使用定時器 0 模式 2 MOV IE,#00H ;啟用定時器 0 中斷產(chǎn)生 MOV TL0,#L0 ;加載低字節(jié) MOV TH0,#HI ;加載高字節(jié) SETB TR0 ;啟動定時器 0 開始記時 SETB EA SETB ET0 JNB TF0,$ CPL 8CLK MOV SP,#60H CLR EA MOV DPTR,#MLK MOV A, #0D1H MOVX DPTR,A ZHUCHXU:LCALL JPCL LCALL DISPLAY AA: LCALL GET_TEMPER MOV A,SJWD ;溫度比較 CJNE A,SDWD,PD XD: LCALL DISPLAY LJMP ZHUCHXU PD: JC PD1 SUB A,3 CJNE A,SDWD,PD2 LCALL XD PD2: JNC JW LCALL XD PD1: ADD A,#3 CJNE A,S

展開閱讀全文
溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!