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

正文內(nèi)容

基于單片機(jī)飲水機(jī)的溫度控制控制系統(tǒng)的設(shè)計(jì)-資料下載頁(yè)

2025-02-26 12:07本頁(yè)面
  

【正文】 本系統(tǒng)采用的是循環(huán)查詢方式,來(lái)顯示和控制溫度的。主要包括四段程序的設(shè)計(jì):DS18B20讀溫度程序,數(shù)碼管的驅(qū)動(dòng)程序,鍵盤掃描程序,以及抱經(jīng)處理程序。 主程序流程圖 自 動(dòng) 加 熱 ? 設(shè) 置 溫 度 ?NYNY溫 度 ‘ + ’ 溫 度 ‘ ’ 設(shè) 置 完 成 ?N NY Y N加 熱控 制開 始初 始 化讀 D 1 8 B 2 0溫 度 轉(zhuǎn) 換顯 示 溫 度加 熱 溫 度 設(shè) 置 8 0 ℃預(yù) 設(shè) 溫 度 + 5 預(yù) 設(shè) 溫 度 5Y青島理工大學(xué)畢業(yè)設(shè)計(jì) 6 實(shí) 測(cè) 溫 度 = 預(yù) 設(shè) 溫 度 保 溫 指 示 燈 亮 , 停 止 加 熱 加 熱 指 示 燈 亮 , 開 始 加 熱設(shè) 置 溫 度 ? 溫 度 ‘ + ’預(yù) 設(shè) 溫 度 加 5 溫 度 ‘ ’預(yù) 設(shè) 溫 度 減 5設(shè) 置 完 成 ?加 熱控 制實(shí) 測(cè) 溫 度 預(yù) 設(shè) 溫 度加 熱控 制讀 1 8 B 2 0溫 度 轉(zhuǎn) 換顯 示 溫 度實(shí) 測(cè) 溫 度 = 預(yù) 設(shè) 溫 度 加 熱 指 示 燈 亮 , 開 始 加 熱實(shí) 測(cè) 溫 度 預(yù) 設(shè) 溫 度保 溫 指 示 燈 亮 , 停 止 加 熱YYYNNYYNNNNNYY 圖 主程序流程 圖 各個(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)。 青島理工大學(xué)畢業(yè)設(shè)計(jì) 7 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í)序開始,如果要求 單總線器件回送數(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)換命令子程序、顯示溫度子程序。 青島理工大學(xué)畢業(yè)設(shè)計(jì) 8 開 始初 始 化D S 1 8 B 2 0 存 在 嗎 ?R O M 操 作 命 令存 儲(chǔ) 操 作 命 令讀 取 溫 度 值返 回YN 圖 讀取溫度 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 青島理工大學(xué)畢業(yè)設(shè)計(jì) 9 鍵盤 掃描處理流程 此流程為鍵盤掃描處理, CPU通過(guò)檢測(cè)各數(shù)據(jù)線的狀態(tài) (0 或 1)就能知道是否有按鍵閉合以及哪個(gè)按鍵閉合。鍵盤管理程序的功能是檢測(cè)是否有按鍵閉合,如果有按鍵閉合,消除抖動(dòng),根據(jù)鍵號(hào)轉(zhuǎn)到相應(yīng)的鍵處理程序,按鍵流程圖如圖 所示。 開 始溫 度 設(shè) 置 鍵 是 否 按 下 ?調(diào) 設(shè) 置 功 能 子 程 序溫 度 + 5 鍵 是 否 按 下 ?溫 度 5 鍵 是 否 按 下 ?返 回 鍵 是 否 按 下 ?調(diào) 溫 度 + 5 功 能 子 程 序調(diào) 溫 度 5 功 能 子 程 序調(diào) 顯 示 子 程 序返 回 主 程 序YNNYYYN溫 度 設(shè) 置 鍵 是 否 按 下 ?YNNYN 圖 鍵盤掃描子程序流程圖 報(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)警。其程序流程圖如圖 所示。 青島理工大學(xué)畢業(yè)設(shè)計(jì) 10 開 始P 2 . 7 取 反 , 啟 動(dòng) 蜂 鳴 器不 啟 動(dòng) 蜂 鳴 器 ,正 常 顯 示 溫 度進(jìn) 行 溫 度 比 較 , 超 過(guò) 上 限 值 ? NY 圖 報(bào)警子程序流程圖 系統(tǒng)源代碼 EMPER_L EQU 29H 。 用于 保存讀出溫度的低 8位 TEMPER_H EQU 28H 。 用于保存讀出溫度的高 8位 FLAG1 EQU 38H 。 是否檢測(cè)到 DS18B20 標(biāo)志位 A_BIT EQU 20H 。 數(shù)碼管個(gè)位數(shù)存放內(nèi)存位置 B_BIT EQU 21H 。 數(shù)碼管十位數(shù)存放內(nèi)存位置 B1 EQU 70H 。 溫度小數(shù)點(diǎn)位 A1 EQU 71H 。 設(shè)定溫度值 DQ EQU 。 DQ 為 DS18B20 數(shù)據(jù)位 BELL EQU 。 蜂鳴報(bào)警 ORG 0000H。 單片機(jī)內(nèi)存分配申明 AJMP MAIN0。 前面的都是定義 MAIN: MOV R0,10 M1: CPL ACALL DELAY125 DJNZ R0,M1 。 此段為燈閃 5 次 ,無(wú)實(shí)際意義 MAIN0: MOV A1,80 。 默認(rèn)加熱為 80 度 青島理工大學(xué)畢業(yè)設(shè)計(jì) 11 MAIN1: LCALL D1820。 調(diào)用讀溫度子程序 LCALL DISPLAY。 調(diào)用數(shù)碼管顯示子程序 MOVA,29H CLR C CJNE A,A1,MAIN1_1 SETB BELL。 溫度相等 ,關(guān)閉蜂鳴器 AJMP MAIN1_1_A。 下等不用叫蜂鳴器 MAIN1_1: JC MAIN1_2。 為 1 轉(zhuǎn)移 ,表示小于設(shè)定溫度 CPL BELL。 蜂鳴器斷續(xù)鳴叫 MAIN1_1_A: CLR 。 下面是表示沒(méi)達(dá)到溫度 SETB AJMP MAIN2。 主要是檢測(cè)溫度是否小于設(shè)定的溫度 ,則開發(fā)熱管 CLR MAIN1_2: SETB BELL。 關(guān)閉蜂鳴器 CLR 。 開發(fā)熱管 SETB 。 上面的是大于 ,關(guān)發(fā)熱管 MAIN2: JB ,MAIN1 。 看 有否按下 ACALL DELAY125。 延時(shí)防抖動(dòng) ,常用的手法 ,網(wǎng)上很多介紹的 JB ,MAIN1 。 再次查看 CLR JNB ,$。 等按鍵完全松手才進(jìn)入 ! SETB SETB 。 檢測(cè)到 按鍵后后進(jìn)入設(shè)定溫度 MAIN2_1: ACALL DISPLAY1 JB ,MAIN2_2 ACALL DELAY125 JB ,MAIN2_2 JNB ,$ 青島理工大學(xué)畢業(yè)設(shè)計(jì) 12 MOV A,5 ADD A,A1 CLR C CJNE A,100,MAIN2_1_1 MOV A,99 AJMP MAIN2_1_3。 上面這一段是 +5 度按鍵 ,按下 +5 度 MAIN2_1_1: JC MAIN2_1_3 MAIN2_1_2: CLR C MOV A,99 MAIN2_1_3: MOV A1,A MAIN2_2: JB ,MAIN2_3 ACALL DELAY125 JB ,MAIN2_3 JNB ,$ MOV A,A1 CJNE A,99,ZY1 MOV B,4 AJMP ZY2 ZY1: MOV B,5 ZY2: CLR C MOV A,A1 SUBB A,B MAIN2_2_1: JNC MAIN2_2_2 MOV A1,0 AJMP MAIN2_3。 上面這一段是 5 度按鍵 ,按下 5 度 MAIN2_2_2: MOV A1,A MAIN2_3: JB ,MAIN2_1 ACALL DELAY125 青島理工大學(xué)畢業(yè)設(shè)計(jì) 13 JB ,MAIN2_1 CLR JNB ,$ SETB AJMP MAIN1。 上面這一段是退出的意思的 D1820: LCALL GET_TEMPER 。 調(diào)用讀溫度子程序 MOV B1,29H MOV A,29H MOV C,40H。 將 28H 中的最低位移入 C RRC A MOV C,41H RRC A MOV C,42H RRC A MOV C,43H RRC A MOV 29H,A MOV A,B1 MOV B,10H MUL AB MOV B,10H DIV AB MOV B,10 MUL AB MOV B,10H DIV AB MOV B1,A RET。 上面這一段是讀取溫度后進(jìn)行轉(zhuǎn)換的意思 青島理工大學(xué)畢業(yè)設(shè)計(jì) 14 INIT_1820: SETB DQ。 這是 DS18B20 復(fù)位初始化子程序 NOP CLR DQ。 主機(jī)發(fā)出延時(shí) 537 微秒的復(fù)位低脈沖 MOV R1,3 TSR1: MOV R0,107 DJNZ R0,$ DJNZ R1,TSR1 SETB DQ。 然后拉高數(shù)據(jù)線 NOP NOP NOP NOP MOV R0,25H TSR2: JNB DQ,TSR3。 等待 DS18B20 回應(yīng) DJN
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1