【文章內(nèi)容簡(jiǎn)介】
。開(kāi)漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。 3 VDD 可選擇的 VDD 引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。 湖南科技大學(xué)本科生課程設(shè)計(jì) 11 必須發(fā)出 [44h]命令。在那之后,產(chǎn)生的溫度數(shù)據(jù)以兩個(gè)字節(jié)的形式被存儲(chǔ)到高速暫存器的溫度寄存器中, DS18B20 繼續(xù)保持等待狀態(tài)。當(dāng) DS18B20由外部電源供電時(shí),總線控制器在溫度轉(zhuǎn)換指令之后發(fā)起“讀時(shí)序”,DS18B20 正在溫度轉(zhuǎn)換中返回 0,轉(zhuǎn)換結(jié)束返回 1。 DS18B20 中的溫度傳感器完成對(duì)溫度的測(cè)量,用 16 位二進(jìn)制形式提供,形式表達(dá),其中頭五位 S 為符號(hào)位。如:+ ℃的數(shù)字輸出為0000 0001 1110 0001(正溫度直接把二進(jìn)制數(shù)轉(zhuǎn)成十進(jìn)制乘以單位溫度即得到溫度值,對(duì)于負(fù)溫度則取反加 1 后把二進(jìn)制數(shù)轉(zhuǎn)成十進(jìn)制)。 DS18B20 的存儲(chǔ)器有一個(gè)暫存 SRAM 和一個(gè)存儲(chǔ)高低報(bào)警觸發(fā)值 TH 和TL 的非易失性電可擦除 EEPROM 組成。注意當(dāng)報(bào)警功能不使用時(shí), TH 和 TL寄存器可以被當(dāng)作普通寄存器使用。所有的存儲(chǔ)器指令被詳述于 DS18B20功能指令節(jié)。位 0 和位 1 為測(cè)得溫 度信息的 LSB 和 MSB。這兩個(gè)字節(jié)是只讀的。第 2 和第 3 字節(jié)是 TH和 TL 的拷貝。位 4 包含配置寄存器數(shù)據(jù),其被詳述于配置寄存器節(jié)。位 5, 6 和 7 被器件保留,禁止寫(xiě)入;這些數(shù)據(jù)在讀回時(shí)全部表現(xiàn)為邏輯 1。 EPROM 寄存器中的數(shù)據(jù)在器件掉電時(shí)仍然保存;上電時(shí),數(shù)據(jù)被載入暫存器。數(shù)據(jù)也可以通過(guò)召回 EEPROM 命令從暫存器載入 EEPROM??偩€控制器在發(fā)出這條命令后發(fā)出讀時(shí)序, DS18B20 返回 0 表示正在召回中,返回 1 表示操作結(jié)束。 存儲(chǔ)器的第 4 位為配置寄存器。上電默認(rèn)設(shè)置位 6: R0=1:位 5: R1=1。精度和轉(zhuǎn)換時(shí)間之間 有直接的關(guān)系。暫存器的位 7(為 0)和位 0~4(為 1)被器件保留,禁止寫(xiě)入。即 12 位精度時(shí)存儲(chǔ)器狀態(tài)為 0111 1111 在讀回?cái)?shù)據(jù)時(shí),它們?nèi)勘憩F(xiàn)為邏輯 1。 DS18B20 完成一次溫度轉(zhuǎn)換后,就拿溫度值與和存儲(chǔ)在 TH 和 TL中一個(gè)字節(jié)的用戶自定義的報(bào)警預(yù)置值進(jìn)行比較。標(biāo)志位( S)指出溫度值的正負(fù):正數(shù) S=0,負(fù)數(shù) S=1。 TH 和 TL 寄存器是非易失性的,所以它們?cè)诘綦姇r(shí)仍然保存數(shù)據(jù)。當(dāng) TH 和 TL 為 8 位寄存器時(shí), 4 位溫度寄存器中的 11個(gè)位用來(lái)和 TH、 TL 進(jìn)行比較。如果測(cè)得的溫度高于 TH 或低于 TL,報(bào)警條件成立, DS18B20 內(nèi)部就會(huì)置位一個(gè)報(bào)警標(biāo)識(shí)。每進(jìn)行一次測(cè)溫就對(duì)這個(gè)標(biāo)識(shí)進(jìn)行一次更新;因此,如果報(bào)警條件不成立了,在下一次溫度轉(zhuǎn)換后湖南科技大學(xué)本科生課程設(shè)計(jì) 12 報(bào)警標(biāo)識(shí)將被移去。總線控制器通過(guò)發(fā)出報(bào)警搜索命令 [ECh]檢測(cè)總線上所有的 DS18B20 報(bào)警標(biāo)識(shí)。任何置位報(bào)警標(biāo)識(shí)的 DS18B20 將響應(yīng)這條命令,所以總線控制器能精確定位每一個(gè)滿足報(bào)警條件的 DS18B20。如果報(bào)警條件成立,而 TH 或 TL 的設(shè)置已經(jīng)改變,另一個(gè)溫度轉(zhuǎn)換將重新確認(rèn)報(bào)警條件。 其內(nèi)部結(jié)構(gòu)如圖 : 圖 DS18B20 內(nèi)部結(jié)構(gòu)示意圖 因?yàn)橐痪€通信接口,必須在先完成 ROM 設(shè)定,否則記憶和控制功能將無(wú)法使用。主要首先 DS18B20 提供以下功能命令之一:讀 ROM, ROM 匹配,搜索 ROM,跳過(guò) ROM,報(bào)警檢查。若指令成功地使 DS18B20 完成溫度測(cè)量,數(shù)據(jù)存儲(chǔ)在 DS18B20 的存儲(chǔ)器。一個(gè)控制功能指揮指示 DS18B20 的演出測(cè)溫。測(cè)量結(jié)果將被放置在 DS18B20 內(nèi)存中,并可以讓閱讀發(fā)出記憶功能的指揮,閱讀內(nèi)容的片上存儲(chǔ)器。溫度報(bào)警觸發(fā)器 TH和 TL 都有一字節(jié) EEPROM的數(shù)據(jù)。如果 DS18B20 不使用報(bào)警檢查指令,這些寄存器可作 為一般的用戶記憶用途。在片上還載有配置字節(jié)以理想的解決溫度數(shù)字轉(zhuǎn)換。寫(xiě) TH,TL 指令以及配置字節(jié)利用一個(gè)記憶功能的指令完成。所有的數(shù)據(jù)的讀、寫(xiě)64位ROM和單總線端口 存儲(chǔ)器和控制邏輯 存儲(chǔ)器 溫度傳感器 上觸發(fā) TH 下觸發(fā) LH 高速暫存器 8 位 CRC 產(chǎn)生器 DQ 內(nèi)部 Vdd Vdd 電源檢測(cè) 湖南科技大學(xué)本科生課程設(shè)計(jì) 13 都是從最低位開(kāi)始。讀 /寫(xiě)時(shí)序 DS18B20 的數(shù)據(jù)讀寫(xiě)是通過(guò)時(shí)序處理位來(lái)確認(rèn)信息交換的。 其與單片機(jī)的連接電路如圖 : 112233445566D DC CB BA AT i t l eN um be r R e vi s i onS i z eBD a t e : 20xx/ 5/ 22 S he e t of F i l e : G : \新建文件夾 \ c \ S H E E T C H D O C D r a w n B y :123456789H e a de r 9P5P 00P 01P 02P 03P 04P 05P 06P 07P 10P 20P 21P 22P 23P 34P 35P 36P 37V C CV C C12X T A LY1C8C910KR 1512L19012Q1K2V C C1KR 121KR 1010uFC7V C CB e l lL S 1 V C CDQ2GND1V C C3D S 18B 20U0R 11V C CP 34r s tA T 89S 52P 101P 112P 123P 134P 145P 156P 167P 178R E S E T9P 3010P 3111P 3212P 3313P 3414P 3515P 3616P 3717X T A L 218X T A L 119GND20P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728P S E N29A L E / P R O G30E A / V P P31P 0732P 0633P 0534P 0435P 0336P 0237P 0138P 0039V C C40U3圖 : DS18B20 數(shù)字溫度計(jì)與 AT89S52 單片機(jī)的連接 其它部分硬件電路 LED 顯示電路 LED 數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管,通過(guò)對(duì)其不同的管腳輸入相對(duì)的電流,會(huì)使其發(fā)亮,從而顯示出數(shù)字??梢燥@示 :時(shí)間、日期、溫度等可以用數(shù)字代替的參數(shù)。 數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“ 8”可分為 1 位、 2 位、 4 位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管。共陽(yáng)極數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極 (COM)的數(shù)碼管。共陽(yáng)極數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM 接到 +5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。 動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的 8個(gè)顯示筆劃 a,b,c,d,e,f,g,dp的同名湖南科技大學(xué)本科生課程設(shè)計(jì) 14 端連在一起,另外為每個(gè)數(shù)碼管的公共極 COM 增加位選通控制電路,通過(guò)由各自獨(dú)立的 I/O 線控制,當(dāng)單片機(jī)的 P0 口輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì) 位選通 COM 端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的 COM 端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。 在本設(shè)計(jì)中采用了 四位八段數(shù)碼管,用動(dòng)態(tài)驅(qū)動(dòng)來(lái)顯示溫度的值,如圖 所示: 112233445566D DC CB BA AT i t l eN um be r R e vi s i onS i z eBD a t e : 20xx/ 5/ 15 S he e t of F i l e : J : \郭衍璋 \ ..\ S H E E T C H D O C D r a w n B y :7S E Ga11b7c4d2e1f10g5dp3c112c29c38c46S M 1R2P 00Q2 Q3 Q4 Q51KR 171KR 181KR 191KR 20V C CP 21 P 22 P 23P 20R3R4R6R7R7R8R9P 01 P 02 P 03 P 04 P 05 P 06 P 07 圖 LED 顯示電路圖 按鍵電路 除去復(fù)位按鍵及繼電器外,系統(tǒng)的鍵盤(pán)共有三個(gè)按鍵,判斷 K3~ K5鍵是否按下,可采用軟件查詢和中斷的方法,當(dāng)某個(gè)鍵按下時(shí),低電平有效。 3 個(gè)鍵 K3~ K5 的功能定義如表所示: 表 K3~ K5鍵的定義 按鍵 鍵名 功能 湖南科技大學(xué)本科生課程設(shè)計(jì) 15 K3 功能轉(zhuǎn)換鍵 地信號(hào)此鍵按下,顯示溫度設(shè)定值,按鍵松開(kāi),顯示當(dāng)前溫度開(kāi)漏單總線接口引腳。 K4 加 1 鍵 設(shè)定溫度值加 1 K5 減 1 鍵 設(shè)定溫度值減 1 112233445566D DC CB BA AT i t l eN um be r R e vi s i onS i z eBD a t e : 20xx/ 5/ 15 S he e t of F i l e : J : \郭衍璋 \ ..\ S H E E T C H D O C D r a w n B y :K3K4K5P 35P 36P 37 圖 按鍵電路 報(bào)警與控制電路 在微型計(jì)算機(jī)控制系統(tǒng)中,為了安全生產(chǎn),對(duì)于一些重要的參數(shù)或系統(tǒng)部位,都設(shè)有緊急狀態(tài)報(bào)警系統(tǒng),以便提醒操作人員注意,或采取緊急措施。其方法就是把計(jì)算機(jī)采集的數(shù)據(jù)或記過(guò)計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理、數(shù)字濾波、標(biāo)度變換之后,與該參數(shù)設(shè)定值進(jìn)行比較。如果高于設(shè)置值 1 度則進(jìn)行報(bào)警,否則就作為采樣的正常值,進(jìn)行顯示和控制。同樣水箱內(nèi)的溫度超出低高設(shè)定的溫度范圍內(nèi)時(shí) 輸出高電平“ 0”時(shí),晶體管導(dǎo)通,壓電蜂鳴器兩端獲得約 +5V 電壓而鳴叫,出報(bào)警聲音;單片機(jī)的 輸出低電平,此時(shí)紅 色指示燈滅,直到低于設(shè)定的最高溫度時(shí), 輸出高時(shí),三極管截止,蜂鳴器停止發(fā)聲, 輸出電平高電平,發(fā)光二極管亮。低于設(shè)置數(shù)