溫度測控系統(tǒng)設(shè)計(jì)自動化畢業(yè)論文畢業(yè)論文_第1頁
溫度測控系統(tǒng)設(shè)計(jì)自動化畢業(yè)論文畢業(yè)論文_第2頁
溫度測控系統(tǒng)設(shè)計(jì)自動化畢業(yè)論文畢業(yè)論文_第3頁
溫度測控系統(tǒng)設(shè)計(jì)自動化畢業(yè)論文畢業(yè)論文_第4頁
溫度測控系統(tǒng)設(shè)計(jì)自動化畢業(yè)論文畢業(yè)論文_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 自動化學(xué)院 本科畢業(yè)設(shè)計(jì)(論文) 題目: 溫度測控系統(tǒng)設(shè)計(jì) 專 業(yè): 自動化 班 級: 學(xué) 號: 學(xué)生姓名: 指導(dǎo)教師: 起迄日期: 設(shè)計(jì)地點(diǎn): 摘 要溫度是日常生活中無時(shí)不在的物理量,溫度的控制在各個(gè)領(lǐng)域都有積極的意義。很多行業(yè)中都有大量的用電加熱設(shè)備,如用于熱處理的加熱爐,用于融化金屬的坩鍋電阻爐及各種不同用途的溫度箱等,采用單片機(jī)對它們進(jìn)行控制不僅具有控制方便、簡單、靈活性大等特點(diǎn),而且還可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量。因此,智能化溫度控制技術(shù)正被廣泛地采用。本溫度設(shè)計(jì)采用現(xiàn)在流行的AT89S52單片機(jī),配以AD590數(shù)字溫度傳感器,可設(shè)置溫度上下限。單片

2、機(jī)將檢測到的溫度信號與輸入的溫度上、下限進(jìn)行比較,由此作出判斷是否啟動繼電器以開啟設(shè)備。本設(shè)計(jì)還加入了常用的數(shù)碼管顯示及狀態(tài)燈顯示燈常用電路,使得整個(gè)設(shè)計(jì)更加完整,更加靈活。關(guān)鍵詞: AT89S52;控制;溫度;AD590目 錄第一章 緒論11.1 引言11.2 課題背景與意義21.3 溫度控制系統(tǒng)完成的功能2第二章 方案設(shè)計(jì)與論證32.1 數(shù)字傳感器設(shè)計(jì)方案論證32.2 單片機(jī)設(shè)計(jì)方案論證4第三章 系統(tǒng)硬件設(shè)計(jì)63.1系統(tǒng)整體結(jié)構(gòu)布局63.2 AT89C52芯片介紹63.2.1 AT89S52芯片功能63.2.2 AT89S52芯片引腳介紹83.2.3 AT89S52單片機(jī)時(shí)鐘和復(fù)位電路83

3、.3 溫度采集模塊的設(shè)計(jì)103.3.1 傳感器AD590芯片簡介103.3.2 傳感器AD590接口電路103.4 顯示模塊設(shè)計(jì)113.4.1 數(shù)碼管的分類113.4.2 數(shù)碼管的驅(qū)動方式123.4.3 數(shù)碼管的接口電路123.4.4 74LS245簡介133.5 控制模塊和超溫報(bào)警模塊設(shè)計(jì)143.6 數(shù)模轉(zhuǎn)換模塊設(shè)計(jì)153.6.1 ADC0809芯片簡介153.6.2 ADC0809與單片機(jī)的接口電路173.7 接口通訊模塊設(shè)計(jì)193.7.1 MAX232芯片簡介193.7.2 MAX232與單片機(jī)的接口電路19第四章 系統(tǒng)軟件設(shè)計(jì)214.1 軟件語言的選擇214.2 程序結(jié)構(gòu)分析214.3

4、 系統(tǒng)軟件設(shè)計(jì)224.3.1 主程序設(shè)計(jì)224.3.2 系統(tǒng)初始化234.3.3按鍵程序設(shè)計(jì)234.3.4 數(shù)碼管顯示程序設(shè)計(jì)244.3.5 繼電器控制程序25第五章 系統(tǒng)硬件及軟件調(diào)試265.1 電路制作與調(diào)試265.1.1 焊接電路265.1.2 硬件調(diào)試265.2 軟件調(diào)試27第六章 結(jié) 論30致 謝31參 考 文 獻(xiàn)32附錄A:硬件設(shè)計(jì)原理圖與PCB圖33附錄B:軟件程序清單35第一章 緒論1.1 引言隨著“信息時(shí)代”的到來,作為獲取信息的手段傳感器技術(shù)得到了顯著的進(jìn)步,其應(yīng)用領(lǐng)域越來越廣泛,對其要求越來越高,需求越來越迫切。傳感器技術(shù)已成為衡量一個(gè)國家科學(xué)技術(shù)發(fā)展水平的重要標(biāo)志之一。

5、因此,了解并掌握各類傳感器的基本結(jié)構(gòu)、工作原理及特性是非常重要的。由于傳感器能將各種物理量、化學(xué)量和生物量等信號轉(zhuǎn)變?yōu)殡娦盘?,使得人們可以利用?jì)算機(jī)實(shí)現(xiàn)自動測量、信息處理和自動控制,但是它們都不同程度地存在溫漂和非線性等影響因素。傳感器主要用于測量和控制系統(tǒng),它的性能好壞直接影響系統(tǒng)的性能。因此,不僅必須掌握各類傳感器的結(jié)構(gòu)、原理及其性能指標(biāo),還必須懂得傳感器經(jīng)過適當(dāng)?shù)慕涌陔娐氛{(diào)整才能滿足信號的處理、顯示和控制的要求,而且只有通過對傳感器應(yīng)用實(shí)例的原理和智能傳感器實(shí)例的分析了解,才能將傳感器和信息通信和信息處理結(jié)合起來,適應(yīng)傳感器的生產(chǎn)、研制、開發(fā)和應(yīng)用。另一方面,傳感器的被測信號來自于各個(gè)應(yīng)

6、用領(lǐng)域,每個(gè)領(lǐng)域都為了改革生產(chǎn)力、提高工效和時(shí)效,各自都在開發(fā)研制適合應(yīng)用的傳感器,于是種類繁多的新型傳感器及傳感器系統(tǒng)不斷涌現(xiàn)。溫度傳感器是其中重要的一類傳感器。其發(fā)展速度之快,以及其應(yīng)用之廣,并且還有很大潛力。為了提高對傳感器的認(rèn)識和了解,尤其是對溫度傳感器的深入研究以及其用法與用途,基于實(shí)用、廣泛和典型的原則而設(shè)計(jì)了本系統(tǒng)。本文利用單片機(jī)結(jié)合傳感器技術(shù)而開發(fā)設(shè)計(jì)了這一溫度監(jiān)控系統(tǒng)。文中傳感器理論單片機(jī)實(shí)際應(yīng)用有機(jī)結(jié)合,詳細(xì)地講述了利用AD590作為溫度傳感器探測環(huán)境溫度的過程,以及實(shí)現(xiàn)熱電轉(zhuǎn)換的原理過程。本設(shè)計(jì)應(yīng)用性比較強(qiáng),設(shè)計(jì)系統(tǒng)可以作為生物培養(yǎng)液溫度監(jiān)控系統(tǒng),如果稍微改裝可以做熱水器

7、溫度調(diào)節(jié)系統(tǒng)、實(shí)驗(yàn)室溫度監(jiān)控系統(tǒng)等等。課題主要任務(wù)是完成環(huán)境溫度檢測,利用單片機(jī)實(shí)現(xiàn)溫度調(diào)節(jié)并通過計(jì)算機(jī)實(shí)施溫度監(jiān)控。設(shè)計(jì)后的系統(tǒng)具有操作方便,控制靈活等優(yōu)點(diǎn)。本課題的題目是“溫度測控系統(tǒng)的設(shè)計(jì)”,主要論述了環(huán)境溫度實(shí)時(shí)測控裝置的硬件部分的設(shè)計(jì),包括核心元器件的選取和介紹、單片機(jī)控制系統(tǒng)的電路設(shè)計(jì)。系統(tǒng)包括溫度傳感器,A/D轉(zhuǎn)換模塊,輸出控制模塊,溫度顯示模塊和溫度調(diào)節(jié)驅(qū)動電路五個(gè)部分。文中對每個(gè)部分功能、實(shí)現(xiàn)過程作了詳細(xì)介紹。整個(gè)系統(tǒng)的核心是進(jìn)行溫度監(jiān)控,完成了課題所有要求。1.2 課題背景與意義隨著社會的發(fā)展,科技的進(jìn)步,以及測溫儀器在各個(gè)領(lǐng)域的應(yīng)用,智能化已是現(xiàn)代溫度控制系統(tǒng)發(fā)展的主流方

8、向。特別是近年來,溫度控制系統(tǒng)已應(yīng)用到人們生活的各個(gè)方面,但溫度控制一直是一個(gè)未開發(fā)的領(lǐng)域,卻又是與人們息息相關(guān)的一個(gè)實(shí)際問題。針對這種實(shí)際情況,設(shè)計(jì)一個(gè)溫度控制系統(tǒng),具有廣泛的應(yīng)用前景與實(shí)際意義。溫度是科學(xué)技術(shù)中最基本的物理量之一,物理、化學(xué)、生物等學(xué)科都離不開溫度。在工業(yè)生產(chǎn)和實(shí)驗(yàn)研究中,像電力、化工、石油、冶金、航空航天、機(jī)械制造、糧食存儲、酒類生產(chǎn)等領(lǐng)域內(nèi),溫度常常是表征對象和過程狀態(tài)的最重要的參數(shù)之一。比如,發(fā)電廠鍋爐的溫度必須控制在一定的范圍之內(nèi);許多化學(xué)反應(yīng)的工藝過程必須在適當(dāng)?shù)臏囟认虏拍苷_M(jìn)行;煉油過程中,原油必須在不同的溫度和壓力條件下進(jìn)行分餾才能得到汽油、柴油、煤油等產(chǎn)品

9、。沒有合適的溫度環(huán)境,許多電子設(shè)備就不能正常工作,糧倉的儲糧就會變質(zhì)霉?fàn)€,酒類的品質(zhì)就沒有保障。采用MCS-51單片機(jī)來對溫度進(jìn)行控制,不僅具有控制方便、組態(tài)簡單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。因此,各行各業(yè)對溫度控制的要求都越來越高??梢?,溫度的測量和控制是非常重要的。單片機(jī)在電子產(chǎn)品中的應(yīng)用已經(jīng)越來越廣泛,在很多的電子產(chǎn)品中也用到了溫度檢測和溫度控制。隨著溫度控制器應(yīng)用范圍的日益廣泛和多樣,各種適用于不同場合的智能溫度控制器應(yīng)運(yùn)而生。1.3 溫度控制系統(tǒng)完成的功能溫度測控系統(tǒng)的設(shè)計(jì),是以AT89S52單片機(jī)為控制核心,以AD590為

10、溫度檢測核心構(gòu)成的一個(gè)環(huán)境溫度的實(shí)時(shí)測量與控制系統(tǒng)。該裝置可實(shí)現(xiàn)的功能如下:1、 自動顯示當(dāng)前溫度。用4位LED顯示器顯示當(dāng)前實(shí)時(shí)測量的溫度,溫度顯示值保留到小數(shù)點(diǎn)后一位。2、 設(shè)置溫度上下限報(bào)警功能。3、 溫度上下限調(diào)整也可通過串行通信接口來實(shí)現(xiàn)。4、當(dāng)前溫度可通過串行通信接口送給計(jì)算機(jī)5、溫度超限報(bào)警。當(dāng)溫度超過設(shè)定的上下限時(shí),系統(tǒng)進(jìn)行聲音報(bào)警,同時(shí)啟動升溫或降溫控制。第二章 方案設(shè)計(jì)與論證2.1 數(shù)字傳感器設(shè)計(jì)方案論證方案一:采用Pt100鉑熱電阻溫度傳感器采集溫度數(shù)據(jù)。PT100溫度傳感器0時(shí)電阻值為100,電阻變化率為0.3851/。由于其電阻值小,靈敏度高,所以引線的阻值不能忽略不

11、計(jì),采用三線式接法可消除引線線路電阻帶來的測量誤差。電橋輸出電壓是mv級,再后級采用儀用放大器對信號進(jìn)行放大,為了能在ADC采樣后得到的數(shù)字值是從零開始。還需在放大電路后面加上調(diào)零電路。然后得到一個(gè)05V 的電壓信號,輸入A/D轉(zhuǎn)換器之后將模擬電壓變成便于單片機(jī)處理的數(shù)字信號。方案二:采用DS1820數(shù)字傳感器采集溫度數(shù)據(jù),然后送入單片機(jī)進(jìn)行數(shù)據(jù)處理。通過一個(gè)單線接口發(fā)送或接收數(shù)據(jù),因此單片機(jī)與DS18B20之間僅需一條連線(加上地線)。作為溫度采集芯片,可直接將采集值進(jìn)行處理得到數(shù)字量送入單片機(jī)數(shù)碼管顯示并通過串口送至上位機(jī)。采用此芯片做溫度采集,使得硬件電路結(jié)構(gòu)簡單,同時(shí)也避免了使用多級電

12、路出現(xiàn)前后級阻抗不匹配的問題,不但節(jié)約了硬件部分的成本,提高了采集數(shù)據(jù)的可靠度。方案三:采用AD590溫度傳感器采集溫度數(shù)據(jù),然后送入單片機(jī)進(jìn)行數(shù)據(jù)處理。AD590溫度傳感器是一種已經(jīng)IC化的溫度感測器,它會將溫度轉(zhuǎn)化成電流。溫度每增加1度,它會增加1uA輸出電流。可測溫度范圍-55到150。供電電壓范圍+4V至+30V。三種方案進(jìn)行比較:DS18B20溫度范圍只能在-55度到+125度之間。由集成的數(shù)字溫度傳感器DS18B20完成溫度的采集,/D自動轉(zhuǎn)換等工作,減少了硬件電路的搭建,更加便于設(shè)計(jì)。Ptl00鉑電阻具有抗震性能好、測溫范圍廣、測量精度高等優(yōu)點(diǎn),使得測量更加的準(zhǔn)確,但它所采集的溫

13、度信號需要經(jīng)過儀用放大器處理,還要經(jīng)過專門的A/D轉(zhuǎn)換電路將模擬信號轉(zhuǎn)換成數(shù)字信號。采用AD590增加了硬件的投入,同時(shí)也引入一些不穩(wěn)定的因素造成的誤差。方案的確定:通過比較,最后采用AD590設(shè)計(jì),它精度高、價(jià)格低、不需輔助電源、線性好是比較理想的測溫元件,故確定此次課程設(shè)計(jì)為基于溫度傳感器AD590的智能測溫電路。基于AD590的測溫電路為首先將采集到的溫度值送給溫度傳感器,模擬信號進(jìn)入A/D轉(zhuǎn)換器ADC0809轉(zhuǎn)變?yōu)閿?shù)字量送給單片機(jī)進(jìn)行分析和處理。然后單片機(jī)將處理好的數(shù)字量送入LED顯示器顯示,從而與實(shí)際溫度進(jìn)行比較得到控制量,調(diào)節(jié)實(shí)際溫度使之與設(shè)定溫度逼近。2.2 單片機(jī)設(shè)計(jì)方案論證方

14、案一:傳統(tǒng)形式為廣大嵌入式系統(tǒng)設(shè)計(jì)人員熟知的形式,在很多教科書及應(yīng)用系統(tǒng)中有著詳細(xì)的介紹。在主控方面,一般采用以應(yīng)用最廣的8051+EPROM程序存儲器或帶有大容量FLASH ROM 的CPU如SST89C58或P89C51RD2。在系統(tǒng)擴(kuò)展方面,2片74HC138用于譯碼,1片74HC373用于地位地址鎖存,1片74HC245用于總線驅(qū)動,3片74HC377用于信號輸出,4片74HC244用于信號輸入。存儲方面,一片628128用于存儲事件信息和外部變量,一片28SF040或39SF040用于存儲各種有效卡片、非法卡片信息。時(shí)鐘方面,采用一片串行方式的DS1302或并行數(shù)據(jù)方式的DS12C8

15、87。通訊方面,2片485芯片,一片用于和上位機(jī)通訊,一片用于和RS485讀卡器通訊。這種方式具有芯片價(jià)格較便宜,供貨渠道廣泛,編程調(diào)試較容易等優(yōu)點(diǎn),但其體積龐大,芯片多,硬件故障點(diǎn)增多,而且由于任務(wù)眾多,導(dǎo)致CPU工作繁忙,軟件中的各種中斷處理容易干擾,雖然現(xiàn)在已有基于8051的實(shí)時(shí)多任務(wù)操作系統(tǒng)可以解決此問題,但是這要求設(shè)計(jì)者一方面要選擇價(jià)格相對高的CPU,另一方面也要學(xué)習(xí)消化RTX51,而將其正確的應(yīng)用到系統(tǒng)中去需要更高的軟件技巧和更多的調(diào)試時(shí)間。否則軟件的可靠性無法保證。這對于產(chǎn)品的快速市場化是不利的。方案二:ARM芯片及CPLD芯片是最近幾年流行起來的嵌入式系統(tǒng)的構(gòu)成部件,他們將可能

16、成為后PC時(shí)代嵌入式系統(tǒng)設(shè)計(jì)的首選。ARM是一款32位的精簡指令集(RISC)處理器架構(gòu),以其高性能、低功耗、低成本占有市場。 以PHILIPS的LPC2104為例,它具有128K 片內(nèi)Flash程序存儲器、最多64K靜態(tài)RAM、雙UART、兩個(gè)定時(shí)器、具有4路捕獲/比較通道、多達(dá)6路輸出的PWM單元、實(shí)時(shí)時(shí)鐘、看門狗定時(shí)器、通用I/O口、CPU操作頻率可達(dá)60MHz等特點(diǎn)。 CPLD是復(fù)雜可編程邏輯陣列的簡稱,它具有口線多、速度快、可編程、純硬件電路等特點(diǎn)。 根據(jù)我們提出的4門控制器的功能,一片ARM及一片CPLD,加上少許外圍電路,即可實(shí)現(xiàn)。這樣不僅使系統(tǒng)板的體積大大減少,而且增加了可靠性

17、,這是其他方式所不能比擬的。但是,由于ARM及CPLD均是新興的技術(shù),對于一些基于8051單片機(jī)經(jīng)驗(yàn)豐富的設(shè)計(jì)者而言,卻需要有一個(gè)不短的時(shí)間去學(xué)習(xí)消化實(shí)踐,另外,有關(guān)ARM及CPLD的開發(fā)工具,如仿真器、集成開發(fā)環(huán)境IDE都在一個(gè)比較高的價(jià)位上,且學(xué)習(xí)及使用都比8051難多了。這不僅對產(chǎn)品的快速市場化不利,而且也不適合對某些場合靈活多變的設(shè)計(jì)。而且,目前這兩種芯片的價(jià)格較8051組成的系統(tǒng)價(jià)格仍偏高,這也不太適合應(yīng)用于本設(shè)計(jì)。 方案的確定:在經(jīng)過對上述兩種方案的比較后,是否還有其他某種使用芯片數(shù)量最少、價(jià)格最便宜、功能最齊全、設(shè)計(jì)靈活多變的方案呢?答案是肯定的。那就是采用多CPU系統(tǒng)。基于80

18、51芯片如AT89X52的廣泛使用,使單片機(jī)的價(jià)格大大下降。目前,89S52的市場零售價(jià)已經(jīng)低于8255、8279、8253、8250等專用接口芯片中的任何一種;而89S52的功能實(shí)際上遠(yuǎn)遠(yuǎn)超過以上芯片。因此,如把89S52作為接口芯片使用,在經(jīng)濟(jì)上是合算的。這樣就解決了系統(tǒng)擴(kuò)展芯片眾多的缺點(diǎn)。一片89S52有32個(gè)I/O口,均可做輸入輸出,且有3個(gè)定時(shí)器和2個(gè)外部中斷,完全可以解決對ABA/WIGEN/232不同串行信號的處理。 第三章 系統(tǒng)硬件設(shè)計(jì)3.1 系統(tǒng)整體結(jié)構(gòu)布局本設(shè)計(jì)系統(tǒng)采用單片機(jī)作為微處理單元進(jìn)行控制。其次由按鍵電路、溫度采集電路、顯示電路、溫控電路組成。系統(tǒng)總框圖如圖3.1所

19、示。鍵盤設(shè)定89S52單片機(jī)數(shù)碼顯示數(shù)據(jù)采集電源電路串行接口控制電路 圖3.1 系統(tǒng)機(jī)構(gòu)圖3.2 AT89C52芯片介紹3.2.1 AT89S52芯片功能AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash 存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RA

20、M,32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。AT89S52的結(jié)構(gòu)如圖3.2所示。由于它的廣泛使用使得市面價(jià)格較8155、8255、8279要低,所以說用它是很經(jīng)濟(jì)的.該芯片具有如下功能:有1個(gè)專用的鍵盤/顯示接口;有1個(gè)全雙工異步串行通信接口;有2個(gè)16位定時(shí)/

21、計(jì)數(shù)器。這樣,1個(gè)89S52,承擔(dān)了3個(gè)專用接口芯片的工作;不僅使成本大大下降,而且優(yōu)化了硬件結(jié)構(gòu)和軟件設(shè)計(jì),給用戶帶來許多方便。89S52有40個(gè)引腳,有32個(gè)輸入端口(I/O),有2個(gè)讀寫口線,可以反復(fù)插除,所以可以降低成本。 AT89S52單片機(jī)主要特征: (1)兼容MCS-51指令系統(tǒng)(2)32個(gè)可編程I/O口線 (3)3個(gè)16位可編程定時(shí)/計(jì)數(shù)器(4)全雙工UART串行中斷口線 圖3.2 AT89S52的結(jié)構(gòu)圖(5)8個(gè)中斷源(6)中斷喚醒省電模式(7)看門狗(WDT)電路(8)靈活的ISP字節(jié)和分頁編程 (9)4k可反復(fù)擦寫(>1000次)ISP Flash ROM (10)

22、4.5-5.5V工作電壓(11)時(shí)鐘頻率0-33MHz (12)128x8bit內(nèi)部RAM(13)低功耗空閑和省電模式(14)3級加密位(15)軟件設(shè)置空閑和省電功能(16)雙數(shù)據(jù)寄存器指針(17)全雙工UART串行通道3.2.2 AT89S52芯片引腳介紹輸入輸出口線: 口8位雙向口線 口8位雙向口線 口8位雙向口線 口8位雙向口線ALE 地址鎖存控制信號在系統(tǒng)擴(kuò)展時(shí),ALE用于控制把口輸出的低8位地址送入鎖存器鎖存起來,以實(shí)現(xiàn)低位地址和數(shù)據(jù)的分時(shí)傳送。此外由于ALE是以六分之一晶振頻率的固定頻率輸出正脈沖,因此可作為外部定時(shí)脈沖使用。 外部程序存儲器讀選通信號在讀外部ROM時(shí), 有效(低電

23、平),以實(shí)現(xiàn)外部ROM單元的讀操作。 訪問程序存儲區(qū)控制信號但信號為低電平時(shí),對ROM的讀操作限定在外部程序存儲器;而當(dāng)信號為高電平時(shí),則對ROM的讀操作是從內(nèi)部程序存儲器開始,并可延續(xù)至外部程序存儲器。RST 復(fù)位信號當(dāng)輸入的復(fù)位信號延續(xù)2個(gè)機(jī)器周期以上高電平時(shí)即為有效,用以完成單片機(jī)的復(fù)位操作。和 外接晶體引線端當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此二引線端用語外接石英晶體和微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號。 地線 +5V電源3.2.3 AT89S52單片機(jī)時(shí)鐘和復(fù)位電路時(shí)鐘電路:單片機(jī)內(nèi)部有一個(gè)高增益反向放大器,輸入端為芯片引腳,輸出端為引腳。而在芯片外部和之間跨接晶體振蕩器和微調(diào)電

24、容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。晶體震蕩頻率高,則系統(tǒng)的時(shí)鐘頻率也高,單片機(jī)運(yùn)行速度也就快,但反過來運(yùn)行速度快對存儲器的速度要求就高,對印制電路板的工藝要求也高,所以,這里使用震蕩頻率為6MHz的石英晶體。震蕩電路產(chǎn)生的震蕩脈沖并不直接是使用,而是經(jīng)分頻后再為系統(tǒng)所用,震蕩脈沖經(jīng)過二分頻后才作為系統(tǒng)的時(shí)鐘信號。在設(shè)計(jì)電路板時(shí),振蕩器和電容應(yīng)盡量靠近單片機(jī),以避免干擾。需要注意的是:電路板時(shí),振蕩器和電容應(yīng)盡量安裝得與單片機(jī)靠近,以減小寄生電容的存在更好的保障振蕩器穩(wěn)定、可靠的工作電路圖如圖3.3所示。 圖3.3 AT89S52時(shí)鐘電路復(fù)位電路:單片機(jī)的復(fù)位電路分上電復(fù)位和按鍵復(fù)位兩種方式。

25、(a)上電復(fù)位:在加電之后通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的。當(dāng)?shù)纳仙龝r(shí)間不超過1ms,就可以實(shí)現(xiàn)自動上電復(fù)位,即接通電源就完成了系統(tǒng)的初始化電路原理圖。RST上的電壓必須保證在斯密特觸發(fā)器的閥值電壓以上足夠長時(shí)間,滿足復(fù)位操作的要求。 圖3.4 AT89S52復(fù)位電路(b) 按鍵復(fù)位:程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為了擺脫困境,也需按復(fù)位鍵以重新啟動。RST引腳是復(fù)位信號的輸入端,復(fù)位信號是高電平有效。按鍵復(fù)位又分按鍵脈沖復(fù)位(如圖3.4所示)和按鍵電平復(fù)位。電平復(fù)位將復(fù)位端通過電阻與相連,按鍵脈沖復(fù)位是利用RC分電路產(chǎn)生正脈沖來達(dá)到復(fù)位的。 (c) 注意:因?yàn)榘存I脈沖復(fù)位是利

26、用RC微分電路產(chǎn)生正脈沖來達(dá)到復(fù)位的。所以電平復(fù)位要將復(fù)位端通過電阻與相連.如復(fù)位電路中R、C的值選擇不當(dāng),使復(fù)位時(shí)間過長,單片機(jī)將處于循環(huán)復(fù)位狀態(tài)。故本設(shè)計(jì)采用按鍵復(fù)位。3.3 溫度采集模塊的設(shè)計(jì) 3.3.1 傳感器AD590芯片簡介集成溫度傳感器AD590是美國模擬器件公司生產(chǎn)的集成兩端感溫電流源。 主要特性:AD590是電流型溫度傳感器,通過對電流的測量可得到所需要的溫度值。 根據(jù)特性分擋,AD590 的后綴以I,J,K,L,M表示。AD590L,AD590M一般 用于精密溫度測量電路,它采用金屬殼 3 腳封裝,其 中 1 腳為電源正端V+;2 腳為電流輸出端I0;3 腳為管殼,一般不用

27、。1、流過器件的電流(A)等于器件所處環(huán)境的熱力學(xué)溫度(開爾文)度數(shù),即: I T/T=1A /K 式中:IT 流過器件(AD590)的電流,單位A。 T熱力學(xué)溫度,單位 K。2、 AD590的測溫范圍-55+150。3、 AD590的電源電壓范圍為4V-30V。電源電壓可在4V-6V范圍變化,電流IT變 化 1A,相當(dāng)于溫度變化 1K,AD590可以承受 44V正向電壓和 20V反向電壓,因而器件反接也不會損壞。 4、輸出電阻為710M。5、精度高。AD590共有 I、J、K、L、M 五檔,其中 M 檔精度最高,在-55+150 范圍內(nèi),非線形誤差±0.3。 3.3.2 傳感器AD

28、590接口電路AD590的輸出電流值說明如下:其輸出電流是以絕對溫度零度(-273)為基準(zhǔn),每增加1,它會增加輸出電流,因此在室溫25時(shí),其輸出電流。接口電路如圖3.5所示。電路分析:1、AD590的輸出電流(T為攝氏溫度),因此測量的電壓U為。為了將電壓測量出來又務(wù)須使輸出電流I不分流出來,我們使用電壓跟隨器其輸出電壓U2等于輸入電壓U。2、U1是U2的參考電壓,因此。由于一般電源供應(yīng)教多器件之后,電源是帶雜波的,因此我們使用齊納二極管作為穩(wěn)壓元件,再利用可變電阻分壓。3、接下來我們使用差動放大器,其輸出U0為: (3-1) 有圖3.5可知: (3-2) (3-3) (3-4)由(3-1)(

29、3-2)(3-3)(3-4)可得: (3-5)只要知道了的大小,便可求出U0的大小,從而講溫度值轉(zhuǎn)化為了電壓值。輸出電壓接AD轉(zhuǎn)換器,那么AD轉(zhuǎn)換輸出的數(shù)字量就和攝氏溫度成線形比例關(guān)系。 圖3.5 AD590接口電路3.4 顯示模塊設(shè)計(jì)3.4.1 數(shù)碼管的分類數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管

30、。共陽數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽極為低電平時(shí),相應(yīng)字段就不亮。3.4.2 數(shù)碼管的驅(qū)動方式靜態(tài)顯示驅(qū)動:靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動,或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占

31、用I/O端口多,如驅(qū)動5個(gè)數(shù)碼管靜態(tài)顯示則需要5×840根I/O端口來驅(qū)動,要知道一個(gè)89S51單片機(jī)可用的I/O端口才32個(gè)呢,實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動器進(jìn)行驅(qū)動,增加了硬件電路的復(fù)雜性。 動態(tài)顯示驅(qū)動:數(shù)碼管動態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會顯示出字形,取決于單片機(jī)對位選通COM端電路的控制,所以

32、我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。3.4.3 數(shù)碼管的接口電路我的設(shè)計(jì)采用的是四位八段共陽數(shù)碼管的動態(tài)顯示,共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽數(shù)

33、碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽極為低電平時(shí),相應(yīng)字段就不亮。顯示效果:由于發(fā)光二極管基本上屬于電流敏感器件,其正向壓降的分散性很大, 并且還與溫度有關(guān),為了保證數(shù)碼管具有良好的亮度均勻度,就需要使其具有恒定的工作電流,且不能受溫度及其它因素的影響。另外,當(dāng)溫度變化時(shí)驅(qū)動芯片還要能夠自動調(diào)節(jié)輸出電

34、流的大小以實(shí)現(xiàn)色差平衡溫度補(bǔ)。所以在數(shù)碼管的數(shù)據(jù)段加了74LS245驅(qū)動,在位選端加三極管放大。電路如圖3.6所示: 圖3.6 數(shù)碼管接線圖3.4.4 74LS245簡介 圖3.7 74LS245引腳圖74LS245是我們常用的芯片,是用來驅(qū)動數(shù)碼管從而顯示熱水器當(dāng)前的溫度,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。當(dāng)8951單片機(jī)的P0口總線負(fù)載達(dá)到或超過P0最大負(fù)載能力時(shí),必須接入74LS245等總線驅(qū)動器。當(dāng)片選端/CE低電平有效時(shí),DIR=“0”,信號由 B 向 A 傳輸;(接收)DIR=“1”,信號由 A 向 B 傳

35、輸;(發(fā)送)當(dāng)/CE為高電平時(shí),A、B均為高阻態(tài)。 由于P2口始終輸出地址的高8位,接口時(shí)74LS245的三態(tài)控制端/1G和/2G接地,P2口與驅(qū)動器輸入線對應(yīng)相連。P0口與74LS245輸入端相連,/E端接地,保證數(shù)據(jù)現(xiàn)暢通。8951的/RD和/PSEN相與后接DIR,使得/RD或/PSEN有效時(shí),74LS245輸入(P0.iDi),其它時(shí)間處于輸出(P0.iDi)。74LS245(如圖3.7)與74LS640邏輯功能相似,但74LS245具有原碼(正相)輸出。3.5 控制模塊和超溫報(bào)警模塊設(shè)計(jì)溫度控制分為高、低溫控制。設(shè)計(jì)所要達(dá)到的效果就是,我們給單片機(jī)設(shè)置一個(gè)固定的溫度范圍,當(dāng)溫度傳感器

36、測量的溫度高于我們設(shè)置的最高數(shù)值時(shí),這時(shí)單片機(jī)指令控制P2.5口產(chǎn)生一個(gè)低電平信號送給固態(tài)繼電器,是繼電器的常開開關(guān)閉合,使開關(guān)打開通電,控制一個(gè)降溫裝置的開啟(本設(shè)計(jì)中考慮到成本和技術(shù)問題,采用電風(fēng)扇進(jìn)行降溫控制)。相反,當(dāng)溫度傳感器測量的溫度低于設(shè)置的最低數(shù)值的時(shí)候,這時(shí)單片機(jī)又控制P2.4口產(chǎn)生一個(gè)低電平送給繼電器,使開關(guān)打開從而控制升問裝置進(jìn)行加熱(本系統(tǒng)采用電熱絲進(jìn)行加熱)。通過一個(gè)升溫和一個(gè)降溫裝置,就能實(shí)現(xiàn)溫度的調(diào)節(jié)。只要通過程序,將我們所要達(dá)到的溫度控制在一個(gè)恒溫狀態(tài)下??刂齐娐返脑韴D如圖3.8所示,繼電器的正極接電源電壓,負(fù)極接三極管的集電極,之所以采用三極管,就是繼電器一

37、般是需要驅(qū)動電流的。而單片機(jī)的管腳不能提供那么高的電流(不大于5mA),這樣就會導(dǎo)致即使單片機(jī)送出了高電平也無法將繼電器開關(guān)打開。當(dāng)接上三極管后就能將輸入信號的發(fā)送到繼電器當(dāng)中,驅(qū)動開關(guān)使溫度調(diào)節(jié)器改變溫度。繼電器電路中有一個(gè)三極管8550的保護(hù)電路,即將一個(gè)二極管反向接到三機(jī)管的兩端。連接方法如圖3.8所示。其原理是:當(dāng)繼電器突然斷電時(shí),繼電器產(chǎn)生很大的反向電流。二極管的作用是將反向電流分流,使流過三級管8550的電流比較小,達(dá)到保護(hù)三極管8550的作用。當(dāng)由于環(huán)境溫度變化太劇烈或由于加熱或降溫設(shè)備出現(xiàn)故障,或者溫度傳感頭出現(xiàn)故障導(dǎo)致在一段時(shí)間內(nèi)不能將環(huán)境溫度調(diào)整到規(guī)定的溫度限內(nèi)的時(shí)候,單片

38、機(jī)通過三極管驅(qū)動揚(yáng)聲器發(fā)出警笛聲。具體電路連接如圖3.9 所示。圖3.8 控制電路原理圖圖3.9 報(bào)警器原理圖3.6 數(shù)模轉(zhuǎn)換模塊設(shè)計(jì)3.6.1 ADC0809芯片簡介ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,它由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型D/A轉(zhuǎn)換器、逐次逼近寄存器、三態(tài)輸出鎖存器等其它一些電路組成。因此,ADC0809可處理8路模擬量輸入,且有三態(tài)輸出能力,既可與各種微處理器相連,也可單獨(dú)工作,輸入輸出與TTL兼容。本設(shè)計(jì)就是用AT89S52和ADC0809直接相連的。ADC0809采用雙列直插式封裝,圖3.10為ADC0809引腳圖,共有28條引腳,

39、主要引腳功能為: 圖3.10 ADC0808/0809外部引腳圖1、IN0IN78路模擬輸入,通過3根地址譯碼線ADDA、ADDB、ADDC來選通一路。2、D7D0A/D轉(zhuǎn)換后的數(shù)據(jù)輸出端,為三態(tài)可控輸出,故可直接和微處理器數(shù)據(jù)線連接。8位排列順序是D7為最高位,D0為最低位。3、ADDA、ADDB、ADDC模擬通道選擇地址信號,ADDA為低位,ADDC為高位。地址信號與選中通道對應(yīng)關(guān)系如表3.1所示。4、VR(+)、VR(-)正、負(fù)參考電壓輸入端,用于提供片內(nèi)DAC電阻網(wǎng)絡(luò)的基準(zhǔn)電壓。在單極性輸入時(shí),VR(+)=5V,VR(-)=0V;雙極性輸入時(shí),VR(+)、VR(-)分別接正、負(fù)極性的參

40、考電壓。 5、ALE地址鎖存允許信號,高電平有效。當(dāng)此信號有效時(shí),A、B、C三位地址信號被鎖存,譯碼選通對應(yīng)模擬通道。在使用時(shí),該信號常和START信號連在一起,以便同時(shí)鎖存通道地址和啟動A/D轉(zhuǎn)換。6、STARTA/D轉(zhuǎn)換啟動信號,正脈沖有效。加于該端的脈沖的上升沿使逐次逼近寄存器清零,下降沿開始A/D轉(zhuǎn)換。如正在進(jìn)行轉(zhuǎn)換時(shí)又接到新的啟動脈沖,則原來的轉(zhuǎn)換進(jìn)程被中止,重新從頭開始轉(zhuǎn)換。 表3.1 地址信號與選中通道的關(guān)系地 址選中通道ADDCADDBADDA000011110011001101010101IN0IN1IN2IN3IN4IN5IN6IN77、EOC轉(zhuǎn)換結(jié)束信號,高電平有效。該信

41、號在A/D轉(zhuǎn)換過程中為低電平,其余時(shí)間為高電平。該信號可作為被CPU查詢的狀態(tài)信號,也可作為對CPU的中斷請求信號。在需要對某個(gè)模擬量不斷采樣、轉(zhuǎn)換的情況下,EOC也可作為啟動信號反饋接到START端,但在剛加電時(shí)需由外電路第一次啟動。8、OE輸出允許信號,高電平有效。當(dāng)微處理器送出該信號時(shí),ADC0808/0809的輸出三態(tài)門被打開,使轉(zhuǎn)換結(jié)果通過數(shù)據(jù)總線被讀走。在中斷工作方式下,該信號往往是CPU發(fā)出的中斷請求響應(yīng)信號。3.6.2 ADC0809與單片機(jī)的接口電路AT89S52與ADC0809的連接方法如圖3.11所示,AT89S52通過地址線P2.7和寫控制信號線用一個(gè)或非門聯(lián)合控制啟動

42、轉(zhuǎn)換信號端(START)和地址鎖存信號端(ALE)。地址線P2.7和讀控制信號線用一個(gè)或非門聯(lián)合控制輸出允許控制端(OE)。低三位地址線加到ADC0809的ADDA、ADDB、ADDC端,所以選中ADC0809的IN0通道的地址為7FF8H。首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動 A/D轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進(jìn)行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖剑甘続/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號可用作中斷申請。當(dāng)OE輸入高電平 時(shí),輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)

43、字量輸出到數(shù)據(jù)總線上。 圖3.11 AT89C51與ADC0809連接圖轉(zhuǎn)換數(shù)據(jù)的傳送 A/D轉(zhuǎn)換后得到的數(shù)據(jù)應(yīng)及時(shí)傳送給單片機(jī)進(jìn)行處理。數(shù)據(jù)傳送的關(guān)鍵問題是如何確認(rèn)A/D轉(zhuǎn)換的完成,因?yàn)橹挥写_認(rèn)完成后,才能進(jìn)行傳送。為此可采用下述三種方式:(1)定時(shí)傳送方式 對于一種A/D轉(zhuǎn)換器來說,轉(zhuǎn)換時(shí)間作為一項(xiàng)技術(shù)指標(biāo)是已知的和固定的。例如ADC0809轉(zhuǎn)換時(shí)間為128s,相當(dāng)于6MHz的MCS-51單片機(jī)共64個(gè)機(jī)器周期。可據(jù)此設(shè)計(jì)一個(gè)延時(shí)子程序,A/D轉(zhuǎn)換啟動后即調(diào)用此子程序,延遲時(shí)間一到,轉(zhuǎn)換肯定已經(jīng)完成了,接著就可進(jìn)行數(shù)據(jù)傳送。 (2)查詢方式 A/D轉(zhuǎn)換芯片由表明轉(zhuǎn)換完成的狀態(tài)信號,例如AD

44、C0809的EOC端。因此可以用查詢方式,測試EOC的狀態(tài),即可確認(rèn)轉(zhuǎn)換是否完成,并接著進(jìn)行數(shù)據(jù)傳送。 (3)中斷方式 把表明轉(zhuǎn)換完成的狀態(tài)信號(EOC)作為中斷請求信號,以中斷方式進(jìn)行數(shù)據(jù)傳送。不管使用上述哪種方式,只要一旦確定轉(zhuǎn)換完成,即可通過指令進(jìn)行數(shù)據(jù)傳送。首先送出口地址并以信號有效時(shí),OE信號即有效,把轉(zhuǎn)換數(shù)據(jù)送上數(shù)據(jù)總線,供單片機(jī)接受。本設(shè)計(jì)采用的是定時(shí)方式,ADC0809的IN0和變送器輸出端線連,故IN0上輸入的0V5V范圍的模擬電壓經(jīng)A/D轉(zhuǎn)換后可由AT89S52通過程序從P0口輸入到它的內(nèi)部RAM單元。ADC0809所需時(shí)鐘信號可以由AT89S52的ALE信號提供。AT89

45、C51的ALE信號通常是每個(gè)機(jī)器周期出現(xiàn)兩次,故它的頻率是單片機(jī)時(shí)鐘頻率的1/6。本系統(tǒng)AT89S52主頻是12MHZ,ALE信號頻率為2MHZ,使AT89S52的ALE上信號經(jīng)過4分頻后接到ADC0809的CLOCK輸入端,就可獲得500KHZ的A/D轉(zhuǎn)換脈沖,當(dāng)然,ALE上脈沖會在MOVX指令的每個(gè)機(jī)器周期少出現(xiàn)一次,但通常情況下影響不大。3.7 接口通訊模塊設(shè)計(jì)3.7.1 max232芯片簡介該產(chǎn)品是由德州儀器公司(TI)推出的一款兼容RS232標(biāo)準(zhǔn)的芯片。由于電腦串口RS232電平是-10v +10v,而一般的單片機(jī)應(yīng)用系統(tǒng)的信號電壓是TTL電平0 到+5v,max232就是用來進(jìn)行電

46、平轉(zhuǎn)換的,該器件包含2驅(qū)動器、2接收器和一個(gè)電壓發(fā)生器電路提供TIA/EIA-232-F電平。該器件符合TIA/EIA-232-F標(biāo)準(zhǔn),每一個(gè)接收器將TIA/EIA-232-F電平轉(zhuǎn)換成5-V TTL/CMOS電平。每一個(gè)發(fā)送器將TTL/CMOS電平轉(zhuǎn)換成TIA/EIA-232-F電平。主要特點(diǎn) :1、單5V電源工作2、LinBiCMOSTM工藝技術(shù)3、兩個(gè)驅(qū)動器及兩個(gè)接收器4、±30V輸入電平5、低電源電流:典型值是8mA6、符合甚至優(yōu)于ANSI標(biāo)準(zhǔn)EIA/TIA-232-E及ITU推薦標(biāo)準(zhǔn)V.287、ESD保護(hù)大于MIL-STD-883(方法3015)標(biāo)準(zhǔn)的2000V3.7.2

47、max232與單片機(jī)的接口電路5 1單片機(jī)有一個(gè)全雙工的串行通訊口,所以單片機(jī)和電腦之間可以方便地進(jìn)行串口通訊。進(jìn)行串行通訊時(shí)要滿足一定的條件,比如電腦的串口是RS232電平的,而單片機(jī)的串口是TTL電平的,兩者之間必須有一個(gè)電平轉(zhuǎn)換電路,我采用了專用芯片MAX232進(jìn)行轉(zhuǎn)換,雖然也可以用幾個(gè)三極管進(jìn)行模擬轉(zhuǎn)換,但是還是用專用芯片更簡單可靠。在本設(shè)計(jì)中采用了三線制連接串口,也就是說和電腦的9針串口只連接其中的3根線:第5腳的GND、第2腳的RXD、第3腳的TXD。這是最簡單的連接方法,但是對我來說已經(jīng)足夠使用了,電路如下圖所示,MAX232的第11腳和單片機(jī)的11腳連接,第12腳和單片機(jī)的10

48、腳連接,第15腳和單片機(jī)的20腳連接,串口通訊具體如圖3.12。 圖3.12 max232與單片機(jī)的接口樓電路第四章 系統(tǒng)軟件設(shè)計(jì)4.1 軟件語言的選擇單片機(jī)開發(fā)過程中往往使用匯編和C語言兩種語言,就本設(shè)計(jì)而言我們要擇優(yōu)選擇一種,下面是兩種語言的優(yōu)缺點(diǎn)對比: (1)匯編語言是一種用文字助記符來表示機(jī)器指令的符號語言,是最接近機(jī)器碼的一種語言。其主要優(yōu)點(diǎn)是占用資源少、程序執(zhí)行效率高。但是不同的CPU,其匯編語言可能有所差異,所以不易移植。 而 C語言是一種結(jié)構(gòu)化的高級語言。其優(yōu)點(diǎn)是可讀性好,移植容易,是普遍使用的一種計(jì)算機(jī)語言。缺點(diǎn)是占用資源較多,執(zhí)行效率沒有匯編高。 對于目前普遍使用的RISC

49、架構(gòu)的8bit MCU來說,其內(nèi)部ROM、RAM、STACK等資源都有限,如果使用C語言編寫,一條C語言指令編譯后,會變成很多條機(jī)器碼,很容易出現(xiàn)ROM空間不夠、堆棧溢出等問題。而且一些單片機(jī)廠家也不一定能提供C編譯器。而匯編語言,一條指令就對應(yīng)一個(gè)機(jī)器碼,每一步執(zhí)行什幺動作都很清楚,并且程序大小和堆棧調(diào)用情況都容易控制,調(diào)試起來也比較方便。所以在單片機(jī)開發(fā)中,我們還是建議采用匯編語言比較好。 (2)C語言是一種編譯型程序設(shè)計(jì)語言,它兼顧了多種高級語言的特點(diǎn),并具備匯編語言的功能。C語言有功能豐富的庫函數(shù)、運(yùn)算速度快、編譯效率高、有良好的可移植性,而且可以直接實(shí)現(xiàn)對系統(tǒng)硬件的控制。C語言是一種

50、結(jié)構(gòu)化程序設(shè)計(jì)語言,它支持當(dāng)前程序設(shè)計(jì)中廣泛采用的由頂向下結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)。此外,C語言程序具有完善的模塊程序結(jié)構(gòu),從而為軟件開發(fā)中采用模塊化程序設(shè)計(jì)方法提供了有力的保障。因此,使用C語言進(jìn)行程序設(shè)計(jì)已成為軟件開發(fā)的一個(gè)主流。用C語言來編寫目標(biāo)系統(tǒng)軟件,會大大縮短開發(fā)周期,且明顯地增加軟件的可讀性,便于改進(jìn)和擴(kuò)充,從而研制出規(guī)模更大、性能更完備的系統(tǒng)。 綜上所述,雖然用C語言進(jìn)行單片機(jī)程序設(shè)計(jì)是單片機(jī)開發(fā)與應(yīng)用的必然趨勢。但是作為本設(shè)計(jì)我們還是選擇匯編語言,來達(dá)到減少資源的占用,提高程序執(zhí)行效率的目的。4.2 程序結(jié)構(gòu)分析主程序調(diào)用了5個(gè)子程序,分別是數(shù)碼管顯示程序、鍵盤掃描及按鍵處理程序、

51、溫度信號處理程序、繼電器控制程序、單片機(jī)與PC機(jī)串口通訊程序。程序結(jié)構(gòu)如圖4.1所示。程序結(jié)構(gòu)LED顯示數(shù)碼管顯示程序鍵盤掃描程序鍵值處理程序串口通訊程序溫度芯片傳數(shù)據(jù)程序與當(dāng)前溫度相比較程序繼電器控制程序報(bào)警 圖4.1 程序結(jié)構(gòu)框圖鍵盤掃描電路及按鍵處理程序:實(shí)現(xiàn)鍵盤的輸入按鍵的識別及進(jìn)入相應(yīng)的程序。溫度信號處理程序:對溫度芯片送過來的數(shù)據(jù)進(jìn)行處理,進(jìn)行判斷和顯示。數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分。繼電器控制程序:控制繼電器動作串口通訊程序:實(shí)現(xiàn)PC機(jī)與單片機(jī)通訊,將溫度數(shù)據(jù)傳送給PC機(jī)。4.3 系統(tǒng)軟件設(shè)計(jì)4.3.1 主程序設(shè)計(jì)主程序模塊對子程序模塊的調(diào)用進(jìn)行管理,它主

52、要負(fù)責(zé)初始化IO口;等待鍵盤被按下,并調(diào)用相應(yīng)的模塊進(jìn)行處理;在適當(dāng)?shù)臅r(shí)候接受A/D采樣的數(shù)據(jù),并與所設(shè)定的值進(jìn)行比較,然后通過調(diào)用溫度信號處理程序,處理后來控制繼電器的通斷,從而達(dá)到控制溫度的目的。主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理AD590的測量的當(dāng)前溫度值,溫度測量每隔一段時(shí)間進(jìn)行一次。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序流程見圖4.2 所示。否是否是開始初始化AD590設(shè)定溫度上、下限顯示當(dāng)前溫度判斷當(dāng)前溫度值啟動風(fēng)扇降低溫度啟動電熱爐升高溫度超過設(shè)定溫度上限低于設(shè)定溫度下限 圖4.2 主程序流程圖4.3.2 系統(tǒng)初始化系統(tǒng)初始化包括A/D口初始化、按鍵初始化等。對

53、端口的初始化即是對端口相應(yīng)位進(jìn)行設(shè)置,這些初始化程序都嵌入在各個(gè)子程序里面。4.3.3按鍵程序設(shè)計(jì)按鍵掃描:由于機(jī)械觸點(diǎn)有彈性,在按下或彈起按鍵時(shí)會出現(xiàn)彈跳抖動過程,從最初按下到接觸穩(wěn)定要經(jīng)過數(shù)毫秒的彈跳時(shí)間,因此為了保證探險(xiǎn)鍵識別的準(zhǔn)確性,必須消除抖動。對鍵值的處理流程圖如圖4.3所示。是否有鍵按下延時(shí)去抖該鍵依然按下 執(zhí)行相應(yīng)子程序開始否是否是結(jié)束 圖4.3是對鍵值的處理流程圖4.3.4 數(shù)碼管顯示程序設(shè)計(jì)本設(shè)計(jì)中,本文采用的四位數(shù)碼管動態(tài)顯示,首先關(guān)閉數(shù)碼管的位選端,然后將數(shù)據(jù)給數(shù)碼管的段選端,再打開所需要顯示的數(shù)碼管的位選端,將溫度傳感激采集的溫度的數(shù)據(jù)顯示出來,此時(shí)調(diào)用延時(shí)程序。調(diào)用延時(shí)子程序是為了讓數(shù)碼管有足夠的時(shí)間顯示,由于延時(shí)時(shí)間比較短,肉眼是看不出來的。程序流程圖如圖4.4所示。關(guān)閉所有位選端P1口賦值打開位選端調(diào)用延時(shí)程序 圖4.4 數(shù)碼管顯示程序流程圖4.3.5 繼電器控制程序繼電器控制程序,先將溫度傳感器采集的數(shù)據(jù)存入存儲單元,在將預(yù)設(shè)溫度的數(shù)據(jù)存入另一存儲單元,在用這兩存儲單元中的數(shù)據(jù)進(jìn)行比

溫馨提示

  • 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

提交評論