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