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

正文內(nèi)容

基于單片機(jī)的dsb多點(diǎn)測溫系統(tǒng)lcd顯示(完全免費(fèi))(精品-預(yù)覽頁

2024-12-14 14:57 上一頁面

下一頁面
 

【正文】 示。 3) 支持多點(diǎn)組網(wǎng)功能,多個(gè) DS18B20 可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測溫。 6) 可編程分辨率為 9~ 12 位,對應(yīng)的可分辨率溫度分別為 ℃, ℃, ℃和℃,可實(shí)現(xiàn)高精度測溫。電源極性接反時(shí),芯片不會因發(fā)熱而燒毀,但不能正常工作。 4) 供熱、制冷管道熱量計(jì)量、中央空調(diào)分戶熱能計(jì)量等。 ( a) DS18B20 To92 (b)DS18B20 八角 SOIC 圖 DS18B20 引腳封裝圖 表 DS18B20 引腳定義 引腳 定義 GND 電源負(fù)極 DQ 信號輸入輸出 VDD 電源正極 NC 空 10 ① DS18B20寄生電源供電方式 如下面圖 (a)所示,在寄生電源供電方式下, DS18B20從單線信號線上汲取能量:在信號線 DQ處于高電平期間把能量儲存在內(nèi)部電容里,在信號線處于低電平期間消耗電容上的電能工作,直到高電平到來再給寄生電源(電容)充電。 ② DS18B20寄生電源強(qiáng)上拉供電方式 改進(jìn)的寄生電源供電方式如下面圖 (b)所示,為了使 DS18B20 在動態(tài)轉(zhuǎn)換周期中獲得足夠的電流供應(yīng),當(dāng)進(jìn)行溫度轉(zhuǎn)換或拷貝到 E2 存儲器操作時(shí),用 MOSFET 把 I/O線直接拉到 VCC就可提供足夠的電流,在發(fā)出任何涉及到拷貝到 E2 存儲器或啟動溫度轉(zhuǎn)換的指令后,必須在最多 10μS 內(nèi)把 I/O 線轉(zhuǎn)換到強(qiáng)上拉狀態(tài)。 11 (a) 外部電源供電方式 (c) 寄生電源供電 方式 (b) 寄生電源強(qiáng)上拉供電方式 圖 硬件電路連接好以后,單片機(jī)需要怎么樣工作才能將 DS18B20中的溫度數(shù)據(jù)讀取出來呢? 下面將給出詳細(xì)分析。發(fā)出此命令之后,接著發(fā)出 64 位 ROM 編碼,訪問單總線上與該編碼相對應(yīng)的 DS18B20 并使之作出響應(yīng),為下一步對該 DS18B20 的讀 /寫做準(zhǔn)備。忽略 64 為 ROM 地址,直接向 18B20 發(fā)溫度轉(zhuǎn)換命令,適用于一個(gè)12 從機(jī)工作。 表 64位光刻 ROM各位定義 64位光刻 ROM 中的序列號是出廠前被光刻好的,它可以看做該 DS18B20 的地址序列碼。當(dāng)主機(jī)需要對眾多在線 DS18B20 中的某一個(gè)進(jìn)行操作時(shí),首先應(yīng)將主機(jī)逐個(gè)與 DS18B20 掛接,讀出其序列號;然后再將所有的 DS18B20 掛接到總線上,單片機(jī)發(fā)出匹配 ROM命令( 55H),緊接著主機(jī)提供的 64位序列(包括 DS18B20的 48位序列號)之后的操作就是針對該 DS18B20 的。結(jié)果存入內(nèi)部 9 字節(jié)的 RAM 中。發(fā)出向內(nèi)部 RAM 的 3 字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)。 6) B4H— 讀供電方式。 表 高速暫存器 RAM 寄存器內(nèi)容 字節(jié)地址 溫度值低位( LSB) 0 13 溫度值高位( MSB) 1 高溫限值( TH) 2 低溫限值( LT) 3 配置寄存器 4 保留 5 保留 6 保留 7 CRC 校驗(yàn)值 8 高速 暫存器 RAM 由 9 個(gè)字節(jié)的存儲器組成。 表 溫度數(shù)據(jù)存儲格式 DS18B20 在出廠時(shí)默認(rèn)配置為 12 位,其中最高位為符號位,即溫度值共 11 位,單片機(jī)在讀取數(shù)據(jù)時(shí),一次會讀 2字節(jié)共 16 位,讀完后將低 11 位的二進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù)后再乘以 便為所測的實(shí)際溫度值。前 5位為 0 時(shí),讀取的溫度為正值,且溫度為正值時(shí),只要將測得的數(shù)值乘以 即可得到實(shí)際溫度值。 4) 延時(shí) 750us(該時(shí)間范圍可以在 480us~ 960us)。但是應(yīng)注意,不能無限地等待,不然會使程序進(jìn)入死循環(huán),所以要進(jìn)行超時(shí)判斷。 2) 延時(shí)確定的時(shí)間為 15us。 6) 重復(fù) 1)~ 5)步驟,直到發(fā)送完整個(gè)字節(jié)。 3) 將數(shù)據(jù)線拉低到 0。 7) 讀數(shù)據(jù)線的狀態(tài)位,并進(jìn)行數(shù)據(jù)處理。單片機(jī)復(fù)位后,程序計(jì)數(shù)器 PC=0000H,即指向程序存儲器 0000H 單元,使 CPU 從首地址重新開始執(zhí)行程序。 17 顯示電路設(shè)計(jì) LCD1602 顯示電路原理圖 如圖 所示 圖 LCD1602 顯示電路 此部分為 LCD1602 顯示電路,通過 10K 可調(diào)電阻可以調(diào)節(jié) 1602 背光顯示亮度。 圖 DS18B20 接口電路 單總線型 DS18B20 溫度傳感器采用一個(gè) DS18B20 接一個(gè) I/O 口的形式,大大簡化了程序編寫難度,通過排針可外接電源供電。用機(jī)器語言編寫的程序成為機(jī)器語言程序或者指令程序(機(jī)器碼程序)。這樣就出現(xiàn)了另一種程序語言 — 匯編語言。 以上兩種語言都是低級語言。 Keil C51是美國 Keil Software公司 出品的 51系列兼容單片機(jī) C語言軟件開發(fā)系統(tǒng),與匯編相比, C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級語言的優(yōu)勢。這些程序模塊可以是幾條語句的集合、功能函數(shù)或程序文件。 ( 2)減少程序錯(cuò)誤 我們在編寫程序時(shí),要注重考慮如下方面。 ( 4)系統(tǒng)的可靠性 [1]要測試單片機(jī)軟件功能的完善性。然后進(jìn)行軟件設(shè)計(jì)時(shí),先搞清楚各個(gè)部分的子程序及他們的流程圖,然后進(jìn)行各子程序的編寫,最后通過主函數(shù)把各子程序連接起來實(shí)現(xiàn)設(shè)計(jì)。 以單個(gè)為例,首先調(diào)用 DS18B20 初始化子程序?qū)λM(jìn)行初始化 ,然后發(fā)跳過匹配ROM 命令,接著發(fā)溫度轉(zhuǎn)換命令完成溫度轉(zhuǎn)換,該命令主要是完成溫度的 A/D 轉(zhuǎn)換,讀取溫度程序是在轉(zhuǎn)換結(jié)束后才能讀取當(dāng)前溫度值。在各寫周期之間必須有最短為 1us 的恢復(fù)時(shí)間。 單片機(jī)從 DS18B20 中讀取數(shù)據(jù)是一位一位的讀的,沒讀完一位的數(shù)據(jù)到單片機(jī)的特定單元 A, A 左移一次與 B 向或,直至 DS18B20 的數(shù)據(jù)全部移到 B 中,到此單片機(jī)就對 DS18B20 完成了讀字節(jié)操作。 開始 設(shè)置 i=8 循環(huán)八次 調(diào)用讀 DS18B20 dat 右移 8 位與 a 按位或(把 8位的 b 和 a 合并送給兩字節(jié)的Tvalue) 結(jié)束 25 圖 按鍵處理子程序流程圖 第五章 誤差分析 誤差產(chǎn)生 當(dāng)采用寄生電源的工作方式時(shí)(電源從 IO 口上獲得),如果溫度高于 100℃,則將產(chǎn)生很大的誤差,因?yàn)榇藭r(shí)器件中較大的漏電流會使總線不能可靠檢測高低電平,從而導(dǎo)致數(shù)據(jù)傳輸誤碼率的增大。在遠(yuǎn)距離有線測溫傳輸過程中, 當(dāng)采用普通信號電纜傳輸長度超過 50m 時(shí),讀取的測溫?cái)?shù)據(jù)將發(fā)生錯(cuò)誤 使得溫度不能準(zhǔn)確測量。 掛接 DS18B20 個(gè)數(shù)論證 在 DS1820 的有關(guān)資料中均未提及單總線上所掛 DS18B20 數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個(gè) DS1820,在實(shí)際應(yīng)用中并非如 此。在編寫過程中,必須嚴(yán)格按照 DS18B20的工作時(shí)序嚴(yán)格編寫,否則溫度無法準(zhǔn)確測量。在第一版設(shè)計(jì)階段由于粗心大意,把 P0口上拉排阻的接電源錯(cuò)接成接地導(dǎo)致 LCD1602不能顯示,通過原理圖對比和電路的排查最終找出和解決問題。 課題采用的是一個(gè) I/O口掛接一個(gè) DS18B20的方式串聯(lián)了三個(gè)傳感器。通過一系列的實(shí)驗(yàn)發(fā)現(xiàn):由 DS18B20構(gòu)建的測溫小系統(tǒng)適用于環(huán)境溫度監(jiān)控,對溫度小變化較敏感;不適合應(yīng)用于要求實(shí)時(shí)性強(qiáng)、溫度跨度大的測溫方式。為此,對鄭繼紅老師在畢業(yè)設(shè)計(jì)期間提供的悉心指導(dǎo)與幫助表示衷心的感謝! 此外,特別要感謝在這次畢業(yè)設(shè)計(jì)中為我提供寶貴意見的同學(xué),有了你們的建議讓我這次畢業(yè)設(shè)計(jì)順利完成! 29 參考文獻(xiàn) [1]黨峰、王敬農(nóng)、高國旺 .基于 DS18B20的數(shù)字式溫度計(jì)的實(shí)現(xiàn) [J].山西電子技術(shù) ,2020(3) [2]趙海蘭、趙祥偉.智能溫度傳感器 DS18B20的原理與應(yīng)用 [J].現(xiàn)代電子技術(shù), 2020,26(14) [3]王福泉、萬頻、馮孔淼、張昱 . DS18B20在空調(diào)檢測系統(tǒng)溫度采集模塊中的應(yīng)用 [J].電子技術(shù)應(yīng)用, 2020, 37( 8) [4]程院蓮 .基于單總線器件 DS18B20的智能溫度測量 [J].現(xiàn)代教育裝備, 2020( 23) [5]宋起超 趙洪濤 .基于 DSl8B20的多點(diǎn)溫度巡回檢測系統(tǒng)研制 [J].交通科技與經(jīng)濟(jì) ,2020 [6]劉雪松 程顯俠 .新型溫度傳感器 DS18B20高精度測溫的實(shí)現(xiàn) [J].微處理機(jī) 2020(2) [7]馬云峰 .單片機(jī)與數(shù)字溫度傳感器 DS18B20的接口設(shè)計(jì) [J].計(jì)算機(jī)測量與控制 ,2020(04) [8]郭天祥 .新概念 51單片機(jī) C語言教程 — 入門、提高、開發(fā)、拓展全攻略 .電子工業(yè)出版社 [M], 2020 [9]林立、張俊亮、曹旭東 .單片機(jī)原理及應(yīng)用 ( 基于 Proteus 和 Keil C) [M].北京: 電子工業(yè)出版社 ,2020 [10] 魏偉 、 胡瑋 、 王永清 . 51 單片機(jī) C 語言開發(fā)與應(yīng)用技術(shù)案例詳解 [M].北京: 化學(xué)工業(yè)出版社 ,2020. [11]沈長生. 常用電子元器件使用一讀通 [M].北京 :人民郵電出版社. 2020 [12]童詩白、華成英.模擬電子技術(shù)基礎(chǔ) [M].北京 : 高等教育出版社. 2020 [13] OnLine Measure System of the Temperature in the Synthetic Ammonia Tower Based on the DS18B20 Temperature Sensor[C].Volume 1[A].2020:102104. [14] FenPing Zhou,HongTao Ma,BingDong Sui et Detecting System of Beer Fermentation Based on DS18B20[C].Progress in Measurement and Testing. :898902. 30 附錄 電路原理圖 PCB 布線圖 31 程序清單: include define uchar unsigned char define uint unsigned int sbit DQ =P1^0。 //LCD 控制腳 sbit RW=P2^6。 sbit key3=P2^2。 uchar code str3[]={3:}。 uint flag1,flag2,flag3,flag4。 for(i=0。j++)。 delay1ms(5)。 } void wr_dat(uchar dat) //LCD 寫數(shù)據(jù) { RS=1。 EN=1。 //設(shè)置 16 2 顯示, 5 7 點(diǎn)陣, 8 位數(shù)據(jù)接口 wr_(0x0c)。\039。 } } init_play() //1 號初始化顯示 { lcd_init()。 display(str2)。 } void ds1820rst() //ds1820 復(fù)位 { uchar x=0。 //DQ 拉低 delay_18B20(100)。 uchar dat = 0。 //給脈沖信號 dat=1。 } return(dat)。 i) { DQ = 0。 DQ = 1。 ds1820wr(0xcc)。 //跳過讀序列號 ds1820wr(0xbe)。 36 tvalue=8。 tflag=1。 disdata[0]=tvalue/1000+0x30。 //小數(shù)位 if(tflag==0) flagdat=0x20。 //如果百位為 0,十位為 0 也不顯示 } //wr_dat(flagdat)。 wr_dat(disdata[1])。 wr_dat(0x2e)。 } void ds1820rst1() //ds1820 復(fù)位 { uchar x=0。 //DQ 拉低 delay_18B201(100)。 uchar dat1 = 0。 //給脈沖信號 dat1=1。 } return(dat1)。 i) { DQ1 = 0。 DQ1 = 1。 ds1820wr1(0xcc)。 //跳過讀序列號 ds1820wr1(0xbe)。 tvalue1=8。 tflag1=1。 disdata1[0]=tvalue1/1000+0x30。 //小數(shù)位 if(tflag1==0) flagda
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1