版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目錄第1章 緒論1.1 單片機(jī)的概述1.2 單片機(jī)研究現(xiàn)狀1.3 溫度控制的研究意義和目的1.4 課題設(shè)計(jì)任務(wù)和要求第2章單片機(jī)溫度控制系統(tǒng)的概述2.1 MCS-51單片機(jī)簡(jiǎn)介 MCS-51 單片機(jī)的特點(diǎn)及應(yīng)用2.2 外圍電路 振蕩電路 復(fù)位電路 鍵盤電路設(shè)計(jì) 顯示電路設(shè)計(jì)2.3 本章小結(jié)第3章 系統(tǒng)設(shè)計(jì)思想及主要應(yīng)用器件3.1 系統(tǒng)設(shè)計(jì)的總體思想3.2 系統(tǒng)硬件簡(jiǎn)介 硬件設(shè)計(jì)思想3.3 系統(tǒng)主要器件 核心控制器件 AT89C52 DS1820內(nèi)部結(jié)構(gòu)及工作原理 LCD1602A 內(nèi)部結(jié)構(gòu)及工作原理3.4 本章小結(jié)第4章 系統(tǒng)軟件設(shè)計(jì)4.1 軟件設(shè)計(jì)總體思路及主程序流程圖4.2 測(cè)溫模塊 溫度
2、的采集 溫度的測(cè)量4.3 顯示模塊流程圖4-4所示4.4 鍵盤掃描流程圖結(jié)論謝 辭參考文獻(xiàn)附錄1 原理圖和仿真測(cè)試附錄2 軟件程序第1章 緒論1.1 單片機(jī)的概述 隨著現(xiàn)代工業(yè)的逐步發(fā)展,在工業(yè)生產(chǎn)中,溫度、壓力、流量和液位是四種最常見的過程變量。其中,溫度是一個(gè)非常重要的過程變量。例如:在冶金工業(yè)、化工工業(yè)、電力工業(yè)、機(jī)械加工和食品加工等許多領(lǐng)域,都需要對(duì)各種加熱爐、熱處理爐、反應(yīng)爐和鍋爐的溫度進(jìn)行控制。然而,用常規(guī)的控制方法,潛力是有限的,難以滿足較高的性能要求。采用單片機(jī)來對(duì)它們進(jìn)行控制不僅具有控制方便、簡(jiǎn)單和靈活性大的優(yōu)點(diǎn),而且可以大幅度提高被測(cè)溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)
3、量和數(shù)量。因此,單片機(jī)對(duì)溫度的控制問題是一個(gè)工業(yè)生產(chǎn)中經(jīng)常會(huì)遇到的控制問題。在人類的生活環(huán)境中,溫度扮演著極其重要的角色。 單片微型計(jì)算機(jī)是隨著超大規(guī)模集成電路技術(shù)的發(fā)展而誕生的,由于它具有體積小、功能強(qiáng)、性價(jià)比高等特點(diǎn),所以廣泛應(yīng)用于電子儀表、家用電器、節(jié)能裝置、軍事裝置、機(jī)器人、工業(yè)控制等諸多領(lǐng)域,使產(chǎn)品小型化、智能化,既提高了產(chǎn)品的功能和質(zhì)量,又降低了成本,簡(jiǎn)化了設(shè)計(jì)。 1.2 單片機(jī)研究現(xiàn)狀 縱觀我們現(xiàn)在生活的各個(gè)領(lǐng)域,從導(dǎo) 彈的導(dǎo)航裝置,到飛機(jī)上各種儀表的控制,從計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,到工業(yè)自動(dòng)化過程的實(shí)時(shí)控制和數(shù)據(jù) 處理,以及我們生活中廣泛使用的各種智能IC 卡、電子寵物等,
4、這些都離不開單片機(jī)。以前沒有單片機(jī)時(shí),這些 東西也能做,但是只能使用復(fù)雜的模擬電路,然而這樣做出來的產(chǎn)品不僅體積大,而且成本高,并且由于長(zhǎng)期使用, 元器件不斷老化,控制的精度自然也會(huì)達(dá)不到標(biāo)準(zhǔn)。在單片機(jī)產(chǎn)生后,我們就將控制這些東西變?yōu)橹悄芑耍覀?只需要在單片機(jī)外圍接一點(diǎn)簡(jiǎn)單的接口電路,核心部分只是由人為的寫入程序來完成。這樣產(chǎn)品的體積變小了,成 本也降低了,長(zhǎng)期使用也不會(huì)擔(dān)心精度達(dá)不到了。所以,它的魔力不僅是在現(xiàn)在,在將來將會(huì)有更多的 人來接受它、使用它。據(jù)統(tǒng)計(jì),我國(guó)的單片機(jī)年容量已達(dá)13 億片,且每年以大約16%的速度增長(zhǎng),但相對(duì)于世界市場(chǎng)我國(guó)的占有率還不到1%。特別是沿海地區(qū)的玩具廠等
5、生產(chǎn)產(chǎn)品多數(shù)用到單片機(jī),并不斷地輻射向內(nèi)地。 所以,學(xué)習(xí)單片機(jī)在我國(guó)是有著廣闊前景的6。1.3溫度控制的研究意義和目的 溫度是工業(yè)生產(chǎn)中常見的工藝參數(shù)之一,任何物理變化和化學(xué)反應(yīng)過程都與溫度密切相關(guān),因此溫度控制是生產(chǎn)自動(dòng)化的重要任務(wù)。對(duì)于不同生產(chǎn)情況和工藝要求下的溫度控制,所采用的加熱方式,燃料,控制方案也有所不同。無論你生活在哪里,從事什么工作,無時(shí)無刻不在與溫度打著交道。自18世紀(jì)工業(yè)革命以來,工業(yè)發(fā)展對(duì)是否能掌握溫度有著絕對(duì)的聯(lián)系。在冶金、鋼鐵、石化、水泥、玻璃、醫(yī)藥等等行業(yè),可以說幾乎80%的工業(yè)部門都不得不考慮著溫度的因素。1.4 課題設(shè)計(jì)任務(wù)和要求 本文所要研究的課題是基于單片機(jī)
6、溫度控制及報(bào)警系統(tǒng)的設(shè)計(jì),介紹了對(duì)溫度的顯示、控制及報(bào)警,實(shí)現(xiàn)了溫度的實(shí)時(shí)顯示及控制。溫度控制部分,提出了用DS18B20、89C52單片機(jī)及LED的硬件電路完成對(duì)溫度的實(shí)時(shí)檢測(cè)及顯示,利用DS18B20與單片機(jī)連接由軟件與硬件電路配合來實(shí)現(xiàn)實(shí)時(shí)控制及超出設(shè)定的上下限溫度的報(bào)警系統(tǒng)。課題設(shè)計(jì)的目的:1.掌握用51單片機(jī)控制LCD顯示字符的方法。 2.掌握用單片機(jī)進(jìn)行顯示系統(tǒng)開發(fā)的方法。3.掌握單片機(jī)軟件、硬件調(diào)試技術(shù)。4.了解單線器件DS18B20的驅(qū)動(dòng)方法。 5.了解LCD顯示器的一般驅(qū)動(dòng)原理。第2章 單片機(jī)溫度控制系統(tǒng)的概述2.1 MCS-51單片機(jī)簡(jiǎn)介 MCS-51系列單片機(jī)無論是片內(nèi)R
7、AM容量,I/O口功能,系統(tǒng)擴(kuò)展能力還是指令系統(tǒng)和CPU的處理功能都非常的強(qiáng)。尤其是MCS-51系列就是所特有的布爾處理機(jī),在邏輯處理和控制方面具有突出優(yōu)點(diǎn)。MCS-51系列單片機(jī)適合于實(shí)時(shí)控制,可構(gòu)成工業(yè)控制器、智能儀表、智能接口以及通用的測(cè)控單元等。 MCS-51 單片機(jī)的特點(diǎn)及應(yīng)用MCS-51系列單片機(jī)主要產(chǎn)品及特點(diǎn)如2-1所示。表2-1 MCS-51系列單片機(jī)特點(diǎn)子系列片內(nèi)ROM形式片內(nèi)ROM容量片內(nèi)RAM容量尋址范圍I/O特性中斷源無ROMEPROM計(jì)數(shù)器并行口串行口518031805187514KB128B264KB216481580C3180C5187C514KB128B264K
8、B2164815528032805287528KB256B264KB316481680C3280C5287C528KB256B264KB3164816MCS-51單片機(jī)(此處以8051為例)芯片的基本組成如圖2-2所示:圖2-28051芯片的內(nèi)部組成框圖圖中各組成部分:a.中央處理器(CPU)。它是單片機(jī)的核心,包括運(yùn)算器和控制器兩個(gè)主要組成部分,用于實(shí)現(xiàn)運(yùn)算和控制功能。運(yùn)算器主要包括算術(shù)邏輯運(yùn)算部件(ALU)、位處理器、累加器A、寄存器B、緩存器TMP1和TMP2、程序狀態(tài)字寄存器PSW以及十進(jìn)制調(diào)整電路等。其主要功能是實(shí)現(xiàn)數(shù)據(jù)的算術(shù)運(yùn)算、邏輯運(yùn)算、位操作及數(shù)據(jù)傳送等??刂破髦饕蓵r(shí)鐘和時(shí)序
9、電路以及一些控制寄存器組成。其主要功能是協(xié)調(diào)整個(gè)單片機(jī)的工作,產(chǎn)生時(shí)序脈沖和提供控制信號(hào)等。b.數(shù)據(jù)存儲(chǔ)器。MCS-51系列單片機(jī)芯片數(shù)據(jù)存儲(chǔ)器共有128個(gè)存儲(chǔ)單元,用于存放可讀寫的數(shù)據(jù)。為了與外部擴(kuò)展的數(shù)據(jù)存儲(chǔ)器相區(qū)別,通常稱芯片內(nèi)部的數(shù)據(jù)存儲(chǔ)器為內(nèi)部數(shù)據(jù)存儲(chǔ)器,簡(jiǎn)稱內(nèi)部RAM。c.程序存儲(chǔ)器。8051芯片內(nèi)部有4KB掩膜ROM,8751芯片內(nèi)部有4KB EPROM,用來存放程序和原始數(shù)據(jù)。通常稱之為內(nèi)部程序存儲(chǔ)器或內(nèi)部ROM。d.定時(shí)器/計(jì)數(shù)器。MCS-51共有兩個(gè)16位的定時(shí)器/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)和計(jì)數(shù)功能。e.并行I/O口。MCS-51共有四個(gè)8位的I/O口(即P0、P1、P2和P3)
10、,用以完成數(shù)據(jù)的并行輸入/輸出。f.串行I/O口。MCS-51有一個(gè)全雙工串行口,以實(shí)現(xiàn)單片機(jī)和其他計(jì)算機(jī)或設(shè)備之間的串行數(shù)據(jù)傳送。g.中斷控制系統(tǒng)。MCS-51共有5個(gè)中斷源,分高和低兩個(gè)優(yōu)先級(jí)別3。2.2 外圍電路單片機(jī)的外圍電路如圖2-3所示,主要包括振蕩電路,復(fù)位電路。 圖2-3 單片機(jī)外圍電路 振蕩電路 AT89C52的XTAL1和XTAL2引腳分別為單片機(jī)內(nèi)反相放大器的輸入和輸出端,其頻率范圍上限為24MHz。這個(gè)內(nèi)部反相器與外部元件組成皮爾斯振蕩器, C1,C2是30pF的電容。C1,C2沒有嚴(yán)格要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩工作的穩(wěn)定性、起振的難易程度及溫
11、度穩(wěn)定性,通常選擇在1030pF左右。在任何情況下,振蕩器始終驅(qū)動(dòng)內(nèi)部時(shí)鐘發(fā)生器向主機(jī)提供時(shí)鐘信號(hào)。因?yàn)闀r(shí)鐘發(fā)生器的輸入是個(gè)二分頻觸發(fā)器,所以對(duì)外部振蕩信號(hào)的脈寬無特殊要求,但必須保證高低電平的最小寬度。在外接晶振11.0592MHZ時(shí),一個(gè)機(jī)器周期為ls,一個(gè)振蕩周期為1/12s。 復(fù)位電路RST為復(fù)位信號(hào)輸入端口引腳,它是斯密特觸發(fā)器的一個(gè)輸入端。復(fù)位信號(hào)是高電平有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩脈沖周期(即兩個(gè)機(jī)器周期)以上。復(fù)位電路包括芯片內(nèi)、外兩部分。外部電路產(chǎn)生的復(fù)位信號(hào)(RST)送斯密特觸發(fā)器,再由片內(nèi)復(fù)位電路在每個(gè)機(jī)器周期的S5P2時(shí)刻對(duì)斯密特觸發(fā)器的輸出進(jìn)行采樣,然后才得到內(nèi)部
12、復(fù)位操作所需要的信號(hào)。本設(shè)計(jì)中的復(fù)位電路。由C3,R1,R2和按鍵組成按鍵電平復(fù)位。復(fù)位端經(jīng)電阻與Vcc電源接通。主控制芯片的復(fù)位電路是采用的按鍵復(fù)位,而從機(jī)采用的是上電復(fù)位。 鍵盤電路設(shè)計(jì)根據(jù)設(shè)計(jì)任務(wù)書中要求實(shí)現(xiàn)的功能,我選擇了3個(gè)鍵盤來設(shè)置溫度的上、下限值,此鍵盤設(shè)計(jì)符合系統(tǒng)設(shè)置要求,所以我選擇此鍵盤完成本設(shè)計(jì)。矩陣鍵盤結(jié)構(gòu):鍵盤實(shí)際上是一組按鍵開關(guān)的集合,平時(shí)按鍵開關(guān)總是處于斷開狀態(tài),當(dāng)按下鍵時(shí)它才閉合。鍵盤結(jié)構(gòu)能夠有效的提高單片機(jī)系統(tǒng)中I/O口的利用率。它的結(jié)構(gòu)和產(chǎn)生的波形如圖2-4所示。圖2-4 鍵盤結(jié)構(gòu)及產(chǎn)生的波形圖顯示電路設(shè)計(jì)溫度顯示工作原理: LCD1602可以采用兩種方式與單
13、片機(jī)連接,一種是采用8位數(shù)據(jù)總線D0D7,和RS、R/W、EN三個(gè)控制端口;另一種是只用D4-D7作為四位數(shù)據(jù)分兩次傳送。本實(shí)驗(yàn)將使用并采用八位數(shù)據(jù)方式來控制1602顯示。 進(jìn)行LCD設(shè)計(jì)主要是LCD的控制/驅(qū)動(dòng)和外界的接口設(shè)計(jì)??刂浦饕峭ㄟ^接口與外界通信、管理內(nèi)/外顯示RAM,控制驅(qū)動(dòng)器,分配顯示數(shù)據(jù);驅(qū)動(dòng)主要是根據(jù)控制器要求,驅(qū)動(dòng)LCD進(jìn)行顯示??刂破鬟€常含有內(nèi)部ASCII字符庫,或可外擴(kuò)的大容量漢字庫。2.3 本章小結(jié) 單片機(jī)具有全電腦功能,且體積小、可靠性高、價(jià)格便宜、簡(jiǎn)單易學(xué)和開發(fā)應(yīng)用方便,深受廣大科技人員的歡迎。單片機(jī)具有眾多的I/O口線,豐富的操作指令,較強(qiáng)的邏輯能力,特別適用
14、于各類工業(yè)測(cè)控系統(tǒng)。今后一段時(shí)期內(nèi),單片機(jī)發(fā)展的總趨勢(shì)將是不斷推出高檔和高性能的機(jī)型;重點(diǎn)提高8位單片機(jī)的性能;采用新工藝,實(shí)現(xiàn)低功耗、寬電壓、高速度、高可靠性;以及日趨單片化。 單片機(jī)以其高可靠性、高性能價(jià)格比廣泛地用于各種實(shí)時(shí)控制系統(tǒng)中,將測(cè)量技術(shù)、自動(dòng)控制技術(shù)和單片機(jī)技術(shù)相結(jié)合,充分發(fā)揮數(shù)據(jù)處理和實(shí)時(shí)控制的功能,使系統(tǒng)處于最佳狀態(tài),在工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀表等諸多領(lǐng)域得到廣泛應(yīng)用。目前,可用于單片機(jī)開發(fā)的硬件越來越多,與之配套的開發(fā)系統(tǒng)和各種應(yīng)用軟件也日趨完善。第3章 系統(tǒng)設(shè)計(jì)思想及主要應(yīng)用器件3.1 系統(tǒng)設(shè)計(jì)的總體思想 根據(jù)單片機(jī)溫度控制要實(shí)現(xiàn)的功能,設(shè)計(jì)了基于ATMEL
15、公司的AT89C52芯片的溫度測(cè)量系統(tǒng)。這是一種低成本的利用單片機(jī)多余I/O口實(shí)現(xiàn)的溫度檢測(cè)電路。整個(gè)系統(tǒng)硬件部分包括溫度檢測(cè)系統(tǒng)、信號(hào)放大系統(tǒng)、A/D轉(zhuǎn)換、單片機(jī)、I/O設(shè)備、控制執(zhí)行系統(tǒng)等.。溫度控制部分用DS18B20、89C52單片機(jī)及LED的硬件電路完成對(duì)溫度的實(shí)時(shí)檢測(cè)及顯示。3.2 系統(tǒng)硬件簡(jiǎn)介硬件大致構(gòu)成:核心控制器件AT89C52 ,溫度傳感器DS18B20,顯示器1602A 報(bào)警控制LED。 硬件設(shè)計(jì)思想 本設(shè)計(jì)是以AT89C52為單片機(jī)作為控制核心,提出了一種基于DS18B20的單總線多點(diǎn)溫度測(cè)控系統(tǒng),多個(gè)溫度傳感節(jié)點(diǎn)通過單總線與單片機(jī)相聯(lián)形成分布式系統(tǒng)。單片機(jī)通過實(shí)時(shí)監(jiān)控
16、溫度的變化,通過LCD1602字符型液晶顯示各節(jié)點(diǎn)溫度的數(shù)值,當(dāng)溫度值超出所設(shè)定的值時(shí),報(bào)警器開始報(bào)警,從而遠(yuǎn)程實(shí)現(xiàn)對(duì)整個(gè)溫度系統(tǒng)的管理和控制。這種分布式溫度測(cè)量系統(tǒng)具有成本低廉、傳感精度高、系統(tǒng)穩(wěn)定、易于管理等優(yōu)點(diǎn)。3.3 系統(tǒng)主要器件 核心控制器件AT89C52 AT89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大的AT89C52單片機(jī)可為
17、您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場(chǎng)合。AT89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫口線,AT89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本1。AT89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。主要功能特性: 兼容MCS51指令系統(tǒng) 32個(gè)雙向I/O口 3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷 2個(gè)串行中斷 2個(gè)外部中斷源 2個(gè)讀寫中斷口線 低功耗空閑和掉電
18、模式 AT89C52各引腳及管腳如圖3-1所示圖3-1 AT89C52各引腳概述:AT89C52為40 腳雙列直插封裝的8 位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會(huì)聚調(diào)整時(shí)的功能控制。功能包括對(duì)會(huì)聚主IC 內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會(huì)聚調(diào)整控制,會(huì)聚測(cè)試圖控制,紅外遙控信號(hào)IR的接收解碼及與主板CPU通信等。主要管腳有:XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST/Vpd(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40 腳)和VSS(20
19、 腳)為供電端口,分別接+5V電源的正負(fù)端。P0P3 為可編程通用I/O 腳,其功能用途由軟件定義,在本設(shè)計(jì)中,P0 端口(3239 腳)被定義為N1 功能控制端口,分別與N1的相應(yīng)功能管腳相連接,13 腳定義為IR輸入端,10 腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和SCLS(19腳)端口,12 腳、27 腳及28 腳定義為握手信號(hào)功能端口,連接主板CPU 的相應(yīng)功能端,用于當(dāng)前制式的檢測(cè)及會(huì)聚調(diào)整狀態(tài)進(jìn)入的控制功能。P0 口:P0 口是一組8 位漏極開路型雙向I/O 口, 也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8 個(gè)TTL邏輯門電路
20、,對(duì)端口P0 寫“1”時(shí),可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash 編程時(shí),P0 口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。P1 口:P1 是一個(gè)帶內(nèi)部上拉電阻的8 位雙向I/O 口, P1 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。與AT89C51 不同之處是,P1.0 和P1.1 還可分別作為
21、定時(shí)/計(jì)數(shù)器2 的外部計(jì)數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX),F(xiàn)lash 編程和程序校驗(yàn)期間,P1 接收低8 位地址。 P1.0和P1.1的第二功能如表3-2所示。表3-2 P1.0和P1.1的第二功能引腳號(hào)功能特性P1.0T2,時(shí)鐘輸出P1.1T2EX(定時(shí)/計(jì)數(shù)器2) P2 口:P2 是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 邏輯門電路。對(duì)端口P2 寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。在訪問外部程序存儲(chǔ)
22、器或16 位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2 口送出高8 位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX RI 指令)時(shí),P2 口輸出P2 鎖存器的內(nèi)容。Flash 編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號(hào)。P3 口:P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I/O 口。P3 口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 邏輯門電路。對(duì)P3 口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的P3 口將用上拉電阻輸出電流(IIL)。P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能P3 口還接收一些用于Flash 閃速存儲(chǔ)器編程和程序校驗(yàn)
23、的控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。ALE/PROG: 當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE 仍以時(shí)鐘振蕩頻率的1/6 輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE 脈沖。對(duì)Flash 存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對(duì)特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條MOVX 和MOVC指令才能將ALE 激活。
24、此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE 禁止位無效。PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C52 由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN 有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將跳過兩次PSEN信號(hào)。EA/VPP:外部訪問允許。欲使CPU 僅訪問外部程序存儲(chǔ)器(地址為0000HFFFFH),EA 端必須保持低電平(接地)。需注意的是:如果加密位LB1 被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU 則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。Flash 存儲(chǔ)器編程時(shí),該引腳加上+1
25、2V 的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V 編程電壓Vpp。XTAL1:振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端5。 DS1820內(nèi)部結(jié)構(gòu)及工作原理 DS18B20數(shù)字溫度傳感器是DALLAS公司生產(chǎn)的1Wire,即單總線器件,具有線路簡(jiǎn)單,體積小的特點(diǎn)。因此用它來組成一個(gè)測(cè)溫系統(tǒng),具有線路簡(jiǎn)單,在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。1.DS18B20產(chǎn)品的特點(diǎn):l 只要求一個(gè)端口即可實(shí)現(xiàn)通信。l 在DS18B20中的每個(gè)器件上都有獨(dú)一無二的序列號(hào)。l 實(shí)際應(yīng)用中不需要外部任何元器件即可實(shí)現(xiàn)測(cè)溫。l 測(cè)量溫度范圍在55.C到
26、125.C之間。l 數(shù)字溫度計(jì)的分辨率用戶可以從9位到12位選擇。l 內(nèi)部有溫度上、下限告警設(shè)置。TO92封裝的DS18B20的引腳排列見圖3-3所示。 圖3-3 DS18B20的引腳排列DS18B20引腳功能描述見表3-4所示。表3-4 DS18B20引腳功能序號(hào)名稱引腳功能描述1GND地信號(hào)2DQ數(shù)字輸入輸出引腳,開漏單總線接口引腳,當(dāng)使用寄生電源時(shí),可向電源提供電源3VDD可選擇的VDD引腳,當(dāng)工作于寄生電源時(shí),該引腳必須接地2. DS18B20的內(nèi)部結(jié)構(gòu)DS18B20的內(nèi)部框圖下圖3-5所示。64位ROM存儲(chǔ)器件獨(dú)一無二的序列號(hào)。暫存器包含兩字節(jié)(0和1字節(jié))的溫度寄存器,用于存儲(chǔ)溫度
27、傳感器的數(shù)字輸出。暫存器還提供一字節(jié)的上線警報(bào)觸發(fā)(TH)和下線警報(bào)觸發(fā)(TL)寄存器(2和3字節(jié)),和一字節(jié)的配置寄存器(4字節(jié)),使用者可以通過配置寄存器來設(shè)置溫度轉(zhuǎn)換的精度。暫存器的5、6和7字節(jié)器件內(nèi)部保留使用。第八字節(jié)含有循環(huán)冗余碼(CRC )。 圖3-5 DS18B20的內(nèi)部框圖3.DS18B20的4個(gè)主要數(shù)據(jù)部件:光刻ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標(biāo)號(hào),接著的48位是該DS18B20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻RO
28、M的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。DS18B20中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625/LSB形式表達(dá),其中S為符號(hào)位。這是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è)到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。例如+125的數(shù)字輸出為07D0H,+25.0625的數(shù)字輸出為0191H
29、,-25.0625的數(shù)字輸出為FF6FH,-55的數(shù)字輸出為FC90H。DS18B20溫度數(shù)據(jù)表表如3-6所示。表3-6 DS18B20溫度數(shù)據(jù)表TEMPERATUREDIGITAL OUTPUTDIGITAL OUTPUT+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 111
30、1 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90HDS18B20溫度傳感器的存儲(chǔ)器 DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。配置寄存器表3-7 配置寄存器0R1R011111低五位一直都是1,TM是測(cè)試模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式。在DS18B20出廠時(shí)該位被設(shè)置為0,用戶不要去改動(dòng)。R1和R0用來設(shè)置分辨率,
31、如下表3-8所示。(DS18B20出廠時(shí)被設(shè)置為12位)表3-8 R1與R0確定傳感器分辨率設(shè)置表R1R0傳感器精度/bit轉(zhuǎn)換時(shí)間/ms00993.750110187.5101137511127504.DS18B20的工作過程l 初始化l ROM命令跟隨著需要交換的數(shù)據(jù);l 功能命令跟隨著需要交換的數(shù)據(jù)。訪問DS18B20必須嚴(yán)格遵守這一命令序列,如果丟失任何一步或序列混亂,DS18B20都不會(huì)響應(yīng)主機(jī)(除了Search ROM 和Alarm Search這兩個(gè)命令,在這兩個(gè)命令后,主機(jī)都必須返回到第一步)。a初始化:DS18B20所有的數(shù)據(jù)交換都由一個(gè)初始化序列開始。由主機(jī)發(fā)出的復(fù)位脈沖和
32、跟在其后的由DS18B20發(fā)出的應(yīng)答脈沖構(gòu)成。當(dāng)DS18B20發(fā)出響應(yīng)主機(jī)的應(yīng)答脈沖時(shí),即向主機(jī)表明它已處在總線上并且準(zhǔn)備工作。b. ROM命令:ROM命令通過每個(gè)器件64-bit的ROM碼,使主機(jī)指定某一特定器件(如果有多個(gè)器件掛在總線上)與之進(jìn)行通信。DS18B20的ROM如表3-4所示,每個(gè)ROM命令都是8 bit長(zhǎng)。c. 功能命令:主機(jī)通過功能命令對(duì)DS18B20進(jìn)行讀/寫Scratchpad存儲(chǔ)器,或者啟動(dòng)溫度轉(zhuǎn)換。DS18B20的功能命令如表3-9所示。表3-9 DS18B20的功能命令指令協(xié)議功能讀ROM33H讀DS18B20中的編碼(即64位地址)符合ROM55H發(fā)出此命令后,
33、接著發(fā)出64位ROM編碼,訪問單總線上與該編碼相對(duì)應(yīng)的DS18B20,使之作出響應(yīng),為下一步對(duì)該DS18B20的讀寫作準(zhǔn)備搜索ROM0F0H用于確定掛接在同一總線上DS18B20的個(gè)數(shù)和識(shí)別64位ROM地址,為操作各器件作好準(zhǔn)備跳過ROM0CCH忽略64位ROM地址,直接向DS18B20溫度轉(zhuǎn)換命令,適用于單個(gè)DS18B20工作報(bào)警搜索命令0ECH執(zhí)行后,只有溫度超過廟宇值上限或下限的片子才做出響應(yīng)溫度轉(zhuǎn)換44H啟動(dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換,轉(zhuǎn)換時(shí)間最長(zhǎng)為500ms(典型為200ms),結(jié)果豐入內(nèi)部9字節(jié)RAM中讀暫存器BEH讀內(nèi)部RAM中9字節(jié)的內(nèi)容寫暫存器4EH發(fā)出向內(nèi)部RAM的第3、4
34、字節(jié)寫上、下溫度數(shù)據(jù)命令,緊該溫度命令之后,傳達(dá)兩字節(jié)的數(shù)據(jù)復(fù)制暫存器48H將RAM中第3、4字內(nèi)容復(fù)制到E2PROM中重調(diào)E2PROM0B8H將E2PROM中內(nèi)容恢復(fù)到RAM中的第3、4字節(jié)讀供電方式0B4H讀DS18B20的供電模式,寄生供電時(shí)DS18B20發(fā)送“0”,外部供電時(shí)DS18B20發(fā)送“1”5.DS18B20的信號(hào)方式DS18B20采用嚴(yán)格的單總線通信協(xié)議,以保證數(shù)據(jù)的完整性。該協(xié)議定義了幾種信號(hào)類型:復(fù)位脈沖、應(yīng)答脈沖、寫0、寫1、讀0和讀1。除了應(yīng)答脈沖所有這些信號(hào)都由主機(jī)發(fā)出同步信號(hào)??偩€上傳輸?shù)乃袛?shù)據(jù)和命令都是以字節(jié)的低位在前。a.初始化序列:復(fù)位脈沖和應(yīng)答脈沖在初始
35、化過程中,主機(jī)通過拉低單總線至少480s,以產(chǎn)生復(fù)位脈沖(TX)。然后主機(jī)釋放總線并進(jìn)入接收(RX)模式。當(dāng)總線被釋放后,5k的上拉電阻將單總線拉高。DS18B20檢測(cè)到這個(gè)上升沿后,延時(shí)15s60s,通過拉低總線60s240s產(chǎn)生應(yīng)答脈沖。初始化波形如圖3-10所示。 圖 3-10 初始化脈沖b.讀和寫時(shí)序在寫時(shí)序期間,主機(jī)向DS18B20寫入指令;而在讀時(shí)序期間,主機(jī)讀入來自DS18B20的指令。在每一個(gè)時(shí)序,總線只能傳輸一位數(shù)據(jù)。l 寫時(shí)序存在兩種寫時(shí)序:“寫1”和“寫0”。主機(jī)在寫1時(shí)序向DS18B20寫入邏輯1,而在寫0時(shí)序向DS18B20寫入邏輯0。所有寫時(shí)序至少需要60s,且在兩
36、次寫時(shí)序之間至少需要1s的恢復(fù)時(shí)間。兩種寫時(shí)序均以主機(jī)拉低總線開始。產(chǎn)生寫1時(shí)序:主機(jī)拉低總線后,必須在15s內(nèi)釋放總線,然后由上拉電阻將總線拉至高電平。產(chǎn)生寫0時(shí)序:主機(jī)拉低總線后,必須在整個(gè)時(shí)序期間保持低電平(至少60s)。在寫時(shí)序開始后的15s60s期間,DS18B20采樣總線的狀態(tài)。如果總線為高電平,則邏輯1被寫入DS18B20;如果總線為低電平,則邏輯0被寫入DS18B20。l DS18B20讀/寫時(shí)序圖3-11所示。 圖3-11 DS18B20讀/寫時(shí)序 DS18B20只能在主機(jī)發(fā)出讀時(shí)序時(shí)才能向主機(jī)傳送數(shù)據(jù)。所以主機(jī)在發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時(shí)序,以便DS18B20能夠傳
37、送數(shù)據(jù)。所有讀時(shí)序至少60s,且在兩次獨(dú)立的讀時(shí)序之間至少需要1s的恢復(fù)時(shí)間。每次讀時(shí)序由主機(jī)發(fā)起,拉低總線至少1s。在主機(jī)發(fā)起讀時(shí)序之后,DS18B20開始在總線上傳送1或0。若DS18B20發(fā)送1,則保持總線為高電平;若發(fā)送0,則拉低總線。當(dāng)傳送0時(shí),DS18B20在該時(shí)序結(jié)束時(shí)釋放總線,再由上拉電阻將總線拉回空閑高電平狀態(tài)。DS18B20發(fā)出的數(shù)據(jù)在讀時(shí)序下降沿起始后的15s內(nèi)有效,因此主機(jī)必須在讀時(shí)序開始后的15s內(nèi)釋放總線,并且采樣總線狀態(tài)。DS18B20 在使用時(shí),一般都采用單片機(jī)來實(shí)現(xiàn)數(shù)據(jù)采集。只需將DS18B20 信號(hào)線與單片機(jī)1 位I/O線相連,且單片機(jī)的1 位I/O 線可掛
38、接多個(gè)DS18B20,就可實(shí)現(xiàn)單點(diǎn)或多點(diǎn)溫度檢測(cè)9。6.DS18B20的溫度計(jì)算DS18B20允許通過程序?qū)鞲衅鞯姆直媛?溫度報(bào)警的上、下限等參數(shù)進(jìn)行配置。它的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存存儲(chǔ)器和一個(gè)非易失性可擦除EPROM。速暫存存儲(chǔ)器共有8個(gè)字節(jié)(byte),每個(gè)字節(jié)8位(bit)。根據(jù)溫度的計(jì)算方法如下:S S S S S = 11111 b 溫度值:T = (MSB and 7) 256 + LSB 0.0625 SSSSS = 00000 b 溫度值:T = - (256 - MSB) 256 - LSB 0.0625 如果,存儲(chǔ)器高位寄存器MS的S S S S S 均為1 ,則被測(cè)
39、溫度為正值,用上面第1個(gè)公式來計(jì)算溫度。如果存儲(chǔ)器高位寄存器MSB的S S S S S均為0,則被測(cè)溫度為負(fù)值,用上面第2個(gè)公式來計(jì)算溫度。在這里,有兩點(diǎn)應(yīng)當(dāng)注意:一是公式中中括號(hào)內(nèi)的數(shù)值為二進(jìn)制,在計(jì)算口號(hào)內(nèi)計(jì)算完成后應(yīng)轉(zhuǎn)化為十進(jìn)制;二是這里的7與0.0625是假設(shè)傳感器的分辨率設(shè)置0.0625時(shí)的計(jì)算值。如果分辨率的設(shè)置值不是0.0625,那么就應(yīng)當(dāng)作相應(yīng)的變化。第3和第4個(gè)字節(jié)分別用來存放溫度報(bào)警的上限(TH)和下限值(TL)。DS18B20在完成溫度變換后,會(huì)將所測(cè)溫度值與貯存在TH和TL內(nèi)的上下限值相比較,如果測(cè)溫結(jié)果高于TH或低于TL,DS18B20內(nèi)部的告警標(biāo)志就會(huì)被置位,表示溫
40、值超出了測(cè)量范圍。并且該值在掉電后不會(huì)丟失,而是記憶其設(shè)定的上下限值。第5字節(jié)是配置寄存器,該寄存器用于對(duì)溫度轉(zhuǎn)換值的分辨率進(jìn)行設(shè)置。其中,最高位用于設(shè)置傳感器是工作模式還是測(cè)試模式,是生產(chǎn)廠家為便于檢驗(yàn)使用。其出廠時(shí)的默認(rèn)值為0,為工作模式(即用戶使用時(shí)的模式)。并且在用戶使用中,該位總是保持為0。R1與R0確定傳感器的分辨率,DS18B20有4種分辨率可供選擇。使用時(shí)可以根據(jù)實(shí)際需要來設(shè)置,出廠時(shí)的默認(rèn)設(shè)置是12位。最后5位總保持為18。 LCD1602A內(nèi)部結(jié)構(gòu)及工作原理工作原理 LCD內(nèi)部結(jié)構(gòu):由CGRAM(自建字型產(chǎn)生器)、DDRAM(數(shù)據(jù)顯示存儲(chǔ)器)、CGROM(內(nèi)含字型產(chǎn)生器)、
41、指令寄存器、數(shù)據(jù)寄存器、地址計(jì)數(shù)器、指令譯碼器等組成 LCD顯示原理:利用旋光效應(yīng)對(duì)光進(jìn)行偏轉(zhuǎn),再利用偏振片濾去不需要透過光的相應(yīng)像素,從而實(shí)現(xiàn)圖像顯示。 LCD驅(qū)動(dòng)原理:分成兩大步,即寫指令,寫數(shù)據(jù),其中寫數(shù)據(jù)之前要找到顯示的位置。本實(shí)驗(yàn)所采用的液晶型號(hào)為L(zhǎng)CD1602A 。它位數(shù)多,可顯示32位,32個(gè)數(shù)碼管體積相當(dāng)龐大了,顯示內(nèi)容豐富,可顯示所有數(shù)字和大、小寫字母,程序簡(jiǎn)單,如果用數(shù)碼管動(dòng)態(tài)顯示,會(huì)占用很多時(shí)間來刷新顯示,而LCD1602A自動(dòng)完成此功能。1602A采用標(biāo)準(zhǔn)的16腳接口如圖3-12所示。圖3-12 1602A的接口圖第1腳:VSS為地電源第2腳:VDD接5V正電源第3腳:
42、V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度(建議接地,弄不好有的模塊會(huì)不顯示)第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:RW為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線。第1516腳:空腳(有的用來接背光) 1602A液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了不同的點(diǎn)陣字符圖形,這些字符有,阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)
43、、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,其中數(shù)字與字母同ASCII碼兼容。其內(nèi)部還有自定義字符(CGRAM),可用業(yè)存儲(chǔ)自已定義的字符。3.4 本章小結(jié)本章簡(jiǎn)單介紹了系統(tǒng)的設(shè)計(jì)思想、硬件組成及主要器件的工作原理。第4章 系統(tǒng)軟件設(shè)計(jì)4.1 軟件設(shè)計(jì)總體思路及主程序流程圖本系統(tǒng)采用C語言編寫,主程序主要由四部分構(gòu)成,系統(tǒng)通電后首先初始化系統(tǒng),依次完成溫度采集、溫度處理、數(shù)據(jù)顯示、鍵盤處理等四項(xiàng)功能。溫度采集部分主要完成溫度測(cè)試點(diǎn)的溫度數(shù)據(jù)采集任務(wù);溫度處理部分主要是將采集到的溫度數(shù)據(jù)與用戶設(shè)定的各點(diǎn)上下限溫度值進(jìn)行比較處理,并判斷是否超出設(shè)定的上下限值,如果超出則led燈亮報(bào)警;數(shù)據(jù)顯示部
44、分主要實(shí)現(xiàn)溫度數(shù)據(jù)的顯示,顯示方式根據(jù)設(shè)計(jì)要求支持溫度測(cè)試點(diǎn)的輪流循環(huán)顯示和固定顯示兩種方式;鍵盤處理部分主要實(shí)現(xiàn)用戶對(duì)系統(tǒng)參數(shù)的設(shè)置,結(jié)合顯示部分,實(shí)現(xiàn)用戶與系統(tǒng)之間的人機(jī)接口。系統(tǒng)軟件主流程如圖4-1所示。 開始系統(tǒng)初始化溫度采集溫度處理數(shù)據(jù)顯示鍵盤處理圖4-1 系統(tǒng)軟件總流程圖4.2 測(cè)溫模塊測(cè)溫流程圖4-2所示。讀溫度初始化溫度傳感器掃描鍵盤選定所需芯片選定所需芯片進(jìn)行溫度轉(zhuǎn)換讀取溫度調(diào)試顯示子程序子程序返回圖4-2 DSl8B20操作流程圖 溫度的采集DSl8B20在其ROM中都存有其唯一的48位序列號(hào),在出廠前已寫入片內(nèi)ROM中,主機(jī)在進(jìn)入操作程序前必須逐一接入DSl8B20,用讀
45、ROM(33H)命令將該DSl8B20的序列號(hào)讀出并登錄。當(dāng)主機(jī)需要對(duì)眾多在線DSl8B20的某一個(gè)進(jìn)行操作時(shí)首先要發(fā)出匹配ROM命令(55H),緊接著主機(jī)提供64位序列(包括該DSl8B20的48位序列號(hào))之后的操作就是針對(duì)該DSl8B20的,而所謂跳過ROM命令即為之后的操作,是對(duì)所有DSl8B20的框圖中先有跳過ROM即是啟動(dòng)所有DSl8B20進(jìn)行溫度變換之后通過匹配ROM再逐一地讀回每個(gè)DSl8B20的溫度數(shù)據(jù)在DSl8B20組成的測(cè)溫系統(tǒng)中主機(jī)在發(fā)出跳過ROM命令之后再發(fā)出統(tǒng)一的溫度轉(zhuǎn)換啟動(dòng)碼44H就可以實(shí)現(xiàn)所有DSl8B20的統(tǒng)一轉(zhuǎn)換再經(jīng)過1s后就可以用很少的時(shí)間去逐一讀取這種方式
46、,使其T值往往小于傳統(tǒng)方式7。 溫度的測(cè)量單總線已經(jīng)掛接了DS18B20。由于已經(jīng)在上面獲取了DS18B20的ROM代碼并在AT89C52單片機(jī)內(nèi)部的中建立了測(cè)量位置點(diǎn)和傳感器64位ROM代碼之間的關(guān)系表,因此對(duì)溫度的巡回測(cè)量的步驟如下:(1)發(fā)跳過ROM命令CCH。(2)發(fā)啟動(dòng)所有在線的DS18B20進(jìn)行溫度轉(zhuǎn)換命令44H。(3)延遲1s。(4)發(fā)匹配ROM命令55H。(5)按照AT89C51中建立的關(guān)系表的順序取出64位ROM代碼發(fā)送到單總線。(6)發(fā)讀溫度值命令BEH,讀取溫度值。(7)進(jìn)行CRC校驗(yàn)和數(shù)據(jù)處理后送LCD顯示器顯示。(8)重復(fù)第4步到第7步,直到所有的DS18B20測(cè)量處
47、理完。(9)再重復(fù)第1步到第8步,進(jìn)行下一輪的巡回測(cè)量。溫度測(cè)量電路流程如圖4-3所示。初始化跳過ROM等待1S初始化設(shè)置18B20符合ROM讀存儲(chǔ)器緩沖指針增一初始化B1=0?否 圖4-3 溫度測(cè)量電路流程4.3 顯示模塊流程圖4-4所示 忙判斷P0.7=1?結(jié)束開始液晶初始化送顯示地址寫指令送顯示字符Y忙判斷P0.7=1?寫數(shù)據(jù)YNN 圖4-4 LCD顯示流程圖 4.4 鍵盤掃描流程圖按鍵處理程序通過掃描按鍵情況,讀取鍵值。主要完成各點(diǎn)溫度傳感器上下限報(bào)警參數(shù)設(shè)置和顯示模式設(shè)置。(1)通過掃描鍵盤讀取鍵值,流程圖如圖4-5所示。YN鍵盤掃描有鍵閉合延時(shí)去鍵抖動(dòng)動(dòng)掃描鍵盤找到閉合鍵計(jì)算鍵值閉
48、合鍵釋放建立有效標(biāo)志返回建立無效標(biāo)志NYNY圖4-5 鍵盤掃描程序流程圖(2)設(shè)置報(bào)警上、下限值 DS18B20設(shè)有溫度上下限報(bào)警功能。DSl8B20的存儲(chǔ)器由兩部分組成:一個(gè)是9字節(jié)的靜態(tài)RAM,其中第0和第1字節(jié)用于存儲(chǔ)16位的溫度轉(zhuǎn)換值,第2(高溫限TH)和第3字節(jié)(低溫限TL)作為溫度報(bào)警限值或通用存儲(chǔ)器單元供用戶使用;另一個(gè)是非易失性的EPROM。當(dāng)靜態(tài)RAM作為溫度報(bào)警限值使用時(shí),可以在系統(tǒng)安裝和工作前,用寫RAM命令4EH將高溫限TH和低溫限TL寫入第2和第3字節(jié)單元。由于靜態(tài)RAM掉電后信息即丟失,因此需要再通過拷貝RAM命令48H將第2和第3字節(jié)單元的溫度報(bào)警限值拷貝到EPR
49、OM中。主程序只要在初始化部分使用重調(diào)EPROM命令B8H,就可以將EPROM中的溫度報(bào)警限值重新拷貝到靜態(tài)RAM中。讀取DDRAM或CGRAM中的內(nèi)容。結(jié)論經(jīng)過幾個(gè)月的不斷學(xué)習(xí)和努力,在劉老師的諄諄教導(dǎo)下,在其他老師及同學(xué)們的熱心幫助與指導(dǎo)下,基于單片機(jī)的溫度測(cè)控系統(tǒng)的畢業(yè)實(shí)踐報(bào)告即將結(jié)束,基本完成了老師所規(guī)定的各項(xiàng)工作任務(wù)。 本報(bào)告介紹了用單片機(jī)AT89C52控制DS18B20以及著重分析各單元電路的設(shè)計(jì),以及各電路與單片機(jī)的接口技術(shù)。最后還給出系統(tǒng)的軟件的設(shè)計(jì)過程,使用了C語言進(jìn)行程序設(shè)計(jì)。本文是采用模塊化的方式進(jìn)行敘述,對(duì)各模塊的設(shè)計(jì)進(jìn)行了比較詳細(xì)地闡述。通過本次溫度監(jiān)控系統(tǒng)的設(shè)計(jì),我
50、大有收獲,在制作過程中,一定要注意的每個(gè)工驟的檢查,確保制作成功。比如在合理選擇模塊,檢查裝配無誤的情況下,如果還出現(xiàn)電路無輸出的情況,那么可以肯定是原理圖錯(cuò)誤,這時(shí)就要回到原理圖進(jìn)行檢查。從整體來說這是一個(gè)復(fù)雜的過程,要細(xì)心謹(jǐn)慎,沉著冷靜,反復(fù)檢查,直到找到原因?yàn)橹?。?jīng)過三年學(xué)習(xí)的積累,在已經(jīng)掌握相關(guān)專業(yè)方面知識(shí)及其它各方面知識(shí)的情況下,我認(rèn)真嚴(yán)肅的完成了我的畢業(yè)實(shí)踐報(bào)告。從得到題目到查找資料,從對(duì)題目的研究設(shè)定到程序的調(diào)試,從電路圖的仿真調(diào)試到失敗后再一次全部重新開始在這一個(gè)充滿挑戰(zhàn)伴隨挫折,充滿熱情伴隨打擊的過程中,我感觸頗深,它已不僅是一個(gè)對(duì)我學(xué)習(xí)知識(shí)情況和我的應(yīng)用動(dòng)手能力的檢驗(yàn),而且
51、還是對(duì)我的鉆研精神,面對(duì)困難的心態(tài),做事的毅力和耐心的考驗(yàn)。我在這個(gè)過程中深刻的感受到了做畢業(yè)設(shè)計(jì)的意義所在,和我一樣真正投入了身心去做的人也一定會(huì)有同樣的感觸。本課題的重點(diǎn)、難點(diǎn)是:(1) 初步接觸溫度傳感器,要對(duì)傳感器的原理、結(jié)構(gòu)、應(yīng)用等各方面;(2) 考慮從非電量信號(hào)到電量信號(hào)的電路實(shí)現(xiàn)原理以及與單片機(jī)的接口;(3) 熟悉編程的技術(shù);(4) 考究調(diào)整電路的實(shí)現(xiàn)過程以及怎么樣通過單片機(jī)來間接的控制。通過做本課題,我了解并掌握了傳感器的基本理論知識(shí),更深入的掌握單片機(jī)的開發(fā)應(yīng)用和PC編程控制。為以后從事單片機(jī)軟硬件產(chǎn)品的設(shè)計(jì)開發(fā)、PC軟件開發(fā)打下了良好的基礎(chǔ),樹立獨(dú)立從事產(chǎn)品研發(fā)的信心,并在
52、這種能力上得到了比較充分的鍛煉。謝 辭在本次實(shí)踐報(bào)告中,我得到了指導(dǎo)老師黃培老師的指導(dǎo)。自始至終關(guān)心督促進(jìn)程和進(jìn)度。幫助解決畢業(yè)設(shè)計(jì)(論文)中遇到的許多問題。還不斷向我傳授分析問題和解決問題的辦法,并指出了正確的努力方向,使我在畢業(yè)設(shè)計(jì)(論文過程中少走很多彎路。并致以誠(chéng)摯的謝意!另外,系里的領(lǐng)導(dǎo)和老師也給了我們很多的指導(dǎo),我也向系和年級(jí)的領(lǐng)導(dǎo)們表示衷心的感謝!最后感謝學(xué)院對(duì)我這幾年的培養(yǎng)。參考文獻(xiàn)1何立民,單片機(jī)高級(jí)教程.北京航空航天大學(xué)出版社,2004.72 粟世明,劉湘濤.單片機(jī)原理與應(yīng)用.電子工業(yè)出版社,2006.83 何立民,單片機(jī)中級(jí)教程.北京航空航天大學(xué)出版社,1999.124 李華,MCU-51系列單片機(jī)實(shí)用接口技術(shù).北京:北京航空航天大學(xué)出版
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024高考地理一輪復(fù)習(xí)一等值線專練含解析
- 小學(xué)2025年教育教學(xué)工作計(jì)劃
- 工程竣工財(cái)務(wù)決算資料清單
- 工程項(xiàng)目安全生產(chǎn)操作規(guī)程
- 二零二五年股份制企業(yè)股東墊資及利潤(rùn)分成協(xié)議3篇
- 小動(dòng)物三年級(jí)作文300字
- 2024年深圳信息職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫含答案解析
- 芯軸粗車一序作業(yè)指導(dǎo)書.文檔
- 第3章電阻式傳感器講解學(xué)習(xí)
- 2024年陜西正和醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 2024年市場(chǎng)運(yùn)營(yíng)部職責(zé)樣本(3篇)
- 2024體育活動(dòng)區(qū)鋪沙子(合同)協(xié)議
- 民辦學(xué)校招生教師培訓(xùn)
- 《中華人民共和國(guó)機(jī)動(dòng)車駕駛?cè)丝颇恳豢荚囶}庫》
- 2024年VB程序設(shè)計(jì):從入門到精通
- 2024年故宮文化展覽計(jì)劃:課件創(chuàng)意與呈現(xiàn)
- 煉鐵行業(yè)的安全生產(chǎn)與環(huán)境保護(hù)考核試卷
- 公共交通乘客投訴管理制度
- 抗菌藥物的合理應(yīng)用培訓(xùn)
- 初三數(shù)學(xué)老師家長(zhǎng)會(huì)發(fā)言稿
- 能源崗位招聘筆試題及解答(某大型央企)
評(píng)論
0/150
提交評(píng)論