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

正文內(nèi)容

基于單片機的數(shù)字溫度計控制系統(tǒng)的設(shè)計與實現(xiàn)范文模板參考資料(文件)

2024-12-31 09:40 上一頁面

下一頁面
 

【正文】 斷, 2 個 16 位可編程定時 計數(shù)器 ,2 個全雙工串行通信口,看門狗( wdt)電路,片內(nèi)時鐘 振蕩器 。 主要功能特性: 工作 電壓 128x8bit 內(nèi)部 ram 3 級加密位 雙數(shù)據(jù)寄存器指針 DS18B20 DS18B20溫度傳感器是美國 DALLAS 半導(dǎo)體公司最新推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)9~12位的數(shù)字值讀數(shù)方式。當(dāng)被用著在寄生電源下,也可以向器件提供電源。 圖 2 DS18B20 內(nèi)部結(jié)構(gòu) 64位 ROM 的結(jié)構(gòu)開始8位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有48位,最后8位是前面 56位的 CRC 檢驗碼,這也是多個 DS18B20 可以采用一線進行通信的原因。頭2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復(fù)位時被 刷新。低5位一直為1,TM是工作模式位,用于設(shè)置 DS18B20 在工作模式還是在測試模式, DS18B20 出廠時該位被設(shè)置為0,用戶要去改動, R1 和R 0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率。第9字節(jié)讀出前面所有8字節(jié)的 CRC 碼,可用來檢驗數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。 當(dāng)符號位S=0時,表示測得的溫度值為正值,可以直接將二進制位轉(zhuǎn)換為十進制;當(dāng)符號位S=1時,表示測得的溫度值為負值,要先將補碼變成原碼,再計算十進制數(shù)值。因此,可用多只 DS18B20 同時測量溫度并進行報警搜索。器件中還有一個計數(shù)門,當(dāng)計數(shù)門打開時, DS18B20 就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖進行計數(shù)進而完成溫度測量。 表 2 一部分溫度對應(yīng)值表 溫度 /℃ 二進制表示 十六進制表示 +125 0000 0111 1101 0000 07D0H +85 0000 0101 0101 0000 0550H + 0000 0001 1001 0000 0191H + 0000 0000 1010 0001 00A2H + 0000 0000 0000 0010 0008H 0 0000 0000 0000 1000 0000H 1111 1111 1111 0000 FFF8H 1111 1111 0101 1110 FF5EH 1111 1110 0110 1111 FE6FH 55 1111 1100 1001 0000 FC90H 另外,由于 DS18B20 單線通信功能是分時完成的,它有嚴 格的時隙概念,因此讀寫時序很重要。另一種是寄生電源供電方式,如圖 4 所示單片機端口接單線總線,為保證在有效的 DS18B20 時鐘周期內(nèi)提供足夠的電 流,可用一個MOSFET 管來完成對總線的上拉。 由于 DS18B20 是在一根 I/O 線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴格的時序要求。而每一次命令和 數(shù)據(jù)的傳輸都是從主機主動啟動寫時序開始,如果要求單總線器件回送數(shù)據(jù),在進行寫命令后,主機需啟動讀時序完成數(shù)據(jù)接收。 ( 4) 延時 750 微秒(該時間的時間范圍可以從 480 到 960 微秒)。 ( 7) 若 CPU 讀到了數(shù)據(jù)線上的低電平 “0” 后,還要做延時,其延時的時間從發(fā)出的高電平算起(第( 5)步的時間算起)最少要 480 微秒。 DS18B20 在完成一個讀時序過程,至少需要 60us才能完成。 ( 4)延時 15微秒。 ( 8)延時 30微秒。 ( 2) 延時確定的時間為 15 微秒。 ( 6) 重復(fù)上( 1)到( 6)的操作直到所有的字節(jié)全部發(fā)送完為止。 三、最重要的一部分是 DS18B20,它此它的連接方式是外接電源方式。 七、蜂鳴器電路,三極管起到開關(guān)的作用。其程序流程圖如圖 8示 圖 9 溫度轉(zhuǎn)換流程圖 Y 發(fā) DS18B20 復(fù)位命令 發(fā)跳過 ROM 命令 發(fā)讀取溫度命令 讀取操作, CRC 校驗 9 字節(jié)完? CRC 校驗正?確? 移入溫度暫存器 結(jié)束 N N Y 開始 初始化 示化 獲取溫度值 與溫度上下限比較 報警 轉(zhuǎn)換并顯示 YES 山東英才學(xué)院畢業(yè)論文設(shè)計 15 溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用 12 位分辨率時轉(zhuǎn)換時間約為 750ms,在本程序設(shè)計中采用 1s 顯示程序延時法等待轉(zhuǎn)換的完成。 uchar code xtab={0x7f,0xbf,0xdf,0xef}。 for(。i)。 _nop_()。 _nop_()。 _nop_()。 }while(k)。 _nop_()。 delay(1)。 F=1。 uchar i。0x01。 山東英才學(xué)院畢業(yè)論文設(shè)計 17 =1。 =0。 for(i=8。 =0。 // 等待復(fù)位脈沖 t=。 }else{v1。 uchar c[2]。 //跳過 ROM wrirte(0x44)。 return(t)。 disbuf[2]=tempmax/100。i0。 disbuf[3]=0x0a。 for(j。 while(k) { P1^1=0。i0。 IT1=1。 } void change( uint t ) //將讀出的 16進制溫度轉(zhuǎn)換成十進制 { int i=0。 disbuf[2]=m/100。 disbuf[3]=m/1000。 } } //顯示將 dispbufij 中的整數(shù)譯碼后通過數(shù)碼管顯示 void teampdsp( ) { uchar k。 temp=disbuf[1]。 delay(1)。 temp=disbuf[i]。 P2=0xff。 while(1) { value=readtemp( )。 //調(diào)用顯示子程序 }} 山東英才學(xué)院畢業(yè)論文設(shè)計 20 總 結(jié) 經(jīng)過三年的學(xué)習(xí),終于完成了我的數(shù)字溫度計 控制 的設(shè)計,雖然沒有完全達到設(shè)計要求,但從心底里說,還是比較高興的。 通過這次的論文設(shè)計 ,我真真正正的意識 到,在以后的學(xué)習(xí)中,要理論聯(lián)系實際,把我們所學(xué)的理論知識用到實際當(dāng)中,不僅使我真正的學(xué)會了數(shù)字溫度計的設(shè)計,而且我相信通過這次的學(xué)習(xí)我能夠達到舉一反三的效果,同時這次的不足之處是在有些細節(jié)方面剛開始做的很不詳細,我想原因在于自己平時對自己的學(xué)習(xí)要求的不夠嚴格,才造成遇到一些問題顯得驚慌失措,在日后我會克服這些缺點的。首先設(shè)計的是它的硬件電路,最重要的部分是 89s51 控制內(nèi)核,所有
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1