




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、數(shù)字溫度計課程設(shè)計報告1 課題說明隨著現(xiàn)代信息技術(shù)的飛速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實現(xiàn),能夠獨立工作的溫度檢測和顯示系統(tǒng)應(yīng)用于諸多領(lǐng)域。傳統(tǒng)的溫度檢測以熱敏電阻為溫度敏感元件。熱敏電阻的成本低,但需后續(xù)信號處理電路,而且可靠性相對較差,測溫準確度低,檢測系統(tǒng)也有一定的誤差。這里設(shè)計的數(shù)字溫度計具有讀數(shù)方便,測溫范圍廣,測溫精確,數(shù)字顯示,適用范圍寬等特點。本設(shè)計選用AT89C51型單片機作為主控制器件,DS18B20作為測溫傳感器,通過LCD1602實現(xiàn)溫度顯示。通過DS18B20直接讀取被測溫度值,進行數(shù)據(jù)轉(zhuǎn)換,該器件的物理化學性能穩(wěn)定,線性度較好,在0100最大線性偏差小于0.01。該器件可
2、直接向單片機傳輸數(shù)字信號,便于單片機處理及控制。另外,該溫度計還能直接采用測溫器件測量溫度,從而簡化數(shù)據(jù)傳輸與處理過程。2 實現(xiàn)方法采用數(shù)字溫度芯片DS18B20 測量溫度,輸出信號全數(shù)字化。采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計DS18B20和AT89C51單片機構(gòu)成的溫度測量裝置,它直接輸出溫度的數(shù)字信號,也可直接與計算機連接。采用AT89C51單片機控制,軟件編程的自由度大,可通過編程實現(xiàn)各種各樣的算術(shù)算法和邏輯控制,而且體積小,硬件實現(xiàn)簡單,安裝方便。該系統(tǒng)利用AT89S51芯片控制溫度傳感器DS18B20進行實時溫度檢測并顯示,能夠?qū)崿F(xiàn)快速測量環(huán)境溫度,并可以根據(jù)需要設(shè)定上下限溫度。該
3、系統(tǒng)擴展性非常強。該測溫系統(tǒng)電路簡單、精確度較高、實現(xiàn)方便、軟件設(shè)計也比較簡單。系統(tǒng)框圖如圖1所示。時鐘振蕩電路AT89C51復位電路電源電路LED顯示DS18B20溫度傳感器圖1 DS18B20溫度測溫系統(tǒng)框圖3 硬件設(shè)計3.1 單片機最小系統(tǒng)設(shè)計 單片機小系統(tǒng)基本組成:單片機小系統(tǒng)由AT89S51芯片、電源電路、振蕩電路和復位電路組成。3.1.1 AT89S51芯片AT89S51是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含4k Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲
4、技術(shù)制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,AT89S51在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。引腳圖圖2 AT89S513.2 各單元電路3.2.1 電源電路3.2.2 振蕩電路3.2.3 復位電路 4 軟件設(shè)計4.1 主程序流程圖主程序的主要功能是負責溫度的實時顯示、讀出并處理DS18B20的測量的當前溫度值,溫度測量每1s進行一次。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序流程見圖7所示。4.2 各子程序流程圖1、初始化程序所有操作都必須由初始化脈沖開始,波形如圖,單片機先輸出一個480960us低電平到DQ引
5、腳,再將DQ引腳置高電平,過1560us后檢測DQ引腳狀態(tài),若為低電平則DS18B20工作正常,否則初始化失敗,不能正常測量溫度。2、 讀取溫度子程序 讀取溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需進行CRC校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。主要包括以下三個命令:(1)寫暫存器命令 【4EH】這個命令為由TH寄存器開始向DS18B20暫存器寫入數(shù)據(jù),4EH命令后的3字節(jié)數(shù)據(jù)將被保存到暫存器的地址2、3、4(TH、TL、CONFIG)三個字節(jié)。所有數(shù)據(jù)必須在復位脈沖前寫完。即如果只想寫一個字節(jié)的數(shù)據(jù)到地址2,可按如下流程:1、 初始化;2、 寫0CCH,跳過ROM檢測;3、 寫4
6、EH; 4、 寫1字節(jié)數(shù)據(jù);5、 復位,即向DQ輸出480960us低電平(2)讀暫存命令【BEH】這個命令由字節(jié)0讀取9個暫存器內(nèi)容,如果不需要讀取所有暫存內(nèi)容,可隨時輸出復位脈沖終止讀取過程(3)轉(zhuǎn)換溫度命令【44H】這個命令啟動溫度轉(zhuǎn)換過程。轉(zhuǎn)換溫度時DS18B20保持空閑狀態(tài),此時如果單片機發(fā)出讀命令, DS18B20將輸出0直到轉(zhuǎn)換完成,轉(zhuǎn)換完成后將輸出1。3、寫流程圖寫時隙:寫時隙由DQ引腳的下降沿引起。18B20有寫1和寫0兩種寫時隙。所有寫時隙必須持續(xù)至少60s,兩個時隙之間至少有1s的恢復時間。DS18B20在DQ下降沿后15s60s間采樣DQ引腳,若此時DQ為高電平,則寫入
7、一位1,若此時DQ為低電平,則寫入一位0,如圖9所示。所以,若想寫入1,則單片機應(yīng)先將DQ置低電平,15us后再將DQ置高電平,持續(xù)45s;若要寫入0,則將DQ置低電平,持續(xù)60s。4、讀流程圖讀時隙:讀時隙由DQ下降沿引起,持續(xù)至少1s的低電平后釋放總線(DQ置1)DS18B20的輸出數(shù)據(jù)將在下降沿15s后輸出,此時單片機可讀取1位數(shù)據(jù)。讀時隙結(jié)束時要將DQ置1。所有讀時隙必須持續(xù)至少60s,兩個時隙之間至少有1s的恢復時間。圖10 讀流程圖33 / 24文檔可自由編輯打印5. DS-18B20 數(shù)字溫度傳感器 該產(chǎn)品采用美國DALLAS公司生產(chǎn)的 DS18B20可組網(wǎng)數(shù)字溫度傳感器芯片封裝
8、而成,具有耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。 1 技術(shù)性能描述 1.1 獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。 1.2 測溫范圍 55+125,固有測溫分辨率0.5。 1.3 支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個,實現(xiàn)多點測溫,如果數(shù)量過多,會使供電電源電壓過低,從而造成信號傳輸?shù)牟环€(wěn)定。 1.4 工作電源: 35V/DC 1.5 在使用中不需要任何外圍元件 1.6 測量結(jié)果以912位數(shù)字量方式串行傳送 1.7 不銹鋼保護管直徑 6
9、1.8 適用于DN1525, DN40DN250各種介質(zhì)工業(yè)管道和狹小空間設(shè)備測溫 1.9 標準安裝螺紋 M10X1, M12X1.5, G1/2”任選 1.10 PVC電纜直接出線或德式球型接線盒出線,便于與其它電器設(shè)備連接。 2產(chǎn)品型號與規(guī)格 型 號 測溫范圍 安裝螺紋 電纜長度 適用管道 TS-18B20 -55125 無 1.5 m TS-18B20A -55125 M10X1 1.5m DN1525 TS-18B20B -55125 1/2”G 接線盒 DN40 60 3接線說明 特點 獨特的一線接口,只需要一條口線通信 多點能力,簡化了分布式溫度傳感應(yīng)用 無需外部元件 可用數(shù)據(jù)總線
10、供電,電壓范圍為3.0 V至5.5 V 無需備用電源 測量溫度范圍為-55 ° C至+125 。華氏相當于是-67 ° F到257華氏度 -10 ° C至+85 ° C范圍內(nèi)精度為±0.5 ° C 溫度傳感器可編程的分辨率為912位 溫度轉(zhuǎn)換為12位數(shù)字格式最大值為750毫秒 用戶可定義的非易失性溫度報警設(shè)置 應(yīng)用范圍包括恒溫控制,工業(yè)系統(tǒng),消費電子產(chǎn)品溫度計,或任何熱敏感系統(tǒng) 描述該DS18B20的數(shù)字溫度計提供9至12位(可編程設(shè)備溫度讀數(shù)。信息被發(fā)送到/從DS18B20 通過1線接口,所以中央微處理器與DS18B20只有一個一條
11、口線連接。為讀寫以及溫度轉(zhuǎn)換可以從數(shù)據(jù)線本身獲得能量,不需要外接電源。 因為每一個DS18B20的包含一個獨特的序號,多個ds18b20s可以同時存在于一條總線。這使得溫度傳感器放置在許多不同的地方。它的用途很多,包括空調(diào)環(huán)境控制,感測建筑物內(nèi)溫設(shè)備或機器,并進行過程監(jiān)測和控制。 8引腳封裝 TO-92封裝 用途 描述 5 1 接地 接地 4 2 數(shù)字 信號輸入輸出,一線輸出:源極開路 3 3 電源 可選電源管腳。見"寄生功率"一節(jié)細節(jié)方面。電源必須接地,為行動中,寄生蟲功率模式。 不在本表中所有管腳不須接線 。 DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫
12、度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。該裝置信號線高的時候,內(nèi)部電容器 儲存能量通由1線通信線路給片子供電,而且在低電平期間為片子供電直至下一個高電平的到來重新充電。 DS18B20的電源也可以從外部3V-5 .5V的電壓得到。 DS18B20采用一線通信接口。因為一線通信接口,必須在先完成ROM設(shè)定,否則記憶和控制功能將無法使用。主要首先提供以下功能命令之一: 1 )讀ROM, 2 )ROM匹配, 3 )搜索ROM, 4 )跳過ROM, 5 )報警檢查。這些指令操作作用在沒有一個器件的64位光刻ROM序列號,可以在掛在一線上多個器件選定某一個器件,同時,總線也可以知道總線上
13、掛有有多少,什么樣的設(shè)備。 若指令成功地使DS18B20完成溫度測量,數(shù)據(jù)存儲在DS18B20的存儲器。一個控制功能指揮指示DS18B20的演出測溫。測量結(jié)果將被放置在DS18B20內(nèi)存中,并可以讓閱讀發(fā)出記憶功能的指揮,閱讀內(nèi)容的片上存儲器。溫度報警觸發(fā)器TH和TL都有一字節(jié)EEPROM 的數(shù)據(jù)。如果DS18B20不使用報警檢查指令,這些寄存器可作為一般的用戶記憶用途。在片上還載有配置字節(jié)以理想的解決溫度數(shù)字轉(zhuǎn)換。寫TH,TL指令以及配置字節(jié)利用一個記憶功能的指令完成。通過緩存器讀寄存器。所有數(shù)據(jù)的讀,寫都是從最低位開始。 DS18B20有4個主要的數(shù)據(jù)部件: (1)光刻ROM中的64位序列
14、號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20的目的。 (2) DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號擴展的二進制補碼讀數(shù)形式提供,以0.0625/LSB形式表達,其中S為符號位。 4.3.2存儲器 DS18B20的存儲器包括高速暫存器RAM和可電擦除RAM,可電擦除RAM又包括溫度觸發(fā)器TH和TL,
15、以及一個配置寄存器。存儲器能完整的確定一線端口的通訊,數(shù)字開始用寫寄存器的命令寫進寄存器,接著也可以用讀寄存器的命令來確認這些數(shù)字。當確認以后就可以用復制寄存器的命令來將這些數(shù)字轉(zhuǎn)移到可電擦除RAM中。當修改過寄存器中的數(shù)時,這個過程能確保數(shù)字的完整性。 高速暫存器RAM是由8個字節(jié)的存儲器組成;第一和第二個字節(jié)是溫度的顯示位。第三和第四個字節(jié)是復制TH和TL,同時第三和第四個字節(jié)的數(shù)字可以更新;第五個字節(jié)是復制配置寄存器,同時第五個字節(jié)的數(shù)字可以更新;六、七、八三個字節(jié)是計算機自身使用。用讀寄存器的命令能讀出第九個字節(jié),這個字節(jié)是對前面的八個字節(jié)進行校驗。 4.3.4.2 溫度的讀取 DS1
16、8B20在出廠時以配置為12位,讀取溫度時共讀取16位,所以把后11位的2進制轉(zhuǎn)化為10進制后在乘以0.0625便為所測的溫度,還需要判斷正負。前5個數(shù)字為符號位,當前5位為1時,讀取的溫度為負數(shù);當前5位為0時,讀取的溫度為正數(shù)。16位數(shù)字擺放是從低位到高位。4.3.4.3DS18B20控制方法 指 令 約定代碼 操 作 說 明 溫度轉(zhuǎn)換 44H 啟動DS18B20進行溫度轉(zhuǎn)換 讀暫存器 BEH 讀暫存器9位二進制數(shù)字 寫暫存器 4EH 將數(shù)據(jù)寫入暫存器的TH、TL字節(jié) 復制暫存器 48H 把暫存器的TH、TL字節(jié)寫到E2RAM中 重新調(diào)E2RAM B8H 把E2RAM中的TH、TL字節(jié)寫到
17、暫存器TH、TL字節(jié) 讀電源供電方式 B4H 啟動DS18B20發(fā)送電源供電方式的信號給主CPU 4.3.4.4 DS18B20的初始化 (1) 先將數(shù)據(jù)線置高電平“1”。 (2) 延時(該時間要求的不是很嚴格,但是盡可能的短一點) (3) 數(shù)據(jù)線拉到低電平“0”。 (4) 延時750微秒(該時間的時間范圍可以從480到960微秒)。 (5) 數(shù)據(jù)線拉到高電平“1”。 (6) 延時等待(如果初始化成功則在15到60毫秒時間之內(nèi)產(chǎn)生一個由DS18B20所返回的低電平“0”。據(jù)該狀態(tài)可以來確定它的存在,但是應(yīng)注意不能無限的進行等待,不然會使程序進入死循環(huán),所以要進行超時控制)。 (7) 若CPU讀
18、到了數(shù)據(jù)線上的低電平“0”后,還要做延時,其延時的時間從發(fā)出的高電平算起(第(5)步的時間算起)最少要480微秒。 (8) 將數(shù)據(jù)線再次拉高到高電平“1”后結(jié)束。 4.3.4.5 DS18B20的寫操作 (1) 數(shù)據(jù)線先置低電平“0”。 (2) 延時確定的時間為15微秒。 (3) 按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位)。 (4) 延時時間為45微秒。 (5) 將數(shù)據(jù)線拉到高電平。 (6) 重復上(1)到(6)的操作直到所有的字節(jié)全部發(fā)送完為止。 (7) 最后將數(shù)據(jù)線拉高。 4.3.4.6 DS18B20的讀操作 (1)將數(shù)據(jù)線拉高“1”。 (2)延時2微秒。 (3)將數(shù)據(jù)線拉低“0”。
19、 (4)延時15微秒。 (5)將數(shù)據(jù)線拉高“1”。 (6)延時15微秒。 (7)讀數(shù)據(jù)線的狀態(tài)得到1個狀態(tài)位,并進行數(shù)據(jù)處理。 (8)延時30微秒。 5.DS18B20測溫原理S18B20的測溫原理如圖15所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入,圖中還隱含著計數(shù)門,當計數(shù)門打開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖后進行計數(shù),進而完成溫度測量.計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55 所對應(yīng)的基數(shù)分別置入減法計數(shù)器1
20、和溫度寄存器中,減法計數(shù)器1和溫度寄存器被預置在-55 所對應(yīng)的一個基數(shù)值。減法計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當減法計數(shù)器1的預置值減到0時溫度寄存器的值將加1,減法計數(shù)器 1的預置將重新被裝入,減法計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到減法計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫圖2中的斜率累加器用于補償和修正測溫過程中的非線性其輸出用,于修正減法計數(shù)器的預置值,只要計數(shù)門仍未關(guān)閉就重復上述過程,直至溫度寄存器值達到被測溫度值,這就是DS18B20的測溫原理。另外,由于DS18B20單線通信功能是分時完成
21、的,它有嚴格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化DS18B20(發(fā)復位脈沖)發(fā)ROM功能命令發(fā)存儲器操作命令處理數(shù)據(jù)。預置斜率累加器比較低溫度系數(shù)振蕩器計數(shù)器1溫度寄存器Tx預置=0高溫度系數(shù)振蕩器-0計數(shù)器2T1加1停止T2圖15 DS18B20測溫原理圖在正常測溫情況下,DS1820的測溫分辨力為0.5,可采用下述方法獲得高分辨率的溫度測量結(jié)果:首先用DS1820提供的讀暫存器指令(BEH)讀出以0.5為分辨率的溫度測量結(jié)果,然后切去測量結(jié)果中的最低有效位(LSB),得到所測實際溫度的整數(shù)部分Tz,然后再用BEH指令取計數(shù)器1的計
22、數(shù)剩余值Cs和每度計數(shù)值CD??紤]到DS1820測量溫度的整數(shù)部分以0.25、0.75為進位界限的關(guān)系,實際溫度Ts可用下式計算:Ts=(Tz-0.25)+(CD-Cs)/CD數(shù)字溫度傳感器DS18B20介紹 1、DS18B20的主要特性 1.1、適應(yīng)電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數(shù) 據(jù)線供電 1.2、獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊 1.3、 DS18B20支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫 1.4、DS18B20在使用中不需要任何外圍元件,全部
23、 傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi) 1.5、溫范圍55+125,在-10+85時精度為±0.5 1.6、可編程 的分辨率為912位,對應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實現(xiàn)高精度測溫 1.7、在9位分辨率時最多在 93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快 1.8、測量結(jié)果直接輸出數(shù)字溫度信號,以"一 線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力 1.9、負壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀, 但不能正常工作。 2、DS18
24、B20的外形和內(nèi)部結(jié)構(gòu)DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM 、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20的外形及管腳排列如下圖1: DS18B20引腳定義: (1)DQ為數(shù)字信號輸入/輸出端; (2)GND為電源地; (3)VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。 圖2: DS18B20內(nèi)部結(jié)構(gòu)圖 3、DS18B20工作原理 DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由2s 減為750ms。 DS18B20測溫原理如圖3所示。圖中低溫度系數(shù)晶振的振蕩頻率
25、受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振 隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預置在55所對應(yīng)的一個基數(shù)值。計數(shù)器1對 低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當計數(shù)器1的預置值減到0時,溫度寄存器的值將加1,計數(shù)器1的預置將重新被裝入,計數(shù)器1重 新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即 為所測溫度。圖3中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預置值。 圖3: DS18B20測溫原理框圖 DS1
26、8B20有4個主要的數(shù)據(jù)部件: (1)光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位 (28H)是產(chǎn)品類型標號,接著的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/LSB形式表達,其中S為符號位。 表1: DS18B20
27、溫度值格式表 這是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ù)字輸出為FE6FH,-55的數(shù)字輸出為FC90H 。 表2: DS18B20溫度數(shù)據(jù)表 (3)DS18B20溫度傳感器的存儲器 DS18B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的
28、EEPRAM,后者存放高溫度和低溫度觸發(fā)器 TH、TL和結(jié)構(gòu)寄存器。 (4)配置寄存器 該字節(jié)各位的意義如下: 表3: 配置寄存器結(jié)構(gòu) TMR1R011111低五位一直都是"1",TM是測試模式位,用于設(shè)置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設(shè)置為0,用 戶不要去改動。R1和R0用來設(shè)置分辨率,如下表所示:(DS18B20出廠時被設(shè)置為12位) 表4: 溫度分辨率設(shè)置表 R1R0分辨率溫度最大轉(zhuǎn)換時間009位93.75ms 0110位187.5ms 1011位375ms 1112位750ms 4、高速暫存存儲器 高速暫存存儲器由9個字節(jié)組成,
29、其分配如表5所示。當溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補碼形式存放在 高速暫存存儲器的第0和第1個字節(jié)。單片機可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后,數(shù)據(jù)格式如表1所示。對應(yīng)的溫度計算: 當符號位S=0時,直接將二進制位轉(zhuǎn)換為十進制;當S=1時,先將補碼變?yōu)樵a,再計算十進制值。表 2是對應(yīng)的一部分溫度值。第九個字節(jié)是 冗余檢驗字節(jié)。 表5: DS18B20暫存寄存器分布 寄存器內(nèi)容 字節(jié)地址溫度值低位 (LS Byte)0溫度值高位 (MS Byte)1高溫限值(TH)2低溫限值(TL)3配置寄存器4保留5保留6保留7CRC校驗值8根據(jù)DS18B20的通訊協(xié)議,主機(
30、單片機)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進行 復位操作,復位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進行預定的操作。復位要求主CPU將數(shù)據(jù)線下拉500微秒,然后 釋放,當DS18B20收到信號后等待1660微秒左右,后發(fā)出60240微秒的存在低脈沖,主CPU收到此信號表示復位成功。 表6: ROM指令表 指 令 約定代碼功 能讀ROM33H讀DS1820溫度傳感器ROM中的編碼(即64位地址) 符合 ROM 55H發(fā)出此命令之后,接著發(fā)出 64 位 ROM 編碼,訪問單總線上與該編碼相對應(yīng)的 DS1820 使之作出
31、響應(yīng),為下一步對該 DS1820 的讀寫作準備。 搜索 ROM 0FOH用于確定掛接在同一總線上 DS1820 的個數(shù)和識別 64 位 ROM 地址。為操作各器件作好準備。 跳過 ROM 0CCH忽略 64 位 ROM 地址,直接向 DS1820 發(fā)溫度變換命令。適用于單片工作。 告警搜索命令 0ECH執(zhí)行后只有溫度超過設(shè)定值上限或下限的片子才做出響應(yīng)。 表6: RAM指令表 指 令 約定代碼功 能溫度變換44H啟動DS1820進行溫度轉(zhuǎn)換,12位轉(zhuǎn)換時最長為750ms(9位為93.75ms)。結(jié)果存入內(nèi)部9字節(jié)RAM中。 讀暫存器 0BEH 讀內(nèi)部RAM中9字節(jié)的內(nèi)容 寫暫存器 4EH 發(fā)出
32、向內(nèi)部RAM的3、4字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)。 復制暫存器 48H 將RAM中第3 、4字節(jié)的內(nèi)容復制到EEPROM中。 重調(diào) EEPROM 0B8H 將EEPROM中內(nèi)容恢復到RAM中的第3 、4字節(jié)。 讀供電方式 0B4H 讀DS1820的供電模式。寄生供電時DS1820發(fā)送“ 0 ”,外接電源供電 DS1820發(fā)送“ 1 ”。 6、DS18B20使用中注意事項 DS1820雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點,但在實際應(yīng)用中也應(yīng)注意以下幾方面的問題: 6.1、較小的硬件開銷需要相對復雜的軟件進行補償,由于DS1820與微處理器
33、間采用串行數(shù)據(jù)傳送,因此 ,在對DS1820進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結(jié)果。在使用PL/M、C等高級語言進行系統(tǒng)程序設(shè)計時,對 DS1820操作部分最好采用匯編語言實現(xiàn)。 6.2、在DS1820的有關(guān)資料中均未提及單總線上所掛DS1820數(shù)量問題,容易使人誤認為可以掛任意多個 DS1820,在實際應(yīng)用中并非如此。當單總線上所掛DS1820超過8個時,就需要解決微處理器的總線驅(qū)動問題,這一點在進行多點測溫系統(tǒng)設(shè)計時 要加以注意。 6.3、連接DS1820的總線電纜是有長度限制的。試驗中,當采用普通信號電纜傳輸長度超過50m時,讀取的 測溫數(shù)據(jù)將發(fā)生錯誤。當將總線電
34、纜改為雙絞線帶屏蔽電纜時,正常通訊距離可達150m,當采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時,正 常通訊距離進一步加長。這種情況主要是由總線分布電容使信號波形產(chǎn)生畸變造成的。因此,在用DS1820進行長距離測溫系統(tǒng)設(shè)計時要充分考 慮總線分布電容和阻抗匹配問題。 6.4、在DS1820測溫程序設(shè)計中,向DS1820發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS1820的返回信號,一旦 某個DS1820接觸不好或斷線,當程序讀該DS1820時,將沒有返回信號,程序進入死循環(huán)。這一點在進行DS1820硬件連接和軟件設(shè)計時也要給予 一定的重視。 測溫電纜線建議采用屏蔽4芯雙絞線,其中一對線接地線與信號線,另一
35、組接VCC和地線,屏蔽層在源端單點接地7.電路的仿真圖、調(diào)試、程序燒寫用Keil與Proteus 搭建一個硬件仿真系統(tǒng),進行聯(lián)調(diào), 在調(diào)試過程中要注意,Proteus中加載的是hex文件,因此在Keil運行時要生成hex文件才可以實現(xiàn)對系統(tǒng)的控制。燒寫程序的接口圖如圖14:將單片機小系統(tǒng)按圖14接好線后,用progisp下載線軟件燒寫。燒寫的步驟為:1選擇單片機型號;2打開hex 文件;3選擇串口;4設(shè)置選項(不用修改);5下載。在燒寫程序時注意要先安裝單片機的驅(qū)動程序,另外,仿真器調(diào)試和實際燒進單片機內(nèi)運行時存在運行程序時間的不同的問題。由于在調(diào)試的時候可以控制程序的單步運行,就相當于把每條
36、語句之間的時間拉了很長,而且整個系統(tǒng)的運行速度會比正常運行要低。而單片機運行的時候是全速的,由于這兩個時間的差別就決定了在調(diào)試時序方面的程序的時候會出現(xiàn)錯誤,可能在仿真器調(diào)試的時候很正常,燒進單片機內(nèi)運行時不行,因此在燒寫程序時要注意主要方面的問題。 8. 系統(tǒng)優(yōu)缺點優(yōu)點:(1)該系統(tǒng)流程符合數(shù)字溫度計的要求;(2)操作簡單易用;(3)功能全,實現(xiàn)自動化數(shù)碼管顯示;(4)功能可擴充性強。缺點:(1)該系統(tǒng)在溫度傳輸?shù)臅r間上有一定的延遲,不能立即顯示溫度;(2)在DS1820測溫程序設(shè)計中,向DS1820發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS1820的返回信號,一旦某個DS1820接觸不好或斷線,
37、當程序讀該DS1820時,將沒有返回信號,程序進入死循環(huán);(3)較小的硬件開銷需要相對復雜的軟件進行補償,在二者的權(quán)衡方面還需進一步提高。9. 心得與體會在這次實驗中,我學到很多東西,加強了我的動手能力,并且培養(yǎng)了我的獨立思考能力。特別是在做實驗報告時,因為在做硬件時出現(xiàn)很多問題,如果不解決的話,將會很難的繼續(xù)下去。還有畫圖時,也要用軟件畫圖,還有動手這次實驗,使測試技術(shù)這門課的一些理論知識與實踐相結(jié)合,更加深刻了我對測試技術(shù)這門課的認識,鞏固了我的理論知識。不過這次實驗雖好,但是我認為它安排的時間不是很好,還有就是考試時間緊張,因為這些時間安排與我們的課程設(shè)計時間有沖突,使我不能專心于任一項
38、,結(jié)果不能保證每一個項目質(zhì)量,參考文獻1 余發(fā)山、王福忠,單片機原理及應(yīng)用技術(shù);徐州 中國礦業(yè)大學出版社,20032李秀忠.單片機應(yīng)用技術(shù):匯編語言M.單片微型計算機. 北京,2006.73周航慈.單片機程序設(shè)計基礎(chǔ)M. 單片微型計算機.北京, 2003.7.4陳明熒.8051單片機課程設(shè)計實訓教材M.單片微型計算機.北京,2003.3.5 6 DS18B20 數(shù)據(jù)手冊附錄:DATA_BUSBITP3.3FLAGBIT00HTEMP_LEQU 30HTEMP_HEQU31HTEMP_DPEQU32HTEMP_INTEQU33HTEMP_BAIEQU34HTEMP_SHIEQU35HTEMP_G
39、EEQU36HDIS_BAIEQU37HDIS_SHIEQU38HDIS_GEEQU39HDIS_DPEQU3AHDIS_ADDEQU3BHORG 0000H AJMPSTARTORG 0050HSTART:MOVSP,#40HMAIN:LCALLREAD_TEMPLCALLPROCESSAJMPMAIN;讀溫度程序READ_TEMP: LCALLRESET_PULSE MOV A,#0CCHLCALL WRITEMOVA,#44HLCALL WRITELCALLDISPLAYLCALLRESET_PULSEMOVA,#0CCHLCALLWRITEMOVA,#0BEHLCALL WRITELCALLREADRET;復位脈沖程序RESET_PULSE:RESET:SETBDATA_BUSNOPNOPCLRDATA_BUSMOVR7,#255DJNZR7,$SETB DATA_BUSMOVR7,#30DJNZR7,$JNB DATA_BUS,SETB_FLAGCLRFLAGAJMPNEXTSETB_FLAG:SETB FLAGNEXT:MOV R7,#120DJNZR7,$SETB DATA_BUSJNBFLAG,RESET RET;寫命令WRITE:SET
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院獎罰后勤管理制度
- 單位食堂收費管理制度
- 加強入校物品管理制度
- 器械消毒制度管理制度
- 公司院內(nèi)衛(wèi)生管理制度
- 公司理發(fā)日常管理制度
- 兒童營養(yǎng)存放管理制度
- 公司計劃用水管理制度
- 工廠員工積分管理制度
- 小區(qū)泵站安全管理制度
- 國際財務(wù)管理教學ppt課件(完整版)
- 2022年江西省南昌市中考一模物理試卷
- 百日咳臨床研究進展PPT醫(yī)學課件
- Q∕GDW 12176-2021 反竊電監(jiān)測終端技術(shù)規(guī)范
- 井塌預防處理措施
- 光引發(fā)劑的性能與應(yīng)用
- 圖像處理和分析(上冊)課后習題答案(章毓晉)
- 三金片前處理車間1
- NB_T 10499-2021《水電站橋式起重機選型設(shè)計規(guī)范》_(高清最新)
- 韻能cfd風環(huán)境模擬stream scstream答疑軟件常見q a匯總
- 門診疾病診斷證明書模板
評論
0/150
提交評論