可編程通用智能溫度控制器的設(shè)計(jì)_第1頁
可編程通用智能溫度控制器的設(shè)計(jì)_第2頁
可編程通用智能溫度控制器的設(shè)計(jì)_第3頁
可編程通用智能溫度控制器的設(shè)計(jì)_第4頁
可編程通用智能溫度控制器的設(shè)計(jì)_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、目 錄摘 要.ABSTRACT.1 概論.1 引言.1 智能儀器的現(xiàn)狀及開展.3 溫度測量系統(tǒng)中選取局部儀器的簡介.4 課題來源及目標(biāo).7 本文的主要研究工作.72 硬件電路的設(shè)計(jì).8 溫度測量方案論證.8 電源電路設(shè)計(jì).9 溫度測量電路設(shè)計(jì).11 液晶顯示屏電路設(shè)計(jì).15 鍵盤電路設(shè)計(jì).202.6 報(bào)警電路設(shè)計(jì).213 程序設(shè)計(jì).23 程序流程.23 程序設(shè)計(jì).244 系統(tǒng) PROTEUS 仿真.38 程序加載.38 程序編譯.39 程序仿真及結(jié)果.41結(jié)束語.43參考文獻(xiàn).44附錄:系統(tǒng)原理圖.46致謝.471 概論 引言在工農(nóng)業(yè)生產(chǎn)和人們的日常生活中,有很多對象如溫度、液位、壓力、流量、

2、粘度、濕度以及pH值等需要測量,它們直接和節(jié)省能源、平安生產(chǎn)、產(chǎn)品質(zhì)量、生產(chǎn)效率以及方便人們生活相聯(lián)系,因此測量這些對象的儀器即傳感器受到了普遍重視,早期的傳感器都是把檢測到的信號以標(biāo)準(zhǔn)模擬量的方式變送輸出1,如圖1.1所示。檢測信號Vi與調(diào)零調(diào)量程回路的信號Vz和反響回路的信號Vf進(jìn)行綜合后,輸入放大單元進(jìn)行處理,輸出標(biāo)準(zhǔn)的統(tǒng)一模擬信號。圖 1.1 模擬傳感器變送框圖隨著微電子學(xué)和計(jì)算機(jī)等現(xiàn)代電子技術(shù)的開展壯大,給傳統(tǒng)的電子測量與儀器帶來了巨大的沖擊和革命性的影響。微處理器在70年代初期問世不久,就被引進(jìn)電子測量和儀器領(lǐng)域,所占比重在各項(xiàng)計(jì)算機(jī)應(yīng)用領(lǐng)域中名列前茅2。在這之后,隨著微處理器在體

3、積小、功能強(qiáng)、價(jià)格低等方面的進(jìn)一步的開展,電子測量與儀器和計(jì)算機(jī)技術(shù)結(jié)合就愈加緊密,形成了全新的微機(jī)化儀器。微機(jī)化儀器實(shí)際上是一個專用的微型算機(jī)系統(tǒng),它由硬件和軟件兩大局部組成。硬件局部主要包括主機(jī)電路、模擬量輸入輸出通道、人機(jī)聯(lián)系部件與接口電路、標(biāo)準(zhǔn)通信接口等,其通用結(jié)構(gòu)框圖如圖1.2所示3,4。其中的主機(jī)電路用來存儲程序、數(shù)據(jù)并進(jìn)行一系列的運(yùn)算和處理,它通常由微處理器、程序存儲器、輸入輸出I/O接口電路等組成,或者它本身就是一個單片微型計(jì)算機(jī)。模擬量輸入輸出通道用來輸入輸出模擬量信號,主要由A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器和有關(guān)的模擬信號處理電路等組成。標(biāo)準(zhǔn)通信接口電路用于實(shí)現(xiàn)儀器與計(jì)算機(jī)的聯(lián)系

4、,以便使儀器可以接受計(jì)算機(jī)的程控命令,目前生產(chǎn)的微機(jī)化儀器一般都配有GP-IB或RS-485等標(biāo)準(zhǔn)通信接口。整流濾波集成運(yùn)放DO DC 功放輸入回路隔離輸出反饋回路Vi Vz24VCDU放大單元量程單元V1+_微機(jī)化儀器的軟件局部主要包括監(jiān)控程序和接口管理程序兩局部。其中監(jiān)控程序面向儀器面板鍵盤和顯示器,其內(nèi)容包括:通過鍵盤操作輸入并存儲所設(shè)置的功能、操作方式與工作參數(shù);通過控制I/O接口電路進(jìn)行數(shù)據(jù)采集,對儀器進(jìn)行預(yù)定的設(shè)置;對數(shù)據(jù)存儲器所記錄的數(shù)據(jù)和狀態(tài)進(jìn)行各種處理;以數(shù)字、字符、圖形等形式顯示各種狀態(tài)信息以及測量數(shù)據(jù)的處理結(jié)果。接口管理程序主要面向通信接口,其內(nèi)部是接受并分析來自通信接口

5、總線的各種有關(guān)功能、操作方式與工作參數(shù)的程控操作碼,并通過通信接口輸出儀器的現(xiàn)行工作狀態(tài)及測量數(shù)據(jù)的處理結(jié)果,以響應(yīng)計(jì)算機(jī)的遠(yuǎn)程命令。這種微機(jī)化儀器即所謂的“智能儀表5。圖 1.2 微機(jī)化儀器結(jié)構(gòu)框圖與傳統(tǒng)的模擬電子儀器相比擬6,7:(1) 智能儀器具有友好的人-機(jī)對話的能力,使用人員只需通過鍵盤打入命令,儀器就實(shí)現(xiàn)某種測量和處理,與此同時(shí),智能儀器還通過顯示屏將儀器運(yùn)行情況、工作狀態(tài)以及對測量數(shù)據(jù)的處理結(jié)果及時(shí)告訴使用人員,使人-機(jī)之間的聯(lián)系非常親密。(2) 智能儀器一般都配有GP-IB或RS-485等接口,使智能儀器具有可程控操作能力。從而可以很方便地與計(jì)算機(jī)和其他儀器一起組成用戶所需要的

6、多種功能的自動測量系統(tǒng),來完成更復(fù)雜的測試任務(wù)。(3) 智能儀器運(yùn)用微處理器的控制功能,可以很方便地實(shí)現(xiàn)量程自動轉(zhuǎn)換、自動調(diào)零、自診斷等功能,有力地改善了儀器的自動化水平。(4) 微處理器的運(yùn)用極大地提高了儀器的性能。例如按照一定的算法可以方便地消除由于溫漂、增益的變化和干擾等因素所引起的誤差,從而提高了儀器的測量精度。還具有很強(qiáng)的數(shù)據(jù)處理能力,能對測量結(jié)果進(jìn)行諸如零點(diǎn)平均、平均值、統(tǒng)計(jì)分微處理器MPU程序存儲器(ROM)數(shù)據(jù)存儲器(RAM)I/O接口鍵盤顯示接口標(biāo)準(zhǔn)儀用通信接口鍵盤顯示A/D轉(zhuǎn)換器D/A轉(zhuǎn)換器輸入電路模擬執(zhí)行器主機(jī)電路外部儀用標(biāo)準(zhǔn)總線被測量模擬量輸入輸出人機(jī)接口通信接口析以及

7、更加復(fù)雜的數(shù)據(jù)處理功能,使用戶從繁重的數(shù)據(jù)處理中解放出來。(5) 微處理器具有較高速度的數(shù)據(jù)計(jì)算能力,較強(qiáng)的控制功能,微處理器本身就是一個結(jié)構(gòu)完備的計(jì)算機(jī),內(nèi)含豐富的I/O、定時(shí)/計(jì)數(shù)、串行口和RAM等,大大簡化了儀器的硬件結(jié)構(gòu),降低了儀器的造價(jià)。 智能儀器的現(xiàn)狀及開展70年代以來,在新技術(shù)革命的推動下,尤其是微電子技術(shù)和微型計(jì)算機(jī)技術(shù)的快速進(jìn)步,使電子儀器的整體水平發(fā)生很大變化,先后出現(xiàn)獨(dú)立式智能儀器、GP-IB自動測試系統(tǒng)、插卡式智能儀器個人儀器 ,在此根底上,1987年又問世了一種被稱為21世紀(jì)儀器的VXI總線儀器系統(tǒng)。VXI系統(tǒng)集中了智能儀器、GP-IB總線、個人儀器的很多特長,是一種

8、全世界范圍內(nèi)完全開放的,適用多供貨廠商的模塊總線儀器系統(tǒng),已被公認(rèn)為當(dāng)前儀器開展的世界潮流8。隨著儀器與系統(tǒng)硬件的不斷完善以及新的儀器設(shè)計(jì)思想的開展,軟件的重要性與進(jìn)一步開展的迫切性變得越來越突出,測試界今后的巨大變化將發(fā)生在軟件方面。 獨(dú)立式智能儀器及自動測試系統(tǒng)獨(dú)立式智能儀器簡稱智能儀器即自身帶有微處理器能獨(dú)立進(jìn)行測試的電子儀器是現(xiàn)階段智能化電子儀器的主體。這類儀器在技術(shù)上已經(jīng)比擬成熟,同時(shí)借助于新技術(shù)、新器件和新工藝的不斷進(jìn)步,這類儀器還在不斷開展,不斷地推陳出新。目前,不僅大多數(shù)傳統(tǒng)的電子儀器已有相應(yīng)代換的智能儀器產(chǎn)品,而且還出現(xiàn)了不少全新的儀器類型和測試系統(tǒng)體系。智能儀器幾乎都配有G

9、P-IB或RS-485通信接口。GP-IB是國際電工協(xié)會IEC1978年正式推薦的一種儀用標(biāo)準(zhǔn)接口總線,已被世界各國普遍采納。但凡配有GP-IB這種標(biāo)準(zhǔn)接口的儀器和計(jì)算機(jī),不分生產(chǎn)國別、廠家,都可以借助于一條無源電纜總線按積木式互連,靈活地組成各種不同用途的自動測試系統(tǒng),以完成較復(fù)雜的測試任務(wù)9。典型自動測試系統(tǒng)如圖1.3所示。一個自動測試系統(tǒng)有計(jì)算機(jī),多臺可程控儀器以及GP-IB三者組成,計(jì)算機(jī)作為系統(tǒng)的控制者,通過執(zhí)行測試軟件,實(shí)現(xiàn)對測量全過程的控制及處理;各可程控儀器設(shè)備是測試系統(tǒng)的執(zhí)行單元,具體完成采集、測量、處理等任務(wù);GP-IB有計(jì)算機(jī)及各程控儀器中的標(biāo)準(zhǔn)接口和標(biāo)準(zhǔn)總線兩局部組成,

10、它如同一個多功能的神經(jīng)網(wǎng)絡(luò),把各種儀器設(shè)備有機(jī)地連接起來,完成系統(tǒng)內(nèi)的各種信息的變換和傳輸任務(wù)。從計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的角度來看,有智能儀器組成的自動測試系統(tǒng)是一個分布式多微機(jī)系統(tǒng),系統(tǒng)內(nèi)的智能儀器在任務(wù)一級并行工作,它們各自具備的硬件和軟件,因而能相對獨(dú)立地工作,相互間也可通信,它們之間通過外部總線松散耦合10。對于不同的測試任務(wù),只需增減或更換“掛在它上面的儀器設(shè)備,編制相應(yīng)的測試軟件,而系統(tǒng)本身不變。這種自動測試系統(tǒng)特別適用于要求測量時(shí)間極短而數(shù)據(jù)處理量極大的測試任務(wù)中,以及測試現(xiàn)場對操作人員有害或操作人員參與操作會產(chǎn)生人為誤差的測試場合11。圖 1.3 典型自動測試系統(tǒng) 軟件技術(shù)的高速開展及

11、虛擬儀器在新一代的儀器系統(tǒng)中,計(jì)算機(jī)軟件和測試儀器更加緊密地結(jié)合在一起,為了使儀器系統(tǒng)的硬件設(shè)備盡量少,傳統(tǒng)儀器的許多硬件乃至整個儀器都被計(jì)算機(jī)軟件所代替,例如只使用一塊A/D卡,借助于計(jì)算機(jī)的計(jì)算功能,在軟件的配合下就可能實(shí)現(xiàn)多種儀器的功能,如數(shù)字多用表,數(shù)字存儲視波器,數(shù)字頻譜分析,數(shù)字采集系統(tǒng),數(shù)字頻率計(jì)等12。除此之外,即使是用C,C+這樣的高級語言編制、調(diào)試測試程序,也不能適應(yīng)現(xiàn)代儀器系統(tǒng)對縮短儀器系統(tǒng)開發(fā)時(shí)間的要求,出于這些考慮,近年來許多公司開發(fā)出很多出色的儀器開發(fā)系統(tǒng)軟件包,在這方面最有代表性的軟件是NI公司的LabVIEW、HP公司的VEE等。所謂虛擬儀器或集成儀器,是指通用

12、計(jì)算機(jī)上添加幾種帶共性的根本儀器硬件模塊,通過軟件來組合成各種功能的儀器或系統(tǒng)的儀器設(shè)計(jì)思想。其中鼓勵信號可有微機(jī)產(chǎn)生數(shù)字信號,再經(jīng)D/A轉(zhuǎn)換器產(chǎn)生所需的模擬信號13。大量的測試功能可以通過對被測信號的采樣,再經(jīng)A/D轉(zhuǎn)換得到測量結(jié)果。許多功能還可以完全由軟件來實(shí)現(xiàn),這樣就擺脫由硬件構(gòu)成一件件儀器再連成系統(tǒng)的概念。標(biāo)準(zhǔn)接口計(jì)算機(jī)標(biāo)準(zhǔn)接口可程控電子儀器標(biāo)準(zhǔn)接口可程控電子儀器標(biāo)準(zhǔn)接口打印機(jī)標(biāo)準(zhǔn)接口可程控電子儀器待測件標(biāo)準(zhǔn)總線1.3 溫度測量系統(tǒng)中選取局部儀器的簡介溫度測量涉及各行各業(yè) ,而傳統(tǒng)的溫度測量儀器有酒精溫度計(jì)、煤油溫度計(jì)、水銀溫度計(jì)等 ,都需人工手動測量.在科學(xué)技術(shù)開展的今天很多場合 有

13、毒、高溫、無人等 ,用傳統(tǒng)的溫度測量技術(shù)就顯得比擬麻煩.單片機(jī)的出現(xiàn) ,電子技術(shù)的飛速開展 ,使溫度計(jì)的自動化、數(shù)字化就變得容易實(shí)現(xiàn).本文著重研究用單片機(jī)控制的數(shù)字溫度計(jì) ,采用的微機(jī)化儀器實(shí)際上是一個專用的微型算機(jī)系統(tǒng),它由數(shù)字溫度傳感器DS18B20、單片機(jī)AT89S52、液晶顯示屏1602、帶中斷的鍵盤和報(bào)警電路構(gòu)成14。 DS18B20的結(jié)構(gòu)和特點(diǎn)DS18B20內(nèi)部結(jié)構(gòu)主要由四局部組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置存放器。DS18B20的主要特性15,16:(1) 適應(yīng)電壓范圍更寬,電壓范圍:,在寄生電源方式下可由數(shù)據(jù)線供電。(2) 獨(dú)特的單線接

14、口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。(3) DS18B20支持多點(diǎn)組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測溫。(4) DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。(5) 測溫范圍55125,在-10+85時(shí)精度為0.5。(6) 可編程的分辨率為912位,對應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測溫。(7) 在9位分辨率時(shí)最多在ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。(8)

15、 測量結(jié)果直接輸出數(shù)字溫度信號,以一線總線串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯能力。(9) 負(fù)壓特性:電源極性接反時(shí),芯片不會因發(fā)熱而燒毀,但不能正常工作。 AT89S52簡介AT89S52是一個低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含8k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S52可為許多嵌入式

16、控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案17。AT89S52具有如下特點(diǎn):40個引腳,8k Bytes Flash片內(nèi)程序存儲器,256 bytes的隨機(jī)存取數(shù)據(jù)存儲器RAM,32個外部雙向輸入/輸出I/O口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時(shí)計(jì)數(shù)器,2個全雙工串行通信口,看門狗WDT電路,片內(nèi)時(shí)鐘振蕩器。此外,AT89S52設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式。空閑模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位18。同時(shí)該芯片還具有PDIP、TQFP和PLC

17、C等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。 液晶顯示屏16021602液晶模塊內(nèi)部的控制器共有11條控制指令19,它的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的20。說明:1為高電平、0為低電平:指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平那么無效。指令4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) B:控制光標(biāo)是否

18、閃爍,高電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示移位 S/C:高電平時(shí)移動顯示的文字,低電平時(shí)移動光標(biāo)。指令6:功能設(shè)置命令 DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線 N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 F: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置。指令9:讀忙信號和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。 課題來源及目標(biāo)本設(shè)計(jì)來源于對目前應(yīng)用的溫度控制傳感器大多都是把溫度值轉(zhuǎn)換成時(shí)間間隔,再把時(shí)間間隔轉(zhuǎn)換成對

19、應(yīng)的模擬電信號輸出。針對這一測量方法還存在一些缺乏之處,本文所介紹的溫度測量系統(tǒng)正是對原溫度控制傳感器的時(shí)間間隔直接進(jìn)行測量,采用適當(dāng)濾波算法處理測量結(jié)果以提高精度,實(shí)現(xiàn)了多點(diǎn)測量,所得測量值通過串行總線可實(shí)現(xiàn)遠(yuǎn)距離傳輸,增添了單片機(jī)以后實(shí)現(xiàn)了智能化人機(jī)接口可以方便接入工業(yè)網(wǎng),采用AT89S52單片機(jī)及其它低功耗芯片,優(yōu)化電路結(jié)構(gòu),使系統(tǒng)功耗大大降低,為本型安傳感器開發(fā)奠定根底。在傳統(tǒng)的模擬信號遠(yuǎn)距離溫度測量系統(tǒng)中,需要很好的解決引線誤差補(bǔ)償問題、多點(diǎn)測量切換誤差問題和放大電路零點(diǎn)漂移誤差問題等技術(shù)問題,才能夠到達(dá)較高的測量精度21。而在本課題里DS18B20工作時(shí)被測溫度值直接以“單總線的數(shù)

20、字方式傳輸,大大提高了系統(tǒng)的抗干擾能力,適合于在惡劣的環(huán)境下進(jìn)行現(xiàn)場溫度測量,還允許被放置在許多不同的地方,此特性可應(yīng)用在如環(huán)境控制、建筑物、設(shè)備或機(jī)械內(nèi)的溫度檢測,以及過程監(jiān)視和控制中的溫度檢測。 本文的主要研究工作本文從智能儀表的角度出發(fā),根據(jù)設(shè)計(jì)任務(wù)書的要求,將要做以下幾方面的探討和測試工作:(1) 溫度測量系統(tǒng)總體結(jié)構(gòu)及各局部功能。(2) 分析了溫度測量系統(tǒng)硬件電路的組成,用Proteus對原模擬板電路進(jìn)行仿真分析,以及數(shù)字板電路的設(shè)計(jì)過程。(3) 通過試驗(yàn)方案確實(shí)定、儀器設(shè)備的選擇使用等,了解基于AT89S52單片機(jī)的系統(tǒng)軟件的設(shè)計(jì)過程。2 硬件電路的設(shè)計(jì) 溫度測量方案論證要完成精確

21、的溫度測量,最關(guān)鍵的地方是傳感器。采用溫度傳感器采集溫度信號,需要設(shè)計(jì)信號檢測電路、A/D 轉(zhuǎn)換及相應(yīng)的接口電路,才能把傳感器輸出的模擬信號轉(zhuǎn)換成數(shù)字信號送到單片機(jī)去處理。這樣,便會因?yàn)楦鞣N因素而造成檢測系統(tǒng)偏差較大;如果檢測環(huán)境復(fù)雜,測量點(diǎn)多,信號傳輸距離遠(yuǎn),那么會使檢測系統(tǒng)的穩(wěn)定性和可靠性下降。所以,對于多點(diǎn)溫度檢測系統(tǒng)的設(shè)計(jì),關(guān)鍵在于溫度傳感器的選擇。.1 基于負(fù)溫度系數(shù)熱敏電阻的溫度測量方案采用負(fù)溫度系數(shù)熱敏電阻傳感器,可滿足40C至90C的溫度測量范圍,以ADC0809為轉(zhuǎn)換器,將模擬信號轉(zhuǎn)變?yōu)閿?shù)字信號,再將所得數(shù)字信號傳輸?shù)絾纹瑱C(jī)進(jìn)行處理。由熱敏電阻測得的模擬信號傳輸至ADC080

22、9會因?yàn)橥饨缫蛩囟a(chǎn)生較大的誤差,影響測量精度22。在多點(diǎn)測溫系統(tǒng)中,該測溫方法是將模擬信號遠(yuǎn)距離采樣進(jìn)行A/D轉(zhuǎn)換,而為了獲得較高的測溫精度,就必須采用措施解決由長線傳輸,多點(diǎn)測量切換及放大電路零點(diǎn)漂移等造成的誤差補(bǔ)償問題。如此以來,電路將變得復(fù)雜。 A/D 轉(zhuǎn)換A/D 轉(zhuǎn)換A/D 轉(zhuǎn)換A/D 轉(zhuǎn)換帶中斷的 23 鍵盤液晶顯示屏運(yùn)行指示燈報(bào)警指示燈功放報(bào)警溫度傳感器溫度設(shè)置鍵運(yùn)行狀態(tài)監(jiān)測P0CPU熱敏電阻 1熱敏電阻 2熱敏電阻 3熱敏電阻 4模數(shù)轉(zhuǎn)換圖 2.1 基于負(fù)溫度系數(shù)熱敏電阻的溫度測量裝置框圖2. 基于DS18B20的數(shù)字溫度傳感器的溫度測量方案數(shù)字溫度傳感器DS18B20,采用數(shù)

23、字溫度芯片DS18B20測量溫度,輸出信號全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測溫方法的很多外圍電路。且該芯片的物理化學(xué)性都很穩(wěn)定,它能用作工業(yè)測溫元件,此元件線形較好。在0100C時(shí),最大線形偏差小于1C。DS18B20的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)DS18B20和微控制器AT89S52構(gòu)成的溫度測量裝置,它直接輸出溫度的數(shù)字信號,可直接與計(jì)算機(jī)連接。這樣,測溫系統(tǒng)的結(jié)構(gòu)就比擬簡單,體積也不大,且由于AT89S52可以帶多個DS18B20,因此可以非常容易。采用溫度芯片DS18B20測量溫度,可以表達(dá)系統(tǒng)芯片化這個趨勢。局部功能電路的集成,使總體電路更簡潔,搭建電路

24、和焊接電路時(shí)更快。而且,集成塊的使用,有效地防止外界的干擾,提高測量電路的精確度23。所以集成芯片的使用將成為電路開展的一種趨勢。在測溫系統(tǒng)中,DS18B20的使用也將是一種趨勢。溫度傳感器 1溫度傳感器 2溫度傳感器 3溫度傳感器 4帶中斷的獨(dú)立鍵盤液晶顯示屏運(yùn)行指示燈報(bào)警指示燈功放報(bào)警傳感器溫度設(shè)置鍵運(yùn)行狀態(tài)監(jiān)測P0CPU圖 2.2 基于 DS18B20 的溫度測量裝置框圖2.1.3 方案論證綜上所述,采用基于DS18B20的數(shù)字溫度傳感器的溫度測量方案,能夠提高系統(tǒng)的測量精度,簡化電路,降低本錢。采用AT89S52單片機(jī),該型號單片機(jī)內(nèi)置看門狗電路,只需在程序中寫入幾條指令即可防止系統(tǒng)出

25、現(xiàn)崩潰而死機(jī)。單片機(jī)內(nèi)存達(dá)16K,更能適合復(fù)雜點(diǎn)的電路。設(shè)計(jì)系統(tǒng)原理圖如圖2.3。 電源電路設(shè)計(jì)在本設(shè)計(jì)中,LM386的電壓為612V,其他的電壓都是5V。采用整流橋,7809以及7805。按照設(shè)計(jì)要求,裝置需要通過變壓器接入到220V交流電源上,變壓器變壓后的輸出電壓U2為12V,輸出電流IO為,輸出工作電壓UO1 =9V,UO2 =5V。 系統(tǒng)原理圖下面通過計(jì)算來選擇整流二極管以及變壓器的變比和容量。(1) 先求出變壓器付邊電壓U2,由UO1=0.9 U2得:U2=90.9=10V(2) 考慮到變壓器付邊繞阻的壓降和整流二極管導(dǎo)通等壓降,應(yīng)在此根底上增加P35P36P37P37P36P35

26、P26P26XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.

27、6/WR16P3.5/T115U1AT89S52X112MC122pFC222pF+5VR1310k234567891RP15K+5V27.0DQ2VCC3GND1U2DS18B2027.0DQ2VCC3GND1U3DS18B2029.0DQ2VCC3GND1U4DS18B2027.0DQ2VCC3GND1U5DS18B20D714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3LCD1LM016LR1110k+5V+5V12D112D2R1210kR1200R2200R310kC40.047pFR410+5VR65kR55kR75kR85kR95kR

28、105k53264718U6LM386+9V+5V12456U7:A74HC2191012138U7:B74HC2112B112B212B312B412B512B7BUTTON61%231RV11kLS1SOUNDER12B6+C710uF+C5220uF+C61uF+C810uF+C31uF5%,即:U2= U2+ U25%=10+105%=10.5V,取U2=11V(3) 通過二極管的平均電流:ID= IO整流二極管承受的最大反向電壓:,VUVDRM554.1511414. 122VVDRM16取由所得數(shù)據(jù)查表確定型號為1N4001或2CZ11A。(4) 變壓器的變比:K=UIU2=220

29、11=20(5) 濾波電容:=RLC25T/2 , T=0.02S (2.1)C0.020.05IOUO1 (2.2)UO2 (2.3)C=0.031.51.211=343F所以,選擇343F的電容。C2103C6343uF220VTR1TRAN-2P2SVI1VO3GND2U17805VI1VO3GND2U27809+C4343uF+C5103C1103+C3343uFBR1BRIDGE+5v圖 2.4 電源電路圖2.3 溫度測量電路設(shè)計(jì)溫度測量電路圖如圖。P2.0P2.1P2.2P2.3P2.4P2.527.0DQ2VCC3GND1U2DS18B2027.0DQ2VCC3GND1U3DS1

30、8B2027.0DQ2VCC3GND1U4DS18B2027.0DQ2VCC3GND1U5DS18B20+5V12D1LED-GREEN12D2R1200R22002.3.1 DS18B20簡介DS18B20是美國DALLAS半導(dǎo)體公司繼DS1820之后最新推出的一種改良型智能數(shù)字溫度傳感器24。與傳統(tǒng)的熱敏電阻相比,它能夠直接讀出被測溫度,并且精度可以通過用戶編程配置為9、10、11和12位;從DS18B20讀出信息或?qū)懭胄畔H需要1根口線(單線接口);使用DS18B20可使系統(tǒng)結(jié)構(gòu)更趨簡單,可靠性更高。測量溫度范圍為-55C+125C,在-10+85C范圍內(nèi),精度為0.5C。DS18B20

31、的內(nèi)部結(jié)構(gòu)主要包括寄生電源電路、64位只讀存儲器(ROM)和單線接口、存儲器和控制邏輯、存放中間數(shù)據(jù)的高速暫存存儲器、溫度傳感器、報(bào)警上限存放器TH、報(bào)警下限存放器TL、配置存放器和8位CRC(循環(huán)冗余校驗(yàn)碼)發(fā)生器。每片DSl8B20有唯一的64位注冊碼,存儲在只讀存儲器(ROM)中25。DS18B20的核心是其數(shù)字溫度傳感器,分別對應(yīng)于0.5、0.25、0.125和0.062 5,可以滿足各種不同的分辨率要求。根據(jù)DS18B20的通訊協(xié)議,主機(jī)單片機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進(jìn)行預(yù)定復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RA

32、M指令,這樣才能對DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求CPU將數(shù)據(jù)線下拉500s,然后釋放,當(dāng)DS18B20收到信號后等待1660s左右,然后發(fā)出60240s的低脈沖,CPU收到此信號表示復(fù)位成功。溫度值轉(zhuǎn)換完成之后,該溫度數(shù)據(jù)存放在高速暫存存儲器的溫度存放器中,占用兩個字節(jié),并且DS18B20返回到空閑狀態(tài)。DS18B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的EEPROM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)存放器。DS18B20每完成一次溫度測量之后,就拿溫度值和存儲在TH和TL中的值進(jìn)行比擬。因?yàn)檫@些存放器是8位的,所以0.5C位被忽略不計(jì)26。

33、TH和TL的最高有效位直接對應(yīng)16位溫度存放器的符號位。如果測得的溫度值高于TH或低于TL,期間內(nèi)部就會置位一個報(bào)警標(biāo)識,每進(jìn)行一次測溫就對這個標(biāo)識進(jìn)行一次更新。當(dāng)報(bào)警標(biāo)識置位時(shí),DS18B20會對報(bào)警搜索命令有反響。如果某個地方的溫度值超過了限定值,報(bào)警的器件就會被立即識別出來并讀取。配置存放器各位的意義如表2.1:表 2.1 配置存放器結(jié)構(gòu)TMR1R011111低五位一直都是“1,TM是測試模式位,用于設(shè)置DS18B20在工作模式還是測試模式。在DS18B20出廠時(shí)該位被設(shè)置為0,用戶不要去改動。R1和R0用來設(shè)置分辨率,如表2.2所示DS18B20出廠時(shí)被設(shè)置為12位:表 2.2 DS1

34、8B20 暫存器分布表存放器內(nèi)容字節(jié)地址溫度值低位LS Byte0溫度值高位MS Byte1高溫限值TH2低溫限值TL3配置存放器4保存5保存6保存7CRC 校驗(yàn)值8表 2.3 溫度分辨率設(shè)置表R1R0分辨率溫控精度轉(zhuǎn)換時(shí)間009 位C0110 位C1011 位C375ms1112 位C750ms表 2.4 ROM 指令表指令代碼功能讀 ROM33H讀 DS18B20 溫度傳感器 ROM 中的編碼即 64 位地址符合 ROM55H發(fā)出此命令后,接著發(fā)出 64 位 ROM 編碼,訪問單總線上與該編碼相對應(yīng)的 DS18B20,使之做出響應(yīng),為下一步對該 DS18B20 的讀寫做準(zhǔn)備。搜索 ROM0

35、F0H用于確定掛接在同一總線上 DS18B20 的個數(shù)和識別 64 位 ROM 地址。為操作各器件做好準(zhǔn)備。跳過 ROM0CCH忽略 64 位 ROM 地址,直接向 DS18B20 發(fā)溫度變換命令。適用于單片工作。告警搜索命令0ECH執(zhí)行后只有溫度超過設(shè)定值上限或下限的片子才做出響應(yīng)。DS18B20的數(shù)據(jù)讀寫是通過時(shí)間間隙處理位和命令字來確認(rèn)信息交換。寫時(shí)間隙:當(dāng)主機(jī)把數(shù)據(jù)線從邏輯高電平拉到邏輯低電平的時(shí)候,寫時(shí)間隙開始。有兩中寫時(shí)間隙:寫“1時(shí)間隙和寫“0時(shí)間隙,所有寫時(shí)間隙必須最少持續(xù)60s,包括兩個寫周期之間至少1s的恢復(fù)時(shí)間。I/O口電平變低后,DS18B20在一個15s到60s的窗口

36、內(nèi)對I/O線采樣,如果線上是高電平,就是寫“1,如果線上是低電平,就是寫“0。表 2.5 RAM 指令表指令代碼功能溫度變換44H啟動 DS18B20 進(jìn)行溫度變換,結(jié)果存入內(nèi)部 9 字節(jié) RAM 中。讀暫存器0BEH讀內(nèi)部 RAM 中 9 字節(jié)的內(nèi)容。寫暫存器4EH發(fā)出向內(nèi)部 RAM 的 3、4 字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后是傳送兩字節(jié)的數(shù)據(jù)。復(fù)制暫存器48H將 RAM 中第 3、4 字節(jié)的內(nèi)容復(fù)制到 EEPROM 中。重調(diào) EEPROM0B8H將 EEPROM 中內(nèi)容恢復(fù)到 RAM 中的第 3、4 字節(jié)。讀供電方式0B4H讀 DS18B20 的供電模式,寄生供電時(shí) DS18B

37、20 發(fā)送“0,外接電源供電 DS18B20 發(fā)送“1。讀時(shí)間隙:當(dāng)從DS18B20讀取數(shù)據(jù)線時(shí),主機(jī)生成讀時(shí)間隙。當(dāng)主機(jī)把數(shù)據(jù)線從高電平拉到低電平時(shí),寫時(shí)間隙開始。數(shù)據(jù)線必須保持至少1s;從DS18B20輸出的數(shù)據(jù)在讀時(shí)間隙的下降沿出現(xiàn)后15s內(nèi)有效。因此,主機(jī)在讀時(shí)間隙開始后必須停止把I/O腳驅(qū)動為低電平15s,以讀取I/O腳狀態(tài),在讀取時(shí)間隙的結(jié)尾,I/O引腳將被外部上拉電阻拉到高電平,所有讀時(shí)間隙必須最少持續(xù)60s,包括兩個讀周期之間至少1s的恢復(fù)時(shí)間。2.3.2 單片機(jī)數(shù)據(jù)采集在本設(shè)計(jì)中,單片機(jī)需要對輸入到其引腳上的信號進(jìn)行讀取,這就要求單片機(jī)在每次讀引腳時(shí),先用指令把被讀斷口置1,

38、使端口輸出FET截止,然后再發(fā)出讀引腳指令27。讀引腳指令格式一般為:MOV Px,#0FFH ;如果復(fù)位后沒有改變過該端口的狀態(tài),那么可省略此指令MOV ,;x為0,1,2,3Px口源操作數(shù)既可以是字節(jié)操作,也可以是位操作。如:MOV A,P1;讀P1口8個引腳的信號,然后送入A;讀P2口8個引腳的信號,然后僅把位送入C單片機(jī)與DS18B20的所有通訊都是由一個單片機(jī)的復(fù)位脈沖和一個DS18B20的應(yīng)答脈沖開始的。單片機(jī)先發(fā)一個復(fù)位脈沖,保持低電平時(shí)間最少480s,最多不能超過960s。然后,單片機(jī)釋放總線,等待DS18B20的應(yīng)答脈沖。DS18B20在接受到復(fù)位脈沖后等待1560s才發(fā)出應(yīng)

39、答脈沖。應(yīng)答脈沖能保持60240s。單片機(jī)從發(fā)送完復(fù)位脈沖到再次控制總線至少要等待480 s。2.4 液晶顯示屏電路設(shè)計(jì)2.4.1 LCM1602介紹LCM采用16引腳封裝,外形與引腳分布如下圖。各引腳的名稱及功能如下28。第1腳VSS,為地電源。第2腳VDD,接5V正電源。第3腳VEE為液晶顯示器比照度調(diào)整端,接正電源時(shí)比照度最弱,接地電源時(shí)比照度最高,比照度過高時(shí)會產(chǎn)生“鬼影,使用時(shí)可以通過一個10K的電位器調(diào)整比照度。第4腳RS為存放器選擇,高電平時(shí)選擇數(shù)據(jù)存放器、低電平時(shí)選擇指令圖 2.6 LCM1602 液晶顯示器存放器。第5腳R/W為讀寫信號線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操

40、作。當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號,當(dāng)RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù)。第6腳E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第714腳D0D7為8位雙向數(shù)據(jù)線。LCM1602的一些技術(shù)參數(shù):1邏輯工作電壓VDD:;2LCD的驅(qū)動電壓:;3工作溫度:060C常溫/-20+75C寬溫;4工作電流:;5屏幕視域尺寸:。表 2.6 控制指令功能實(shí)現(xiàn)表控制信號控 制 代 碼指令名稱RSR/WD7D6D5D4D3D2D1D0去除屏幕0000000001歸位000000001*輸入方式00000001I/DS顯示狀態(tài)0000

41、001DCB光標(biāo)/換面移動000001S/CR/L*工作方式00001DLNF*CGRAM 地址設(shè)置0001A5A4A3A2A1A0DDRAM 地址設(shè)置001A6A5A4A3A2A1A0忙標(biāo)志/地址計(jì)數(shù)器01BFA6A5A4A3A2A1A0寫數(shù)據(jù)10數(shù)據(jù)讀數(shù)據(jù)11數(shù)據(jù)2.4.2 LCM的指令LCM提供了8條控制指令,通過這些指令可以實(shí)現(xiàn)顯示屏的根本控制功能29。指令表參見表2.6:其中, “清楚屏幕和“歸位兩條指令的執(zhí)行時(shí)間為,其他指令的執(zhí)行時(shí)間為40s。每條指令的執(zhí)行時(shí)間為每一次讀寫LCD存放器后要等待的時(shí)間,然后CPU才可以發(fā)下一條指令。1去除屏幕指令:該指令去除顯示內(nèi)容,將DDRAM顯示

42、數(shù)據(jù)存放器的全部內(nèi)容清0,并將AC清0。2歸位指令:該指令置DDRAM顯示數(shù)據(jù)RAM地址為0,即將AC清0;使光標(biāo)和光標(biāo)所在字符回到原點(diǎn),但DDRAM的內(nèi)容不變。3輸入方式指令:該指令選擇顯示時(shí)的輸入方式。其RS和R/W的設(shè)置及個數(shù)據(jù)位格式如表2.7:表 2.7 數(shù)據(jù)位格式RSR/WD7D6D5D4D3D2D100000001I/D其命令字的高6位的固定值為000001B。最低兩位的作用如下:當(dāng)I/D=1時(shí),為增量方式,數(shù)據(jù)寫操作后,AC自動加1,光標(biāo)右移一個字符;當(dāng)I/D=0時(shí),為減量方式,數(shù)據(jù)寫操作后,AC自動減1,光標(biāo)左移一個字符;當(dāng)S=1時(shí),顯示畫面移位;當(dāng) S=0時(shí),顯示畫面不移位。

43、由I/D和S控制輸入模式如表2.8: 輸入模式I/DS功 能 說 明00每讀寫一個字節(jié)數(shù)據(jù),AC 自動加 1,光標(biāo)位置同時(shí)左移 1 位,畫面不動01光標(biāo)顯示的位置不動,畫面右移 1 位10每讀寫一個字節(jié)數(shù)據(jù),AC 自動加 1,光標(biāo)位置同時(shí)右移 1 位,畫面不動11光標(biāo)顯示的位置不動,畫面左移 1 為4顯示狀態(tài)控制指令:該指令控制畫面、光標(biāo)和閃爍的開關(guān)。其 RS 和 R/W的設(shè)置及各數(shù)據(jù)位格式如表2.9: 數(shù)據(jù)位格式RSR/WD7D6D5D4D3D2D10000001DC其命令字高5位的固定值為00001B。其低3位的作用如下:當(dāng)D=1時(shí),開顯示;當(dāng)D=0時(shí),關(guān)顯示,無畫面,但顯示數(shù)據(jù)依然保存在

44、DDRAM中。當(dāng)C=1時(shí),顯示光標(biāo),光標(biāo)位置由地址指針存放器AC確定;當(dāng)C=0時(shí),光光標(biāo)。當(dāng)B=1時(shí),顯示字符閃爍,閃爍字符位置由地址指針存放器AC確定;當(dāng)B=0時(shí),顯示字符不閃爍。5光標(biāo)或畫面移位指令:該指令選擇光標(biāo)畫面向左或者向右移動1個字符。其RS和R/W的設(shè)置及各數(shù)據(jù)格式如表2.10:表 2.10 光標(biāo)或畫面移位指令RSR/WD7D6D5D4D3D2D1000001S/CR/LX 控制讀/寫操作的格式S/CR/L功 能 說 明00光標(biāo)左移,AC 自動減 101光標(biāo)右移,AC 自動加 110光標(biāo)和顯示字符一起左移11光標(biāo)和顯示字符一起右移其命令字最高4位的固定值為0001B。其低4位的作

45、用如下:當(dāng)S/C=1時(shí),光標(biāo)與字符同時(shí)移位;當(dāng)S/C=0時(shí),僅光標(biāo)移位。當(dāng)R/L=1時(shí),右移;當(dāng)R/L=0時(shí),左移。位1和位0的X可以是任何值。由S/C和R/L控制讀/寫操作的格式如表2.11:6工作方式設(shè)置指令:該指令選擇長度與顯示格式。其RS和R/W的設(shè)置及各數(shù)據(jù)位格式如表2.12: 工作方式設(shè)置指令 RS 和 R/W 設(shè)置及各數(shù)據(jù)位格式RSR/WD7D6D5D4D3D2D100001DLNFX其命令字高3位的固定值為001B。D0和D1無作用,D3D1的作用如下:當(dāng)DL=1時(shí),采用8位數(shù)據(jù)總線;當(dāng)DL=0時(shí),采用4位數(shù)據(jù)總線。當(dāng)N=1時(shí),顯示雙行字符行;當(dāng)N=0時(shí),顯示單行字符行。當(dāng)F=

46、1時(shí),采用510點(diǎn)陣字符體;當(dāng)F=0時(shí),采用57點(diǎn)陣字符體。7 CGRAM的地址設(shè)置指令:該指令把6位CGRAM的地址寫入地址指針存放器AC,然后計(jì)算機(jī)對數(shù)據(jù)的操作就是對CGRAM的讀/寫操作。其RS和R/W的設(shè)置及各數(shù)據(jù)位格式如表2.13: CGRAM 的地址設(shè)置指令RSR/WD7D6D5D4D3D2D10001A5A4A3A2A1該指令高2位的固定值為01B。A5A0位用于選擇CGRAM的地址,范圍0063。8DDRAM的地址設(shè)置指令:該指令把7位DDRAM的地址寫入地址指針存放器AC,隨后計(jì)算機(jī)對數(shù)據(jù)的操作就是DDRAM的讀/寫操作。其RS和R/W的設(shè)置及個數(shù)據(jù)位格式如表2.14: DD

47、RAM 的地址設(shè)置指令RSR/WD7D6D5D4D3D2D1001A6A5A4A3A2A1指令位7的固定值為1。A6A0位用于選擇DDRAM的地址,并存放于AC中。寫入本指令后,最后必須是讀/寫DDRAM數(shù)據(jù)的指令。9讀取忙標(biāo)志/地址計(jì)數(shù)器AC:該操作用于讀取忙標(biāo)志位BF及地址計(jì)數(shù)器AC的內(nèi)容。其RS和R/W的設(shè)置及各數(shù)據(jù)位格式如表2.15: 讀取忙標(biāo)志/地址計(jì)數(shù)器 ACRSR/WD7D6D5D4D3D2D100BFA6A5A4A3A2A1在讀/寫數(shù)據(jù)之前,要檢查BF位的狀態(tài)。當(dāng)BF=0時(shí),可以存取LCD;當(dāng)BF=1時(shí),那么不能存取LCD。A6A0位是DDRAM和CGRAM的地址取決于計(jì)算機(jī)最

48、近向AC寫入的是哪個類型的地址 。10寫入DDRAM/CGRAM:在地址設(shè)定指令后,該操作把D0D7表示的字符碼寫入到DDRAM以顯示相應(yīng)的字符,活把用戶設(shè)計(jì)的字符寫入CGRAM。其RS和R/W的設(shè)置及個數(shù)據(jù)位格式如表2.16: 寫入 DDRAM/CGRAMRSR/WD7D6D5D4D3D2D110D7D6D5D4D3D2D111讀取DDRAM/CGRAM數(shù)據(jù):地址設(shè)定指令后,該操作讀取DDRAM/CGRAM中的數(shù)據(jù)。其RS和R/W的設(shè)置及各數(shù)據(jù)位格式如表2.17: 讀取 DDRAM/CGRAMRSR/WD7D6D5D4D3D2D111D7D6D5D4D3D2D12.4.3 LCM1602的復(fù)

49、位及初始化在LCM1602內(nèi)部有一個復(fù)位電路,如果電源符合LCM1602的時(shí)序要求當(dāng)電源從上升到所需要的時(shí)間在0.110ms之內(nèi),或者電源的低電平瞬間抖動持續(xù)時(shí)間大于1ms時(shí) ,那么LCM1602上電即可自動復(fù)位30。復(fù)位后的默認(rèn)狀態(tài)如下:1顯示,即DDRAM;2定為8位數(shù)據(jù)長度,單行顯示,57點(diǎn)陣字符;3屏、光標(biāo)、閃爍功能均為關(guān)閉;4模式為AC地址自動加1,顯示畫面不移動,如果電源不符合LCM1602的時(shí)序要求,那么需要采用指令對其熱啟動,操作步驟如下: 寫入指令代碼30H或38H。 時(shí)時(shí)間大于。 入指令代碼30H或38H。 時(shí)時(shí)間大于100s。 指令代碼30H或38H。在熱啟動期間不能檢測

50、BF標(biāo)志位。如果電源符合LCM1602的時(shí)序要求或已經(jīng)用指令進(jìn)行了熱啟動,那么可根據(jù)LCM1602的時(shí)間要求和各指令的功能,根據(jù)實(shí)際值設(shè)置功能初始化指令,通常為如下步驟: 設(shè)置工作方式,指令為001NFxx; 去除顯示,指令為01; 設(shè)定輸入方式,指令為0000011/BS; 設(shè)置顯示狀態(tài),指令為00001DCB;在輸入上述指令前,及對數(shù)據(jù)進(jìn)行讀取時(shí)都要求檢測BF標(biāo)志位,如果為1那么等待,為0就執(zhí)行下一條指令。2.5 鍵盤電路設(shè)計(jì)在單片機(jī)應(yīng)用系統(tǒng)中,除復(fù)位鍵有專門的復(fù)位電路以及專一的復(fù)位功能外,其他的按鍵均以開關(guān)狀態(tài)來設(shè)置控制功能或輸入數(shù)據(jù)31。圖 2.7 系統(tǒng)鍵盤電路鍵盤中的每個按鍵都是個常

51、開的開關(guān)電路,當(dāng)所設(shè)置的功能鍵或數(shù)字鍵按鍵時(shí),那么處于閉合狀態(tài)。對于一組鍵或一個鍵盤,需要通過接口電路與單片機(jī)相連,以便將鍵的開關(guān)狀態(tài)通知單片機(jī)。單片機(jī)可以采用查詢或中斷方式檢查有無鍵輸入以及是哪個鍵被按下。并通過轉(zhuǎn)移指令轉(zhuǎn)入執(zhí)行該鍵的功能程序,執(zhí)行完再返回到原始狀態(tài)32。目前,大局部按鍵或鍵盤都是利用機(jī)械觸點(diǎn)的閉、合作用,這無疑會受到按鍵或鍵盤在閉、合瞬間的彈性作用影響,因而使得電壓信號不穩(wěn)定即抖動,一般不穩(wěn)定持續(xù)時(shí)間為510ms。為了能保證CPU對鍵的一次閉合僅做一次處理,就需要軟件或硬件進(jìn)行抖動影響的消除。硬件方法是在鍵輸出端加R-S觸發(fā)器或單穩(wěn)態(tài)電路構(gòu)成去抖動電路。在軟件上采取的措施:

52、在檢測到有按鍵按下時(shí),立即執(zhí)行一個10ms左右的延時(shí)程序后再判別該鍵電平是否仍保持閉合狀態(tài)的電平,假設(shè)仍然保持為閉合狀態(tài)的電平,那么確認(rèn)該鍵處于閉合狀態(tài),否那么認(rèn)識是干擾信號,從而去除抖動影響。為了簡化電路,本設(shè)計(jì)使用軟件方法去除抖動。本設(shè)計(jì)采用帶中斷的23獨(dú)立式按鍵,每個按鍵占用一個I/O口,在每個I/O口與按鍵的連線上再接出到兩個3輸入與門的輸入端,3輸入與門的輸出端接一個2輸入與門,2輸入與門的輸出接到單片機(jī)的口即外部中斷0接口。當(dāng)有任何鍵按下時(shí),與門輸入為低電瓶,輸出也為低電平,觸發(fā)外部中斷0,并進(jìn)入中斷效勞子程序。鍵盤連接圖請參見圖。2.6 報(bào)警電路設(shè)計(jì)本設(shè)計(jì)采用LM386集成功率放

53、大器做為報(bào)警器。LM386是美國國家半導(dǎo)體P1.0P1.1P1.2P1.3P1.4P1.5+5VR65kR55kR75KR810kR95kR105k12B112B212B312B412B512B6公司生產(chǎn)的音頻功率放大器,主要應(yīng)用于低電壓消費(fèi)類產(chǎn)品。具有自身功耗低、電壓增益可調(diào)整、工作電壓范圍寬、外接元件少、失真度低等優(yōu)點(diǎn)。LM386的外形和引腳的排列圖所示。引腳2為反相輸入端,3為同相輸入端;引腳5為輸出端;引腳6和4分別為電源和地;引腳1和8為電壓增益設(shè)定端;使用時(shí)在引腳7和地之間接旁路電容,通常取10F。通常采用69V電源,在一定的電源和負(fù)載情況下,一般LM386的最大輸出功率為1W,但

54、因該器件散熱不夠理想,所以在實(shí)際使用中,其輸出功率通常取以下33。電路的放大倍數(shù)可由內(nèi)部電阻和1腳、8腳的外接元件確定。當(dāng)1腳和8腳之間不接元件時(shí),其放大倍數(shù)是20倍;當(dāng)1腳和8腳之間接一個10F的極性電容時(shí),其放大倍數(shù)為200倍;當(dāng)1腳和和8腳之間接一個10F的極性電容和R電阻時(shí),放大倍數(shù)在20200之間,計(jì)算公式如下: (2.4)150/35. 12SuRkRA式中,R是LM386集成塊內(nèi)部電阻,一般其值為15k。87651234增益設(shè)定旁路電容+Vcc輸出地增益設(shè)定反相輸入同相輸入 圖 2.8 LM386 的外形和引腳的排列圖LM386采用雙音頻輸入/輸出, “、 “輸出端可以很好地抵消

55、共模信號,故能有效抑制共模噪聲。電容C6的作用是減少輸出耦合電容,隔斷直流電壓。直流電壓過大有可能會損壞喇叭線圈;耦合音頻的交流信號。它與揚(yáng)聲器負(fù)載構(gòu)成了一階高通濾波器。減小該電容值,可使噪聲能量沖擊的幅度變小、寬度變窄;太低還會使截止頻率提高。在實(shí)際應(yīng)用中,為了濾除噪聲,通常在第7腳BYPASS上接一個旁路電容到接地端,即電容C7。工作穩(wěn)定后,該管腳電壓值約等于電源電壓的一半。增大這個電容的容值,減緩直流基準(zhǔn)電壓的上升、下降速度,有效抑制噪聲。在器件上電、掉電時(shí)的噪聲就是由該偏置電壓的瞬間跳變所致。在PCB設(shè)計(jì)時(shí),所有外圍元件盡可能靠近LM386;地線盡可能粗一些;輸入音頻信號通路盡可能平行

56、走線。圖 2.9 報(bào)警電路設(shè)計(jì)3 程序設(shè)計(jì)程序設(shè)計(jì)3.1 程序流程P26R310kC40.047pFR41053264718U6LM386+9V61%231RV11kLS1SOUNDER+C710uF+C5220uF+C61uF+C810uF開 始有鍵閉合500ms 延時(shí)確實(shí)閉合1000ms 延時(shí)判 斷 鍵 值是否釋放鍵 值 賦 給 A返 回圖 3.2 鍵掃描子程序流程圖開 始寫入清屏指令調(diào)用延時(shí)子程序設(shè)置工作方式設(shè)置輸入方式設(shè)置顯示狀態(tài)延時(shí)子程序設(shè)置起始地址用查表方式寫入調(diào)顯示子程序結(jié)束圖 3.3 液晶初始化及顯示流程圖溫 度 超 限關(guān)綠燈,開紅燈依然超限調(diào)顯示子程序顯示超限測量點(diǎn)開綠燈,關(guān)

57、紅燈返回到報(bào)警前現(xiàn)場繼續(xù)工作圖 3.4 報(bào)警流程圖NNYYNNYY讀 DS18B20開 始顯示測量值是否超限啟 動 報(bào) 警YN顯示報(bào)警測量點(diǎn)關(guān)閉報(bào)警圖 3.1 系統(tǒng)主程序流程圖DS1820 復(fù)位命令跳過 ROM 檢測讀溫度命令CRC 校驗(yàn)移入溫度暫存器9 字節(jié)讀完CRC 校驗(yàn)正確否?結(jié)束圖 3.5 DS18B20 讀溫度子程序流程圖YYNN開始溫度在零以下否溫度值取補(bǔ)碼置“-標(biāo)志計(jì)算小數(shù)位溫度 BCD 值計(jì)算整數(shù)位溫度 BCD 值圖 3.6 DS18B20 計(jì)算溫度子程序流程圖RET開始置“+標(biāo)志NY3.2 程序設(shè)計(jì)3.2.1 主程序設(shè)計(jì)ORG 0000H TEMPER_L EQU 29H ;

58、用于保存讀出溫度的低8位 TEMPER_H EQU 28H ;用于保存讀出溫度的高8位 FLAG1 EQU 38H ;是否檢測到DS18B20標(biāo)志位MAIN: LCALL GET_TEMPER ;調(diào)用讀溫度子程序 MOV A, 29H MOV C, 40H RRC A MOV C, 41H RRC A MOV C, 42H RRC A MOV C, 43H RRC A MOV 51H, A ANL 29H, #0FH MOV A,29H MOV B,#6 MUL AB MOV 50H,A LCALL DISPLAY AJMP MAIN ; DS18B20復(fù)位初始化子程序INIT_1820: N

59、OP CLR ;主機(jī)發(fā)出延時(shí)537微秒的復(fù)位低脈沖 MOV R1,#3TSR1: MOV R0,#107 DJNZ R0,$ DJNZ R1,TSR1 SETB ;然后拉高數(shù)據(jù)線 NOP NOP NOP MOV R0,#25HTSR2: JNB P2.2,TSR3 ;等待DS18B20回應(yīng) DJNZ R0,TSR2 LJMP TSR4 ;延時(shí)TSR3: SETB FLAG1 ;置標(biāo)志位,表示DS1820存在 CLR ;檢查到DS18B20就點(diǎn)亮指示燈 LJMP TSR5TSR4: CLR FLAG1 ;清標(biāo)志位,表示DS1820不存在 CLR LJMP TSR7TSR5: MOV R0,#11

60、7TSR6: DJNZ R0,TSR6 ;時(shí)序要求延時(shí)一段時(shí)間TSR7: SETB RET ;讀出轉(zhuǎn)換后的溫度值GET_TEMPER: SETB LCALL INIT_1820 ;先復(fù)位DS18B20 JB FLAG1,TSS2 CLR RET TSS2: CLR ;DS18B20已經(jīng)被檢測到 MOV A,#0CCH ;跳過ROM匹配 LCALL WRITE_1820 MOV A,#44H ;發(fā)出溫度轉(zhuǎn)換命令 LCALL WRITE_1820 ;通過調(diào)用顯示子程序?qū)崿F(xiàn)延時(shí) LCALL DISPLAY LCALL INIT_1820 ;準(zhǔn)備讀溫度前先復(fù)位 MOV A,#0CCH ;跳過ROM匹配

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論