版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 編號(hào) 20141035103 </p><p><b> 本科生畢業(yè)設(shè)計(jì)</b></p><p> 基于單片機(jī)AT89C51數(shù)字溫度計(jì)的設(shè)計(jì)</p><p> Design of Digital Thermometer</p><p> Based on AT89C51 Single Chi
2、p Microcomputer</p><p><b> 2014年6月</b></p><p><b> 摘 要</b></p><p> 隨著科技的不斷發(fā)展,現(xiàn)代社會(huì)對(duì)各種信息參數(shù)的精確度和準(zhǔn)確度的要求都有了很大的增長(zhǎng),而如何準(zhǔn)確和迅速的獲得這些參數(shù)就需要受制于現(xiàn)代信息技術(shù)的發(fā)展水平。</p>
3、<p> 目前的智能溫度傳感器(亦稱為數(shù)字溫度傳感器)是在20世紀(jì)90年代問世的,是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測(cè)試技術(shù)(ATE)的結(jié)合。它的特點(diǎn)是能輸出溫度數(shù)據(jù)和相關(guān)的溫度控制量,適合各種微控制器(MCU)。社會(huì)的發(fā)展使得人們對(duì)傳感器的要求也越來越高,現(xiàn)在的溫度傳感器正在基于單片機(jī)的基礎(chǔ)之上從模擬到數(shù)字式,從集成化到智能化、網(wǎng)絡(luò)化的發(fā)展,并且朝著多功能。高精度、總線標(biāo)準(zhǔn)化、高安全性和可靠性、開發(fā)網(wǎng)絡(luò)傳感器和虛擬傳感器、研
4、制單片測(cè)溫系統(tǒng)等高科技的方向迅速發(fā)展。本文將介紹智能集成溫度傳感器DS18B20的結(jié)構(gòu)特征和控制方法,并對(duì)以此傳感器,89C51單片機(jī)為控制器構(gòu)成的數(shù)字溫度計(jì)測(cè)量裝置的工作原理和程序設(shè)計(jì)做了詳細(xì)的介紹。和傳統(tǒng)的溫度計(jì)相比它具有測(cè)量廣泛,讀數(shù)方便,測(cè)溫準(zhǔn)確,輸出溫度采用數(shù)字顯示,主要用于對(duì)測(cè)溫要求比較準(zhǔn)確的場(chǎng)所,或者是科研實(shí)驗(yàn)室使用。該設(shè)計(jì)控制器使用ATMEL公司的AT89S51單片機(jī),測(cè)溫傳感器使用DALLAS公司的DS18B20,用液
5、晶顯示器來實(shí)現(xiàn)溫度顯示。</p><p> 關(guān)鍵詞:18B20 單片機(jī) LED</p><p><b> ABSTRACT</b></p><p> With the development of science and technology, precision and accuracy of modern society on v
6、arious parameters of information requirements, there has been a lot of growth, and how accurate and fast access to these parameters will need to be subject to the level of development of modern information technology.<
7、;/p><p> Current smart temperature sensor (also referred to as digital temperature sensor) is launched in in the 1990 of the 20th century, is micro-electronics technology, computer technology and automated tes
8、ting technologies (ATE) combination. It features the output temperature data and related temperature control, suitable for various microcontroller (MCU). Society tends to make people's requirements have become more s
9、ophisticated about sensors, temperature sensors are now based on single-chip industr</p><p> Keywords: 18B20 Single-chip microcomputer LED </p><p><b> 目 錄</b></p><
10、p> 第1章 前 言1</p><p> 第2章 數(shù)字溫度計(jì)總體設(shè)計(jì)方案2</p><p> 2.1數(shù)字溫度計(jì)設(shè)計(jì)方案2</p><p> 2.2總體設(shè)計(jì)框圖2</p><p> 第3章 數(shù)字溫度計(jì)硬件設(shè)計(jì)3</p><p> 3.1主控制器AT89C513</p>
11、<p> 3.1.1 AT89C51的特點(diǎn)及特性:3</p><p> 3.1.2管腳功能說明:3</p><p> 3.1.3片內(nèi)振蕩器:5</p><p> 3.1.4芯片擦除:6</p><p> 3.2單片機(jī)主板電路7</p><p> 3.3溫度采集部分的設(shè)計(jì)7</p&
12、gt;<p> 3.3.1溫度傳感器DS18B207</p><p> 3.4顯示部分電路設(shè)計(jì)12</p><p> 3.4.1 74LS164引腳功能及特性13</p><p> 3.4.2溫度顯示電路13</p><p> 3.5 報(bào)警系統(tǒng)電路14</p><p> 第4章 數(shù)
13、字溫度計(jì)的軟件設(shè)計(jì)16</p><p> 4.1系統(tǒng)軟件設(shè)計(jì)的流程圖16</p><p> 4.2 數(shù)字溫度計(jì)部分程序清單18</p><p><b> 結(jié) 論24</b></p><p><b> 致 謝25</b></p><p><b
14、> 參考文獻(xiàn)26</b></p><p><b> 第1章 前 言</b></p><p> 隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活,工作,科研,各個(gè)領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù),本文將介紹一種基于單片機(jī)控制的數(shù)字溫度計(jì),本溫度計(jì)屬于多功能溫度計(jì),可以設(shè)置上下報(bào)警溫度,當(dāng)溫度不在設(shè)置范圍內(nèi)時(shí),可以報(bào)警。</p>
15、<p> 現(xiàn)代信息技術(shù)的飛速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實(shí)現(xiàn)。能夠獨(dú)立工作的溫度檢測(cè)和顯示系統(tǒng)應(yīng)用于諸多領(lǐng)域。傳統(tǒng)的溫度檢測(cè)以熱敏電阻為溫度敏感元件。熱敏電阻的成本低,但需后續(xù)信號(hào)處理電路,而且可靠性相對(duì)較差,測(cè)溫準(zhǔn)確度低,檢測(cè)系統(tǒng)也有一定的誤差,所以傳統(tǒng)的溫度計(jì)有反應(yīng)速度慢、讀數(shù)麻煩、測(cè)量精度不高、誤差大等缺點(diǎn)。</p><p> 本設(shè)計(jì)是測(cè)溫電路,首先要選用高性能的AT89C51單片機(jī),保證在惡
16、劣的工業(yè)環(huán)境下能正常運(yùn)行。單片機(jī)AT89C51具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)要求,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用系統(tǒng)可用二節(jié)電池供電。測(cè)溫傳感器使用二極管結(jié)電壓變化的數(shù)值進(jìn)而轉(zhuǎn)化成溫度的變化,將被測(cè)量溫度變化的電壓或電流采集過來,進(jìn)行A/D轉(zhuǎn)換后,就可用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上就可將被測(cè)溫度顯示出來。這種設(shè)計(jì)電路簡(jiǎn)單,軟件設(shè)計(jì)業(yè)比較簡(jiǎn)單。在單片機(jī)設(shè)計(jì)電路中大多都是使用傳感器,這很容易做
17、到,所以用一只溫度傳感器DS18B20,它可以很容易直接讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換,這樣可以滿足設(shè)計(jì)條件【1】。</p><p> 數(shù)字式溫度計(jì)的設(shè)計(jì)將給人們的生活帶來很大的方便,為人們生活水平的提高做出了貢獻(xiàn)。數(shù)字溫度計(jì)在以后將應(yīng)用于我們生產(chǎn)和生活的各個(gè)方面,數(shù)字式溫度計(jì)的眾多優(yōu)點(diǎn)告訴我們:數(shù)字溫度計(jì)將在我們的未來生活中應(yīng)用于各個(gè)領(lǐng)域,它將會(huì)是傳統(tǒng)溫度計(jì)的理想的替代產(chǎn)品。</p><p>
18、; 第2章 數(shù)字溫度計(jì)總體設(shè)計(jì)方案</p><p> 2.1數(shù)字溫度計(jì)設(shè)計(jì)方案</p><p><b> 方案 一:</b></p><p> 采用熱敏電阻器件,利用其感溫效應(yīng),再將隨被測(cè)溫度變化的電壓或電流采集過來,進(jìn)行A/D轉(zhuǎn)換后,利用單片機(jī)進(jìn)行數(shù)據(jù)的處理,然后在顯示電路上,將被測(cè)溫度顯示出來。</p><p&
19、gt;<b> 方案 二:</b></p><p> 利用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換就可以滿足設(shè)計(jì)要求。</p><p> 分析上述兩種方案可以看出方案一是使用熱敏電阻之類的器件利用其感溫效應(yīng),進(jìn)行A/D轉(zhuǎn)換后,利用單片機(jī)進(jìn)
20、行數(shù)據(jù)的處理,在顯示電路上被測(cè)溫度顯示出來,這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。方案二是利用溫度傳感器直接讀取被測(cè)溫度,讀數(shù)方便,測(cè)溫范圍廣,測(cè)溫精確,適用范圍寬而且電路簡(jiǎn)單易于實(shí)現(xiàn)【2】。</p><p> 綜合方案一和方案二的優(yōu)缺點(diǎn),我們選擇方案二。</p><p><b> 2.2總體設(shè)計(jì)框圖</b></p><p>
21、 溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)方框圖如圖2-1所示,控制器采用單片機(jī)AT89C51,溫度傳感器采用DS18B20,用4位LED數(shù)碼管以串口傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示。</p><p> 圖2-1 總體設(shè)計(jì)方框圖</p><p> 第3章 數(shù)字溫度計(jì)硬件設(shè)計(jì)</p><p> 3.1主控制器AT89C51</p><p> 3.1.1 AT89C
22、51的特點(diǎn)及特性:</p><p> 40個(gè)引腳,4K Bytes FLASH片內(nèi)程序存儲(chǔ)器,128 Bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。</p><p> 此外,AT89C51在空閑模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)
23、器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求【3】。</p><p><b> 主要功能特性: </b></p><p> 兼容MCS-51指令系統(tǒng) </p><p> 4k可反復(fù)擦寫(&
24、gt;1000次)ISP FLASH ROM </p><p> 32個(gè)雙向I/O口 </p><p> 4.5-5.5V工作電壓</p><p> 2個(gè)16位可編程定時(shí)/計(jì)數(shù)器 </p><p> 時(shí)鐘頻率0-33MHZ</p><p> 全雙工UART串行中斷口
25、線 </p><p> 128X8 BIT內(nèi)部RAM</p><p> 2個(gè)外部中斷源 </p><p> 低功耗空閑和省電模式</p><p> 中斷喚醒省電模式 </p><p><b> 3級(jí)加密位</b&
26、gt;</p><p> 看門狗(WDT)電路 </p><p> 軟件設(shè)置空閑和省電功能</p><p> 靈活的ISP字節(jié)和分頁編程 </p><p><b> 雙數(shù)據(jù)寄存器指針</b></p><p> 3.1.2管腳功能說明:</p
27、><p> AT89C51管腳如圖3-1所示:</p><p> 圖3-1 AT89C51管腳圖</p><p> (1)VCC:供電電壓。</p><p> ?。?)GND:接地。</p><p> ?。?)P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定
28、義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p> (4)P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣
29、故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。</p><p> ?。?)P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“
30、1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)【4】。</p><p> ?。?)P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3
31、口也可作為AT89C51的一些特殊功能口,如下所示:</p><p> P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口)</p><p> P3.2 /INT0(外部中斷0)</p><p> P3.3 /INT1(外部中斷1)</p><p> P3.4 T0(記時(shí)器0外部輸
32、入)</p><p> P3.5 T1(記時(shí)器1外部輸入)</p><p> P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)</p><p> P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)</p><p> P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p> ?。?)RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),
33、要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p> ?。?)ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8E
34、H地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效【5】。</p><p> ?。?)/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。</p><p> (10)/EA/VPP:當(dāng)
35、/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> (11)XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p> ?。?2)XTAL2:來自反向
36、振蕩器的輸出【6】。</p><p> 3.1.3片內(nèi)振蕩器:</p><p> 該反向放大器可以配置為片內(nèi)振蕩器,如圖3-2所示。</p><p> 圖3-2 片內(nèi)振蕩器</p><p> 3.1.4芯片擦除:</p><p> 整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號(hào)組合,并保持AL
37、E管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。</p><p> 此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM、定時(shí)器、計(jì)數(shù)器、串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。單
38、片機(jī)AT89C51具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用系統(tǒng)可用二節(jié)電池供電。</p><p> 單片機(jī)AT89C51具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用系統(tǒng)可用二節(jié)電池供電。</p><p> AT89C2051構(gòu)成的溫度計(jì)主要有三部分組成:D
39、S18B20溫度傳感器、單片機(jī)AT89C2051、由LED數(shù)碼管構(gòu)成的顯示模塊。其系統(tǒng)原理框圖如圖。DS18B20作為單片機(jī)AT89C2051的外部信號(hào)源,把所采集到的溫度轉(zhuǎn)換為數(shù)字信號(hào),通過I/O接口傳給51單片機(jī),51單片機(jī)啟動(dòng)ROM內(nèi)的控制程序驅(qū)動(dòng)LED數(shù)碼管,通過I/O接口的數(shù)據(jù)線(單片機(jī)和數(shù)碼管的接口)把數(shù)據(jù)線傳送給數(shù)碼管,將采集到的溫度顯示出來。</p><p> DS18B20的特點(diǎn):</p
40、><p> 它是采用單總線專用技術(shù),既可以通過串行口西岸,又可以通過其他I/O口線和微機(jī)接口,不需要經(jīng)過其他的轉(zhuǎn)換電路,直接就可以輸出被測(cè)溫度值。測(cè)量溫度范圍是:-55~+125,分辨率為0.0625,它內(nèi)含64位經(jīng)過激光修正的只讀存儲(chǔ)器ROM,適合各種單片機(jī)和系統(tǒng)機(jī),用戶可以分別設(shè)定溫度的上.下限,它內(nèi)含寄生電源。它的內(nèi)部結(jié)構(gòu)重要由4部分組成:64位光刻ROM,溫度傳感器,非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL,高速暫
41、存器。</p><p> 在硬件上,它和單片機(jī)的鏈接有兩種方式。一種是VCC接外部電源,GND接地,I/O和單片機(jī)的I/O線相連;第二種是用寄生電源供電,此時(shí)UDD.GND接地,I/O接地,I/O接單片機(jī)的I/O。不論是內(nèi)部寄生電源還是外部寄生電源供電,I/O口線都要接5K歐左右的上拉電阻。</p><p> 把它的數(shù)據(jù)線與單片機(jī)的13管腳鏈接。</p><p>
42、; CPU對(duì)它的訪問流程:先對(duì)DS18B20初始化,再進(jìn)行ROM操作命令,最后才能對(duì)存儲(chǔ)器操作和數(shù)據(jù)操作。它的每一步操作都要遵循嚴(yán)格的工作時(shí)序和通信協(xié)議。 </p><p> 3.2單片機(jī)主板電路</p><p> 單片機(jī)AT89C51是數(shù)字溫度計(jì)的核心元件,單片機(jī)的主板電路如圖3-3所示,包括單片機(jī)芯片、報(bào)警系統(tǒng)電路、晶振電路
43、、上拉電阻以及與單片機(jī)相連的其他電路。</p><p> 圖3-3 單片機(jī)的主板電路</p><p> 3.3溫度采集部分的設(shè)計(jì)</p><p> 3.3.1溫度傳感器DS18B20</p><p> DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出
44、被測(cè)溫度,并且可根據(jù)實(shí)際要求通過簡(jiǎn)單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式【7】。 </p><p> TO-92封裝的DS18B20的引腳排列見圖3-4,其引腳功能描述見表3-1。</p><p> 表3-1 DS18B20詳細(xì)引腳功能描述</p><p> 圖3-4 DS18B20引腳排列</p><p> DS18B20的性能特
45、點(diǎn)如下:</p><p> ●獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信;</p><p> ●多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;</p><p><b> ●無須外部器件;</b></p><p> ●可通過數(shù)據(jù)線供電,電壓范圍為3.0~5.5V;</p><p>
46、;<b> ●零待機(jī)功耗;</b></p><p> ●溫度以9或12位數(shù)字;</p><p> ●用戶可定義報(bào)警設(shè)置;</p><p> ●報(bào)警搜索命令識(shí)別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件;</p><p> ●負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作; </p&g
47、t;<p> DS18B20采用3腳PR-35封裝或8腳SOIC封裝【8】,其內(nèi)部結(jié)構(gòu)框圖如圖3-5所示。</p><p><b> 圖</b></p><p> 圖3-5 DS18B20內(nèi)部結(jié)構(gòu)</p><p> 64位ROM的結(jié)構(gòu)開始8位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有48位,最后8位是前面56位
48、的CRC檢驗(yàn)碼,這也是多個(gè)DS18B20可以采用一線進(jìn)行通信的原因。溫度報(bào)警觸發(fā)器TH和TL,可通過軟件寫入戶報(bào)警上下限【9】。</p><p> DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖3-6所示。頭8個(gè)字節(jié)包含測(cè)得的溫度信息,第8和第8字節(jié)TH和TL的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第8個(gè)字節(jié),為配
49、置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖3-6所示。低8位一直為1,TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式,DS18B20出廠時(shí)該位被設(shè)置為8,用戶要去改動(dòng),R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率【10】。</p><p> DS18B20最大的特點(diǎn)是單總線數(shù)據(jù)傳送方式,DS18B20的
50、數(shù)據(jù)I/O均由同一條線來完成。DS18B20的電源供電方式有兩種:外部供電方式和寄生電源方式。工作于寄生電源方式時(shí),VDD和GND均接地,它在需要遠(yuǎn)程溫度探測(cè)和空間受限的場(chǎng)合特別有用處。原理是當(dāng)1Wire總線的信號(hào)線DQ為高電平時(shí),竊取信號(hào)能量給DS18B20供電,同時(shí)一部分能量給內(nèi)部電容充電,當(dāng)DQ為低電平時(shí)釋放能量為DS18B20供電。但是寄生電源方式需要強(qiáng)上拉電路,軟件控制變得復(fù)雜(特別是在完成溫度轉(zhuǎn)換和拷貝數(shù)據(jù)到E2PROM時(shí))
51、,同時(shí)芯片的性能也有所降低。因此,在條件允許的場(chǎng)合,盡量采用外供電方式。無論是內(nèi)部寄生電源還是外部供電,I/O口線要接5K歐左右的上拉電阻,在這采用前者方式供電。</p><p> 采集的溫度經(jīng)過處理后,超過規(guī)定溫度上限的時(shí)候,單片機(jī)將通過P1.5口向蜂鳴器發(fā)送高電平信號(hào)使其發(fā)送警報(bào)聲;當(dāng)采集到的溫度經(jīng)過處理后,低于設(shè)定溫度下線時(shí),單片機(jī)將通過P1.5口向蜂鳴器發(fā)送高電平信號(hào)使其發(fā)送警報(bào)聲。要是由于環(huán)境溫度變化
52、太劇烈或加熱,或溫度傳感頭出現(xiàn)故障,而在一定時(shí)間內(nèi),不能將溫度控制到規(guī)定的溫度限內(nèi),單片機(jī)也將會(huì)通過P1.5口向蜂鳴器發(fā)送高電平信號(hào)使其發(fā)送警報(bào)聲。在實(shí)驗(yàn)中設(shè)置的下限溫度是20攝氏度,當(dāng)溫度達(dá)到20攝氏度時(shí),蜂鳴器就將發(fā)出警報(bào)聲,實(shí)驗(yàn)中設(shè)置的上限溫度為40攝氏度,當(dāng)溫度達(dá)到所顯示的40攝氏度時(shí),蜂鳴器就會(huì)開始警報(bào)。</p><p> 報(bào)警模塊的器件選擇:在本設(shè)計(jì)中溫度測(cè)量范圍是0攝氏度到+125攝氏度之間,因此
53、只需要液晶就可以完成相關(guān)的顯示功能,報(bào)警器可以用有源蜂鳴器配合三極管來代替。</p><p> 圖3-6 DS18B20字節(jié)定義</p><p> 由表3-2可見,DS18B20溫度轉(zhuǎn)換的時(shí)間比較長(zhǎng),而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長(zhǎng)。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。</p><p> 表3-2 DS18B20溫度轉(zhuǎn)換時(shí)間表<
54、;/p><p> 高速暫存RAM的第6、7、8字節(jié)保留未用,表現(xiàn)為全邏輯1。第9字節(jié)讀出前面所有8字節(jié)的CRC碼,可用來檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。</p><p> 當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第1、2字節(jié)。單片機(jī)可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,高位在后,數(shù)據(jù)格式以0
55、.0625℃/LSB形式表示【11】。</p><p> 當(dāng)符號(hào)位S=0時(shí),表示測(cè)得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位S=1時(shí),表示測(cè)得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。表3-3是一部分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)。</p><p> DS18B20完成溫度轉(zhuǎn)換后,就把測(cè)得的溫度值與RAM中的TH、TL字節(jié)內(nèi)容作比較。若T>TH或T<
56、TL,則將該器件內(nèi)的報(bào)警標(biāo)志位置位,并對(duì)主機(jī)發(fā)出的報(bào)警搜索命令作出響應(yīng)。因此,可用多只DS18B20同時(shí)測(cè)量溫度并進(jìn)行報(bào)警搜索。</p><p> 在64位ROM的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余檢驗(yàn)碼(CRC)。主機(jī)ROM的前56位來計(jì)算CRC值,并和存入DS18B20的CRC值作比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。</p><p> DS18B20的測(cè)溫原理是這這樣的,器件中低溫
57、度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入。器件中還有一個(gè)計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來決定,每次測(cè)量前,首先將-55℃所對(duì)應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器1、溫度寄存器中,計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55℃所對(duì)應(yīng)
58、的一個(gè)基數(shù)值【12】。</p><p> 減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器計(jì)數(shù)到0時(shí),停止溫度寄存器的累加,此時(shí)溫度寄存器中的數(shù)值就是所測(cè)溫度值。其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)器門仍未關(guān)閉就重復(fù)上述過程,直到溫
59、度寄存器值大致被測(cè)溫度值。</p><p> 表3-3 一部分溫度對(duì)應(yīng)值表</p><p> 另外,由于DS18B20單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì)DS18B20的各種操作按協(xié)議進(jìn)行。操作協(xié)議為:初使化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲(chǔ)器操作命令→處理數(shù)據(jù)【12】。</p><p> 3.3.2
60、 DS18B20溫度傳感器與單片機(jī)的接口電路</p><p> DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時(shí)DS18B20的1腳接地,2腳作為信號(hào)線,3腳接電源;另一種是寄生電源供電方式,如圖3-7所示單片機(jī)端口接單線總線,為保證在有效的DS18B20時(shí)鐘周期內(nèi)提供足夠的電流,可用一個(gè)MOSFET管來完成對(duì)總線的上拉。</p><p> 圖3-7 DS18B20與
61、單片機(jī)的接口電路</p><p> 當(dāng)DS18B20處于寫存儲(chǔ)器操作和溫度A/D轉(zhuǎn)換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開啟時(shí)間最大為10us。采用寄生電源供電方式時(shí)VDD端接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對(duì)讀寫的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。DS18B20有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性【13】。</p>&l
62、t;p> 3.4顯示部分電路設(shè)計(jì)</p><p> 3.4.1 74LS164引腳功能及特性</p><p> 74LS164是一個(gè)串入并出的8位移位寄存器,他常用于單片機(jī)系統(tǒng)中,下面總結(jié)一下這個(gè)元件的基本知識(shí).如圖3-8為74LS164引腳圖, 圖3-9為74LS164內(nèi)部功能圖。</p><p> 圖3-8 74LS164引腳</p>
63、;<p> 圖3-9 74LS164內(nèi)部功能圖</p><p> ? 串行輸入帶鎖存 </p><p> ? 時(shí)鐘輸入,串行輸入帶緩沖 </p><p><b> ? 異步清除 </b></p><p> ? 最高時(shí)鐘頻率可高達(dá)36MHZ </p><p> ?
64、 功耗:10mW/bit </p><p> ? 74系列工作溫度: 0°C — 70°C </p><p> ? Vcc最高電壓:7V </p><p> ? 輸入最高電壓:7V </p><p> ? 高電平:-0.4mA. </p><p> ? 低電平:8mA.<
65、/p><p> 3.4.2溫度顯示電路</p><p> 溫度顯示電路(如圖3-10)采用4位共陽LED數(shù)碼管,從P3口RXD,TXD串口輸出段碼。顯示電路是使用的串口顯示,這種顯示最大的優(yōu)點(diǎn)就是使用口資源比較少,該顯示電路只使用單片機(jī)的3個(gè)端口:P1.7,P3.0,P3.1,并配以4片串入并出移位寄存器74LS164(LED驅(qū)動(dòng))四只數(shù)碼管采用74LS164右移寄存器驅(qū)動(dòng),顯示比較清晰【
66、14】。</p><p><b> 其工作過程如下:</b></p><p> 1.串行數(shù)據(jù)由P3.0發(fā)送,移位時(shí)鐘由P3.1送出。</p><p> 2.在移位時(shí)鐘的作用下,串行口發(fā)送緩沖器的數(shù)據(jù)一位一位地移入74LS164中。</p><p> 3.四片74LS164串級(jí)擴(kuò)展為4個(gè)8位并行輸出口,分別連接到4
67、個(gè)LED顯示器的段選端作靜態(tài)顯示【15】。</p><p> 圖3-10 溫度顯示電路</p><p> 3.5 報(bào)警系統(tǒng)電路</p><p> 在圖3-11中蜂鳴器可以在被測(cè)溫度不在上下限范圍內(nèi)時(shí),發(fā)出報(bào)警鳴叫聲音,同時(shí)LED數(shù)碼管將沒有被測(cè)溫度值顯示。圖中有三個(gè)獨(dú)立式按鍵可以分別調(diào)整溫度計(jì)的上下限報(bào)警設(shè)置,圖中蜂鳴器可以在被測(cè)溫度不在上下限范圍內(nèi)時(shí),發(fā)
68、出報(bào)警鳴叫聲音,同時(shí)LED數(shù)碼管將沒有被測(cè)溫度值顯示,這時(shí)可以調(diào)整報(bào)警上下限,從而測(cè)出被測(cè)的溫度值。圖中的按健復(fù)位電路是上電復(fù)位加手動(dòng)復(fù)位,使用比較方便,在程序跑飛時(shí),可以手動(dòng)復(fù)位,這樣就不用在重起單片機(jī)電源,就可以實(shí)現(xiàn)復(fù)位【16】。</p><p> 圖3-11 報(bào)警系統(tǒng)電路</p><p> 第4章 數(shù)字溫度計(jì)的軟件設(shè)計(jì)</p><p> 4.1系統(tǒng)軟
69、件設(shè)計(jì)的流程圖</p><p> 系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計(jì)算溫度子程序,顯示數(shù)據(jù)刷新子程序等。</p><p> 主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測(cè)量的當(dāng)前溫度值,溫度測(cè)量每1S進(jìn)行一次。這樣可以在一秒之內(nèi)測(cè)量一次被測(cè)溫度,其程序流程見圖4-1所示。</p><p> 圖4-1 主程序流程圖
70、</p><p> 溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用12位分辨率時(shí)轉(zhuǎn)換時(shí)間約為750ms,在本程序設(shè)計(jì)中采用1s顯示程序延時(shí)法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如上圖,圖4-2所示。</p><p> 圖 4-2溫度轉(zhuǎn)換流程圖</p><p> 計(jì)算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如
71、圖4-3示。</p><p> 圖4-3計(jì)算溫度流程圖</p><p> 顯示數(shù)據(jù)刷新子程序主要是對(duì)顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高顯示位為0時(shí)將符號(hào)顯示位移入下一位【17】。程序流程圖如圖4-4。</p><p> 圖4-4顯示數(shù)據(jù)刷新流程圖</p><p> 4.2 數(shù)字溫度計(jì)部分程序清單</p><
72、p><b> (1)初始化程序</b></p><p> S1OK EQU 5FH</p><p> TEMPUTER EQU 39H</p><p> TEMPH EQU 5EH</p><p> TEMPL EQU 5DH</p><p> MS50 EQ
73、U 5CH</p><p> SIGN EQU 5BH</p><p> S1 BIT P1.0</p><p> S2 BIT P1.1</p><p> S3 BIT P1.2</p><p> S4 BIT P1.3</p><p> ORG
74、0000H</p><p> LJMP MAIN</p><p> ORG 000BH</p><p> LJMP TOIT</p><p> ORG 0030H</p><p> MAIN: MOV SP, #60H</p><p> MOV TMOD,
75、#01H</p><p> MOV TH0, #3CH</p><p> MOV TL0, #0B0H</p><p><b> SETB ET0</b></p><p><b> SETB TR0</b></p><p><b> SETB
76、 EA</b></p><p> MOV TEMPH, #30</p><p> MOV TEMPL, #9</p><p> MOV TEMPUTER, #15 </p><p> MOV S1OK, #00H</p><p> MOV 38H, #0BH</p>
77、<p> MOV 37H, #0CH</p><p> MOV 36H, #0BH</p><p> ACALL DISP</p><p><b> ACALL T1S</b></p><p><b> (2)主程序</b></p><p>
78、START: JB S1, NET1</p><p> ACALL T12MS</p><p> JB S1, NET1</p><p> JNB S1, $</p><p><b> INC SIGN</b></p><p> MOV A, SIGN</p>
79、<p> CJNE A, #1, TIAO</p><p> ACALL TIAOTL</p><p> TIAO:CJNE A, #2, NET1</p><p> MOV SIGN, #0</p><p> ACALL TIAOTH</p><p> NET1: MOV A, S1OK&l
80、t;/p><p> CJNE A, #1, START</p><p> MOV A, TEMPUTER</p><p> SUBB A, TEMPH</p><p> JNB ACC.7, ALEM</p><p> MOV A, TEMPUTER</p><p>
81、SUBB A, TEMPL</p><p> JB ACC.7, ALEM</p><p> SETB P2.1</p><p> ACALL WENDU</p><p> ACALL DISP</p><p> MOV S1OK, #00H</p><p> AJ
82、MP START</p><p> ALEM: MOV 36H, #0CH</p><p> MOV 37H, #0CH</p><p> MOV 38H, #0CH</p><p> CLR P2.1</p><p> ACALL DISP</p><p><
83、b> ACALL T1S</b></p><p> LCALL WENDU</p><p> LCALL DISP</p><p> MOV S1OK, #00H</p><p> SJMP START</p><p><b> (3)溫度總子程序</b>&l
84、t;/p><p> ACALL INIT_1820</p><p> ACALL RE_CONFIG</p><p> ACALL GET_TEMPER</p><p> ACALL TEMPER_COV</p><p><b> RET</b></p><
85、;p> (4)DS18B20初始化程序</p><p> INIT_1820:</p><p><b> SETB P2.0</b></p><p><b> NOP</b></p><p><b> CLR P2.0</b></p><p&
86、gt; MOV R0,#06BH</p><p> MOV R1,#03H</p><p><b> TSR1:</b></p><p> DJNZ R0,TSR1 ; 延時(shí)</p><p> MOV R0,#6BH</p><p> DJNZ R1,TSR1</p>&
87、lt;p><b> SETB P2.0</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p> MOV R0,#25H</p>&
88、lt;p><b> TSR2:</b></p><p> JNB P2.0,TSR3</p><p> DJNZ R0,TSR2</p><p> LJMP TSR4 ; 延時(shí)</p><p><b> TSR3:</b></p><p> SETB 20H
89、.1 ; 置標(biāo)志位,表示DS1820存在</p><p><b> LJMP TSR5</b></p><p><b> TSR4:</b></p><p> CLR 20H.1 ; 清標(biāo)志位,表示DS1820不存在</p><p><b> LJMP TSR7</b>
90、;</p><p><b> TSR5:</b></p><p> MOV R0,#06BH</p><p> MOV R1,#03H</p><p> TSR6:DJNZ R0,TSR6 ; 延時(shí)</p><p> MOV R0,#6BH</p><p>
91、DJNZ R1,TSR6</p><p> TSR7:SETB P2.0</p><p><b> RET</b></p><p> (5)讀出轉(zhuǎn)換后的溫度值</p><p> GET_TEMPER:</p><p> SETB P2.0 ; 定時(shí)入口</p><p&
92、gt; LCALL INIT_1820</p><p> JB 20H.1,TSS2</p><p> RET ; 若DS18B20不存在則返回</p><p><b> TSS2:</b></p><p> MOV A,#0CCH ; 跳過ROM匹配</p><p> LCALL W
93、RITE_1820</p><p> MOV A,#44H ; 發(fā)出溫度轉(zhuǎn)換命令</p><p> LCALL WRITE_1820</p><p> LCALL INIT_1820</p><p> MOV A,#0CCH ; 跳過ROM匹配</p><p> LCALL WRITE_1820</p&
94、gt;<p> MOV A,#0BEH ; 發(fā)出讀溫度命令</p><p> LCALL WRITE_1820</p><p> LCALL READ_18200</p><p> MOV 37H,A ; 將讀出的溫度數(shù)據(jù)保存</p><p><b> RET</b></p>&
95、lt;p> (6)寫DS18B20的程序</p><p> WRITE_1820:</p><p><b> MOV R2,#8</b></p><p><b> CLR C</b></p><p> WR1:CLR P2.0</p><p><b>
96、; NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> RRC A</b></p><p>
97、 MOV P2.0,C</p><p> MOV R3,#35</p><p><b> DJNZ R3,$</b></p><p><b> SETB P2.0</b></p><p><b> NOP</b></p><p> DJNZ R
98、2,WR1</p><p><b> SETB P2.0</b></p><p><b> RET</b></p><p> 讀DS18B20的程序,從DS18B20中讀出兩個(gè)字節(jié)的溫度數(shù)據(jù)</p><p> READ_18200:</p><p> MOV R4,
99、#2 ; 將溫度高位和低位DS18B20中讀 </p><p> RE00:MOV R2,#8</p><p> RE01:CLR C</p><p><b> SETB P2.0</b></p><p><b> NOP</b></p><p><b>
100、 NOP</b></p><p><b> CLR P2.0</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p>
101、;<b> SETB P2.0</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p> MOV C,P2.0</p><p> MOV R3,#35</p><p><b> R
102、E20:</b></p><p> DJNZ R3,RE20</p><p><b> RRC A</b></p><p> DJNZ R2,RE01</p><p><b> MOV @R1,A</b></p><p><b> DEC R1
103、</b></p><p> DJNZ R4,RE00</p><p><b> RET</b></p><p> 將從DS18B20中讀出的溫度數(shù)據(jù)進(jìn)行轉(zhuǎn)換</p><p> TEMPER_COV:</p><p> MOV A,#0F0H</p><p&
104、gt; ANL A,36H ; 舍去溫度低位中小數(shù)點(diǎn)</p><p><b> SWAP A</b></p><p><b> MOV 37H,A</b></p><p><b> MOV A,36H</b></p><p> NB ACC.3,TEMPER_COV1
105、 ; 四舍五入去溫度值</p><p><b> INC 37H</b></p><p> TEMPER_COV1:</p><p><b> MOV A,35H</b></p><p> ANL A,#07H</p><p><b> SWAP A<
106、;/b></p><p> ADD A,37H</p><p> MOV 37H,A ; 保存變換后的溫度數(shù)據(jù)</p><p> LCALL BIN_BCD</p><p><b> RET</b></p><p> 將16進(jìn)制的溫度數(shù)據(jù)轉(zhuǎn)換成壓縮BCD碼</p>
107、<p> ; 38H中放百位,37十位,36個(gè)位</p><p><b> BIN_BCD:</b></p><p> MOV 39H,37H</p><p> MOV A,37H</p><p> MOV B,#100</p><p><b> DIV
108、 AB</b></p><p> MOV 38H,A</p><p> MOV 37H,B</p><p> XCH A,B</p><p> MOV B,#10</p><p> DIV AB</p><p> MOV 3
109、7H,A</p><p> MOV 36H,B</p><p><b> RET</b></p><p> DISP: SETB RS0</p><p> MOV R0, #36H</p><p> MOV R7, #3</p><p> LOO
110、PP:MOV A, @R0</p><p> MOV DPTR, #TAB</p><p> MOVC A, @A+DPTR</p><p> MOV SBUF, A</p><p> JNB TI, $</p><p><b> CLR TI</b></p>
111、<p><b> NC R0</b></p><p> DJNZ R7, LOOPP</p><p><b> CLR RS0</b></p><p><b> RET</b></p><p> TAB: DB 11H, 0D7H, 32H, 92
112、H, 0D4H, 98H, 18H, 0D1H, 10H, 90H ,0FFH, 070H, 0FEH</p><p><b> 結(jié) 論</b></p><p> 隨著人們生活水平的不斷提高,單片機(jī)控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計(jì)就是一個(gè)典型的例子,但人們對(duì)它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的
113、更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。</p><p> 目前溫度計(jì)的發(fā)展很快,從原始的玻璃管溫度計(jì)發(fā)展到了現(xiàn)在的熱電阻溫度計(jì)、熱電偶溫度計(jì)、數(shù)字溫度計(jì)、電子溫度計(jì)等等。目前的溫度計(jì)中傳感器是它的重要組成部分,它的精度靈敏度基本決定了溫度計(jì)的精度、測(cè)量范圍、控制范圍和用途等。本文設(shè)計(jì)的數(shù)字溫度計(jì)選用AT89C51型單片機(jī)作為主控制器件,DS18B20作為測(cè)溫傳感器通過4位
114、共陽極LED數(shù)碼管串口傳送數(shù)據(jù),實(shí)現(xiàn)溫度顯示。通過DS18B20直接讀取被測(cè)溫度值,進(jìn)行數(shù)據(jù)轉(zhuǎn)換,該器件的物理化學(xué)性能穩(wěn)定,線性度較好,在0~100℃最大線性偏差小于0.1℃。該器件可直接向單片機(jī)傳輸數(shù)字信號(hào),便于單片機(jī)處理及控制。傳感器應(yīng)用極其廣泛,目前已經(jīng)研制出多種新型傳感器。但是,作為應(yīng)用系統(tǒng)設(shè)計(jì)人員需要根據(jù)系統(tǒng)要求選用適宜的傳感器,并與自己設(shè)計(jì)的系統(tǒng)連接起來,從而構(gòu)成性能優(yōu)良的監(jiān)控系統(tǒng)。</p><p>
115、 本設(shè)計(jì)所介紹的數(shù)字溫度計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測(cè)溫范圍廣,測(cè)溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,主要用于對(duì)測(cè)溫比較準(zhǔn)確的場(chǎng)所,或科研實(shí)驗(yàn)室使用。數(shù)字溫度計(jì)具有結(jié)構(gòu)簡(jiǎn)單、體積小、價(jià)格低廉、精確度高、反應(yīng)速度快、數(shù)字化顯示和不易損壞等特點(diǎn),且性能穩(wěn)定,適用范圍廣,因此特別適用于對(duì)測(cè)溫要求比較準(zhǔn)確的場(chǎng)所。</p><p><b> 致 謝</b></p><
116、p> 通過幾個(gè)月的努力研究與制作,本次畢業(yè)設(shè)計(jì)已進(jìn)入了尾聲,由于本人動(dòng)手能力以及理論知識(shí)不夠精通,難免會(huì)遇到很多不解之處,如果沒有導(dǎo)師的耐心指導(dǎo)以及同學(xué)的幫助,要想順利完成這個(gè)設(shè)計(jì)應(yīng)該是件很難的事情。</p><p> 在這里我要感謝 定論文題目到撰寫論文,王老師為之付諸了很多的時(shí)間與精力,他嚴(yán)謹(jǐn)求實(shí)的治學(xué)態(tài)度,一絲不茍的工作作風(fēng),創(chuàng)造性的思維方法都極大地影響和教育了我,給予我無盡的啟迪。&l
117、t;/p><p> 在平時(shí)生活中,王老師也總是那么的親切和藹,平易近人,每每遇到困難的時(shí)候王老師總是會(huì)第一時(shí)間的給予我?guī)椭?,總是很有耐心的指點(diǎn)與指引,從而我學(xué)到了很多,這對(duì)我以后的人生有著很大的影響。在此對(duì)于王老師的教導(dǎo)致以最真誠、最深切的謝意。這段期間一直辛辛苦苦的給予我的無限幫助,讓我能順利完成論文。</p><p> 我還要深深地感謝陪伴我四年的母校,感謝母校對(duì)我的栽培,在這四年里,
118、母校教給我的不僅僅是學(xué)術(shù)專業(yè)方面的知識(shí),同時(shí)也教會(huì)了我為人處事的道理,這為以后進(jìn)入工作崗位奠定了良好的基礎(chǔ)。</p><p> 最后,祝愿我的老師和同學(xué):身體健康、工作順利、每天都有好的心情。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]姚翔,蘇永春,于巍,鄧親愷.超聲波導(dǎo)盲系統(tǒng)中可編程增益的研究[J].醫(yī)療衛(wèi)生裝
119、備.2006(06)</p><p> [2]Y. S. Huang M. S. Young.An Accurate Ultrasonic Distance Measurement System with Self Temperature Compensat [J].Instrumentation science & technology.2009,37(01):22-29</p><
120、;p> [3] Mt. Prospect.MCS 51 Family of Microcontrollers Architectural Overview. September 1993</p><p> [4]李全利主編.單片機(jī)原理及應(yīng)用[M].高等教育出版社.2012</p><p> [5]楊美榮淺析AT89S51單片機(jī)最小系統(tǒng)的設(shè)計(jì)與制作[J].職業(yè).2011(04)&
121、lt;/p><p> [6] S:ZHANG G X. Geometric Error Measurement and Compensation of CIRP. 1995:599-609 </p><p> [7]何健民,張秀紅.淺談超聲波傳感器非接觸式距離檢測(cè)系統(tǒng)[J].黑龍江科技信息2010(12)</p><p> [8]項(xiàng)綺明.具有強(qiáng)代換功能的紅外遙控接
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ī)at89c51數(shù)字溫度計(jì)的設(shè)計(jì)
- 基于at89c51的單片機(jī)的數(shù)字溫度計(jì)
- 基于at89c51的溫度計(jì)
- 課程設(shè)計(jì)-基于89c51單片機(jī)的數(shù)字溫度計(jì)設(shè)計(jì)
- 基于at89c51的電子溫度計(jì)
- 數(shù)字溫度計(jì)課程設(shè)計(jì)---基于51單片機(jī)數(shù)字溫度計(jì)設(shè)計(jì)
- 溫度計(jì)課程設(shè)計(jì)---基于51單片機(jī)數(shù)字溫度計(jì)設(shè)計(jì)
- 數(shù)字溫度計(jì)課程設(shè)計(jì)---基于51單片機(jī)數(shù)字溫度計(jì)設(shè)計(jì)
- at89c51單片機(jī)控制溫度
- at89c51單片機(jī)控制溫度
- 基于c51單片機(jī) 溫度計(jì)設(shè)計(jì)
- 基于at89c51單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)
- 畢業(yè)論文--基于at89c51的數(shù)字溫度計(jì)的設(shè)計(jì)
- 基于at89c51的數(shù)字溫度計(jì)設(shè)計(jì)說明書
- 基于at89c51單片機(jī)數(shù)字鐘設(shè)計(jì)
- 單片機(jī)at89c51
- 基于at89c51單片機(jī)數(shù)字鐘
- at89c51基于單片機(jī)溫度控制系統(tǒng)設(shè)計(jì)
- 基于at89c51的數(shù)字溫度計(jì)的設(shè)計(jì)說明書
- 基于51單片機(jī)的數(shù)字溫度計(jì)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論