【正文】
1 1 12 750 指 令 代 碼 Read ROM(讀 ROM) [33H] 陜西教育學院高等專科學校畢業(yè)設計(論文) 第 頁 11 (3)存儲器操作 命令如表 : 表 存儲器操作命令 (4)時序 主機使用時間隙(time slots)來讀寫 DS18B20的數據位和寫命令字的位 ①初始化 圖 初始化時序 時序見圖 ,主機總線 to時刻發(fā)送一復位脈沖 (最短為 480us 的低電平信號 ),接著在 tl時刻釋放 總線 并進入接收狀態(tài)。如圖中虛線所示: ② 寫時間隙 Match ROM(匹配 ROM) [55H] Skip ROM(跳過 ROM] [CCH] Search ROM(搜索 ROM) [F0H] Alarm search(告警搜索 ) [ECH] 指令 代碼 Write Scratchpad(寫暫存存儲器 ) [4EH] Read Scratchpad(讀暫存存儲器 ) [BEH] Copy Scratchpad(復制暫存存儲器 ) [48H] Convert Temperature(溫度變換 ) [44H] Recall EPROM(重新調出 ) [B8H] Read Power supply(讀電源 ) [B4H] 陜西教育學院高等??茖W校畢業(yè)設計(論文) 第 頁 12 圖 寫 0 時序 圖 寫 1 時序 當主機總線 t o 時刻從高拉至低電平時,就產生寫時間隙見圖 和圖。若低電平,寫入的位是 0。若高電平寫入的位是 1見圖 。 ③讀時間隙 見圖 ,主機總線 to時刻從高拉至低電平時,總線只須保持低電平 l us。也就是說 t 2 時刻前主機必須完成讀位,并在 t o 后的60us一 120us內釋放總線,讀位子程序 (讀得的位到 C中 )。當主機需要對眾多在線 DS18B20的某一個進行操作時,首先要發(fā)出匹配 ROM 命令 (55H),緊接著主機提供 64 位序列 (包括該DS18B20 的 48 位序列號 )。而所謂跳過 ROM命令即: MOV A,0CCH。在 DS18B20 組成的測溫系統(tǒng)中,主機在發(fā)出跳過 ROM命令之后,再發(fā)出統(tǒng)一的溫度轉換啟動碼 44H,就可以實現所 有 DS18B20的統(tǒng)一轉換,再經過 1s后,就可以用很少的時間去逐一讀取。(由于采取公用的放大電路和 A/D 轉換器只能逐一轉換)。 DS1820使用中注意事項 DS1820雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點 ,但在實際應用中也應注意以下幾方面的問題: (1)較小的硬件開銷需要相對復雜的軟件進行補償 ,由于 DS1820 與微處理器間采用串行數據傳送 ,因此 ,在對 DS1820進行讀寫編程時 ,必須嚴格的保證讀寫初始化 跳過 ROM 變換溫度 等待 1S 初始化 設置 1820 個數 匹配 ROM 讀存儲器 存放在緩沖區(qū)指針增 1 初始化 b1=0? 否 是 陜西教育學院高等??茖W校畢業(yè)設計(論文) 第 頁 14時序 ,否則將無法讀取測溫結果。 (2)在 DS1820的有關資料中均未提及單總線上所掛 DS1820數量問題 ,容易使人誤認為可以掛任意多個 DS1820,在實際應用中并非如此。 (3)連接 DS1820 的總線電纜是有長度限制的。當將總 線電纜改為雙絞線帶屏蔽電纜時 ,正常通訊距離可達 150m,當采用每米絞合次數更多的雙絞線帶屏蔽電纜時 ,正常通訊距離進一步加長。因此 ,在用 DS1820進行長距離測溫系統(tǒng)設計時要充分考慮總線分布電容和阻抗匹配問題。這一點在進行 DS1820硬件連接和軟件設計時也 要給予一定的重視。 穩(wěn)壓電源 7805 7805管腳圖 如圖 : 各部分電路說明 在本設計中,采用了 AT89C51單片機作為本電路的核心電路的設計。 AT89C2051 是一種帶 2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機。該器件采用 ATMEL 高密度非易圖 陜西教育學院高等專科學校畢業(yè)設計(論文) 第 頁 15失存儲器制造技術制造,與工業(yè)標準的 MCS51指令集和輸出管腳相兼容。 AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 該反向放大器可以配置為片內振蕩器。如采用外部時鐘源驅動器件, XTAL2應不接。 ( 2)單片機 芯片 的 擦除: 整個 PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平 10ms 來完成。 AT89C51 的 穩(wěn)態(tài)邏輯可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。但 RAM,定時器,計數器,串口和中斷系統(tǒng)仍在工作。 ( 3)單片機的時鐘電路 圖 片內振蕩電路的時鐘電路 AT89C1 單片機內部的振蕩電路是一個高增益反向放大器,引線 XTAL1 和XTAL2分別是放大器的輸入端和輸出端。 AT89C51的時鐘產生方式有兩種:內部時鐘電方式和外部時鐘方式。即利用其內部的振蕩電路在 XTAL1和 XTAL2引線上外接定時元件,內部振蕩電路產生自激振蕩。 陜西教育學院高等??茖W校畢業(yè)設計(論文) 第 頁 16( 4)單片機的復位電路 本設計中 AT89C51 是采用上電自 動復位和按鍵復位兩種方式。上電瞬間, RC電路充電, RST引線端出現正脈沖,只要 RST端保持 10ms 以上的高電平,就能使單片機有效地復位。 ( 5) AT89C51 的最小應用系統(tǒng) AT89C51是片內有程序存儲器的單片機,要構成最小應用系統(tǒng)時只要將單片機接上外部的晶體或時鐘電路和復位電路即可,如圖 所示。 圖 AT89C51 單片機構成的最小系 傳感器數據采集電路主要指 DS18B20 溫度傳感器與單片機的接口電路。另一種是寄生電源供電方式,如圖 所示單片機端口接單線總線,為保證在有效的 DS18B20 時鐘周期內提供足夠的電流,可用一個 MOSFET 管來完成對總線的上拉。采用寄生電源供電方式時 VDD 端接地??紤]到實際應用中寄生電源供電方式適應能力差且易損壞,此處采用電源供電方式, I/O口接單片機的 。如圖 : 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m be r R e v i s i o nS i z eBD a t e : 2 7 J u n 2 0 06 S he e t o f F i l e : J : \ x l \溫度計 \溫度計 . d db D r a w n B y:R11kR21kR34 70R44 . 7 kC12 2uC22 2uC33 0pC43 0pbs ou n dV T I8 55 0Y1C R Y S T A LR54 70V C CE A / V P31X119X218R E S E T9RD17WR16I N T 012I N T 113T014T115P 101P 112P 123P 134P 145P 156P 167P 178P 0039P 0138P 0237P 0336P 0435P 0534P 0633P 0732P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728P S E N29A L E / P30T X D11R X D10U18 05 1GND1I/O2VDD3T1D S 18 B 2 0R64 . 7 KV C Ca b c d e f hdpab cdefgdpcom9L E D 4L E Da b c d e f hdpab cdefgdpcom9L E D 3L E Da b c d e f hdpab cdefgdpcom9L E D 2L E DD2L E DD1L E DS3S W P BS4S W P BS2S W P BS5SWPBS1S W P BV C CIN1GND2OUT3WD 7 80 5C51 00 uC61 0p1GND2V C C3J1J1GNDV C C1 2 3 4 5 6 7 8 9J24 . 7 KAAA A A BBBBBCCC C C DDDDDEEE E E FFFFFGGG GV C CQ1N P NQ2N P NB1C2E3Q3N P NR74 . 7 KR94 . 7 KR 1 14 . 7 KR83 00R 1 03 00R 1 23 00123123010203V C C010203G 圖 顯示電 路 陜西教育學院高等??茖W校畢業(yè)設計(論文) 第 頁 18 主板電路 R11kC222uC330pC430pY1C R Y S T A LV C CE A / V P31X119X218R E S E T9RD17WR16I N T 012I N T 113T014T115P 101P 112P 123P 134P 145P 156P 167P 178P 0039P 0138P 0237P 0336P 0435P 0534P 0633P 0732P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728P S E N29A L E / P30T X D11R X D10U1805 1S5S W P BV C C 圖 主板電路 系統(tǒng)整體硬件電路包括傳感器數據采集電路,溫度顯示電路,上下限報警調整電路,單片機主板電路,電源電路等。圖中蜂鳴器可以在被測溫度不在上下限范圍內時,發(fā)出報警鳴叫聲音。 圖 中的按健復位電路是上電復位加手動復位,使用比較方便,在程序跑飛時,可以手動復位,這樣就不用在重起單片機電源,就可以實現復 位。 開始 溫度比較子程序 是否超出上下限 返 回 圖 主程序流程 主程序 主程序的主要功能是負責溫度的實時顯示、讀出并處理 DS18B20 的測量的當前溫度值,溫度測量每 1s 進行一次。 讀出 溫度子程序 讀出溫度子程序的主要功能是讀出 RAM 中的 9 字節(jié),在讀出時需進行 CRC校驗,校驗有錯時不進行溫度數據的改寫。溫度轉換命令子程序流程圖,如圖 圖 溫度轉換流程圖 發(fā) DS18B20復位命令 發(fā)跳過 ROM命令 發(fā)溫度轉換開始命令