版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于18B20的溫度測(cè)量?jī)x 目 錄第一章 單片機(jī)原理及應(yīng)用技術(shù)課程設(shè)計(jì)的目的意義21.1 設(shè)計(jì)目的21.2 課程在教學(xué)計(jì)劃中的地位和作用2第二章 基于18B20的溫度測(cè)量?jī)x設(shè)計(jì)任務(wù)22.1 設(shè)計(jì)內(nèi)容及要求22.2 課程設(shè)計(jì)的要求2 2.2.1 控制要求2 2.2.2 設(shè)計(jì)要求2第三章 系統(tǒng)的硬件設(shè)計(jì)與選型3 3.1 總體設(shè)計(jì)思想與選型33.2 硬件設(shè)計(jì)方案33.3 硬件設(shè)計(jì)系統(tǒng)原理圖33.4 選型芯片及其各自功能說(shuō)明5 3.4.1 89C51的引腳與功能簡(jiǎn)介5 3.4.2 DS18B20的引腳與功能簡(jiǎn)介8 3.4.3 74LS138的引腳與功能簡(jiǎn)介13 3.4.4 74LC573的引腳與功能簡(jiǎn)
2、介153.4.5 數(shù)碼管簡(jiǎn)介15第四章 軟件設(shè)計(jì)174.1 源程序說(shuō)明17第五章 系統(tǒng)調(diào)試及使用說(shuō)明205.1 系統(tǒng)使用說(shuō)明205.2 系統(tǒng)調(diào)試25收獲、體會(huì)26附錄 系統(tǒng)源程序及實(shí)物圖27第一章 單片機(jī)原理與技術(shù)應(yīng)用課程設(shè)計(jì)的目的意義1.1 課程設(shè)計(jì)目的單片機(jī)原理及技術(shù)應(yīng)用主要內(nèi)容包括MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)、指令系統(tǒng)、匯編語(yǔ)言和C語(yǔ)言程序設(shè)計(jì)、并行接口和并行設(shè)備的擴(kuò)展、中斷系統(tǒng)結(jié)構(gòu)與應(yīng)用、定時(shí)器計(jì)數(shù)器原理與應(yīng)用、串行接口與串行通信、模擬量接口以及單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)。 本課程設(shè)計(jì)目的在于培養(yǎng)學(xué)生綜合運(yùn)用理論知識(shí)來(lái)分析和解決實(shí)際問(wèn)題的能力,是通過(guò)設(shè)計(jì)單片機(jī)檢測(cè)系統(tǒng),加深學(xué)生對(duì)單片機(jī)技術(shù)
3、的了解,進(jìn)一步掌握其程序設(shè)計(jì)與硬件接口技術(shù)。 本課程的主要任務(wù)是運(yùn)用所學(xué)單片機(jī)技術(shù)、單片機(jī)原理等方面的知識(shí),設(shè)計(jì)出一臺(tái)以89C51MCU為核心的單片機(jī)數(shù)據(jù)采集、通訊或測(cè)控系統(tǒng),完成信息的采集、處理、輸出及人機(jī)接口電路等部分的軟、硬件設(shè)計(jì)。1.2 課程設(shè)計(jì)在教學(xué)計(jì)劃中的地位和作用本課程是生物醫(yī)學(xué)工程的一門(mén)主要專(zhuān)業(yè)課之一。以MCS-51系列的8位單片機(jī)為教學(xué)對(duì)象,介紹單片機(jī)的發(fā)展概況、原理及應(yīng)用。 主要內(nèi)容:?jiǎn)纹瑱C(jī)的基本概念,MCS-51系列單片機(jī)的結(jié)構(gòu),MCS-51系列單片機(jī)指令系統(tǒng),程序設(shè)計(jì)基礎(chǔ),中斷系統(tǒng),MCS-51系列單片機(jī)內(nèi)部定時(shí)器/計(jì)數(shù)器及其應(yīng)用,串行接口,單片機(jī)應(yīng)用系統(tǒng)擴(kuò)展設(shè)計(jì)基礎(chǔ),
4、模擬量輸入輸出接口技術(shù),人機(jī)接口技術(shù),功率接口技術(shù),單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù),單片機(jī)應(yīng)用系統(tǒng)舉例,新型單片機(jī)介紹等。 學(xué)生獲得的知識(shí)和能力:?jiǎn)纹瑱C(jī)的基本結(jié)構(gòu)和原理、指令系統(tǒng)、匯編語(yǔ)言程序設(shè)計(jì)、C51開(kāi)發(fā)技術(shù),簡(jiǎn)單的單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)等。 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)的目的就是讓同學(xué)們?cè)诶碚搶W(xué)習(xí)的基礎(chǔ)上,通過(guò)完成一個(gè)涉及MCS-51單片機(jī)多種資源應(yīng)用并具有綜合功能的小系統(tǒng)目標(biāo)板的設(shè)計(jì)與編程應(yīng)用,使學(xué)生不但能夠?qū)⒄n堂上學(xué)到的理論知識(shí)與實(shí)際應(yīng)用結(jié)合起來(lái),而且能夠?qū)﹄娮与娐?、電子元器件、印制電路板等方面的知識(shí)進(jìn)一步加深認(rèn)識(shí),同時(shí)在軟件編程、排錯(cuò)調(diào)試、焊接技術(shù)、相關(guān)儀器設(shè)備的使用技能等方面得到較全面的鍛煉和
5、提高。使學(xué)生增進(jìn)對(duì)單片機(jī)的感性認(rèn)識(shí),加深對(duì)單片機(jī)理論方面的理解,為以后設(shè)計(jì)和實(shí)現(xiàn)單片機(jī)應(yīng)用系統(tǒng)打下良好基礎(chǔ)。第二章 基于18B20的溫度測(cè)量?jī)x設(shè)計(jì)任務(wù)2.1 設(shè)計(jì)內(nèi)容 基于18B20的溫度測(cè)量?jī)x是以溫度傳感器DS18B20為關(guān)鍵的測(cè)溫系統(tǒng),測(cè)得的溫度由三位數(shù)碼管顯示,精確到一度。2.2 課程設(shè)計(jì)要求掌握18B20溫度傳感器原理;三位數(shù)碼管顯示溫度值。2.2.1 控制要求 設(shè)計(jì)技術(shù)參數(shù),溫度測(cè)量精確到一度。2.2.2 設(shè)計(jì)要求設(shè)計(jì)出硬件電路,說(shuō)明工作原理,編寫(xiě)程序,調(diào)試、得到要求現(xiàn)象。第三章 系統(tǒng)硬件設(shè)計(jì)與選型3.1 總體設(shè)計(jì)思想與選型本次課程設(shè)計(jì)會(huì)用到的主要器件是51單片機(jī)和DS18B20溫度
6、傳感器以及數(shù)碼管,主要就是通過(guò)溫度傳感器的檢測(cè),把實(shí)際測(cè)得的溫度值轉(zhuǎn)換成二進(jìn)制,再傳回單片機(jī)處理,然后通過(guò)數(shù)碼管顯示出溫度值。其次是74LS138和74LCX573芯片,用來(lái)控制數(shù)碼管顯示。3.2硬件設(shè)計(jì)方案系統(tǒng)的硬件部分主要包括:電源、晶振、復(fù)位、單片機(jī)、數(shù)碼管、DS18B20、74LS138和74LCX573。3.3 硬件設(shè)計(jì)系統(tǒng)原理圖 硬件電路原理圖反映了所用到的芯片的連接情況, 也可以清楚看到各硬件是如何連接的,具體請(qǐng)看圖3.4 選型芯片及其各自功能說(shuō)明3.4.1 芯片列表 依照設(shè)計(jì)思路,本次設(shè)計(jì)使用了如下芯片:1. 微處理器89C512. 溫度傳感器 DS18B203. 譯碼器 74
7、LS1384. 集成芯片74LC5733.4.2 89C51的引腳與功能簡(jiǎn)介MCS-51系列單片機(jī)是美國(guó)Intel公司在1980年推出的高性能8位單片機(jī),它包含51和52兩個(gè)子系列。單片機(jī)由于體積小、功耗低、易于產(chǎn)品化,面向控制,抗干擾能力強(qiáng),適用溫度范圍寬,可以方便地實(shí)現(xiàn)和分布式控制等優(yōu)點(diǎn),因而被廣泛地應(yīng)用于各種控制系統(tǒng)和分布式系統(tǒng)中。89C51和MCS-51是完全兼容的,是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS8位微處理器。 其主要特點(diǎn)如下: 8位CPU
8、。 工作頻率最高為24M。 128B數(shù)據(jù)存儲(chǔ)器。 4KB程序存儲(chǔ)器。 程序存儲(chǔ)器的尋址空間為64KB。 片外數(shù)據(jù)存儲(chǔ)器的尋址空間為64KB。 128個(gè)用戶位尋址空間。 21個(gè)字節(jié)特殊功能寄存器。 4個(gè)8位的并行I/O接口:P0、P1、P2、P3。 兩個(gè)16位定時(shí)/計(jì)數(shù)器。 兩個(gè)優(yōu)先級(jí)別的5個(gè)中斷源。 1個(gè)全雙工的串行I/O接口,可多機(jī)通信。 111條指令,喊乘法指令和除法指令。 較強(qiáng)的位處理能力 。 采用單一+5V電源。對(duì)于89C52而言,不同之處在于:有256B的數(shù)據(jù)存儲(chǔ)器、8K的程序存儲(chǔ)器、全雙工串行I/O接口、6個(gè)中斷源、3個(gè)16位定時(shí)/計(jì)數(shù)器,工作頻率可升直33Mhz。比51擁有更高的
9、性能。圖1-1是51單片機(jī)的接口硬件分布圖我們此次采用的是AM-51H學(xué)習(xí)板(如圖1-2),板載的芯片是89C52芯片,擁有豐富功能模塊及外接電路,如圖的標(biāo)注。I. 89C51單片機(jī)兩種封裝形式:(1) 雙列直插(PDIP): 40引腳。 (2) 方形(PLCC)封裝形式: 44引腳,有4條引腳是空腳(標(biāo)為NC)。圖3-2(a)為引腳排列圖。圖3-2(b)為邏輯符號(hào)圖。 II. 89C51引腳功能:1. 電源引腳Vcc和Vss(1) Vcc :電源端,接+5V電源。(2) Vss :接地端。2. 外接晶體引腳XTALl和XTAL2(1) XTAL1:片內(nèi)振蕩電路的輸入端; (2) XTAL2:
10、片內(nèi)振蕩電路的輸出端。3. 控制信號(hào)引腳 (1) RST / VPD:RST是復(fù)位信號(hào)輸入端,高電平有效。出現(xiàn)兩個(gè)機(jī)器周期以上的高電平時(shí)復(fù)位;圖3-4 89C51單片機(jī)引腳排列及邏輯符號(hào)圖 RST引腳的第二功能:備用電源VPD的輸入端; 當(dāng)主電源VCC發(fā)生故障,降低到規(guī)定值時(shí),此引腳可接備用供電,由VPD向內(nèi)部RAM提供備用供電,以保持片內(nèi)RAM中的數(shù)據(jù)。 (2) ALE/PROG:地址鎖存允許信號(hào) 訪問(wèn)外部存儲(chǔ)器時(shí),ALE信號(hào)的輸出用于鎖存低8位地址的控制信號(hào)。 信號(hào)頻率為振蕩器的1/6; ALE端可以驅(qū)動(dòng)8個(gè)TTL負(fù)載; 對(duì)Flash存儲(chǔ)器編程時(shí),用于輸入編程脈沖信號(hào)。(3) /PSEN:
11、片外程序存儲(chǔ)器讀選通信號(hào) 低電平有效,可驅(qū)動(dòng)8個(gè)TTL負(fù)載。(4) /EA(VPP):片內(nèi)、外程序存儲(chǔ)器選擇端 編程電壓輸入端; 當(dāng)/EA端為高電平時(shí),先訪問(wèn)片內(nèi)EPROM; 當(dāng)/EA端接地時(shí),只訪問(wèn)片外EPROM; 在Flash存儲(chǔ)器編程時(shí),提供編程電壓。 4. I / O引腳(1) P0口(P0.0P0.7): 第一功能:通用I/O口,用來(lái)輸入/輸出數(shù)據(jù) 第二功能:當(dāng)CPU訪問(wèn)片外存儲(chǔ)器時(shí),分時(shí)提供低8位地址和高8位數(shù)據(jù)的復(fù)用總線。(2) P2口(P2.0P2.7): 第一功能:不擴(kuò)展片外存儲(chǔ)器時(shí),作為通用I/O口。 第二功能:擴(kuò)展片外存儲(chǔ)器時(shí),輸出片外存儲(chǔ)器的高8位地址。(3) P1口(
12、P1.0P1.7): 第一功能:通用I/O口。 第二功能:片內(nèi)ROM編程或校驗(yàn)時(shí),輸入片內(nèi)ROM的低8位地址。(4) P3口(P3.0P3.7): 第一功能:通用的I/O口。 第二功能:控制功能。III. 89C51的外部總線外部總線結(jié)構(gòu)圖如圖3-5所示。圖3-5 外部總線結(jié)構(gòu)圖(1) 地址總線(AB)。16位,尋址范圍64KB。高8位(A15A8)由P2口輸出,低8位(A7 A0)由P0口輸出。(2) 數(shù)據(jù)總線(DB)。8位,由P0口提供。(3) 控制總線(CB)。由4條控制線和P3口的第二功能狀態(tài)組成。 IV. 89C51的內(nèi)部結(jié)構(gòu)89C51單片機(jī)在一塊芯片中集成了CPU、RAM、 ROM
13、、定時(shí)器/計(jì)數(shù)器和I/O口等基本功能部件。各功能部件由內(nèi)部總線連接在一起。89C51基本結(jié)構(gòu)見(jiàn)圖3-6所示。圖3-6 89C51單片機(jī)基本結(jié)構(gòu)圖CPU是單片機(jī)的核心部件,由運(yùn)算器和控制器等部件組成。運(yùn)算器的功能主要是進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算。由8位ALU單元,兩個(gè)8位的暫存器,8位的累加器ACC、B寄存器,程序狀態(tài)寄存器PSW等組成??刂破饔糜诳刂茊纹瑱C(jī)各部分的運(yùn)行,由程序計(jì)數(shù)器PC,指令寄存器、譯碼器及定時(shí)控制邏輯和數(shù)據(jù)指針DPTR組成。3.4.3 DS18B20溫度傳感器簡(jiǎn)介DS18B20是DALLAS公司生產(chǎn)的單總線數(shù)字溫度傳感器芯片,具有3引腳TO-92小體積封裝形式;溫度測(cè)量范圍為-5
14、5+125,可編程為9-12為A/D轉(zhuǎn)換精度,測(cè)量分辨率可達(dá)0.0625,被測(cè)溫度用16位補(bǔ)碼方式串行輸出;其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生;多個(gè)DS18B20可以并聯(lián)到3根或2根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少??蓮V泛用于工業(yè)、民用、軍事等領(lǐng)域的溫度測(cè)量及控制儀器、測(cè)控系統(tǒng)和大型設(shè)備中。(一)DS18B20的主要特性如下:1、 適應(yīng)電壓范圍寬:3.0V-5.5V,在寄生電源方式可有數(shù)據(jù)線共電。2、 在使用中不需要任何外圍元件。3、 獨(dú)特的單線接口方式:DS18B20與微處理器連接時(shí)僅需要一條信號(hào)線既可實(shí)現(xiàn)微處理器與DS18B20
15、的雙向通信。4、 溫度范圍:-55+125,在-10-+85時(shí)精度為0.5。5、 編程可實(shí)現(xiàn)分辨率為9-12位,對(duì)應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測(cè)溫。6、 在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字。7、 支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫。8、 用戶可自設(shè)定非易失性的報(bào)警上下限值。9、 負(fù)壓特性:電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒壞,但不能正常工作。(二)DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警
16、觸發(fā)器TH和TL、配置寄存器。該裝置信號(hào)線高的時(shí)候,內(nèi)部電容器儲(chǔ)存能量通由1線通信線路給片子供電,而且在低電平期間為片子供電直至下一個(gè)高電平的到來(lái)重新充電。 DS18B20的電源也可以從外部3V-5 .5V的電壓得到。DS18B20的外部機(jī)構(gòu)圖和內(nèi)部結(jié)構(gòu)圖(如圖1-3、1-4)圖1-4 DS1820內(nèi)部結(jié)構(gòu) 圖1-3 TQ-92封裝及8腳SOIC封裝(三)DS18B20溫度值格式默認(rèn)的12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號(hào)位,如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)
17、到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。 圖1-5 DS18B20溫度值格式表(四)DS18B20采用一線通信接口。因?yàn)橐痪€通信接口,必須在先完成ROM設(shè)定,否則記憶和控制功能將無(wú)法使用。主要首先提供以下功能命令之一: 1 )讀ROM, 2 )ROM匹配, 3 )搜索ROM, 4 )跳過(guò)ROM, 5 )報(bào)警檢查。這些指令操作作用在沒(méi)有一個(gè)器件的64位光刻ROM序列號(hào),可以在掛在一線上多個(gè)器件選定某一個(gè)器件,同時(shí),總線也可以知道總線上掛有有多少,什么樣的設(shè)備。若指令成功地使DS18B20完成溫度測(cè)量,數(shù)據(jù)存儲(chǔ)在DS18B20的存儲(chǔ)器。一個(gè)控制功能指揮指示DS18B20的演出測(cè)溫。
18、測(cè)量結(jié)果將被放置在DS18B20內(nèi)存中,并可以讓閱讀發(fā)出記憶功能的指揮,閱讀內(nèi)容的片上存儲(chǔ)器。溫度報(bào)警觸發(fā)器TH和TL都有一字節(jié)EEPROM 的數(shù)據(jù)。如果DS18B20不使用報(bào)警檢查指令,這些寄存器可作為一般的用戶記憶用途。在片上還載有配置字節(jié)以理想的解決溫度數(shù)字轉(zhuǎn)換。寫(xiě)TH,TL指令以及配置字節(jié)利用一個(gè)記憶功能的指令完成。通過(guò)緩存器讀寄存器。所有數(shù)據(jù)的讀,寫(xiě)都是從最低位開(kāi)始。DS18B20有4個(gè)主要的數(shù)據(jù)部件:(1)光刻ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開(kāi)始8位(28H)是產(chǎn)品類(lèi)型標(biāo)號(hào),接著的48位是該DS18B20
19、自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。(2) DS18B20中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625/LSB形式表達(dá),其中S為符號(hào)位。DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM,溫度傳感器,溫度報(bào)警觸發(fā)器TH和TL,配置寄存器。存儲(chǔ)器DS18B20的存儲(chǔ)器包括高速暫存器RAM和可電擦除RAM,可電擦除RAM又包括溫度觸發(fā)器TH和TL,以及一個(gè)配置寄存器。存儲(chǔ)器能完
20、整的確定一線端口的通訊,數(shù)字開(kāi)始用寫(xiě)寄存器的命令寫(xiě)進(jìn)寄存器,接著也可以用讀寄存器的命令來(lái)確認(rèn)這些數(shù)字。當(dāng)確認(rèn)以后就可以用復(fù)制寄存器的命令來(lái)將這些數(shù)字轉(zhuǎn)移到可電擦除RAM中。當(dāng)修改過(guò)寄存器中的數(shù)時(shí),這個(gè)過(guò)程能確保數(shù)字的完整性。高速暫存器RAM是由8個(gè)字節(jié)的存儲(chǔ)器組成;第一和第二個(gè)字節(jié)是溫度的顯示位。第三和第四個(gè)字節(jié)是復(fù)制TH和TL,同時(shí)第三和第四個(gè)字節(jié)的數(shù)字可以更新;第五個(gè)字節(jié)是復(fù)制配置寄存器,同時(shí)第五個(gè)字節(jié)的數(shù)字可以更新;六、七、八三個(gè)字節(jié)是計(jì)算機(jī)自身使用。用讀寄存器的命令能讀出第九個(gè)字節(jié),這個(gè)字節(jié)是對(duì)前面的八個(gè)字節(jié)進(jìn)行校驗(yàn)。存儲(chǔ)器的結(jié)構(gòu)圖如圖4.6所示。64位光刻ROM的前8位是DS18B2
21、0的自身代碼,接下來(lái)的48位為連續(xù)的數(shù)字代碼,最后的8位是對(duì)前56位的CRC校驗(yàn)。64-位的光刻ROM又包括5個(gè)ROM的功能命令:讀ROM,匹配ROM,跳躍ROM,查找ROM和報(bào)警查找。64-位光刻ROM的結(jié)構(gòu)圖如圖4.7所示。 DS18B20外部電源的連接方式DS18B20可以使用外部電源VDD,也可以使用內(nèi)部的寄生電源。當(dāng)VDD端口接3.0V5.5V的電壓時(shí)是使用外部電源;當(dāng)VDD端口接地時(shí)使用了內(nèi)部的寄生電源。無(wú)論是內(nèi)部寄生電源還是外部供電,I/O口線要接5K左右的上拉電阻。連接圖如圖4.8、圖4.9所示。配置寄存器配置寄存器是配置不同的位數(shù)來(lái)確定溫度和數(shù)字的轉(zhuǎn)化。R1,R0是溫度的決定
22、位,由R1,R0的不同組合可以配置為9位,10位,11位,12位的溫度顯示。這樣就可以知道不同的溫度轉(zhuǎn)化位所對(duì)應(yīng)的轉(zhuǎn)化時(shí)間,四種配置的分辨率分別為0.5,0.25,0.125和0.0625,出廠時(shí)以配置為12位。4.3.4.2 溫度的讀取DS18B20在出廠時(shí)以配置為12位,讀取溫度時(shí)共讀取16位,所以把后11位的2進(jìn)制轉(zhuǎn)化為10進(jìn)制后在乘以0.0625便為所測(cè)的溫度,還需要判斷正負(fù)。前5個(gè)數(shù)字為符號(hào)位,當(dāng)前5位為1時(shí),讀取的溫度為負(fù)數(shù);當(dāng)前5位為0時(shí),讀取的溫度為正數(shù)。16位數(shù)字?jǐn)[放是從低位到高位DS18B20常用ROM、RAM指令(如表1、表2)指 令 約定代碼功 能讀ROM33H讀DS1
23、820溫度傳感器ROM中的編碼(即64位地址) 符合 ROM 55H發(fā)出此命令之后,接著發(fā)出 64 位 ROM 編碼,訪問(wèn)單總線上與該編碼相對(duì)應(yīng)的 DS1820 使之作出響應(yīng),為下一步對(duì)該 DS1820 的讀寫(xiě)作準(zhǔn)備。 搜索 ROM 0FOH用于確定掛接在同一總線上 DS1820 的個(gè)數(shù)和識(shí)別 64 位 ROM 地址。為操作各器件作好準(zhǔn)備。 跳過(guò) ROM 0CCH忽略 64 位 ROM 地址,直接向 DS1820 發(fā)溫度變換命令。適用于單片工作。 告警搜索命令 0ECH執(zhí)行后只有溫度超過(guò)設(shè)定值上限或下限的片子才做出響應(yīng)。 表1 ROM指令表指 令 約定代碼功 能溫度變換44H啟動(dòng)DS1820進(jìn)
24、行溫度轉(zhuǎn)換,12位轉(zhuǎn)換時(shí)最長(zhǎng)為750ms(9位為93.75ms)。結(jié)果存入內(nèi)部9字節(jié)RAM中。 讀暫存器 0BEH 讀內(nèi)部RAM中9字節(jié)的內(nèi)容 寫(xiě)暫存器 4EH 發(fā)出向內(nèi)部RAM的3、4字節(jié)寫(xiě)上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)。 復(fù)制暫存器 48H 將RAM中第3 、4字節(jié)的內(nèi)容復(fù)制到EEPROM中。 重調(diào) EEPROM 0B8H 將EEPROM中內(nèi)容恢復(fù)到RAM中的第3 、4字節(jié)。 讀供電方式 0B4H 讀DS1820的供電模式。寄生供電時(shí)DS1820發(fā)送“ 0 ”,外接電源供電 DS1820發(fā)送“ 1 ”。 表2 RAM指令表(四)DS18B20操作時(shí)序DS18B20
25、的時(shí)序有著嚴(yán)格的要求,每個(gè)操作之間的電平時(shí)間必須按照資料上面的進(jìn)行,不然就不能對(duì)溫度傳感器正確的操作,一般有芯片初始化操作、讀操作和寫(xiě)操作。DS18B20控制方法指令約定代碼操作說(shuō)明溫度轉(zhuǎn)換 44H 啟動(dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換讀暫存器 BEH 讀暫存器9個(gè)字節(jié)內(nèi)容寫(xiě)暫存器 4EH 將數(shù)據(jù)寫(xiě)入暫存器的TH、TL字節(jié)復(fù)制暫存器 48H 把暫存器的TH、TL字節(jié)寫(xiě)到E2RAM中重新調(diào)E2RAM B8H 把E2RAM中的TH、TL字節(jié)寫(xiě)到暫存器TH、TL字節(jié)讀電源供電方式 B4H 啟動(dòng)DS18B20發(fā)送電源供電方式的信號(hào)給主CPU1.DS18B20的初始化(1) 先將數(shù)據(jù)線置高電平“1”。(2)
26、延時(shí)(該時(shí)間要求的不是很?chē)?yán)格,但是盡可能的短一點(diǎn))(3) 數(shù)據(jù)線拉到低電平“0”。(4) 延時(shí)750微秒(該時(shí)間的時(shí)間范圍可以從480到960微秒)。(5) 數(shù)據(jù)線拉到高電平“1”。(6)延時(shí)等待(如果初始化成功則在15到60毫秒時(shí)間之內(nèi)產(chǎn)生一個(gè)由DS18B20所返回的低電平“0”。據(jù)該狀態(tài)可以來(lái)確定它的存在,但是應(yīng)注意不能無(wú)限的進(jìn)行等待,不然會(huì)使程序進(jìn)入死循環(huán),所以要進(jìn)行超時(shí)控制)。(7)若CPU讀到了數(shù)據(jù)線上的低電平“0”后,還要做延時(shí),其延時(shí)的時(shí)間從發(fā)出的高電平算起(第(5)步的時(shí)間算起)最少要480微秒。(8) 將數(shù)據(jù)線再次拉高到高電平“1”后結(jié)束。2. DS18B20的寫(xiě)操作(1)
27、數(shù)據(jù)線先置低電平“0”。(2) 延時(shí)確定的時(shí)間為15微秒。(3) 按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位)。(4) 延時(shí)時(shí)間為45微秒。(5) 將數(shù)據(jù)線拉到高電平。(6) 重復(fù)上(1)到(6)的操作直到所有的字節(jié)全部發(fā)送完為止。(7) 最后將數(shù)據(jù)線拉高。3. DS18B20的讀操作(1)將數(shù)據(jù)線拉高“1”。(2)延時(shí)2微秒。(3)將數(shù)據(jù)線拉低“0”。(4)延時(shí)15微秒。(5)將數(shù)據(jù)線拉高“1”。(6)延時(shí)15微秒。(7)讀數(shù)據(jù)線的狀態(tài)得到1個(gè)狀態(tài)位,并進(jìn)行數(shù)據(jù)處理。(8)延時(shí)30微秒。3.4.3 74LS138的引腳與功能簡(jiǎn)介74ls138引腳圖 74HC138管腳圖:74LS138 為
28、3 線8 線譯碼器,共有 54/74S138和 54/74LS138 兩種線路結(jié)構(gòu)型式,其工作原理如下: 當(dāng)一個(gè)選通端(G1)為高電平,另兩個(gè)選通端(/(G2A)和/(G2B))為低電平時(shí),可將地址端(A、B、C)的二進(jìn)制編碼在一個(gè)對(duì)應(yīng)的輸出端以低電平譯出。 利用 G1、/(G2A)和/(G2B)可級(jí)聯(lián)擴(kuò)展成 24 線譯碼器;若外接一個(gè)反相器還可級(jí)聯(lián)擴(kuò)展成 32 線譯碼器。 若將選通端中的一個(gè)作為數(shù)據(jù)輸入端時(shí),74LS138還可作數(shù)據(jù)分配器用與非門(mén)組成的3線-8線譯碼器74LS1383線-8線譯碼器74LS138的功能表無(wú)論從邏輯圖還是功能表我們都可以看到74LS138的八個(gè)輸出引腳,任何時(shí)刻
29、要么全為高電平1芯片處于不工作狀態(tài),要么只有一個(gè)為低電平0,其余7個(gè)輸出引腳全為高電平1。如果出現(xiàn)兩個(gè)輸出引腳同時(shí)為0的情況,說(shuō)明該芯片已經(jīng)損壞。當(dāng)附加控制門(mén)的輸出為高電平(S1)時(shí),可由邏輯圖寫(xiě)出由上式可以看出,同時(shí)又是這三個(gè)變量的全部最小項(xiàng)的譯碼輸出,所以也把這種譯碼器叫做最小項(xiàng)譯碼器。71LS138有三個(gè)附加的控制端、和。當(dāng)、時(shí),輸出為高電平(S1),譯碼器處于工作狀態(tài)。否則,譯碼器被禁止,所有的輸出端被封鎖在高電平,如表3.3.5所示。這三個(gè)控制端也叫做“片選”輸入端,利用片選的作用可以將多篇連接起來(lái)以擴(kuò)展譯碼器的功能。帶控制輸入端的譯碼器又是一個(gè)完整的數(shù)據(jù)分配器。在圖3.3.8電路中
30、如果把作為“數(shù)據(jù)”輸入端(同時(shí)),而將作為“地址”輸入端,那么從送來(lái)的數(shù)據(jù)只能通過(guò)所指定的一根輸出線送出去。這就不難理解為什么把叫做地址輸入了。例如當(dāng)101時(shí),門(mén)的輸入端除了接至輸出端的一個(gè)以外全是高電平,因此的數(shù)據(jù)以反碼的形式從輸出,而不會(huì)被送到其他任何一個(gè)輸出端上。 3.4.4 74HC573的引腳與功能簡(jiǎn)介74HC573包含八進(jìn)制3態(tài)非反轉(zhuǎn)透明鎖存器,是一種高性能硅門(mén)CMOS器件。74HC573跟LS/AL573的管腳一樣。器件的輸入是和標(biāo)準(zhǔn)CMOS輸出兼容的,加上拉電阻他們能和LS/ALSTTL輸出兼容。鎖存器輸入是和標(biāo)準(zhǔn) CMOS 輸出兼容的;加上拉電阻,他們能和 LS/ALSTTL
31、 輸出兼容。當(dāng)鎖存使能端LE為高時(shí),這些器件的鎖存對(duì)于數(shù)據(jù)是透明的(也就是說(shuō)輸出同步)。當(dāng)鎖存使能變低時(shí),符合建立時(shí)間和保持時(shí)間的數(shù)據(jù)會(huì)被鎖存。三態(tài)總線驅(qū)動(dòng)輸出置數(shù)全并行存取緩沖控制輸入使能輸入有改善抗擾度的滯后作用原理說(shuō)明:74HC573的八個(gè)鎖存器都是透明的D 型鎖存器,當(dāng)使能(G)為高時(shí),Q 輸出將隨數(shù)據(jù)(D)輸入而變。當(dāng)使能為低時(shí),輸出將鎖存在已建立的數(shù)據(jù)電平上。輸出控制不影響鎖存器的內(nèi)部工作,即老數(shù)據(jù)可以保持,甚至當(dāng)輸出被關(guān)閉時(shí),新的數(shù)據(jù)也可以置入。這種電路可以驅(qū)動(dòng)大電容或低阻抗負(fù)載,可以直接與系統(tǒng)總線接口并驅(qū)動(dòng)總線,而不需要外接口。特別適用于緩沖寄存器,I/O 通道,雙向總線驅(qū)動(dòng)器
32、和工作寄存器。3.4.5 數(shù)碼管簡(jiǎn)介此系統(tǒng)采用的是共陰極性的LED數(shù)碼管,高電平點(diǎn)亮。如圖1-6 圖1-6 數(shù)碼管極性及端口分布 不過(guò),我們此次是采用的四合一的數(shù)碼管。如圖1-7 圖 四合一數(shù)碼管圖 數(shù)碼管的硬件連接圖第四章 軟件設(shè)計(jì)4.1 源程序說(shuō)明#include reg52.h#include intrins.h /_nop_();延時(shí)函數(shù)用#define Disdata P0 /段碼輸出口#define discan P2 /掃描口#define uchar unsigned char#define uint unsigned intsbit DQ=P13; /溫度輸入口uint h;
33、 uint temp;uchar code dis_712=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40;/共陰LED段碼表 0 1 2 3 4 5 6 7 8 9 不亮 - uchar code scan_con4=0xfb,0xfa,0xf9,0xf8; /列掃描控制字uchar data temp_data2=0x00,0x00; /讀出溫度暫放uchar data display5=0x00,0x00,0x00,0x00,0x00; /顯示單元數(shù)據(jù),共4個(gè)數(shù)據(jù)和一個(gè)運(yùn)算暫用/*11us延時(shí)函數(shù)*/void delay(uint t) for (;t0;t-);/*顯示掃描函數(shù)*/scan() char k; for(k=1;k0;i-) DQ=1;_nop_();_nop_(); /從高拉倒低 DQ=0;_nop_();_nop_();_nop_();_nop_(); /5 us DQ=val&0x01; /最低位移出 delay(6); /66 us val=val/2; /右移1位 DQ=1; delay(1);/*DS18B20讀1字節(jié)函數(shù)*/從總線上取1個(gè)字節(jié)uchar read_byte(void)uchar i;uchar value=0;for(i=
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣西建筑勞務(wù)合同范例
- 建筑范例出口合同范例
- 搬家拖車(chē)租賃合同范例
- 松江區(qū)毛坯廠房合同范例
- 普通門(mén)施工合同范例
- 全包農(nóng)村建房合同范例
- 農(nóng)村簡(jiǎn)易采購(gòu)合同范例
- 施工圍擋合同范例
- 推拿師合同范例
- 中鐵八局合同范例
- 主動(dòng)呼吸循環(huán)技術(shù)方案
- 醫(yī)院能源管理平臺(tái)建設(shè)方案合集
- 海南洪水影響區(qū)域評(píng)估報(bào)告
- 《北京大學(xué)介紹》課件
- 校園蛋糕創(chuàng)業(yè)計(jì)劃書(shū)
- 麻醉科臨床診療指南2020版
- 2024年廣西北部灣港集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 課程設(shè)計(jì)電動(dòng)葫蘆設(shè)計(jì)
- 對(duì)高職院校學(xué)分銀行建設(shè)的思考
- 三查四定表完整版本
- VDA6.5產(chǎn)品審核報(bào)告
評(píng)論
0/150
提交評(píng)論