freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

單片機課程設計報告-基于單片機的單總線溫度傳感器設計(編輯修改稿)

2024-07-03 22:02 本頁面
 

【文章內容簡介】 直至溫度寄存器值達到被測溫度值,這就是DS18B20的測溫原理。另外,由于DS18B20單線通信功能是分時完成的,他有嚴格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化DS18B20(發(fā)復位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)。 DS18B20測溫原理圖在正常測溫情況下,℃,可采用下述方法獲得高分辨率的溫度測量結果:首先用DS1820提供的讀暫存器指令(BEH)℃為分辨率的溫度測量結果,然后切去測量結果中的最低有效位(LSB),得到所測實際溫度的整數(shù)部分Tz,然后再用BEH指令取計數(shù)器1的計數(shù)剩余值Cs和每度計數(shù)值CD?!妗ⅰ鏋檫M位界限的關系,實際溫度Ts可用下式計算: () 提高DS1820測溫精度的途徑(1)、DS1820高精度測溫的理論依據(jù) ℃,這對于水輪發(fā)電機組軸瓦溫度監(jiān)測來講略顯不足,在對DS1820測溫原理詳細分析的基礎上,我們采取直接讀取DS1820內部暫存寄存器的方法,℃~℃.DS1820內部暫存寄存器的分布如表1所示,其中第7字節(jié)存放的是當溫度寄存器停止增值時計數(shù)器1的計數(shù)剩余值,第8字節(jié)存放的是每度所對應的計數(shù)值,這樣,我們就可以通過下面的方法獲得高分辨率的溫度測量結果。首先用DS1820提供的讀暫存寄存器指令(BEH)℃為分辨率的溫度測量結果,然后切去測量結果中的最低有效位(LSB),得到所測實際溫度整數(shù)部分T整數(shù),然后再用BEH指令讀取計數(shù)器1的計數(shù)剩余值M剩余和每度計數(shù)值M每度,℃、℃為進位界限的關系,實際溫度T實際可用下式計算得到:T實際=(T整數(shù)-℃)+(M每度-M剩余)/M每度。 DS18B20暫存寄存器分布寄存器內容字節(jié)地址溫度最低數(shù)字位0溫度最高數(shù)字位1高溫限值2低溫限值3保留4保留5計數(shù)剩余值6每度計數(shù)值7CRC校驗8該字節(jié)各位的定義如下:TM R1 R0 1 1 1 1 1低5位一直都是1,TM是測試模式位,用于設置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設置為0,用戶不要去改動,R1和R0決定溫度轉換的精度位數(shù),即是來設置分辨率,(DS18B20出廠時被設置為12位)。 R1和R0模式表R1R0分辨率溫度最大轉換時/mm009位0110位1011位1112位由表1可見,設定的分辨率越高,所需要的溫度數(shù)據(jù)轉換時間就越長。因此,在實際應用中要在分辨率和轉換時間權衡考慮。高速暫存存儲器除了配置寄存器外,還有其他8個字節(jié)組成,其分配如下所示。其中溫度信息(第1,2字節(jié))、TH和TL值第3,4字節(jié)、第6~8字節(jié)未用,表現(xiàn)為全邏輯1;第9字節(jié)讀出的是前面所有8個字節(jié)的CRC碼,可用來保證通信正確。 根據(jù)DS18B20的通訊協(xié)議,主機控制DS18B20完成溫度轉換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進行復位,復位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進行預定的操作。復位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號表示復位成功。(2)、 測量數(shù)據(jù)比較表2為采用直接讀取測溫結果方法和采用計算方法得到的測溫數(shù)據(jù)比較,通過比較可以看出,計算方法在DS1820測溫中不僅是可行的,也可以大大的提高DS1820的測溫分辨率。表2 DS18B20 直度測溫結果與計算測溫結果數(shù)據(jù)比較次數(shù)T(直讀)M(剩余)M(每度)T(實際)172802.428233083466845498565687716883 數(shù)字溫度計的硬件設計,控制器使用單片機AT89S52,溫度計傳感器使用DS18B20,用液晶實現(xiàn)溫度顯示。本溫度計大體分三個工作過程。首先,由DS18B20溫度傳感器芯片測量當前的溫度,并將結果送入單片機。然后,通過AT89S52單片機芯片對送來的測量溫度讀數(shù)進行計算和轉換,井將此結果送入液晶顯示模塊。最后,數(shù)碼管顯示溫度數(shù)據(jù)。由圖1可看到,本電路主要由DS18820溫度傳感器芯片、數(shù)碼管顯示模塊和AT89S52單片機芯片組成。其中,DS18B20溫度傳感器芯片采用“一線制”與單片機相連,它獨立地完成溫度測量以及將溫度測量結果送到單片機的工作。圖 溫度計電路設計原理圖 主控制器單片機AT89S52具有低電壓供電和小體積等特點,兩個端口剛好滿足電路系統(tǒng)的設計需要,很合適攜手特式產(chǎn)品的使用。主機控制DS18B20完成溫度轉換必須經(jīng)過三個步驟:初始化、ROM操作指令、存儲器操作指令。必須先啟動DS18B20開始轉換,再讀出溫度轉換值。 顯示電路 顯示電路采用4個數(shù)碼管顯示 溫度檢測電路DS18B20 最大的特點是單總線數(shù)據(jù)傳輸方式,DS18B20 的數(shù)據(jù)I/O 均由同一條線來完成。DS18B20 的電源供電方式有2 種: 外部供電方式和寄生電源方式。工作于寄生電源方式時, VDD 和GND 均接地, 他在需要遠程溫度探測和空間受限的場合特別有用, 原理是當1 W ire 總線的信號線DQ 為高電平時, 竊取信號能量給DS18B20 供電, 同時一部分能量給內部電容充電, 當DQ為低電平時釋放能量為DS18B20 供電。但寄生電源方式需要強上拉電路, 軟件控制變得復雜(特別是在完成溫度轉換和拷貝數(shù)據(jù)到E2PROM 時) , 同時芯片的性能也有所降低。因此, 在條件允許的場合, 盡量采用外供電方式。無論是內部寄生電源還是外部供電,I/O口線要接5KΩ左右的上拉電。在這里采用前者方式供電。DS18B20與芯片連接電路如圖 :圖 DS18B20與單片機的連接外部電源供電方式是DS18B20最佳的工作方式,工作穩(wěn)定可靠,抗干擾能力強,而且電路也比較簡單,可以開發(fā)出穩(wěn)定可靠的多點溫度監(jiān)控系統(tǒng)。站長推薦大家在開發(fā)中使用外部電源供電方式,畢竟比寄生電源方式只多接一根VCC引線。在外接電源方式下,可以充分發(fā)揮DS18B20寬電源電壓范圍的優(yōu)點,即使電源電壓VCC 降到3V 時,依然能夠保證溫度量精度。由于DS18B20 只有一根數(shù)據(jù)線,因此它和主機(單片機)通信是需要串行通信,而AT89S51 有兩個串行端口,所以可以不用軟件來模擬實現(xiàn)。經(jīng)過單線接口訪問DC18B20 必須遵循如下協(xié)議:初始化、ROM 操作命令、存儲器操作命令和控制操作。要使傳感器工作,一切處理均嚴格按照時序。主機發(fā)送(Tx)復位脈沖(最短為480μs 的低電平信號)。接著主機便釋放此線并進入接收方式(Rx)。在檢測到I/O 引腳上的上升沿之后,DS18B20 等待15~60μs,并且接著發(fā)送脈沖(60~240μs 的低電平信號)。然后以存在復位脈沖表示DS18B20 已經(jīng)準備好發(fā)送或接收,然后給出正確的ROM 命令和存儲操作命令的數(shù)據(jù)。DS18B20 通過使用時間片來讀出和寫入數(shù)據(jù),時間片用于處理數(shù)據(jù)位和進行何種指定操作的命令。它有寫時間片和讀時間片兩種:l 寫時間片:當主機把數(shù)據(jù)線從邏輯高電平拉至邏輯低電平時,產(chǎn)生寫時間片。有兩種類型的寫時間片:寫1 時間片和寫0 時間片。所有時間片必須有60 微秒的持續(xù)期,在各寫周期之間必須有最短為1微秒的恢復時間.l 讀時間片:從DS18B20 讀數(shù)據(jù)時,使用讀時間片。當主機把數(shù)據(jù)線從邏輯高電平拉至邏輯低電平時產(chǎn)生讀時間片。數(shù)據(jù)線在邏輯低電平必須保持至少1 微秒;來自DS18B20 的輸出數(shù)據(jù)在時間下降沿之后的15 微秒內有效。為了讀出從讀時間片開始算起15微秒的狀態(tài),主機必須停止把引腳驅動拉至低電平。在時間片結束時,I/O 引腳經(jīng)過外部的上_鱯__9L_€%拉電阻拉回高電平,所有讀時間片的最短持續(xù)期為60 微秒,包括兩個讀周期間至少1μs 的恢復時間。一旦主機檢測到DS18B20 的存在,它便可以發(fā)送一個器件ROM 操作命令。所有ROM 操作命令均為8位長。所有的串行通訊,讀寫每一個bit 位數(shù)據(jù)都必須嚴格遵守器件的時序邏輯來編程,同時還必須遵守總線命令序列,對單總線的DS18B20 芯片來說,訪問每個器件都要遵守下列命令序列:首先是初始化;其次執(zhí)行ROM 命令;最后就是執(zhí)行功能命令(ROM 命令和功能命令后面以表格形式給出)。如果出現(xiàn)序列混亂,則單總線器件不會響應主機。當然,搜索ROM命令和報警搜索命令,在執(zhí)行兩者中任何一條命令之后,要返回初始化?;趩慰偩€上的所有傳輸過程都是以初始化開始的,初始化過程由主機發(fā)出的復位脈沖和從機響應的應答脈沖組成。應答脈沖使主機知道,總線上有從機,且準備就緒。在主機檢測到應答脈沖后,就可以發(fā)出ROM 命令。這些命令與各個從機設備的唯一64 位ROM 代碼相關。在主機發(fā)出ROM命令,以訪問某個指定的DS18B20,接著就可以發(fā)出DS18B20支持的某個功能命令。這些命令允許主機寫入或讀出DS18B20便箋式RAM、啟動溫度轉換。軟件實現(xiàn)DS18B20的工作嚴格遵守單總線協(xié)議:(1)主機首先發(fā)出一個復位脈沖,信號線上的DS18B20 器件被復位。(2)接著主機發(fā)送ROM命令,程序開始讀取單個在線的芯片ROM編碼并保存在單片機數(shù)據(jù)存儲器中,把用到的DS18B20 的ROM 編碼離線讀出,最后用一個二維數(shù)組保存ROM 編碼,數(shù)據(jù)保存在X25043中。(3)系統(tǒng)工作時,把讀取了編碼的DS18B20 掛在總線上。發(fā)溫度轉換命令,再總線復位。(4)然后就可以從剛才的二維數(shù)組匹配在線的溫度傳感器,隨后發(fā)溫度讀取命令就可以獲得對應的度值了。在主機初始化過程,主機通過拉低單總線至少480us,來產(chǎn)生復位脈沖。接著,主機釋放總線,并進入接收模式。當總線被釋放后,上拉電阻將單總線拉高。在單總線器件檢測到上升沿后,延時15~60us,接著通過拉低總線60~240us,以產(chǎn)生應答脈沖。寫時序均起始于主機拉低總線,產(chǎn)生寫1 時序的方式:主機在拉低總線后,接著必須在15us之內釋放總線。產(chǎn)生寫0 時序的方式:在主機拉低總線后,只需在整個時序期間保持低電平即可(至少60us)。在寫字節(jié)程序中的寫一個bit 位的時候,沒有按照通常的分別寫0時序和寫1 時序,而是把兩者結合起來,當主機拉低總線后在15us 之內將要寫的位c 給DO:如果c 是高電平滿足15us
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1