基于51單片機(jī)的電子萬(wàn)年歷的設(shè)計(jì)資料,基于,51,單片機(jī),電子,萬(wàn)年歷,設(shè)計(jì),資料
目 錄 摘 要 .......................................................................................................................................................................I ABSTRACT............................................................................................................................................................II 1 引言 .......................................................................................................................................................................1 2 功能要求 ...............................................................................................................................................................1 3 方案論證與設(shè)計(jì) ...................................................................................................................................................1 3.1 控制部分的方案選擇 ....................................................................................................................................1 3.2 測(cè)溫部分的方案選擇 ....................................................................................................................................1 3.3 顯示部分的方案選擇 ....................................................................................................................................2 4 系統(tǒng)硬件電路設(shè)計(jì) ...............................................................................................................................................2 4.1 主控器 AT89C52 ..........................................................................................................................................2 4.2 時(shí)鐘電路 DS1302 .........................................................................................................................................3 4.2.1. DS1302 的性能特性 ..............................................................................................................................3 4.2.2 DS1302 數(shù)據(jù)操作原理 ...........................................................................................................................3 4.3 測(cè)溫電路的設(shè)計(jì) ............................................................................................................................................5 4.3.1 溫度傳感器工作原理 ............................................................................................................................5 4.3.2 DS18B20 與單片機(jī)的接口電路 .............................................................................................................8 4.4 顯示電路的設(shè)計(jì) ............................................................................................................................................9 4.5 鍵盤接口的設(shè)計(jì) ........................................................................................................................................10 5 系統(tǒng)程序的設(shè)計(jì) .................................................................................................................................................10 5.1 陽(yáng)歷程序設(shè)計(jì) ..............................................................................................................................................10 5.2 時(shí)間調(diào)整程序設(shè)計(jì) ......................................................................................................................................11 5.3 溫度程序設(shè)計(jì) ..............................................................................................................................................12 5.3.1 主程序 ..................................................................................................................................................12 5.3.2 讀出溫度子程序 ..................................................................................................................................12 5.3.3 溫度轉(zhuǎn)換命令子程序 ..........................................................................................................................12 5.3.4 計(jì)算溫度子程序 ..................................................................................................................................13 5.3.5 顯示數(shù)據(jù)刷新子程序 ...........................................................................................................................13 6 調(diào)試及性能分析 ...............................................................................................................................................13 6.1 調(diào)試步驟 ......................................................................................................................................................14 6.2 性能分析 ......................................................................................................................................................14 7 總結(jié) ...................................................................................................................................................................14 參考文獻(xiàn) .................................................................................................................................................................14 致 謝 .....................................................................................................................................................................14 I 基于 51 單片機(jī)的電子萬(wàn)年歷的設(shè)計(jì) 摘 要 電子萬(wàn)年歷是單片機(jī)系統(tǒng)的一個(gè)應(yīng)用,由硬件和 軟件相配合使用。硬件由主控器、 時(shí)鐘電路、溫 度檢測(cè)電路、顯示電路、鍵盤接口 5 個(gè)模塊組成。主控模塊用 AT89C52、時(shí)鐘電路用時(shí)鐘芯片 DS1302、顯示模 塊用 LED 數(shù) 碼管、溫度 檢測(cè)采用 DS18B20 溫度傳感器、鍵盤接口電路用普通按鍵接 上拉電阻完成;軟件利用 C 語(yǔ) 言編程實(shí)現(xiàn)單片機(jī)程序控制。單片機(jī)通過(guò)時(shí)鐘芯片 DS1302 獲取時(shí)間數(shù) 據(jù),DS18B20 采集溫度信號(hào)送該給單片機(jī)處理, 單片機(jī)再把 時(shí)間數(shù)據(jù)和溫度數(shù)據(jù)送給 74LS154 譯碼, 然后通過(guò)三極管 C9015 放大驅(qū)動(dòng) LED 數(shù)碼管顯示陽(yáng)歷年、月、日、時(shí)、秒、鬧鐘、星期、溫度。 關(guān)鍵詞 電子萬(wàn)年歷;單片機(jī);溫度傳感器;時(shí)鐘;數(shù)碼顯示 Abstract Electronic perpetual calendar which is an application of the single-chip processor system, is utilized by combining hardware and software. And Hardware is composed of five modules: Main control unit, clock circuit, temperature test circuit, display circuit, keyboard interface. Main control board adopts AT89S52, clock circuit adopts the DS1302 clock chip, display module adopts the LED digital tube, and temperature test adopts the DS18B20 temperature sensor, keyboard interface circuit is completed by connecting ordinary button with pull-up resistor. Software takes advantage of C to program, so as to realize the programmed control of single-chip processor. Single-chip processor gets the time data through using the DS1302 clock chip. The DS18B20 gathers temperature signals and transmits them to single-chip processor. Then, single-chip processor transmits the time data and the temperature data to the 74LS154 decoder. Lastly, the LED displays solar calendar year, year, month, day, hour, minute, second, alarm clock, week and temperature with being enlarged and driven by the C9015 triode. Keywords: Electronic perpetual calendar; single-chip processor; temperature sensor; clock; digital display 共 15 頁(yè),第 1 頁(yè) 1 引言 隨著微電子技術(shù)和超大規(guī)模集成電路技術(shù)的不斷發(fā)展,家用電子產(chǎn)品不但種類日益豐富,而 且變得更加經(jīng)濟(jì)實(shí)用,單片微型計(jì)算機(jī)體積小、性價(jià)比高、功能強(qiáng)、可靠性高等獨(dú)有的特點(diǎn),在 各個(gè)領(lǐng)域得到了廣泛的應(yīng)用。電子萬(wàn)年歷是一種應(yīng)用非常廣泛的日常計(jì)時(shí)工具,數(shù)字顯示的日歷 鐘已經(jīng)越來(lái)越流行,特別是適合在家庭居室、辦公室、大廳、會(huì)議室、車站和廣場(chǎng)等使用。LED 數(shù)字顯示的日歷鐘顯示清晰直觀、走時(shí)準(zhǔn)確、可以進(jìn)行夜視,并且還可以擴(kuò)展出多種功能。功能 也越來(lái)越齊全,除了公歷年月日、時(shí)分秒、星期顯示及鬧鈴。但通過(guò)我們對(duì)各種電子鐘表、歷的 不斷觀察總結(jié)發(fā)現(xiàn)目前市場(chǎng)的鐘、歷都存在一些不足之處,比如:時(shí)鐘不精確、產(chǎn)品成本太高、 無(wú)環(huán)境溫度顯示等,這都給人們的使用帶來(lái)了某些不便。為此設(shè)計(jì)了一種功能全面、計(jì)時(shí)準(zhǔn)確、 成本低廉的基于 51 單片機(jī)的萬(wàn)年歷。 2 功能要求 1. 萬(wàn)年歷能用數(shù)碼管顯示陽(yáng)歷年、月、日、星期、[小] 時(shí)、分、秒并設(shè)置指定時(shí)間的鬧鈴。 2. 數(shù)字式溫度計(jì)要求測(cè)溫范圍-50~100°C , LED 數(shù)碼管直讀顯示。 3 方案論證與設(shè)計(jì) 3.1 控制部分的方案選擇 1. 用可編程邏輯器件設(shè)計(jì)??刹捎?ALTERA 公司的 FLEX10K 系列 PLD 器件。設(shè)計(jì)起來(lái)結(jié)構(gòu)清晰, 各個(gè)模塊,從硬件上設(shè)計(jì)起來(lái)相對(duì)簡(jiǎn)單,控制與顯示的模塊間的連接也會(huì)比較方便。但是考慮到本 設(shè)計(jì)的特點(diǎn),EDA 在功能擴(kuò)展上比較受局限,而且 EDA 占用的資源也相對(duì)多一些。從成本上來(lái)講, 用可編程邏輯器件來(lái)設(shè)計(jì)也沒有什么優(yōu)勢(shì)。 2. 用凌陽(yáng) 16 位單片機(jī)設(shè)計(jì)。凌陽(yáng) 16 位單片機(jī)有豐富的中斷源和時(shí)基,方便本實(shí)驗(yàn)的設(shè)計(jì)。 它的準(zhǔn)確度相當(dāng)高,并且 C 語(yǔ)言和匯編兼容的編程環(huán)境也很方便來(lái)實(shí)現(xiàn)一些遞歸調(diào)用。I/O 口功能 也比較強(qiáng)大,方便使用。用凌陽(yáng) 16 位單片機(jī)做控制器最有特色的就是它的可編程音頻處理,可完 成語(yǔ)音的錄制播放和識(shí)別。這些都方便對(duì)設(shè)計(jì)進(jìn)行擴(kuò)展,使設(shè)計(jì)更加完善。成本也相對(duì)低一些。但 是,在控制與顯示的結(jié)合上有些復(fù)雜,顯示模組資源相對(duì)有限,而且單片機(jī)的穩(wěn)定性不是很高。 3. 主控芯片使用 51 系列 AT89C52 單片機(jī),時(shí)鐘芯片用美國(guó) DALLAS 公司推出的一種高性能、 低功耗、帶 RAM 的時(shí)鐘 DS1302。采用 DS1302 作為主要計(jì)時(shí)芯片,可以做到計(jì)時(shí)準(zhǔn)確。更重要的是, DS1302 可以在很小電流的后備電源(2.5~5V 電源,在 2.5V 時(shí)耗電小于 300nA)下繼續(xù)計(jì)時(shí),停 電后時(shí)鐘無(wú)需重新調(diào)整,并可編程選擇多種充電電流來(lái)對(duì)后備電源進(jìn)行慢速充電,可以保證后備 電源基本不耗電,還可自設(shè)鬧鈴,陽(yáng)歷、星期與年月日自動(dòng)對(duì)應(yīng)。本系統(tǒng)采用了此方案。 3.2 測(cè)溫部分的方案選擇 1.在日常生活及工農(nóng)業(yè)生產(chǎn)中經(jīng)常要乃至溫度的檢測(cè)及控制,傳統(tǒng)的測(cè)溫元件有熱電偶和熱電 阻。而熱電偶和熱電阻測(cè)一般都是電壓,再轉(zhuǎn)換成對(duì)應(yīng)的溫度,需要比較多的外部硬件支持,硬件 電路復(fù)雜,軟件調(diào)試復(fù)雜,制作成本高。 2.與前面相比,采用美國(guó) DALLAS 半導(dǎo)體公司繼 DS1820 之后推出的一種改進(jìn)型智能溫度傳感器 DS18B20 作為檢測(cè)元件,測(cè)溫范圍為-55~125°C,最大分辨率可達(dá) 0.0625°C。DS18B20 可以直 接讀出被測(cè)溫度值,而且采用 3 線制與單片機(jī)相連,減少了外部的硬件電路,具有低成本和易使用 的特點(diǎn)。 馬培:基于 51 單片機(jī)的電子萬(wàn)年歷設(shè)計(jì) 共 15 頁(yè),第 2 頁(yè) 3.3 顯示部分的方案選擇 1. 液晶顯示方式。液晶顯示效果出眾,可以運(yùn)用菜單項(xiàng)來(lái)方便操作,但是在顯示時(shí),特別是 使用秒表功能時(shí)掃描速度跟不上,屏幕會(huì)有明顯的閃爍。而且由于 61 板的存儲(chǔ)空間有限,液晶顯 示就不能與語(yǔ)音播抱程序同時(shí)實(shí)現(xiàn)。這些大大影響了電子萬(wàn)年歷的性能。 2. 相比液晶顯示,8 段數(shù)碼管雖然操作比液晶顯示略顯繁瑣,但可視范圍十分寬,而且經(jīng)濟(jì) 實(shí)惠,也不需要復(fù)雜的驅(qū)動(dòng)程序。所以最后選擇 LED 數(shù)碼管顯示方案。 綜上所述,按照系統(tǒng)設(shè)計(jì)功能的要求,確定硬件系統(tǒng)由主控制器、時(shí)鐘模塊、測(cè)溫電路、顯示 模塊、鍵盤接口共 5 個(gè)模塊組成,總體系統(tǒng)構(gòu)成框圖如圖 3.1 所示。 圖 3.1 電子萬(wàn)年歷系統(tǒng)構(gòu)成框圖 4 系統(tǒng)硬件電路設(shè)計(jì) 電子萬(wàn)年歷電路原理圖見附件一,系統(tǒng)由主控制器 AT89C52、時(shí)鐘芯片 DS1302、溫度傳感器 DS18B20 傳感器、顯示電路及鍵盤掃描電路組成。 4.1 主控器 AT89C52 ATMEL 公司生產(chǎn)的 AT89C52 單片機(jī)采用高性能的靜態(tài) 80C51 設(shè)計(jì),由先進(jìn)工藝制造,并帶有非 易失性 Flsah 程序存儲(chǔ)器。它是一種高性能、低功耗的 8 位 CMOS 微處理芯片,市場(chǎng)應(yīng)用最多。主 要性能特點(diǎn)有: 8KB Flash ROM,可以檫寫 1000 次以上,數(shù)據(jù)保存 10 年。 256 字節(jié)內(nèi)部 RAM。 電源控制模式 ——時(shí)鐘可停止和恢復(fù); ——空閑模式; ——掉電模式。 6 個(gè)中斷源。 4 個(gè)中斷優(yōu)先級(jí)。 4 個(gè) 8 位 I/O 口。 全雙工增強(qiáng)型 UART。 3 個(gè) 16 位定時(shí)/計(jì)數(shù)器,T0、T1(標(biāo)準(zhǔn) 80C51)和增加的 T2(捕獲和比較) 。 全靜態(tài)工作方式:0~24MHz。 DS1302 時(shí)鐘模塊 AT89C52 主控制器 DS18B2 溫度探測(cè) 鍵盤掃描電路 數(shù)碼顯示電路 共 15 頁(yè),第 3 頁(yè) 4.2 時(shí)鐘電路 DS1302 4.2.1. DS1302 的性能特性 實(shí)時(shí)時(shí)鐘,可對(duì)秒、分、時(shí)、日、周、月以及帶閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù); 用于高速數(shù)據(jù)暫存的 31×8 位 RAM; 最少引腳的串行 I/O; 2.5~5.5V 電壓工作范圍; 2.5V 時(shí)耗電小于 300nA; 用于時(shí)鐘或 RAM 數(shù)據(jù)讀/寫的單字節(jié)或多字節(jié)(脈沖方式)數(shù)據(jù)傳送方式; 簡(jiǎn)單的 3 線接口; 可選的慢速充電(至 Vcc1)的能力。 DS1302 時(shí)鐘芯片包括實(shí)時(shí)時(shí)鐘/日歷和 31 字節(jié)的靜態(tài) RAM。它經(jīng)過(guò)一個(gè)簡(jiǎn)單的串行接口與微 處理器通信。實(shí)時(shí)時(shí)鐘/日歷提供秒、分、時(shí)、日、周、月和年等信息。對(duì)于小于 31 天的月和月末 的日期自動(dòng)調(diào)整,還包括閏年校正的功能。時(shí)鐘的運(yùn)行可以采用 24h 或帶 AM(上午)/PM(下午)的 12h 格式。采用三線接口與 CPU 進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或 RAM 數(shù)據(jù)。DS1302 有主電源/后備電源雙電源引腳:Vcc1 在單電源與電池供電的系統(tǒng)中提供低電源, 并提供低功率的電池備份;Vcc2 在雙電源系統(tǒng)中提供主電源,在這種運(yùn)用方式中,Vcc1 連接到備份 電,以便在沒有主電源的情況下能保存時(shí)間信息以及數(shù)據(jù)。DS1302 由 Vcc1或 Vcc2中較大者供電。 當(dāng) Vcc2大于 Vcc1+0.2V 時(shí),Vcc2 給 DS1302 供電;當(dāng) Vcc2小于 Vcc 時(shí), DS13026 由 Vcc1供電。 4.2.2 DS1302 數(shù)據(jù)操作原理 DS1302 在任何數(shù)據(jù)傳送時(shí)必須先初始化,把 RST 腳置為高電平,然后把 8 位地址和命令字裝 入移位寄存器,數(shù)據(jù)在 SCLK 的上升沿被輸入。無(wú)論是讀周期還是寫周期,開始 8 位指定 40 個(gè)寄存 器中哪個(gè)將被訪問(wèn)到。在開始 8 個(gè)時(shí)鐘周期,把命令字節(jié)裝入移位寄存器之后,另外的時(shí)鐘周期在 讀操作時(shí)輸出數(shù)據(jù),在寫操作是寫入時(shí)寫入數(shù)據(jù)。時(shí)鐘脈沖的個(gè)數(shù)在單字節(jié)方式下為 8 加 8,在多 字節(jié)方式下為 8 加字節(jié)數(shù),最大可達(dá) 248 字節(jié)數(shù)。 如果在傳送過(guò)程中置 RST 腳為低電平,則會(huì)終止本次數(shù)據(jù)傳送,并且 I/O 引腳變?yōu)楦咦钁B(tài)。上 電運(yùn)行時(shí),在 Vcc 大于等于 2.5V 之前,RST 腳必須保持低電平。只有在 SCLK 為低電平時(shí),才能將 RST 置為高電平。DS1302 的引腳及內(nèi)部結(jié)構(gòu)圖如圖 4.1 所示,表 4.1 為各引腳的功能。 DS1302 的控制字如圖 4.2 所示??刂谱止?jié)的最高位(位 7)必須是邏輯 1;如果它為 0,則不 能把數(shù)據(jù)寫入到 DS1302 中。位 6 如果為 0,則表示存取日歷時(shí)鐘數(shù)據(jù);為 1 表示存取 RAM 數(shù)據(jù)。 位 5~1(A4~A0)指示操作單元的地址。最低有效位(位 0)如為 0,表示要進(jìn)行寫操作;為 1 表 示進(jìn)行讀操作??刂谱止?jié)總是從最低位開始輸入/輸出。 為了提高對(duì) 32 個(gè)地址的尋址能力(地址/命令位 1~5=邏輯 1) ,可以把時(shí)鐘/日歷或 RAM 寄存 器規(guī)定為多字節(jié)(burst)方式。位 6 規(guī)定時(shí)鐘或 RAM,而位 0 規(guī)定讀或?qū)?。在時(shí)鐘/日歷寄存器中 的地址 9~31 或 RAM 寄存器中的地址 31 不能寄存數(shù)據(jù)。在多字節(jié)方式中,讀或?qū)憦牡刂?0 的位 0 開始。必須按數(shù)據(jù)傳送的次序?qū)懽钕鹊?8 個(gè)寄存器。但是,當(dāng)以多字節(jié)方式寫 RAM 時(shí),為了傳送數(shù) 據(jù)不必寫所有 31 字節(jié)。不管是否寫了全部 31 字節(jié),所寫的每一字節(jié)都將傳送至 RAM。 馬培:基于 51 單片機(jī)的電子萬(wàn)年歷設(shè)計(jì) 共 15 頁(yè),第 4 頁(yè) 1 2 3 4 5 6 7 8 Vcc1 SCLK I/O RST Vcc2 X1 X2 GND 電源 控制 Vcc1 Vcc2 GND 輸入移位 寄存器 I/O SCLK 實(shí)時(shí)時(shí)鐘 命令與 控制邏輯 振蕩器與 分頻器 31×8RAMRST X2X1 32.768kHz DATA BUS 圖 4.1 DS1302 引腳及內(nèi)部結(jié)構(gòu) 表 4.1 DS1302 引腳功能 引腳號(hào) 引腳名稱 功 能 1 Vcc2 主電源 2,3 X1,X 2 振蕩源,外界 32.768kHz 晶振 4 GND 地線 5 RST 復(fù)位/片選線 6 I/O 串行數(shù)據(jù)輸入/輸出端(雙向) 7 SCLK 串行數(shù)據(jù)輸入端 8 Vcc1 后備電池 7 6 5 4 3 2 1 0 1 RAMCK A4 A3 A2 A1 A0 RAMK 圖 4.2 DS1302 的控制字 DS1302 共有 12 個(gè)寄存器,其中有 7 個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為 BCD 碼形式。 其日歷、時(shí)間寄存器及其控制字見表 3.2,其中奇數(shù)為讀操作,偶數(shù)為寫操作。 時(shí)鐘暫停:秒寄存器的位 7 定義位時(shí)鐘暫停位。當(dāng)它為 1 時(shí),DS1302 停止震蕩,進(jìn)入低功耗 的備份方式。通常在對(duì) DS1302 進(jìn)行寫操作時(shí)(如進(jìn)入時(shí)鐘調(diào)整程序) ,停止震蕩。當(dāng)它為 0 時(shí),時(shí) 鐘將開始啟動(dòng)。 AM-PM/12-24[小]時(shí)方式:[小]時(shí)寄存器的位 7 定義為 12 或 24[小]時(shí)方式選擇位。它為高 電平時(shí),選擇 12[小]時(shí)方式。在此方式下,位 5 是 AM/PM 位,此位是高電平時(shí)表示 PM 低電平表示 AM。在 24[小]時(shí)方式下,位 5 為第二個(gè) 10[小]時(shí)位(20~23h) 。 共 15 頁(yè),第 5 頁(yè) 表 4.2 內(nèi)部寄存器地址和內(nèi)容 命令字節(jié) 積存器內(nèi)容積存器名 寫 讀 取值范圍 7 6 5 4 3 2 1 0 秒積存器 80H 81H 00~59 CH 10S SEC 分積存器 82H 83H 00~59 0 10 min MIN [小]時(shí)積存器 84H 85H 00~23 或 01~12 12/24 0 10A/P HR HR 日積存器 85H 87H 01~28, 29,30,31 0 0 10DATE DATE 月積存器 88H 89H 01~12 0 0 0 10M MONTH 周積存器 8AH 8BH 01~07 0 0 0 0 0 DAY 年積存器 8CH D3H 00~99 10YEAR YEAR DS1302 的晶震選用 32.768kHz,電容推薦值為 33pF,因?yàn)檎鹗庮l率較低,也可以不接電容, 對(duì)計(jì)時(shí)精度影響不大。 4.3 測(cè)溫電路的設(shè)計(jì) 測(cè)溫電路主要使用溫度傳感器 DS18B20,由于精度要求不高所以采用 2 位共陽(yáng) LED 數(shù)碼管以動(dòng) 態(tài)掃描法實(shí)現(xiàn)溫度顯示。其設(shè)計(jì)原理圖如附件一所示。 4.3.1 溫度傳感器工作原理 DS18B20 溫度傳感器是美國(guó) DALLAS 半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳 統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要示通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn) 9~12 位的數(shù)字值讀數(shù)方式。DS18B20 的性能特點(diǎn)如下: 獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信; 多個(gè) DS18B20 可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能; 無(wú)須外部器件; 可通過(guò)數(shù)據(jù)線供電,電壓范圍為 3.0~3.5V; 零待機(jī)功耗; 溫度以 9 或 12 數(shù)字量讀出; 用戶可定義的非易失性溫度報(bào)警設(shè)置; 報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件; 負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。 DS18B20 采用 3 腳 PR—35 封裝或8腳 SOIC 封裝,其內(nèi)部結(jié)構(gòu)框圖如圖 4.3 所示。 64 位 ROM 的位結(jié)構(gòu)如圖 4.4 所示。開始 8 位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的唯一的序 號(hào),共有 48 位,最后 8 位是前面 56 位的 CRC 檢驗(yàn)碼,這也是多個(gè) DS18B20 可以采用一線進(jìn)行通信 的原因。非易失性溫度報(bào)警觸發(fā)器 TH 和 TL,可通過(guò)軟件寫入戶報(bào)警上下限。 DS18B20 溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)調(diào)整暫存 RAM 和一個(gè)易失性的可電擦除的 EERAM。高速暫存 RAM 的結(jié)構(gòu)為 8 字節(jié)存儲(chǔ)器,結(jié)構(gòu)如圖 4.5 所示。頭 2 個(gè)字節(jié)包含測(cè)得的溫度信 息,第 3 和第 4 節(jié)是 TH 和 TL 的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第 5 個(gè)字節(jié)為配置寄存 馬培:基于 51 單片機(jī)的電子萬(wàn)年歷設(shè)計(jì) 共 15 頁(yè),第 6 頁(yè) 器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20 工作時(shí)按此寄存器中的分辨率將溫度轉(zhuǎn) 換為相應(yīng) 64 位 ROM 和 單線接口 圖 4.3DS18B20 內(nèi)部結(jié)構(gòu)圖 存儲(chǔ)器與控制邏輯 高速 緩存 溫度傳感器 高溫觸發(fā)器 TH 低溫觸發(fā)器 TL 配置寄存器 8 位 CRC 發(fā)生 器 I/O C VDD 8 位檢驗(yàn) CRC 48 位序列號(hào) 8 位工廠代碼 (10H) MSB LSB MSB LSB MSB LSB 圖 4.4 64 位 ROM 結(jié)構(gòu)圖 溫度 LSB 溫度 MSB TH 用戶字節(jié) 1 TL 用戶字節(jié) 2 TH 用戶字節(jié) 1 配置寄存器 TL 用戶字節(jié) 2 保留 保留 保留 CRC 1 字節(jié) 2 字節(jié) 3 字節(jié) 4 字節(jié) 5 字節(jié) 6 字節(jié) 7 字節(jié) 8 字節(jié) 9 字節(jié) 圖 4.5 高速暫存 RAM 結(jié)構(gòu)圖 精度的數(shù)值。該字節(jié)各位的定義如圖 4.6 所示。低 5 位一直 1,M 是測(cè)試模式位,用于設(shè)置 DS18B20 在工作模式還是在測(cè)試模式。在 DS18B20 出廠時(shí)該位被設(shè)置為 0,用戶不要去改動(dòng),R1 和 R0 決定溫度轉(zhuǎn)換的精度位數(shù),即用來(lái)設(shè)置分辨率,定義方法見表 4.3。 由表 4.3 可見,DS18B20 溫度轉(zhuǎn)換的時(shí)間比較長(zhǎng),而且設(shè)定的分辨率越高,所需要的溫度數(shù)據(jù) 轉(zhuǎn)換時(shí)間就越長(zhǎng)。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。 高速暫存 RAM 的第 6、7、8 字節(jié)保留未用,表現(xiàn)為全邏輯 1。第 9 字節(jié)讀出前面所有 8 字節(jié)的 CRC 碼,可用來(lái)檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。 當(dāng) DS18B20 接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以 16 位帶符號(hào)擴(kuò) 展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第 1、2 字節(jié)。單片機(jī)可以通過(guò)單線接口讀出該數(shù)據(jù), EEROM 共 15 頁(yè),第 7 頁(yè) 讀數(shù)據(jù)時(shí)低位在先,高位在后,數(shù)據(jù)格式以 0.0625°C/LSB 形式表示。溫度值格式如圖 4.7 所示。 TM R1 R0 1 1 1 1 1 圖 4.6 配置寄存器 表 4.3 DS18B20 分辨率的定義規(guī)定 R1 R0 分辨率/位 測(cè)量最大轉(zhuǎn)換時(shí)間/ms 0 0 9 93.75 0 1 10 187.5 1 0 11 375 1 1 12 750 表 4.4 DS18B20 溫度與測(cè)得值對(duì)應(yīng)表 溫度/ °C 二進(jìn)制表示 十六進(jìn)制表示 +125 0000 0111 1101 0000 07D0H +85 0000 0101 0101 0000 0550H +25.0625 0000 0001 1001 0001 0191H +10.125 0000 0000 1010 0010 00A2H +0.5 0000 0000 0000 1000 0008H 0 0000 0000 0000 0000 0000H -0.5 1111 1111 1111 1000 FFF8H -10.125 1111 1111 0101 1110 FF5EH -25.0625 1111 1110 0110 1111 FE6FH -55 1111 1100 1001 0000 FC90H 23 22 21 20 2-1 2-2 2-3 2-4 S S S S S S6 S5 S4 圖 4.7 溫度數(shù)字值格式 LS 字節(jié) MS 字節(jié) 馬培:基于 51 單片機(jī)的電子萬(wàn)年歷設(shè)計(jì) 共 15 頁(yè),第 8 頁(yè) 預(yù)置 計(jì)數(shù) 器 1 減法計(jì)數(shù)器 1 低溫度系數(shù)振蕩器 減到 0 減法計(jì)數(shù)器 2 預(yù)置 溫度寄存器 減到 0高溫度系數(shù)振蕩器 斜率累加器 計(jì)數(shù)比較器 增加 圖 4.8 DS18B20 測(cè)溫原理圖 停止 當(dāng)符號(hào)位 S=0 時(shí),表現(xiàn)測(cè)得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制,當(dāng)符號(hào)位 S=1 時(shí),表示測(cè)得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼再計(jì)算十進(jìn)制值。表 4.4 是一部分溫度值 對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)。 DS18B20 完成溫度轉(zhuǎn)換后,把測(cè)得的溫度值與 RAM 中的 TH、TL 字節(jié)內(nèi)容作比較。若 T>TH 或 T
收藏