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

正文內容

基于單片機帶溫度顯示的電子萬年歷設計畢業(yè)設計-資料下載頁

2024-08-26 15:07本頁面

【導讀】單片機應用技術飛速發(fā)展,縱觀我們現(xiàn)在生活的各個領域,從導彈的導航裝置,單片機是集CPU,RAM,ROM,定時,計數和多種接口于一體的微控。它體積小,成本低,功能強,廣泛應用于智能產業(yè)和工業(yè)自動化上。本設計著重要描述的就是基于AT89S52的單片機的電子萬年歷。各個接口模塊的功能及工作過程。本設計的主導思想是軟硬件相結合來進行各功能模。電子萬年歷以硬件C語言為主體進行軟件設計,增加了程序的可讀性和可移植性。附有以峰鳴器為提示的鬧鈴功能。

  

【正文】 ,這也是多個 DS18B20 可以采用一線進行通信的原因。 非易失性溫度報警觸發(fā)器 TH 和 TL,可通過軟件寫入用戶報警上下限。 高速暫存存儲器 DS18B20 溫度傳感器的內部存儲器包括一個高速暫存 RAM和一個非易失性的可電擦除的 E2PROM。高速 RAM 包含 9 字節(jié)存儲器,其結構如圖 所示。 前兩個字節(jié)包含測得的溫度信息。第 3 和第 4 字節(jié)是 TH 和 TL的拷貝,是易失的,每次上電復位時被刷新。第 5 個字節(jié)是配置寄存器,它的內容用于確定溫度值的數字轉換分辨率, DS18B20 工作時按此寄存器中的分辨率將溫度轉換為相應精度的數值。該字節(jié)各位的定義如圖 所示。低 5 位一直都是 1, TM 是測試模式位,用于設置 DS18B20在工作模式還是在測試模式。在 DS18B20 出廠時該位被 設置為 0,用戶不要去改動,R1 和 R0 決定溫度轉換的精度位數,即是來設置分辨率,如表 所示( DS18B20 出廠時被設置為 12 8 位檢驗 CRC 48 位序列號 8 位工廠代碼( 10H) 湖北工業(yè)大學商貿學院畢業(yè)設計 22 溫度 LSB 溫度 MSB TH 用戶字節(jié) 1 TL 用戶字節(jié) 2 配置寄存器 保留 保留 保留 CRC 圖 高速暫存 RAM 結構圖 TM R1 R2 1 1 1 1 1 圖 配置寄存器圖 表 DS18B20 分辯率的定義規(guī)定表 R1 R0 分辯率 /位 溫度最大轉換時間 0 0 9 0 1 10 1 0 11 375 1 1 12 750 由表 可見,設定的分辨率越高,所需要的溫度數據轉換時間就越長。因此,在實際應用中要在分辨率和轉換時間權衡考慮。 高速暫存 RAM 第 6~ 8 字節(jié)未用,表現(xiàn)為全邏輯 1;第 9 字節(jié)讀出的是前面所有 8個字節(jié)的 CRC 當 DS18B20 接收到溫度轉換命令后,開始啟動轉換。轉換完成后的溫度值就以 16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第 1, 2 字節(jié)。單片機可通過單線接口讀到該數據,讀取時低位在前,高位在后,數據 格式以 ℃ /LSB 形式表示。溫度值格式如圖 。 1字節(jié) 2字節(jié) 3字節(jié) 4字節(jié) 5字節(jié) 6字節(jié) 7字節(jié) 8字節(jié) 9字節(jié) TH 用戶字節(jié) 1 TL 用戶字節(jié) 2 E2PROM 湖北工業(yè)大學商貿學院畢業(yè)設計 23 LS 字節(jié) MS 字節(jié) 圖 溫度數據值格式圖 當符號位 S=0 時,直接將二進制位轉換為十進制;當 S=1 時,先將補碼變換為原碼,再計算十進制值。表 是對應的一部分溫度值。 表 DS18B20 溫度與測得值對應表 溫度 /oC 數據輸出(二進制) 數據輸出(十六進制) +125 0000 0111 1101 0000 07D0H +85 0000 0101 0101 0000 0550H + 0000 0001 1001 0001 0191H + 0000 0000 1010 0010 00A2H + 0000 0000 0000 1000 0008H 0 0000 0000 0000 0000 0000H 1111 1111 1111 1000 FFF8H 1111 1111 0101 1110 FF5EH 1111 1110 0110 1111 FE6FH 55 1111 1100 1001 0000 FC90H DS18B20 完成溫度轉換后,就把測得的溫度值與 TH, TL 作比較,若 TTH 或 TTL,則將該器件內的告警標志置位,并對主機發(fā)出的告警搜索命令作出響應。因此,可用多只 DS18B20 同時測量溫度并進行告警搜索。 CRC 的產生在 64 b ROM 的最高有效字節(jié)中存儲有循環(huán)冗余校驗碼( CRC)。主機根據 ROM 的前 56 位來計算 CRC 值,并和存入 DS18B20 中的 CRC 值做比較,以判斷主機收到的 ROM 數據是否正確。 23 22 21 20 21 22 23 24 S S S S S 26 25 264 湖北工業(yè)大學商貿學院畢業(yè)設計 24 DS18B20 的測溫原理 DS18B20 的測溫原理如圖 ,圖中低溫度系數晶振的振蕩頻 率受溫度的影響很小,用于產生固定頻率的脈沖信號送給減法計數器 1,高溫度系數晶振隨溫度變化其震蕩頻率明顯改變,所產生的信號作為減法計數器 2 的脈沖輸入,圖中還隱含著計數門,當計數門打開時, DS18B20 就對低溫度系數振蕩器產生的時鐘脈沖后進行計數,進而完成溫度測量。計數門的開啟時間由高溫度系數振蕩器來決定,每次測量前,先將 55℃所對應的基數分別置入減法計數器 1 和溫度寄存器中,減法計數器 1 和溫度寄存器被預置在 55℃所對應的一個基數值。 停止 圖 DS18B20 測溫原理圖 減法計數器 1 對低溫度系數晶振產生的脈沖信號進行減法計數,當減法計數器 1 的預置值減到 0 時溫度寄存器的值將加 1,減法計數器 1 的預置將重新被裝入,減 法計數器 1 重新開始對低溫度系數晶振產生的脈沖信號進行計數,如此循環(huán)直到減法計數器 2計數到 0 時,停止溫度寄存器值的累加,此時溫度寄存器中的數值即為所測溫度。圖 中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正減法計數器的預置值,只要計數門仍未關閉就重復上述過程,直至溫度寄存器值達到被測溫度值。 另斜率累加器 計數比較器 預置 減法計數器 1 低溫系數振蕩器 預置 減到 0 溫度寄存器 高溫度系數振蕩器 減法計數器 2 減到 0 湖北工業(yè)大學商貿學院畢業(yè)設計 25 外,由于 DS18B20 單線通信功能是分時完成的,他有嚴格的時隙概念,因此讀寫時序很重要。系統(tǒng)對 DS18B20 的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化 DS18B20(發(fā)復位脈沖) → 發(fā) ROM 功能命 令 → 發(fā)存儲器操作命令 → 處理數據。 DS18B20 與單片機的接口設計 DS18B20 可以采用兩種方式供電,一種是采用電源供電方式,此時 DS18B20 的 1腳接地, 2 腳作為信號線, 3 腳接電源;另一種是寄生電源供電方式,如圖 所示。單片機端口接單線總線,為保證在有效的 DS18B20 時鐘周期內提供足夠的電流,可用一個 MOSFET 管來完成對總線的上拉。 當 DS18B20 處于寫存儲器操作和溫度 A/D 變換操作時,總線上必須有強的上拉,上拉開啟時間最大為 10μs。采用寄生電源供電方式是 VDD 和 GND 端均 接地。由于單線制只有一根線,因此發(fā)送接收口必須是三態(tài)的。 VCC DS18B20 VCC GND VDD I/O 圖 DS18B20 應用電路 MCU 湖北工業(yè)大學商貿學院畢業(yè)設計 26 DS18B20 程序設計方案 DS18B20 電路設計圖 圖 DS18B20 電路設計圖 操作時序 通過單線總線端口訪問 DS18B20 的協(xié)議如下: ? 初始化 DS18B20(發(fā)復位脈沖) ? 發(fā) ROM 功能操作命令 ? 發(fā)存儲器操作命令 ? 處理數據 初始化 DS18B20 單線總線的所有處理都從一個初始化序列開始。初始化序列包括一個由總線控制器發(fā)出的復位脈沖和跟隨其后由從機發(fā)出的存在脈沖。存在脈沖讓總線控制器知道DS18B20 在總線上且已準備好操作。 初始化函數時序如圖 所示,總線 t0時刻發(fā)送一復位脈沖(最短為 480μs 的低電平信號),接著在 t1時刻釋放總線并進入接收狀態(tài), DS18B20 在總線上升沿之后等待 15~60μs,然后在 t2時刻發(fā)出存在脈沖(低電平持續(xù) 60~ 240μs),如圖中虛線所示,單片機接收到低電平脈沖說明復位成功,否則需重新進行復位操作。 DQ2GND1V C C3U4D S 18B 20V C CR3P 湖北工業(yè)大學商貿學院畢業(yè)設計 27 15~60μs 480μs 400~ 960μs 60~240μs t0 t1 t2 t3 t4 圖 初始化時序圖 ROM 操作命令 一旦總線控制器探測到一個存在脈沖,它就可以發(fā)出以下 5 個 ROM 命令中的任一個。所有 ROM 操作命令都為 8 位長度。 ( 1) Read ROM [33H] 該命令允許總線控制器讀到 DS18B20 的 8 位系列編碼、惟一的序列和 8 位 CRC 碼。 ( 2) Write Schratchpad[ 4EH] 該命令向 DS18B20 的暫存器 TH 和 TL中寫入數據。可以在任何時刻發(fā)出復位命令來中止寫入。 ( 3) Skip ROM [0CCH] 該命令允許總線控制器不用提供 64 位 ROM 編碼就使用存儲器操作命令,在單點總線情況下,可以節(jié)省時間。 ( 4) Read Scrachped [ 0BEH] 該命令讀取暫存器的內容。讀取將從第 1 字節(jié)開始,一直進行下去, 直到第 9( CRC)字節(jié)讀完。如果不想讀完所有字節(jié),控制器可以在任何時間發(fā)出復位命令來中止讀取。 ( 5) Convert T [48H] 該命令啟動一次溫度轉換而無需其它數據。溫度轉換命令被執(zhí)行后 DS18B20 保持等待狀態(tài)。如果總線控制器在這條命令之后跟著發(fā)出讀時間隙 ,而 DS18B20 又忙于做時間轉換, DS18B20 將在總線上輸出 0,若溫度轉換完成,則輸出 1。 存儲器操作命令 ( 1)寫時間隙 當主機 t0時刻把總線從邏輯高電平拉到邏輯低電平的時候,寫時間隙開始。寫位時序見 。從 t0時刻開始 15μs 之 內主機應將所需寫的位送到總線上, DS18B20 在 t0后湖北工業(yè)大學商貿學院畢業(yè)設計 28 15μs 到 60μs 內對 I/O 線采樣。如果線上是高電平,就是寫 1,如果線上是低電平,就是寫 0,連續(xù)寫 2 位的間隙應大于 1μs。 60μs 60μs 15μs 15~ 60μs 1μs 15μs 45μs 1μs t0 t1 t0 t1 圖 DS18B20 寫 0 和寫 1 時序圖 ( 2)讀時間隙 當主機 t0 時刻把總線從邏輯高電平拉到邏輯低電平時,總線只需保持低電平 1~4μs,之后在 t1 時刻將總線拉高產生讀時間隙,讀時間隙在 t1 時刻后 t2 時刻前有效 ,t2 距t015μs,也就是說 t2時刻前主機必須完成讀位并在 t0后的 60~ 120μs 內釋放總線。連續(xù)讀 2 位的間隙應 大于 1μs。讀位時序見圖 。 60μs 15μs 1μs t0 t1 t2 t3 圖 DS18B20 讀位時序圖 數據處理 數據處理思路是先取高速暫存器 RAM 中溫度信息的底字節(jié) LSB,將 LSB 右移 4位,再取高速暫存器 RAM 中溫度信息的高字節(jié) MSB,將 MSB 左移 4 位,接著將 LSB和 MSB 兩個字節(jié)相或,得到一個
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1