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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于at89c51的智能溫度預(yù)警系統(tǒng)的設(shè)計(jì)-wenkub

2022-12-12 19:43:59 本頁(yè)面
 

【正文】 脈沖、應(yīng)答脈沖、寫(xiě) 0、 寫(xiě) 讀 0 和讀 1。s,以產(chǎn)生復(fù)位脈沖 (TX)。s~60181。初始化脈沖 如圖 所示。 delay60us()。 //延時(shí) 240us break。讀 /寫(xiě)時(shí)序如圖 所示。s,且在兩次寫(xiě)時(shí)序之間至少需要 1181。s 內(nèi)釋放總線,然后由上拉電阻將總線拉至高電平。s~60181。所以主機(jī)在發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時(shí)序,以便 DS18B20 能夠傳送數(shù)據(jù)。 主機(jī)寫(xiě) ” 0 ” 時(shí)序主機(jī)寫(xiě) ” 1 時(shí)序主機(jī)讀 ” 0 ” 時(shí)序主機(jī)讀 ” 1 時(shí)序30 us15 us 15 us 15 us 15 us 30 us30 us15 us 15 us 15 us 15 us 30 us邵陽(yáng)學(xué)院畢業(yè)設(shè)計(jì)(論文) 11 每次讀時(shí)序由主機(jī)發(fā)起,拉低總線至少 1181。當(dāng)傳送 0 時(shí), DS18B20 在該時(shí)序結(jié)束時(shí)釋放總線,再由上拉電阻將總線拉回空閑高電平狀態(tài)。 DS18B20 寫(xiě)命令子程序 如下: void ds18b20_writemand(uchar mand) { uchar i。 0x01)==0) { DQ=0。 _nop_()。 DQ=1。 _nop_()。 _nop_()。 } mand=_cror_(mand,1)。i8。 _nop_()。 delay60us()。 } return readdata。 表 DS18B20 ROM 命令 指令 協(xié)議 功能 讀 ROM 33H 讀 DS18B20 中的編碼 (即 64 位地址 ) 符合 ROM 55H 發(fā)出此命令后,接著發(fā)出 64 位 ROM編碼,訪問(wèn)單總線上與該編碼相對(duì)應(yīng)的 DS18B20,使之作出響應(yīng),為下一步對(duì)該 DS18B20 的讀寫(xiě)作準(zhǔn)備 搜索 ROM 0F0H 用于確定掛接在同一總線上 DS18B20 的個(gè)數(shù)和識(shí)別 64 位 ROM 地址,為操作各器件作好準(zhǔn)備 跳過(guò) ROM 0CCH 忽略 64 位 ROM 地址,直接向 DS18B20 溫度轉(zhuǎn)換命令,適用于單個(gè) DS18B20 工作 告警搜索命令 0ECH 執(zhí)行后,只有溫度超過(guò) 報(bào)警值上限或下限的 DS18B20 才做出響應(yīng) 溫度轉(zhuǎn)換 44H 啟動(dòng) DS18B20 進(jìn)行溫度轉(zhuǎn)換,轉(zhuǎn)換時(shí)間最長(zhǎng)為 500ms(典型為200ms),結(jié)果豐入內(nèi)部 9 字節(jié) RAM 中 讀暫存器 BEH 讀內(nèi)部 RAM 中 9 字節(jié)的內(nèi)容 寫(xiě)暫存器 4EH 發(fā)出向內(nèi)部 RAM 的第 4字節(jié)寫(xiě)上、下溫度數(shù)據(jù)命令,緊該溫度命令之后,傳達(dá)兩字節(jié)的數(shù)據(jù) 復(fù)制暫存器 48H 將 RAM 中第 4 字內(nèi)容復(fù)制到 E2PROM 中 重調(diào)E2PROM 0B8H 將 E2PROM 中內(nèi)容恢復(fù)到 RAM 中的第 4 字節(jié) 讀供電方式 0B4H 讀 DS18B20 的供電模式,寄生供電時(shí) DS18B20發(fā)送“ 0”,外部供電時(shí) DS18B20 發(fā)送“ 1” 鍵盤(pán) 電路設(shè)計(jì) 行列式鍵盤(pán) 與單片機(jī)接口電路 根據(jù)本設(shè)計(jì)需要,本系統(tǒng)采用了 44 鍵盤(pán)實(shí)現(xiàn) 對(duì)溫度值和功能鍵的設(shè)定。 當(dāng)有鍵按下時(shí),將產(chǎn)生中斷,在中斷程序里對(duì)按鍵進(jìn)行掃描,得到按鍵的鍵值。系統(tǒng)在運(yùn)行過(guò)程之中可以通過(guò)按“重新設(shè)置” 鍵,對(duì)溫度 重新 進(jìn)行 設(shè)置。 LM386 是一種音頻集成功放,具有自身功耗低、電壓增益可調(diào)整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點(diǎn),廣泛應(yīng)用于錄音機(jī)和收音機(jī)之中 。在本系統(tǒng)中單片機(jī)、液晶顯示、報(bào)警等 電路需要 5V的電源,因此電路中選用穩(wěn)壓芯片 7805,其最大輸出電流為 ,能夠滿足系統(tǒng)的要求,其電路如圖 所示。用戶可以將變量定義 在 DATA 區(qū)、 IDATA 區(qū)、 PDATA 區(qū)、 XDATA 區(qū) ,常量定義在 CODE區(qū) 。 當(dāng)設(shè)置鍵按下后,開(kāi)始設(shè)置各點(diǎn)的溫度,設(shè)置完之后,如果確認(rèn)鍵按下, 則系統(tǒng)開(kāi)始工作。 主程序流程如圖 所示: P 0 . 0 ~ P 0 . 7128 64 LCD顯示模塊P 3 . 4P 3 . 3報(bào)警器P 3 . 5 ~ P 3 . 734 4 鍵盤(pán)P 2 . 0 ~ P 2 . 3P 2 . 4 ~ P 2 . 744L 0 ~ L 3H 0 ~ H 3P 3 . 2 / IN T 0AT 89 C 51P 1 . 7四輸入與門DS 18 B 20P 3 . 0 ~ P 3 . 12邵陽(yáng)學(xué)院畢業(yè)設(shè)計(jì)(論文) 19 圖 主程序流程 DS18B20 程序流程設(shè)計(jì) 初始化設(shè)置鍵按下 ?設(shè)置各點(diǎn)溫度確認(rèn)鍵按下 ?YN讀取溫度值溫度值高于設(shè)置值調(diào)用 LCD 顯示報(bào)警YN初始化命令發(fā)送 ROM 命令匹配第一路讀取溫度值溫度值高于設(shè)置值調(diào)用 LCD 顯示報(bào)警YN初始化命令發(fā)送 ROM 命令匹配第二路讀取溫度值溫度值高于設(shè)置值調(diào)用 LCD 顯示報(bào)警YN初始化命令發(fā)送 ROM 命令匹配第三路讀取溫度值溫度值高于設(shè)置值調(diào)用 LCD 顯示報(bào)警YN初始化命令發(fā)送 ROM 命令匹配第四路開(kāi)始邵陽(yáng)學(xué)院畢業(yè)設(shè)計(jì)(論文) 20 由上一章單片機(jī)對(duì) DS18B20 的控制方法 ,設(shè)計(jì)出如下程序流程: 圖 寫(xiě)命令子程序流程圖 圖 DS18B20 復(fù)位子程序流程圖 圖 DS18B20 讀溫度子程序流程圖 顯示 程序流程 DQ 置 1DQ 置 0延時(shí) 573 微秒DQ 置 1延時(shí) , 等待 DS 18 B 20 響應(yīng)DQ = 0 ?初始化成功返回 DQ初始化不成功Y Ni= 8置 DQ 0DQ = DAT amp。若不為“ 0”,則單片機(jī) 需要等待,直至 BUSY =0為止。 ( 5) 列地址設(shè)置 D/I R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 1 Y address(0~63) 列地址是 DDRAM 的列地址。 ( 7) 讀顯示數(shù)據(jù) D/I R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 1 顯 示 數(shù) 據(jù) 該操作將 12864 模塊中的 DDRAM 存儲(chǔ)器對(duì)應(yīng)單位中的內(nèi)容讀出,然后列地址計(jì)數(shù)器自動(dòng)加一。 圖 顯示子程序流程圖 i = 0調(diào)用寫(xiě)數(shù)據(jù)子程序i = 16 ?i = i + 1NY寫(xiě)入頁(yè)地址寫(xiě)入起始列地址j = j + 1j = 2 ?頁(yè)地址加 1結(jié)束N調(diào)用寫(xiě)數(shù)據(jù)子程序i = 16 ?i = i + 1NY寫(xiě)入起始頁(yè)地址寫(xiě)入起始列地址結(jié)束i = 0調(diào)用寫(xiě)數(shù)據(jù)子程序i = 128 ?i = i + 1NY寫(xiě)入頁(yè)地址寫(xiě)入起始列地址j = j + 1j = 8 ?頁(yè)地址加 1結(jié)束Nj = 0i = 0j = 0b ) 寫(xiě) 16 * 16 漢字子程序流程圖a ) 寫(xiě) 8 * 16 字符子程序流程圖 c ) 寫(xiě)圖片子程序流程圖邵陽(yáng)學(xué)院畢業(yè)設(shè)計(jì)(論文) 23 鍵盤(pán)程序程序流程 鍵盤(pán)中斷程序是用來(lái)設(shè)在系統(tǒng) 起動(dòng)時(shí)各 環(huán)境溫度的上限 值 ,其程序流程圖如圖 所示 : 圖 鍵盤(pán)程序流程 讀 P 2 口高四位數(shù)據(jù)到 ROWROW 與 LINE 相與為 KEYP 2 口低四位置 1讀 P 2 口低四位數(shù)據(jù)到 LINEKEY = 0 XEE ?KEY = 0 XEB ?KEY = 0 XED ?KEY = 0 XE 7 ?KEY = 0 XDE ?KEY = 0 XDD ?KEY = 0 XDB ?KEY = 0 XD 7 ?KEY = 0 XBD ?KEY = 0 XBE ?KEY = 0 XBB ?KEY = 0 XB 7 ?KEY = 0 X 7 E ?KEY = 0 X 7 D ?KEY = 0 X 7 B ?KEY = 0 X 77 ?數(shù)字鍵 0數(shù)字鍵 1數(shù)字鍵 2數(shù)字鍵 3數(shù)字鍵 4數(shù)字鍵 5數(shù)字鍵 6數(shù)字鍵 7數(shù)字鍵 8數(shù)字鍵 9設(shè)置功能鍵確認(rèn)功能鍵左移功能鍵右移功能鍵重新設(shè)置功能鍵RETIYNNNNNNNNNNNNNNNYYYYYYYYYYYYYYYP 2 口高四位置 1N邵陽(yáng)學(xué)院畢業(yè)設(shè)計(jì)(論文) 24 程序設(shè)計(jì) 主程序設(shè)計(jì) 系統(tǒng)主程序如下所示: void main(void) { uchar i。 TH0=0xff。 EA=1。 delay(1500)。 delay(1000)。 while(1) { 邵陽(yáng)學(xué)院畢業(yè)設(shè)計(jì)(論文) 25 if(flag4==1) { flag4=0。 ds18b20_writemand(0x44)。 for(i=0。 if(flag5==0) { if(zhen_temp[0]num[0]) flag7=1。 else if(zhen_temp[1]num[1]) { 邵陽(yáng)學(xué)院畢業(yè)設(shè)計(jì)(論文) 26 flag7=0。 goto next。 }} }}} flag5=0。 goto out。 delay(250)。i2。 else if(zhen_temp[0]num[4]) {flag7=0。 goto next1。 邵陽(yáng)學(xué)院畢業(yè)設(shè)計(jì)(論文) 28 } else if(zhen_temp[2]==num[6]) { if(xiaoshu_temp[0]num[7]) flag7=1。 display2(1)。 } Ds18b20_Init()。 match_rom(ds18b20_num3)。i++) { temp[i]=Ds18b20_Readdata()。 goto next2。 } else if(zhen_temp[1]==num[9]) { if(zhen_temp[2]num[10]) flag7=1。 else { flag7=0。 邵陽(yáng)學(xué)院畢業(yè)設(shè)計(jì)(論文) 30 delay(1000)。 ds18b20_writemand(0xcc)。 ds18b20_writemand(0xbe)。 } Temperature_Process(temp[0],temp[1])。 } else if(zhen_temp[0]==num[12]) { if(zhen_temp[1]num[13]) flag7=1。 else if(zhen_temp[2]num[14]) { flag7=0。 goto next3。 } } 子程序設(shè)計(jì) ( 1) LCD 圖片顯示子程序 void Disp_Img (unsigned char code *img) { unsigned char j,k。 Delay(10)。j64。 write_
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1