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

正文內(nèi)容

基于at89s52單片機(jī)水溫控制器的設(shè)計(jì)(編輯修改稿)

2024-11-28 10:36 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 5輸出端要并聯(lián)上一個(gè)電解電容,濾除交流電干擾 ,防止損壞單片機(jī)系統(tǒng)。 本設(shè)計(jì)采用 兩種供電方式, 一種為 DC7~18V直流穩(wěn)壓電源變換成 5V的直流電;另一種為 四節(jié)干電池 共 6V經(jīng)二極管加壓后得到將近5V的直流電源 , 電源 配以開(kāi)關(guān)和指示燈,以方便使用。 黃色發(fā)光二極管表示保溫,紅色的表示加熱狀態(tài)。 9 9 V C CD2I N 4 00 71122J22PGND2+ V C C 12 V1GND3J1電源座+ V C C 12 VD1I N 4 00 7IN1GND2OUT3U1L 78 0 5( 大 )12+ C122 0 U FV C CR11K1 2D3LED 圖 311 系統(tǒng)電源設(shè)計(jì)圖 報(bào)警電路設(shè)計(jì) 同時(shí)可以在系統(tǒng)里設(shè)定溫度上限值, 由于加熱停止后,加熱管還有余熱 當(dāng)采集到的外界溫度高于當(dāng)前所設(shè)定溫度上限值時(shí), 程序就會(huì)進(jìn)入報(bào)警子程序,觸發(fā)蜂鳴器進(jìn)行報(bào)警。報(bào)警電路原理圖如圖所示。 VC CR 19 KE1C3B2Q4855 0FM 1B E L LP 圖 312 報(bào)警電路 圖 圖中的三極管 8550的作用是增加驅(qū)動(dòng)能力,比 9012的驅(qū)動(dòng)電流還大些,因此選用8550。 當(dāng)程序進(jìn)入報(bào)警子程序時(shí),把 0,就會(huì)觸發(fā)蜂鳴器, 為了使報(bào)警聲音效果更好,對(duì) , 發(fā)出報(bào)警 嘟嚕 聲音。 4 系統(tǒng) 軟件設(shè)計(jì) 本系統(tǒng)采用的是循環(huán)查詢方式,來(lái)顯示和控制溫度的。主要包括 四 段程序的設(shè)計(jì): DS18B20讀溫度程序,數(shù)碼管的驅(qū)動(dòng)程序,鍵盤掃描程序,以及 抱經(jīng)處理 程序。 主程序 流程圖 10 10 實(shí) 測(cè) 溫 度 = 預(yù) 設(shè) 溫 度 保 溫 指 示 燈 亮 , 停 止 加 熱 加 熱 指 示 燈 亮 , 開(kāi) 始 加 熱設(shè) 置 溫 度 ? 溫 度 ‘ + ’預(yù) 設(shè) 溫 度 加 5 溫 度 ‘ ’預(yù) 設(shè) 溫 度 減 5設(shè) 置 完 成 ?加 熱控 制實(shí) 測(cè) 溫 度 預(yù) 設(shè) 溫 度加 熱控 制讀 1 8 B 2 0溫 度 轉(zhuǎn) 換顯 示 溫 度實(shí) 測(cè) 溫 度 = 預(yù) 設(shè) 溫 度 加 熱 指 示 燈 亮 , 開(kāi) 始 加 熱實(shí) 測(cè) 溫 度 預(yù) 設(shè) 溫 度保 溫 指 示 燈 亮 , 停 止 加 熱YYYNNYYNNNNNYY圖 41 主程序流程 11 11 各個(gè)模塊的流程圖 讀取溫度 DS18B20 模塊的流程 由于 DS18B20采用的是一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,而對(duì) AT89S52單片機(jī)來(lái)說(shuō),硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來(lái)模擬單總線的協(xié)議時(shí)序來(lái)完成對(duì) DS18B20芯片的訪問(wèn)。 DS18B20單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念。因此系統(tǒng)對(duì) DS18B20的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化 DS18B20(發(fā)復(fù)位脈 沖) → 發(fā) ROM功能命令 → 發(fā)存儲(chǔ)器操作命令 → 處理數(shù)據(jù) DS18B20雖然具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線少等優(yōu)點(diǎn), DS18B20必須首先調(diào)用啟動(dòng)溫度轉(zhuǎn)換函數(shù),根據(jù)數(shù)據(jù)手冊(cè)上對(duì)應(yīng)轉(zhuǎn)換時(shí)間來(lái)超作,如為 12位轉(zhuǎn)換,則應(yīng)該是最大 750mS,另外在對(duì) DS18B20超作時(shí),時(shí)序要求非常嚴(yán)格,因此最好禁止系統(tǒng)中斷。 由于 DS18B20是在一根 I/O線上讀寫數(shù)據(jù),因此,對(duì)讀寫的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。 DS18B20有嚴(yán)格的通信協(xié)議來(lái)保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、 讀時(shí)序、寫時(shí)序。所有時(shí)序都是將主機(jī)作為主設(shè)備,而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫時(shí)序開(kāi)始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫命令后,主機(jī)需啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。 DS18B20的讀時(shí)序: ( 1)對(duì)于 DS18B20的讀時(shí)序分為讀 0時(shí)序和讀 1時(shí)序兩個(gè)過(guò)程。 ( 2)對(duì)于 DS18B20的讀時(shí)隙是從主機(jī)把單總線拉低之后,在 15秒之內(nèi)就得釋放單總線 ,以讓 DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。 DS18B20在完成一個(gè)讀時(shí)序過(guò)程,至少需要60us才能完成。 DS18B20的寫時(shí)序 : ( 1)對(duì)于 DS18B20的寫時(shí)序仍然分為寫 0時(shí)序和寫 1時(shí)序兩個(gè)過(guò)程。 ( 2)對(duì)于 DS18B20寫 0時(shí)序和寫 1時(shí)序的要求不同,當(dāng)要寫 0時(shí)序時(shí),單總線要被拉低至少 60us,保證 DS18B20能夠在 15us到 45us之間能夠正確地采樣 IO總線上的 “ 0” 電平,當(dāng)要寫 1時(shí)序時(shí),單總線被拉低之后,在 15us之內(nèi)就得釋放單總線。 系統(tǒng)程序設(shè)計(jì)主要包括三部分:讀出溫度子程序 、 溫度轉(zhuǎn)換命令子程序 、顯示溫度子程序。 12 12 開(kāi) 始初 始 化D S 1 8 B 2 0 存 在 嗎 ?R O M 操 作 命 令存 儲(chǔ) 操 作 命 令讀 取 溫 度 值返 回YN 圖 42 讀取溫度 DS18B20 模塊的流程 圖 程序代碼為: GET_TEMPER: SETB DQ 。讀出轉(zhuǎn)換后的溫度值 LCALL INIT_1820 。先復(fù)位 DS18B20 JB FLAG1,TSS2 RET 。判斷 DS1820 是否存在 ?若 DS18B20 不存在則返回 TSS2: MOV A,0CCH 。DS18B20 已經(jīng)被檢測(cè)到 !!!!!!!!!!!!!!!跳過(guò) ROM 匹配 LCALL WRITE_1820 MOV A,44H 。發(fā)出溫度轉(zhuǎn)換命令 LCALL WRITE_1820 LCALL DISPLAY 。這里通過(guò)調(diào)用顯示子程序?qū)崿F(xiàn)延時(shí)一段時(shí)間 ,等待 AD 轉(zhuǎn)換結(jié)束 ,12 位的話 750 微秒 LCALL INIT_1820 。準(zhǔn)備讀溫度前先復(fù)位 MOV A,0CCH 。跳過(guò) ROM 匹配 LCALL WRITE_1820 MOV A,0BEH 。發(fā)出讀溫度命令 LCALL WRITE_1820 LCALL READ_18200 。將讀出的溫度數(shù)據(jù)保存到 35H/36H RET 13 13 鍵盤掃描處理流程 此流程為鍵盤掃描處理, CPU通過(guò)檢測(cè)各數(shù)據(jù)線的狀態(tài) (0或 1)就能知道是否有按鍵閉合以 及哪個(gè)按鍵閉合。鍵盤管理程序的功能是檢測(cè)是否有按鍵閉合,如果有按鍵閉合,消除抖動(dòng),根據(jù)鍵號(hào)轉(zhuǎn)到相應(yīng)的鍵處理程序,按鍵流程圖如圖 43所示。 開(kāi) 始溫 度 設(shè) 置 鍵 是 否 按 下 ?調(diào) 設(shè) 置 功 能 子 程 序溫 度 + 5 鍵 是 否 按 下 ?溫 度 5 鍵 是 否 按 下 ?返 回 鍵 是 否 按 下 ?調(diào) 溫 度 + 5 功 能 子 程 序調(diào) 溫 度 5 功 能 子 程 序調(diào) 顯 示 子 程 序返 回 主 程 序YNNYYYN溫 度 設(shè) 置 鍵 是 否 按 下 ?YNNYN 圖 43 鍵盤掃描子程序流程圖 報(bào)警處理流程 運(yùn)行程序后,溫度傳感器 DS18B20即可對(duì)環(huán)境進(jìn)行溫度采集,并送 LED數(shù)碼管顯示。我們可以在程序里設(shè)定溫度上限值,當(dāng)采集到的外界溫度高于當(dāng)前所設(shè)定溫度上限值時(shí),程序就會(huì)進(jìn)入報(bào)警子程序,觸發(fā)蜂鳴器進(jìn)行報(bào)警。 其程序流程圖如圖 44所示。 14 14 開(kāi) 始P 2 . 7 取 反 , 啟 動(dòng) 蜂 鳴 器不 啟 動(dòng) 蜂 鳴 器 ,正 常 顯 示 溫 度進(jìn) 行 溫 度 比 較 , 超 過(guò) 上 限 值 ? NY 圖 44 報(bào)警子程序流程圖 15 15 5 系統(tǒng)調(diào)試 硬件電路調(diào)試 仔細(xì)檢查所接電路,按照硬件原理圖接線,理論上是能實(shí)現(xiàn)的,如果數(shù)碼管不顯示,則應(yīng)該檢查線路是否正確,或是因?yàn)閱纹瑱C(jī)沒(méi)有工作,還有 集電極和發(fā)射極 是否接對(duì)。如果只顯示兩 個(gè)八,則可能是 DS18B20沒(méi)有接正確,檢查上拉電路是否接好。另外要注意的是,由單片機(jī)輸出的控制信號(hào)比較小,需要進(jìn)行放大才能驅(qū)動(dòng)繼電器工作,否則就不能實(shí)現(xiàn)升溫過(guò)程,通常選用 8550三極管來(lái)進(jìn)行放大。還有 220V交流
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1