【正文】
三個(gè)字節(jié)是保留的。該字節(jié)各位的定義如圖 3 所示。 DS18B20 在出廠時(shí)默認(rèn)配置為 12 位,其中最高位為符號(hào)位,即溫度值共 11 位,單片機(jī)在讀取數(shù)據(jù)時(shí),一次會(huì)讀 2 字節(jié)共 16 位,讀完后將低 11 位的二進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù)后在乘以 便為所測(cè)的實(shí)際溫度值。另外,還需要判斷溫度的正負(fù)。前 5 個(gè)數(shù)字為符號(hào)位,這五位同時(shí)變化,我們只需要判斷 11 位就可以了。前 5 位為 1 時(shí),讀取的溫度為負(fù)值,且測(cè)到的數(shù)值需要取反加 1 再乘以 才可得到實(shí)際溫度值。前 5位為 0 時(shí),讀取的溫度值為正值,且溫度為正值時(shí),只要將測(cè)得的數(shù)值乘以 即可得到實(shí)際溫度值。用戶要去改動(dòng), R1 和 R0 決定溫度轉(zhuǎn)換的精度位數(shù),來(lái)設(shè)置分辨率。 (1)可通過數(shù)據(jù)線供電,電壓范圍為 ~; (2)獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信; (3)多個(gè) DS18B20 可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能; (4)在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi); (5)零待機(jī)功耗; (6)溫度以 9 或 12 位數(shù)字; (7)用戶可定義報(bào)警設(shè)置; (8)報(bào)警搜索命令識(shí)別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件; (9)負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作 。 DS18B20 的測(cè)溫原理是這這樣的 ,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小, 用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器 1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器 2的脈沖輸入。器件中還有一個(gè)計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí), DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將- 55℃所對(duì)應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器 溫度寄存器中,計(jì)數(shù)器 1 和溫度寄存器被預(yù)置在- 55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。 廣東技術(shù)師范學(xué)院天河學(xué)院本科畢業(yè)論文(設(shè)計(jì)) 14 減法計(jì)數(shù)器 1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器 1的預(yù)置值減到 0時(shí),溫度寄 存器的值將加 1,減法計(jì)數(shù)器 1的預(yù)置將重新被裝入,減法計(jì)數(shù)器 1重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器計(jì)數(shù)到 0時(shí),停止溫度寄存器的累加,此時(shí)溫度寄存器中的數(shù)值就是所測(cè)溫度值。其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)器門仍未關(guān)閉就重復(fù)上述過程,直到溫度寄存器值大致被測(cè)溫度值。 DS18B20 采用 3 腳 PR- 35 封裝或 8 腳 SOIC 封裝,其內(nèi)部結(jié)構(gòu)框圖如 圖 所示。 圖 DS18B20 內(nèi)部結(jié)構(gòu) LED 顯示 單片機(jī)應(yīng)用系統(tǒng)中使用的顯示器主要有發(fā)光二 極管顯示器,簡(jiǎn)稱 LED;液晶顯示器,簡(jiǎn)稱 LCD。前者價(jià)廉,配置靈活,與單片機(jī)接口方便;后者可進(jìn)行圖形顯示,但接口復(fù)雜,成本較高。 結(jié)合本設(shè)計(jì)的特點(diǎn),在這里系統(tǒng)的顯示采用發(fā)光二極管作為顯示器件。 單片機(jī)中使用 7 段 LED 構(gòu)成字形“ 8”,另外,還與一個(gè)小數(shù)點(diǎn)發(fā)光二極管 用 以顯示數(shù)字、符號(hào)及小數(shù)點(diǎn)。這種顯示器有共陰極和共陽(yáng)極兩種,如圖 所示。發(fā)光二極管的陽(yáng)極連在一起稱為共陽(yáng)極顯示器,陰極連在一起的稱為共陰極顯示器。一位顯示器由八個(gè)發(fā)光二極管組成,其中, 7 個(gè)發(fā)光二極管構(gòu)成字形“ 8”的各個(gè)筆劃(段) ag,另一個(gè)小數(shù)點(diǎn) 為 dp 發(fā)光二極管。當(dāng)在某段發(fā)光二極管施加一定的正向電壓是,該段筆劃即點(diǎn)亮;不加電壓則該段二極管不亮。為了保護(hù)各段 LED 不被損壞,需要外加限流電C 64 位 ROM 和 單 線 接 口 高速緩存 存儲(chǔ)器與控制邏輯 溫度傳感器 高溫觸發(fā)器 TH 低溫觸發(fā)器 TL 配置寄存器 8 位 CRC 發(fā)生器 Vdd MCS51 單片機(jī)測(cè)溫系統(tǒng)的設(shè)計(jì) 15 阻。 圖 數(shù)碼管 如果要顯示某個(gè)字形,則應(yīng)使此字形的相應(yīng)段點(diǎn)亮,也即送一個(gè)不同的電平組合代表的數(shù)據(jù)來(lái)控制 LED 的顯示字形,此數(shù)據(jù)稱為字符的段碼。數(shù)據(jù)字位數(shù)與 LED 段碼的關(guān)系如表 33 所示。 表 33 數(shù)碼管各段與輸出口各位的對(duì)應(yīng)關(guān)系 輸出口各位 D7 D6 D5 D4 D3 D2 D1 D0 數(shù)碼管各段 dp g f e d c b a 如使用共陽(yáng)極數(shù)碼 管,數(shù)據(jù)為 0 表示對(duì)應(yīng)字段亮,數(shù)據(jù)為 1 表示對(duì)應(yīng)字段暗;如使用共陰極數(shù)碼管,數(shù)據(jù)為 0 表示對(duì)應(yīng)字段暗,數(shù)據(jù)為 1 表示對(duì)應(yīng)字段亮。如要顯示“ 0”,共陽(yáng)極數(shù)碼管的字型編碼應(yīng)為: 11000000B(即 C0H);共陰極數(shù)碼管的字型編碼應(yīng)為:00111111B( 3FH)。依次類推,可求得數(shù)碼管字型編碼如表 34 所 示。 本設(shè)計(jì)顯示采用 LED 串行靜態(tài)顯示。 MCS51 系列單片機(jī)的串行口 RXD, TXD 為一個(gè)全雙工串行通信口,當(dāng)工作在方式 0下可作同步移位寄存器用,其數(shù)據(jù)由 RXD( )端串行輸入或輸出;而同步移位時(shí)鐘由 TXD( ) 串行輸出,在同步時(shí)鐘的作用下,實(shí)現(xiàn)由串行到并行的數(shù)據(jù)通信。在不需要使用串行通信的場(chǎng)合,利用串行口加外圍芯片74LS164 就可以構(gòu)成一個(gè)或多個(gè)并行輸入 /輸出口,用于顯示器 LED 驅(qū)動(dòng)。 波特率(每秒傳輸?shù)奈粩?shù))固定在 fosc/12,即當(dāng)晶振為 12MHZ 時(shí),波特率為 1MBPS。 在 CPU 將數(shù)據(jù)寫入 SBUF 寄存器后,立即啟動(dòng)發(fā)送。待 8 位數(shù)據(jù)輸完后,硬件將狀態(tài)寄存器的 TI位置 1, TI 必須由軟件清零。 單片機(jī)與 4 片串入并出移位寄存器 74LS164 相連。其中,RXD 作為 164 的數(shù)據(jù)輸入, TXD 作為 4 片 164 的同步時(shí)鐘。 程序運(yùn)行時(shí),單片機(jī)將 4廣東技術(shù)師范學(xué)院天河學(xué)院本科畢業(yè)論文(設(shè)計(jì)) 16 個(gè)數(shù)碼管的段碼( 4 個(gè)字節(jié))連續(xù)發(fā)送出來(lái),通過串行口送給 164。 4 位字型碼送完后,TXD 保持高電平。此時(shí)每片 164 的并行輸出口將送出保存在內(nèi)部移位寄存器中的 8 位的段碼給數(shù)碼管,令數(shù)碼管穩(wěn)定地顯示所需的字符。 表 34 數(shù)碼管字型編碼表 字型 共陽(yáng)極 共陰極 dp g f e d c b a 字型碼 dp g f e d c b a 字型碼 0 1 1 0 0 0 0 0 0 C0H 0 0 1 1 1 1 1 1 3FH 1 1 1 1 1 1 0 0 1 F9H 0 0 0 0 0 1 1 0 06H 2 1 0 1 0 0 1 0 0 A4H 0 1 0 1 1 0 1 1 5BH 3 1 0 1 1 0 0 0 0 B0H 0 1 0 0 1 1 1 1 4FH 4 1 0 0 1 1 0 0 1 99H 0 1 1 0 0 1 1 0 66H 5 1 0 0 1 0 0 1 0 92H 0 1 1 0 1 1 0 1 6DH 6 1 0 0 0 0 0 1 0 82H 0 1 1 1 1 1 0 1 7DH 7 1 1 1 1 1 0 0 0 F8H 0 0 0 0 0 1 1 1 07H 8 1 0 0 0 0 0 0 0 80H 0 1 1 1 1 1 1 1 7FH 9 1 0 0 1 0 0 0 0 90H 0 1 1 0 1 1 1 1 6FH A 1 0 0 0 1 0 0 0 88H 0 1 1 1 0 1 1 1 77H B 1 0 0 0 0 0 1 1 83H 0 1 1 1 1 1 0 0 7CH C 1 1 0 0 0 1 1 0 C6H 0 0 1 1 1 0 0 1 39H D 1 0 1 0 0 0 0 1 A1H 0 1 0 1 1 1 1 0 5EH E 1 0 0 0 0 1 1 0 86H 0 1 1 1 1 0 0 1 79H F 1 0 0 0 1 1 1 0 8EH 0 1 1 1 0 0 0 1 71H 滅 1 1 1 1 1 1 1 1 FFH 0 0 0 0 0 0 0 0 00H 74LS164是 8位串入并出移位寄存器。它的引腳 如圖 。 A、 B為串行輸入端,QA~QH 為串行輸出端, CLK 為串行時(shí)鐘輸入端, RM 為串行輸出清零端, VCC 為 +5V電源輸入端 , GND為接地端。具體輸入輸出關(guān)系如表 35 所示。 X代表任意狀態(tài); QA0、 QB0 ~QH0代表在穩(wěn)態(tài)輸入條件建立之前 QA、 QB~QH的輸出狀態(tài); QAn、 QBn~QHn代表在最近的時(shí)鐘上升沿↑轉(zhuǎn)換之前 QA、 QB~QH 的輸出狀態(tài); H/L、 QAn~QBn代表在最近的時(shí)鐘上升沿↑轉(zhuǎn)換之后 QA、 QB~QH的輸出狀態(tài)。 MCS51 單片機(jī)測(cè)溫系統(tǒng)的設(shè)計(jì) 17 表 35 74LS164 輸入輸出關(guān)系如所示 輸入 輸出 清除 時(shí)鐘 A B QA QB ~ QH L X X X H L X X H ↑ H H H ↑ L X H ↑ X L L L ~ L QA0 QB0 ~ QH0 H QAn ~ QGn L QAn ~ QGn L QAn ~ QGn 圖 74LS164引腳如圖 串行顯示 電路屬于靜態(tài)顯示,比動(dòng)態(tài)顯示亮度更大一些。由于 74LS164 在低電平輸出時(shí),允許通過的電流達(dá) 8mA,故不必添加驅(qū) 動(dòng)電路,亮度也比較理想。與動(dòng)態(tài)掃描相比較,無(wú)需 CPU 不停的掃描,頻繁地為顯示服務(wù),節(jié)省了 CPU 時(shí)間,軟件設(shè)計(jì)也比較簡(jiǎn)單。由于 本設(shè)計(jì)采用的是共陽(yáng)極數(shù)碼管,所以相應(yīng)的亮段必須送 0,相應(yīng)的暗段 必須送 1。原理圖如圖 所示: 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 : 1 8 J u n 2 0 07 S he e t o f F i l e : C : \ D o c u m e n t s a n d S e t t i n gs \ A d m i n i s t r a t o r \ M y D o c u m e nt s \硬件原理圖 \溫度控制硬件原理圖 . d dbD r a w n B y:A1B2Q03Q14Q25Q36Q410Q511Q612Q713C L K8MR9U17 4L S 1 64R X DT X DA1B2Q03Q14Q25Q36Q410Q511Q612Q713C L K8MR9U27 4L S 1 64A1B2Q03Q14Q25Q36Q410Q511Q612Q713C L K8MR9U37 4L S 1 64A1B2Q03Q14Q25Q36Q410Q511Q612Q713C L K8MR9U47 4L S 1 64V C CT X D T X D T X DabfcgdeD P Y1234567abcdefg8dpdp99D S 1D P Y _7 S E G _D PabfcgdeD P Y1234567abcdefg8dpdp99D S 2D P Y _7 S E G _D PabfcgdeD P Y1234567abcdefg8dpdp99D S 3D P Y _7 S E G _D PabfcgdeD P Y1234567abcdefg8dpdp99D S 4D P Y _7 S E G _D PR11 0KR21 0KR31 0KR41 0K 圖 LED串行靜態(tài)顯示 鍵盤接口 鍵盤在單片機(jī)應(yīng)用系統(tǒng)中,實(shí)現(xiàn)輸入數(shù)據(jù)、傳送命令的功能,是人工干預(yù)的主要手段。鍵盤分兩大類:編碼鍵盤和非編碼鍵盤。編碼鍵盤:由硬件邏輯電路完成必要的鍵識(shí)別工作與可靠性措施。每按一次鍵,鍵盤自動(dòng)提供被按鍵的讀數(shù),同時(shí)產(chǎn)生一 個(gè) 選通脈沖通知微處理器 ,一般還具有反彈跳和同時(shí)按鍵保護(hù)功能。這種鍵盤易于使用,但硬件比較復(fù)雜,對(duì)于主機(jī)任務(wù)繁重之情況,采用 8279 可編程鍵盤管理接口芯片構(gòu)成編碼式鍵盤系統(tǒng)是很實(shí)用的方案。非編碼鍵盤:只簡(jiǎn) 單地提供鍵盤的行列與矩陣,其他操作如鍵的識(shí)別,決定按鍵的讀數(shù)等 都