版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第i 頁基于 ds18b20 的多路溫度檢測系統(tǒng)的設(shè)計與實現(xiàn)摘要為了達到測量和檢測多處溫度值,就要求主系統(tǒng)連接多個溫度傳感器,由于主系統(tǒng)和配件之間連接器上的空閑引腳通常極為有限,要想在不增加連接器復(fù)雜度和成本的條件下給系統(tǒng)增加外設(shè)識別和控制功能就成為一項極具挑戰(zhàn)性的任務(wù)。作為擁有 1-wire 的 ds18b20 器件能夠滿足這些要求。本設(shè)計采用多個 ds18b20 連接在于同一條單線總線上,這可以在許多不同的地方放置多個 ds18b20 溫度傳感器進行溫度檢測。通過用單片機來實現(xiàn)對多個 ds18b20 的控制,從而實現(xiàn)溫度檢測,實現(xiàn)報警。顯示部分采用了七段數(shù)碼顯
2、示管進行顯示,可同時對時間和溫度進行顯示方便觀察。鍵盤通過對 89c51 的 p1 口直接編程來實現(xiàn)。關(guān)鍵詞關(guān)鍵詞:1-wire;串行總線;七段數(shù)碼顯示管;溫度測量 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第ii 頁the design and implementation of the multi-temperature detection system based on ds18b20abstractin order to achieve measurement and testing various temperature,it requires the main system linked to
3、a number of temperature sensors,as the main system and accessories between the connector pins are usually very limited spare, not to increase the connector complexity and cost of the conditions to increase the peripheral system to identify and control has become one of the greatest challenges of tas
4、k.as with 1 - wire the ds18b20 device can meet these requirementsthis design uses a number of ds18b20,what connected with a one-way bus,which can in many different places at various ds18b20 temperature sensor to detect temperature.to achieve through the use of multiple ds18b20 control, thus realizin
5、g the temperature detection,and alarm. demonstrate a part having adopt seven section of digital display tube to carry out the convenient observation demonstrating, but carrying out display on time and the temperature at the same time.89c51 keyboard through the p1 port direct programming to achieve.k
6、ey words: 1-wire; serial bus ; seven section of digital display tube; temperature survey 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第iii 頁目錄摘要.iabstract.ii1 緒論.11.1 概述 i2c 總線的應(yīng)用.11.2 概述單總線的應(yīng)用.11.3 本設(shè)計的結(jié)構(gòu)安排.22 串行總線.32.1 i2c 總線.32.1.1 i2c 總線工作原理.32.1.2 i2c 總線數(shù)據(jù)傳送.32.2 單總線.42.2.1 單總線多節(jié)點系統(tǒng).42.2.2 單總線數(shù)據(jù)通信.53 硬件設(shè)計.63.1 本設(shè)計系統(tǒng)結(jié)構(gòu)框圖.63.2
7、 系統(tǒng)的原理圖.73.3 單片機及其管腳說明.73.4 用 i/o 口實現(xiàn) i2c 總線協(xié)議.93.5 ds18b20 的讀寫程序和單總線協(xié)議的實現(xiàn).103.6 單片機外圍電路.143.6.1 鍵盤.143.6.2 報警.153.7 三極管的簡介.153.8 七段數(shù)碼顯示管.16 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第iv 頁3.9 看門狗的原理.183.10 晶振電路原理.194 軟件設(shè)計.204.1 工作方案簡介.204.2 主程序流程圖.214.3 功能模塊.224.4 由 ds18b20 完成溫度檢測模塊.224.5 由 ds1338 完成時間讀取模塊.274.6 單片機外圍電路元件模塊.30
8、4.6.1 鍵盤模塊.304.6.2 報警模塊.32結(jié)論.33參考文獻.34致謝.35附錄.36 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 1 頁1 緒論在單片機應(yīng)用系統(tǒng)中,要處理的數(shù)據(jù)不僅很多,而且很重要時,通常的做法是用并行口擴展單片機外部數(shù)據(jù)存儲器芯片。近年來,隨著半導(dǎo)體技術(shù)的不斷發(fā)展,陸續(xù)出現(xiàn)了一些新的數(shù)據(jù)要求非常嚴(yán)格的芯片,比較典型的有基于 i2c 總線接口的 24 系列,基于 spi 總線的 25 系列,以及并行總線接口的 28 系列,29 系列,這些芯片的特點是芯片掉電后數(shù)據(jù)不會丟失,數(shù)據(jù)可以保存幾年、甚至幾十年,這些芯片采用 i2c、spi 或 microwire 串行總線協(xié)議,與單片機
9、接口通常僅占用 24 個 i/ o 口,可以最大限度地節(jié)省單片機的資源,并且數(shù)據(jù)可以反復(fù)擦寫1。1.1 概述 i2c 總線的應(yīng)用philips 公司開發(fā)的 i2c 總線是串行總線的一個應(yīng)用,它主要應(yīng)用于單片機外圍芯片的擴展。它只需兩根線即可實現(xiàn)單片機與總線上各個具有 i2c 總線接口的外圍芯片進行數(shù)據(jù)交換。該協(xié)議是解決單片機 i/o 口資源緊張的有效措施,i2c 總線是目前最完善的外圍器件的擴展總線,具有最完善的總線規(guī)范和最方便的用戶界面,其上可掛接多達 128 個串行外圍器件或設(shè)備。目前有很多半導(dǎo)體集成電路上都集成了 i2c 接口。帶有 i2c 接口的單片機有:cygnal 的 c8051f
10、0xx 系列,philipsp87lpc7xx 系列,microchip 的 pic16c6xx 系列等。很多外圍器件如存儲器、監(jiān)控芯片等也提供 i2c接口。1.2 概述單總線的應(yīng)用單總線是一種最簡單的串行總線形式, 它通過單條連接線完成了全部的控制、通信和供電, 節(jié)省了 i/o 口, 降低了系統(tǒng)成本并簡化了設(shè)計。目前常用的微機與外設(shè)之間進行數(shù)據(jù)傳輸?shù)拇锌偩€主要有 i2c 總線、spi 總線和sci 總線。其中 i2c 總線以同步串行 2 線方式進行通信(一條時鐘線,一條數(shù)據(jù)線) ,spi 總線則以同步串行 3 線方式進行通信(一條時鐘線,一條數(shù)據(jù)輸入線,一條數(shù)據(jù)輸出線) ,而 sci 總線
11、是以異步方式進行通信(一條數(shù)據(jù)輸入線,一條數(shù)據(jù)輸出線)的。這些總線至少需要兩條或兩條以上的信號線。近年來,美國的達拉斯半導(dǎo)體公司(dallassemiconductor)推出了一項特有的單總線(1wire bus)技術(shù)3。該 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 2 頁技術(shù)與上述總線不同,它采用單根信號線,既可傳輸時鐘,又能傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,因而這種單總線技術(shù)具有線路簡單,硬件開銷少,成本低廉,便于總線擴展和維護等優(yōu)點。單總線適用于單主機系統(tǒng),能夠控制一個或多個從機設(shè)備。主機可以是微控制器,從機可以是單總線器件,它們之間的數(shù)據(jù)交換只通過一條信號線。當(dāng)只有一個從機設(shè)備時,系統(tǒng)可按單節(jié)點系
12、統(tǒng)操作;當(dāng)有多個從機設(shè)備時,系統(tǒng)則按多節(jié)點系統(tǒng)操作。本文結(jié)合以單總線溫度傳感器構(gòu)成的溫度測控系統(tǒng), 詳細講述單總線 器件與常用的 8051 系列單片機的軟件接口。1.3 本設(shè)計的結(jié)構(gòu)安排如前所述,本設(shè)計就是采用單片機模擬串口協(xié)議實現(xiàn)帶電子鐘的溫度檢測系統(tǒng)。本設(shè)計的結(jié)構(gòu)安排如下:第 2 章簡單介紹兩種串行協(xié)議即 i2c 總線協(xié)議和單總線協(xié)議的原理、特點、時序以及使用方法。第 3 章介紹本設(shè)計應(yīng)用 i2c 總線協(xié)議和單總線協(xié)議實現(xiàn)帶電子鐘的溫度檢測系統(tǒng)的硬件。具體的芯片選擇和簡單的芯片介紹。并且給出了本設(shè)計所用主機 atc89c51單片機的介紹。以及 i2c 協(xié)議和單總線協(xié)議在 atc89c51
13、單片機上的實現(xiàn)。最后給出了人機接口的電路圖,并對鍵盤功能和電路進行了介紹。第 4 章介紹本設(shè)計 i2c 總線協(xié)議和單總線協(xié)議的軟件實現(xiàn)。并給出了人機接口部分的驅(qū)動程序包括鍵盤有液晶顯示的程序。給出了設(shè)計整體的流程圖。這章是設(shè)計的重點。本設(shè)計因為采用的是串行總線器件所以對于硬件設(shè)計相對簡單。但軟件部分就是此次設(shè)計的難點。下面,我們就逐章進入本設(shè)計的全過程。 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 3 頁2 串行總線2.1 i2c 總線2.1.1 i2c 總線工作原理i2c( inter-integrated circuit)總線是一種由 philips 公司開發(fā)的兩線制總線,由一條串行數(shù)據(jù)線 sda 和
14、一條串行時鐘線 scl 組成。該總線是雙向、兩線、串行、多主控(multi-master)接口標(biāo)準(zhǔn),具有總線仲裁機制,非常適合在器件之間進行近距離、非經(jīng)常性的數(shù)據(jù)通信。由于其使用兩線的硬件接口簡單,i2c 總線的應(yīng)用越來越廣泛。實現(xiàn)i2c 總線通信協(xié)議主要有兩種方法:利角 mcu 對兩根 i/o 口線進行軟件編程,模擬i2c 總線的 scl 和 sda 時序要求:使用專用 i2c 總線控制核,但受其主機(host)接口方式和時鐘頻率的限制,在有些場合應(yīng)用并不方便。本設(shè)計就是對 89c51 的兩個 i/o口進行編程,模擬 i2c 總線的 scl 和 sda 時序要求的。在 cpu 與被控 ic
15、之間、ic 與 ic 之間進行雙向傳送,最高傳送速率 100kbps。各種被控制電路均并聯(lián)在這條總線上,但就像電話機一樣只有撥通各自的號碼才能工作,所以每個電路和模塊都有唯一的地址,在信息的傳輸過程中,i2c 總線上并接的每一模塊電路既是主控器(或被控器),又是發(fā)送器(或接收器),這取決于它所要完成的功能。cpl 發(fā)出的控制信號分為地址碼和控制量兩部分,地址碼用來選址,即接通需要控制的電路,確定控制的種類;控制量決定該調(diào)整的類別(如對比度、亮度等)及需要調(diào)整的量。這樣,各控制電路雖然掛在同一條總線上,卻彼此獨立,互不相關(guān)。2.1.2 i2c 總線數(shù)據(jù)傳送在 i2c 總線上傳送的一個數(shù)據(jù)字節(jié)由八
16、位數(shù)組成,總線對每次傳送的字節(jié)數(shù)沒有限制,但每個字節(jié)后必須跟一位應(yīng)答位。傳輸速率可達 400k 波特。數(shù)據(jù)傳送時,高位在前,低位在后,這和傳統(tǒng)的串行通通訊不同。數(shù)據(jù)傳輸時,在時鐘線 scl 高電平期間,數(shù)據(jù)線 sda 上的信息要保持不變,在 scl 低電平期間,sda 上的電平才允許變化。每個 scl 脈沖對應(yīng) sda 上的一位數(shù)據(jù)。如圖 2.1 所示。 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 4 頁如果在時鐘線 scl 高電平期間,sda 上的電平出現(xiàn)了下降沿,這種狀態(tài)規(guī)定為起始信號(s);如果在時鐘線 scl 高電平期間,sda 上的 1 電平出現(xiàn)上升沿,這種狀態(tài)規(guī)定為終止信號(p)。2.2 單總
17、線2.2.1 單總線多節(jié)點系統(tǒng)美國的達拉斯半導(dǎo)體公司(dallas semiconductor) 推出了一項特有的單總線(1 - wire bus) 技術(shù)。它采用單根信號線, 既可傳輸時鐘, 又能傳輸數(shù)據(jù), 而且數(shù)據(jù)傳輸是雙向的,主機可以是微控制器,從機可以是單總線器件,它們之間的數(shù)據(jù)交換只通過一條信號線。單總線多節(jié)點系統(tǒng)示意圖如下圖 2.2 所示。圖 2.2 單總線多節(jié)點系統(tǒng)示意圖微控制器(主機)1-wiredevice11-wire device21-wiredevicen-11-wiredevicen 允許數(shù)據(jù)變化數(shù)據(jù)線上數(shù)據(jù)有效圖 2.1 i2c 總線位傳輸 遼寧科技大學(xué)本科生畢業(yè)設(shè)計
18、 第 5 頁單總線技術(shù)是在一根總線上僅有一個主系統(tǒng)和若干個從系統(tǒng)組成的計算機應(yīng)用系統(tǒng),由于總線上的所有器件都通過 1 條信號線傳輸信息,這樣,整個系統(tǒng)要按單總線協(xié)議規(guī)定的時序進行工作,具體的內(nèi)容是初始化器件、識別器件和進行數(shù)據(jù)交換。目前,單總線器件主要有數(shù)字溫度傳感器(如 ds18b20)、a/d 轉(zhuǎn)換器(ds2450)、門禁、身份識別器(如 ds1990a)、單總線控制器(如 ds1wm)等。本設(shè)計應(yīng)用實例以ds18b20 為溫度傳感器,構(gòu)建了多點溫度檢測系統(tǒng)。系統(tǒng)采用 1-wire 公眾域(pd)軟件應(yīng)用程序接口,采用循環(huán)程序結(jié)構(gòu)實現(xiàn)查看任何一個檢測點的編號、溫度值等數(shù)據(jù)指示,實現(xiàn)了多個檢
19、測點數(shù)據(jù)的自動化監(jiān)管。2.2.2 單總線數(shù)據(jù)通信單總線技術(shù)實現(xiàn)的硬件簡單,但芯片的品種繁多,在適當(dāng)?shù)耐獠侩娐分心芡瓿蓮?fù)雜的操作,這些功能的實現(xiàn),則依賴良好的軟件環(huán)境支持。作為一種與目前大多數(shù)標(biāo)準(zhǔn)串行數(shù)據(jù)通信方式不同的串行數(shù)據(jù)傳輸方式,它有自己獨特的通信協(xié)議單總線協(xié)議2 (或稱一線協(xié)議)。單總線協(xié)議定義了如下幾種信號類型:復(fù)位脈沖、應(yīng)答脈沖、寫 0、寫 i,讀 0 和讀1。所有這些信號,除了應(yīng)答脈沖以外,都有由主機發(fā)出同步信號,并且所有的命令和數(shù)據(jù)都是字節(jié)低位在前,這一點與多數(shù)標(biāo)準(zhǔn)串行通信方式不同。 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 6 頁3 硬件設(shè)計本系統(tǒng)的硬件電路包括主機、溫度與檢測與控制、人
20、機對話(鍵盤/顯示/報警)和其他擴展電路(電子日歷/復(fù)位電路)4 個主要部分。圖 3.1 為系統(tǒng)的硬件電路原理圖3.1 本設(shè)計系統(tǒng)結(jié)構(gòu)框圖 圖 3.1 系統(tǒng)的結(jié)構(gòu)框圖由于系統(tǒng)控制方案簡單,數(shù)據(jù)量也不大,因此選用 89c51 作為控制系統(tǒng)的核心,也可視具體情況換用 8051、8052、8751、8752、80c51、89c52 等。其中,8051、8052、8751、8752 的各個引腳輸入/輸出電平只與 ttl 電平兼容;89c51、89c52、80c51 各引腳輸入/輸出電平既與 ttl 電平兼容,也與 cmos 電平兼容。溫度/時間液晶顯示鍵盤報警主機集成溫度傳感器ds18b20數(shù)字溫度傳
21、感器ds18b20串行實時時鐘ds1338智能溫度傳感器ds18b20 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 7 頁3.2 系統(tǒng)的原理圖ea/vp31x119x218reset9rd17wr16int012int113t014t115p101p112p123p134p145p156p167p178p0039p0138p0237p0336p0435p0534p0633p0732p2021p2122p2223p2324p2425p2526p2627p2728psen29ale/p30txd11rxd10u1jz12mc130pc230pc3104c5103c4330uf/16v1111111198765
22、432rp210kvcctxdsisorxdvcccssckc710uf/16vr610kvcck5reset98u8d74071110u8e7407s1器器器r124.7kr132kvccq99012fmqsdascl232txd232rxdc11105c12105c9105c14105c13104tx0rx0v+v-v+v-vccr24r25r26r27r28r29r30q1q2q3q4q5q6q7q8r32330r33330r34330r35330r36330r37330r38330r39330r31vccdadbdcdddedfdgdpot901281k8dadbdcdpotddded
23、fdgdedfdgdadbdcdpotdda1d6e7g8f9g10b2c3pot4g5smg1dpy 7-sega1d6e7g8f9g10b2c3pot4g5smg2dpy 7-seg12u8a740734u8b7407/cs1so2wp3vss4vcc8reset7sck6si5u2x25045cssovccsisckint0int1c1+1vs+2c1-3c2+4c2-5vs-6t2out7r2in8vcc16gnd15t1out14r1in13r1out12t1in11t2in10r2out9u4max232dadbdcdpotdddedfdga1d6e7g8f9g10b2c3pot4
24、g5smg3dpy 7-segdadbdcdpotdddedfdga1d6e7g8f9g10b2c3pot4g5smg4dpy 7-segs8s7s9s6s4s1s3s5s2jz232.768kx11x22vcc8scl6sda5vbat3ds1338gnd4u3ds1338bt1batterysdasclgnd1dq2vcc3u5ds18b20gnd1dq2vcc3u6ds18b20gnd1dq2vcc3u7ds18b20gndgndgndvccvccvccgndgndr110kr210kr310kkey1key2key3key4key5key6vccr?4.7kvccdqdqfmqrs23
25、2gnd232txd162738495j1232rxdkey4key5key6key1key2key3+5v圖 3.2 系統(tǒng)原理圖3.3 單片機及其管腳說明at89c51 是一種帶 4k 字節(jié)閃爍可編程可擦除只讀存儲器(fperomflash programmable and erasable read only memory)的低電壓,高性能 cmos8 位微處理器,俗稱單片機。at89c2051 是一種帶 2k 字節(jié)閃爍可編程可擦除只讀存儲器的單片機。 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 8 頁該器件采用 atmel 高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 mcs-51 指令集和輸出管腳
26、相兼容。下面指出了各個管腳的用途。vcc:供電電壓。gnd:接地。p0 口:p0 口為一個 8 位漏級開路雙向 i/o 口,每腳可吸收 8 個 ttl 門電流。當(dāng)p1 口的管腳第一次寫 1 時,被定義為高阻輸入。p0 能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在 fiash 編程時,p0 口作為原碼輸入口,當(dāng)fiash 進行校驗時,p0 輸出原碼,此時 p0 外部必須被拉高。p1 口:p1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 i/o 口,p1 口緩沖器能接收輸出4ttl 門電流。p1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作輸入,p1 口被外部下拉為低電平時,將輸出電
27、流,這是由于內(nèi)部上拉的緣故。在 flash 編程和校驗時,p1口作為第八位地址接收。 p2 口:p2 口為一個內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 口緩沖器可接收,輸出 4個 ttl 門電流,當(dāng) p2 口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2 口的管腳被外部拉低,將輸出電流。p2 口當(dāng)用于外部程序存儲器或16 位地址外部數(shù)據(jù)存儲器進行存取時,p2 口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,p2 口輸出其特殊功能寄存器的內(nèi)容。p2 口在 flash 編程和校驗時接收高八位地址信號和控制信號。p3
28、口:p3 口管腳是 8 個帶內(nèi)部上拉電阻的雙向 i/o 口,可接收輸出 4 個 ttl 門電流。當(dāng) p3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3 口將輸出電流(ill)這是由于上拉的緣故。p3 口也可作為at89c51 的一些特殊功能口, 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ù)存儲器寫選通) 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 9
29、 頁p3.7 /rd(外部數(shù)據(jù)存儲器讀選通)p3 口同時為閃爍編程和編程校驗接收一些控制信號。rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持 rst 腳兩個機器周期的高電平時間。ale/prog:當(dāng)訪問外部存儲器,地址鎖存允許的輸出電平用于鎖存地址地位字節(jié)。/psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/psen 有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/psen 信號將不出現(xiàn)。/ea/vpp:在 flash 編程期間,此引腳也用于施加 12v 編程電源(vpp) 。xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出
30、。3.4 用 i/o 口實現(xiàn) i2c 總線協(xié)議為了記錄系統(tǒng)每次檢測溫度的時間,本設(shè)計特別在溫度檢測的基礎(chǔ)上增加了電子鐘的功能。因為本設(shè)計主要是研究串行總線,所以選用具有 i2c 協(xié)議的 ds1338 串行實時時鐘(rtc)芯片,并用單片機的兩個普通 i/o 線實現(xiàn) i2c 總線功能,這樣可以最大限度地節(jié)省單片機的資源6。下面就 ds1338 芯片的特性進行一下介紹。ds1338 串行實時時鐘(rtc)就是其中的一種,ds1338 具有低功耗、全二進制編碼的十進制(bcd)時鐘/日歷,外加 56 字節(jié) nv sram。地址與數(shù)據(jù)通過 i2c 總線串行傳送。時鐘/日歷可以提供秒、分、時、日、月、年
31、信息。對于少于 31 天的月份,到每月的最后一天會自動進行調(diào)節(jié),包括閏年修正。ds1338 采用內(nèi)置晶振和表面貼封裝,并為數(shù)據(jù)存儲提供 56 字節(jié)電池備份的 nv ram 。ds1338 采用 i2c 串行接口協(xié)議,具有可編程方波輸出功能自動電源失效檢測與轉(zhuǎn)換電路并通過 ul 認證等一系列特性。本設(shè)計主要應(yīng)用 ds1338 串行實時時鐘(rtc)來實現(xiàn)帶電子鐘的溫度檢測系統(tǒng)。ds1338的接口電路如圖 3.3 所示5。 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 10 頁圖 3.3 ds1338 的接口電路目前,51、96 系列的單片機應(yīng)用很廣,但是由于它們都沒有 i2c 總線接口,從而限制了在這些系統(tǒng)中
32、使用具有 i2c 總線接口的器件。通過對 i2c 總線時序的分析,可以用 51 單片機的兩根 i/ o 線來實現(xiàn) i2c 總線的功能。本設(shè)計就是用 atc89c51 的通用 i/ o 口來作為 i2c 總線接口,并由軟件控制實現(xiàn)數(shù)據(jù)傳送的。連接電路如圖 3.4 所示,具體的軟件實現(xiàn)本設(shè)計在軟件設(shè)計中將給出詳細的介紹。ea/vp31x119x218reset9rd17wr16int012int113t014t115p101p112p123p134p145p156p167p178p0039p0138p0237p0336p0435p0534p0633p0732p2021p2122p2223p2324
33、p2425p2526p2627p2728psen29ale/p30txd11rxd1089c51vccjz232.768kx11x22vcc8scl6sda5vbat3ds1338gnd4u5ds1338bt1battery圖 3.4 ds18b20 與單片機接口電路3.5 ds18b20 的讀寫程序和單總線協(xié)議的實現(xiàn)ds18b20 的讀寫程序和測溫程序相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由 2s 減為 750ms。 ds18b20 測溫原理中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器 1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯
34、改變,所產(chǎn)生的信號作為計數(shù)器 2 的脈沖輸入。計數(shù)器 1 和溫度寄存器被預(yù)置在55所對應(yīng)的一個基數(shù)值。計數(shù)器 1 對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當(dāng)計數(shù)器 1 的預(yù)置值減到 0 時,溫度寄存器的值將加 1,計數(shù)器 1 的預(yù)置將重新被裝入,計數(shù)器 1 重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到計數(shù)器 2 計數(shù)到 0 時,停止溫度寄存器值的累加,此時 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 11 頁溫度寄存器中的數(shù)值即為所測溫度。圖 3.5 中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器 1 的預(yù)置值。圖 3.5 ds18b20 測溫原理框圖ds18b2
35、0 有 4 個主要的數(shù)據(jù)部件: (1)光刻 rom 中的 64 位序列號是出廠前被光刻好的,它可以看作是該 ds18b20的地址序列碼。64 位光刻 rom 的排列是:開始 8 位(28h)是產(chǎn)品類型標(biāo)號,接著的48 位是該 ds18b20 自身的序列號,最后 8 位是前面 56 位的循環(huán)冗余校驗碼(crc=x8+x5+x4+1)。光刻 rom 的作用是使每一個 ds18b20 都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個 ds18b20 的目的。 (2)ds18b20 中的溫度傳感器可完成對溫度的測量,以 12 位轉(zhuǎn)化為例:用 16 位符號擴展的二進制補碼讀數(shù)形式提供,以 0.0625/ls
36、b 形式表達,其中 s 為符號位。 這是 12 位轉(zhuǎn)化后得到的 12 位數(shù)據(jù),存儲在 18b20 的兩個 8 比特的 ram 中,二進制中的前面 5 位是符號位,如果測得的溫度大于 0,這 5 位為 0,只要將測到的數(shù)值乘于 0.0625 即可得到實際溫度;如果溫度小于 0,這 5 位為 1,測到的數(shù)值需要取反加1 再乘于 0.0625 即可得到實際溫度。 例如+125的數(shù)字輸出為 07d0h,+25.0625的數(shù)字輸出為 0191h,-25.0625的數(shù)字輸出為 ff6fh,-55的數(shù)字輸出為 fc90h。 (3)ds18b20 溫度傳感器的存儲器 ds18b20 溫度傳感器的內(nèi)部存儲器包括
37、一個高速暫存 ram 和一個非易失性的可電擦除的 eepram,后者存放高溫度和低溫度觸發(fā)器 th、tl 和結(jié)構(gòu)寄存器。 (4)配置寄存器 該字節(jié)各位的意義如下:表 3.1 配置寄存器結(jié)構(gòu) 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 12 頁tmr1r011111 低五位一直都是1,tm 是測試模式位,用于設(shè)置 ds18b20 在工作模式還是在測試模式。在 ds18b20 出廠時該位被設(shè)置為 0,用戶不要去改動。r1 和 r0 用來設(shè)置分辨率,如下表 3.2 所示:(ds18b20 出廠時被設(shè)置為 12 位)表 3.2 溫度分辨率設(shè)置表r1r0分辨率溫度最大轉(zhuǎn)換時間009 位93.75ms0110 位18
38、7.5ms1011 位375ms1112 位750ms本設(shè)計采用多個溫度傳感器 ds18b20 對溫度進行采樣,從而進行溫度的檢測與控制。因為 ds18b20 是使用單總線協(xié)議的,所以具有單總線的優(yōu)點,本設(shè)計通過對ds18b20 的使用,使讀者對單總線協(xié)議有了更深的認識。下面就 ds18b20 芯片的特性進行一下介紹。與 dallas 公司早期生產(chǎn)的 ds1820 相比,ds18b20 具有如下特點4:(1) 精度:ds18b20 在-10+85范圍內(nèi)精度為+-0.5。(2) 分辨率:ds18b20 的分辨率由 912 位(包括 1 位符號位)數(shù)據(jù)在線編程決定。(3) 溫度轉(zhuǎn)換時間:ds18b
39、20 的轉(zhuǎn)換時間與設(shè)定的分辨率有關(guān),當(dāng)設(shè)定為 9 位時,最大轉(zhuǎn)換時間為 93.75ms;10 位時,為 187.5ms;11 位時,為 375ms;12 位時,為 750ms。(4) 電源電壓范圍:在保證溫度轉(zhuǎn)換精度為+-0.5的情況下,電源電壓可為+3.0v+5.5。(5) 程序設(shè)置寄存器:該寄存器主要用來設(shè)置分辨率位數(shù)的。(6) 64 位 rom 編碼:從高位算起,該 rom 有一個字節(jié)的 crc 校驗碼,6 個 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 13 頁字節(jié)的產(chǎn)品序號和一個字節(jié)的家族代碼。對于家族代碼, ds18b20 是 28h。(7) 溫度數(shù)據(jù)寄存器:寄存器由兩個字節(jié)組成,ds18b2
40、0 對于 12 位的分辨率為 2-4,如圖 3.6 所示4。232221202-12-22-32-4msb 單位= lsbsssss262524符號位圖 3.6 ds18b20 的分辨率(8) 內(nèi)部存儲器分配:ds18b20h 高速暫存寄存器是 ds18b20 高速暫存寄存器的存儲分配溫度值低位字節(jié)溫度值高位字節(jié)th/用戶字節(jié) 1(報警上限)tl/用戶字節(jié) 2(報警下限)程序設(shè)置字節(jié)保留保留保留 ds18b20 采用 to92 封裝或 8 腳 soic 封裝。其引腳排列及含義如下圖 3.8 所示。nc 1nc 2th/用戶字節(jié) 1tl/用戶字節(jié) 2程序設(shè)置字節(jié)e2romcrc圖 3.7 ds1
41、8b20 高速暫存寄存器的存儲分配dallasds18b201 gnd 2 dq 3 vddvdd 3nc 18 nc7 nc6 nc5 gndgnd:地 vdd:電源dq:數(shù)據(jù)輸入/輸出 nc:空腳低位字節(jié)高位字節(jié) 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 14 頁ds18b20 的供電方式有兩種: 一種是寄生電源;另一種為外電源供電,因為多個器件掛在總線上,為了識別不同的器件,在程序設(shè)計中一般有四個步驟:初始化命令;傳送 rom 命令;傳送 ram 命令;數(shù)據(jù)交換命令。本設(shè)計在軟件介紹部分會就ds18b20 溫度傳感器件具體介紹其每一部分的時序。本系統(tǒng)利用 ds18b20 完成溫度采集及轉(zhuǎn)換工作,而
42、單片機 89c51 起實時控制及通訊作用.可以將多個 ds18b20 與單片機一位總線相連,形成多點測溫, 本設(shè)計研究多片ds18b20 與單片機構(gòu)成的測溫系統(tǒng)。dss18b20 與單片機接口電路如圖 3.9 所示.圖 3.9 ds18b20 與單片機接口電路3.6 單片機外圍電路3.6.1 鍵盤本設(shè)計采用 89c51 單片機的 p1 口來實現(xiàn)。本設(shè)計鍵盤的連接如下圖 3.10 所示。圖 3.8 ds18b20 的封裝 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 15 頁圖 3.10 鍵盤的連接將全部行線置低電平,然后檢測列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與
43、 3 根行線相交叉的 3 個按鍵之中。若所有列線均為高電平,則鍵盤中無鍵按下。在確認有鍵按下后,即可進入確定具體閉合鍵的過程。其方法是:依次將行線置為低電平,即在置某根行線為低電平時,其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。3.6.2 報警本設(shè)計的報警功能由蜂鳴器實現(xiàn)。當(dāng)由于意外因素導(dǎo)致 ds18b20 溫度高于設(shè)置溫度時,p1.7 口送出的低電平經(jīng)反向器驅(qū)動蜂鳴器鳴叫報警。3.7 三極管的簡介三極管是一種控制元件,三極管的作用非常的大,可以說沒有三極管的發(fā)明就沒有現(xiàn)代信息社會的如此多樣化,電子
44、管是他的前身,但是電子管體積大耗電量巨大,現(xiàn)在已經(jīng)被淘汰。三極管主要用來控制電流的大小,以共發(fā)射極接法為例(信號從基極輸入,從集電極輸出,發(fā)射極接地),當(dāng)基極電壓 ub 有一個微小的變化時,基極電流 ib 也會隨之有一小的變化,受基極電流 ib 的控制,集電極電流 ic 會有一個很大的變化,基極電流 ib 越大,集電極電流 ic 也越大,反之,基極電流越小,集電極電流也越小,即基極電流控制集電極電流的變化。但是集電極電流的變化比基極電流的變化大得多,這就是三極管的電流放大作用。 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 16 頁剛才說了電流放大是晶體三極管的作用,其實質(zhì)是三極管能以基極電流微小的變化量來
45、控制集電極電流較大的變化量。這是三極管最基本的和最重要的特性。我們將ic/ib 的比值稱為晶體三極管的電流放大倍數(shù),用符號“”表示。電流放大倍數(shù)對于某一只三極管來說是一個定值,但隨著三極管工作時基極電流的變化也會有一定的改變。根據(jù)三極管的作用我們分析它可以把微弱的電信號變成一定強度的信號,當(dāng)然這種轉(zhuǎn)換仍然遵循能量守恒,它只是把電源的能量轉(zhuǎn)換成信號的能量罷了。三極管有一個重要參數(shù)就是電流放大系數(shù) 。當(dāng)三極管的基極上加一個微小的電流時,在集電極上可以得到一個是注入電流 倍的電流,即集電極電流。集電極電流隨基極電流的變化而變化,并且基極電流很小的變化可以引起集電極電流很大的變化,這就是三極管的放大作
46、用。三極管的作用還有電子開關(guān),配合其它元件還可以構(gòu)成振蕩器,此外三極管還有穩(wěn)壓的作用。3.8 七段數(shù)碼顯示管七段數(shù)碼管在工業(yè)控制中有著很廣泛的應(yīng)用,例如用來顯示溫度、數(shù)量、重量、日期、時間,還可以用來顯示比賽的比分等,具有顯示醒目、直觀的優(yōu)點.無論是共陰極還是共陽極的數(shù)碼管,都分段碼和位碼,要想讓它亮必須驅(qū)動它! 以共陽極 4 位數(shù)碼管為例,即首先要選中你想要電亮的數(shù)碼管的位,要想讓 4 個數(shù)碼管全亮須 4 個位全選中,所謂選中的含義就是給高電平(共陽極) 。數(shù)碼管分 8 個段,即段碼,每個段的亮滅都對應(yīng)著一個數(shù)字或字母,想讓哪一段亮就給哪段送低電平。其中掃描分靜態(tài)掃描和動態(tài)掃描! 靜態(tài)掃描比
47、動態(tài)掃描簡單些。動態(tài)掃描他在沒個時間只能點亮一位數(shù)碼管,但是由于掃描頻率的設(shè)置,單片機的速度是很快的,但幾十 ms 內(nèi)就能讓 4 位數(shù)碼管循環(huán)亮滅很多次,這些人的肉眼是分辨不出來的,數(shù)碼管的亮度可以通過軟件設(shè)置(掃描頻率的設(shè)置)調(diào)整。每個數(shù)碼管都有 a、b、c、d、e、f、g 七個筆劃和一個小數(shù)點 dp,這八個聯(lián)對應(yīng)二極管陽極,陰極都聯(lián)在一起(稱共陰極) 。以四位數(shù)碼管矩陣為例,四個數(shù)碼管的a、b、c、d、e、f、g 七個筆劃和一個小數(shù)點 dp 電極分別并聯(lián)在一起。當(dāng) c 行高電平,3 列低電平,其他行列都為高阻態(tài)時,第三個數(shù)碼管的 c 筆劃亮,通過掃描方式在1/20 秒內(nèi)四個數(shù)碼管的筆劃該亮
48、的都亮一次,由于視覺暫留,就會看到結(jié)果。 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 17 頁本設(shè)計是通過三極管來驅(qū)動數(shù)碼管顯示,當(dāng)基極電流很小時,無論基極電流如何變化,集電極電流都接近為 0,集電極電流不隨基極電流而變化,也就是管子不導(dǎo)通;當(dāng)基極電流增大到一定值以后,集電極電流此后大于 0,且集電極電流隨著基極電流而變化,這是放大狀態(tài);當(dāng)基極電流繼續(xù)增大,達到一定值以后,集電極電流此后再也大不上去了,此后即便是基極電流再增加,集電極電流也不能增大,即飽和了。對于單片機端口通過晶體管驅(qū)動負載的情況,無論負載是數(shù)碼管還是繼電器,晶體管都只能工作在截止?fàn)顟B(tài)或飽和狀態(tài),是不能工作在放大狀態(tài)的。本設(shè)計每個三極管負
49、責(zé)一段,最后那個三極管負責(zé)小數(shù)點位。當(dāng)置于低電平時才有效,每個數(shù)碼管都會顯示一個相同的數(shù)字,所以然后需把其他三個數(shù)碼管置高電平。通過這種方法就能把溫度測出來。數(shù)碼管連接如下圖 3.11 所示。圖 3.11 數(shù)碼管與單片機接口電路 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 18 頁3.9 看門狗的原理在由單片機構(gòu)成的微型計算機系統(tǒng)中,由于單片機的工作常常會受到來自外界電磁場的干擾,造成程序的跑飛,而陷入死循環(huán),程序的正常運行被打斷,由單片機控制的系統(tǒng)無法繼續(xù)工作,會造成整個系統(tǒng)的陷入停滯狀態(tài),發(fā)生不可預(yù)料的后果,所以出于對單片機運行狀態(tài)進行實時監(jiān)測的考慮,便產(chǎn)生了一種專門用于監(jiān)測單片機程序運行狀態(tài)的芯片,
50、俗稱看門狗??撮T狗電路電路的應(yīng)用,使單片機可以在無人狀態(tài)下實現(xiàn)連續(xù)工作,其工作原理是:看門狗芯片和單片機的一個 i/o 引腳相連,該 i/o 引腳通過程序控制它定時地往看門狗的這個引腳上送入高電平(或低電平),這一程序語句是分散地放在單片機其他控制語句中間的,一旦單片機由于干擾造成程序跑飛后而陷入某一程序段不進入死循環(huán)狀態(tài)時,寫看門狗引腳的程序便不能被執(zhí)行,這個時候,看門狗電路就會由于得不到單片機送來的信號,便在它和單片機復(fù)位引腳相連的引腳上送出一個復(fù)位信號,使單片機發(fā)生復(fù)位,即程序從程序存儲器的起始位置開始執(zhí)行,這樣便實現(xiàn)了單片機的自動復(fù)位。本設(shè)計采用 x25045 芯片的看門狗定時器功能,
51、實現(xiàn)對系統(tǒng)進行復(fù)位的??撮T狗定時器對微控制器提供了獨立的保護系統(tǒng)。它提供了三種定時時間,可用編程選擇200us、600us 和 6.4s,本設(shè)計采用 6.4s 對看門狗進行監(jiān)測。在設(shè)定的時間內(nèi)如果沒有對 x25045 進行訪問,則看門狗以 reset 信號做輸出響應(yīng),即變?yōu)楦唠娖?,延時約200ms 以后 reset 由高電平變位低電平,實現(xiàn)對系統(tǒng)進行復(fù)位。復(fù)位電路的基本功能是:系統(tǒng)上電時提供復(fù)位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復(fù)位信號,以防電源開關(guān)或電源插頭分-合過程中引起的抖動而影響復(fù)位。圖 3.12 所示的 rc 復(fù)位電路可以實現(xiàn)上述基本
52、功能。 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 19 頁圖 3.12 rc 復(fù)位電路3.10 晶振電路原理 晶振是晶體振蕩器的簡稱,在電氣上它可以等效成一個電容和一個電阻并聯(lián)再串聯(lián)一個電容的二端網(wǎng)絡(luò),電工學(xué)上這個網(wǎng)絡(luò)有兩個諧振點,以頻率的高低分其中較低的頻率是串聯(lián)諧振,較高的頻率是并聯(lián)諧振。由于晶體自身的特性致使這兩個頻率的距離相當(dāng)?shù)慕咏谶@個極窄的頻率范圍內(nèi),晶振等效為一個電感,所以只要晶振的兩端并聯(lián)上合適的電容它就會組成并聯(lián)諧振電路。這個并聯(lián)諧振電路加到一個負反饋電路中就可以構(gòu)成正弦波振蕩電路,由于晶振等效為電感的頻率范圍很窄,所以即使其他元件的參數(shù)變化很大,這個振蕩器的頻率也不會有很大的變化。
53、 晶振有一個重要的參數(shù),那就是負載電容值,選擇與負載電容值相等的并聯(lián)電容,就可以得到晶振標(biāo)稱的諧振頻率。 一般的晶振振蕩電路都是在一個反相放大器(注意是放大器不是反相器)的兩端接入晶振,再有兩個電容分別接到晶振的兩端,每個電容的另一端再接到地,這兩個電容串聯(lián)的容量值就應(yīng)該等于負載電容,請注意一般 ic 的引腳都有等效輸入電容,這個不能忽略。 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 20 頁4 軟件設(shè)計4.1 工作方案簡介程序處理是整個系統(tǒng)的關(guān)鍵,即簡潔的硬件結(jié)構(gòu)是靠復(fù)雜的軟件來支持的。本設(shè)計采用的是基于 i2c 總線協(xié)議和單總線協(xié)議的溫度測控系統(tǒng)。系統(tǒng)上電復(fù)位后先處于停止?fàn)顟B(tài),等待輸入初始時間和報警溫
54、度。顯示器顯示輸入的時間和溫度;時間和報警溫度設(shè)定好后就可以按確定鍵啟動系統(tǒng)工作了。溫度檢測系統(tǒng)不斷定時檢測當(dāng)前溫度,并送往顯示器顯示,達到報警值時啟動報警電路報警。并顯示當(dāng)前時間;啟動后不能再修改報警溫度,必須使電路復(fù)位回到初始狀態(tài)再重新設(shè)定報警溫度。 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 21 頁4.2 主程序流程圖開始各數(shù)據(jù)緩沖區(qū)、各標(biāo)志位初始化調(diào)用鍵盤管理子程序確定鍵閉合時返回調(diào)溫度檢測子程序當(dāng)前溫度檢測緩沖區(qū)調(diào)顯示子程序調(diào)時鐘程序調(diào)報警子程序訪問看門狗子程序調(diào)顯示子程序圖 4.1 主程序流程圖 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 22 頁4.3 功能模塊根據(jù)上面對工作流程的分析,系統(tǒng)軟件可以分
55、為以下幾個功能模塊:(1)溫度檢測及溫度值變換:由單總線溫度傳感器 ds18b20 完成(2)時間的讀取:由具有 i2c 總線協(xié)議的傳行實時時鐘 ds1338 完成(3)鍵盤管理:監(jiān)測鍵盤輸入,接收初始時間設(shè)置,接收報警溫度設(shè)置,啟動系統(tǒng)工作。(4)報警:當(dāng)檢測到的溫度超越報警溫度時,蜂鳴器發(fā)出報警信號。 4.4 由 ds18b20 完成溫度檢測模塊運用單總線協(xié)議(一線協(xié)議)構(gòu)建的單總線指令系統(tǒng)是單總線網(wǎng)絡(luò)運行的軟件基礎(chǔ),典型的單總線指令序列如下:第一步 :初始化第二步 :rom 命令(跟隨需要交換的數(shù)據(jù))第三步 :功能命令(跟隨需要交換的數(shù)據(jù))每次訪問單總線器件,必須嚴(yán)格遵守這個命令序列,如
56、果出現(xiàn)序列混亂,則單總線器件不會響應(yīng)主機。但是,這個準(zhǔn)則對于搜索 rom 命令和報警搜索命令例外,在執(zhí)行兩者中的任何一條命令之后,主機不能執(zhí)行其后的功能命令,必須返回至第一步。(1) 初始化基于單總線上的所有傳輸過程都是以初始化開始的,初始化過程由主機發(fā)出復(fù)位脈沖和從機響應(yīng)的應(yīng)答脈沖組成。應(yīng)答脈沖使主機知道,總線上有從機設(shè)備,且準(zhǔn)備就緒。(2) rom 命令基于單總線上的所有傳輸過程都是以初始化開始的,初始化過程由主機發(fā)出復(fù)位脈沖和從機響應(yīng)的應(yīng)答脈沖組成。應(yīng)答脈沖使主機知道,總線上有從機設(shè)備,且準(zhǔn)備就緒。在主機檢測到應(yīng)答脈沖后,就可以發(fā)送 rom 命令。這些命令與各個從機設(shè)備的唯一的 64 位
57、 rom 有關(guān)。這些命令還允許主機能檢測到總線上有多少個從機設(shè)備以及其設(shè)備類型,或者有沒有設(shè)備處于報警狀態(tài)。從機設(shè)備可能支持 5 種 rom 命令(實際情 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 23 頁況與具體型號有關(guān)),每種命令長度為 8 位。主機在發(fā)出功能命令之前,必須送出合適的 rom 命令。具體的傳送 rom 命令格式如表 4.1 所示。表 4.1 ds18b20 的 rom 命令表指令說明讀 rom 命令(33h)讀總線上 ds18b20 命令匹配 rom 命令(55h)對總線上 ds18b20 尋址跳過 rom 命令(cch)該命令執(zhí)行后,將省去每次與 rom有關(guān)的操作搜索 rom 命令
58、(f0h)控制機識別總線上多個器件的 rom編碼報警搜索命令(ech)控制機搜索有報警的器件(3) 功能命令表 4.2 ds18b20 功能命令表注 釋 :在溫度轉(zhuǎn)換和復(fù)制暫存器數(shù)據(jù)至 eeprom 期間,主機必須在單總線上允許強上拉,并且在此期間,總線上不能進行其它數(shù)據(jù)傳輸。通過發(fā)送復(fù)位脈沖,主機能夠在任何時候中斷數(shù)據(jù)傳輸。在復(fù)位脈沖發(fā)送以前,必須寫入全部的三個字節(jié)。命令描述命令代碼發(fā)送命令后,單總線上的響應(yīng)信息注釋溫度轉(zhuǎn)換命令轉(zhuǎn)換溫度啟動溫度轉(zhuǎn)換44h無存儲器命令讀暫存器讀出全部暫存器的內(nèi)容,包括 crc 字節(jié)behds18b20 傳輸多達9 字節(jié)至主機寫暫存器寫暫存器第 2、3 和 4
59、個字節(jié)的數(shù)據(jù)(即 th、tl 和配置寄存器)4eh主機傳送 3 個字節(jié)的數(shù)據(jù)至 ds18b20復(fù)制暫存器將暫存器中的 th、tl 和配置字復(fù)制到 eeprom 中48h無回讀將 th、tl 和配置字從b8hds18b20 傳回讀狀 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 24 頁eepromeeprom 中回讀至?xí)捍嫫髦袘B(tài)至主機主機發(fā)送 rom 指令,以訪問某個指定的 ds18b20,接著就可以發(fā)送 ds18b20支持的某個功能命令。這些命令允許主機寫入或讀出 ds18b20 暫存器、啟動溫度轉(zhuǎn)換以及判斷從機的供電方式。ds18b20 的功能命令如表 4.2 所示。不同類型的單總線芯片有不同的功能命令
60、,也有的芯片無功能命令(如可尋址開關(guān)芯片 ds2405),在實際應(yīng)用中可根據(jù)設(shè)計的需要加以選擇。n開始調(diào)初始化子程序init_1820設(shè)置 rom 命令,調(diào)用寫命令子程序 write_1820調(diào)用延時子程序(1 秒)設(shè)置讀數(shù)據(jù)命令 beh調(diào)用寫命令子程序 write_1820設(shè)置溫度數(shù)據(jù)存放位置,調(diào)用讀命令子程序 r-dat顯示一個器件的溫度值結(jié)束調(diào)初始化子程序init_1820 遼寧科技大學(xué)本科生畢業(yè)設(shè)計 第 25 頁溫度檢測子程序:ds18b20 初始化程序:init_1820: setb p1.6; 總線置 1 nop clr p1.6; 總線置 0 mov r0,#250tsr1: d
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 八下期末考拔高測試卷(3)(解析版)
- 《色彩的聯(lián)想》課件
- 《廉政專題教育講座》課件
- 教育培訓(xùn)行業(yè)前臺接待總結(jié)
- 樂器店前臺崗位職責(zé)總結(jié)
- 2023年-2024年員工三級安全培訓(xùn)考試題附答案【預(yù)熱題】
- 2023年-2024年安全管理人員安全教育培訓(xùn)試題及答案典型題
- 2023年-2024年項目部治理人員安全培訓(xùn)考試題及答案高清
- 1994年安徽高考語文真題及答案
- 1993年福建高考語文真題及答案
- 海域使用分類體系(全)
- 魯教版必修一第二單元第二節(jié)大氣運動——熱力環(huán)流(共28張PPT)
- 解除限制消費申請書
- 汽車整車廠和動力總成廠房火災(zāi)危險性分類
- 7實用衛(wèi)生統(tǒng)計學(xué)總-國家開放大學(xué)2022年1月期末考試復(fù)習(xí)資料-護理本復(fù)習(xí)資料
- 精品資料(2021-2022年收藏)集團各控股子公司董事會議事規(guī)則
- t-橋式起重機設(shè)計計算書
- 全口義齒印模及頜位關(guān)系記錄ppt課件
- 定點洗車協(xié)議書(共2頁)
- 電除塵器計算
- 桿塔選型(高度、形式、基礎(chǔ))
評論
0/150
提交評論