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

正文內(nèi)容

課程設(shè)計(論文)-基于單片機的液晶溫度顯示器的設(shè)計(文件)

2024-12-04 09:25 上一頁面

下一頁面
 

【正文】 課程設(shè)計 第 15 頁共 20 頁 P0 = 0xFF。 EN = 1。 EN = 0。 EN = 1。 P0 = cmd。 EN = 0。) { w_dat(*p++)。 // 文字不動,光標(biāo)自動右移 w_cmd(0x01)。 // 將 DQ 線拉低 Delayus(29)。 // 等待存在脈沖 .經(jīng)過 70μ s 之后檢測存在脈沖,因此延時時間為(7024)/16 = ,取 3μ s。 // 返回存在信號, 0 = 器件存在 , 1 = 無器件 } void write_bit(uchar bitval)//向單總線寫入 1位值: bitval { DQ = 0。 // Delayus函數(shù)每次循環(huán)延時 16μ s,因此 Delayus(5)=5*16+24=104μ s } void ds18write_byte(char val)//向單總線寫入一個字節(jié)值: val { uchar i。 i++)// 寫入字節(jié) , 每次寫入一位 { temp = vali。 } Delayus(5)。 //將 DQ 拉低開始讀時間隙 DQ = 1。 // 延時 15μ s return(DQ)。i8。 } int Readtemperature()//如果單總線節(jié)點 上只有一個器件則可以直接掉用本函數(shù)。 ds18write_byte(0xcc)。 ds18write_byte(0xcc)。k++) { get[k]=ds18read_byte()。0xf0)==0xf0) //正負(fù)號判斷 { temp_d=~temp_d。//00000011 陜西理工學(xué)院 課程設(shè)計 第 19 頁共 20 頁 } else { temp_d=temp_d+0x01。0x0f])。 w_cmd(0xc1)。0x0f])。 w_cmd(0xc1)。 w_string(0x80,word1)。 temp_d=wendu%10+39。 w_dat(temp_g)。 w_cmd(0xc4)。 w_cmd(0xc6)。 w_dat(0x43)。 w_dat(0xdf)。 w_dat(0x2e)。 w_dat(temp_d)。 陜西理工學(xué)院 課程設(shè)計 第 20 頁共 20 頁 w_cmd(0xc2)。 temp_g=wendu%100/10+39。 } return temp。0xf0)4)|((temp_gamp。//負(fù)號 } else //正數(shù) { w_cmd(0xc5)。0xf0)4)|((temp_gamp。 } w_cmd(0xc5)。//00000000 temp_g=~temp_g。//低位 temp_g = get[1]。 // 讀暫存器 for (k=0。 // 啟動溫度轉(zhuǎn)換 Delayus(5)。 uchar temp_d,temp_g,k,get[2],temp。 // 然后將其左移 Delayus(6)。 uchar value = 0。 i3。 uchar i。= 0x01。 for (i=0。 // 如果寫 1, DQ 返回高電平 Delayus(5)。 // 獲得存在信號 Delayus(25)。 DQ = 1。 { uchar d。 // 16*2顯示, 5*7點陣, 8位數(shù)據(jù)接口 w_cmd(0x0c)。 while (*p != 39。 RW = 0。 } void w_cmd(uint8 cmd)// 寫命令 { wait()。 RS = 1。 EN = 0。 RW = 1。 st。j0。 void delay(uint xms) { uint i,j。 sbit BUSY = P0^7。//百位編碼 ucharcodeXsw[16]={0x30,0x31,0x31,0x32,0x33,0x33,0x34,0x34,0x35,0x36,0x36,0x37,0x38,0x38,0x39,0x39}。改進設(shè)想如下: 1. 在硬件方面應(yīng)該加上一個蜂鳴器和三個按鈕分別為溫度“ +”、溫度“ — ”和“確定”,根據(jù)不同的監(jiān)測環(huán)境的要求用三個按鈕來設(shè)置具體的上限溫度; 2. 在軟件方面 分別 加上設(shè)置系統(tǒng)默認(rèn)下限溫度的代碼 、 根據(jù)不同的環(huán)境設(shè)置系統(tǒng)上限溫度的代碼 、當(dāng)達到上限溫度是蜂鳴器就報警的代碼。還有,我們學(xué)會不能手高眼低,要踏踏實實,從基礎(chǔ)學(xué)起、做起。流程圖如圖 。 讀出溫度子程序的主要功能是讀出 RAM中的 9 字節(jié),在讀出時需要進行 CRC校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。 指令 10:寫數(shù)據(jù)。 指令 6:功能設(shè)置命令 DL:高電平時為 4位總線,低電平時為 8位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示 5x7的點陣字符,高電平時顯示 5x10的點陣字符。高電平表示有效,低電平則無效。 陜西理工學(xué)院 課程設(shè)計 第 8 頁共 20 頁 LCD1602資料(這里主要介紹下指令說明及時序) 表 1602 液晶模塊內(nèi)部的控制器控制指令 序號 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清顯示 0 0 0 0 0 0 0 0 0 1 2 光標(biāo)返回 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 光標(biāo)或字符移位 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 讀忙標(biāo)志或地址 0 1 BF 計數(shù)器地址 10 寫數(shù)到 CGRAM 或 DDRAM) 1 0 要寫的數(shù)據(jù)內(nèi)容 11 從 CGRAM 或 DDRAM 讀數(shù) 1 1 讀出的數(shù)據(jù)內(nèi)容 1602 液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實現(xiàn)的。單片機可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后。在這條命令發(fā)出之后,對于所發(fā)出的第一個讀數(shù)據(jù)時間片,器件會輸出溫度轉(zhuǎn)換忙的標(biāo)識:“ 0” =忙,“ 1” =準(zhǔn)備就緒。如果總線控制器在這條命令之后跟著發(fā)出讀時間隙,而 DS18B20又忙于做時間轉(zhuǎn)換的話, DS18B20將在總線上輸出“ 0
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1