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

正文內(nèi)容

智能水溫控制系統(tǒng)設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2024-11-12 08:32 本頁面
 

【文章內(nèi)容簡介】 后三個(gè)量比較后取中間值作為我們要處理的信號(hào)。 圖 水溫測(cè)量電路 顯示電路 ( 1) 方案的提出 方案一:靜態(tài)顯示 湖南工業(yè)大學(xué)科技學(xué)院畢業(yè)設(shè)計(jì)(論文) 9 方案二:采用動(dòng)態(tài)掃描法并行輸出數(shù)據(jù) 方案三:采用動(dòng)態(tài)掃描法串行輸出數(shù)據(jù) ( 2) 方案的比較 方案一所謂的靜態(tài)顯示就是對(duì) LED 電子顯示屏中的每一象素點(diǎn)都通過硬件單獨(dú)控制,整個(gè) LED 顯示屏所有的 LED 的同時(shí)顯示。此方式最大優(yōu)點(diǎn)是程序設(shè)計(jì)簡單,且畫面無閃爍。但這種設(shè)計(jì)存在致命的缺點(diǎn):電路復(fù)雜,硬件利用率低, 成本巨大。所以此方式一般不被采用。 方案二和方案三同樣采用動(dòng)態(tài)掃描實(shí)現(xiàn)顯示過程。所謂的動(dòng)態(tài)掃描法是利用人眼的視覺暫留特點(diǎn)而實(shí)現(xiàn)的一種顯示方法,即當(dāng)刷新速率足夠高時(shí),人眼就察覺不出顯示屏畫面更迭的閃爍。若要顯示一幀畫面,先送出第一行的數(shù)據(jù),然后選通并點(diǎn)亮第一行,延時(shí);此后送出第二行的數(shù)據(jù),同樣選通、點(diǎn)亮并延時(shí);依次將所有行掃描完,即給出了一幀的畫面。但方案二的缺點(diǎn)也是明顯的,比較而言,方案二的譯碼電路比較復(fù)雜,相對(duì)硬件開銷大一些;方案三電路構(gòu)成簡單,譯碼電路簡潔。 ( 3) 溫度顯示電路設(shè)計(jì) 圖 溫度顯示 電路 溫度顯示電路中(如圖 ) AT89S51 的 RXD 作為數(shù)據(jù)輸出線, TXD 作為移位時(shí)鐘脈沖。用廉價(jià)易得的 74LS164 和 74LS138 作為擴(kuò)展芯片。 74LS164 是一個(gè) 8 位串入并出的移位寄存器,其此處的功能是將 AT89S51 串行通信口輸出的串行數(shù)據(jù)譯碼并在其并口線上輸出,從而驅(qū)動(dòng) LED 數(shù)碼管。 74LS138 是一個(gè) 38 譯碼器,它將單片機(jī)輸出的地址信號(hào)譯碼后動(dòng)態(tài)驅(qū)動(dòng)相應(yīng)的 LED。但 74LS138 電流驅(qū)動(dòng)能力較小,為此,我們使用了未級(jí)驅(qū)動(dòng)三極管 2SA1015 作為地址驅(qū)動(dòng)。溫度顯示電路中采用二個(gè) LED 顯示器,顯示兩位溫度值。在顯示器方面選擇 LED 是因?yàn)橥渌娘@示器相比而言,它的顯示湖南工業(yè)大學(xué)科技學(xué)院畢業(yè)設(shè)計(jì)(論文) 10 容量,對(duì)比度,亮度,數(shù)字化方面都較好,更重要的是 LED 的壽命很長,成本很低。雖然同 LCD 比較它的功耗較高,但它更高的刷新速率使得 LED 在視頻方面有更好的性能表現(xiàn),能提供寬達(dá) 160176。的視角,可以顯示各種文字、數(shù)字、彩色圖像及動(dòng)畫信息,也可以播放電視、錄像、 VCD、 DVD 等彩色視頻信號(hào),多幅顯示屏還可以進(jìn)行聯(lián)網(wǎng)播出。有機(jī) LED 顯示屏的單個(gè)元素反應(yīng)速度是 LCD 液晶屏的 1000 倍,在強(qiáng)光下也可以照看不誤,并且適應(yīng)零下 40 度的低溫 。 按 鍵電路 溫度設(shè)定可以采用按鈕 ,轉(zhuǎn)換開關(guān) ,撥碼盤等來實(shí)現(xiàn) .該系統(tǒng)采用按鍵輸入。采用可編程器件 8155 擴(kuò)展單片機(jī) I/O 口,與按鍵連接。它的價(jià)格與 8255 差不多,但是多了內(nèi)部鎖存的功能。如圖 所示 , AT89S51 的 P0 口輸出直接與 8155 的 A 口相連,既作為低 8 位地址線又作為數(shù)據(jù)總線。地址的鎖存時(shí)直接用 ALE 再 8155 內(nèi)部鎖存,AT89S51 的 P22 和 P23 分別與 IO和 CE 相連。當(dāng) P23 為低電平時(shí)選中 8155,若 P 22=1,則訪問 8155 的 RAM 單元。用 8155 的 PA口和 PC口擴(kuò)展了 12個(gè)鍵盤,分別 0 到 9的 數(shù)字鍵和一個(gè)小數(shù)點(diǎn)鍵和兩個(gè)功能鍵,鍵盤進(jìn)入溫度設(shè)定狀態(tài)和顯示設(shè)定值狀態(tài)分 圖 溫度設(shè)定電路 別需要按鍵 KEY1 和 KEY2 ,這是系統(tǒng)進(jìn)入中斷,執(zhí)行中斷程序,即進(jìn)入溫度設(shè)定和顯VCC VCC 數(shù)字鍵盤區(qū) 顯示設(shè)定鍵 溫度設(shè)定鍵 湖南工業(yè)大學(xué)科技學(xué)院畢業(yè)設(shè)計(jì)(論文) 11 示設(shè)定溫度狀態(tài)。 報(bào)警電路 當(dāng) DS18B20 在 AS18B20 發(fā)出搜索報(bào)警信號(hào)后如果超過用戶設(shè)定的溫度范圍將發(fā)出報(bào)警信號(hào), AS18B20 搜索到報(bào)警信號(hào)后從 P13 輸出報(bào)警信號(hào),發(fā)光二極管指示報(bào)警狀態(tài)如圖 所示: 圖 報(bào)警電路 驅(qū)動(dòng)電路 圖 驅(qū)動(dòng)電路 電器開關(guān)的具體控制屬于強(qiáng)電控制,在本設(shè)計(jì)中采用繼電器控制,電路圖如圖 所示 . 湖南工業(yè)大學(xué)科技學(xué)院畢業(yè)設(shè)計(jì)(論文) 12 第 3 章 智能水溫控制系統(tǒng)軟件設(shè)計(jì) 系統(tǒng)程序結(jié)構(gòu) 開機(jī)后主程序進(jìn)行系統(tǒng)初始化 ,包括 I/O 口和中斷系統(tǒng)的初始化 .然后對(duì) DS18B20進(jìn)行 初始化,接著進(jìn)行對(duì) DS18B20 的讀,檢測(cè),顯示,溫度控制報(bào)警,然后是對(duì)水位的檢測(cè)及報(bào)警。對(duì) DS18B20 的讀,檢測(cè),顯示,溫度的控制,報(bào)警,水位報(bào)警都作為系統(tǒng)的模塊程序。溫度的設(shè)定及顯示溫度設(shè)定值作為中斷模塊程序。系統(tǒng)流程圖如圖 所示: 并行口初始化 串行口初始化 中斷初始化 將 P11, P12, P13 置 1 將 P14, P15, P16, P17, P27 置 0 DS18B20 初始化 調(diào)讀溫度子 程序 調(diào)溫度檢測(cè)子程序 調(diào)顯示子程序 開始 湖南工業(yè)大學(xué)科技學(xué)院畢業(yè)設(shè)計(jì)(論文) 13 圖 系統(tǒng)程序流程圖 系統(tǒng)模塊程序 在應(yīng)用程序總體的結(jié)構(gòu)中 ,將以下幾個(gè)功能程序作為模塊程序:溫度設(shè)定的 中斷程序,顯示設(shè)定的溫度值的中斷程序,讀 DS18B20 子程序,溫度檢測(cè)子程序,溫度顯示子程序 ,溫度控制子程序,報(bào)警子程序。對(duì)于模塊程序分別介紹如下: 溫度=設(shè)定溫度? 調(diào)溫度控制子程序 調(diào)溫度報(bào)警子程序 DS18B20告警標(biāo)志有置位? N Y N Y 結(jié)束 湖南工業(yè)大學(xué)科技學(xué)院畢業(yè)設(shè)計(jì)(論文) 14 圖 溫度設(shè)定的中斷程序流程圖 關(guān) 閉 中 斷 保 護(hù) 現(xiàn) 場(chǎng) R2= 6, R0 30H 程控掃描鍵盤 有鍵按下嗎? 是數(shù)字鍵嗎? 鍵值送 A ( R0) A R0 R0+1 R2 R21= 0 中 斷 返 回 開 中 斷 恢 復(fù) 現(xiàn) 場(chǎng) 查找功能鍵程序 N N N Y Y 湖南工業(yè)大學(xué)科技學(xué)院畢業(yè)設(shè)計(jì)(論文) 15 數(shù)字鍵盤區(qū)中有兩個(gè)功能鍵,一個(gè)是 Cancel鍵,另一個(gè)是 Enter 鍵。 Cancel 鍵是清除剛才儲(chǔ)存在 R0 單元的內(nèi)容。 Enter 鍵是在輸入設(shè)定的溫度值后按它,那么設(shè)定的值在 LED 中顯示。 子程序 在 AT89S51 的 RAM 中選擇六個(gè)單元依次存放 TH, TL 和室水溫度的設(shè)定值。那么顯示設(shè)定值的流程圖如下: 圖 顯示設(shè)定溫度值的中斷程序 關(guān)閉中斷 保護(hù)現(xiàn)場(chǎng) A ( R0) 延時(shí) 2S SBUF A 設(shè)循環(huán)次數(shù) R3= 3 R0 TH R0 R0+1 R21=0? 恢復(fù)現(xiàn)場(chǎng) 開中斷 中斷返回 N Y 湖南工業(yè)大學(xué)科技學(xué)院畢業(yè)設(shè)計(jì)(論文) 16 因?yàn)槊看沃鳈C(jī)都是針對(duì)一個(gè) DS18B20 操作,其中主機(jī)針對(duì)一個(gè) DS18B20 的啟 動(dòng)溫度變換并讀出溫度值的流程圖如圖 所示: 圖 讀取溫度值的子程序 復(fù)位 DS18B20TX 脈沖 總線高電平等待 500ms,等待完成 A/D 變換 RX 讀一個(gè)脈沖 TX 發(fā) DS18B20 的 64BITROM 地址碼 TX 發(fā) 55H 命令匹配的 DS18B20 復(fù)位命令匹配的 DS18B20 復(fù)位 DS18B20TX 脈沖 RX 讀 一個(gè)脈沖 TX 發(fā) BEH 讀溫度寄存器值 TX 發(fā) 44H A/D 轉(zhuǎn)換 TX 發(fā) 55H 命令匹配的 DS18B20 RX 讀一個(gè)脈沖 RX 讀取溫度值 9 位 湖南工業(yè)大學(xué)科技學(xué)院畢業(yè)設(shè)計(jì)(論文) 17 無論是單點(diǎn)還是多點(diǎn)溫度檢測(cè),在系統(tǒng)安裝及工作之前,應(yīng)將主機(jī)逐個(gè)與 DS1820掛接,讀出 其序列號(hào)。其工作過程為:主機(jī) TX發(fā)一個(gè)脈沖,待“ O”電平大于 480μ s后,復(fù)位 DS18B20,待 DS18B20 所發(fā)響應(yīng)脈沖由主機(jī) Rx 接收后,主機(jī) TX 再發(fā)讀 ROM命令代碼 33H(低位在前),然后發(fā)一個(gè)脈沖( 15μ s) 并接著讀取 DS18B20 序列號(hào)的 圖 水溫檢測(cè)子程序 一位。用同樣方法讀取序列號(hào)的 56 位。在知道所有在線的三個(gè) DS18B20 的序列號(hào)后,開 始 初始化 DS18B20 發(fā) search ROM 發(fā) F0H 讀出在線的 DS18B20 序列號(hào) 初始化 DS18B20 發(fā) skip rom 和 convert 啟動(dòng)所有 DS18B20 并做 A/D 轉(zhuǎn)換 等待 1s L=3 發(fā) MATCH ROM 命令 發(fā)一個(gè) DS18B20 序列號(hào) 存在一個(gè) DS18B20? Y N 初始化 DS18B20 發(fā) BEH 指令 讀溫度寄存器值 讀匹配的 DS18B20 的溫度 送數(shù)據(jù)儲(chǔ)存單元 所有的 DS18B20讀完? L=L- 1 Y N 湖南工業(yè)大學(xué)科技學(xué)院畢業(yè)設(shè)計(jì)(論文) 18 對(duì)其進(jìn)行操作。 流程圖如圖 所示: 溫度檢測(cè)程序如下: include include define uchar unsigned char define unit unsigned int sbit ds=P2^3。 //溫度傳感器信號(hào)線 sbit lcdrs=P2^0。 //1602 讀寫線 sbit lcden=P2^2。 //1602 使能線 sbit beep=P2^4。 //蜂鳴器接口 unit temp。 float f_temp。 uint warn_l=200。 // 溫度下限值 溫度值乘以 10 后的結(jié)果 uint warn_h=600。 //溫度上限值 溫度值乘以 10后的結(jié)果 void delay(uint z) //延時(shí)函數(shù) { uint x, y。 for(x=z; x0。x) for(y=110。y0。y)。 } void dsreset(void) //DS18B20 復(fù)位,初始化函數(shù) { uint i。 ds=0。 i=103。 while(i0)i。 ds=1。 i=4。 while(i0)i。 } 湖南工業(yè)大學(xué)科技學(xué)院畢業(yè)設(shè)計(jì)(論文) 19 bit tempreadbit(void) //讀一位數(shù)據(jù)函數(shù) { uint i。 bit dat。 ds=0。i++。 ds=1。i++。i++。 dat=ds。 i=8。while(i0)i。 return(dat)。 } uchar tampered(void) //讀一個(gè)字節(jié)數(shù)據(jù)函數(shù) { uchar i,j,dat。 dat=0。 for(i=1。i=8。i++) { j=tempreadbit()。 dat=(j7)|(dat1)。 } return(dat)。 } void tempwritebyte(uchar dat) //向 DS18B20 寫一個(gè)字節(jié)數(shù)據(jù)函數(shù) { uint i。 uchar j。 bit testb。 for(j=1。j=8。j++) { 湖南工業(yè)大學(xué)科技學(xué)院畢業(yè)設(shè)計(jì)(論文) 20 testb=datamp。0x01。 dat=dat1。 if(testb)
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1