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

正文內(nèi)容

基于單片機(jī)的溫度傳感器開發(fā)設(shè)計(jì)-大學(xué)畢業(yè)論文畢業(yè)設(shè)計(jì)學(xué)位論文范文模板參考資料-文庫吧資料

2024-12-07 11:03本頁面
  

【正文】 ,低電平有效。與單片機(jī)的低 8 位地址 /數(shù)據(jù)總線( P0 口)相連。復(fù)位后, 3個(gè) I/O口均為輸入方式。 在訪問外部程序存儲(chǔ)器和外部數(shù)據(jù) 時(shí) 分別作為地址高位字節(jié)和 16 位地址 (MOVX DPTR), 此時(shí)通過內(nèi)部強(qiáng)上拉傳送 1 當(dāng)使用 8 位尋址方式 (MOV Ri)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí) ,P2 口發(fā)送 P2 特殊功能寄存器的內(nèi)容 I/O P3 口是帶內(nèi)部上拉的雙向 I/O 口向 P3 口寫入 1 時(shí) ,P3 口被內(nèi)部上拉為高電平 ,可用作輸入口 。 P1 口第 2 功能 : T2() 定時(shí) /計(jì)數(shù)器 2 的外部計(jì)數(shù)輸入 /時(shí)鐘輸出 T2EX() 定時(shí) /計(jì)數(shù)器 2 重裝載 /捕捉 /方向控制 I/O P2 口是帶內(nèi)部上拉的雙向 I/O 口 , 向 P2口寫入 1時(shí) , P2口被內(nèi)部上拉為高電平 , 可用作輸入口 。 在訪問外部數(shù)據(jù) 時(shí)作數(shù)據(jù)總線,此時(shí) 通過內(nèi)部強(qiáng)上拉輸出 1 I/O P1 口是帶內(nèi)部上拉的雙向 I/O 口 , 向 P1口寫入 1 時(shí) P1 口被內(nèi)部上拉為高電平 , 可用作輸入口 當(dāng)作為輸入 口。恢復(fù) B RET 14 二、 89C51 89C51 的內(nèi)部結(jié)構(gòu)和引腳功能 名稱 類型 名稱和功能 Vss I 地 Vcc I 電源:提供掉電、空閑、正常工作電壓 15 I/O P0 口是開漏雙向口 ,可以寫為 1 使其狀態(tài)為懸浮 用作高阻輸入 。把讀到位在 C 中并依次送給 A DJNZ B,RLOP 。設(shè)置讀位數(shù) ACALL RDBIT 。等待 46us SETB POP A POP B RET 讀字節(jié)子程序 (讀到內(nèi)容放到 A 中 ) RDBYTE: PUSH B 。1us NOP 。1us NOP 。P1 口讀到 A MOV C,EOH 。1us SETB 。1us NOP 。讀開始 NOP 。保存 A MOV B,23 。8 位全寫完 ? POP B RET (3)讀時(shí)間隙 讀位子程序 (讀得的位到 C 中 ) RDBIT: PUSH B 。把寫的位放到 C 13 ACALL WRBIT 。保存 B MOV B,08H 。釋放總線 RET 。C 內(nèi)容到總線 WDLT: DJNZ B,WDLT 。1us NOP 。1us NOP 。寫開始 NOP 。保存 B MOV B,28 。存在時(shí)間等待 SHORT : POP A POP B RET (2)寫時(shí)間隙 當(dāng)主機(jī)總線 t0 時(shí)刻從高拉至低 電平時(shí)就產(chǎn)生寫時(shí)間隙從 t0 時(shí)刻開始 15us 之內(nèi)應(yīng)將所需寫的位送到總線上 DSl820在 t0后 1560us間對(duì)總線采樣 .若低電平寫入的位是 0,若高電平寫入的位是 2 位間的間隙應(yīng)大于 1us??偩€低 等待 DJNZ ACC,WAITL 。清存在信號(hào)標(biāo)志 WAITL: JB ,WH 。釋放總線 MOV B,6 。計(jì)數(shù) 250 次 12 DJNZ B,$ 。設(shè)置循環(huán)次數(shù) CLR 。保存 B 寄存器 PUSH A 。如果線上是高電平,就是寫 1,如果線上是低電平,就是寫 0(見圖 12) 時(shí) 序 主機(jī)使用時(shí)間隙 (time slots)來讀寫 DSl8B20 的數(shù)據(jù)位和寫命令字的位 (1)初始化 主機(jī)總線 t0 時(shí)刻發(fā)送一復(fù)位脈沖 (最短為 480us 的低電平信號(hào) )接著在 t1 時(shí)刻釋放總線并進(jìn)入接收狀態(tài) DSl8B20 在檢測(cè)到總線的上升沿之后等待 1560us 接著 DS18B20 在 t2時(shí)刻發(fā)出存在脈沖 (低電平持續(xù) 60240us)。所有寫時(shí)間隙必須最少持續(xù) 60μs ,包括兩個(gè)寫周期間至少 1μs 的恢復(fù)時(shí)間。 寫時(shí)間隙 當(dāng)主機(jī)把數(shù)據(jù)線從邏輯高電平拉到邏輯低電平的時(shí)候,寫時(shí)間隙開始。 Read Power Supply [B4h] 若把這條命令發(fā)給 DS18B20 后發(fā)出讀時(shí)間隙,器件會(huì)返回它的電源模式: “0”=寄生電源, “1” = 外部電源。這種拷回操作在 DS18B20 上電時(shí)自動(dòng)執(zhí)行,這樣器件一上電暫存器里馬上就存在有效的數(shù)據(jù)了。如果使用寄生電源,總線控制器必須在發(fā)出這條命令后立即起動(dòng)強(qiáng)上拉,并保持 500ms。溫度轉(zhuǎn)換命令被執(zhí)行,而后 DS18B20 保持等待狀態(tài)。如果使用寄生電源,總線控制器必須在這條命令發(fā)出后立即起動(dòng)強(qiáng)上拉并最少保持 10ms。如 果不想讀完所有字節(jié),控制器可以在任何時(shí)間發(fā)出復(fù)位命令來中止讀取 . Copy Scratchpad [48h] 這條命令把暫存器的內(nèi)容拷貝到 DS18B20 的 2E 存儲(chǔ)器里,即把溫度報(bào)警觸發(fā)字節(jié)存入非易失性存儲(chǔ)器里。 Read Scratchpad [BEh] 這個(gè)命令讀取暫存器的內(nèi)容。接下來寫入的兩個(gè)字節(jié)將被存到暫存器中的地址位置 2和 3。一個(gè)復(fù)位脈沖跟著一個(gè)存在脈沖表明 DS18B20 已經(jīng)準(zhǔn)備好發(fā)送和接收數(shù)據(jù)(適當(dāng)?shù)?ROM命令和存儲(chǔ)器操作命令)。所有這些信號(hào),除存在脈沖外,都是由總線控制器發(fā)出的。 I/O 信號(hào) DS18B20 需要嚴(yán)格的協(xié)議以確保數(shù)據(jù)的完整性。報(bào)警條件定義為溫度高于 TH 或低于 TL。 Alarm Search [ECh] 這條命令的流程圖和 Search ROM 相同。 Search ROM [F0h] 當(dāng)一個(gè)系統(tǒng)初次啟動(dòng)時(shí),總線控制器可能并不知道單線總線上有多少器件或它們的64 位 ROM 編碼。 Skip ROM [CCh] 這條命令允許總線控制器不用提供 64 位 ROM 編碼就使用存儲(chǔ)器操作命令,在單點(diǎn)總線情況下 又 節(jié)省時(shí)間。所有和 64 位 ROM 序列不匹配的從機(jī)都將等待復(fù)位脈沖。 Match ROM [55h] 匹配 ROM 命令,后跟 64 位 ROM 序列,讓總線控制器在多點(diǎn)總線上定位一只特定的 DS18B20。只有在總線上存在單只 DS1B820 的時(shí)候才能使用這個(gè)命令。所有 ROM操作命令都 8位長度。存在脈沖讓總線控制器知道 DS1820 在總線上且已準(zhǔn)備好操作。 通過單線總線端口訪問 DS1820 的協(xié)議如下: ? 初始化 ? ROM 操作命令 9 ? 存儲(chǔ)器操作命令 ? 執(zhí)行 /數(shù)據(jù) 初始化 通過單線總線的所有執(zhí)行(處理)都從一個(gè)初 始化序列開始。在恢復(fù)期間,如果單線總線處于非活動(dòng)(高電平)狀態(tài),位與位間的恢復(fù)時(shí)間可以無限長。 單線總線的空閑狀態(tài)是高電平。一個(gè)多點(diǎn)總線由一個(gè)單線總線和多個(gè)掛于其 上的從機(jī)構(gòu)成。為此每一個(gè)總線上的器件都必須是漏極開路或三態(tài)輸出。關(guān)于這種總線分三個(gè)題目討論:硬件結(jié)構(gòu)、執(zhí)行序列和單線信號(hào)(信號(hào)類型和時(shí)序)。 單線總線系統(tǒng) 單線總線系統(tǒng)包括一個(gè)總線控制器和一個(gè)或多個(gè)從機(jī)。這 個(gè)字節(jié)是以上八個(gè)字節(jié)的 CRC 碼。第七和第八字節(jié)是計(jì)數(shù)寄存器,它們可以被用來獲得更高的溫度分辨力(見 “ 測(cè)溫操作 ” 一節(jié))。第三和第四字節(jié)是 TH 和 TL 的拷貝,是易失性的,每次上電復(fù)位時(shí)被刷新。 8 暫存器的結(jié)構(gòu)為 8 個(gè)字節(jié)的存儲(chǔ)器。數(shù)據(jù)經(jīng)過校 驗(yàn)后,用一個(gè)拷貝暫存器命令會(huì)把數(shù)據(jù)傳到非易性( 2E ) RAM 中。當(dāng)在單線總線上通訊時(shí),暫存器幫助確保數(shù)據(jù)的完整性。存儲(chǔ)器 DS1820 的存儲(chǔ)器結(jié)構(gòu)示于圖 8。 8 位系列編碼都進(jìn)入以后,序列號(hào)再進(jìn)入, 48 位序列號(hào)都進(jìn)入后,移位寄存器中就存儲(chǔ)了 CRC值。 移位寄存器的各位都被初始化為 0。當(dāng)在 DS1820 中存儲(chǔ)的或由其計(jì)算的 CRC 值和總線控制器計(jì)算的值不相符時(shí), DS1820 內(nèi)部并沒有一個(gè)能阻止命令序列進(jìn)行的電路。在任何使用 CRC 進(jìn)行數(shù)據(jù)傳輸 校驗(yàn)的情況下,總線控制器必須用上面的公式計(jì)算出一個(gè) CRC 值,和存儲(chǔ)在 DS1820 的 64 位 ROM 中的值或 DS1820 內(nèi)部計(jì)算出的 8 位 CRC 值(當(dāng)讀暫存器時(shí),做為第 9 個(gè)字節(jié)讀出來)進(jìn)行比較??偩€控制器可以用 64 位 ROM 中的前 56 位 計(jì)算出一個(gè) CRC 值,再用這個(gè)和存儲(chǔ)在 DS1820 中的值進(jìn)行比較,以確定 ROM 數(shù)據(jù)是否被總線控制器接收無誤。成功進(jìn)行一次 ROM 操作后,就可以對(duì) DS18B20 進(jìn)行特定的操作,總線控制器可以發(fā)出六個(gè)存儲(chǔ)器和控制操作命令中的任一 條 。這個(gè)協(xié)議用 ROM 操作協(xié)議流程圖來描述。(見圖 5) 64位 ROM 和 ROM 操作控制區(qū)允許 DS18B20 作為 單線制器件并按照詳述于 “ 單線總線系統(tǒng) ” 一節(jié)的單線協(xié)議工作。下面 48位是一個(gè)唯一的序列號(hào)。 64 位(激)光刻 ROM 每只 DS18B20都有一個(gè)唯一的長達(dá) 64位的編碼。當(dāng)報(bào)警標(biāo)識(shí)置位時(shí), DS1820 會(huì)對(duì)報(bào)警搜索命令有 反應(yīng)。如果測(cè)得的溫度高于 TH 或低于 TL,器件內(nèi)部就會(huì)置位一個(gè)報(bào)警標(biāo)識(shí)。因?yàn)檫@些寄存器是 8 位的,所以 ℃ 位被忽略不計(jì)。如用于華氏溫度,必須要用一個(gè)轉(zhuǎn)換因子查找表。數(shù)據(jù)通過單線接口以串行方式傳輸。 溫度 /數(shù)據(jù)關(guān)系(表 1) 溫度 ℃ 數(shù)據(jù)輸出(二進(jìn)制) 數(shù)據(jù)輸出(十六進(jìn)制) +125 00000000 11111010 00FA +25 00000000 00110010 0032 +1/2 00000000 00000001 0001 0 00000000 00000000 0000 1/2 11111111 11111111 FFFF 25 11111111 11001110 FFCE 55 11111111 10010010 FF92 DS18B20 內(nèi)部對(duì)此計(jì)算的結(jié)果可提供 ℃ 的分辨力。這是通過改變計(jì)數(shù)器對(duì)溫度每增加一度所需計(jì)數(shù)的的值來實(shí)現(xiàn)的。然后計(jì)數(shù)器又開始計(jì)數(shù)直到 0,如果門周期仍未結(jié)束,將重復(fù)這一過程。如果計(jì)數(shù)器在門周期結(jié)束前到達(dá) 0,則溫度寄存器(同樣被預(yù)置到 55℃ )的值增加,表明所測(cè)溫度大于 55℃ 。 DS18B20 是這樣測(cè)溫的:用一個(gè)高溫度系數(shù)的振蕩器確定一個(gè)門周期,內(nèi)部計(jì)數(shù)器在這個(gè)門周期內(nèi)對(duì)一個(gè)低溫度系數(shù)的振蕩器的脈沖進(jìn)行計(jì)數(shù)來得到溫度值。 測(cè)溫操作 DS18B20 通過一種片上溫度測(cè)量技術(shù)來測(cè)量溫度。如 果控制器接收到一個(gè) “0” ,它就知道必須在溫度轉(zhuǎn)換期間給 I/O 線提供強(qiáng)上拉。 對(duì)于總線控制器不知道總線上的 DS18B20 是用寄生電源還是用外部電源的情況, DS18B20 預(yù)備了一種信號(hào)指示電源的使用意圖。 溫度高于 100℃ 時(shí),不推薦使用寄生電源,因?yàn)? DS18B20 在這種 溫度下表現(xiàn)出的漏電流比較大,通訊可能無法進(jìn)行。另外,在單線總線上可以掛任意多片 DS18B20,而且如果它們都使用外部電源的話,就可以先發(fā)一個(gè) Skip ROM 命令,再接一個(gè) Convert T 命令,讓它們同時(shí)進(jìn)行溫度轉(zhuǎn)換。這樣做的好處是 I/O 線上不需要加強(qiáng)上拉,而且總線控制器不用在溫度轉(zhuǎn)換期間總保持高電平。使用寄生電源方式時(shí), VDD 引腳必須接地。用 MOSFET 把 I/O 線直接拉到電源上就可以實(shí)現(xiàn),見圖 2。 有兩種方法 能夠使 DS18B20 在動(dòng)態(tài)轉(zhuǎn)換周期中獲得足夠的電流供應(yīng)。要想使 DS18B20 能夠進(jìn)行精確的溫度轉(zhuǎn)換, I/O 線必須在轉(zhuǎn)換期間保證供電。當(dāng)有特定的時(shí)間和電壓需求時(shí)(見節(jié)標(biāo)題 “單線總線系統(tǒng) ”), I/O 要提供足夠的能量。 寄生電源 寄生電源的方框圖見圖 1??梢杂靡粭l存儲(chǔ)器操作命令對(duì) TH 和 TL 進(jìn)行寫入,對(duì)這些寄存器的讀出需要通過暫存器。溫度報(bào)警觸發(fā)器 TH 和 TL 各由一個(gè) EEPROM 字節(jié)構(gòu)成。一條控制操作命令指示 DS18B20 完成一次溫度測(cè)量。這些命令對(duì)每個(gè)器件的激光 ROM 部分進(jìn)行操作,在單線總線上掛有多個(gè)器件時(shí),可以區(qū)分出單個(gè)器件,同時(shí)可以向總線控
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1