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

正文內(nèi)容

基于單片機的熱飲機控制系統(tǒng)設(shè)計(編輯修改稿)

2024-12-18 14:54 本頁面
 

【文章內(nèi)容簡介】 E2PROM。后者用于存儲 TH , TL 值 ,數(shù)據(jù)先寫入 RAM ,經(jīng)校驗后再傳給 E2PROM。而配置寄存器為高速暫存器中的第 5 個字節(jié) ,他的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率 ,DS18B20 工作時按此寄存器中的分辨率將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值。 DS18B20內(nèi)部主要包括寄生電源、溫度傳感器、 64位激光 ROM 單線接口、存放中間數(shù)據(jù)的高速暫存器、用于存儲用戶寫入報警上下限的報警觸發(fā)器 TH和 TL,以及 8位循環(huán)冗余校驗碼( CRC)發(fā)生器等 7 部分。 圖 DS18B20的內(nèi)部結(jié)構(gòu)進行了描述 ,它由 4大部分構(gòu)成 ,它們分別是寄生電源電路模塊 ,存儲器與控制器邏輯模塊以及便箋存儲器模塊。 圖 DS18B20的內(nèi)部結(jié)構(gòu) 水溫檢測控制電路設(shè)計 在一些溫控系統(tǒng)電路中,廣泛采用的是通過熱電偶、熱電阻或 PN 結(jié)測溫電路經(jīng)過相應(yīng)的信號調(diào)理電路,轉(zhuǎn)換成 A/ D 轉(zhuǎn)換器能接收的模擬量,再經(jīng)過采樣/保持電路進行 A/ D 轉(zhuǎn)換,最終送入單片機及其相應(yīng)的外圍電路,完成監(jiān)控。但是由于傳統(tǒng)的信號調(diào)理電路實現(xiàn)復(fù)雜、易受干擾、不易控制且精度不高。本文介紹單片機結(jié)合 DS18B20 水DDV DQ 存儲和控制邏輯 高速緩存器 溫度傳感器 高溫觸發(fā)器 TH 低溫觸發(fā)器 TL 配置寄存器 8 位 CRC 生成器 供電方式選 擇 64位 R O M和一線端口 DDV 第 14 頁 共 55 頁 溫控制系統(tǒng)設(shè)計,因此,本系統(tǒng)用一種新型的可編程溫度傳感器( DS18B20),不需復(fù)雜的信號調(diào)理電路和 A/ D 轉(zhuǎn)換電路能直接與單片機完成數(shù)據(jù)采集和處理,實現(xiàn)方便、精度高,可根據(jù)不同需要用于各種場合。 利用單片機 AT89S52實現(xiàn)水溫的智能控制,使水溫能夠在 4090度之間實現(xiàn)控制溫度調(diào)節(jié)。利用儀器讀出水溫,并在此基礎(chǔ)上將水溫調(diào)節(jié)到我們通過鍵盤輸入的溫度(其方式是加熱或降溫),而且能夠?qū)囟蕊@示在我們的 LCD1602液晶屏上 。 DS18B20 測溫電路 圖 DS18B20測溫電路 鍵盤掃描電路 當(dāng)一個單片機應(yīng)用系統(tǒng)的運行需要人工干預(yù)時,鍵盤往往是一種最簡單的干預(yù)途徑, 利用鍵盤,人們可以很方便的實現(xiàn)向系統(tǒng)輸入數(shù)據(jù)或讓系統(tǒng)去執(zhí)行某一項命令。因此,鍵盤接口技術(shù)也是單片機應(yīng)用系統(tǒng)開發(fā)中的一項重要內(nèi)容。 鍵盤掃描電路 如圖 所示。 根據(jù)系統(tǒng) 特點及要求,本文共設(shè)置了三個按鍵,下文詳細介紹各按鍵所對應(yīng)的功能,具體如下 : 參數(shù)控制鍵 Kl:持續(xù)按住該鍵 3秒, 液晶 呈 開啟 狀態(tài),表示 熱飲機 已進入控制值設(shè)置狀態(tài),若此時按下加一鍵 K2或者減一鍵 K3則該 液晶 數(shù)值呈連續(xù)遞增或遞減,直至達 第 15 頁 共 55 頁 到需要的數(shù)值,然后再按下參數(shù)控制鍵進入下一個參數(shù)的設(shè)置,依次類推,完成對溫度控制參數(shù)設(shè)置 。 加一鍵 K2:(1)正常狀態(tài)下點按該鍵, 液晶 呈 開啟 狀態(tài),表示儀表已進入控制值查看狀態(tài), 液晶 顯示的數(shù)值為溫度控制設(shè)定值,再次點按依次顯現(xiàn) 溫度 控制值,亦可點按復(fù)位鍵 4K則立即退出該狀態(tài),恢 復(fù)顯示當(dāng)前溫度值。 (2)在控制值設(shè)置狀態(tài)下,該鍵可對被選狀態(tài) 液晶 進行數(shù)值遞增設(shè)置。每按一次該鍵,設(shè)定值的末尾位就會加一。連續(xù)按住3秒以上,設(shè)定值會迅速增加。 減一鍵 K3:每按一次該鍵,設(shè)定值的末尾位就會自動減去一。連續(xù)按住 3秒以上, 設(shè)定值會迅速減少。 圖 鍵盤掃描電路 當(dāng)某按鍵按下時,其輸出電平并非立刻降為零,而是有一個抖動過程 。 當(dāng)按鍵松開時,在這段過程中信號也會出現(xiàn)抖動,抖動的時間視鍵盤的機械特性和操作者不同而不同,一般為 5~ 10ms,而 CUP 的操作很快,因此這種抖動就容易對按鍵的識 別產(chǎn)生影響, 第 16 頁 共 55 頁 為了防止因按鍵抖動而導(dǎo)致系統(tǒng)的誤操作,需要采取某種手段實現(xiàn)鍵盤的 “ 去抖動 ” 功能 .去抖動的方法有多種,如采用軟件延時查詢的方法或采用硬件處理的方法,本文選用軟件延時的方法去除按鍵抖動。 顯示模塊 1602簡介 1602 引腳說明如表 所示。 表 1602引腳說明 第 1 腳: VSS 為地電源。 第 2 腳: VDD 接 5V 正電源。 編號 符號 引腳說明 1 VSS 電源地 2 VDD 電源正極 3 VL 偏壓信號 4 RS 數(shù)據(jù) /命令選擇端( H/L) 5 R/W 讀 /寫選擇端 6 E 使能信號 7 D0 Data I/O 8 D1 Data I/O 9 D2 Data I/O 10 D3 Data I/O 11 D4 Data I/O 12 D5 Data I/O 13 D6 Data I/O 14 D7 Data I/O 15 BLA 背光源正極 16 BLK 背光源負極 第 17 頁 共 55 頁 第 3 腳: VL 為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生 “ 鬼影 ” ,使用時可以通過一個 10K 的電位器調(diào)整 對比度。 第 4 腳: RS 為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。 第 5 腳: R/W 為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當(dāng) RS和 R/W 共同為低電平時可以寫入指令或者顯示地址,當(dāng) RS為低電平 R/W 為高電平時可以讀忙信號,當(dāng) RS 為高電平 R/W 為低電平時可以寫入數(shù)據(jù)。 第 6 腳: E 端為使能端,當(dāng) E 端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。 第 7~ 14腳: D0~ D7 為 8位雙向數(shù)據(jù)線。 第 15 腳:背光源正極。 第 16 腳:背光源負極。 的指令說明及時序 1602 液晶模 塊內(nèi)部的控制器共有 11條控制指令,如表 : 表 控制命令表 序號 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清顯示 0 0 0 0 0 0 0 0 0 1 2 光標返回 0 0 0 0 0 0 0 0 1 * 3 置輸入模式 0 0 0 0 0 0 0 1 I/D S 4 顯示開 /關(guān)控制 0 0 0 0 0 0 1 D C B 5 光標或字符移位 0 0 0 0 0 1 S/C R/L * * 6 置功能 0 0 0 0 1 DL N F * * 7 置字符發(fā)生存貯器地址 0 0 0 1 字符發(fā)生存貯器地址 8 置數(shù)據(jù)存貯器地址 0 0 1 顯示數(shù)據(jù)存貯器地址 9 讀忙標志或地址 0 1 BF 計數(shù)器地址 10 寫數(shù)到 CGRAM或 DDRAM) 1 0 要寫的數(shù)據(jù)內(nèi)容 11 從 CGRAM或 DDRAM讀數(shù) 1 1 讀出的數(shù)據(jù)內(nèi)容 晶模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的。(說明: 1 為高電平、 0為低電平) 指令 1:清顯示,指令碼 01H,光標復(fù)位到地址 00H位置。 第 18 頁 共 55 頁 指令 2:光標復(fù)位,光標返回到地址 00H。 指令 3:光標和顯示模式設(shè)置 I/D:光標移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。 指令 4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標的開與關(guān),高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍。 指令 5:光標或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標。 指令 6:功能設(shè)置命令 DL:高電平時為 4位總線,低電平時為 8位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯 示 5x7 的點陣字符,高電平時顯示5x10 的點陣字符。 指令 7:字符發(fā)生器 RAM 地址設(shè)置。 指令 8: DDRAM 地址設(shè)置。 指令 9:讀忙信號和光標地址 BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。 指令 10:寫數(shù)據(jù)。 指令 11:讀數(shù)據(jù)。 1602 的硬件電路 1602 和 AT89S52 的硬件電路圖如圖 。其中 1602 的 8 個數(shù)據(jù)端口和單片機的 P0口相連,因 P0口作數(shù)據(jù)端口輸出所以必須外接上拉電阻, 1602的 數(shù)據(jù) /命令 控制線和使能控制線 。 第 19 頁 共 55 頁 圖 1602和 AT89S52的硬件電路圖 第 20 頁 共 55 頁 4 系統(tǒng)軟件設(shè)計 系統(tǒng)模塊分為: DS18B20模塊,顯示模塊,繼電器模塊,鍵盤輸入模塊, DS18B20可以被編程,所以箭頭是雙向的, CPU( 89S52)首先寫入命令給 DS18B20,然后 DS18B20開始轉(zhuǎn)換數(shù)據(jù),轉(zhuǎn)換后通過 89S52來處理數(shù)據(jù)。數(shù)據(jù)處理后的結(jié)果就顯示到 液晶 上 軟件 設(shè)計及 流程圖 圖 系統(tǒng)的整體軟件流程圖 初始化模塊 DS18B20 得到溫度值 處理溫度值 顯示溫度模塊 鍵盤掃描模塊 繼電器控制模塊 第 21 頁 共 55 頁 溫度傳感器的 軟件設(shè)計 DS18B20 的初始化及讀寫時序 DS18B20 需要嚴格的協(xié)議以確保數(shù)據(jù)的完整性。協(xié)議包括幾種單線信號類型:復(fù)位脈沖、存在脈沖、寫 0、寫 讀 0和讀 1。所有這些信號,除存在脈沖外,都是由總線控制器發(fā)出的。 根據(jù) DS18B20 的通訊協(xié)議,主機控制 DS18B20 完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對 DS18B20 進行復(fù)位,復(fù)位成功后發(fā)送一條 ROM 指令,最后發(fā)送 RAM指令,這樣才能對 DS18B20 進行預(yù)定的操作。 1)復(fù)位要求主 CPU 將數(shù)據(jù)線下拉 500 微秒,然后釋放, DS18B20 收到信號后等待16~ 60微秒左右,后發(fā)出 60~ 240 微秒的存在低脈沖,主 CPU 收到此信號表示復(fù)位成功。 圖 DS18B20的初始化時序 2)讀 /寫時間隙 DS18B20 的數(shù)據(jù)讀寫是通過時間隙處理位和命令字來確認信息交換。 ( 1)寫時間隙 當(dāng)主機把數(shù)據(jù)線從邏輯高電平拉到邏輯低電平的時候,寫時間隙開始。有兩種寫時間隙:寫 1時間隙和寫 0時間隙。所有寫時間隙必須最少持續(xù) 60μ s,包括兩個寫周期間至少 1μ s的恢復(fù)時間。 I/O 線電平變低后, DS1820 在一個 15μ s到 60μ s的窗口內(nèi)對 I/O 線采樣。 如果線上是高電平,就是寫 1,如果線上是低電平,就是寫 0(見圖 )。 主機要生成一個寫時間隙,必須把數(shù)據(jù)線拉到低電平然后釋放,在寫時間隙開始后的 15μ s 內(nèi)允許數(shù)據(jù)線拉到高電平。 主機要生成一個寫 0時間隙,必須把數(shù)據(jù)線拉到低電平并保持 60μ s。 第 22 頁 共 55 頁 ( 2)讀時間隙 當(dāng)從 DS1820 讀取數(shù)據(jù)時,主機生成讀時間隙。當(dāng)主機把數(shù)據(jù)線從高高平拉到低電平時,寫時間隙開始數(shù)據(jù)線必須保持至少 1μ s;從 DS1820 輸出的數(shù)據(jù)在讀時間隙的下降沿出現(xiàn)后 15μ s內(nèi)有效。因此,主機在讀時間隙開始后必須停止把 I/O 腳驅(qū)動為低電平 15μ s,以讀取 I/O 腳狀態(tài)(見圖 )。在讀時間隙的結(jié)尾, I/O 引腳將被外部上拉電阻拉到高電平。所有讀時間隙必須最少 60μ s,包括兩個讀周期間至少 1μ s的恢復(fù)時間。 圖 DS18B20的寫時序 圖 DS18B20的讀時序 溫度 傳感器 DS18B20 的流程 第 23 頁 共 55 頁 圖 溫度 傳感器 DS18B20的流程 圖 溫度子程 序 : void dsreset(void) { uint i。 ds=0。 i=103。 while(i0)i。 ds=1。 i=4。 while(i0)i。 } bit tempreadbit(void) { 第 24 頁 共 55 頁 uint i。 bit dat。 ds=0。i++。 ds=1。i++。i++。 dat=ds。 i=8。while(i0)i。 return (dat)。 } uchar tempread(void) { uchar i,j,dat。 dat=0。 for(i=1。i=8。i++) { j=tempreadbit()。 dat=(j7)|(dat1)。 } return(dat)。 } void tempwritebyte(uchar dat) {
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1