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

正文內(nèi)容

基于ds18b20的多點溫度測量系統(tǒng)的設(shè)計畢業(yè)論文-文庫吧資料

2025-07-03 21:56本頁面
  

【正文】 else if(zhen_temp[0]==num[8]) { if(zhen_temp[1]num[9]) flag7=1。 else if(zhen_temp[0]num[8]){ flag7=0。 } Temperature_Process(temp[0],temp[1])。i2。 ds18b20_writemand(0xbe)。 delay(250)。 ds18b20_writemand(0xcc)。 goto out。 delay(1000)。 } } } }next1: Clr_Scr()。 else { flag7=0。 goto next1。 } else if(zhen_temp[1]==num[5]) { if(zhen_temp[2]num[6]) flag7=1。 else if(zhen_temp[1]num[5]) { flag7=0。 goto next1。 if(zhen_temp[0]num[4]) flag7=1。i++) { temp[i]=Ds18b20_Readdata()。 for(i=0。 match_rom(ds18b20_num2)。ds18b20_writemand(0x44)。 } Ds18b20_Init()。 if(flag4==1) { flag4=0。 next: display2(0)。 goto next。 } else if(zhen_temp[2]==num[2]) { if(xiaoshu_temp[0]num[3]) flag7=1。 else if(zhen_temp[2]num[2]) { flag7=0。 goto next。 } else if(zhen_temp[0]==num[0]) { if(zhen_temp[1]num[1]) flag7=1。 else if(zhen_temp[0]num[0]) { flag7=0。 } Temperature_Process(temp[0],temp[1])。i2。 ds18b20_writemand(0xbe)。 delay(250)。 ds18b20_writemand(0xcc)。 goto out。 Clr_Scr()。 while(!flag2) { KeyInput()。 display1()。 EX0=1。 Display_ini()。 Init_lcd()。 PT0=1。 TL0=0xff。 TMOD=0x01。 P2=0XF0。根據(jù)上面指令結(jié)合字符、漢字、圖片顯示原理。先使用軟件對要顯示漢字進行取模,取出來存入程序中的數(shù)組中。操作完成后列地址計數(shù)器自動加一。共64列,DB5DB0取不同值得到03FH(164),代表某一頁面上的某一單元地址,列地址計數(shù)器在每一次讀/寫數(shù)據(jù)后它將自動加一。(4) 頁面地址設(shè)置 D/IR/WDB7DB6DB5DB4DB3DB2DB1DB00010111Page(0~7)頁面地址是DDRAM的行地址,8行為一頁,DDRAM共64行即8頁,DB2DB0表示07頁。(2) 顯示開關(guān)設(shè)置 D/IR/WDB7DB6DB5DB4DB3DB2DB1DB0000011111DD=1:開顯示;D=0關(guān)顯示。狀態(tài)字是了解模塊當(dāng)前工作狀態(tài)的唯一的信息渠道,在每次對模塊操作之前,都要讀出狀態(tài)字,判斷BUSY是否為“0”。: 主程序流程圖 DS18B20程序流程設(shè)計由上一章單片機對DS18B20的控制方法,設(shè)計出如下程序流程: DS18B20寫命令子程序流程圖 DS18B20復(fù)位子程序流程圖 DS18B20讀溫度子程序流程圖 顯示程序流程顯示是實現(xiàn)人機對話的重要部分,在這里選用12864LCD顯示器,可實現(xiàn)對漢字、字符和圖片的顯示, LCD的引腳功能在上面已經(jīng)做了說明,下面是其相關(guān)指令的介紹。當(dāng)讀取的溫度大于設(shè)置的溫度值時,報警器開始報警,LCD顯示溫度的實際值、設(shè)置值、路數(shù)、狀態(tài)。當(dāng)設(shè)置鍵按下后,開始設(shè)置各點的溫度,設(shè)置完之后,如果確認(rèn)鍵按下,則系統(tǒng)開始工作。 系統(tǒng)流程設(shè)計主程序先對系統(tǒng)資源進行初始化,調(diào)用LCD顯示子程序,顯示啟動畫面。用戶可以將變量定義在DATA區(qū)、IDATA區(qū)、PDATA區(qū)、XDATA區(qū),常量定義在CODE區(qū)。采用AT89C51單片機作為核心器件,DS18B20作為溫度測量裝置,利用12864LCD顯示器和44鍵盤作為人機接口。在本系統(tǒng)中單片機、液晶顯示、報警等電路需要5V的電源,因此電路中選用穩(wěn)壓芯片7805,能夠滿足系統(tǒng)的要求。當(dāng)實際溫度超過設(shè)置的溫度值時,單片機引腳輸出一定頻率的信號,信號經(jīng)過音頻功放放大之后,發(fā)出報警聲。LM386是一種音頻集成功放,具有自身功耗低、電壓增益可調(diào)整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點,廣泛應(yīng)用于錄音機和收音機之中。20K背光電源()714DB0DB7數(shù)據(jù)線有些型號的模塊120腳為空腳 : LCD與單片機的接口電路單片機對LCD的控制方法將在下一章中詳細介紹。系統(tǒng)在運行過程之中可以通過按“重新設(shè)置”鍵,對溫度重新進行設(shè)置。在系統(tǒng)啟動時,先按“設(shè)置”鍵,然后按相應(yīng)的數(shù)字鍵,按“左移”或者“右移”鍵改變其他溫度的值。當(dāng)有鍵按下時,將產(chǎn)生中斷,在中斷程序里對按鍵進行掃描,得到按鍵的鍵值。初始化時鍵盤行線為高電平,列線為低電平。 DS18B20 ROM命令指令協(xié)議功能讀ROM33H讀DS18B20中的編碼(即64位地址)符合ROM55H發(fā)出此命令后,接著發(fā)出64位ROM編碼,訪問單總線上與該編碼相對應(yīng)的DS18B20,使之作出響應(yīng),為下一步對該DS18B20的讀寫作準(zhǔn)備搜索ROM0F0H用于確定掛接在同一總線上DS18B20的個數(shù)和識別64位ROM地址,為操作各器件作好準(zhǔn)備跳過ROM0CCH忽略64位ROM地址,直接向DS18B20 溫度轉(zhuǎn)換命令,適用于單個DS18B20工作告警搜索命令0ECH執(zhí)行后,只有溫度超過報警值上限或下限的DS18B20才做出響應(yīng)溫度轉(zhuǎn)換44H啟動DS18B20進行溫度轉(zhuǎn)換,轉(zhuǎn)換時間最長為500ms(典型為200ms),結(jié)果豐入內(nèi)部9字節(jié)RAM中讀暫存器BEH讀內(nèi)部RAM中9字節(jié)的內(nèi)容 寫暫存器4EH發(fā)出向內(nèi)部RAM的第4字節(jié)寫上、下溫度數(shù)據(jù)命令,緊該溫度命令之后,傳達兩字節(jié)的數(shù)據(jù)復(fù)制暫存器48H將RAM中第4字內(nèi)容復(fù)制到E2PROM中重調(diào)E2PROM0B8H將E2PROM中內(nèi)容恢復(fù)到RAM中的第4字節(jié)讀供電方式0B4H讀DS18B20的供電模式,寄生供電時DS18B20發(fā)送“0”,外部供電時DS18B20發(fā)送“1” 鍵盤電路設(shè)計 行列式鍵盤與單片機接口電路根據(jù)本設(shè)計需要,本系統(tǒng)采用了44鍵盤實現(xiàn)對溫度值和功能鍵的設(shè)定。ROM命令通過每個器件64bit的ROM碼,使主機指定某一特定器件(如果有多個器件掛在總線上)與之進行通信。 } return readdata。 delay60us()。 delay60us()。 if(DQ==0) { readdata=readdataamp。 _nop_()。 _nop_()。i8。 uchar i。 } mand=_cror_(mand,1)。 _nop_()。 _nop_()。 DQ=1。 _nop_()。 _nop_()。 DQ=1。 _nop_()。 _nop_()。 _nop_()。 0x01)==0) { DQ=0。i8。DS18B20寫命令子程序如下:void ds18b20_writemand(uchar mand){ uchar i。s內(nèi)有效,因此主機必須在讀時序開始后的15181。當(dāng)傳送0時,DS18B20在該時序結(jié)束時釋放總線,再由上拉電阻將總線拉回空閑高電平狀態(tài)。在主機發(fā)起讀時序之后,DS18B20開始在總線上傳送1或0。每次讀時序由主機發(fā)起,拉低總線至少1181。s,且在兩次獨立的讀時序之間至少需要1181。所以主機在發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時序,以便DS18B20能夠傳送數(shù)據(jù)。如果總線為高電平,則邏輯1被寫入DS18B20;如果總線為低電平,則邏輯0被寫入DS18B20。s~60181。s)。s內(nèi)釋放總線,然后由上拉電阻將總線拉至高電平。兩種寫時序均以主機拉低總線開始。s,且在兩次寫時序之間至少需要1181。主機在寫1時序時向DS18B20寫入邏輯1,而在寫0時序向DS18B20寫入邏輯0。讀/。 //否則再發(fā)復(fù)位信號 }}(2) DS18B20的讀寫控制在寫時序期間,主機向DS18B20寫入數(shù)據(jù);而在讀時序期間,主機讀入來自DS18B20的數(shù)據(jù)。 //延時240us break。 }DS18B20的初始化C語言程序如下所示: void Ds18b20_Init(void){ while(1) { if(!resetpulse()) //收到ds18b20的應(yīng)答信號 { DQ=1。 delay60us()。 delay600us()。s產(chǎn)生應(yīng)答脈沖。s,通過拉低總線60181。DS18B20檢測到這個上升沿后,延時15181。然后主機釋放總線并進入接收(RX)模式。(1) 初始化序列:復(fù)位脈沖和應(yīng)答脈沖在初始化過程中,主機通過拉低單總線至少480181。除了應(yīng)答脈沖所有這些信號都由主機發(fā)出同步信號。 溫度/數(shù)據(jù)的關(guān)系溫度輸出(2進制)輸出(16進制)+125℃0000 0111 1101 000007D0H+85℃0000 0101 0101 00000550H+℃0000 0001 1001 00010191H+℃0000 0000 1010 001000A2H+℃0000 0000 0000 10000008H0℃0000 0000 0000 00000000H℃1111 1111 1111 1000FFF8H℃1111 1111 0101 1110FF5EH℃1110 1110 0110 1111EE6FH55℃1111 1110 1001 0000FE90H 單片機對DS18B20的控制方法DS18B20采用嚴(yán)格的單總線通信協(xié)議,以保證數(shù)據(jù)的完整性。 溫度寄存器格式 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit02322212021222324LS ByteB bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8SSSSS262524MS Byte如果測得的溫度大于0,;如果溫度小于0,即可得到實際的溫度值。寄存器有16位,高5位為符號位,低13位為數(shù)據(jù)位。DS18B20只有三個引腳,一個接地,一個接電源。 DS18B20與單片機接口技術(shù) DS18B20的引腳功能。每個DS18B20有自己的序列號,因此本系統(tǒng)可以在一根總線上掛接了4個DS18B20,通過CRC校驗,對各個DS18B2
點擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1