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

正文內(nèi)容

基于單片機(jī)的dsb多點測溫系統(tǒng)lcd顯示(完全免費(fèi))精品(編輯修改稿)

2024-12-18 14:57 本頁面
 

【文章內(nèi)容簡介】 度信號,以“一線總線”串行送給 CPU,同時可傳送 CRC校驗碼,具有極強(qiáng)的抗干擾糾錯能力。 9) 負(fù)壓特性。電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作。 9 1) 冷凍庫、糧倉、儲罐 、電信機(jī)房、電力機(jī)房、電纜線槽等測溫和控制領(lǐng)域。 2) 軸瓦、缸體、紡織、空調(diào)等狹小空間工業(yè)設(shè)備測溫和控制。 3) 汽車空調(diào)、冰箱、冷柜以及中低緯度干燥箱等。 4) 供熱、制冷管道熱量計量、中央空調(diào)分戶熱能計量等。 DS18B20實物如圖 。 圖 實物圖 DS18B20 有兩種封裝:三角 TO92直插式(用的最多、最普遍的封裝)和八角 SOIC貼片式,封裝引腳見圖 。表 列出了 DS18B20 的引腳定義。 ( a) DS18B20 To92 (b)DS18B20 八角 SOIC 圖 DS18B20 引腳封裝圖 表 DS18B20 引腳定義 引腳 定義 GND 電源負(fù)極 DQ 信號輸入輸出 VDD 電源正極 NC 空 10 ① DS18B20寄生電源供電方式 如下面圖 (a)所示,在寄生電源供電方式下, DS18B20從單線信號線上汲取能量:在信號線 DQ處于高電平期間把能量儲存在內(nèi)部電容里,在信號線處于低電平期間消耗電容上的電能工作,直到高電平到來再給寄生電源(電容)充電。 獨特的寄生電源方式有三個好處: 1) 進(jìn)行 遠(yuǎn)距離測溫時,無需本地電源 2) 可以在沒有常規(guī)電源的條件下讀取 ROM 3) 電路更加簡潔,僅用一根 I/O口實現(xiàn)測溫 要想使 DS18B20進(jìn)行精確的溫度轉(zhuǎn)換, I/O線必須保證在溫度轉(zhuǎn)換期間提供足夠的能量,由于每個 DS18B20在溫度轉(zhuǎn)換期間工作電流達(dá)到 1mA,當(dāng)幾個溫度傳感器掛在同一根I/O線上進(jìn)行多點測溫時,只靠 ,會造成無法轉(zhuǎn)換溫度或溫度誤差極大。 因此, 該 電路只適應(yīng)于單一溫度傳感器測溫情況下使用,不適宜采用電池供電系統(tǒng)中。并且工作電源 VCC必須保證在 5V,當(dāng)電源電壓下降時,寄生電 源能夠汲取的能量也降低,會使溫度誤差變大。 ② DS18B20寄生電源強(qiáng)上拉供電方式 改進(jìn)的寄生電源供電方式如下面圖 (b)所示,為了使 DS18B20 在動態(tài)轉(zhuǎn)換周期中獲得足夠的電流供應(yīng),當(dāng)進(jìn)行溫度轉(zhuǎn)換或拷貝到 E2 存儲器操作時,用 MOSFET 把 I/O線直接拉到 VCC就可提供足夠的電流,在發(fā)出任何涉及到拷貝到 E2 存儲器或啟動溫度轉(zhuǎn)換的指令后,必須在最多 10μS 內(nèi)把 I/O 線轉(zhuǎn)換到強(qiáng)上拉狀態(tài)。在強(qiáng)上拉方式下可以解決電流供應(yīng)不 足 的問題,因此也適合于多點測溫應(yīng)用,缺點就是要多占用一根 I/O 口線進(jìn)行強(qiáng)上拉切換 。 ③ DS18B20 的外部電源供電方式 如下面圖 (c)所示, 在外部電源供電方式下, DS18B20工作電源由 VDD引腳接入, 其 VDD端用 3~ , 此時 I/O線不需要強(qiáng)上拉,不存在電源電流不足的問題,可以保證轉(zhuǎn)換精度,同時在總線上理論可以掛接任意多個 DS18B20傳感器,組成多點測溫系統(tǒng)。注意:在外部供電的方式下, DS18B20的 GND引腳不能懸空,否則不能轉(zhuǎn)換溫度,讀取的溫度總是 85℃ 。 11 (a) 外部電源供電方式 (c) 寄生電源供電 方式 (b) 寄生電源強(qiáng)上拉供電方式 圖 硬件電路連接好以后,單片機(jī)需要怎么樣工作才能將 DS18B20中的溫度數(shù)據(jù)讀取出來呢? 下面將給出詳細(xì)分析。 首先我們來看控制 DS18B20的指令: 1) 33H— 讀 ROM。讀 DS18B20 溫度傳感器 ROM 的編碼(即 64 位地址)。 2) 55H— 匹配 ROM。發(fā)出此命令之后,接著發(fā)出 64 位 ROM 編碼,訪問單總線上與該編碼相對應(yīng)的 DS18B20 并使之作出響應(yīng),為下一步對該 DS18B20 的讀 /寫做準(zhǔn)備。 3) F0H— 搜索 ROM。用于確定掛接在同一總線上 DS18B20的個數(shù),識別 64 位 ROM地址,為操作個器件做好準(zhǔn)備。 4) CCH— 跳過 ROM。忽略 64 為 ROM 地址,直接向 18B20 發(fā)溫度轉(zhuǎn)換命令,適用于一個12 從機(jī)工作。 5) ECH— 告警搜索命令。執(zhí)行后只有溫度超過設(shè)定值上限或下限的芯片才做出響應(yīng)。 以上這些指令設(shè)計的存儲器是 64 位光刻 ROM,表 列出了它的含義。 表 64位光刻 ROM各位定義 64位光刻 ROM 中的序列號是出廠前被光刻好的,它可以看做該 DS18B20 的地址序列碼。其各位排列順序是:開始 8 位為產(chǎn)品類型標(biāo)號,接下來 48 位是該 DS18B20 自身的序列號,最后 8位是前面 56位的 CRC 循環(huán)冗余校驗碼( CR=X8+X5+X4+1)。光刻 ROM 的作用是使每一個 DS18B20 都各不相同,這樣就可以實現(xiàn)一條總線上掛接多個 DS18B20 的目的。 下面介紹以上幾條指令的用法。當(dāng)主機(jī)需要對眾多在線 DS18B20 中的某一個進(jìn)行操作時,首先應(yīng)將主機(jī)逐個與 DS18B20 掛接,讀出其序列號;然后再將所有的 DS18B20 掛接到總線上,單片機(jī)發(fā)出匹配 ROM命令( 55H),緊接著主機(jī)提供的 64位序列(包括 DS18B20的 48位序列號)之后的操作就是針對該 DS18B20 的。 如果主 機(jī)只對一個 DS18B20 進(jìn)行操作,就不需要讀取 ROM 編碼以及匹配 ROM 編碼了,只要用跳過 ROM( CCH)命令,就可以進(jìn)行如下溫度轉(zhuǎn)換和讀取操作。 1) 44H— 溫度轉(zhuǎn)換。啟動 DS18B20 進(jìn)行溫度轉(zhuǎn)換, 12 位轉(zhuǎn)換時最長為 750ms( 9 位為)。結(jié)果存入內(nèi)部 9 字節(jié)的 RAM 中。 2) BEH— 讀暫存器。讀內(nèi)部 RAM 中 9字節(jié)的溫度數(shù)據(jù)。 3) 4EH— 寫暫存器。發(fā)出向內(nèi)部 RAM 的 3 字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)。 4) 48H— 復(fù)制暫存器。將 RAM中第 2,3字節(jié)的內(nèi)容復(fù)制到 E2ROM 中。 5) B8H— 重調(diào) E2ROM 中內(nèi)容回復(fù)到 RAM中的第 3, 4字節(jié)。 6) B4H— 讀供電方式。讀 DS18B20 的供電模式。寄生供電時, DS18B20 發(fā)送 0;外接電源供電時, DS18B20 發(fā)送 1。 以上這些指令涉及的存儲器為高速暫存器 RAM 和可電擦出 E2ROM,見表 。 表 高速暫存器 RAM 寄存器內(nèi)容 字節(jié)地址 溫度值低位( LSB) 0 13 溫度值高位( MSB) 1 高溫限值( TH) 2 低溫限值( LT) 3 配置寄存器 4 保留 5 保留 6 保留 7 CRC 校驗值 8 高速 暫存器 RAM 由 9 個字節(jié)的存儲器組成。第 0~ 1 字節(jié)是溫度的顯示位;第 2 和第 3個字節(jié)是復(fù)制的 TH和 TL,同時第 2 和第 3個字節(jié)的數(shù)字可以更新;第 4 個字節(jié)是配置寄存器,同時第 4 個字節(jié)的數(shù)字可以更新;第 5,6,7 三個字節(jié)的保留的??呻姴脸鯡2ROM 又包括溫度觸發(fā)器 TH 和 TL,以及一個配置寄存器。 表 列出了溫度數(shù)據(jù)在高速暫存器 RAM 的第 0 和第 1個字節(jié)中的存儲格式。 表 溫度數(shù)據(jù)存儲格式 DS18B20 在出廠時默認(rèn)配置為 12 位,其中最高位為符號位,即溫度值共 11 位,單片機(jī)在讀取數(shù)據(jù)時,一次會讀 2字節(jié)共 16 位,讀完后將低 11 位的二進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù)后再乘以 便為所測的實際溫度值。另外,還需要判斷溫度的正負(fù)。前 5 個數(shù)字為符號位,這 5 位同時變化,我們只需要判斷 11 位就可以了。前 5 位為 1 時,讀取的溫度為負(fù)值,且測到的數(shù)值需要取反加 1 再乘以 才可得到實際溫度值。前 5位為 0 時,讀取的溫度為正值,且溫度為正值時,只要將測得的數(shù)值乘以 即可得到實際溫度值。 ① 初始化時序如圖 14 圖 初始化時 序 1) 先將數(shù)據(jù)線置高電平 1。 2) 延時(該時間要求不 是很嚴(yán)格,但是要盡可能短一點)。 3) 數(shù)據(jù)線拉到低電平 0。 4) 延時 750us(該時間范圍可以在 480us~ 960us)。 5) 數(shù)據(jù)線拉到高電平 1。 6) 延時等待。如果初始化成功則在 15~ 60us內(nèi)產(chǎn)生一個有 DS18B20返回的低電平 0,據(jù)該狀態(tài)可以確定它的存在。但是應(yīng)注意,不能無限地等待,不然會使程序進(jìn)入死循環(huán),所以要進(jìn)行超時判斷。 7) 若 CPU讀到數(shù)據(jù)線上的低電平 0后,還要進(jìn)行延時,其延時的時間從發(fā)出高電平算起(第 5)步的時間算起)最少要 480us。 8) 將數(shù)據(jù)線再次拉到高電平 1后結(jié)束。 ② DS18B20寫數(shù)據(jù)時序圖如圖 圖 寫數(shù)據(jù)時序圖 15 1) 數(shù)據(jù)線先置低電平 0。 2) 延時確定的時間為 15us。 3) 按從低位到高位的順序發(fā)送數(shù)據(jù)(一次只發(fā)送一位)。 4) 延時時間為 45us。 5) 將數(shù)據(jù)線拉高到高電平 1。 6) 重復(fù) 1)~ 5)步驟,直到發(fā)送完整個字節(jié)。 7) 最后將數(shù)據(jù)線拉高到 1。 ③ DS18B20 讀數(shù)據(jù)時序圖如圖 圖 讀數(shù)據(jù)時序圖 1) 將數(shù)據(jù)線拉高到 1。 2) 延時 2us。 3) 將數(shù)據(jù)線拉低到 0。 4) 延時 6us。 5) 將數(shù)據(jù)線拉高到 1。 6) 延時 4us。 7) 讀數(shù)據(jù)線的狀態(tài)位,并進(jìn)行數(shù)據(jù)處理。 8) 延時 30us。 9) 重復(fù) 1)~ 7)步 驟,直到讀取完一個字節(jié)。 16 系統(tǒng)電路設(shè)計 單片機(jī)最小系統(tǒng)如圖 如圖 所示 圖 系統(tǒng)電路圖 這部分為單片機(jī)復(fù)位電路和時鐘電路。單片機(jī)復(fù)位后,程序計數(shù)器 PC=0000H,即指向程序存儲器 0000H 單元,使 CPU 從首地址重新開始執(zhí)行程序。產(chǎn)生單片機(jī)復(fù)位的條件是:在 RST 引腳端出現(xiàn)滿足復(fù)位時間要求的高電平狀態(tài),該時間等于系統(tǒng)時鐘震蕩周期建立時間再加 2 個機(jī)器周期時間 (一般不小于 10ms)。 時鐘電路通過單片機(jī)的 XTAL1 和 XTAL2 引腳外接定時元件 12M 的晶振,電容 C1 和C2 一般去 30pF左右,主要作用是幫助振蕩器起震。晶體振蕩頻率高,則系統(tǒng)的時鐘頻率也越高,單片機(jī)運(yùn)行速速也就越快。 17 顯示電路設(shè)計 LCD1602 顯示電路原理圖 如圖 所示 圖 LCD1602 顯示電路 此部分為 LCD1602 顯示電路,通過 10K 可調(diào)電阻可以調(diào)節(jié) 1602 背光顯示亮度。 P0口接一個 10K 的上拉排阻。 按鍵電路設(shè)計 四個獨立按鍵電路圖 如圖 所示 圖 按鍵電路 每個獨立按鍵接一個 I/O 口構(gòu)成獨立按鍵,前三個按鍵 S4~ S6分別三個 DS18B20,S7 按 下時為全三個 DS18B20 溫度全顯示。 18 三點測溫電路 三個 DS18B20 接線如圖 所示,每個傳感器接一個 I/O 口。 圖 DS18B20 接口電路 單總線型 DS18B20 溫度傳感器采用一個 DS18B20 接一個 I/O 口的形式,大大簡化了程序編寫難度,通過排針可外接電源供電。 第四章 軟件設(shè)計 軟件開發(fā)工具的選擇 要使單片機(jī)系統(tǒng)按照人的意圖辦事,需設(shè)法讓人與計算機(jī)對話,并聽從人的指揮。程序設(shè)計語言是實現(xiàn)人機(jī)交換信息的最基本工具,可分為機(jī)器語言、匯編語言和高級語言。 機(jī)器語言用二進(jìn) 制編碼表示每一條指令,是計算機(jī)能直接識別和執(zhí)行的語言。用機(jī)器語言編寫的程序成為機(jī)器語言程序或者指令程序(機(jī)器碼程序)。因為機(jī)器只能識別和執(zhí)行這種機(jī)器碼程序,所以又稱它為目標(biāo)程序。用機(jī)器語言編寫程序不易記憶、不易查錯、不易修改。 為了克服機(jī)器語言的上述缺點,可采用有一定含義的符號,即指令助記符來表示,一般都采用某些有關(guān)的英文單詞的縮寫。這樣就出現(xiàn)了另一種程序語言 — 匯編語言。 匯編語言是用助記符、符號和數(shù)字等來表示指令的程序語言,容易理解和記憶,它與機(jī)器語言指令是一一對應(yīng)的。匯編語言不像高級語言(如 BASIC) 那樣通用型強(qiáng),而是屬于某種計算機(jī)所獨有,與計算機(jī)的內(nèi)部硬件結(jié)構(gòu)密切相關(guān)。用匯編語言編寫的程序稱為19 匯編語言程序。 以上兩種語言都是低級語言。盡管匯編語言有不少優(yōu)點,但它仍存在著機(jī)器語言的某些缺陷:與 CPU的硬件結(jié)構(gòu)密切相關(guān),不同的 CPU其匯編語言是不同的。這使得匯編語言程序不能移植,使用不便;其次,要使用匯編語言進(jìn)行程序設(shè)計必須了解所使用 CPU硬件的結(jié)構(gòu)與性能,對程序設(shè)計人員有較高的要求。為此,又出現(xiàn)了對單片機(jī)進(jìn)行編程的高級語言,如 PL\M, C等。 Keil C51是美國 Keil Software公司 出品的 51系列兼容單片機(jī) C語言軟件開發(fā)系統(tǒng),與匯編相比, C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用 C來開發(fā),體會更加深刻。 Keil C51軟件提
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1