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

正文內(nèi)容

基于單片機(jī)的多點(diǎn)溫度測(cè)量系統(tǒng)設(shè)計(jì)(編輯修改稿)

2025-07-24 19:56 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 M指令)[CCH]這條指令使芯片不對(duì)ROM編碼做出反應(yīng),在單芯片的情況之下,為了節(jié)省時(shí)間則可以選用此指令。如果在多芯片掛接時(shí)使用此指令將會(huì)出現(xiàn)數(shù)據(jù)沖突,導(dǎo)致錯(cuò)誤出現(xiàn)。Search ROM(搜索芯片)[F0H]在芯片初始化后,搜索指令允許總線(xiàn)上掛接多芯片時(shí)用排除法識(shí)別所有器件的64位ROM。Alarm Search(報(bào)警芯片搜索)[ECH]在多芯片掛接的情況下,報(bào)警芯片搜索指令只對(duì)符合溫度高于TH或小于TL報(bào)警條件的芯片做出反應(yīng)。只要芯片不掉電,報(bào)警狀態(tài)將被保持,直到再一次測(cè)得溫度什達(dá)不到報(bào)警條件為止。 DS18B20芯片存儲(chǔ)器操作指令表[5]Write Scratchpad (向RAM中寫(xiě)數(shù)據(jù))[4EH]這是向RAM中寫(xiě)入數(shù)據(jù)的指令,隨后寫(xiě)入的兩個(gè)字節(jié)的數(shù)據(jù)將會(huì)被存到地址2(報(bào)警RAM之TH)和地址3(報(bào)警RAM之TL)。寫(xiě)入過(guò)程中可以用復(fù)位信號(hào)中止寫(xiě)入。Read Scratchpad (從RAM中讀數(shù)據(jù))[BEH]此指令將從RAM中讀數(shù)據(jù),讀地址從地址0開(kāi)始,一直可以讀到地址9,完成整個(gè)RAM數(shù)據(jù)的讀出。芯片允許在讀過(guò)程中用復(fù)位信號(hào)中止讀取,即可以不讀后面不需要的字節(jié)以減少讀取時(shí)間。Copy Scratchpad (將RAM數(shù)據(jù)復(fù)制到EEPROM中)[48H]此指令將RAM中的數(shù)據(jù)存入EEPROM中,以使數(shù)據(jù)掉電不丟失。此后由于芯片忙于EEPROM儲(chǔ)存處理,當(dāng)控制器發(fā)一個(gè)讀時(shí)間隙時(shí),總線(xiàn)上輸出“0”,當(dāng)儲(chǔ)存工作完成時(shí),總線(xiàn)將輸出“1”。在寄生工作方式時(shí)必須在發(fā)出此指令后立刻超用強(qiáng)上拉并至少保持10MS,來(lái)維持芯片工作。Convert T(溫度轉(zhuǎn)換)[44H]收到此指令后芯片將進(jìn)行一次溫度轉(zhuǎn)換,將轉(zhuǎn)換的溫度值放入RAM的第2地址。此后由于芯片忙于溫度轉(zhuǎn)換處理,當(dāng)控制器發(fā)一個(gè)讀時(shí)間隙時(shí),總線(xiàn)上輸出“0”,當(dāng)儲(chǔ)存工作完成時(shí),總線(xiàn)將輸出“1”。在寄生工作方式時(shí)必須在發(fā)出此指令后立刻超用強(qiáng)上拉并至少保持500MS,來(lái)維持芯片工作。Recall EEPROM(將EEPROM中的報(bào)警值復(fù)制到RAM)[B8H]此指令將EEPROM中的報(bào)警值復(fù)制到RAM中的第4個(gè)字節(jié)里。由于芯片忙于復(fù)制處理,當(dāng)控制器發(fā)一個(gè)讀時(shí)間隙時(shí),總線(xiàn)上輸出“0”,當(dāng)儲(chǔ)存工作完成時(shí),總線(xiàn)將輸出“1”。另外,此指令將在芯片上電復(fù)位時(shí)將被自動(dòng)執(zhí)行。這樣RAM中的兩個(gè)報(bào)警字節(jié)位將始終為EEPROM中數(shù)據(jù)的鏡像。Read Power Supply(工作方式切換)[B4H]此指令發(fā)出后發(fā)出讀時(shí)間隙,芯片會(huì)返回它的電源狀態(tài)字,“0”為寄生電源狀態(tài),“1”為外部電源狀態(tài)。 DS18B20復(fù)位及應(yīng)答關(guān)系及讀寫(xiě)隙每一次通信之前必須進(jìn)行復(fù)位,復(fù)位的時(shí)間、等待時(shí)間、回應(yīng)時(shí)間應(yīng)嚴(yán)格按時(shí)序編程。DS18B20的數(shù)據(jù)讀寫(xiě)是通過(guò)時(shí)間隙處理位和命令字來(lái)確認(rèn)信息交換的。寫(xiě)時(shí)間隙:寫(xiě)時(shí)間隙分為寫(xiě)“0”和寫(xiě)“1”,時(shí)序如圖7。在寫(xiě)數(shù)據(jù)時(shí)間隙的前15uS總線(xiàn)需要是被控制器拉置低電平,而后則將是芯片對(duì)總線(xiàn)數(shù)據(jù)的采樣時(shí)間,采樣時(shí)間在15~60uS,采樣時(shí)間內(nèi)如果控制器將總線(xiàn)拉高則表示寫(xiě)“1”,如果控制器將總線(xiàn)拉低則表示寫(xiě)“0”。每一位的發(fā)送都應(yīng)該有一個(gè)至少15uS的低電平起始位,隨后的數(shù)據(jù)“0”或“1”應(yīng)該在45uS內(nèi)完成。整個(gè)位的發(fā)送時(shí)間應(yīng)該保持在60~120uS,否則不能保證通信的正常。讀時(shí)間隙:讀時(shí)間隙時(shí)控制時(shí)的采樣時(shí)間應(yīng)該更加的精確才行,讀時(shí)間隙時(shí)也是必須先由主機(jī)產(chǎn)生至少1uS的低電平,表示讀時(shí)間的起始。隨后在總線(xiàn)被釋放后的15uS中DS18B20會(huì)發(fā)送內(nèi)部數(shù)據(jù)位,這時(shí)控制如果發(fā)現(xiàn)總線(xiàn)為高電平表示讀出“1”,如果總線(xiàn)為低電平則表示讀出數(shù)據(jù)“0”。每一位的讀取之前都由控制器加一個(gè)起始信號(hào)。注意:必須在讀間隙開(kāi)始的15uS內(nèi)讀取數(shù)據(jù)位才可以保證通信的正確。在通信時(shí)是以8位“0”或“1”為一個(gè)字節(jié),字節(jié)的讀或?qū)懯菑母呶婚_(kāi)始的。第四章 系統(tǒng)硬件設(shè)計(jì)當(dāng)一線(xiàn)制總線(xiàn)[6]上僅有一個(gè)DS18B20器件時(shí),可以用skip ROM操作(即跳過(guò)ROM匹配)命令來(lái)代替64位序列號(hào)的匹配過(guò)程,這點(diǎn)也是使用單個(gè)DS18B20器件的系統(tǒng)常用的方法。所以,要想節(jié)省掉64位序列號(hào)匹配的時(shí)間開(kāi)銷(xiāo),就必需設(shè)計(jì)成一個(gè)一線(xiàn)制總線(xiàn)上僅有一個(gè)DS18B20器件的系統(tǒng)。 DS18B20的一線(xiàn)制總線(xiàn)在時(shí)序上的嚴(yán)格要求,也從另一方面意味著在一定的彈性范圍內(nèi),不同DS18B20器件的時(shí)序細(xì)節(jié)上的一致性應(yīng)該是非常好,所以可以將系統(tǒng)設(shè)計(jì)成利用MCU的并行端口同時(shí)對(duì)多個(gè)DS18B20進(jìn)行統(tǒng)一的操作,不過(guò)這時(shí)候并行端口上的每一個(gè)端口連接著一個(gè)DS18B20器件而已。 本文所述的解決方案正是以端口的消耗為代價(jià),換取對(duì)多點(diǎn)DS18B20溫度查詢(xún)的速度,并在程序結(jié)構(gòu)的設(shè)計(jì)上采用一些巧妙的處理方法,使得系統(tǒng)對(duì)DS18B20的操作上花更少的時(shí)間。此外,采用本設(shè)計(jì)實(shí)現(xiàn)的快速多點(diǎn)溫度查詢(xún)系統(tǒng),可以省掉煩瑣的總線(xiàn)上器件序列號(hào)的查詢(xún)操作,并可節(jié)省大量的存儲(chǔ)空間(原用于存儲(chǔ)總線(xiàn)上器件的序列號(hào)所用的空間)。 從理論上分析,本設(shè)計(jì)方案的采用,查詢(xún)多個(gè)DS18B20器件操作所消耗的時(shí)間與查詢(xún)一個(gè)DS18B20器件操作所消耗的時(shí)間是等量的。本系統(tǒng)方案8個(gè)DS18B20器件連接在MCU的一組端口的8個(gè)I/O口上,連線(xiàn)示意圖41所示:圖41 系統(tǒng)連線(xiàn)示意圖當(dāng)然,上圖中的示意圖并沒(méi)有考慮諸如端口驅(qū)動(dòng)能力、抗干擾處理等,僅表明一個(gè)邏輯的連接示意,具體在產(chǎn)品級(jí)的設(shè)計(jì)時(shí)會(huì)根據(jù)產(chǎn)品的應(yīng)用做必要的處理,比如增加一些必要的電路等,此處不作為討論的重點(diǎn)。 從上圖可見(jiàn),每個(gè)端口連接有一個(gè)DS18B20器件,也即一條一線(xiàn)制總線(xiàn)上僅有一個(gè)DS18B20器件,符合了前面所述的解決方法。實(shí)際在對(duì)DS18B20器件進(jìn)行操作時(shí),只需統(tǒng)一地對(duì)這一組并行端口進(jìn)行操作(每個(gè)端口在同一時(shí)間輸出相同的電平狀態(tài))即可。 一個(gè)端口對(duì)應(yīng)一個(gè)DS18B20器件,也就表示每組端口的某一個(gè)位的讀回?cái)?shù)據(jù)狀態(tài)也就是該端口所對(duì)應(yīng)的器件的輸出狀態(tài),所以,這樣的系統(tǒng)里面是不需要進(jìn)行每個(gè)器件的序列號(hào)搜索、匹配的操作的??芍?,在對(duì)DS18B20器件進(jìn)行操作時(shí),可以使用skip ROM命令來(lái)跳過(guò)ROM序列號(hào)匹配的操作,也即在所有的DS18B20器件的ROM操作時(shí)可以使用相同的端口輸出時(shí)序。DS18B20數(shù)碼管顯示AT89C51圖42 系統(tǒng)框圖系統(tǒng)框圖[15]簡(jiǎn)介: 系統(tǒng)的核心是AT89C51單片機(jī),系統(tǒng)通過(guò)控制選擇某一個(gè)DS18B20,并把其檢測(cè)到的溫度數(shù)據(jù)送到單片機(jī)進(jìn)行處理,在把處理后的溫度送到數(shù)碼管顯示,并顯示是那個(gè)點(diǎn)的溫度,系統(tǒng)也可以多點(diǎn)溫度循環(huán)掃描顯示。模塊介紹圖43 為單片機(jī)AT89C51仿真模塊圖 43 AT89C51仿真模塊圖 圖44 為四位數(shù)碼管的仿真模塊圖 44 數(shù)碼管仿真模塊圖圖45 為數(shù)字溫度傳感器DS18B20的仿真模塊圖 45 DS18B20仿真模塊圖在 Keil[12],Proteus[13]環(huán)境下設(shè)計(jì)多點(diǎn)測(cè)溫系統(tǒng)硬軟件,進(jìn)行驗(yàn)證,硬件電路圖46如下圖46 系統(tǒng)硬件電路圖第五章 系統(tǒng)軟件設(shè)計(jì) 系統(tǒng)軟件設(shè)計(jì)思路[7]在接下來(lái)的軟件介紹中,會(huì)以C語(yǔ)言的例子介紹具體的編程思路,但這些代碼并非就是實(shí)際中所使用的代碼,僅作為邏輯性的參考,以便大家理解。 軟件設(shè)計(jì)從最底層的與DS18B20時(shí)序相關(guān)的驅(qū)動(dòng),到與一線(xiàn)制總線(xiàn)器件處理過(guò)程控制/協(xié)議的接口函數(shù),再上升到應(yīng)用API接口函數(shù)的關(guān)系如下圖51所示:圖51 接口函數(shù)關(guān)系圖在對(duì)連在一組8位端口上的8個(gè)DS18B20操作時(shí),是同時(shí)對(duì)該組端口進(jìn)行操作,也即同時(shí)對(duì)8個(gè)DS18B20器件進(jìn)行同步的操作。 下面詳細(xì)介紹一下以MCS51系列單片機(jī)的應(yīng)用為例的范例程序,其中約定與8個(gè)DS18B20器件進(jìn)行連接的是P1端口。底層時(shí)序驅(qū)動(dòng)[8]程序與DS18B20的一線(xiàn)制總線(xiàn)的協(xié)議保持一致,根據(jù)一線(xiàn)制總線(xiàn)時(shí)序的特點(diǎn),設(shè)計(jì)了四個(gè)基本的函數(shù):總線(xiàn)寫(xiě)1時(shí)序控制函數(shù):void DS18B20_Write_1(void){P1 = 0x00。//8個(gè)DQ 線(xiàn)全部設(shè)置為低電平Delay_1us(10)。//延時(shí)10us左右P1 = 0xff。//8個(gè)DQ線(xiàn)全部輸出高電平Delay_1us(30)。//延時(shí)30us左右}總線(xiàn)寫(xiě)0時(shí)序控制函數(shù):void DS18B20_Write_0(void){P1 = 0x00。//8個(gè)DQ 線(xiàn)全部設(shè)置為低電平Delay_1us(40)。//延時(shí)P1 = 0xff。//端口恢復(fù)高電平Delay_1us(1)。}總線(xiàn)讀取一個(gè)數(shù)據(jù)位時(shí)序控制函數(shù):unsigned char DS18B20_ReadDQ(void){unsigned char DQ_S=0。P1 = 0x00。//8個(gè)DQ 線(xiàn)全部設(shè)置為低電平Delay_1us(10)。P1 = 0xff。//端口置1,準(zhǔn)備讀取Delay_1us(1)。//延時(shí)待總線(xiàn)準(zhǔn)備好數(shù)據(jù)DQ_S = P1。//一次性讀取8條DQ線(xiàn)的數(shù)據(jù)狀態(tài)P1 = 0xff。//恢復(fù)端口電平Delay_1us(30)。//延時(shí)return DQ_S。//返
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1