版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、學(xué)位論文原創(chuàng)性聲明 本人鄭重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫的成果作品。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。作者簽名: 年 月 日 學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保障、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向有關(guān)學(xué)位論文管理部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)省級(jí)優(yōu)秀學(xué)士學(xué)位論文評(píng)選機(jī)構(gòu)將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。本學(xué)位論文屬于1、保密 ,在_年解密
2、后適用本授權(quán)書。2、不保密 。(請(qǐng)?jiān)谝陨舷鄳?yīng)方框內(nèi)打“”)作者簽名: 年 月 日 導(dǎo)師簽名: 年 月 日 目 錄 TOC o 1-3 h z u HYPERLINK l _Toc322637085 摘要( PAGEREF _Toc322637085 h 1) HYPERLINK l _Toc322637086 關(guān)鍵詞( PAGEREF _Toc322637086 h 1) HYPERLINK l _Toc322637087 前言( PAGEREF _Toc322637087 h 1) HYPERLINK l _Toc322637088 1、概述( PAGEREF _Toc322637088 h
3、 2) HYPERLINK l _Toc322637089 選題的研究目的和意義( PAGEREF _Toc322637089 h 2) HYPERLINK l _Toc322637090 溫控系統(tǒng)在國內(nèi)外的發(fā)展?fàn)顩r( PAGEREF _Toc322637090 h 2) HYPERLINK l _Toc322637091 2、總體設(shè)計(jì)及功能( PAGEREF _Toc322637091 h 3) HYPERLINK l _Toc322637092 2.1 總體方案( PAGEREF _Toc322637092 h 3) HYPERLINK l _Toc322637093 2.2 功能介紹(
4、PAGEREF _Toc322637093 h 4) HYPERLINK l _Toc322637094 3、硬件設(shè)計(jì)( PAGEREF _Toc322637094 h 4) HYPERLINK l _Toc322637095 3.1 溫度采集系統(tǒng)設(shè)計(jì)( PAGEREF _Toc322637095 h 4) HYPERLINK l _Toc322637096 溫度傳感器DS18B20的性能和結(jié)構(gòu)( PAGEREF _Toc322637096 h 4) HYPERLINK l _Toc322637097 3.1.2 DS18B20工作原理( PAGEREF _Toc322637097 h 5)
5、HYPERLINK l _Toc322637098 3.1.3 溫度傳感器DS18B20的應(yīng)用電路( PAGEREF _Toc322637098 h 7) HYPERLINK l _Toc322637099 3.1.4 溫度采集系統(tǒng)硬件原理圖( PAGEREF _Toc322637099 h 7) HYPERLINK l _Toc322637100 3.2 AT89C51的介紹及功能結(jié)構(gòu)( PAGEREF _Toc322637100 h 8) HYPERLINK l _Toc322637101 3.2.1 AT89C51的介紹( PAGEREF _Toc322637101 h 8) HYPER
6、LINK l _Toc322637102 3.2.2 最小系統(tǒng)原理圖( PAGEREF _Toc322637102 h 10) HYPERLINK l _Toc322637103 3.3 LCD顯示系統(tǒng)( PAGEREF _Toc322637103 h 11) HYPERLINK l _Toc322637104 3.4 按鍵設(shè)置電路( PAGEREF _Toc322637104 h 12) HYPERLINK l _Toc322637105 3.5 聲光報(bào)警電路( PAGEREF _Toc322637105 h 13) HYPERLINK l _Toc322637106 3.6 溫度采集系統(tǒng)總
7、電路圖( PAGEREF _Toc322637106 h 14) HYPERLINK l _Toc322637107 4、軟件設(shè)計(jì)( PAGEREF _Toc322637107 h 15) HYPERLINK l _Toc322637108 4.1 主程序流程圖( PAGEREF _Toc322637108 h 15) HYPERLINK l _Toc322637109 4.2 溫度采集系統(tǒng)軟件設(shè)計(jì)流程( PAGEREF _Toc322637109 h 16) HYPERLINK l _Toc322637110 4.3 顯示子程序流程圖( PAGEREF _Toc322637110 h 18)
8、 HYPERLINK l _Toc322637111 4.4 按鍵子程序流程圖(18) HYPERLINK l _Toc322637112 5、系統(tǒng)仿真(18) HYPERLINK l _Toc322637113 5.1 仿真總電路圖(18) HYPERLINK l _Toc322637114 5.2 仿真和調(diào)試( PAGEREF _Toc322637114 h 19) HYPERLINK l _Toc322637115 5.2.1 仿真設(shè)置( PAGEREF _Toc322637115 h 19) HYPERLINK l _Toc322637116 5.2.2 調(diào)試和分析( PAGEREF
9、_Toc322637116 h 20) HYPERLINK l _Toc322637117 6、總結(jié)( PAGEREF _Toc322637117 h 21) HYPERLINK l _Toc322637118 致謝( PAGEREF _Toc322637118 h 21) HYPERLINK l _Toc322637119 參考文獻(xiàn)( PAGEREF _Toc322637119 h 22) HYPERLINK l _Toc322637120 附錄( PAGEREF _Toc322637120 h 23)數(shù)字式多路溫度采集系統(tǒng)的設(shè)計(jì)學(xué)生:趙龍指導(dǎo)老師:楊先衛(wèi)三峽大學(xué) 理學(xué)院摘要:本設(shè)計(jì)是制作一
10、個(gè)單片機(jī)控制的數(shù)字式多路溫度采集系統(tǒng)。采用了AT89C51芯片為主控制器,通過一線制溫度傳感器DS18B20實(shí)現(xiàn)溫度采集,將信息通過C51芯片處理后在LCD中顯示。此設(shè)計(jì)實(shí)現(xiàn)了四路溫度的實(shí)時(shí)監(jiān)控,通過按鍵方式進(jìn)行手動(dòng)切換通道,在LCD特定位置顯示具體的溫度,同時(shí)設(shè)有五個(gè)開關(guān)根據(jù)需要任意設(shè)定上下限定報(bào)警溫度。系統(tǒng)檢測溫度范圍為55125,。它使用起來方便,具有精度高、量程寬、靈敏度高、體積小、功率低等優(yōu)點(diǎn),適合與日常生活溫度測量,也可以當(dāng)作溫度處理模塊嵌入其他系統(tǒng)中,作為其他系統(tǒng)的輔助擴(kuò)展。并且,該系統(tǒng)結(jié)構(gòu)簡單,抗干擾能力強(qiáng),適合于惡劣環(huán)境下進(jìn)行現(xiàn)場溫度測量,具有廣泛的應(yīng)用前景。Abstract
11、: the design is making a single chip microcomputer control digital multi-channel temperature gathering system. The AT89C51 chip primarily controller, through a wire temperature sensor DS18B20 realize temperature gathering, the information through the C51 chip in LCD display after. This design realiz
12、e the four ways of real-time monitoring of temperature, through the key ways switch manual channel, in LCD display specific temperature particular location, at the same time, with five switch according to need any set up and down the temperature limit alarm.System testing temperature range for -55 +
13、125 , the temperature sensor resolution 0.0625 . It is easy to use, with high precision, wide range, high sensitivity, small volume, low power advantage, suitable for everyday life and temperature measurement, also can be used as temperature processing module embedded in other systems, as other syst
14、em of auxiliary expansion. And, the system structure is simple, strong anti-interference, suitable for a harsh environment temperature measurement on the spot, and has a broad prospect of application.關(guān)鍵詞:AT89C51;DS18B20;報(bào)警系統(tǒng);LCD Keywords: AT89C51; DS18B20; Alarm system; LCD前言隨著人們生活水平的不斷提高,單片機(jī)控制無疑是人們
15、追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的。單片機(jī)在測控領(lǐng)域中具有十分廣泛的應(yīng)用,它既可以測量電信號(hào),又可以測量溫度濕度等非電信號(hào)。由單片機(jī)構(gòu)成的溫度檢測、溫度控制系統(tǒng)可廣泛應(yīng)用于很多領(lǐng)域。單片機(jī)在工業(yè)控制、尖端武器、通信設(shè)備、信息處理、家用電器等各測控領(lǐng)域的應(yīng)用中獨(dú)占鰲頭。今天,我們的生活環(huán)境和工作環(huán)境有越來越多稱之為單片機(jī)的小電腦在為我們服務(wù)。時(shí)下,家用電器和辦公設(shè)備的智能化、遙控化、模糊控制化系統(tǒng)己成為世界潮流,而這些高性能無一不是靠單片機(jī)來實(shí)現(xiàn)的。1 概述 設(shè)計(jì)本課題能夠讓我在所學(xué)的微型計(jì)算機(jī)原理及接口技術(shù)課程、單片機(jī)課程的基礎(chǔ)上實(shí)現(xiàn)對(duì)實(shí)際問題的分析、研究的能力和具有初步解決此類
16、問題的能力。通過本課題的完成,能夠?qū)ΜF(xiàn)代工業(yè)中的微機(jī)過程控制技術(shù)有著進(jìn)一步的了解和熟悉,并為今后從事工業(yè)控制領(lǐng)域的相關(guān)工作提供幫助。溫度控制系統(tǒng)在國內(nèi)各行各業(yè)的應(yīng)用雖然已經(jīng)十分廣泛,但從生產(chǎn)的溫度控制器來講,總體發(fā)展水平仍然不高,同日本、美國、德國等先進(jìn)國家相比有著較大差距。目前,我國在這方面總體技術(shù)水平處于20世紀(jì)80年代中后期水平,成熟產(chǎn)品主要以“點(diǎn)位”控制及常規(guī)的PID控制器為主。它只能適應(yīng)一般溫度系統(tǒng)控制,難于控制滯后、復(fù)雜、時(shí)變溫度系統(tǒng)控制。而適應(yīng)于較高控制場合的智能化、自適應(yīng)控制儀表,國內(nèi)技術(shù)還不十分成熟,形成商品化并在儀表控制參數(shù)的自整定方面,國外已有較多的成熟產(chǎn)品。但由于國外技
17、術(shù)保密及我國開發(fā)工作的滯后,還沒有開發(fā)出性能可靠的自整定軟件??刂茀?shù)大多靠人工經(jīng)驗(yàn)及現(xiàn)場調(diào)試確定。國外溫度控制系統(tǒng)發(fā)展迅速,并在智能化、自適應(yīng)、參數(shù)自整定等方面取得成果。日本、美國、德國、瑞典等技術(shù)領(lǐng)先,都生產(chǎn)出了一批商品化的、性能優(yōu)異的溫度控制器及儀器儀表,并在各行業(yè)廣泛應(yīng)用。它們主要具有如下的特點(diǎn):一是適應(yīng)于大慣性、大滯后等復(fù)雜溫度控制系統(tǒng)的控制;二是能夠適應(yīng)于受控系統(tǒng)數(shù)學(xué)模型難以建立的溫度控制系統(tǒng)的控制;三是能夠適應(yīng)于受控系統(tǒng)過程復(fù)雜、參數(shù)時(shí)變的溫度控制系統(tǒng)的控制;四是溫度控制系統(tǒng)普遍采用自適應(yīng)控制、自校正控制、模糊控制、人工智能等理論及計(jì)算機(jī)技術(shù),運(yùn)用先進(jìn)的算法,適應(yīng)的范圍廣泛;五是
18、溫控器普遍具有參數(shù)自整定功能。借助計(jì)算機(jī)軟件技術(shù),溫控器具有對(duì)控制對(duì)象控制參數(shù)及特性進(jìn)行自動(dòng)整定的功能。有的還具有自學(xué)習(xí)功能,能夠根據(jù)歷史經(jīng)驗(yàn)及控制對(duì)象的變化情況,自動(dòng)調(diào)整相關(guān)控制參數(shù),以保證控制效果的最優(yōu)化;六是具有控制精度高、抗干擾力強(qiáng)、魯棒性好的特點(diǎn)。目前,溫度控制系統(tǒng)及儀表正朝著高精度、智能化、小型化等方面快速發(fā)展。在20世紀(jì)90年代中期最早推出的智能溫度傳感器,采用的是8位A/D轉(zhuǎn)換器,其測溫精度較低,分辨力只能達(dá)到1C,測溫精度為C。為了提高多通道智能溫度傳感器的轉(zhuǎn)換速率,也有的芯片采用高速逐次逼近式A/D轉(zhuǎn)換器。以AD7817型5通道智能溫度傳感器為例,它對(duì)本地傳感器、每一路遠(yuǎn)程
19、傳感器的轉(zhuǎn)換時(shí)間分別僅為27us、9us。進(jìn)入21世紀(jì)后,溫度傳感器的發(fā)展趨勢正朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及安全性、開發(fā)虛擬傳感器和 HYPERLINK :/ newasp / t _blank 網(wǎng)絡(luò)傳感器、研制單片測溫系統(tǒng)等高科技的方向迅速發(fā)展。所以數(shù)字溫度傳感器得以更加廣泛的應(yīng)用。 數(shù)字溫度傳感器DS18B20是智能溫度傳感器一種,它將非電模擬量溫度值轉(zhuǎn)換為數(shù)字信號(hào)輸出僅需占用 1 位 I/O 端口,能夠直接讀取被測物體的溫度值。它體積小,電壓適用范圍寬 3 V5 V,用戶還可以通過編程實(shí)現(xiàn) 912 位的溫度讀數(shù),即具有可調(diào)的溫度分辨率,因此它的實(shí)用性和可靠性比同類產(chǎn)品更高。
20、針對(duì)測溫系統(tǒng)的發(fā)展趨勢,本課題提出了使用DS18B20作為傳感器的多路測溫系統(tǒng)。2 總體設(shè)計(jì)及功能2.1 總體方案圖2.1 總流程圖本設(shè)計(jì)主要有溫度采集、溫度顯示、按鍵和報(bào)警模塊組成,如圖2.1,根據(jù)系統(tǒng)的設(shè)計(jì)要求,當(dāng)溫度傳感器DS18B20把所測得的溫度發(fā)送到AT89C51單片機(jī)上,經(jīng)AT89C51處理,將溫度在顯示器LCD上顯示。當(dāng)開機(jī)后,顯示屏和計(jì)時(shí)器進(jìn)行初始化設(shè)置。同時(shí),本系統(tǒng)能夠設(shè)置報(bào)警溫度,在超過報(bào)警溫度時(shí)能夠通過LED發(fā)光二極管以及發(fā)音器提示報(bào)警。2.2 功能介紹利用AT89C51芯片控制溫度傳感器DS18B20進(jìn)行實(shí)時(shí)溫度檢測并顯示,能夠?qū)崿F(xiàn)快速測量環(huán)境溫度。選擇DS18B20
21、作為本系統(tǒng)的溫度傳感器,選擇單片機(jī)AT89C51為測控系統(tǒng)的核心來完成數(shù)據(jù)采集、處理、顯示、報(bào)警等功能。選用數(shù)字溫度傳感器DS18B20,輸出信號(hào)全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測溫方法的很多外圍電路,省卻了采樣保持電路、運(yùn)放、數(shù)模轉(zhuǎn)換電路以及進(jìn)行長距離傳輸時(shí)的串并轉(zhuǎn)換電路,簡化了電路,縮短了系統(tǒng)的工作時(shí)間,降低了系統(tǒng)的硬件成本。當(dāng)LCD液晶顯示器接收到來自AT89C51單片機(jī)傳送來的溫度信息后,分別顯示了當(dāng)前的溫度。設(shè)計(jì)要求設(shè)計(jì)的主要功能和指標(biāo)如下:(1)利用溫度傳感器(DS18B20)測量多點(diǎn)環(huán)境溫度。(2)測量范圍為-55125,精度為。(3)用液晶進(jìn)行實(shí)際溫度值顯示。(4)能
22、夠自主設(shè)置上、下限報(bào)警溫度。(5)當(dāng)超過報(bào)警溫度后,能夠自動(dòng)發(fā)出聲光報(bào)警。3 硬件設(shè)計(jì)3.1 溫度采集系統(tǒng)設(shè)計(jì)3溫度傳感器DS18B20的性能和結(jié)構(gòu)溫度采集模塊選用數(shù)字式溫度傳感器DS18B20,其可以與單片機(jī)I/O口直接連接,不需要外接A/D轉(zhuǎn)換模塊。 DS18B20的性能特點(diǎn)如下: (1)獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信; (2)可通過數(shù)據(jù)線供電,電壓范圍為3.05.5; (3)溫度測量范圍為55125; (4); (5)溫度以9位或12位A/D轉(zhuǎn)換; DS18B20的外形和內(nèi)部結(jié)構(gòu) DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和
23、TL、配置寄存器。DS18B20的外形及管腳排列如下圖3.1: 圖3.1: DS18B20外形及引腳排列圖DS18B20引腳定義: (1)DQ為數(shù)字信號(hào)輸入/輸出端; (2)GND為電源地; (3)VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)圖3.2: DS18B20內(nèi)部結(jié)構(gòu)圖3 DS18B20工作原理DS18B20的讀寫時(shí)序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時(shí)的延時(shí)時(shí)間由2s減為750ms。 DS18B20測溫原理如圖3.3所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給計(jì)數(shù)器1。高溫度系數(shù)晶振隨溫度變
24、化其振蕩率明顯改變,所產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在55所對(duì)應(yīng)的一個(gè)基數(shù)值。計(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ù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測溫度。圖中的斜率累加器用于補(bǔ)償和修正測溫過程中的非線性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值。 斜率累加器預(yù)置低溫度系數(shù)晶振計(jì)數(shù)器1比較預(yù)置溫度寄存器=0高溫度系數(shù)晶振計(jì)數(shù)器2=0LSB置位/清除加1停止圖3.3: DS18B
25、20測溫原理框圖DS18B20有4個(gè)主要的數(shù)據(jù)部件: (1)光刻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)。光刻ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。/LSB形式表達(dá),其中S為符號(hào)位。 DS18B20溫度值格式表3.1bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0232221202-12-
26、22-32-4bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8SSSSS262524。DS18B20溫度數(shù)據(jù)表3.2TEMPERATUREDIGTAL OUTPUT(Binary)DIGITAL OUTPUT(Hex)+1250000 0111 1101 000007D0H+850000 0101 0101 0000 0550H0000 0001 1001 00010191H0000 0000 1010 0010 00A2H0000 0000 0000 10000008H00000 0000 0000 0000 0000H1111 1111 1111
27、1000FFF8H1111 1111 0101 1110FF5EH1111 1110 0110 1111FF6EH-551111 1100 1001 0000FC90H3 溫度傳感器DS18B20的應(yīng)用電路在DS18B20中,DQ為數(shù)字信號(hào)輸人輸出端;GND為電源地;VDD為外接供電電源輸入端。DS18B20采用3腳TO-126封裝,DS18B20芯片連接電路如2.4。 圖3.4 DS18B20與單片機(jī)接口電路3.1.4 溫度采集系統(tǒng)硬件原理圖 溫度采集主要采用四個(gè)DS18B20溫度傳感器一條總線連接P3.3,采用中斷方式傳輸,如圖3.5。圖3.5 溫度采集系統(tǒng)原理圖3.2 AT89C51的介
28、紹及功能結(jié)構(gòu)3.2.1 AT89C51的介紹AT89C51單片機(jī)是美國INTE公司于1980年推出的產(chǎn)品,指令數(shù)達(dá)111條,MCS-51單片機(jī)可以算是相當(dāng)成功的產(chǎn)品7,一直到現(xiàn)在,MCS-51系列或其兼容的單片機(jī)仍是應(yīng)用的主流產(chǎn)品。 AT89C51有4組8位I/O口:P0、P1、P2和P3口,P1、P2和P3為準(zhǔn)雙向口,P0口則為雙向三態(tài)輸入輸出口。 P0口和P2口: 電路中包含一個(gè)數(shù)據(jù)輸出鎖存器和兩個(gè)三態(tài)數(shù)據(jù)輸入緩沖器,另外還有一個(gè)數(shù)據(jù)輸出 的驅(qū)動(dòng)和控制電路。這兩組口線用來作為CPU與外部數(shù)據(jù)存儲(chǔ)器、外部程序存儲(chǔ)器和I/O擴(kuò)展口,而不能象P1、P3直接用作輸出口它們一起可以作為外部地址總線,
29、P0口身兼兩職,既可作為地址總線,也可作為數(shù)據(jù)總線。 P2口:作為外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器的地址總線的高8位輸出口AB8-AB15,P0口由ALE選通作為地址總線的低8位輸出口AB0-AB7。外部的程序存儲(chǔ)器由PSEN信號(hào)選通,數(shù)據(jù)存儲(chǔ)器則由WR和RD讀寫信號(hào)選通,因?yàn)?16=64k所以8051最大可外接64kB的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。 P1口:8位準(zhǔn)雙向口,每一位均可單獨(dú)定義為輸入或輸出口,當(dāng)作為輸入口時(shí),1寫入鎖存器,Q(非)=0,T2截止,內(nèi)上拉電阻將電位拉至“1”,此時(shí)該口輸出為1,當(dāng)0寫入鎖存器,Q(非)=1,T2導(dǎo)通,輸出則為0。作為輸入口時(shí),鎖存器置1,Q(非)=0,T2截止
30、,此時(shí)該位既可以把外部電路拉成低電平,也可由內(nèi)部上拉電阻拉成高電平,正因?yàn)檫@個(gè)原因,所以P1口常稱為準(zhǔn)雙向口。需要說明的是,作為輸入口使用時(shí),有兩種情況,其一是:首先是讀鎖存器的內(nèi)容,進(jìn)行處理后再寫到鎖存器中,這種操作即讀修改寫操作,象JBC(邏輯判斷)、CPL(取反)、INC(遞增)、DEC(遞減)、ANL(與邏輯)和ORL(邏輯或)指令均屬于這類操作。其二是:讀P1口線狀態(tài)時(shí),打開三態(tài)門G2,將外部狀態(tài)讀入CPU。 AT89C51的串行通信口 AT89C51單片機(jī)內(nèi)部有一個(gè)全雙工的串行通信口,即串行接收和發(fā)送緩沖器(SBUF),這兩個(gè)在物理上獨(dú)立的接收發(fā)送器,既可以接收數(shù)據(jù)也可以發(fā)送數(shù)據(jù)。
31、但接收緩沖器只能讀出不能寫入,而發(fā)送緩沖器則只能寫入不能讀出,它們的地址為99H。這個(gè)通信口既可以用于網(wǎng)絡(luò)通信,亦可實(shí)現(xiàn)串行異步通信,還可以構(gòu)成同步移位寄存器使用。如果在傳行口的輸入輸出引腳上加上電平轉(zhuǎn)換器,就可方便地構(gòu)成標(biāo)準(zhǔn)的RS-232接口8。 基本概念 數(shù)據(jù)通信的傳輸方式有單工,半雙工,全雙工和多工方式。 半雙工方式:數(shù)據(jù)可實(shí)現(xiàn)雙向傳送,但不能同時(shí)進(jìn)行,實(shí)際的應(yīng)用采用某種協(xié)議實(shí)現(xiàn)收/發(fā)開關(guān)轉(zhuǎn)換。 全雙工方式:允許雙方同時(shí)進(jìn)行數(shù)據(jù)雙向傳送,但一般全雙工傳輸方式的線路和設(shè)備較復(fù)雜。 串行數(shù)據(jù)通信兩種形式:異步通信和同步通信。 串行數(shù)據(jù)通信的傳輸速率。 串行數(shù)據(jù)傳輸速率9有兩個(gè)概念,即每秒轉(zhuǎn)送
32、的位數(shù)bps(Bit per second)和每秒符號(hào)數(shù)波特率(Band rate),在具有調(diào)制解調(diào)器的通信中,波特率與調(diào)制速率有關(guān)。 MCS-51的串行口和控制寄存器 串行口控制寄存器 MCS-51單片機(jī)串行口寄存器結(jié)構(gòu)如圖3.6所示。SBUF為串行口的收發(fā)緩沖器,它是一個(gè)可尋址的專用寄存器,其中包含了接收器和發(fā)送器寄存器,可以實(shí)現(xiàn)全雙工通信。但這兩個(gè)寄存器具有同一地址(99H)。MCS-51的串行數(shù)據(jù)傳輸很簡單,只要向發(fā)送緩沖器寫入數(shù)據(jù)即可發(fā)送數(shù)據(jù)。而從接收緩沖器讀出數(shù)據(jù)即可接收數(shù)據(jù)10。此外,接收緩沖器前還加上一級(jí)輸入移位寄存器,MCS-51這種結(jié)構(gòu)目的在于接收數(shù)據(jù)時(shí)避免發(fā)生數(shù)據(jù)幀重疊現(xiàn)
33、象,以免出錯(cuò),部分文獻(xiàn)稱這種結(jié)構(gòu)為雙緩沖器結(jié)構(gòu)。而發(fā)送數(shù)據(jù)時(shí)就不需要這樣設(shè)置,因?yàn)榘l(fā)送時(shí),CPU是主動(dòng)的,不可能出現(xiàn)這種現(xiàn)象。 圖3.6 Mcs-51串行口寄存器結(jié)構(gòu)串行通信控制寄存器 SCON控制寄存器是一個(gè)可尋址的專用寄存器,用于串行數(shù)據(jù)的通信控制,單元地址是98H,其結(jié)構(gòu)格式如表: 表3.3 SCON寄存器結(jié)構(gòu)SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH8DH9CH9BH9AH99H98HSM0、SM1:串行口工作方式控制位。 SM0,SM1有四種工作方式(方式0,方式1,方式2,方式3) SM2:多機(jī)通信11控制位。 多機(jī)通信1
34、1是工作于方式2和方式3,SM2位主要用于方式2和方式3。接收狀態(tài),當(dāng)串行口工作于方式2或3,以及SM2=1時(shí),只有當(dāng)接收到第9位數(shù)據(jù)(RB8)為1時(shí),才把接收到的前8位數(shù)據(jù)送入SBUF,且置位RI發(fā)出中斷申請(qǐng)否則會(huì)將接受到的數(shù)據(jù)放棄。當(dāng)SM2=0時(shí),就不管第位數(shù)據(jù)是0還是1,都難得數(shù)據(jù)送入SBUF,并發(fā)出中斷申請(qǐng)。工作于方式0時(shí),SM2必須為0。 REN:允許接收位。 REN用于控制數(shù)據(jù)接收的允許和禁止,REN=1時(shí),允許接收,REN=0時(shí),禁止接收。 TB8:發(fā)送接收數(shù)據(jù)位8。 在方式2和方式3中,TB8是要發(fā)送的即第9位數(shù)據(jù)位。在多機(jī)通信中同樣亦要傳輸這一位,并且它代表傳輸?shù)牡刂愤€是數(shù)據(jù)
35、,TB8=0為數(shù)據(jù),TB8=1時(shí)為地址。 RB8:接收數(shù)據(jù)位8。 在方式2和方式3中,RB8存放接收到的第9位數(shù)據(jù),用以識(shí)別接收到的數(shù)據(jù)特征。 TI:發(fā)送中斷標(biāo)志位。 可尋址標(biāo)志位。方式0時(shí),發(fā)送完第8位數(shù)據(jù)后,由硬件置位,其它方式下,在發(fā)送或停止位之前由硬件置位,因此,TI=1表示幀發(fā)送結(jié)束,TI可由軟件清“0”。 RI:接收中斷標(biāo)志位。 可尋址標(biāo)志位。接收完第8位數(shù)據(jù)后,該位由硬件置位,在其他工作方式下,該位由硬件置位,RI=1表示幀接收完成。 電源管理寄存器PCON ,PCON主要是為CHMOS型單片機(jī)的電源控制而設(shè)置的專用寄存器,單元地址是87H,其結(jié)構(gòu)格式如表: 表3.4 PCON電
36、源管理寄存器結(jié)構(gòu)PCOND7D6D5D4D3D2D1D0位符號(hào)SMON-GF1 GF0PDIDL在CHMOS型單片機(jī)中,除SMOD位外,其他位均為虛設(shè)的,SMOD是串行口波特率倍增位,當(dāng)SMOD=1時(shí),串行口波特率加倍。系統(tǒng)復(fù)位默認(rèn)為SMOD=0。 中斷允許寄存器IE12。 ES為串行中斷允許控制位,ES=1允許串行中斷,ES=0,禁止串行中斷。 表3.5 IE中斷允許控制寄存器結(jié)構(gòu)位符號(hào)EA-ESET1EX1ET0EX0位地址AFHAEHADHACHABHAAHA9HA8H3.2.2 最小系統(tǒng)原理圖單片機(jī)AT89C51的最小系統(tǒng)包括晶體振蕩電路、復(fù)位開關(guān)和電源幾個(gè)部分。圖3.7即為AT89C
37、51單片機(jī)的最小系統(tǒng)結(jié)構(gòu)圖,它是單片機(jī)進(jìn)行正常工作所必需的部分。圖3.7 最小系統(tǒng)原理圖3.3 LCD顯示系統(tǒng)(1)用 P3.來完成1602LCD的顯示。1602LCD顯示電路接口圖如圖3.8圖3.8 1602LCD顯示電路(2)1602LCD工作原理 1602LCD采用標(biāo)準(zhǔn)的14腳接口,其中:第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度。第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器 。第5腳:RW為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電
38、平時(shí)進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線。另外引腳“A”和“K”為背光引腳,“A”接正,“K”接負(fù)便會(huì)點(diǎn)亮背光燈。 1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址4
39、1H中的點(diǎn)陣字符圖形顯示出來我們就能看到字母“A”,1602液晶模塊內(nèi)部的控制器共有11條控制指令,它的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。(說明:1為高電平、0為低電平) 指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置;指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H;指令3:光標(biāo)和顯示模式設(shè)置,I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移,S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效;指令4:顯示開關(guān)控制,D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示,C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo),B:控制光標(biāo)是否閃爍,高電平閃爍
40、,低電平不閃爍;指令5:光標(biāo)或顯示移位,S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo);指令6:功能設(shè)置命令,DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線,N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示,F(xiàn): 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符;指令7:字符發(fā)生器RAM地址設(shè)置;指令8:DDRAM地址設(shè)置;指令9:讀忙信號(hào)和光標(biāo)地址,BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙;指令10:寫數(shù)據(jù);指令11:讀數(shù)據(jù)。3.4 按鍵設(shè)置電路按鍵采用獨(dú)立式設(shè)計(jì),共用五個(gè)按鍵。按鍵部分電路如圖3.9圖3.9 按鍵原理圖具體按鍵功能: S1:溫度
41、值設(shè)定按鍵“+”。設(shè)置報(bào)警溫度上、下限值,此鍵完成加的功能。 S2:溫度值設(shè)定按鍵“”。設(shè)置報(bào)警溫度上、下限值,此鍵完成減的功能。 S3:光標(biāo)位置移動(dòng),從左到右循環(huán)移動(dòng)。 S4:溫度值設(shè)置。按下此鍵開始設(shè)置報(bào)警溫度值。 S5:溫度值發(fā)送鍵。直接才P0.0口用上拉電阻借到按鍵上,當(dāng)S5按下,P0.0置0,使采集到的溫度值發(fā)送到從機(jī)串口數(shù)據(jù)線。3.5 聲光報(bào)警電路 溫度檢測系統(tǒng)多有聲光報(bào)警功能,當(dāng)檢測溫度超過上下限時(shí),進(jìn)行聲光提示。本系統(tǒng)在從機(jī)部分設(shè)計(jì)了報(bào)警電路。從機(jī)的報(bào)警上下限由主機(jī)預(yù)置,從機(jī)實(shí)時(shí)監(jiān)測的過程中,一旦發(fā)現(xiàn)檢測溫度值連續(xù)超出閾值范圍,便啟動(dòng)自身報(bào)警電路,同時(shí)向主控機(jī)發(fā)送報(bào)警信號(hào)13。
42、聲光報(bào)警電路由三極管9013驅(qū)動(dòng)蜂鳴器實(shí)現(xiàn)報(bào)警功能,當(dāng)溫度超過設(shè)定的上先限值時(shí)在報(bào)警的同時(shí)紅燈閃爍,溫度低于設(shè)定值時(shí)綠燈閃爍。報(bào)警電路原理如圖3.11圖3.11 聲光報(bào)警電路原理圖3.6 溫度采集系統(tǒng)總電路圖圖3.12 系統(tǒng)總原理圖4 軟件設(shè)計(jì)4.1 主程序流程圖 程序的流程圖如下,通過溫度傳感器檢測的溫度,通過CRC檢測四路信息并將其傳入c51中,。我們將所得到得實(shí)時(shí)溫度值分別和系統(tǒng)預(yù)設(shè)置的報(bào)警溫度值以及人工手動(dòng)設(shè)置的要實(shí)時(shí)控制的溫度值進(jìn)行比較,通過比較做出相應(yīng)處理,若正常在LCD則顯示,否則經(jīng)聲光報(bào)警,再做處理。在程序中,我們通過四個(gè)中斷來進(jìn)行設(shè)置系統(tǒng)的設(shè)置溫度,每一次中斷溫度加1或者減1
43、。 圖4.1 系統(tǒng)程序總流程4.2 溫度采集系統(tǒng)軟件設(shè)計(jì)流程開始DS18B20初始化發(fā)搜索ROM命令發(fā)一個(gè)DS18B20序列號(hào)啟動(dòng)所有在線DS18B20數(shù)據(jù)轉(zhuǎn)換等待數(shù)據(jù)轉(zhuǎn)換DS18B20初始化發(fā)匹配ROM命令發(fā)暫存器命令讀匹配DS18B20溫度在線DS18B20都訪問完畢?是否圖4.2 DS18B20程序流程4.3 顯示子程序流程圖 該部分程序?qū)崿F(xiàn)當(dāng)前溫度值的顯示,主要的是液晶顯示器的初始化命令的設(shè)置,我們通過單片機(jī)控制顯示器,使顯示器能夠顯示我們想要的效果,我們程序設(shè)計(jì)過程中,通過K4控制顯示當(dāng)前溫度和我們?cè)O(shè)置的溫度,。通過顯示器我們可以很清楚的知道當(dāng)前溫度和設(shè)置的溫度值。開始清屏光標(biāo)復(fù)位顯
44、示模式顯示器開,光標(biāo)開輸入方式初始化顯示位置寫數(shù)據(jù)顯示圖 4.3 顯示子程序流程圖4.4 按鍵子程序流程圖 按鍵采用掃描查詢方式,設(shè)標(biāo)志位為1,顯示設(shè)置溫度,否則顯示為當(dāng)前溫度。并且根據(jù)K1和K2鍵對(duì)報(bào)警上、下限溫度進(jìn)行加、減設(shè)置。如下圖3.4.圖 4.4 按鍵子程序流程圖5 系統(tǒng)仿真5.1 仿真總電路圖圖 5.1 總仿真圖5.2 仿真和調(diào)試5.2.1 仿真設(shè)置在 Proteus 中使用多個(gè) DS18B20 時(shí), 必須改變器件的屬性, 使仿真中每個(gè)器件的序列號(hào)各不相同。具體作法是: 右擊 DS18B20, 選中 Edit Properties 選項(xiàng), 在其中改變ROM S erial Numb
45、er 的值; 還可改變 Granularity 的數(shù)值,即改變每次調(diào)整溫度的額度。在 Proteus 中, 可以人為改變 3 個(gè)字節(jié)的器件序列號(hào)。要想得到全部 8 個(gè)字節(jié), 一個(gè)簡單的方法就是每一次總線上只連接一個(gè)器 件, 利用0 x33 讀器件序列號(hào)的命令在程序中得到完整的器件序列號(hào)。具體的程序如下所示:unsigned char r ead_num( v oid) unsigned char i;send_co m( 0 x33) ; / / 讀序列號(hào)命令for( i= 0; i 8; i+ + ) A i = read_dat( ) ; / / 先低位后高位, A 0 為最低位其中,se
46、nd_com( ) 為主機(jī)向從機(jī)發(fā)送一個(gè)字節(jié)的子程序, read_dat() 為主機(jī)讀取從機(jī)一個(gè)字節(jié)的子程序。例如, 將器件序列號(hào)改為 B8C530,在 MPLAB IDE中的 Watch 窗口中可直接觀察到該器件的完整的器件序列號(hào)。本系統(tǒng)中共使用 4 個(gè) DS18B20, 序列號(hào)為 B8C530、B8C534、B8C535、B8C536。通過上述的方法可得到所有器件的序列號(hào), 然后組成一個(gè)數(shù)組, 在讀取溫度程序中就可直接使用。數(shù)組0 x8e,0 x00,0 x00,0 x00,0 xb8,0 xc5,0 x30,0 x28;0 x52,0 x00,0 x00,0 x00,0 xb8,0 xc
47、5,0 x34,0 x28;0 x65,0 x00,0 x00,0 x00,0 xb8,0 xc5,0 x35,0 x28;0 x3c,0 x00,0 x00,0 x00,0 xb8,0 xc5,0 x36,0 x28;在 MPLAB IDE 中, 使用 Proteus VSM 仿真模式。根據(jù)上述讀取溫度程序的過程, 編寫讀取溫度的程序, 經(jīng)編譯、運(yùn)行, 即可得到仿真結(jié)果。5 調(diào)試和分析 (1)系統(tǒng)上電后,全屏點(diǎn)亮,沒有暗點(diǎn)。當(dāng)按鍵K1按下,液晶顯示器顯示當(dāng)前四路檢測器的顯示位置,如圖5.2。圖 5.2(2)在系統(tǒng)內(nèi)部設(shè)置了一個(gè)報(bào)警溫度,即設(shè)置的上、下限溫度,超過這個(gè)溫度時(shí)系統(tǒng)就會(huì)報(bào)警。當(dāng)按下
48、K4,則顯示設(shè)置溫度,如圖5.3。圖 5.3 (3)在仿真中K1按下,K4斷開,一次通過按下K6、K7、K8、K9鍵,則在LCD中可以顯示四路當(dāng)前溫度,如圖5.4。圖 5.46 總結(jié)而在本次課程設(shè)計(jì)中,本人就采用了這種已經(jīng)相當(dāng)普及的方法設(shè)計(jì)了一個(gè)基于單片機(jī)和溫度傳感器的多路溫度采集系統(tǒng),并通過了軟件仿真,最后得出了設(shè)計(jì)結(jié)果的可行性,設(shè)計(jì)過程中,首先,要對(duì)DS18B20做一個(gè)詳細(xì)的了解,作為設(shè)計(jì)中一個(gè)重要的元件,要知道它的一般流程:初始化ROM操作指令存儲(chǔ)器操作指令數(shù)據(jù)傳輸。然后必須掌握它的每個(gè)端口的作用,并用單片機(jī)通過高低電平來控制它的工作過程,不一樣的模塊它的工作時(shí)序是不同,這里要通過軟件正
49、確的編寫出讀寫時(shí)序,才能確保在測量溫度的環(huán)節(jié)中不出問題。一個(gè)完整的系統(tǒng)同樣也需要一個(gè)人機(jī)界面才能便于使用者讀出數(shù)據(jù),所以這里用到了lcd1602液晶屏,這個(gè)液晶屏的優(yōu)點(diǎn)在于自帶字庫,且易于控制顯示位置,基本上達(dá)到了設(shè)計(jì)的要求。本系統(tǒng)還是一個(gè)不完善的系統(tǒng),還有許多需要改進(jìn)的地方。設(shè)計(jì)中所采用的DS18B20搜索算法還存在不足,有時(shí)會(huì)發(fā)生重復(fù)或遺漏搜索。在通信協(xié)議不完整,沒有進(jìn)行發(fā)送超時(shí)出錯(cuò)處理。還有各種不足之處有待將來改進(jìn)。同時(shí),在做整個(gè)課程論文的過程中,也遇到了諸多問題:第一、不能靈活自如的運(yùn)用C51語言。第二、對(duì)某些硬件的功能不太熟悉。第三、缺乏一定實(shí)踐經(jīng)驗(yàn)致謝設(shè)計(jì)得以順利完成,得感謝我的指
50、導(dǎo)老師,在這個(gè)過程中他都一直指導(dǎo)著我,雖然他沒有時(shí)時(shí)刻刻在我們身邊親歷指導(dǎo),但是他每天都詢問我的進(jìn)展情況,對(duì)我遇到的問題給予我解答,并對(duì)我的設(shè)計(jì)進(jìn)行一些優(yōu)化。參考文獻(xiàn):01 杜廣朝,基于MCS-51的通用智能巡回檢測系統(tǒng)設(shè)計(jì),開封,黃河水利職業(yè)技術(shù)學(xué)院學(xué)報(bào),200502 師玉寶,一種基于MCS-51單片機(jī)溫度巡回檢測系統(tǒng)的設(shè)計(jì),北京,計(jì)量技術(shù),200403 王宛平,數(shù)字溫度巡回檢測系統(tǒng),杭州,杭州電子工業(yè)學(xué)院學(xué)報(bào),200104 郭葉,多點(diǎn)溫度巡回檢測系統(tǒng),江蘇,江蘇電器,200005 景富軍,一種多路溫度巡回檢測控制器,新疆,兵工自動(dòng)化,200006 謝迎娟,多路溫度檢測系統(tǒng)的設(shè)計(jì),南京,河海
51、大學(xué)常州分校學(xué)報(bào),200207 王可寧,基于單片機(jī)的烘爐溫度自動(dòng)檢測系統(tǒng)的研究與設(shè)計(jì),哈爾濱,東北林業(yè)大學(xué)碩士論文,200408 朱玲,智能控制系統(tǒng)中的實(shí)時(shí)數(shù)據(jù)采集與處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),曲阜,曲阜師范大學(xué)碩士論文,200509 付桂翠,高精度多路微機(jī)控制溫度測量系統(tǒng)的設(shè)計(jì)測控技術(shù),北京,北京理工,200710 陳啟,基于PC機(jī)的溫度控制系統(tǒng)的設(shè)計(jì),衡陽,南華大學(xué)學(xué)報(bào)(自然科學(xué)版),200511 秦相林,多路溫度監(jiān)測及自動(dòng)撥號(hào)語音報(bào)警系統(tǒng)的設(shè)計(jì),哈爾濱,.哈爾濱商業(yè)大學(xué)學(xué)報(bào),200712 楊麗君,AT89C51單片機(jī)控制的多路溫度檢測系統(tǒng),北京,自動(dòng)化與儀表,2000.13 陳忠華., HYPE
52、RLINK :/epub t _top 基于單片機(jī)的溫度智能控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),北京, HYPERLINK :/epub t _blank 中國優(yōu)秀博碩士學(xué)位論文全文數(shù)據(jù)庫 (碩士), HYPERLINK :/epub t _blank 200714 鐘偉雄, HYPERLINK :/epub o 基于8051單片機(jī)的溫度采集系統(tǒng) 相似度 28% t _blank 基于8051單片機(jī)的溫度采集系統(tǒng),上海,科技創(chuàng)新導(dǎo)報(bào), 200815 遲欽河,89C5單片機(jī)在多通道數(shù)據(jù)采集中的應(yīng)用西安,西安交通大學(xué)學(xué)報(bào),200016 楊博,基于單片機(jī)的新型多路數(shù)據(jù)采集系統(tǒng),北京,儀表與傳感技術(shù),200617
53、李雷,巡回檢測系統(tǒng)中的數(shù)字濾波算法的實(shí)現(xiàn),北京,儀表技術(shù),200518 陳宜冬,8098溫度巡回檢測系統(tǒng),北京,電腦學(xué)習(xí),2004附錄#include#include#define uchar unsigned charsbit RS=P35;/定義LCD端口sbit RW=P36;sbit E=P37;sbit DQ=P34;/定義單總線端口uchar LCD_3,LCD_2,LCD_1,LCD_0;uchar ds18b20_romA8=0 x8e,0 x00,0 x00,0 x00,0 xb8,0 xc5,0 x30,0 x28;/四個(gè)DS18B20的64位ROM地址uchar ds18
54、b20_romB8=0 x52,0 x00,0 x00,0 x00,0 xb8,0 xc5,0 x34,0 x28;uchar ds18b20_romC8=0 x65,0 x00,0 x00,0 x00,0 xb8,0 xc5,0 x35,0 x28;uchar ds18b20_romD8=0 x3c,0 x00,0 x00,0 x00,0 xb8,0 xc5,0 x36,0 x28;uchar code LCDData =0123456789; uchar first_line16=A:000.0 B:000.0; /LCD第一行顯示緩存數(shù)組uchar second_line16=C:000
55、.0 D:000.0; /LCD第二行顯示緩存數(shù)組/*/延時(shí)程序/*void delay(unsigned int N) unsigned int i; for(i=0;iN;i+);/*/LCD1602測忙/*void check_busy(void)while(1)P1=0 xff;E=0;_nop_();RS=0;_nop_();_nop_();RW=1;_nop_();_nop_();E=1;_nop_();_nop_();_nop_();_nop_();if(P1&0 x80)=0)break;E=0;/*/LCD1602寫命令/*void write_command(uchar t
56、empdata) E=0;_nop_();_nop_();RS=0;_nop_();_nop_();RW=0;P1=tempdata;_nop_();_nop_();E=1;_nop_();_nop_(); E=0;_nop_();check_busy();/*/LCD1602寫數(shù)據(jù)/*void write_data(uchar tempdata) E=0;_nop_();_nop_();RS=1;_nop_();_nop_();RW=0;P1=tempdata;_nop_();_nop_();E=1;_nop_();_nop_(); E=0;_nop_();check_busy();/*/初
57、始化LCD1602/*void init_lcd1602() write_command(0 x01);/清除屏幕 write_command(0 x38);/功能設(shè)定(8位,2行,5*7點(diǎn)陣式) write_command(0 x0c);/顯示器ON,光標(biāo)OFF,閃爍OFF write_command(0 x06);/地址加1/*/初始化ds18b20/*bit resetpulse(void)DQ=0;delay(40);/延時(shí)500usDQ=1;delay(4);/延時(shí)60usvoid ds18b20_init(void)while(1)if(!resetpulse() /收到ds18b
58、20的應(yīng)答信號(hào)DQ=1;delay(40);/延時(shí)240usbreak;elseresetpulse();/否則再發(fā)復(fù)位信號(hào)/*/讀ds18b20一位/*uchar read_bit(void) DQ=0; _nop_(); _nop_(); DQ=1; delay(2); return(DQ);/*/讀ds18b20一個(gè)字節(jié)/*uchar read_byte(void) uchar i,m,receive_data; m=1; receive_data=0; for(i=0;i8;i+) if(read_bit() receive_data=receive_data+(mi); delay(
59、7); return(receive_data);/*/向ds18b20寫一位/*void write_bit(uchar bitval) DQ=0; if(bitval=1) DQ=1; delay(5); DQ=1;/*/向DS18B20寫一個(gè)字節(jié)命令/*void write_byte(uchar val) uchar i,temp; for(i=0;ii; temp=temp&0 x01; write_bit(temp); delay(5); /*/64位的ROM序列號(hào)匹配/*bit match_rom(uchar *rom)uchar i;ds18b20_init();write_byte(0 x55);for(i=8;i0;i-)write_
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《山西康莊項(xiàng)目提案》課件
- 復(fù)習(xí)真題卷01 第1-2單元 (解析版)
- 《電子測量技術(shù)》課件
- 來鳳縣舊司鄉(xiāng)中心衛(wèi)生院配套設(shè)施建設(shè)可研報(bào)告
- 《家庭倫理劇》課件
- 2014年高考語文試卷(山東)(空白卷)
- 《紅巖》課件(中考名著)
- 美容美發(fā)服務(wù)銷售心得
- 2023年-2024年員工三級(jí)安全培訓(xùn)考試題附答案(奪分金卷)
- 2023-2024年項(xiàng)目部治理人員安全培訓(xùn)考試題附下載答案
- 審計(jì)基礎(chǔ)知識(shí)培訓(xùn)
- DB43 873-2014 箱式暖腳器標(biāo)準(zhǔn)
- 【學(xué)易金卷】2023-2024學(xué)年四年級(jí)數(shù)學(xué)上冊(cè)期末全真模擬提高卷(三)(答題卡)(北師大版)
- 2024年煤礦安全管理人員(機(jī)電運(yùn)輸)考試題庫(濃縮500題)
- 醫(yī)療廢物管理制度(診所)
- 《建筑施工現(xiàn)場環(huán)境與衛(wèi)生標(biāo)準(zhǔn)》JGJ146-2013
- 上海市閘北區(qū)大寧國際小學(xué)小升初英語模擬試題(共10套)詳細(xì)答案
- 人教版高中生物必修1-第1、2章測評(píng)(B)
- 2024年《經(jīng)濟(jì)學(xué)基礎(chǔ)》復(fù)習(xí)考試復(fù)習(xí)題庫(含答案)
- ktv入股合作協(xié)議書
- 2025年廣東省春季高考學(xué)業(yè)水平考試數(shù)學(xué)試卷試題(含答案解析)
評(píng)論
0/150
提交評(píng)論