基于單片機(jī)得溫度控制器說(shuō)明書(shū).doc_第1頁(yè)
基于單片機(jī)得溫度控制器說(shuō)明書(shū).doc_第2頁(yè)
基于單片機(jī)得溫度控制器說(shuō)明書(shū).doc_第3頁(yè)
基于單片機(jī)得溫度控制器說(shuō)明書(shū).doc_第4頁(yè)
基于單片機(jī)得溫度控制器說(shuō)明書(shū).doc_第5頁(yè)
已閱讀5頁(yè),還剩74頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

江蘇建筑職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)目 錄引言1第一章 系統(tǒng)方案論證21.1 方案設(shè)計(jì)21.2方案的對(duì)比論證2第二章 系統(tǒng)硬件電路的設(shè)計(jì)42.1電路總體原理框圖42.2單片機(jī)的選擇52.3單片機(jī)得管腳說(shuō)明62.4單片機(jī)的時(shí)鐘電路82.5復(fù)位電路及其復(fù)位狀態(tài)92.5.1 復(fù)位電路92.5.2 復(fù)位狀態(tài)102.6.溫度采集電路的設(shè)計(jì)112.6.1 DS18B20特點(diǎn)介紹122.7鍵盤接口電路的設(shè)計(jì)132.8顯示接口和報(bào)警電路的設(shè)計(jì)152.9通信接口電路設(shè)計(jì)182.9.1 max232原理182.9.2 MAX232與單片機(jī)的接口電路18第三章 軟件系統(tǒng)的設(shè)計(jì)203.1 主程序模塊213.2溫度報(bào)警模塊213.3參考程序383.4設(shè)計(jì)方案分析383.4.1優(yōu)點(diǎn)383.4.2缺點(diǎn)38第四章 硬、軟件抗干擾技術(shù)394.1 硬件抗干擾技術(shù)394.1.1接地技術(shù)394.1.2屏蔽系統(tǒng)404.1.3隔離技術(shù)414.1.4濾波技術(shù)414.1.5 抑制反電勢(shì)干擾技術(shù)414.2 軟件抗干擾技術(shù)424.2.1 消除數(shù)據(jù)采集的干擾424.2.2保持正??刂茽顟B(tài)42第五章 結(jié)論與前景分析46參考文獻(xiàn)47致謝48附錄49引 言隨著生產(chǎn)生活的需要,自動(dòng)化控制越來(lái)越起到至關(guān)重要的作用。溫度控制是工業(yè)生產(chǎn)過(guò)程中很普遍的過(guò)程控制,人們需要對(duì)各種加熱爐,熱處理爐,反應(yīng)爐等鍋爐中溫度進(jìn)行測(cè)量與控制。特別是冶金,化工、建材、食品、機(jī)械、石油等工業(yè)中,具有舉足輕重的作用,其溫度的控制效果直接影響著產(chǎn)品的質(zhì)量,因而設(shè)計(jì)一種較為理想的溫度控制系統(tǒng)是非常有價(jià)值的,工業(yè)生產(chǎn)中溫度控制具有單向性、時(shí)滯性、大慣性和時(shí)變性的特征,同時(shí)要實(shí)現(xiàn)溫度控制的快速性和準(zhǔn)確性,對(duì)于對(duì)于提高產(chǎn)品質(zhì)量具有很重要的意義。對(duì)于不同的場(chǎng)所、不同的工藝、不同的產(chǎn)品所需要的溫度范圍不同、精度也不同,則采用的溫度測(cè)量元件以及溫度測(cè)量方法和控制方法都有所不同;產(chǎn)品工藝不同、溫度控制的精度不同、時(shí)效不同,則對(duì)數(shù)據(jù)采集的精度和采用的控制算法也不同。因此對(duì)溫度的控制方法要多種多樣。隨著電子技術(shù)和微型計(jì)算的迅速發(fā)展,微機(jī)測(cè)量和控制技術(shù)也得到了迅速的發(fā)展和廣泛的應(yīng)用。利用微機(jī)對(duì)溫度進(jìn)行測(cè)控的技術(shù)也隨之而產(chǎn)生?,F(xiàn)有的溫度傳感器大多為(熱電偶)體積大,應(yīng)用復(fù)雜,多為模擬信號(hào),已經(jīng)不在適合現(xiàn)代工業(yè)的靈活性要求了。本設(shè)計(jì)是基于單片機(jī)的溫度控制系統(tǒng),為閉環(huán)系統(tǒng),工作的可靠性高、精度高。本設(shè)計(jì)主要圍繞單片機(jī)進(jìn)行設(shè)計(jì),從實(shí)際應(yīng)用出發(fā),選取了體積小、精度相對(duì)較高的數(shù)字式溫度傳感器件DS18B20作為溫度采集裝置,以單片機(jī)89C51作為主控芯片,1602作為顯示輸出,實(shí)現(xiàn)了對(duì)溫度的實(shí)時(shí)測(cè)量,當(dāng)溫度超出設(shè)定范圍系統(tǒng)將會(huì)自動(dòng)調(diào)節(jié)加熱或者降溫系統(tǒng),從而實(shí)現(xiàn)了實(shí)時(shí)恒溫控制。第一章 系統(tǒng)方案論證關(guān)于溫度的檢測(cè)問(wèn)題,通常是通過(guò)溫度敏感元件(熱敏電阻)通過(guò)模數(shù)轉(zhuǎn)換器(A/D),將模擬量轉(zhuǎn)換成數(shù)字量,利用此種方法無(wú)法可靠的保證采樣的精度,所以我們選擇DS18B20直接從溫度信號(hào)得到數(shù)字信號(hào),大大提高了采樣的精準(zhǔn)度。1.1 方案設(shè)計(jì)溫度的控制方法多種多樣,諸如PLC控制,模擬PID調(diào)節(jié)和數(shù)字PID調(diào)節(jié)等等。從經(jīng)濟(jì)性和操作的可行性,本設(shè)計(jì)選擇單片機(jī)控制與PLC控制進(jìn)行對(duì)比選擇。方案一:利用單片機(jī)實(shí)現(xiàn)溫度控制此方案以89S51單片機(jī)為CPU進(jìn)行控制,系統(tǒng)主要包括現(xiàn)場(chǎng)溫度采集(DS18B20)、實(shí)時(shí)溫度顯示(LCD1602)、報(bào)警電路提示、核心(89S51)單片機(jī)。DS18B20直接采集數(shù)據(jù)并以數(shù)字的形式傳到處理器,處理器會(huì)檢查現(xiàn)場(chǎng)溫度并將其與用戶設(shè)定的溫度進(jìn)行比對(duì),采取相應(yīng)的措施(LED發(fā)光二極管閃爍),以提示用戶溫度和所需溫度不同,需采取相應(yīng)的措施,直至溫度達(dá)到設(shè)定的范圍內(nèi),LED發(fā)光二極管不再閃爍,從而實(shí)現(xiàn)溫度的控制。方案二:利用PLC實(shí)現(xiàn)溫度控制利用PLC實(shí)現(xiàn)恒溫控制,采用PLC控制實(shí)現(xiàn)電熱絲加熱全通、間斷導(dǎo)通和全斷加熱的自控方式,來(lái)保持溫度的恒定。智能型電偶溫度表將置于被測(cè)對(duì)象中,熱電偶的傳感信號(hào)與恒定溫度的給定電壓進(jìn)行比較,生成溫差,自適應(yīng)恒溫控制電路根據(jù)差值大小控制電路的通斷。1.2方案的對(duì)比論證 方案一采用單片機(jī)實(shí)現(xiàn)溫度調(diào)節(jié),成本低,而且具有較高的可靠性,對(duì)于系統(tǒng)動(dòng)態(tài)性能與穩(wěn)定要求不是很高的場(chǎng)合非常的合適,采用DS18B20作為溫度傳感器,直接得到數(shù)字信號(hào),通過(guò)單片機(jī)對(duì)偏差進(jìn)行運(yùn)算,若溫度不在所調(diào)節(jié)的溫度范圍之內(nèi)會(huì)以單燈閃爍的形式提醒用戶,用戶采取措施達(dá)到控制溫度目的。方案二采用PLC進(jìn)行控制,PLC的成本比單片機(jī)高出太多,而且還要提供良好的工作環(huán)境,對(duì)周邊設(shè)備的要求也很高。綜合各種因素,本設(shè)計(jì)將采用單片機(jī)來(lái)實(shí)現(xiàn)恒溫控制。第二章 系統(tǒng)硬件電路的設(shè)計(jì)2.1電路總體原理框圖溫度傳感器AT89S51通信部分LCD顯示按鍵設(shè)置電源部分聲光報(bào)警本系統(tǒng)以89S51為核心,系統(tǒng)啟動(dòng),首先通過(guò)DS18B20檢測(cè)溫度,將信號(hào)傳至單片機(jī),在LCD 1602上顯示,并且將其數(shù)值與設(shè)定值進(jìn)行比對(duì),溫度高于設(shè)定值或者溫度低于設(shè)定值的時(shí)候,單片機(jī)會(huì)輸出信號(hào)使報(bào)警指示燈閃爍,從而提醒用戶溫度異常采取措施 使溫度上升或者下降到用戶所調(diào)節(jié)的范圍之內(nèi),達(dá)到溫度的控制。2.2單片機(jī)的選擇AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)Flash存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。AT89S51具有如下特點(diǎn):40個(gè)引腳,4k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,片內(nèi)時(shí)鐘振蕩器。 此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過(guò)軟件設(shè)置省電模式。AT89S51在空閑模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式。功能有所提升加了.89S51相對(duì)于89C51增加了新功能包括: 1. ISP在線編程功能,這個(gè)功能的優(yōu)勢(shì)在于改寫單片機(jī)存儲(chǔ)器內(nèi)的程序不需要把芯片從工作環(huán)境中剝離.是一個(gè)強(qiáng)大易用的功能. 2.最高工作頻率為33MHz,大家都知道89C51的極限工作頻率是24M,就是說(shuō)S51具有更高工作頻率,從而具有了更快的計(jì)算速度. 3.具有雙工UART串行通道. 4.內(nèi)部集成看門狗計(jì)時(shí)器,不再需要像89C51那樣外接看門狗計(jì)時(shí)器單元電路. 5. 雙數(shù)據(jù)指示器. 6.電源關(guān)閉標(biāo)識(shí). 7. 全新的加密算法,這使得對(duì)于89S51的解密變?yōu)椴豢赡?程序的保密性大大加強(qiáng),這樣就可以有效的保護(hù)知識(shí)產(chǎn)權(quán)不被侵犯. 8. 兼容性方面:向下完全兼容51全部字系列產(chǎn)品.比如8051,89C51等等早期MCS-51兼容產(chǎn)品。89S51單片機(jī)性能穩(wěn)定,價(jià)格便宜,能夠滿足恒溫控制的需求,還可以裝載用戶程序,所以本設(shè)計(jì)選用該單片機(jī)。2.3單片機(jī)得管腳說(shuō)明VCC: 供電電壓。GND: 接地。P0口: P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下所示:各口管腳 備選功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時(shí)器0外部輸入)P3.5 T1(記時(shí)器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。 /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反 向振蕩器的輸出。2.4單片機(jī)的時(shí)鐘電路MCS-51系列單片機(jī)內(nèi)部的振蕩電路是一個(gè)高增益反向放大器,引線XTAL1和XTAL2分別是放大器的輸入端和輸出端。單片機(jī)內(nèi)部雖然有振蕩電路,單要形成時(shí)鐘,外部還需附加電路,本設(shè)計(jì)采用內(nèi)部時(shí)鐘方式,即利用內(nèi)部的振蕩電路在XTAL1和XTAL2引線上外接定時(shí)原件,內(nèi)部振蕩電路便產(chǎn)生自己振蕩,用示波器可以觀察到XTAL2輸出的時(shí)鐘信號(hào),最常用的是在XTAL1和XTAL2之間連接晶體振蕩器與電容構(gòu)成穩(wěn)定的自激振蕩器,晶體可在1.2-12MHz之間選擇。MCS-51單片機(jī)在通常應(yīng)用情況下,使用振蕩頻率為6MHz的石英晶體,而12MHz頻率的晶體通常是在高速下載串行通信情況下才使用。對(duì)電容值無(wú)嚴(yán)格要求,但他的取值范圍對(duì)振蕩頻率輸出的穩(wěn)定、大小及振蕩電路振速有少許影響,C1、C2可在20-40pF之間選取,一般取30pF,電路圖如下圖:2.5復(fù)位電路及其復(fù)位狀態(tài)MCS-51單片機(jī)是高電平復(fù)位,所以先看給單片機(jī)加5V電源(上電)啟動(dòng)時(shí)的情況:這時(shí)電容充電相當(dāng)于短路,你可以認(rèn)為RST上的電壓就是VCC,這是單片機(jī)就是復(fù)位狀態(tài)。隨著時(shí)間推移電容兩端電壓升高,即造成RST上的電壓降低,當(dāng)?shù)椭灵撝惦妷簳r(shí),即完成復(fù)位過(guò)程。如果按下SW,的確就是按鈕把C短路了,這時(shí)電容放電,兩端電壓都是VCC,即RST引腳電壓為VCC,如果超過(guò)規(guī)定的復(fù)位時(shí)間,單片機(jī)就復(fù)位了。當(dāng)按鈕彈起后,RST引腳的電壓為0,單片機(jī)處于運(yùn)行狀態(tài)。51單片機(jī)復(fù)位要求是:RST上加高電平時(shí)間大于2個(gè)機(jī)器周期,你用的12MHz晶振,所以一個(gè)機(jī)器周期就是1us,要復(fù)位就加2us的高電平即可。2.5.1 復(fù)位電路MCS-51單片機(jī)通常采用自動(dòng)復(fù)位和按鍵復(fù)位兩種方式,設(shè)計(jì)采用的的復(fù)位電路如下圖,上電后電容充電,按下復(fù)位按鈕后,電容放電保證RST端保持10ms以上的高電平,這樣就能夠使單片機(jī)有效的復(fù)位。復(fù)位電路2.5.2 復(fù)位狀態(tài) 復(fù)位電路的作用是使單片機(jī)實(shí)行位操作,復(fù)位主要操作是把PC初始化為0000H,使單片機(jī)從程序存儲(chǔ)器的0000H單元開(kāi)始執(zhí)行程序。程序存儲(chǔ)器的0003H單元即MCS-51單片機(jī)的外部中斷0的中斷處理程序的入口地址留出的0000H00002H三個(gè)單元地址,僅能夠放置一條轉(zhuǎn)移指令,因此,MCS-51單片機(jī)的主程序的第一條指令通常情況下是一條轉(zhuǎn)移指令。出PC之外,復(fù)位還對(duì)其他一些特殊功能的寄存器也有影響,他們的復(fù)位狀態(tài)如下表所示。利用他們的復(fù)位狀態(tài),可以減少應(yīng)該用程序中的初始化編程,如表所示,SP=07H,P0-P4的鎖存器均為FFH外,其他所有的寄存器均為0。單片機(jī)的復(fù)位狀態(tài)不影響片內(nèi)RAM的狀態(tài)。寄存器復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)PC0000HTMOD00HACC00HTCON00HPSW00HTL000HSP07HTH000HDPTR0000HTL100HP0P3FFHTH100HIP 0xx00000BSCON00HIE0xx00000BPCON0xx00000B2.6溫度采集電路的設(shè)計(jì)選擇溫度傳感器,首先應(yīng)該考慮溫度傳感器的測(cè)量精度和測(cè)量范圍,精度符合使用要球,所以我們直接選擇數(shù)字,避免在收到模擬信號(hào)后再將其轉(zhuǎn)化成數(shù)字信號(hào),那樣會(huì)擴(kuò)大測(cè)量誤差,影響精確度。DS18B20包含一個(gè)10位AD轉(zhuǎn)換器,是一個(gè)以0.25的分辨力將溫度數(shù)字化的溫度傳感器,測(cè)量范圍是-55攝氏度到125攝氏度,考慮其精確度與范圍故選擇DS18B20為測(cè)量元件。DS18B20內(nèi)部結(jié)構(gòu)圖低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給計(jì)數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(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重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。2.6.1 DS18B20特點(diǎn)介紹(1)獨(dú)特的單線接口方式,與單片機(jī)通信只需一個(gè)引腳,DS18B20與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。 (2)在使用中不需要任何外圍元件。 (3)可用數(shù)據(jù)線供電,電壓范圍:+3.0+5.5 V。 (4)測(cè)溫范圍為-55 +125 。在-10+85范圍內(nèi)誤差為0.5 。 (5)通過(guò)編程可實(shí)現(xiàn)912位的數(shù)字讀數(shù)方式。 (6)用戶可自設(shè)定非易失性的報(bào)警上下限值。 (7)支持多點(diǎn)組網(wǎng)功能,通過(guò)識(shí)別芯片各自唯一的產(chǎn)品序列號(hào)從而實(shí)現(xiàn)單線多掛接,多個(gè)DS18B20可以并聯(lián)在唯一的線上,簡(jiǎn)化了分布式溫度檢測(cè)的應(yīng)用,實(shí)現(xiàn)多點(diǎn)測(cè)溫。 (8)負(fù)壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。(9)告警尋找命令可以識(shí)別和尋址那些溫度超出預(yù)設(shè)告警界限的器DS18B20的內(nèi)部測(cè)溫電路框圖2.7鍵盤接口電路的設(shè)計(jì)本設(shè)計(jì)的鍵盤采用獨(dú)立式鍵盤,獨(dú)立式按鍵是指用IO口線構(gòu)成的單個(gè)按鍵電路,每個(gè)獨(dú)立式按鍵單獨(dú)占有一根IO口線,每根IO口線上按鍵的工作狀態(tài)不會(huì)影響其他IO口線的工作狀態(tài),即一個(gè)按鍵對(duì)應(yīng)著個(gè)端口輸入,每一個(gè)按鍵都有一個(gè)按鍵電路來(lái)判斷其是否按下。 上拉電阻確保按鍵松開(kāi)時(shí),IO口線有確定的高電平。當(dāng)IO口線內(nèi)部有上接電阻時(shí),外電路可以不配置上拉電阻,本設(shè)計(jì)采用采用查詢方式讀取按鍵,獨(dú)立式按鍵電路如圖所按鍵功能按 鍵 鍵 名 功 能RESET復(fù)位鍵使系統(tǒng)復(fù)位S1位選/設(shè)置鍵確定S2加一鍵溫度上下線加一S3減一鍵溫度上下線減一2.8顯示接口和報(bào)警電路的設(shè)計(jì)TC1602是字符型液晶顯示模塊是一類專門用于顯示字母。數(shù)字。符號(hào)等的點(diǎn)陣型液晶顯示模塊,它是由若干個(gè)57或511等點(diǎn)陣字符組成。每一個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,點(diǎn)陣字符位之間的一個(gè)點(diǎn)距的間隔起字符間距和行距的作用。目前市面上常用的有16字1行。16字2行。20字2行和40字2行等字符模型,這些LCD雖然顯示的字?jǐn)?shù)各不相同,但是都具有相同的輸入輸出界面。本文介紹的TC1602是一種16字2行的字符型液晶顯示模塊,其接口引腳的說(shuō)明如下:編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳1VSS電源地9D2Data I/O2VDD電源正極10D3Data I/O3VL液晶顯示偏壓信號(hào)11D4Data I/O4RS數(shù)據(jù)/命令選擇端12D5Data I/O5R/W讀/寫選擇端13D6Data I/O6E使能信號(hào)14D7Data I/O7D0Data I/O15BLA背光源正極8D1Data I/O16BLK背光源負(fù)極各引腳作用如下:1腳VSS:接地;2腳Vdd:接5V電源;3腳VO:對(duì)比度調(diào)整端,LCD驅(qū)動(dòng)電壓范圍為VddVO。當(dāng)VO接地時(shí),對(duì)比度最強(qiáng);4腳RS:寄存器選擇端,RS為0時(shí),選擇命令寄存器IR;RS為1時(shí),選擇數(shù)據(jù)寄存器DR;5腳:讀寫控制端,為1時(shí),選擇讀出;為0時(shí),則選擇寫入;6腳Enable:使能控制端,Enable為1時(shí),使能;Enable為0,禁止;7腳14腳D0D7:數(shù)據(jù)總線;15腳LED:背景光源,接5V;16腳LED:背景光源,接地。顯示接口電路的設(shè)計(jì) 液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,圖3-7是1602的內(nèi)部顯示地址。1602的內(nèi)部顯示地址在本系統(tǒng)中我設(shè)計(jì)了越線報(bào)警裝置,控制目標(biāo)溫度范圍。當(dāng)設(shè)定的目標(biāo)溫度線達(dá)到時(shí),需用聲音的形式提醒使用者,此時(shí)報(bào)警器開(kāi)始發(fā)出報(bào)警聲。在本系統(tǒng)中,當(dāng)溫度高于或者低于設(shè)置的溫度時(shí)報(bào)警指示燈閃爍。當(dāng)單片機(jī)P1.1輸出高電平時(shí),二極管導(dǎo)通,報(bào)警燈閃爍報(bào)警。P1.1為低電平時(shí)二極管關(guān)斷,報(bào)警燈不工作。電源指示燈和報(bào)警指示燈電路2.9通信接口電路設(shè)計(jì)2.9.1max232原理MAX232芯片是專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的接口電使用+5v單電源供電。內(nèi)部結(jié)構(gòu)基本可分三個(gè)部分:第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供給RS-232串口電平的需要。第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DP9插頭;DP9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。第三部分是供電。15腳DNG、16腳VCC(+5v)。2.9.2 MAX232與單片機(jī)的接口電路一般常用的電平轉(zhuǎn)換器件有MAX232、MC1488、MC1489及等,但MC1488、MC1489需要12V電源,這對(duì)于8051單片機(jī)系統(tǒng)是非常不便的,其中我所選用的是雙路RS-232收發(fā)器MAX232,它需要+5V電源。本系統(tǒng)采用的是PHILIPS系列的單片機(jī),它本身具有串口通信的功能。MCU與PC機(jī)進(jìn)行通訊,由于PC機(jī)的邏輯電平與MCU 的邏輯電平完全不一樣。PC機(jī)的邏輯電平:-(315)V為邏輯1,+(315)V為邏輯0。而本系統(tǒng)采用的STC系列的單片機(jī)的邏輯電平:邏輯“1”為+5V,邏輯“0”為0V。為了達(dá)到電平的匹配,采用了MAX232電平轉(zhuǎn)換芯片。在MAX232電平轉(zhuǎn)換芯片的外圍使用了4個(gè)電容作為電荷泵升壓及電壓反轉(zhuǎn)部分電路,產(chǎn)生V+、V-電源供電平轉(zhuǎn)換使用。理論上還需要在VCC上接一個(gè)104的電容作為對(duì)地的去耦電容,而在本系統(tǒng)中直接采用了5個(gè)104的電容就能夠完成電平轉(zhuǎn)換的功能。如圖13所示圖13 MAX232電平轉(zhuǎn)換圖MAX232產(chǎn)品是由德州儀器公司(TI)推出的一款兼容RS-232標(biāo)準(zhǔn)的芯片。并且可以完全兼容目前市場(chǎng)上使用的RS-232接口芯片該器件,它包含2驅(qū)動(dòng)器、2接收器和一個(gè)電壓發(fā)生器電路提供TIA/EIA-232-F電平。該器件符合TIA/EIA-232-F標(biāo)準(zhǔn),每一個(gè)接收器將TIA/EIA-232-F電平轉(zhuǎn)換成5V TTL/CMOS電平。每一個(gè)發(fā)送器將TTL/CMOS電平轉(zhuǎn)換成TIA/EIA-232-F電平。 MAX232產(chǎn)品的特性有:(1)滿足或超過(guò)TIA/EIA-232-F 規(guī)范要求,符合ITU v.28標(biāo)準(zhǔn)。(2)單5-V電源供電和4個(gè)1.0uF充電泵電容。(3)包含2個(gè)驅(qū)動(dòng)器和2個(gè)接收器。(4)低工作電流典型值為8mA。(5)2000-V ESD保護(hù)。 RS232接口芯片MAX232與單片機(jī)的接口電路設(shè)計(jì)第三章 軟件系統(tǒng)的設(shè)計(jì)系統(tǒng)的軟件由三大模塊組成:主程序模塊、功能實(shí)現(xiàn)模塊和運(yùn)算模塊。3.1 主程序模塊主程序主要完成各部件的初始化和實(shí)現(xiàn)各功能子程序的調(diào)用,以及實(shí)際測(cè)量中各個(gè)功能模塊的協(xié)調(diào),單片機(jī)通過(guò)循環(huán)對(duì)外部溫度進(jìn)行實(shí)時(shí)顯示,以便能對(duì)數(shù)字按鍵進(jìn)行相應(yīng)處理。主程序流程圖如下:3.2溫度報(bào)警模塊 本模塊主要是通過(guò)LED燈的閃爍來(lái)報(bào)警,以提醒用戶溫度異常,采取相應(yīng)的措施降溫或者升溫,報(bào)警模塊流程圖如報(bào)警子程序溫度是否在設(shè)定值之外是否允許報(bào)警返回開(kāi)啟報(bào)警燈報(bào)警模塊流程圖3.3參考程序/* 實(shí)驗(yàn)名稱: DS18B20溫度傳感器+LCD+報(bào)警 實(shí)現(xiàn)說(shuō)明:DS18B20采集的溫度范圍是-55+125度,有三個(gè)按鍵來(lái)設(shè)置其上線溫度TH和下限溫度值TL xuanze鍵來(lái)選擇設(shè)置TH還是TL; up鍵每按一次TH或TL加1; down鍵每按一次TH或TL減1;實(shí)驗(yàn)現(xiàn)象:當(dāng)DS18B20測(cè)得的溫度值=上限溫度值(TH)或者=下限溫度值(TL)時(shí),發(fā)光二極管亮,報(bào)警; */#include#include #include#define uint unsigned int#define uchar unsigned char#define LCD P0sbit LED=P34;/位定義報(bào)警顯示燈sbit xuanze=P22;/位定義選擇按鍵sbit up=P21;/位定義極限加sbit down=P20;/位定義極限減int th=10,tl=2,thh=0,tll=0;/初始上限值和下限值uchar i,num=0;/定義變量/* 延時(shí)函數(shù)*/void delay(uint z) uint x,y; for (x=z;x0;x-) for(y=110;y0;y-);/* LCD部分*/sbit rs=P25;sbit rw=P26;sbit E=P27;uchar tmp5=Temp:;uchar tmp6=C;uchar code tab1=TH:;uchar code tab2=TL:;write_com(uchar com)/LCD寫地址函數(shù) rs=0; rw=0; E=1; LCD=com; delay(5); E=0; write_data(uchar dat)/LCD寫數(shù)據(jù)函數(shù) rs=1; rw=0; E=1; LCD=dat; delay(5); E=0;init_lcd()/LCD初始化函數(shù) write_com(0x38);/16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù) write_com(0x0c);/設(shè)置為顯示開(kāi),關(guān)光標(biāo),不閃爍 write_com(0x06);/寫操作后,AC自動(dòng)加1 write_com(0x01); /LCD清屏 write_com(0x80+0x01);/LCD第一行第二個(gè)位置起顯示TH: for(i=0;i3;i+) write_data(tab1i); write_com(0x80+9);/LCD第一行第10個(gè)位置起顯示TL: for(i=0;i3;i+) write_data(tab2i); write_com(0x80+0X40+0x00);/LCD第二行開(kāi)始出顯示Temp: for(i=0;i5;i+) write_data(tmp5i); write_com(0x80+0X40+10);/顯示溫度的單位 for(i=0;i0;i-)/循環(huán)8次 DQ=0;/總線拉低 DQ=cmd&0x01;/將發(fā)送字節(jié)的最低位送到總線 delay1(5);/延時(shí)(30us),等待DS18B20取走總線數(shù)據(jù) DQ=1;/總線拉高 cmd=1;/將待發(fā)送的字節(jié)右移后,繼續(xù)發(fā)送 uchar readdat()/DS18B20的讀字節(jié)函數(shù) uchar i=0;/定義位循環(huán)變量 uchar temp=0;/定義暫存變量 for(i=8;i0;i-)/循環(huán)8次 DQ=0;/總線為低電平 temp=1;/暫存變量右移 DQ=1;/總線拉高,執(zhí)行如下的讀操作 if(DQ)/如果DS18B20輸出高電平 temp|=0x80;/將暫存變量的最高位置1 delay1(4);/延時(shí)一段時(shí)間 return temp;/程序結(jié)束后,將暫存變量返回調(diào)用程序/* 按鍵設(shè)置上線溫度和下限溫度值函數(shù) */void key() / key0=0; if(xuanze=0)/如果選擇鍵按下delay(10);/延時(shí)消抖if(xuanze=0)/如果按鍵還處于按下?tīng)顟B(tài) num+;/次數(shù)加1 while(!xuanze);/等待按鍵抬起if(num=1)/如果按下選擇鍵的次數(shù)為1 TR0=0;/關(guān)閉中斷 write_com(0x80+0x00+5);/光標(biāo)移到第一行第七個(gè)位置 write_com(0x0f);/設(shè)置為顯示開(kāi),開(kāi)光標(biāo),閃爍 if(num=2)/如果按下選擇鍵的次數(shù)為2 write_com(0x80+0x00+13);/光標(biāo)移到第一行第十五個(gè)位置if(num=3)/如果按下選擇鍵的次數(shù)為3 num=0;/次數(shù)清零 write_com(0x0c);/設(shè)置為顯示開(kāi),關(guān)光標(biāo),不閃爍 TR0=1;/開(kāi)中斷 if(num!=0)/在選擇鍵按下時(shí) if(up=0)/如果極限加按鍵按下 delay(10);/延時(shí)消抖 if(up=0)/如果極限加按鍵仍處于按下?tīng)顟B(tài) while(!up);/等待按鍵抬起 if(num=1)/如果選擇鍵按了一次 th+;/上線值加1 if(th=0)/如果上線值為正thh=0;/計(jì)數(shù)清零 write_com(0x80+0x00+4); write_data(+);/顯示正號(hào) write_com(0x80+0x00+5); write_data(th/10+0x30);/顯示上限溫度值的十位 write_data(th%10+0x30);/顯示上限溫度值的個(gè)位 if(th=0)/如果下限溫度值為正 tll=0;/計(jì)數(shù)清零 write_com(0x80+0x00+12); / 顯示正號(hào) write_data(+);/ write_com(0x80+0x00+13); write_data(tl/10+0x30);/顯示下限溫度值的十位 write_data(tl%10+0x30);/顯示下限溫度值的個(gè)位 if(tl=0)/如果上限溫度值為正 write_com(0x80+0x00+4); /顯示正號(hào)write_data(+);write_com(0x80+0x00+5); write_data(th/10+0x30);/顯示上限溫度值的十位write_data(th%10+0x30);/顯示上限溫度值的個(gè)位if(th=0)/如果下限溫度值為正 write_com(0x80+0x00+12); write_data(+);/顯示正號(hào) write_com(0x80+0x00+13); write_data(tl/10+0x30);/顯示下限溫度值的十位 write_data(tl%10+0x30);/顯示下限溫度值的個(gè)位if(tl=th)|(test=上限溫度值(TH)或255)/如果低8位有進(jìn)位,則高8位加1 readdate1+;/ test0=readdate0;/低8位值賦予test0 test1=readdate1;/高8位值賦予test1 test=(readdate1*256)+readdate0)/16;/取出整數(shù)部分溫度值 test0=(test0|0x0f)/16;/取出小數(shù)部分溫度值 reset();/復(fù)位DS18B20writecmd(0xcc);/向DS18B20發(fā)送跳過(guò)ROM搜索命令 writecmd(0x44);/啟動(dòng)下次溫度測(cè)量/

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論