




已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
溫度記錄器中文摘要DS18B20為主要元器件,該器件能對溫度信號進行AD變換,直接形成數(shù)字式溫度數(shù)據(jù)輸出。DS18B20的測溫范圍為:-55+125,其分辨率可達0.0625。通過單片機技術可將DS18B20的溫度數(shù)據(jù)讀取出來,同時利用外部EEPROM 將大量溫度數(shù)據(jù)存儲起來(EEPROM采用AT24C512,AT24C512串行存儲器可存儲32700個溫度數(shù)據(jù))。這作品與目前市售的溫度測試記錄儀相比具有體積小、精度高、測量范圍寬、記錄數(shù)據(jù)量大、使用方便且成本低等優(yōu)點。關鍵詞:DS18B20、單片機、外部存儲器、RS232串行通信、PC機AbstractThe DS18 B20 is main dollar spare part, that spare part can carry on A/D transformation to the temperature signal, becoming a numerical type temperature data to outputted directly.The DS18 B20s measuring scope is:-55 125 , its resolution can reach to 0.0625 .Pass a single slice machine technique can the DS18 B20 of the temperature data read, making use of exterior EEPROM to save a great deal of temperature data in the meantime.(the EEPROM adoption AT24 C512, the AT24 saving machine in C512 string line can save 32700 temperature datas)This work sells currently with city of temperature test record the instrument compare to have a physical volume small, the accuracy is high, the diagraph scope breadth, record data have great capacity, usage convenience and the cost low etc. advantage.Keyword:The DS18 B20, single slice machine, exterior saves a machine, the correspondence, PC machine of RS232 string line目錄中文摘要1Abstract1目錄21 引言32 總體設計概述32.1 作品產(chǎn)生背景32.2 硬件方面設計42.3 軟件設計方面43 DS1820產(chǎn)品的原理及應用設計53.1 DS1820型單線智能溫度傳感器的原理53.2 單線總線系統(tǒng)的電路接法及通訊協(xié)議73.2.1 電路接法73.2.2 主CPU訪問DS1820的工作流程83.3 DS18B20型單線可編程智能溫度傳感器113.3.1 DS18B20的性能特點113.3.2 DS18B20的使用注意事項124 AT24C512 存儲器的功能及應用124.1 24C512存儲器簡介124.2 AT24C512 存儲器的功能134.3 讀存儲器的部分程序說明145 調(diào)試過程175.1 硬件部分調(diào)試175.2 軟件部分調(diào)試186 結束語18致 謝19參考文獻19附錄(一)匯編語言程序設計201 引言 溫度采集記錄在生活領域、醫(yī)療領域、科學研究、生產(chǎn)實踐中均有著廣泛應用,如測量病人體溫、分析氣溫變化、控制某生產(chǎn)加工車間的溫度等。所以溫度的采集記錄儀便成為現(xiàn)代生產(chǎn)、生活中不可缺少的設備之一。 目前市場上已有的溫度采集記錄儀為需經(jīng)常換紙的跟紙式記錄儀和采用熱敏電阻傳感器的普通溫度儀,如常州熱工儀表廠生產(chǎn)的XRZ-Cu50和 XRZ-Cu100采用的就是采用熱電阻傳感器,XRZ-Cu50的溫度測量范圍為:0150,XRZCu100的測量范圍為十0100,這種溫度記錄儀精確度為1,價格為200元左右,體積約為200mm*200mm*180mm,只能顯示即時溫度,不可存儲溫度數(shù)據(jù),體積較大;與歐陸公司合資的常州宏基儀器儀表廠生產(chǎn)的紙記錄式溫度計,該溫度記錄議采用在紙上繪制曲線的方法來記錄溫度數(shù)據(jù),雖能把溫度記錄下來,但需要人工定時更換記錄紙張,且價格較高,在30004000元之間。市場上也有部分無紙記錄儀,采用液晶顯示屏作為數(shù)據(jù)輸出,但存在測試精度低、不便于存放大量溫度數(shù)據(jù)、成本高的缺點。隨著人們對產(chǎn)品質(zhì)量要求的不斷提高,生產(chǎn)加工設備機械化水平的不斷完善,傳統(tǒng)的溫度測試儀在現(xiàn)代化生產(chǎn)中已不能滿足要求了。針對以上情況我們設計開發(fā)了一種融數(shù)字溫度傳感器、單片機、PC機、外部存儲器和串行通信于一體的掌上型溫度采集、記錄儀,從而達到體積小、重量輕、測試精度高、存儲容量大、成本低、便于隨身攜帶、隨時可進行溫度數(shù)據(jù)分析的掌上型溫度采集記錄儀,目前尚無與本作品同檔次的溫度采集、記錄儀,具有較好的推廣應用價值,屬國內(nèi)外首創(chuàng)。2 總體設計概述2.1 作品產(chǎn)生背景 由于溫度采集記錄在生活領域、醫(yī)療領域、科學研究、生產(chǎn)實踐中均有著廣泛應用,如測量病人體溫、分析氣溫變化、控制某生產(chǎn)加工車間的溫度等。目前市場上已有的溫度采集記錄儀為需經(jīng)常換紙的跟紙式記錄儀和采用熱敏電阻傳感器的普通溫度儀,價格高、體積較大,而且精度低,也有部分無紙記錄儀,采用液晶顯示屏作為數(shù)據(jù)輸出,但存在測試精度低、不便于存放大量溫度數(shù)據(jù)、成本高的缺點,我們設計開發(fā)了一種融數(shù)字溫度傳感器、單片機、外部存儲器于一體的掌上型溫度采集記錄儀,從而達到體積小、重量輕、測試精度高、存儲容量大、成本低、便于隨身攜帶、隨時可進行溫度數(shù)據(jù)分析的掌上型溫度采集記錄儀,具有較好的推廣應用價值。 本作品是利用智能數(shù)字溫度傳感器DS18B20進行溫度采集,DS18B20是美國DALLAS半導體公司繼DS1820之后最新推出的一種改進產(chǎn)品。DS18B20采集到的溫度數(shù)據(jù)按采樣間隔存入外部存儲器 24C512中(24C512的容量為64KB,也可根據(jù)實際需要選取合適容量的外部存儲器)。2.2 硬件方面設計 該作品具有極高的可靠性和穩(wěn)定性,可工作于任何環(huán)境底下。電路原理圖分為三部分:溫度數(shù)據(jù)采集部分,即時溫度顯示驅(qū)動部分,溫度數(shù)據(jù)存儲部分。 (一)溫度數(shù)據(jù)采集部分 DS18B20是智能型的數(shù)字溫度傳感器,通信方式為串行通信方式。其數(shù)據(jù)線與單片機的P1.1相連接。 (二)即時溫度顯示驅(qū)動部分 顯示驅(qū)動方式按常規(guī)設計實施,選用高亮度發(fā)光LED器件顯示。 (三)存儲部分 基于便攜式的目的,存儲數(shù)據(jù)設計采用了AT24C512串行EEPROM器件,該器件體積小、功耗低,通信采用IIC串行通信協(xié)議,AT89C51的P1.3、P1.4和AT24C512的SCL和SDA相連實現(xiàn)存儲功能的。 圖1 硬件原理圖2.3 軟件設計方面 軟件設計部分按功能主要分三大部分,具體如下所述: (一)主監(jiān)控程序 單片機的主監(jiān)控程序為:當監(jiān)測到 ONTIME1和ONTIME2時作相應溫度的存儲、轉(zhuǎn)換、發(fā)送處理,并負責即時溫度的顯示。 (二)定時中斷程序 采用定時中斷是為了隔一定時間讓DS18B20采樣一次,并把采樣到的數(shù)據(jù)保存到EEPROM中。 (三)串行通信 當需要用EEPROM中的數(shù)據(jù)畫出溫度變化曲線進行分析時,就運用串行通信子程序完成數(shù)據(jù)發(fā)送任務。設計部分流程圖如下:圖2 程序流程框圖3 DS1820產(chǎn)品的原理及應用設計3.1 DS1820型單線智能溫度傳感器的原理DS1820采用 3腳PR-35封裝或8腳SOIC封裝,IO為數(shù)據(jù)輸入輸出端(單線總線)它屬于漏極開路輸出,外接上拉電阻后,常態(tài)下呈高電平。UDD可供選用的外部+5V電源端,不用時需接地。GND為地,NC為空腳。主要包括7部分:寄生電源;溫度傳感器;64位激光(laser)ROM與單線接口;高速暫存器,即便箋式RAM,用于存放中間數(shù)據(jù);TH觸發(fā)寄存器和TL觸發(fā)寄存器,分別用來存儲用戶設定的溫度的上、下限tH、tL值;存儲與控制邏輯;8位循環(huán)冗余碼(CRC)發(fā)生器。下面分別介紹各部分的工作原理。1寄生電源 寄生電源由二極管VD1、VD2和寄生電容C所組成。電源檢測電路用于判定供電方式并輸出相應的邏輯電平(“0”表示用寄生電源供電,“1”表示用外部電源供電),以便高速暫存器能夠讀出數(shù)據(jù)和電平。采用寄生電源供電時UDD端需接地,DS1820就從單線總線上獲取電源。當I/O線為高電平時VD1導通,VD2截止,除向DS1820供電外,還把部分電能儲存在C中。當I/O線為低電平時,VD1截止,改由C上的電壓UC繼續(xù)向DS1820供電。該寄生電源有兩個顯著優(yōu)點:第一,檢測遠程溫度時無須本地電源;第二,在缺少正常電源時也能讀ROM。使用寄生電源時應注意,在溫度轉(zhuǎn)換期間CPU應使I/O線保持高電平。若使用外部電源UDD,就通過VD2向器件供電,此時VD1截止。N片DS182 0與單片機的接線,R為上拉電阻,典型值可取5.1k或4.7k。主CPU和DS1820所用的電源電壓,分別用UCC、UDD表示,下同?,F(xiàn)將單片機的 P1.0端接單線總線,加總線驅(qū)動電源后,理論上總線最多可掛248片DS1820。單片機依次發(fā)出操作指令,各片DS1820即可在200500ms之內(nèi)完成溫度轉(zhuǎn)換。2原理在DS1820內(nèi)部測溫電路中溫度系數(shù)振蕩器用于產(chǎn)生穩(wěn)定的頻率f0,高溫度系數(shù)振蕩器則相當于T/f轉(zhuǎn)換器,能將被測溫度t轉(zhuǎn)換成頻率信號f0圖中還隱含著計數(shù)門,當計數(shù)門打開時,DS 1820就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖f0進行計數(shù),進而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定。每次測量前,首先將-55所對應的基數(shù)分別置入減法計數(shù)器、溫度寄存器中。在計數(shù)門關閉之前若計數(shù)器已減至零,溫度寄存器中的數(shù)值就增加0.5。然后,計數(shù)器依斜率累加器的狀態(tài)置入新的數(shù)值,再對時鐘計數(shù),然后減至零,溫度寄存器值又增加0.5。只要計數(shù)門仍未關閉,就重復上述過程,直至溫度寄存器達到被測溫度值。這就是DS1820的測溫原理。斜率累加器能對振蕩器的非線性予以補償,提高測量精度。 需要指出,溫度值本應為9位(其中,符號占一位)但因符號位又被擴展成高8位,故實際以16位補碼的形式讀出。其中高8位代表符號,“0”表示t0,“1”表示t0;低8位則以0.5LSB(最低有效位)的形式表示溫度值。 測量華氏溫度(0F)需進行下述換算: t(0F)95t()32 (2-1-1) DS1820型單線智能溫度傳感器典型的測溫誤差在070范圍內(nèi),DS 2 0的上、下限測溫誤差分別為+0.5、-0.5,而典型產(chǎn)品的誤差僅為0.2 5。3 64位激光ROM 芯片內(nèi)部有經(jīng)過激光修正的ROM,內(nèi)含64位ROM編碼,包括系列產(chǎn)品(高8位)、產(chǎn)品序號(中間48位)和 CRC編碼(低8位)。編碼格式如下: 圖34高速暫存器(簡稱暫存器)它由便箋式 RAM、非易失性電擦寫 EERAM所組成,后者用來存儲 tH和tL值。數(shù)據(jù)先寫入RAM,經(jīng)校驗后再傳給EERAM。便箋式RAM占9個字節(jié),第0、1字節(jié)是測量出的溫度信息,第2、3字節(jié)分別是tH和tL值,第4、5字節(jié)不用。第6、7字節(jié)為計數(shù)寄存器,可用于提高溫度分辨力。第8字節(jié)用來存儲上述8字節(jié)的循環(huán)冗余校驗碼。詳見圖4。 暫存器的命令集見表4-1-3。6條命令分別為溫度轉(zhuǎn)換、讀暫存器、寫暫存器、復制暫存器、重新調(diào)出EERAM、讀電源供電方式。 圖4 DS18B20內(nèi)部RAM分配表 5初始化 對DS1820的操作是首先進行初始化,然后執(zhí)行ROM操作命令,再執(zhí)行暫存器操作命令,最后完成數(shù)據(jù)處理。6報警信號 在完成溫度轉(zhuǎn)換之后,DS 2 0就把測得的溫度值t同tH和tL值作比較。若ttH或 t tL,則將該器件的報警標志,并對主CPU發(fā)出的報警搜索命令作出響應。因此可用多片DS1820同時測量溫度并進行報警搜索。一旦某個測溫點越限,主CPU用報警搜索命令即可識別正在報警的DS1820,并且讀出其序號,不必考慮其他未報警的DS1820。7循環(huán)冗余校驗碼(CRC)的產(chǎn)生 在64位激光ROM的最低位8位字節(jié)中存在CRC。主CPU根據(jù)ROM的前56位來計算CRC值,并存入DS1820中的CRC值進行比較,以判斷主CPU接受到的 ROM的前56位來計算CRC值,并與存入DS1820中的CRC值進行比較,以判斷主CPU接受到的ROM數(shù)據(jù)是否正確。 CRC的函數(shù)表達式為 CRCX8X5X31 (2-1-4)此外,DS1820尚需按照式(4-1-2)所規(guī)定的格式,為暫存器的數(shù)據(jù)產(chǎn)生一個8位CRC,送給主CPU,以確保暫存器的數(shù)據(jù)傳送無誤。3.2 單線總線系統(tǒng)的電路接法及通訊協(xié)議 單線總線是一種具有一個總線主機(亦稱主CPU)和一個或多個從機(從屬器件)的系統(tǒng),DS1820起從機的作用。下面分別介紹單線總線的電路接法及通信協(xié)議。3.2.1 電路接法 根據(jù)定義,單線總線只有一根線,這意味著總線上的每一個器件只能分時驅(qū)動單線總線,并要求每個器件必須具有漏極開路輸出或三態(tài)輸出的特性。DS1820的單線接口 I/O端就屬于漏極開路輸出。TX、RX分別表示發(fā)送與接受。在單線總線上必須接上拉電阻,其電阻阻值為 5k(標稱值可取5.1k或4.7K)。當單線總線上掛有多個從屬器件時,亦稱之為多點總線。 單線總線在空閑狀態(tài)下呈高電平。操作單線總線時,必須從空閑狀態(tài)開始。單線總線加低電平的時間超過480 us時,總線上所有的器件均復位。 在主CPU發(fā)出復位脈沖之后,從屬器件就發(fā)出應答脈沖(PRESENCE PULSE),來通知主CPU它已做好了接受數(shù)據(jù)和命令的準備工作。3.2.2 主CPU訪問DS1820的工作流程 主CPU經(jīng)過單線接口訪問DS1820的工作流程為:對DS 1820進行初始化ROM操作命令存儲器(包括便箋式 RAM和 EERAM)操作命令數(shù)據(jù)處理。主CPU對ROM操作完畢,即發(fā)出控制操作命令,使DS1820完成溫度測量并將測量結果存入高速暫存器中,然后讀出此結果。1初始化 單線總線上所有處理過程均從初始化開始。初始化包括首先由主CPU發(fā)出一個復位脈沖,然后由從屬器件發(fā)出應答脈沖,通知主CPU。初始化時主CPU首先發(fā)出一個復位信號,將單線總線上所有DS1820復位;然后釋放單線總線,改成接受狀態(tài),單線總線被上拉電阻R拉成高電平。在檢測到次上升延后,DS1820需要等待1560 s才向主CPU發(fā)出響應脈沖。初始化過程的時序波形如圖5所示。此后便可對ROM、RAM進行操作。 圖5 DS18B2 0的初始化復位2對ROM的5種操作命令 一旦主CPU檢測到從屬器件的存在,就可以發(fā)出ROM操作命令。所有ROM操作命均為8位(二進制)字長。主CPU對ROM的操作命令有以下5種: (1)讀ROM命令(讀ROM,約定代碼為33H)。該命令允許主CPU讀取DS1820中的8位產(chǎn)品系列編碼、48位序列號以及8位的CRC。該命令適用于總線上只接一片DS1820的情況。當總線上掛有多片DS1820時禁止使用該命令,否則多片DS1820同時發(fā)送數(shù)據(jù),必然會導致互相沖突。 (2)符合ROM命令(MATCH ROM,約定代碼為55H)。 主CPU在發(fā)出“符合”ROM命令后,接著送出64位的ROM數(shù)據(jù)序列,從而使主CPU實現(xiàn)對單線總線上特定DS1820的尋址。只有與64位ROM序列嚴格相符的DS1820,才能對后續(xù)的存儲器操作命令作出響應。所有與64位ROM序列不相符的DS1820將等待復位脈沖。該命令對于總線上掛有單個或多個器件的情況均適用。(3)搜索ROM命令(SEARCH ROM,約定代碼為 F0H)。搜索ROM命令允許主CPU使用一種“消除法”(ELMINATION)來識別總線上所有DS1820的64位ROM編碼,即完成整個系統(tǒng)的初始化工作。為以后對各個單線器件的操作做好準備。該部分也是對DS1820芯片進行軟件編程的重點和難點之一。(4)跳過ROM命令(SKIP ROM,約定代碼為CCH)。在單線總線系統(tǒng)中,該命令使用主CPU不必提供64位ROM編碼就能訪問各片DS1820。該命令主要用于向所有的DS1280同時發(fā)出溫度轉(zhuǎn)換命令,從而大大節(jié)省訪問各器件的時間。但有一點必須注意,主CPU如果同時發(fā)出SKIP ROM命令之后,又發(fā)出了讀存儲器命令,那么由于多片DS1820同時向總線上提供數(shù)據(jù)且漏極開路狀態(tài)下產(chǎn)生“線與”的結果,此時讀出的數(shù)據(jù)已經(jīng)沒有實際意義了。(5)報警搜索命令(ALARM SEARCH,約定代碼為ECH)。該命令的流程與搜索ROM命令的流程相同。僅在最近一次溫度測量出現(xiàn)報警的情況下,DS1820才對該命令作出響應。報警的條件定義為溫度超過上限(ttH),或者低于下限(ttL)。上電時,DS1820預置報警條件為設置狀態(tài),直到首次溫度測量結果既不超過tH,也不低于tL時,報警信號才被解除。3.2.3 DS1820的通訊協(xié)議 DS1820有嚴格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。通信協(xié)議規(guī)定了復位脈沖、應答脈沖、寫0、寫1、讀0和讀1等幾種信號的時序。除了應答脈沖,其余信號均由主CPU控制。 在對DS1820進行ROM及RAM操作之前,主CPU首先發(fā)出一個復位脈沖(最小脈沖寬度為480s的低電平信號);然后主CPU便釋放單線總線(I/O線),使之處于接受狀態(tài)。單線總線經(jīng)過上拉電阻被拉至高電平。當DS1820檢測到I/O端的上升延后,就等待1560s,再向主CPU發(fā)出應答脈沖(60240s的低電平信號)。1存儲器操作命令存儲器操作命令共6條,具體如下:(1)度轉(zhuǎn)換命令(CONVERT T)44H。令DS1820進行溫度轉(zhuǎn)換。如果主CPU在該命令之后為讀時序,那么只要DS1820正忙于進行溫度轉(zhuǎn)換,即讀得“0”;當溫度轉(zhuǎn)換完成時,DS1820則返回“1”。假如由寄生電源DS1820供電,主CPU在發(fā)出該命令后立即將單線總線拉成高電平,并且保持500ms時間,以便在溫度轉(zhuǎn)換期間給DS1820提供所需要的電源。(2)讀暫存存儲器(READ SCRATCHPAD)BEH。該命令為讀暫存存儲器9個字節(jié)的內(nèi)容。從字節(jié)0開始讀,直至讀到字節(jié)8。主CPU可以在讀暫存存儲器期間發(fā)出一個復位脈沖來終止讀操作。(3)寫讀暫存存儲器(WRITE SCRATCHPAD)4EH。該命令發(fā)出后,主CPU送給DS1820的兩個字節(jié)數(shù)據(jù)就分別寫入 TH觸發(fā)寄存器和TL觸發(fā)寄存器中,順序是先寫TH,后寫TL。主CPU也可以在寫暫存存儲器期間發(fā)出一個復位脈沖來終止寫操作。(4)復制暫存存儲器(COPY SCRATCHPAD)48H。該命令把觸發(fā)器中的TH、TL字節(jié)分別復制到EERAM的TH、TL字節(jié)上。若主CPU發(fā)出該命令后又進行操作,只要DS1820正忙于復制,主CPU在發(fā)出該命令后就把單線總線拉到高電平,并保持10m s(5)重新調(diào)出EERAM(RECALL EERAM)B8H。該命令把是把存儲器在EERAM溫度觸發(fā)器TH、TL內(nèi)的數(shù)據(jù)重新調(diào)入暫存存儲器的TH、TL字節(jié)。每次DS1820上電時也自動進行這種操作。因此,只要器件接通電源,暫存存儲器器的TH和TL中已經(jīng)有有效的數(shù)據(jù)供使用。若主CPU在發(fā)出該命令之后又進行操作,只要DS1820正忙于進行調(diào)出,主CPU就讀得“0”(表示“忙碌”);完成調(diào)出操作后DS1820即返回“1”(表示“操作完畢”)。(6)讀電源(READ P0WER SUPPLY)B4H。此項命令發(fā)送給DS1820之后,對主CPU發(fā)出的每一條讀指令,DS1820都向主CPU提供電源方式信號“0”(表示由寄生電源供電)或者“1”(表示由外部電源供電)。2讀寫時序主CPU通過時序(亦稱作“時間片”)來寫入或讀出DS1820中的數(shù)據(jù)。時序用于傳輸數(shù)據(jù)數(shù)據(jù)位和指定進行何種操作的命令字。(1)寫時序。主CPU把I/O線(即單線總線,亦稱數(shù)據(jù)線)從高電平拉至低電平時,作為一個寫周期的開始。寫時序包括兩種類型:寫1時序,寫0時序。寫1或?qū)?時序必須保持至少60s,在兩個寫周期之間至少要有1s的恢復期。DS1820在IO線變?yōu)榈碗娖胶蟮?560s的時間內(nèi)進行采樣。若I/O線為高電平,即認為寫入了一位1;若I/O線為低電平,即認為寫入了一位0。寫時序的波形如圖6所示。主CPU在開始寫1周期時,必須將I/O線拉至低電平,然后再釋放,15s內(nèi)將I/O線拉成高電平。主CPU在開始寫0周期時,也應將I/O線拉至低電平,并保持 60s的時間。 圖6 DS1820寫操作時序(2)讀時序。當主CPU將I/O線從高電平拉成低電平時,就作為一個讀周期的開始,并且 I/O線保持低電平的時間至少為1s。DS1820的輸出數(shù)據(jù)在讀時序下降沿過后的15s內(nèi)有效。在此期間,主CPU應釋放I/O線,使之處于輸入狀態(tài)以便讀取數(shù)據(jù)。經(jīng)過15s后讀時序結束,I/O線經(jīng)外部上拉電阻又變成高電平。讀取一位數(shù)據(jù)至少需要60 s時間,并且在兩位數(shù)據(jù)之間至少要有1s的恢復期。 令初始化時間為TINT,電路的時間常數(shù)為TRC。主CPU的采樣時間為TSAMPLE,高電平的閾值電壓為UIH。要求TINT+ TRC+TSAMPLE15s。經(jīng)過改進后,主CPU讀一位數(shù)據(jù)的波形如圖7所示。 采用盡量縮短TINT、TRC的周期并把主CPU采樣期安排到末尾的方法,可以使總線有更充裕的穩(wěn)定時間。 圖7 DS18B20讀操作時序3. 讀寫時間片這里講的“時間片”(time slot)亦稱時間間隙,簡稱時隙。該圖對其他類型的單線智能溫度傳感器也適用。tslot代表時間片,tREC為恢復時間。TLOW0、TLOW1分別表示在寫0、寫1時單線總線保持低電平的時間。tRDV為讀數(shù)據(jù)有效時間。tRSTL為復位信號的低電平時間。tPDHIGH、tPDLOW 分別表示應答信號的高、低電平時間。3.3 DS18B20型單線可編程智能溫度傳感器DS18B20是美國 DALLAS半導體公司繼 DS1820之后最新推出的一種改進型產(chǎn)品。3.3.1 DS18B20的性能特點DS18B20在繼承DS1820全部優(yōu)點的基礎上,主要做了如下改進:(1)供電電壓范圍擴大為3.0 5.5V。當UDD3.05.5V時,在-10+85范圍內(nèi),可確保測量誤差不超過0.5,在-55+125范圍內(nèi),測量誤差也不超過半。在DS1820中當電源電壓跌落過多時,測量準確度要下降。(2)溫度分辨力可編程。DS1820的數(shù)字溫度輸出只用9位二進制表示,分辨力固定為0.5。欲提高分辨力,只能靠軟件計算來實現(xiàn)。而DS18B20的數(shù)字溫度輸出可進行912位的編程。在便箋式RAM的第五個字節(jié)是CONFIG寄存器,其格式如下: MS B代表最高有效位,LSB代表最低有效位。格式中的第04位在寫操作時不予考慮,讀出時總是“1”;第7位在寫操作時不考慮,讀出時為“0”。R0、R1是在可編程溫度分辨力位。通過對這兩位進行不同的編程,可設定不同的溫度分辨力及最大轉(zhuǎn)換時間,設定的分辨力愈高,所需要的溫度-數(shù)據(jù)轉(zhuǎn)換時間就愈長。因此,在實際應用中需要在分辨力與轉(zhuǎn)換時間二者之間權衡考慮。在芯片出廠是R1和R0 均被置為“1”,既工作在12位模式下。DS 18B20分另工作在9位、10位、11位和12位模式下,所對應的分辨力依此為0.5、0.25、0.125、0.0625。當 DS18B20接受到溫度轉(zhuǎn)換命令(44H)后,開始啟動轉(zhuǎn)換,轉(zhuǎn)換完成后的溫度就以16位帶符號擴展的二進制補碼形式,存儲在便箋RAM的第0,第1字節(jié)。在執(zhí)行讀便箋RAM命令后,可將這兩個字節(jié)的溫度值通過單線總線傳送給主CPU,高位字節(jié)的符號代表溫度值為正還是為負。顯然,DS18B20與DS1820的溫度字節(jié)定義不一致,當DS18B20的工作模式依此選擇11位、10位和9位時,末尾為零的低位數(shù)就分別對應于一位、二位和三位。舉例說明,當工作模式選擇10位時,最低兩位(即2-4位和2-3位)均為0,總有效位就變成10位。其中,數(shù)字位占9位,符號位也占一位。(3)DS1820進行9位溫度轉(zhuǎn)換所需時間的典型值為200ms,而DS18B20進行9位的溫度轉(zhuǎn)換僅需93.75ms。由此可見,DS18B20的轉(zhuǎn)換速率也比DS1820有很大的提高。(4)內(nèi)部存儲器映射關系發(fā)生了變化。其中,第6字節(jié)的計數(shù)器余數(shù)值和第7字節(jié)中每度計數(shù)值,僅在DS1820進行高分辨力測溫時才使用。DS18B20的內(nèi)部存儲器的映射關系如圖 4-5-2所示,用 DS18B20測量溫度時,因為通過編程的方法即可將DS18B20設定在高分辨力模式下,所以不再需要這兩個值。但根據(jù)實際需要,在便箋式RAM和EERAM中加入 CONFIG字節(jié)。(5)具有電源反接保護電路。當電源電壓的極性接反時,能保護DS18B20不會因發(fā)熱而燒毀,但此時芯片無法正常工作。(6)DS18B20的引腳功能和內(nèi)部框圖與DS1820完全相同,但其體積比DS1820減小了一半。3.3.2 DS18B20的使用注意事項使用 DS18B20時應注意以下事項:(1)由于DS18B20的測溫分辨力提高到12位,因此它對時序及電特性參數(shù)要求較高,需嚴格按照DS18B20的時序要求進行操作。(2)DS18B20作三線制應用時,應將UDD、I/O、GND端焊接牢固;作兩線制應用時,應將UDD與GND連在一起焊牢。若UDD端漏焊或者虛焊,傳感器就只能輸出+85.0 的溫度數(shù)據(jù)。(3)測溫電纜線可采用帶屏蔽層的4芯雙絞線,其中兩根線分別接信號線與地線,另兩根線依此接UDD和地線,屏蔽層在源端單點接地。 4 AT24C512 存儲器的功能及應用4.1 24C512存儲器簡介二進制I2C CMOS串行EEPROM 24系列存儲器介紹:24C512是一種采用 CMOS工藝制成的 64K*8位引腳的串行的可用電擦除可編程只讀存儲器。自定義時寫周期包括自動擦除時間不超過10ms,典型時間為5ms。而Microchip公司的串行EEPROM的擦除和寫入1個字節(jié)數(shù)據(jù)的時間可縮短到1ms以下。串行EEPROM一般具有兩種寫入方式,一種是字節(jié)寫人方式,還有一種頁寫入方式,允許在一個周期內(nèi)同時對1字節(jié)到一頁的若干字節(jié)進行編程寫入,一頁的大小取決于芯片內(nèi)頁寄存器的大小,不同公司的同一型號存儲器的頁寄存器可能是不一樣的。例如 Atmel 的AT24C0101A02A的頁寄存器為 4B8B8B,而 Microchip的 24C01A02A頁寄存器都為2B,24AA01頁寄存器為8B。擦除寫入周期壽命一般已達到10萬次以上,有的產(chǎn)品(例如 Microchip的 24AA01)已達到1000萬次。片內(nèi)寫入的數(shù)據(jù)保存的壽命已達40年以上,有的產(chǎn)品(例如Atmel的AT24C01)已可保證達到100年以上。采用單一電源+5V0.1V,低功耗工作電流 lmA,備用狀態(tài)時只有10A;三態(tài)輸出,與TTL電平兼容。一般商業(yè)品工作溫度范圍為070,工業(yè)品為一40+85。這個系列的芯片有8引腳DIP(雙列直插)封裝、8引腳 SOIC(表面貼裝)封裝形式,一部分型號還有14引腳SOIC(表面貼裝)封裝形式。 器件型號為24XXXX和85XXX的芯片都是二線制I2C串行EEPROM芯片,24系列有硬件寫保護腳WP,而85系列沒有WP引腳。Atmel公司的AT24C164是一種8引腳2線可級聯(lián)串行EEPROM芯片,這種芯片可以通過級聯(lián)多達8片芯片把總容量擴展到128Kb,而用同兩根輸人和輸出數(shù)據(jù)。 1特點說明: 24系列存儲器是一種采用CMOS工藝制成的14位引腳的串行的可用電除的只讀存儲器。采用單一電源+5V供電,低功耗工作電流1mA,備用狀態(tài)時只有10A;三態(tài)輸出,與TTL電平兼容。 2引腳圖: 圖8 引腳圖3引腳說明: 用于基本總線操作的引腳只有SCL和 SDA。其管腳定義如下: SCL串行時鐘端。這個信號用于對輸入和輸出數(shù)據(jù)的同步,寫入串行EEPROM的數(shù)據(jù)用其上升沿同步,輸出數(shù)據(jù)用其下降沿同步。 SDA串行數(shù)據(jù)輸入輸出端。這是串行雙向數(shù)據(jù)輸入輸出線,這個引腳漏極開路驅(qū)動,可以與任何數(shù)目的其他漏極開路或集電極開路的器件“線或”連接。WP寫保護。這個引腳用于硬件數(shù)據(jù)保護功能,當其接地時,可以對整個存儲器進行正常的讀寫操作;當其接電源VCC時,芯片就具有數(shù)據(jù)寫保護功能,被保護部分因不同型號芯片而異。被保護部分的讀操作不受影響,實際上這時被保護部分就可以作為串行只讀存儲器使用。 A0、A1、A2 片選或頁面選擇地址輸入。 TEST 測試,用于對存儲器的檢測。VCC 電源電壓接十SV。VSS 接地端。 NC 未連端。4.2 AT24C512 存儲器的功能 24C系列支持I2C雙向二線制串行總線及其傳輸規(guī)約,一般把傳送數(shù)據(jù)到總線上的器件定義為發(fā)送器,接收數(shù)據(jù)的器件為接收器。串行EEPROM在系統(tǒng)中總是作為從機工作,總線必須由一片可以產(chǎn)生串行時鐘(SCL)的主器件控制,通常這個主器件就是微處理器或微控制器,控制其總線訪問和產(chǎn)生“啟動”和“停止”信號。微處理器和EEPROM都可以作為發(fā)送器或接收器,在對EEPROM進行寫操作時,微處理器是發(fā)送器,串行EEPROM是接收器,而在讀操作時則相反。但是哪一種操作方式被激活是由微處理器確定。同一種芯片在總線上最多可接人的數(shù)目因片而宜,在多片組情況下哪一片被訪問是由芯片地址輸入 A2、A1、和A0選擇。 1編程方式(寫操作) 在這種方式下,微處理器發(fā)送EEPROM存儲單元地址和一個字節(jié)數(shù)據(jù)至EEPROM。微處理器發(fā)出“啟動”信號后,緊跟著送4位I2C總線器件特征編碼1010和3位EEPROM芯片地址頁地址XXX以及寫狀態(tài)的RW位(0)到總線上。這表示在接收到被尋址的EEPROM產(chǎn)生的一個應答位后,微處理器將跟著送一個字節(jié)的EEPROM存儲單元地址的要寫入的一個字節(jié)數(shù)據(jù)。所以由微處理器發(fā)送的下一個字節(jié)是EEPROM存儲單元的地址,并將被寫入EEPROM片內(nèi)的地址指針。微處理器在接收到EEPROM收到存儲單元地址后又一次產(chǎn)生的應答位之后,微處理器才發(fā)送數(shù)據(jù)字節(jié),并把數(shù)據(jù)寫入被尋址的存儲單元。EEPROM再一次發(fā)出應答信號,微處理器收到此應答信號后,便產(chǎn)生“停止”信號。這個“停止”信號就激活內(nèi)部定時編程周期,把接收到的位數(shù)據(jù)寫入指定的EEPROM存儲單元。在內(nèi)部定時寫入期間,所有的輸人都無效,一直到寫入操作完成后才能再進入新的編程周期。 圖9 24C512 字節(jié)寫入格式 2讀操作: 串行EEPROM的讀操作分兩步進行:微處理器首先送一個“啟動”信號,通過寫操作設置EEPROMR芯片地址和EEPROM存儲單元地址,在此期間相應位置會出產(chǎn)生必要的應答位。接著微處理器重新發(fā)送另一個“啟動”信號和含讀操作命令(R/W=1)的EEPROM芯片地址,EEPROM發(fā)出應答信號后,要尋址存8單元的數(shù)據(jù)就從SDA線上輸出。 讀操作三種:讀當前地址存儲單元的數(shù)據(jù)、讀指定地址單元的數(shù)據(jù)、讀連續(xù)存儲單元的數(shù)據(jù)。 在這主要介紹讀當前地址單元數(shù)據(jù)這一方法。 串行EEPROM內(nèi)部數(shù)據(jù)存儲單元地址計數(shù)器記錄當前操作地址,這個地址是在上一次讀或?qū)懖僮鲿r最后一個被訪問存儲單元的下一個單元的地址值,只要芯片不斷電,這個地址在操作中就一直保持有效。在讀操作方式下,其地址“滾動循環(huán)”是指從最后一頁存儲器的最后一個存儲單元循環(huán)轉(zhuǎn)入第一頁存儲器的第一個存儲單元。值得注意的是,在寫操作方式下,其地址“滾動循環(huán)”是指從當前頁存儲器的最后一個存儲單元轉(zhuǎn)人同一頁存儲器的第一 個存儲單元。 一旦含有被設置成R/W的EEPROM芯片地址輸人,并由EEPROM發(fā)出應答信號,當前地址所指向存儲單元的數(shù)據(jù)就被串行輸出。微處理器在讀完一幀數(shù)據(jù)后,發(fā)送非應答信號,即送入邏輯1,接著需要發(fā)送一個“停止”信號。4.3 讀存儲器的部分程序說明 該作品中的溫度數(shù)據(jù)為2字節(jié)的補碼格式,一個溫度數(shù)據(jù)占用2字節(jié),所以直接編寫2字節(jié)同時寫入相鄰地址單元的于程序,該程序中,入口參數(shù)如下:R1R0為地址的人口地址,R2R3為數(shù)據(jù)的人口地址WRITE24為寫2個數(shù)據(jù)子程序,READ24為讀2個數(shù)據(jù)子程序。SCL BIT P1.3 ;定義管腳SDA BIT P1.4 ;定義管腳WRITE24:CLR SCL ;ADDR(IN EEPROM)RIRO,DATAR3RZ SETB SDA ;(RIRO)RZ SETB SCL ;(RIRO1)R3 CLR SDA ;起動信號 MOV A,#OAOH ACALL WRA MOV A,R1 ACALL WRA ;寫高字節(jié)地址數(shù)據(jù) MOV A,RO ACALL WRA ;寫低字節(jié)地址數(shù)據(jù) MOV A,R2 ACALL WRA ;寫 R2 到存儲器中 CLR SCL CLR SDA SETB SCL SETB SDA ;停止信號 ACALL DMS MOV A,RO ADD A,#01H MOV RO,A MOV A,R1 ADDC A,#00H MOV R1,A ;改變地址指針 CLR SCL SETB SDA SETB SCL CLR SDA ;起動信號 MOV A,#OAOH ACALL WRA MOV A,R1 ACALL WRA MOV A,RO ACALL WRA MOV A,R3 ACALL WRA ;寫 R3至館儲器中 CLR SCL CLR SDA SETB SCL SETB SDA ;i止信號 ACALL DMS RETWRA: MOV R4,#08HWR: CLR SCL RLC A MOV SDA,C SETB SCL DJNZ R4,WR ;寫一個字子程序 CLR SCL SETB SDA SETB SCL JB SDA,ERRORI ;gMg RETERRORI: SETB FO RETREAD24: CLR SCL ;讀取串行總線上的數(shù)據(jù) SETB SDA SETB SCL CLR SDA ;M動信號 MOV A,OAOH ACALL WRA MOV A,R1 ACALL WRA ;字高字節(jié)地址數(shù)據(jù) MOV A,RO ACALL WRA ;寫低 字節(jié)地址數(shù)據(jù) CLR SCL SETB SDA SETB SCL CLR SDA ;起動信號 MOV A,#OA1H ACALL WRA ;寫人控制字 ACALL RDA MOV R2,A ;讀取一個數(shù)據(jù)到 R2中去 CLR SCL CLR SDA SETB SCL SETB SDA ;停止信號 MOV A,RO ADD A,#01H MOV RO,A MOV A,R1 ADDC A,#00H MOV A,R1 ;改變地址指針 CLR SCL SETB SDA SETB SCL CLR SDA ;M動信號 MOV A,#OAOH ACALL RRA MOV A,R1 ACALL WRA MOV A,RO ACALL WRA CLR SCL SETB SDA SETB SCL CLR SDA ;M動信號 MOV A,#OA1H ACALL WRA ;g人控0字節(jié) ACALL RDA MOV R3,A ;讀取一個字節(jié)到R3中 RETRDA: MOV R3,08HRD: CLR SCL NOP NOP NOP MOV C,SDA RLC A SETB SCL DJNZ R3,RD ;讀取一個字節(jié)數(shù)據(jù) CLR SCL CLR SDA SETB SCL SETB SDA RET5 調(diào)試過程5.1 硬件部分調(diào)試 硬件是整個作品的基礎,所有的工作必須依賴硬件電路的正常運行,在整個設計過程中,硬件的設計調(diào)試是一種重要的環(huán)節(jié)。對于硬件電路的調(diào)試我們主要由下面幾個過程:1、晶振及復位電路 晶振是單片機工作的必要部分,要使整個器件正常工作,晶振電路必須正確。由于利用到串行通信,所以,將晶振頻率設計為110592MHZ,另處還有30PF的電容兩只。復位電路是由一只8.2K的電阻和 10F電容組成的簡單型復位電路。2、數(shù)碼顯示電路 該作品能夠顯示即時溫度數(shù)據(jù),所在必須要有能正常工作的顯示電路。顯示電路是由LED數(shù)碼管、驅(qū)動電路、拉高電阻組成。 顯示部分為4位動態(tài)顯示,數(shù)碼管為共陰極4位數(shù)碼管,共有12個管腳,其中8位用作字節(jié)碼數(shù)據(jù)位,另外4位用作位選信號,也就是4位數(shù)碼管的4個共陰極。由于數(shù)據(jù)管的工作電流較大,單片機不能直接進行驅(qū)動,所以使用到7407進行同向驅(qū)動,7404是一片6路同向驅(qū)動集成電路。我們只用到其中的4路。另外,要數(shù)碼管能正常工作,還需要在陽極接入上拉電阻。整個數(shù)碼顯示是整個設計工作的開始
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 招聘面試技巧及實踐方法論
- 車輛租賃安全責任與保險協(xié)議
- 教育信息化的發(fā)展趨勢及策略
- 礦產(chǎn)資源勘查設計合同范本
- 康復器械與輔助器具的應用推廣
- 高新技術產(chǎn)業(yè)財務擔保合同會計處理與知識產(chǎn)權保護
- 提升辦公效率的空間調(diào)整策略
- 公司旅游拓展活動方案
- 公司組織閱讀活動方案
- 民航機場場地租賃及航空運輸服務合同
- 先進成圖技術教與學智慧樹知到課后章節(jié)答案2023年下青島濱海學院
- 初級會計師考試 經(jīng)濟法基礎課件
- 上海交通大學畢業(yè)生思想政治品德情況表
- 23秋國家開放大學《EXCEL在財務中的應用》形考作業(yè)1-4參考答案
- 有限空間監(jiān)理實施細則
- 新產(chǎn)品制造可行性及風險分析報告
- 采購預付款合同
- 2023年瀘州市文化和旅游系統(tǒng)事業(yè)單位招聘筆試模擬試題及答案
- (中醫(yī)內(nèi)科)高級、副高級職稱考試模擬試題及答案
- 跌倒墜床原因分析預防措施
- 弱電施工安全技術交底
評論
0/150
提交評論