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

正文內(nèi)容

基于單片機(jī)的多溫度檢測(cè)系統(tǒng)的設(shè)計(jì)與proteus仿真6-資料下載頁(yè)

2024-12-07 09:29本頁(yè)面

【導(dǎo)讀】隨著社會(huì)的進(jìn)步和工業(yè)技術(shù)的發(fā)展,人們?cè)絹?lái)越重視溫度因素。息傳輸是不及時(shí)的、不夠精確的,從而不利于工業(yè)控制來(lái)及時(shí)做出決定。形式下,制定出可以多點(diǎn)測(cè)量、實(shí)時(shí)性高、高精度的同步測(cè)量方案是很有必要的。本次設(shè)計(jì)以80C51單片機(jī)系統(tǒng)為核心,能對(duì)四點(diǎn)的溫度進(jìn)行實(shí)時(shí)檢測(cè)。過(guò)單片機(jī)的處理,可以使液晶顯示器LCD顯示四點(diǎn)溫度。報(bào)警上下限,系統(tǒng)設(shè)定閥值,若超限實(shí)時(shí)報(bào)警。本設(shè)計(jì)結(jié)合現(xiàn)實(shí)的使用經(jīng)驗(yàn),使。用了DS18B20數(shù)字溫度傳感器。

  

【正文】 后的 l5? s內(nèi)必須 把 單總線 釋放 ,以便 把 數(shù)據(jù)傳 送 到單總線數(shù)據(jù)線 上。 unsigned char read_bit(void) { unsigned char i。 南京工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 25 DQ = 0。 _nop_()。 _nop_()。 DQ = 1。 for (i=0。 i3。 i++)。 return(DQ)。 } uchar rdbyte(void) { uchar i。 dat=0。 for(i=8。i0。i) { dat=dat1。 DQ=0。 _nop_()。 DQ=1。 delay15(1)。 dat7=DQ。 delay15(4)。 } return(dat)。 } 3) DS18B20的寫(xiě)時(shí)序。 6 0 ~ 1 2 0 u sUG N DUG N D主 C P U 寫(xiě) 1 時(shí) 序6 0 ~ 1 2 0 u s主 C P U 寫(xiě) 0 時(shí) 序D S 1 8 B 2 0采 樣 區(qū)1 u s1 5 u s 1 5 u s 3 0 u s1 u s1 5 u s 1 5 u s 3 0 u sD S 1 8 B 2 0 采 樣 區(qū) 圖 44 DS18B20寫(xiě) 0時(shí)序與寫(xiě) 1時(shí)序 DS18B20寫(xiě)時(shí)序也分為寫(xiě) 1時(shí)序 與 寫(xiě) 0時(shí)序兩個(gè) 環(huán)節(jié) 。寫(xiě) 1時(shí)序 與 寫(xiě) 0時(shí)序的 基本 要求不 盡 同,寫(xiě) 0時(shí),單總線要被拉低至少 60? s,保證 DS18B20能夠在 1545? s之間正確采樣 I/O總線上的 “ 0” 電平。寫(xiě) 1時(shí),單總線被拉低,在之后的 15? s內(nèi)必須 把 單總線 釋放掉 。 void write_bit(char bitval) { 第四章 軟件設(shè)計(jì) 26 DQ = 0。 _nop_()。 _nop_()。 if(bitval==1) DQ =1。 delay(8)。 DQ = 1。 } void wrbyte(uchar d) { uchar i。 dat=d。 for(i=8。i0。i) { DQ=0。 delay15(1)。 DQ=dat0。 dat=dat1。 delay15(1)。 DQ=1。 } } DS18B20復(fù)位后, 它可 以被編程來(lái)控制讀取溫度值 (通過(guò) ),讀取數(shù)據(jù)時(shí),在前面的是低位,高位在讀取的數(shù)據(jù)之后,估計(jì)相應(yīng)的溫度是正或負(fù),當(dāng)溫度值是正,直接二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制溫度值 。當(dāng)溫度值是負(fù)時(shí),二進(jìn)制代碼的補(bǔ)碼先轉(zhuǎn)變?yōu)樵a,然后轉(zhuǎn)換為十進(jìn)制溫度值。 本課題的溫度測(cè)量與讀取軟件流程 : DSl8B20編程注意事項(xiàng): a) 溫度轉(zhuǎn)換時(shí)間設(shè)置為 750毫秒時(shí),靈敏度會(huì)具有很大提高,當(dāng)系統(tǒng)要求很高精度的情況下推薦使用,而且恢復(fù)性較好。 b) DSl8B20讀寫(xiě)時(shí)序必須經(jīng)過(guò)仔細(xì)調(diào)整,可以進(jìn)行周而復(fù)始的調(diào)試修改,從而找到合理的延時(shí)時(shí)間。 c) 當(dāng)系統(tǒng)中 的軟件程序檢測(cè) DS18B20產(chǎn)生的應(yīng)答脈沖信號(hào)時(shí),最好的方式是設(shè)置一種有限的檢測(cè)時(shí)間,不然如果有溫度傳感器發(fā)生損壞時(shí),軟件程序?qū)?huì)陷入無(wú)限檢測(cè)的死循環(huán)當(dāng)中。 顯示程序設(shè)計(jì) 根據(jù)系統(tǒng)的要求,單片機(jī)不僅要能接收到溫度信號(hào),還要將溫度信號(hào)顯示出來(lái),使系統(tǒng)一目了然。 液晶顯示模塊 LCD相比與 數(shù)碼管 ,突顯它的 專業(yè)、漂亮 。南京工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 27 LCD液晶顯示屏 擁有的特點(diǎn)是 功耗 低 、超薄輕巧 、 體積小、顯示內(nèi)容 格式非常 豐富、超薄輕巧、使用方便等,在家用電器 、工業(yè)控制 儀器儀表、電子設(shè)備等低功耗 非常低的 應(yīng)用系統(tǒng) 當(dāng) 中得到 了很廣泛 的 使用。液晶模塊 分為字符型和點(diǎn)陣型兩類:字符型顯示模塊通常只能顯示 ASCII碼表中的數(shù)字、字母等符號(hào); 圖 45 溫度測(cè)量程序流圖 點(diǎn)陣型顯示模塊除了可以顯示 ASCII 字符,還能顯示漢字、繪制圖形。 (1) 引腳功能 RT1602 液晶模塊 的內(nèi)部自帶有非常 標(biāo)準(zhǔn) 的 字庫(kù) 集 , 其 內(nèi)部 字符 儲(chǔ)存器 存儲(chǔ)了 192 個(gè) 57 點(diǎn)陣字符, 可顯示 2 行 16 列共 32 個(gè) 點(diǎn)陣 字符 ,其外觀及引腳排列如圖 46 所示, 引腳功能說(shuō)明: VSS: 電源地 VDD: 5V 正電源 V0: LCD 對(duì)比度調(diào)整引腳,與電源的正極連 接時(shí)對(duì)比度最弱,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生一個(gè)陰影,可以通過(guò)一個(gè) 10K 的電位器用于調(diào)節(jié)對(duì)比度。 開(kāi)始 復(fù)位 DS18B20 發(fā)出跳過(guò) ROM 命令 發(fā)出溫度轉(zhuǎn)換命令 讀溫度值 發(fā)出匹配 ROM 命令 發(fā) 1 個(gè) DS18B20 序號(hào) 復(fù)位 DS18B20 復(fù)位 DS18B20 延時(shí) 發(fā)報(bào)警搜索命令 存入存儲(chǔ)器 轉(zhuǎn)換完畢 指向下一個(gè)DS18B20 報(bào)警輸出 第 n 個(gè) DS18B20 處理完? 有溫度超限否? N N Y 第四章 軟件設(shè)計(jì) 28 RS: 寄存器 之間的 選擇,高 與低 電平 時(shí)分別 選擇數(shù)據(jù)寄存器 和 指令寄存器。 R/W: 讀 和 寫(xiě) 的 信號(hào)線,高 與低的 電平時(shí)進(jìn)行讀 、寫(xiě) 操作 。 E:使能控制信號(hào),當(dāng)該引腳由 高 轉(zhuǎn)換為 成低電平時(shí),液晶模塊 就會(huì) 執(zhí)行 相應(yīng)的命 令。 RS=0、 R/W= E=1 時(shí) ,讀取液晶模塊的狀態(tài)字。 RS=0、 R/W=0、 E=1,向液晶模塊寫(xiě)入命令字。 RS= R/W= E=1 時(shí),從液晶模塊讀取數(shù)據(jù)。 RS= R/W=0, E=1 時(shí),向液晶模塊寫(xiě)入數(shù)據(jù)。 DB0~ DB7: 8 位雙向數(shù)據(jù)線。 BLA:背 對(duì)著 光源 為 正極。 BLK:背 對(duì)著 光源 為 負(fù)極。 RT1602 的讀 /寫(xiě)時(shí)序如圖 47 所 : R SR / Wt s p 1t h dt p w t f t h d 1Et rt dD B 0 ~ D B 7 V a l i d d a t at h d 2t cR St s p 1t h dt p w t f t h d 1Et rt dD B 0 ~ D B 7 V a l i d d a t at h d 2t cR / W 讀時(shí)序 寫(xiě)時(shí)序 圖 47 RT1602 讀 /寫(xiě)時(shí)序 (2) 顯示模塊的指令功能 [3] RT1602 液晶模塊內(nèi)部的控制器 總共 有 11 條控制 執(zhí)行 指令, 單片機(jī)對(duì)液晶模塊的控制 基本上是 指令編程來(lái) 操作應(yīng)用的 ,指令的格式如表 41 所示,現(xiàn)分別說(shuō)明如下 : 1) 清 屏: 指令碼 為 01H,清屏之后, 光標(biāo) 立即返回 到地址 00H。 圖 46 RT1602 的外觀及引腳 南京工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 29 表 41 RT1602 顯示模塊的指令集 [7] 2) 光標(biāo) 返回: 光標(biāo) 立即 返回 至 地址 00H。 3) 光標(biāo) 與 顯示 方式 設(shè)置 : I/D: 光標(biāo)移動(dòng) 的 方向 可以分為 高 、低電平分別 右 移和 左移 。 S: 屏幕上 的每一個(gè) 文字是左移 還是 右移。高 和低 電平 分別 表示有效 和無(wú)效 。 4) 顯示開(kāi) /關(guān)控制 : D: 控制 LCD 整體顯示的開(kāi)與 閉 ,高 、低 電平 為 開(kāi) 和閉 顯示 。 C: 控制 LCD 光標(biāo)的開(kāi) 和 關(guān),高 、低 電平 分 別為 有 和無(wú) 光標(biāo) 。 B: 控制 LCD 光標(biāo) 閃爍 與否 ,高 、低 電平 表示 閃爍 和 不閃爍 。 5) LCD 光標(biāo) 和 顯示移位 : S/C: 高 、低 電平 分別表示 移動(dòng)顯示文字 和 光標(biāo) 。 R/L: 移動(dòng)方向,高 、低 電平 表示右移和 左移。 6) 置功能 : DL: 高 、低 電平 分別表示 4 位 和 8 位 總線 。 N: 低 、高 電平 表示 單行顯示 與 雙行顯示 。 F: 低 、高 電平 分別表示 顯示 57 和 510 的點(diǎn)陣字符 。 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 清屏 0 0 0 0 0 0 0 0 0 1 光標(biāo)返回 0 0 0 0 0 0 0 0 1 * 置輸入模式 0 0 0 0 0 0 0 1 I/D S 顯示開(kāi) /關(guān)控制 0 0 0 0 0 0 1 D C B 光標(biāo)或字符移位 0 0 0 0 0 1 S/C R/L * * 置功能 0 0 0 0 1 DL N F * * 置數(shù)據(jù)存儲(chǔ)器地址 0 0 1 顯示數(shù)據(jù)存儲(chǔ)器地址 (ADD) 讀忙標(biāo)志或地址 0 1 BF 計(jì)數(shù)器地址 (AC) 寫(xiě)數(shù)據(jù) 1 0 需 要寫(xiě)的數(shù)據(jù) 讀數(shù)據(jù) 1 1 需要讀 的數(shù)據(jù) 第四章 軟件設(shè)計(jì) 30 7) 置 數(shù)據(jù)存儲(chǔ)器 地址 : 如圖 48 所示,液晶屏幕上的每個(gè)字符位置與內(nèi)部數(shù)據(jù)存儲(chǔ)器 (DDRAM)之間有著一一對(duì)應(yīng)關(guān)系。 為了將字符顯示到屏幕指定位置,必須用該命令設(shè)置液晶模塊的數(shù)據(jù)存儲(chǔ)器地址。例如 : 為了能在第二行第二列 (數(shù)據(jù)存儲(chǔ)器地址為 41H)顯示字符,必須首先置數(shù)據(jù)存儲(chǔ)器地址為 41H,相應(yīng)的命令字為 1000 0000B + 0100 0001B=1100 0001B(C1H)。 8) 讀忙 標(biāo)志 和光標(biāo)地址 : BF: 為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù), BF 為低電平表示不忙。 AC: 為當(dāng)前計(jì)數(shù)器地址。 9) 寫(xiě)數(shù)據(jù) : RT1602LCD內(nèi)部的字符發(fā)生存儲(chǔ)器已經(jīng) 儲(chǔ)存 160個(gè)不同的點(diǎn)陣 型 字符圖形 ,每一個(gè)字符 基本上都有 一個(gè)固定 不變 的代碼, 一般為該字符的 ASCII 碼,只要執(zhí)行寫(xiě)數(shù)據(jù)指令,寫(xiě)入該字符的代 碼,就可在 屏幕上顯示該字符。 為了使程序清晰易讀,將對(duì)命令口、數(shù)據(jù)口的寫(xiě)操作及等待操作完成設(shè)計(jì)成函數(shù),每次寫(xiě)入指令碼或數(shù)據(jù)后必須等待忙標(biāo)志 位 BF 為 0 后才返回 ; 由于每次寫(xiě)入數(shù)據(jù)后,模塊內(nèi)的地址寄存器會(huì)自動(dòng)指向下個(gè)單元,因此無(wú)需在每個(gè)字符輸出前都設(shè)置數(shù)據(jù)存儲(chǔ)器地址,比如在顯示字符串 str1 前,只要 “ lcd_cmd(0x80); ”語(yǔ)句設(shè)置一次即可,將 str1 的第一個(gè)字符 ‘ W’ 寫(xiě)入模塊內(nèi)地址為 00H 的單元,LCD 16 字 *2 行 00 01 02 06 05 04 03 27 …. B A 09 09 08 07 40 41 42 43 44 45 46 47 48 49 4a 4b 4c … 67 圖 48 置與內(nèi)部數(shù)據(jù)存儲(chǔ)器 南京工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 31 即顯示在第一行的第一個(gè)字符位置,后續(xù) 的其它字符就無(wú)需再設(shè)置地址了,程序清單如下 : include include define uchar unsigned char define uint unsigned int define LCD P0 sbit RS=P3^7。 sbit RW=P3^6。 sbit E =P3^5。 sbit RDY=LCD^7。 void lcd_cmd(uchar cmd) { LCD=cmd。 RS=0。 RW=0。 E=1。 _nop_()。 E=0。 while(1) { LCD=0xff。 RS=0。 RW=1。 E=0。 _nop_()。 E=1。 if(RDY==0) break。 } } void lcd_dat(uchar dat) { LCD=dat。 RS=1。 RW=0。 E=1。 _nop_()。 E=0。 while(1) { LCD=0xff。 RS=0。 RW=1。 E=0。 _nop_()。 E=1。 第四章 軟件設(shè)計(jì) 32
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1