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

正文內(nèi)容

畢業(yè)論文-基于stc90c516單片機(jī)的水溫控制系統(tǒng)設(shè)計(jì)-文庫吧

2025-05-17 11:11 本頁面


【正文】 示 ; 用戶可定義報(bào)警設(shè)置;報(bào)警搜索命令識別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件;負(fù)電壓特性,電源極性接反時,溫度計(jì)不會因發(fā)熱而燒毀,但不能正常 工 作; DS18B20 采用 3 腳 TO- 92 封裝或 8 腳 SO 或 181。SOP 封裝,其 其封裝形式 如圖4 所示。 圖 4 DS18B20 的封裝形式 DS18B20 的 64 位 ROM 的結(jié)構(gòu)開始 8 位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有 48 位,最后 8 位是前面 56 位的 CRC 檢驗(yàn)碼,這也是多個DS18B20 可以采用一線進(jìn)行通信的原因。溫度報(bào)警觸發(fā)器 TH 和 TL,可通過軟件寫入戶報(bào)警上下限。 DS18B20溫度傳感器的內(nèi)部存儲器還包括一個高速暫存 RAM和一個非易失性的可電擦除的 EEPRAM。高速暫存 RAM 的結(jié)構(gòu)為 8 字節(jié)的存儲器,結(jié)構(gòu)如圖 5 所示。 圖 5 DS18B20 的 高速暫存 RAM 的結(jié)構(gòu) 頭 2 個字節(jié)包含測得的溫度信息,第 3 和第 4 字節(jié) TH 和 TL 的拷貝是易失的,每次上電復(fù)位時被刷新。第 5 個字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率 , DS18B20 工作時寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值 , 該字節(jié)各位的定義如 表 21 所示。 表 21: 配置寄存器 D7 D6 D5 D4 D3 D2 D1 D0 TM R1 R0 1 1 1 1 1 配置寄存器 的 低 5 位一直為 1, TM 是工作模式位,用于設(shè)置 DS18B20 在工作模式還是在測試模式, DS18B20 出廠時該位被設(shè)置為 0,用戶要去改動, R1 和R0 決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率 ,“ R1R0”為“ 00”是 9 位,“ 01”是 10 位,“ 10”是 11 位,“ 11”是 12 位。當(dāng) DS18B20 分辨率越高 時 ,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時間越長。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時間權(quán)衡考慮。 高速暫存 RAM 的第 8 字節(jié)保留未用,表現(xiàn)為全邏輯 1。第 9 字節(jié)讀出前面所有 8 字節(jié)的 CRC 碼,可用來檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。 當(dāng) DS18B20 接收到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以 16 位帶符號擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲在高 速暫存存儲器的第 2 字節(jié)。單片機(jī)可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時低位在先,高位在后,數(shù)據(jù)格式以 ℃ / LSB 形式表示。 當(dāng)符號位 s= 0 時,表示測得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號位 s= 1 時,表示測得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。 輸出的二進(jìn)制數(shù)的高 5 位是符號位,最后 4 位是溫度小數(shù)點(diǎn)位,中間 7 位是溫度整數(shù)位。 表 22 是一部分溫度值對應(yīng)的二進(jìn)制溫度數(shù)據(jù)。 表 22 DS18B20 輸出的溫度值 溫度值 二進(jìn)制輸出 十六進(jìn)制輸出 +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 FF6Fh 55℃ 1111 1100 1001 0000 FC90h DS18B20 完成溫度轉(zhuǎn)換后,就把測得的溫度值與 RAM 中的 TH、 TL 字節(jié)內(nèi)容作比較。若 T> TH 或 T< TL,則將該器件內(nèi)的報(bào)警標(biāo)志位置位,并對主機(jī)發(fā)出的報(bào)警搜索命令作出響應(yīng)。因此,可用多只 DS18B20 同時測量溫度并進(jìn)行報(bào)警搜索。在 64 位 ROM 的最高有效字節(jié)中存儲有循環(huán)冗余檢驗(yàn)碼( CRC)。主機(jī) ROM 的前 56 位來計(jì)算 CRC 值,并和存入 DS18B20 的 CRC 值作 比較,以判斷主機(jī)收到的ROM 數(shù)據(jù)是否正確。 顯示電路設(shè)計(jì) 顯示電路是由四位一體的共陽數(shù)碼管進(jìn)行顯示的,數(shù)碼管由三極管 8550 驅(qū)動。 四位一體的共陽數(shù)碼管的管腳分布圖如圖 6 所示。 圖 6 四位一體的共陽數(shù)碼管管腳分布圖 顯示電路的總體設(shè)計(jì)如圖 7 所示。 W112W29W38W46a11b7c4d2e1f10g5dp3U3a b c d e f g dpw1 w2 w3 w4w1Q490121KR4w2Q590121KR5w3Q690121KR6w4Q790121KR7VCCP21 P22 P23P20 圖 7 顯示電路 按鍵電路設(shè)計(jì) 按鍵電路是用來實(shí)現(xiàn)調(diào)節(jié)設(shè)定報(bào)警溫度的上下限和查看上下報(bào)警溫度的功能。電路原理圖如圖 8 所示。 S3減鍵S2加鍵S1設(shè)置鍵P10 P13 P16 圖 8 按鍵電路原理圖 報(bào)警電路設(shè)計(jì) 報(bào)警電路是在測量溫度大于上限或小于下限時提供報(bào)警功能的電路。該電路是由一個蜂鳴器和一個紅色的發(fā)光二極管組成,具體的電路如圖 9 所示。 Q39012VCC10KR3蜂鳴器1KR1VCCD1P34P35 圖 9 報(bào)警電路原理圖 繼電器模塊介紹 繼電器模塊是由由一個 PNP 型的三極管 9015 驅(qū)動。當(dāng)輸入低電平時三極管導(dǎo)通,繼電器吸合,從而控制外圍器件。電路圖如圖 10 所示: Q49015VCC10KR5P35K1繼電器 圖 10 繼電器電路圖 3 軟件設(shè)計(jì) DS18B20 程序設(shè)計(jì) DS18B20 傳感器操作流程 根據(jù) DS18B20 的通訊協(xié)議,主機(jī)(單片機(jī))控制 DS18B20 完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟: ? 每一次讀寫之前都要對 DS18B20 進(jìn)行復(fù)位操作 ? 復(fù)位成功后發(fā)送一條 ROM 指令 ? 最后發(fā)送 RAM 指令 這樣才能對 DS18B20 進(jìn)行預(yù)定的操作。復(fù)位要求主 CPU 將數(shù)據(jù)線下拉 500μ s,然后釋放,當(dāng) DS18B20 收到信號后等待 16~ 60μ s 左右,后發(fā)出 60~ 240μ s 的存在低脈沖,主 CPU 收到此信號表示復(fù)位成功。 DS18B20 的操作流程如圖 31 所示。 如圖 31 DS18B20 的操作流程 DS18B20 傳感器的指令表 DS18B20 傳感器的操作指令如表 31 所示。傳感器復(fù)位后向傳感器寫相應(yīng)的命令才能實(shí)現(xiàn)相應(yīng)的功能。 表 31 DS18B20 的指令表 指 令 指令代碼 功 能 讀 ROM 0x33 讀 DS1820 溫度傳感器 ROM 中的編碼(即64 位地址) 符合 ROM 0x55 發(fā)出此命令之后,接著發(fā)出 64 位 ROM 編碼,訪問單總線上與該編碼相對應(yīng)的 DS1820 使之作出響應(yīng),為下一步對該 DS1820 的讀寫作準(zhǔn)備。 搜索 ROM 0xF0 用于確定掛接在同一總線上 DS1820 的個數(shù)和識別 64 位 ROM 地址。為操作各器件作好準(zhǔn)備。 跳過 ROM 0xCC 忽略 64 位 ROM 地址,直接向 DS1820 發(fā)溫度變換命令。適用于單片工作。 告警搜索命令 0xEC 執(zhí)行后只有溫度超過設(shè)定值上限或下限的片子才做出響應(yīng)。 溫度變換 0x44 啟動 DS1820 進(jìn)行溫度轉(zhuǎn)換, 12 位轉(zhuǎn)換時最長為 750ms( 9 位為 )。結(jié)果存入內(nèi)部 9 字節(jié) RAM 中。 讀暫存器 0xBE 讀內(nèi)部 RAM 中 9 字節(jié)的內(nèi)容 寫暫存器 0x4E 發(fā)出向內(nèi)部 RAM 的 4 字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)。 復(fù)制暫存器 0x48 將 RAM 中第 3 、 4 字節(jié)的內(nèi)容復(fù)制到EEPROM 中。 重調(diào) EEPROM 0xB8 將 EEPROM 中內(nèi)容恢復(fù)到 RAM 中的第 3 、4 字節(jié)。 讀供電方式 0xB4 讀 DS1820 的供電模式。寄生供電時DS1820 發(fā)送 “ 0 ” ,外接電源供電 DS1820發(fā)送 “ 1 ” 。 DS18B20 傳感器的初始化時序 DS18B20 傳感器為單總線結(jié)構(gòu)器件,在讀寫操作之前,傳感器芯片應(yīng)先進(jìn)性復(fù)位操作也就是初始化操作。 DS18B20 的初始化時序如圖 10 所示。首先控制器拉高數(shù)據(jù)總線,接著控制器給數(shù)據(jù)總線一低電平,延時 480μ s,控制器拉高數(shù)據(jù)總線,等待傳感器給數(shù)據(jù)線一個 60240μ s 的低電平,接著上拉電阻將數(shù)據(jù)線拉高,這樣才初始化完成。 圖 10 DS18B20 初始化時序 DS18B20 傳感器的讀寫時序 DS18B20 傳感器的讀寫操作是在傳感器初始化后進(jìn)行的。每次操作只能讀寫一位。 當(dāng)主機(jī)把數(shù)據(jù)線從高電平拉至低電平,產(chǎn)生寫時序。有兩種類型的寫時序:寫“ 0”時序,寫“ 1”時序。所有的時序必 須有最短 60μ s 的持續(xù)期,在各個寫周期之間必須有最短 1μ s 的恢復(fù)期。 在數(shù)據(jù)總線由高電平變?yōu)榈碗娖街螅?DS18B20 在 15μ s 至 60μ s 的時間間隙對總線采樣,如果為“ 1”則向 DS18B20 寫“ 1”, 如果為“ 0”則向 DS18B20 寫“ 0”。如圖 32 的上半部分。 對于主機(jī)產(chǎn)生寫“ 1”時序時,數(shù)據(jù)線必須先被拉至低電平,然后被釋放,使數(shù)據(jù)線在寫時序開始之后 15μ s 內(nèi)拉至高電平。 對于主機(jī)產(chǎn)生寫“ 1”時序時,數(shù)據(jù)線必須先被拉至低電平,且至少保持低電平 60μ s。 在數(shù)據(jù)總線由高電平變?yōu)榈碗娖街?,?shù)據(jù)線至少應(yīng)保持低電平 1μ s,來自 DS18B20 的輸出的數(shù)據(jù)在下降沿 15μ s 后有效,所以在數(shù)據(jù)線保持低電平 1μ s 之后,主機(jī)將數(shù)據(jù)線拉高,等待來自 DS18B20 的數(shù)據(jù)變化,在下降沿 15μ s 之后便可開始讀取 DS18B20 的輸出數(shù)據(jù)。整個讀時序必須有最短 60μ s 的持續(xù)期。如圖 11 的下半部分。讀時序結(jié)束后數(shù)據(jù)線由上拉電阻拉至高電平。 圖 11 DS18B20 傳感器的讀寫時序 DS18B20 獲取溫度程序流程圖 DS18B20 的讀字節(jié),寫字節(jié),獲取溫度的程序流程圖如圖 12 所示。 開 始D Q = 1D Q = 0延 時 4 8 0 μ sD Q = 1D Q = 1延 時 8 0 μ sD Q = 1YN結(jié) 束D S 1 8 B 2 0 初 始 化程 序 流 程 圖開 始d = 1i = 8r e t u r n dD Q = 1D Q = 1延 時 6 0 μ sd | = 0 x 8 0YN結(jié) 束i 0d = 1D Q = 0D Q = 1延 時 2 μ si YN開 始i = 8延 時 6 0 μ s結(jié) 束i 0D Q = 0延 時 2 μ sD Q = 1ND S 1 8 B 2 0 讀 字 節(jié)程 序 流 程 圖D S 1 8 B 2 0 寫 字 節(jié)程 序 流 程 圖D Q = d amp。 0 x 0 1d = 1i 延 時 3 0 μ sY開 始D S 1 8 B 2 0 初始 化寫 0 x c c 跳 過讀 R O M延 時 5 0 0 μ s結(jié) 束寫 0 x 4 4 啟 動D S 1 8 B 2 0D S 1 8 B 2 0 初始 化寫 0 x c c 跳 過讀 R O M寫 0 x b e 讀D S 1 8 B 2 0D S 1 8 B 2 0 獲 取 溫 度程 序 流 程 圖 圖 12 DS18B20 程序流程圖 顯示程序設(shè)計(jì) 顯示電路是由四位一體的數(shù)碼管來實(shí)現(xiàn)的。由于單片機(jī)的 I/O 口有限,所以數(shù)碼管采用動態(tài)掃描的方式來進(jìn)行顯示。程序流程圖如圖 13 所示。 開 始i = 0結(jié) 束i 4i + +YN根 據(jù) i 的 值 進(jìn) 行 選 擇點(diǎn) 亮 第 一 個數(shù) 碼 管點(diǎn) 亮 第 二 個數(shù) 碼 管點(diǎn) 亮 第 三 個數(shù) 碼 管點(diǎn) 亮 第 四 個數(shù) 碼 管i = 0i = 1i = 2i = 3 圖 13 顯示程序流程圖 按鍵程序設(shè)計(jì) 按鍵是用來設(shè)定上下限報(bào)警溫度的。具體的程序流程圖如圖 14 所示。 開 始
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1