




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、提高項目3數(shù)字溫度傳感器數(shù)字溫度傳感器S18B20 程序設(shè)計實(shí)驗指導(dǎo)程序設(shè)計實(shí)驗指導(dǎo)白白 林林 峰峰 DS18B20是美國DALLAS半導(dǎo)體公司推出的第一片支持“一線總線”接口的溫度傳感器,它具有微型化、低功耗、高性能、抗干擾能力強(qiáng)、易配微處理器等優(yōu)點(diǎn),可直接將溫度轉(zhuǎn)化成串行數(shù)字信號供單片機(jī)處理,可實(shí)現(xiàn)溫度的精度測量與控制。DS18B20封裝外形見圖3-1所示。 3.1 單總線溫度傳感器單總線溫度傳感器DS18B20簡介簡介圖圖3 - 1 DS18B20外形及引腳排列外形及引腳排列DS18B20引腳功能描述 序號名稱描述1GND地信號 2DQ數(shù)據(jù)輸入輸出引腳 3Vdd(Vcc)電源輸入引腳,當(dāng)
2、工作于寄生電源模式時,此引腳必須接地 值得一提的是DQ引腳的I/O為數(shù)據(jù)輸入/輸出端(即單總線),該引腳為漏極開路輸出,常態(tài)下呈高電平。而單總線技術(shù)是DS18B20的一個特點(diǎn),也是目前的技術(shù)熱點(diǎn)之一。 DS18B20的內(nèi)部框圖如圖3-2所示,主要包括寄生電源、溫度傳感器、存放中間數(shù)據(jù)的高速貯存器、用于存儲用戶設(shè)定的溫度上下限值、觸發(fā)器存儲與控制邏輯、8位循環(huán)冗余校驗碼發(fā)生器和64位編號ROM等7部分。下面重點(diǎn)說明高速貯存器。圖圖3-2 DS18B203-2 DS18B20內(nèi)部電路內(nèi)部電路3.3.1內(nèi)部結(jié)構(gòu)n 高速寄存器RAM由9個字節(jié)的存儲器組成。見表3-1所示。其中,第0、1字節(jié)是溫度轉(zhuǎn)換有
3、效位,第0字節(jié)的低3位存放了溫度的高位,高5位存放溫度的正負(fù)值;第1字節(jié)的高4位存放溫度的低位,后4位存放溫度的小數(shù)部分;第2和第3個字節(jié)是DS18B20的與內(nèi)部E2PROM的有關(guān)的TH和TL,用來存儲溫度上限和下限,可以通過程序設(shè)計把溫度的上下限從單片機(jī)中讀到TH和TL中,并通過程序再復(fù)制到DS18B20內(nèi)部E2PROM中,同時TH和TL在器件加電后復(fù)制E2PROM的內(nèi)容;第4個字節(jié)是配置寄存器,第4個字節(jié)的數(shù)字也可以更新;第5,6,7三個字節(jié)是保留的。表表3-1-3高速寄存器高速寄存器RAM字節(jié)地址編號寄存器內(nèi)容功能0溫度值低位LSB高5位是溫度的正正負(fù)號,低3位為溫度的高位1溫度值高位M
4、SB高4位為溫度的低位,低4位為溫度小數(shù)部分2高溫度值(TH)溫度上限,最保存在ROM中3低溫度值(TL)溫度下限,最保存在ROM中4配置寄存器5、6、7保留8CRC校驗值3.1.2硬件連接 DS18B20可以作為單片機(jī)外設(shè),單片機(jī)為主器件,DS18B20為從器件。上圖接法是單片機(jī)與一個DS18B20通信,單片機(jī)只需要一個I/O口就可以控制DS18B20,為了增加單片機(jī)I/O口驅(qū)動的可靠性,總線上接有上拉電阻。 如果要控制多個DS18B20進(jìn)行溫度采集,只要將所有DS18B20的DQ全部連接到總線上就可以了,在操作時,通過讀取每個DS18B20內(nèi)部芯片的序列號來識別。n3.2 單總線數(shù)據(jù)傳輸原
5、理 單總線協(xié)議規(guī)定一條數(shù)據(jù)線傳輸串行數(shù)據(jù),時序有嚴(yán)格的控制,對于DS18B20的程序設(shè)計,必須遵守單總線協(xié)議。DS18B20操作主要分初始化、寫數(shù)據(jù)、讀數(shù)據(jù)。下面分別介紹操作步驟。一、初始化時序 對DS18B20初始化的不得是:單片機(jī)感知DS18B20存在并為下一步操作做準(zhǔn)備,同時啟動DS18B20,程序設(shè)計依據(jù)時序進(jìn)行。設(shè)P1.0口與DS18B20的數(shù)據(jù)DQ連接,初始化過程如下:(1)先將數(shù)據(jù)線置高電平1,然后延時(可有可無);(2)數(shù)據(jù)線拉到低電平0。然后延時750s(該時間范圍可以在480960s),調(diào)用延時函數(shù)決定。(3)數(shù)據(jù)線拉到高電平1。如果單片機(jī)P1.0接DS18B20的DQ引腳
6、,則P1.0 此時設(shè)置高電平,稱為單片機(jī)對總線電平管理權(quán)釋放。此時,P1.0的電平高低由DS18B20的DQ輸出決定;(4)延時等待。如果初始化成功則在1560ms總線上產(chǎn)生一個由DS18B20返回的低電平0,據(jù)該狀態(tài)可以確定它的存在。但是應(yīng)注意,不能無限地等待,不然會使程序進(jìn)入死循環(huán),所以要進(jìn)行超時判斷。(5)若單片機(jī)讀到數(shù)據(jù)線上的低電平0后,說明DS18B20存在并相應(yīng),還要進(jìn)行延時,其延時的時間從發(fā)出高電平算起(第步的時間算起)最少要480s。(6)將數(shù)據(jù)線再次拉到高電平1,結(jié)束初始化步驟。過 程對應(yīng)程序Init_DS18B20(void uchar x = 255; DQ = 1; d
7、elay(10); /稍做延時 DQ = 0; delay(80); DQ = 1; delay(20); while(DQ & x- ); delay(80); DQ = 1;二、對DS18B20寫1字節(jié)數(shù)據(jù)(1)數(shù)據(jù)線先置低電平0,發(fā)送的起始信號。(2)延時確定的時間為15s;(3)按低位到高位順序發(fā)送數(shù)據(jù)(一次只發(fā)送一位)。(4)延時時間為45s,等待DS18B20接收;(5)將數(shù)據(jù)線拉到高電平1,單片機(jī)釋放總線;(6)重復(fù)步驟,直到發(fā)送完整個字節(jié);(7)最后將數(shù)據(jù)線拉高,單片機(jī)釋放總線。過 程void write_OneChar(uchar dat) uchar i = 0; for
8、(i = 8; I 0; i-) DQ = 0; delay(5); DQ = dat & 0 x01; delay(15); DQ = 1; dat = 1; delay(4);對應(yīng)程序三、對DS18B20讀1字節(jié)數(shù)據(jù)(1)將數(shù)據(jù)線拉高,時序圖見圖3-1-5所示;(2)延時2s,(3)將數(shù)據(jù)線拉低到0,(4)延時6s,延時時比寫數(shù)據(jù)時間短;(5)將數(shù)據(jù)線拉高到1,釋放總線(6)延時4s(7)讀數(shù)據(jù)線的狀態(tài)得到一個狀態(tài)位,并進(jìn)行數(shù)據(jù)處理。(8)延時30s。(9)重復(fù)步驟,直到讀取完一個字節(jié)。過 程對應(yīng)程序uchar read_OneChar(void) uchar i = 0; uchar d
9、at = 0; for (i=8;i0;i-) DQ = 0; / 給脈沖信號 dat = 1; DQ = 1; / 給脈沖信號 if(DQ)dat |= 0 x80; delay(4); return(dat);3.3 DS18B20的指令集 DS18B20指令主要有ROM操作指令、溫度操作指令兩類。每一個DS18B20都有自己獨(dú)立的編號,存放在DS18B20內(nèi)部64位ROM中, ROM操作指令主要對其內(nèi)部64位的編號操作。內(nèi)部編號由廠家生產(chǎn)過程中固化,器件編號唯一。格式見表3-2所示。8位CRC碼48位序列號8位產(chǎn)品類型標(biāo)號表3-2n33H 讀ROM。讀DS18B20溫度傳感器ROM中的編
10、碼n(即64位地址)n55H 匹配ROM。發(fā)出此命令之后,接著發(fā)出64位ROMn編碼,訪問單總線上,與該編碼相對應(yīng)的DS18B20并使n之做出響應(yīng),為下一步對該DS18B20的讀/寫做準(zhǔn)備nF0H 搜索ROM。用于確定掛接在同一總線上DS18B20n的個數(shù),識別64位ROM地址,為操作各器件做好準(zhǔn)備nCCH 跳過ROM。忽略64位ROM地址,直接向nDS18B20發(fā)溫度變換命令,適用于一個從機(jī)工作。nECH 告警搜索命令。執(zhí)行后只有溫度超過設(shè)定值上限或n下限的芯片才做出響應(yīng)一、ROM操作指令(5個)二、溫度操作指令(4個)溫度操主要對高速寄存器操作,指令共六個,見下表指令代碼作用44H啟動DS18B20進(jìn)行溫度轉(zhuǎn)換,12位轉(zhuǎn)換時最長為750ms(9位為93.75ms),結(jié)果存入內(nèi)部9字節(jié)的RAM中BEH讀暫存器。讀內(nèi)部RAM中9字節(jié)的溫度數(shù)據(jù)4EH寫暫存器。發(fā)出向內(nèi)部RAM的第2,3字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)。48H復(fù)制暫存器。將RAM中第2,3字節(jié)的內(nèi)容復(fù)制到E2PROM中B8H重調(diào)E2
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025新進(jìn)廠職工安全培訓(xùn)考試試題帶答案解析
- 2025年各個班組安全培訓(xùn)考試試題及參考答案(B卷)
- 【部編版】四年級語文下冊口語交際《朋友相處的秘訣》精美課件
- 2025機(jī)械設(shè)備購銷合同范本下載
- 2025租賃合同印花稅計算
- 2025勞動法律對勞動合同的新規(guī)定
- 【部編版】四年級語文下冊《語文園地二》精美課件
- 紋身模特合作協(xié)議書
- 藥店醫(yī)保協(xié)議續(xù)簽委托書
- 2025企業(yè)物業(yè)保安勞動合同模板
- 第18課《井岡翠竹》課件-2024-2025學(xué)年統(tǒng)編版語文七年級下冊
- 公立醫(yī)院成本核算指導(dǎo)手冊
- 第七章-生物醫(yī)學(xué)工程的倫理問題
- MOOC 中醫(yī)與辨證-暨南大學(xué) 中國大學(xué)慕課答案
- 年產(chǎn)10噸功能益生菌凍干粉的工廠設(shè)計改
- 中聯(lián)HIS系統(tǒng)掛號收費(fèi) 操 作 說 明
- HIT(肝素誘導(dǎo)的血小板減少癥)課件
- Mayo肘關(guān)節(jié)功能評分
- 螺栓加工工序卡(共7頁)
- 《焦慮癥基礎(chǔ)知識》PPT課件.ppt
- 基于鉆石模型的南通紡織產(chǎn)業(yè)競爭力分析
評論
0/150
提交評論