基於DS18B20的溫控系統實習報告

2021-09-29 16:16:58 字數 5755 閱讀 6787

河南農業大學

《智慧型儀器設計實習》

設計說明書

題目: 基於ds18b20的溫控系統

學院理學院

專業: 電子資訊科學與技術

班級07電科4班

學號0708101099

姓名徐亞利

指導教師

成績時間: 2010 年 11 月 29 日至 2010 年 12 月 13 日

智慧型儀器設計實習

設計任務書

題目基於ds18b20的溫控系統

專業、班級 07電科4班學號 0708101099姓名

主要內容、基本要求、主要參考資料等:

主要內容:

功能要求:完成溫控制系統的設計

1) 在設定模式下,使用者可以通過按鍵設定允許最高溫度th 、允許最低溫度tl 及轉換精度。

2) 在測溫模式下,實時測出當前溫度並顯示。(可採用led顯示或lcd顯示,顯示結果精度不得低於0.1°c)。

3)在測溫模式下,實時比較當前溫度與報警溫度,當高於高溫報警th 時,系統紅燈亮,聲音警報響,同時啟動冷卻電路開始製冷(冷卻電路的啟動用繼電器控制);當在高溫報警th與低溫報警tl 之間時,系統綠燈亮。

上述內容為基本要求,可按照自己的理解增加功能使之更完善。

基本要求:

● 明確設計任務,複習與查閱有關資料。設計所用硬體晶元按給定使用。

● 按要求對設計進行簡要說明,總體設計方案,各部分的詳細設計。

● 寫出體會和總結。

要求全部使用a4紙列印稿,不少於。

主要參考資料:

● 李朝青編.《微控制器原理及接**術》(簡明修訂版).北京航空航天大學出版社,1998

● 馮克.《mcs-51微控制器實用子程式及其應用例項》.黑龍江科學技術出版社,1990

● 楊欣榮等.《智慧型儀器原理、設計與發展》.中南大學出版社,2003

● 孫傳友等.《感測技術基礎》. 電子工業出版社,2001

● 王福瑞等.《單片微機測控系統設計大全》.北京航空航天大學出版社,1999

● 科技期刊:《微控制器與嵌入式系統應用》、《實用測試技術》、《自動化儀表》、《感測器世界》、《測控技術》、《電子技術應用》等2023年以後各期。

完成期限: 2023年12月13日

指導教師簽名

一、背景及意義

隨著電子技術的發展,人們的生活日趨數位化,微控制器控制無疑是人們追求的目標之一,它所給人帶來的方便也是不可否定的,其中數字溫度計就是乙個典型的例子,但人們對它的要求越來越高,要為現代人工作、科研、生活、提供更好的更方便的設施就需要從數微控制器技術入手,一切向著數位化控制,智慧型化控制方向發展。多功能的數字溫度計可以給我們的生活帶來很大的方便;支援「一線匯流排」介面的溫度感測器簡化了數字溫度計的設計,降低了成本;以美國maxim/dallas半導體公司的單匯流排溫度感測器ds18b20為核心,以atmel公司的at89s52為控制器設計的ds18b20溫度控制器結構簡單、測溫準確、具有一定控制功能的智慧型溫度控制器。

二、系統分析

美國達拉斯(d.allas)公司生產的單匯流排數字式溫度感測器,由於具有結構簡單、不需要外接電路、可用一根i/o資料線既供電又傳輸資料、可由使用者設定溫度報警界限等特點,近年來廣泛用於各個需要測量和控制溫度的地方。前些年,整合式數字溫度感測器ds18b20的出現開闢了溫度感測器技術的新領域,它利用單匯流排的特點可以方便的實現多點溫度的測量。

而可組網數字式溫度感測器ds18b20則是ds1820的更新產品,利用它,使用者可以方便的構建適合自己的測溫系統,同時,ds18b20可以提高系統的抗干擾性,使系統的設計更靈活、方便,而且適合在惡劣的環境下進行溫度測量。ds18b20的內部結構ds18b20內部結構如圖1所示,主要由4部分組成:64位rom、溫度感測器、非揮發的溫度報警觸發器th和tl、配置暫存器。

ds18b20的管腳排列如圖2所示,dq為數碼訊號輸入/輸出端;gnd為電源地;vdd為外接供電電源輸入端(在寄生電源接線方式時接地,見圖4)。

rom中的64位序列號是出廠前被光刻好的,它可以看作是該ds18b20的位址序列碼,每個ds18b20的64位序列號均不相同。64位rom的排的迴圈冗餘校驗碼(crc=x8+x5+x4+1)。rom的作用是使每乙個ds18b20都各不相同,這樣就可以實現一根匯流排上掛接多個ds18b20的目的。

圖1 ds18b20的內部結構

圖2 ds18b20的管腳排列

ds18b20詳細引腳功能描述

ds18b20中的溫度感測器完成對溫度的測量,用16位符號擴充套件的二進位制補碼讀數形式提供,以0.0625℃/lsb形式表達,其中s為符號位。ds18b20 溫度/數字對應關係如下表1所示:

表1 實測溫度和數字輸出的對應關係:

table 1 relationship between measured temperatures and digital output

ds18b20內部暫存儲存器的第5個位元組是結構暫存器,它主要用於確定溫度值的數字轉換解析度,位元組結構如下

其中 r1,r2用於設定解析度,如下表2所示

表2 ds18b20解析度設定表

三、系統硬體設計

ds18b20與微控制器的典型介面設計

圖3以mcs-51系列微控制器為例,畫出了ds18b20與微處理器的典型連線。圖3(a)中ds18b20採用寄生電源方式,其vdd和gnd端均接地,圖3(b)中ds18b20採用外接電源方式,其vdd端用3v~5.5v電源供電。

圖3(a) 寄生電源工作方式

圖3(b) 外接電源工作方式

四、系統軟體設計

ds18b20的一線工作協議流程是:初始化→rom操作指令→儲存器操作指令→資料傳輸。其工作時序包括初始化時序、寫時序和讀時序

初始化時序

寫時序讀時序

3個子程式:init為初始化子程式,write為寫(命令或資料)子程式,read為讀資料子程式,所有的資料讀寫均由最低位開始。

ini11:clrdat

djnzr2,ini11;主機發復位脈衝持續3μs×200=600μs

setbdat;主機釋放匯流排,口線改為輸入

movr2,#30

in12:djnzr2,ini12;ds18b20等待2μs×30=60μs

clrc

orlc,dat;ds18b20資料線變低(存在脈衝)嗎?

jcini10;ds18b20未準備好,重新初始化

movr6,#80

ini13:orlc,dat

jcini14;ds18b20資料線變高,初始化成功

djnzr6,ini13;資料線低電平可持續3μs×80=240μs

sjmpini10;初始化失敗,重來

ini14:movr2,#240

in15:djnzr2,ini15;ds18b20應答最少2μs×240=480μs

retwrite:clrea

movr3,#8;迴圈8次,寫乙個位元組

wr11:setbdat

movr4,#8

rrca;寫入位從a中移到cy

clrdat

wr12:djnzr4,wr12

;等待16μs

movdat,c;命令字按位依次送給ds18b20

movr4,#20

wr13:djnzr4,wr13

;保證寫過程持續60μs

djnzr3,wr11

;未送完乙個位元組繼續

setbdat

retread:clrea

movr6,#8;迴圈8次,讀乙個位元組

rd11:clrdat

movr4,#4

nop;低電平持續2μs

setbdat;口線設為輸入

rd12:djnzr4,rd12

;等待8μs

movc,dat

;主機按位依次讀入ds18b20的資料

rrca;讀取的資料移入a

movr5,#30

rd13:djnzr5,rd13

;保證讀過程持續60μs

djnzr6,rd11

;讀完乙個位元組的資料,存入a中

setbdat

ret主機控制ds18b20完成溫度轉換必須經過三個步驟:初始化、rom操作指令、儲存器操作指令。必須先啟動ds18b20開始轉換,再讀出溫度轉換值。

假設一線僅掛接乙個晶元,使用預設的12位轉換精度,外接供電電源,可寫出完成一次轉換並讀取溫度值子程式getwd。

getwd:lcallinit

mova,#0cch

lcallwrite;發跳過rom命令

mova,#44h

lcallwrite;發啟動轉換命令

lcallinit

mova,#0cch;發跳過rom命令

lcallwrite

mova,#0beh;發讀儲存器命令

lcallwrite

lcallread

movwdlsb,a

;溫度值低位位元組送wdlsb

lcallread

movwdmsb,a

;溫度值高位位元組送wdmsb

ret……

子程式getwd讀取的溫度值高位位元組送wdmsb單元,低位位元組送wdlsb單元,再按照溫度值位元組的表示格式及其符號位,經過簡單的變換即可得到實際溫度值。

五、結束語

ds18b20是目前最流行的單匯流排溫度感測器之一。它的介面電路簡單、可靠,因此咋溫度檢測系統以及測控網路中將會有廣泛的應用前景。

【參考文獻】

1.李廣弟等.《微控制器基礎》修訂本.北京航空航天大學出版社,2001

2.李朝青編.《微控制器原理及接**術》(簡明修訂版).北京航空航天大學出版社,1998

3.公茂法等.《微控制器人機介面例項》.北京航空航天大學出版社,1998

4.馮克.《mcs-51微控制器實用子程式及其應用例項》.黑龍江科學技術出版社,1990

5.王福瑞等.《單片微機測控系統設計大全》.北京航空航天大學出版社,1999

6.徐仁貴等.《單片微型計算機應用技術》.機械工業出版社,2001

7.楊恢先等.《微控制器原理及應用》國防科技大學出版社,2003

8.李鴻等.《微控制器原理及應用》.湖南大學出版社,2002

9.徐惠民等.《單片微型計算機原理、介面與應用》.北京郵電大學出版社,2001

10.楊欣榮等.《智慧型儀器原理、設計與發展》.中南大學出版社,2003

六、實習心得

經過這幾天的努力,實習終於完成了。雖然我只是擔任這次課程設計的部分主要工作,負責對ds18b20進行資料的查閱和部分程式編寫。由於ds18b20與微機處理器間採用序列資料傳送,因此,在對ds18b20進行程式編寫時,必須嚴格保重讀寫時序,否則將無法讀取測溫結果。

在ds18b20測溫程式設計中,向ds18b20發出溫度轉換後,程式總要等待ds18b20的返回訊號,一旦ds18b20接觸不好或斷線,當程式讀該ds18b20時,將沒有返回訊號,程式將陷入死迴圈。這一點在進行ds18b20硬體連線和軟體設計過程中給予了一定的重視。

整個設計通過了軟體和硬體上的除錯、**。我想這對於自己以後的學習和工作都會有很大的幫助的。在這次設計中遇到了很多問題,在實際設計中才發現,書本上理論性的東西與在實際運用中的還是有一定的出入的,所以有些問題不但要深入地理解,而且要不斷地更正以前的錯誤思維。

一切問題必須要靠自己一點一滴的解決,而在解決的過程中也是我個人能力提公升的過程。對於微控制器設計,其硬體電路是比較簡單的,主要是解決程式設計中的問題,而程式設計是乙個很靈活的東西,它反映了你解決問題的邏輯思維和創新能力,它才是乙個設計的靈魂所在。因此在整個設計過程中大部分時間是用在程式上面的。

很多子程式是可以借鑑書本上的,但怎樣銜接各個子程式才是關鍵的問題所在,這需要對微控制器的結構很熟悉。因此可以說微控制器的設計是軟體和硬體的結合,二者是密不可分的。

菜鳥的ds18b20總結

之前玩了一下ds18b20,但一直沒有總結,忽然有種總結的衝動,所以就寫了這些。以下的這些只是我個人對部分文件的理解,水平不夠,難免會有誤,請各位指正,一 初始化,如圖一 資料線拉低至少480us後再將其拉高,大約等待15 60us,就會收到60 240us的低電平的存在脈衝,其後資料線會恢復被拉高...

我寫DS18B20總結

unsigned int n for n 0 n void chushihua dq 0 delay 600 送480us脈衝 根據時序 dq 1 delay 35 大約60us左右 這樣就完成了ds18b20的初始化工作。初始化之後要向資料埠dq寫資料,寫0或者是1 當主機匯流排從高電平拉到低電平...

unsp C編寫的DS18B20驅動

分享 u nsp c編寫的ds18b20驅動 本人寫的乙個ds18b20的驅動程式,這是我寫的第乙個時序程式,厚臉皮地拿出來與大家 分享 希望大家支援。不足之處還望大家不吝賜教。謝謝!工程名稱 ds18b20 功能描述 溫度感測器 涉及的庫 組成檔案 硬體連線 ioa15 s18b20的dq腳 ed...