版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)字溫度計(jì)的設(shè)計(jì)摘 要溫度是一種最基本的環(huán)境參數(shù),人們生活與環(huán)境溫度息息相關(guān),在工業(yè)生產(chǎn)過程中需要實(shí)時(shí)測(cè)量溫度,在工業(yè)生產(chǎn)中也離不開溫度的測(cè)量,因此研究溫度的測(cè)量方法和控制具有重要的意義。本論文介紹了一種以單片機(jī)為主要控制器件,以DS18B20為溫度傳感器的新型數(shù)字溫度計(jì)。主要包括硬件電路的設(shè)計(jì)和系統(tǒng)程序的設(shè)計(jì)。硬件電路主要包括主控制器,測(cè)溫控制電路和顯示電路等,主控制器采用單片機(jī)AT89C52,溫度傳感器采用美國DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20,顯示電路采用8位共陰極LED數(shù)碼管,ULN2803A為驅(qū)動(dòng)的動(dòng)態(tài)掃描直讀顯示。測(cè)溫控制電路由溫度傳感器和預(yù)置溫度值比較報(bào)警電路組成,當(dāng)實(shí)際
2、測(cè)量溫度值大于預(yù)置溫度值時(shí),發(fā)出報(bào)警信號(hào),即發(fā)光二極管亮。系統(tǒng)程序主要包括主程序,測(cè)溫子程序和顯示子程序等。DS18B20新型單總線數(shù)字溫度傳感器是DALLAS 公司生產(chǎn)的單線數(shù)字溫度傳感器, 集溫度測(cè)量和 A /D轉(zhuǎn)換于一體 ,直接輸出數(shù)字量,具有接口簡單、精度高、抗干擾能力強(qiáng)、工作穩(wěn)定可靠等特點(diǎn)。由于采用了改進(jìn)型智能溫度傳感器DS18B20作為檢測(cè)元件,與傳統(tǒng)的溫度計(jì)相比,本數(shù)字溫度計(jì)減少了外部的硬件電路,具有低成本和易使用的特點(diǎn)。DS18B20溫度計(jì)還可以在高溫報(bào)警、遠(yuǎn)距離多點(diǎn)測(cè)溫控制等方面進(jìn)行應(yīng)用開發(fā),具有很好的發(fā)展前景。此外,還介紹了系統(tǒng)的調(diào)試和性能分析。關(guān)鍵詞:顯示電路,單片機(jī),A
3、T89C52,溫度傳感器,DS18B20 ,單總線The Design of DS18B20 Digit ThermometerABSTRACTTemperature is a basic parameters of the environment, people's lives and the environment are closely related to temperature. in the course of industrial production immediate need for temperature measurement in industrial pro
4、duction has to do with temperature measurement, The study of the temperature measurement and control is of great significance. The paper introduced one kind new digital thermometer that take the MicroController Unit as the primary control component and take DS18B20 as the te
5、mperature sensor. Mainly included the design of the hardware electric circuit and the design of the system program .The hardware electric circuit mainly included the master controller, the temperature measured electric circuit and the display circuit and so on, the master controller used M
6、icroController Unit AT89C52, the temperature sensor used DS18B20 which the American DALLAS semiconductor company produces, the display circuit used 8 altogether anodes LED numerical code tube by the dynamic scanning method straight to read the demonstration.ULN2803A-driven dynamic scan sho
7、wed straight time. Temperature control circuit from temperature sensors and preset temperature value compared alarm circuit components, When measured temperature greater than preset temperature value, issued warning signal that the bright light emitting diodes.The system program mainly included the
8、master routine,the temperature subroutine, the data renovates subroutine and so on.DS18B20 is a digital temperature sensor of single bus.It is producted by DALLAS cooperation . DS18B20 assembles temperature measure and A /D converter, exports digital signal directly, operation easily, better pr
9、ecise, protecting disturb, running steably and so on.Because used the advanced version intelligence temperature sensor DS18B20 as the examine part, compared with the traditional thermometer, this digital thermometer reduced the exterior hardware electric circuit, has characteristic t
10、hat the low cost and was easy to use. The DS18B20 thermometer also may used to the high temperature warning, the long-distance range multi- spots temperature measured aspect and so on temperature control carries on the application development, has the very good prospect
11、s for development. In addition, introduced the system debugging and the performance analysis. KEY WORDS: Display Circuit, Microcontroller Unit , AT89C52,Temperature Sensor, DS18B20,1-Wire目 錄前言1第1章 設(shè)計(jì)任務(wù)與方案分析2§1.1 設(shè)計(jì)任務(wù)與要求2§1.2 設(shè)計(jì)總體方案與方案論證2§1.3 溫度測(cè)量的方案與分析2§1.3.1 芯片選擇2§1.3.2 實(shí)現(xiàn)方
12、法簡介3§1.3.3 測(cè)溫流程圖3第2章 芯片功能簡介4§2.1 AT89C52的功能簡介4§2.1.1 AT89C52芯片簡介4§2.1.2 引腳功能說明4§2.2 DS18B20的功能簡介7§2.2.1 芯片簡介7§2.2.2 DS18B20外形和部結(jié)構(gòu)8§2.2.3 DS18B20的工作時(shí)序11§2.2.4 DS18B20與單片機(jī)的典型接口設(shè)計(jì)12§2.2.5 DS18B20的各個(gè)ROM命令13第3章 系統(tǒng)硬件電路的設(shè)計(jì)15§3.1 主控制電路和測(cè)溫控制電路原理圖15§
13、3.2 驅(qū)動(dòng)電路模塊原理圖16§3.3 顯示模塊原理圖17第4章 軟件編程調(diào)試與性能分析18§4.1 主程序流程圖18§4.2 主程序19§4.3 溫度子程序21§4.3.1 DS18B20復(fù)位子程序22§4.3.2 讀DS18B20子程序23§4.3.3 寫DS18B20子程序25§4.3.4 比較報(bào)警子程序26§4.3.5 按鍵子程序27§4.4 顯示子程序27§4.5 調(diào)試性能分析和注意事項(xiàng)29§4.5.1 調(diào)試性能分析29§4.5.2 DS18B20使用中的
14、注意事項(xiàng)30結(jié)論31參考文獻(xiàn)32致33附錄3415 / 54前言日常生活與工農(nóng)業(yè)生產(chǎn)中經(jīng)常要用到溫度的檢測(cè)與控制,在冶金、食品加工、化工等工業(yè)生產(chǎn)過程中,廣泛使用的各種加熱爐、熱處理爐、反應(yīng)爐等,都要求對(duì)溫度進(jìn)行嚴(yán)格控制。在日常生活中,電烤箱、微波爐、電熱水器、烘干箱等電器也需要進(jìn)行溫度檢測(cè)與控制。傳統(tǒng)的測(cè)溫元件有熱電偶和熱電阻。而熱電偶和熱電阻測(cè)出的一般是電壓,再轉(zhuǎn)換成對(duì)應(yīng)的溫度,需要比較多的外部硬件支持,硬件電路復(fù)雜,軟件調(diào)試復(fù)雜,制作成本高。而采用單片機(jī)對(duì)溫度進(jìn)行控制,不僅具有控制方便,簡單和靈活等優(yōu)點(diǎn),而且可以大幅度提高溫度控制的技術(shù)指標(biāo)。測(cè)量溫度的關(guān)鍵是溫度傳感器,溫度傳感器正從模擬
15、式向數(shù)字式、從集成化向智能化、網(wǎng)絡(luò)化的方向發(fā)展。在測(cè)溫電路中,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),將隨被測(cè)溫度變化的電壓或電流采集過來,先進(jìn)行A/D轉(zhuǎn)換,然后用單片機(jī)進(jìn)行數(shù)據(jù)的處理,再在顯示電路上,將被測(cè)溫度顯示出來。這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,因此感溫電路的設(shè)計(jì)比較復(fù)雜。進(jìn)而想到采用智能溫度傳感器來設(shè)計(jì)數(shù)字溫度計(jì)。本數(shù)字溫度計(jì)的設(shè)計(jì)采用美國DALLAS半導(dǎo)體公司繼DS1820之后推出的一種改進(jìn)型智能溫度傳感器DS18B20作為檢測(cè)元件,其溫度值可以直接被讀出來,通過核心器件單片機(jī)AT89C52控制溫度的讀寫和顯示,用LED數(shù)碼管顯示。測(cè)溫圍為55125,最大分辨率可達(dá)0.0625。
16、而且采用3線制與單片機(jī)相連,減少了外部的硬件電路,具有低成本和易使用的特點(diǎn)。 按照系統(tǒng)設(shè)計(jì)功能的要求,確定系統(tǒng)有5個(gè)模塊組成:主控制器、溫度傳感器DS18B20、報(bào)警電路、按鍵預(yù)置溫度值電路與顯示電路。控制器使用AT89C52,溫度傳感器使用DS18B20,用8位共陰極LED數(shù)碼管以動(dòng)態(tài)掃描法實(shí)現(xiàn)溫度顯示。系統(tǒng)程序主要包括主程序、溫度控制子程序與顯示子程序等等。綜上所述,本設(shè)計(jì)以智能集成溫度傳感器DS18B20為例,介紹基于DS18B20傳感器的數(shù)字溫度計(jì)的設(shè)計(jì),該設(shè)計(jì)適用于人們的日常生活與工農(nóng)業(yè)生產(chǎn)中用于溫度的檢測(cè)與控制。第1章 設(shè)計(jì)任務(wù)與方案分析§1.1 設(shè)計(jì)任務(wù)與要求設(shè)計(jì)一個(gè)以
17、單片機(jī)為核心的溫度測(cè)量系統(tǒng),可實(shí)現(xiàn)的功能為:(1)測(cè)量溫度值精度為±1。(2)系統(tǒng)允許的誤差圍為1以。(3)系統(tǒng)可由用戶預(yù)設(shè)溫度值,測(cè)溫圍為55125。(4)超出預(yù)置值時(shí)系統(tǒng)會(huì)自動(dòng)報(bào)警,即發(fā)光二極管亮。(5)系統(tǒng)具有數(shù)碼顯示功能,能實(shí)時(shí)顯示設(shè)定溫度值和測(cè)得的實(shí)際溫度值。§1.2 設(shè)計(jì)總體方案與方案論證在日常生活與工農(nóng)業(yè)生產(chǎn)中經(jīng)常要用到溫度的檢測(cè)與控制,傳統(tǒng)的測(cè)溫元件有熱電偶和熱點(diǎn)阻。而熱電偶和熱電阻測(cè)出的一般都是電壓,再轉(zhuǎn)換成對(duì)應(yīng)的溫度,需要比較多的外部硬件支持,硬件電路復(fù)雜,軟件調(diào)試復(fù)雜,制作成本高。本數(shù)字溫度計(jì)設(shè)計(jì)采用美國DALLAS半導(dǎo)體公司繼DS1820之后推出的一
18、種改進(jìn)智能溫度傳感器DS18B20作為檢測(cè)元件,測(cè)溫圍為55125,最大分辨率可達(dá)0.0625。DS18B20可以直接讀出被測(cè)量的溫度值,而采用3線制與單片機(jī)相連,減少了外部的硬件電路,具有低成本和易使用的特點(diǎn)。按照系統(tǒng)設(shè)計(jì)功能的要求,確定系統(tǒng)由5個(gè)模塊組成:主控制器AT89C52,溫度傳感器DS18B20,報(bào)警電路,按鍵電路與驅(qū)動(dòng)顯示電路。數(shù)字溫度計(jì)總體電路框圖如圖1-1所示。§1.3 溫度測(cè)量的方案與分析§1.3.1 芯片選擇本設(shè)計(jì)的測(cè)溫系統(tǒng)采用芯片DS18B20, DS18B20是DALLAS公司的最新單線數(shù)字溫度傳感器,它的體積更小、適用電壓更寬、更經(jīng)濟(jì),DS18B
19、20是世界上第一片支持“一線總線”接口的溫度傳感器,具有一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn)。采用智能溫度傳感器DS18B20作為檢測(cè)元件,測(cè)溫圍為55125,最大分辨率可達(dá)0.0625。DS18B20可以直接讀出被測(cè)量的溫度值,而且采用3線制與單片機(jī)相連,減少了外部的硬件電路,具有低成本和易使用的特點(diǎn)。§1.3.2 實(shí)現(xiàn)方法簡介DS18B20采用外接電源方式工作,一線測(cè)溫的一線與AT89C52的P3.7連接并加上上拉電阻使其工作,測(cè)出的數(shù)據(jù)存放在寄存器10H-12H中,將數(shù)據(jù)經(jīng)過BCD碼轉(zhuǎn)換后送LED顯示。具體實(shí)現(xiàn)步驟見軟件設(shè)計(jì)章節(jié)。主控制器AT89C52驅(qū)動(dòng)顯示電路按鍵電路報(bào)警電路DS18
20、B20圖1-1 總體電路框圖§1.3.3 測(cè)溫流程圖初始化跳過ROM匹配數(shù)碼管顯示溫度變換讀暫存器 轉(zhuǎn)換成顯示碼延時(shí)1S跳過ROM匹配圖1-2 測(cè)溫流程圖第2章 芯片功能簡介§2.1 AT89C52的功能簡介§2.1.1 AT89C52芯片簡介AT89C52是美國ATMEL公司生產(chǎn)的低電平,高性能CMOS 8位單片機(jī),片含8k bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM ),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS-51指令系統(tǒng)與8052產(chǎn)品引腳兼容,片置通用8位中央處理器(CPU
21、)和Flash存儲(chǔ)單元,32個(gè)可編程I/O口線, 3個(gè)16位定時(shí)/計(jì)數(shù)器, 低功耗空閑和掉電模式。功能強(qiáng)大的AT89C52單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。§2.1.2 引腳功能說明(1)VCC:電源電壓(2)GND:地(3) P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口P0寫“1”時(shí)可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)位,在訪問期間激活部上拉電阻。(4)P1口:P1是一個(gè)帶部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)
22、可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTE邏輯門電路。對(duì)端口寫“1”,通過部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)椴看嬖谏侠娮瑁硞€(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(ILL)。與AT89C51不同之處是,P1.0和P1.1還可分別作為定時(shí)/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P 1.0/T2)和輸入(P 1.1/T2EX ),參見表4-1。 Flash編程和程序校驗(yàn)期間,P1接收低8位地址。表4-1 P1.0和P1.1的第二功能引 腳 號(hào) 功能特性P1.0T2(定時(shí)/計(jì)數(shù)器2外部計(jì)數(shù)脈沖輸入),時(shí)鐘輸出P1.1T2EX(定時(shí)/計(jì)數(shù)2捕獲/重裝載觸發(fā)和方向控制)(5)P2口:P2是一個(gè)
23、帶有部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口P2寫“1”,通過部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)椴看嬖谏侠娮瑁硞€(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(ILL)。在訪問外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX RI指令)時(shí),P2口輸出P2鎖存器的容。(6)P3口:P3口是一組帶有部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)P3口寫入“1”時(shí),它們
24、被部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的P3口將用上拉電阻輸出電流(ILL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如表4-2所示。(7)RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。表4-2 P3口的第二功能端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2(外中斷0)P3.3(外中斷1)P3.4T0(定時(shí)/計(jì)數(shù)0)P3.5T1(定時(shí)/計(jì)數(shù)1)P3.6(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7(外部數(shù)據(jù)存儲(chǔ)器讀選通)(8)/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲(chǔ)器(地址為0000H-F
25、FFFH ) 。端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)部會(huì)鎖存端狀態(tài)。如端為高電平(接VCC端),CPU則執(zhí)行部程序存儲(chǔ)器中的指令。Flash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源VPP,當(dāng)然這必須是該器件是使用12V編程電壓VCC 。(9)XTAL1:振蕩器反相放大器的與部時(shí)鐘發(fā)生器的輸入端。(10)XTAL2:振蕩器反相放大器的輸出端。(11)數(shù)據(jù)存儲(chǔ)器:AT89C52有256個(gè)字節(jié)的部RAM,80H-FFH高128個(gè)字節(jié)與特殊功能寄存器(SFR)地址是重疊的,也就是高128。字節(jié)的RAM和特殊功能寄存器的地址是一樣的,但在物理上它們是分開的。當(dāng)一條指
26、令訪問7FH以上的部地址單元時(shí),指令中使用的尋址方式是不同的,也即尋址方式?jīng)Q定是訪問高128字節(jié)。RAM還是訪問特殊功能寄存器。如果指令是直接尋址方式則為訪問特殊功能寄存器。(12)中斷:AT89C52共有6個(gè)中斷向量:兩個(gè)外中斷(INT0和INT1),3個(gè)定時(shí)器中斷(定時(shí)器0, 1, 2)和串行口中斷。(13)時(shí)鐘振蕩器: AT89C52中有一個(gè)用于構(gòu)成部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見圖4-1(a)圖所示。外接石英晶體(或瓷諧振器)與電容C1、C2接在放大器的
27、反饋回路中構(gòu)成并聯(lián)振蕩電路,對(duì)外接電容C1、C2雖然沒有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程度與溫度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用30pF士10pF,而如果使用瓷諧振器,建議選擇40pF士l0pF。用戶也可以采用外部時(shí)鐘。采用外部時(shí)鐘的電路如圖4-1(b)圖所示。這種情況下,外部時(shí)鐘脈沖接到XTAL1端,即部時(shí)鐘發(fā)生器的輸入端,XTAL2則懸空。 (a)部振蕩電路 (b)外部振蕩電路圖4-1 振蕩電路由于外部時(shí)鐘信號(hào)是通過一個(gè)2分頻觸發(fā)器后作為部時(shí)鐘信號(hào)的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒有特殊要求,但最小高電平持續(xù)時(shí)間和最大的低電
28、平持續(xù)時(shí)間應(yīng)符合產(chǎn)品技術(shù)條件的要求。§2.2 DS18B20的功能簡介§2.2.1 芯片簡介(1) 適應(yīng)電壓圍更寬,電壓圍:3.0 V5.5V,在寄生電源方式下可由數(shù)據(jù)線供電。(2) 獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。(3) DS18B20在使用中不需要任何外圍元件,全部傳感元件與轉(zhuǎn)換電路集成在形如一只三極管的集成電路。(4) 測(cè)溫圍55125,在-10+85時(shí)精度為±0.5。(5) 可編程的分辨率為912位,對(duì)應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測(cè)
29、溫。(6) 在9位分辨率時(shí)最多在93.75ms把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms把溫度值轉(zhuǎn)換為數(shù)字,速度更快。(7) 測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以“一線總線”串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力。(8) 負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。§2.2.2 DS18B20外形和部結(jié)構(gòu)DS18B20部結(jié)構(gòu)如圖4-2所示,主要由4部分組成:64位ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。DS18B20的外形與管腳排列如圖4-3和表4-3所示。 64位ROM和單線接 口 高速緩存 存儲(chǔ)器 存儲(chǔ)器
30、和控制器8位CRC生成器溫度傳感器 低溫觸發(fā)器TL高溫觸發(fā)器TH配置寄存器電源檢測(cè)I/O CVDD圖4-2 DS18B20的部結(jié)構(gòu)圖4-3 DS18B20的管腳排列表4-3 DS18B20引腳定義:序號(hào)名稱引腳功能描述1GND地信號(hào)2DQ數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。3VDD可選擇的VDD引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。(1) 64位ROM ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼,每個(gè)DS18B20的64位序列號(hào)均不一樣。64位ROM的循環(huán)冗余校驗(yàn)碼(CRC=X8X5X41)。ROM的作
31、用是使每一個(gè)DS18B20都各不一樣,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。 DS18B20中的溫度傳感器完成對(duì)溫度的測(cè)量,用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625/LSB形式表達(dá),其中S為符號(hào)位。DS18B20溫度值格式表4-4如下所示。這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在DS18B20的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號(hào)位,如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。例如25.0625的數(shù)字輸出為0191H,25.06
32、25的數(shù)字輸出為FF6FH。 表4-4 DS18B20溫度值格式表 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0LS Byte22222222 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 MS ByteSSSSS222(2)高低溫報(bào)警觸發(fā)器TH和TLDS18B20溫度傳感器的部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。 (3)配置寄存器 該字節(jié)各位的意義如下表4-5所示。表4-5:配置寄存器結(jié)構(gòu)TMR1R011111低五位一直都是“1”
33、,TM是測(cè)試模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式。在DS18B20出廠時(shí)該位被設(shè)置為0,用戶不要去改動(dòng)。R1和R0用來設(shè)置分辨率,如下表4-6所示(DS18B20出廠時(shí)被設(shè)置為12位)。(4)高速暫存器是一個(gè)9字節(jié)的存儲(chǔ)器。開始兩個(gè)字節(jié)包含被測(cè)溫度的數(shù)字量信息;第3、4、5字節(jié)分別是TH、TL、配置寄存器的臨時(shí)拷貝,每一次上電復(fù)位時(shí)被刷新;第6、7、8字節(jié)未用,表現(xiàn)為全邏輯1;第9字節(jié)讀出的是前面所有8個(gè)字節(jié)的CRC碼,可用來保證通信正確。高速暫存器RAM結(jié)構(gòu)圖如下表4-7所示。表4-6: 溫度分辨率設(shè)置表R1R0分辨率溫度最大轉(zhuǎn)換時(shí)間009位93.75ms 0110位187
34、.5ms 1011位375ms 1112位750ms §2.2.3 DS18B20的工作時(shí)序DS18B20的一線工作協(xié)議流程是:初始化ROM操作指令存儲(chǔ)器操作指令數(shù)據(jù)傳輸。其工作時(shí)序包括初始化時(shí)序、寫時(shí)序和讀時(shí)序,如圖4-4 (a)(b)(c)所示。表4-7: DS18B20暫存寄存器分布寄存器容 字節(jié)地址溫度值低位 (LS Byte)0溫度值高位 (MS Byte)1高溫限值(TH)2低溫限值(TL)3配置寄存器4保留5保留6保留7CRC校驗(yàn)值8 DS18B20等待 DS18B20Tx產(chǎn)生 15us16us 脈沖60-240主機(jī)復(fù)位脈沖 VCC 480us<TX<960
35、us 主機(jī)Rx min480us 1-Wire Bus GND圖4-4 (a)初始化時(shí)序主機(jī)控制DS18B20完成任何操作之前必須先初始化,即主機(jī)發(fā)一復(fù)位脈沖(最短為480us的低電平),接著主機(jī)釋放總線進(jìn)入接收狀態(tài),DS18B20在檢測(cè)到I/O引腳上的上升沿之后,等待15-60us然后發(fā)出存在脈沖(60-240us的低電平)。 寫時(shí)間片:將數(shù)據(jù)從高電平拉至低電平,產(chǎn)生寫起始信號(hào)。在15us之將所需寫的位送到數(shù)據(jù)線上,在15us到60us之間對(duì)數(shù)據(jù)線進(jìn)行采樣,如果采樣為高電平,就寫1,如果為低電平,寫0就發(fā)生。在開始另一個(gè)寫周期前必須有1us以上的高電平恢復(fù)期。讀時(shí)間片:主機(jī)將數(shù)據(jù)線從高電平拉
36、至低電平1us以上,再使數(shù)據(jù)線升為高電平,從而產(chǎn)生讀起始信號(hào)。主機(jī)在讀時(shí)間片下降沿之后15us完成讀位。每個(gè)讀周期最短的持續(xù)期為60us,各個(gè)讀周期之間也必須有1us以上的高電平恢復(fù)期。主機(jī)寫“0”時(shí)隙 主機(jī)寫“1”時(shí)隙 VCC 60us<TX<120us1us<txcc<1-Wire Bus GND DS18B20采樣 >1us DS18B20采樣 15us MIN TYP MAX MIN TYP MAX 15us 30us 15us 15us 30us圖4-4(b)寫時(shí)序VCC 主機(jī)讀“0”時(shí)隙 主機(jī)讀“1”時(shí)隙1-Wire Bus GND 主機(jī)采樣 1us1
37、5us 15us 30us 主機(jī)采樣 15us圖4-4(c)讀時(shí)序§2.2.4 DS18B20與單片機(jī)的典型接口設(shè)計(jì)圖4-5以MCS51系列單片機(jī)為例,畫出了DS18B20與微處理器的典型連接。圖4-5(a)中DS18B20采用寄生電源方式,其VDD和GND端均接地,圖4-5(b)中DS18B20采用外接電源方式,其VDD端用3V5.5V電源供電。(a) 寄生電源工作方式 (b) 外接電源工作方式圖4-5 電源工作方式圖§2.2.5 DS18B20的各個(gè)ROM命令(1) Read ROM 33H這個(gè)命令允許總線控制器讀到DS18B20的8位系列編碼,惟一的序列號(hào)的8位CRC
38、碼。只有在總線上存在單只DS18B20的時(shí)候才能用這個(gè)命令。如果總線上有不止一個(gè)從機(jī),當(dāng)所有從機(jī)試圖同時(shí)傳送信號(hào)時(shí)就會(huì)發(fā)生數(shù)據(jù)沖突(漏極開路連在一起形成“與”的效果)。(2)Match ROM 55H這是個(gè)匹配ROM命令,后跟64位ROM序列,讓總線控制器在多點(diǎn)總線上定位一只特定的DS18B20。只有和64位ROM序列完全匹配的DS18B20才能響應(yīng)隨后的存儲(chǔ)器操作。所有和64位ROM序列不匹配的從機(jī)都將等待復(fù)位脈沖。這條命令在總線上有單個(gè)或多個(gè)器件時(shí)都可以使用。(3) Skip ROM 0CCH 這個(gè)命令允許總線控制器不用提供64位ROM編碼就使用存儲(chǔ)器操作命令,在單點(diǎn)總線情況下,可以節(jié)省時(shí)
39、間。如果總線上不止一個(gè)從機(jī),在命令之后緊跟著發(fā)一條讀命令,由于多個(gè)從機(jī)同時(shí)傳信號(hào)??偩€上發(fā)生數(shù)據(jù)沖突(漏極開路連在一起形成“與”的效果)。(4) Search ROM 0F0H當(dāng)一個(gè)系統(tǒng)初次啟動(dòng)時(shí),總線控制器并不知道單線總線上有多少個(gè)器件或它們的64位ROM編碼。搜索ROM命令允許總線控制器用排除法識(shí)別總線上的所有從機(jī)的64位編碼。(5) Alarm Search 0ECH 這條命令的流程和Search ROM一樣。然而,只有在最近一次測(cè)溫后遇到符合報(bào)警條件的情況,DS18B20才會(huì)響應(yīng)這條命令。報(bào)警條件定義為溫度高于TH或低于TL。只要DS18B20不掉電,報(bào)警狀態(tài)將一直保持,直到再一次測(cè)得
40、的溫度值達(dá)不到報(bào)警條件。(6) Write Scratchpad4EH這個(gè)命令向DS18B20的暫存器TH和TL中寫入數(shù)據(jù)。可以在任何時(shí)刻發(fā)出復(fù)位命令來中止寫入。(7) Read Scratchpad0BEH 這個(gè)命令讀取暫存器的容。讀取將從第1字節(jié)開始,一直進(jìn)行下去,直到第9(CRC)字節(jié)讀完。如果不想讀完所有字節(jié),控制器可以在任何時(shí)刻發(fā)出復(fù)位命令來中止讀取。(8) Copy Scratchpad48H這個(gè)命令把暫存器的容拷貝到DS18B20的EROM存儲(chǔ)器里,即把溫度報(bào)警觸發(fā)器字節(jié)存入非易失性存儲(chǔ)器里。如果控制器在這條命令之后跟著發(fā)出讀時(shí)間隙,而DS18B20又忙于把暫存器拷貝到E存儲(chǔ)器,
41、DS18B20就會(huì)輸出一個(gè)0,如果拷貝結(jié)束的話,DS18B20輸出1。如果使用寄生電源,總線控制器必須在這條命令后立即啟動(dòng)強(qiáng)上拉,并最少保持10ms。(9) Convert T44H 這個(gè)命令啟動(dòng)一次溫度轉(zhuǎn)換而無需其他數(shù)據(jù)。溫度轉(zhuǎn)換命令被執(zhí)行,而后DS18B20保持等待狀態(tài)。如果控制器在這條命令之后跟著發(fā)出時(shí)間隙,而DS18B20有忙于做時(shí)間轉(zhuǎn)換的話,DS18B20將在總線上輸出一個(gè)0,若溫度轉(zhuǎn)換完,則輸出1。如果使用寄生電源,總線控制器必須在發(fā)出這條命令后立即啟動(dòng)強(qiáng)上拉,并最少保持500ms以上時(shí)間。(10) Read E0B8H這條命令把 觸發(fā)器里的值拷貝回暫存器。這種拷貝操作在DS18B
42、20上電時(shí)自動(dòng)執(zhí)行,這樣一上電暫存器里馬上存在有效的數(shù)據(jù)了。若在這條命令之后發(fā)出讀數(shù)據(jù)隙,器件會(huì)輸出溫度轉(zhuǎn)換忙的標(biāo)識(shí):0為忙,1為完成。(11) Read Power Supply0B4H若把這條命令發(fā)給DS18B20后發(fā)出讀時(shí)間隙,器件會(huì)返回它的電源模式:0為寄生電源,1為外部電源。第3章 系統(tǒng)硬件電路的設(shè)計(jì)§3.1 主控制電路和測(cè)溫控制電路原理圖主控制電路由AT89C52與外圍元件構(gòu)成,測(cè)溫電路由DS18B20、預(yù)置數(shù)電路和報(bào)警電路組成。AT89C52是此硬件電路設(shè)計(jì)的核心,通過AT89C52的管腳P3.7與DS18B20相連,控制溫度的讀出和顯示。預(yù)置數(shù)電路由兩個(gè)按鍵和兩個(gè)數(shù)碼
43、管組成,兩個(gè)按鍵分別與AT89C52的管腳P3.2和P3.6相連。報(bào)警電路很簡單,只有一個(gè)發(fā)光二極管,與AT89C52的P3.0管腳相連,若實(shí)際測(cè)量的溫度值大于預(yù)置溫度值,則發(fā)光二極管亮,即為報(bào)警標(biāo)志。硬件電路的功能都是與軟件編程相結(jié)合而實(shí)現(xiàn)的。具體電路原理圖如下圖2-1所示。圖2-1主控制電路和測(cè)溫控制電路原理圖§3.2 驅(qū)動(dòng)電路模塊原理圖驅(qū)動(dòng)電路由ULN2803A組成,通過網(wǎng)絡(luò)標(biāo)號(hào)P20-P27與單片機(jī)相連,通過網(wǎng)絡(luò)標(biāo)號(hào)C0-C7與顯示電路數(shù)碼管相連,實(shí)現(xiàn)位控制功能。具體電路如下圖2-2所示。圖2-2 驅(qū)動(dòng)電路原理圖圖2-3 顯示電路原理圖§3.3 顯示模塊原理圖采用動(dòng)
44、態(tài)顯示方案,設(shè)計(jì)中使用八個(gè)共陰極數(shù)碼管作為顯示載體,通過八路并口傳輸,共使用了十六個(gè)I/O口。顯示時(shí)采用循環(huán)移位法,即八位數(shù)碼管依次循環(huán)點(diǎn)亮,利用人眼睛的視覺暫留效果達(dá)到連續(xù)顯示,主程序每運(yùn)行一遍便調(diào)用一次顯示子程序,將數(shù)據(jù)顯示出來。顯示電路由八位共陰極的數(shù)碼管組成,通過網(wǎng)絡(luò)標(biāo)號(hào)A、B、C、D、E、F、G、DP等與AT89C52的P1口相連,由八個(gè)136歐的電阻驅(qū)動(dòng),實(shí)現(xiàn)段控制功能。通過網(wǎng)絡(luò)標(biāo)號(hào)C0-C7與驅(qū)動(dòng)芯片ULN2803A相連,以此為橋梁與AT89C52相連,實(shí)現(xiàn)位控制功能。具體電路原理圖,如圖2-3所示。第4章 軟件編程調(diào)試與性能分析§4.1 主程序流程圖開始調(diào)復(fù)位子程序發(fā)
45、SKIP ROM命令CCH調(diào)WRITE DS18B20子程序發(fā)出溫度轉(zhuǎn)換命令調(diào)WRITE DS18B20子程序調(diào)復(fù)位子程序 調(diào)READ DS18B20子程序調(diào)WRITE DS18B20子程序發(fā)命令BEH讀暫存器內(nèi)容調(diào)WRITE DS18B20子程序發(fā)SKIP ROM命令CCH 對(duì)讀出的溫度值進(jìn)行轉(zhuǎn)換轉(zhuǎn)換后的數(shù)存于緩沖區(qū)調(diào)用比較報(bào)警子程序調(diào)顯示子程序調(diào)按鍵子程序圖3-1 主程序流程圖§4.2 主程序 ORG 0000HLJMP STARTSTART:MOV DISBUF4,#00H ;開始,初始化MOV DISBUF5, #00HMAIN: ;主程序 LCAAL KEY ;調(diào)按鍵預(yù)置數(shù)
46、子程序CLR RS1CLR RS0LCALL RESET ;調(diào)復(fù)位子程序MOV A,#0CCH ;跳過ROM匹配-0CCHLCALL WRITE ;調(diào)DS18B20寫子程序MOV A,#44H ;發(fā)出溫度轉(zhuǎn)換命令LCALL WRITE ;調(diào)DS18B20寫子程序LCALL RESET ;調(diào)復(fù)位子程序MOV A,#0CCH ;跳過ROM匹配LCALL WRITE ;調(diào)DS18B20寫子程序MOV A,#0BEH ;發(fā)出讀取溫度值命令LCALL WRITE ;調(diào)DS18B20寫子程序LCALL READ ;調(diào)DS18B20讀子程序MOV A, 3DHMOV 29H,ALCALL READMOV A
47、, 3DHMOV 28H,AMOV R0, #34HMOV A, 28HRLC AMOV 47H,C JNB 47H, BTOD1 ;28H中的最高位是否為1(溫度<0);小于0的溫度值不處理,大于0順序執(zhí)行BTOD1:MOV A,28HRRC AMOV 40H,CRRC AMOV 41H,CRRC AMOV 42H,CRRC AMOV 43H,CMOV A, 29H MOV 27H, AMOV C,40H ;將28H中的最低位移入C,40H41H42H;43H為28H中的位地址RRC A ;將28H中的低4位移到A的高4位MOV C,41HRRC AMOV C,42HRRC AMOV
48、C,43HRRC AMOV 29H,A ;將28H中的低4位放入29H中MOV A, 29H ;將29H中的十六進(jìn)制數(shù)轉(zhuǎn)換成10進(jìn)制 MOV B, #100 DIV AB MOV R0, A ;百位存于34HMOV R0, #11H ;百位不顯示DEC R0MOV A, #10XCH A, BDIV ABMOV R0, A ;十位存于33H DEC R0 MOV R0, B ;個(gè)位存于32HDEC R0ANL 27H, #0FH ;小數(shù)點(diǎn)后一位進(jìn)制轉(zhuǎn)換MOV A, 27HMOV B, #06H MUL ABMOV B, #10DIV ABMOV R0, A ;小數(shù)點(diǎn)后一位存于31HMOV DI
49、SBUF0,33H ;十位MOV DISBUF1,32H ;個(gè)位MOV DISBUF2,31H ;小數(shù)位MOV DISBUF3, #0H ;置0MOV DISBUF6,#0HMOV DISBUF7,#0HLCALL CMP ;調(diào)比較報(bào)警子程序LCALL DISPLAY ;調(diào)用顯示子程序LJMP MAIN ;轉(zhuǎn)到MAIN§4.3 溫度子程序由于DS18B20單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì)DS18B20的各種操作都是按時(shí)序進(jìn)行的。DS18B20的一線工作協(xié)議流程是:初始化ROM操作指令存儲(chǔ)器操作指令數(shù)據(jù)傳輸。§4.3.1 DS18B20
50、復(fù)位子程序開始拉低數(shù)據(jù)線P3.7=0 發(fā)600us復(fù)位脈沖 P3.7送給CY 延時(shí)500usDS18B20等待60us 主機(jī)釋放數(shù)據(jù)線P3.7=1DS18B20的P3.7=1?延時(shí)1us以上返回DS18B20的P3.7=1?延時(shí)240usDS18B20復(fù)位時(shí)序圖參看后面芯片功能部分有詳細(xì)的介紹。在這一部分只給出程序流程圖,然后給出根據(jù)流程圖所編寫的DS18B20復(fù)位子程序。 N Y Y N圖3-2 DS18B20復(fù)位子程序流程圖程序如下:RESET:NOPL0: CLR P3.7 ;拉低數(shù)據(jù)線MOV R2,#200 ;發(fā)出600us的復(fù)位脈沖L1:NOPDJNZ R2,L1SETB P3.7
51、;主機(jī)釋放數(shù)據(jù)線MOV R2,#30 ;DS18B20等待60usL4:DJNZ R2,L4CLR C ORL C,P3.7 ;DS18B20數(shù)據(jù)變低(存在脈沖)嗎?JC L3 ;DS18B20準(zhǔn)備好,結(jié)束MOV R6,#80 L5:ORL C,P3.7JC L3 ;DS18B20數(shù)據(jù)變高,初始化成功DJNZ R6,L5 ;數(shù)據(jù)線低電平可持續(xù)3us*80=240usSJMP L0 ;初始化失敗,重新初始化L3:MOV R2,#250L2: DJNZ R2,L2 ;DS18B20應(yīng)答500usRET§4.3.2 讀DS18B20子程序READ: MOV R6,#8 ;循環(huán)8次,讀一個(gè)字節(jié)RE1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 吉林省八年級(jí)數(shù)學(xué)下冊(cè)19矩形菱形與正方形19.1矩形19.1.1矩形的性質(zhì)聽評(píng)課記錄1新版華東師大版
- 小學(xué)二年級(jí)數(shù)學(xué)口算競(jìng)賽試題
- 人教版地理七年級(jí)上冊(cè)《3.3降水的變化與分布》聽課評(píng)課記錄
- 北師大版歷史八年級(jí)下冊(cè)第14課《各民族的團(tuán)結(jié)與發(fā)展》聽課評(píng)課記錄
- 小學(xué)六年級(jí)數(shù)學(xué)下冊(cè)《面積的變化》聽評(píng)課記錄
- 人教版七年級(jí)道德與法治七年級(jí)上冊(cè)聽課評(píng)課記錄:第一單元成長的節(jié)拍第三課 發(fā)現(xiàn)自己第一課時(shí)認(rèn)識(shí)自己
- 公司員工廉潔自律協(xié)議書范本
- 二零二五年度汽車修理廠汽車美容與維修一體化服務(wù)合同
- 二零二五年度網(wǎng)絡(luò)劇導(dǎo)演專項(xiàng)聘用合同
- 二零二五年度肉類產(chǎn)品食品安全監(jiān)管合同協(xié)議
- 新課標(biāo)人教版小學(xué)數(shù)學(xué)六年級(jí)下冊(cè)集體備課教學(xué)案全冊(cè)表格式
- 校園保潔培訓(xùn)課件
- 風(fēng)電處理軟件WT操作手冊(cè)
- 輕鋼結(jié)構(gòu)廠房安裝合同范本
- 道路工程監(jiān)理投標(biāo)方案
- 護(hù)士長工作質(zhì)量督查記錄表
- 申克篩子(型號(hào)及參數(shù))
- 確定項(xiàng)目干系人(表格)
- 渠道管理就這樣做
- 大客戶銷售這樣說這樣做
- 直流屏操作票
評(píng)論
0/150
提交評(píng)論