




全文預覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
第4章 系統(tǒng)程序的設計4.1 系統(tǒng)設計內(nèi)容系統(tǒng)程序主要包括主程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計算溫度子程序、測量序列號子程序、顯示數(shù)據(jù)刷新子程序等。4.1.1主程序 主程序主要功能是負責溫度的實時顯示、讀出處理DS18B20的測量溫度值。主程序流程圖如圖4-1所示:開始調(diào)用顯示子程序顯示當前四路溫度初始化讀取并顯示序列號圖4-1 主程序流程圖4.1.2讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié)。在讀出時須進行CRC校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。讀出溫度子程序流程圖如圖4-2所示: 開始復位DS18B20發(fā)跳過ROM命令發(fā)出溫度轉(zhuǎn)換命令轉(zhuǎn)換完畢復位DS18B20發(fā)匹配ROM命令發(fā)1個DS18B20序列號讀溫度值存入儲存器指向下一個延時NY圖4-2 讀出溫度子程序流程圖4.1.3 溫度轉(zhuǎn)換命令子程序溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當采用12位分辨率時,轉(zhuǎn)換時間約為750ms。在本程序設計中,采用1s顯示程序延時法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如圖4-3所示:發(fā)DS18B20復位命令發(fā)跳過ROM命令發(fā)溫度轉(zhuǎn)換開始命令結(jié)束圖4-3 溫度轉(zhuǎn)換命令子程序流程圖4.1.4計算溫度子程序 計算溫度子程序?qū)AM中讀取值進行BCD碼的轉(zhuǎn)換運算,并進行溫度值正負的判定。計算溫度子程序流程圖如圖4-4所示:開始溫度零下?溫度值取補碼置“-”標志位計算小數(shù)位溫度BCD值計算小數(shù)位溫計算小數(shù)位溫度BCD值度BCD值結(jié)束置“+”標志NY圖4-4 計算溫度子程序流程圖4.1.5 溫度數(shù)據(jù)的計算處理方法 從DS18B20讀取出的二進制值必須轉(zhuǎn)換成十進制值,才能用于字符的顯示。DS18B20的轉(zhuǎn)換精度為912位,為了提高精度采用12位。在采用12位轉(zhuǎn)換精度時,溫度寄存器里的值是以0.0625為步進的,即溫度值為寄存器里的二進制值乘以0.0625,就是實際的十進制溫度值。通過觀察表4-1可以發(fā)現(xiàn),一個十進制與二進制間有很明顯的關(guān)系,就是把二進制的高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一字節(jié),這個字節(jié)的二進制化為十進制后,就是溫度值的百、十、個位字節(jié),所以二進制值范圍是0F,轉(zhuǎn)換成十進制小數(shù)就是0.0625的倍數(shù)(015倍)。這樣需要4位的數(shù)碼管來表示小數(shù)部分。實際應用不必這么高的精度,采用1位數(shù)碼管來顯示小數(shù),可以精確到0.1。表4.5 二進制與十進制的近似對應關(guān)系表小數(shù)部分二進制值0123456789ABCDEF十進制值00112334556678894.2 源程序4.2.1 DS18B20的各條ROM命令 (1)Read ROM33H。這條命令允許總線控制器獨到DS18B20的8位系列編碼、唯一的序列號和8位CRC碼。只要在總線上存在單只DS18B20時,才能使用該命令。如果總線上有不止一個從機,則當所有從機試圖同時傳送信號時就會發(fā)生數(shù)據(jù)沖突(漏極開路連在一起形成相“與”的效果)。(2)Match ROM55H.這是一條匹配ROM命令,后跟64位ROM序列,讓總線控制器在多點總線上定位一只特定的DS18B20.只有與64位ROM序列完全匹配的DS18B20才能響應隨后的存儲器操作.所有與64位ROM序列不匹配的從機都將等待復位脈沖.這條命令在總線上有單個或多個器件時都可以使用.(3)Skip ROM0CCH.這條命令允許總線控制器不用提供64位ROM編碼就使用存儲器操作命令,在單點總線情況下,可以節(jié)省時間.如果總線上不止一個從機,則在Skip ROM命令之后跟著發(fā)一條讀命令.由于多個從機同時傳送信號,所以總線上就會發(fā)生數(shù)據(jù)沖突(漏極開路下拉效果相當于相“與”)。(4)Search ROM0F0H。當一個系統(tǒng)初次啟動時,總線控制器可能并不知道單線總線上有多少個器件或它們的64位ROM編碼。搜索ROM命令允許總線控制器用排除法識別總線上的所有從機的64位編碼。(5)Alarm Search0ECH。這條命令的流程與Search ROM相同。然而,只有在最近一次測溫后遇到符合報警條件的情況下,DS18B20才會響應這條命令。報警條件定義為溫度高于TH或低于TL。只要DS18B20不掉電,報警狀態(tài)將一直保持,直到再一次測得的溫度值達不到報警條件。(6)Write Scratchpad4EH。這條命令向DS18B20的暫存器TH和TL中寫入數(shù)據(jù)??梢栽谌魏螘r刻發(fā)出復位命令來中止寫入。(7)Read Scratchapad0BEH。這條命令讀取暫存器的內(nèi)容。讀取將從第一字節(jié)開始,一直進行下去,直到第九字節(jié)(CRC)讀完。如果不想讀完所有字節(jié),則控制器可以在任何時間發(fā)出復位命令來中止讀取。(8)Copy Scratchpad48H。這條命令把暫存器的內(nèi)容拷貝到DS18B20的EPROM存儲器里,即把溫度報警觸發(fā)字節(jié)存入非易失性存儲器里。如果總線控制器在這條命令之后跟著發(fā)出讀時間隙,而DS18B20又忙于把暫存器拷貝到EPROM存儲器,則DS18B20就會輸出一個0;如果拷貝結(jié)束,則DS18B20輸出1。如果使用寄生電源,則總線控制器必須在這條命令發(fā)出后立即啟動強上拉,并最少保持10ms。(9)Convert T44H。這條命令啟動一次溫度轉(zhuǎn)換而無需其他數(shù)據(jù)。溫度轉(zhuǎn)換命令被執(zhí)行后DS18B20保持等待狀態(tài)。如果總線控制器在這條命令之后跟著發(fā)出讀時間隙,而DS18B20又忙于做時間轉(zhuǎn)換,則DS18B20將在總線上輸出0;如果溫度轉(zhuǎn)換成功,則輸出1。如果使用寄生電源,則總線控制器必須在發(fā)出這條命令后立即啟動強上拉,并保持500ms以上時間。(10)Recall E0B8H。這條命令把報警觸發(fā)器里的值拷貝回暫存器。這種拷貝操作在DS18B20上電時自動執(zhí)行,這樣器件一上電暫存器里馬上就存在有效
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025二手車銷售合同范本
- 公共藝術(shù)設計
- 小班活動安全教育
- 2025合同簽署注意事項
- 2025年網(wǎng)站會員商務信息服務合同范本
- 2025燈光音響租賃合同范本
- 2025年金融危機背景下:合同法執(zhí)行所面臨的挑戰(zhàn)及應對策略
- 2025餐飲服務合同范本
- 2024-2025蘇教版科學一年級下冊第三單元測試卷及答案
- 2025小學道德與法治教師課標考試模擬試卷及答案
- 專利代理師考試題庫含答案2024
- DB12 T1230-2023 政務信息資源共享 總體框架
- 管道拆除專項施工方案
- 廣西壯族自治區(qū)馬山縣實驗高中-雙休背后:從“要我學”到“我要學”的轉(zhuǎn)變-高三家長會【課件】
- GB/Z 27021.13-2025合格評定管理體系審核認證機構(gòu)要求第13部分:合規(guī)管理體系審核與認證能力要求
- 湖南省長沙市四大名校2024-2025學年高三2月月考語文試題(原卷版+解析版)
- 《政府采購管理研究的國內(nèi)外文獻綜述》5500字
- 糖尿病護理查房提出問題
- 2024年國網(wǎng)浙江省電力有限公司招聘考試真題
- 微專題2 質(zhì)量守恒定律的應用(解析版)
- 分析化學考試題(附參考答案)
評論
0/150
提交評論