51單片機AD590溫控系統(tǒng)設計_第1頁
51單片機AD590溫控系統(tǒng)設計_第2頁
51單片機AD590溫控系統(tǒng)設計_第3頁
51單片機AD590溫控系統(tǒng)設計_第4頁
51單片機AD590溫控系統(tǒng)設計_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機溫控系統(tǒng)設計單片機溫控系統(tǒng)設計摘要本設計是以一個保溫箱為限制對象,以AT89C51為限制系統(tǒng)核心,通過單片機系統(tǒng)設計實現(xiàn)對保溫箱溫度的顯示和限制功能。本溫度限制系統(tǒng)是一個閉環(huán)反饋調(diào)整系統(tǒng),由溫度傳感器AD590對保溫箱溫度進行檢測,經(jīng)過調(diào)理電路得到合適的電壓信號。經(jīng)A/D轉(zhuǎn)換芯片得到相應的溫度值,將所得的溫度值與設定溫度值相比較得到偏差。通過對偏差信號的處理獲得限制信號,去調(diào)整加熱器的通斷,從而實現(xiàn)對保溫箱溫度的顯示和限制。本文主要介紹了保溫箱溫度限制系統(tǒng)的工作原理和設計方法,論文主要由三部分構(gòu)成。①系統(tǒng)整體方案設計。②硬件設計,主要包括溫度檢測電路、A/D轉(zhuǎn)換電路、顯示電路、鍵盤設計和限制電路。③系統(tǒng)軟件設計,軟件的設計采納模塊化設計,主要包括A/D轉(zhuǎn)換模塊、顯示模塊、鍵盤模塊和限制模塊等。關鍵詞:單片機;傳感器;溫度檢測DESIGNOFTEMPERATURECONTROLSYSTEMBASICONSINGLE–CHIPCOMPUTERABSTRACTThisdesigntakesaheatpreservationboxasacontrolobjectandtheAT89C51asacontrolsystemcore.ASingle-chipComputersystemisdesignedtocarryoutthetemperaturedisplayandcontrol.Thisheattemperaturecontrolsystemisaclosedloopfeedbackcontrolsystem.ThetemperatureoftheheatpreservationboxismeasuredbysensorAD590.ForAD590,aadjustelectriccircuitisdesignedtogetasuitableelectricvoltagesignalfortheA/Dtransformation.AftertheA/Dtransformation,thecorrespondingtemperaturedigitalquantitycanbeobtains,andiscomparedwiththesettingtemperature,thenadeviationcanbeobtained.

Throughprocessingthedeviation,acontrolsignalwillbeproduced,whichadjuststheheatertheonoroff,thusthepreservationboxtemperaturecontrolanddisplayisrealized.Thisdesignintroducesthetemperaturecontrolsystemprincipleofworkandthedesignmethod.Thepapermainlyincludesbythreeparts.①Thesystemoutlineprojectdesign.②Hardwaredesign,thehardwaredesignmainlyincludesthetemperatureadaptiveelectriccircuit,theA/Dcircuit,thedisplaycircuit,thekeyboarddesignandthecontrolcircuit.③Softwaredesignmethod,thesoftwaredesignusesthemodulardesign,mainlyincludestheA/Dtransformationmodule,thedemonstrationmodule,thekeyboardmoduleandthecontrolmodule.Keywords:Single-chipComputer;Sensor;TemperatureMeasurement;書目1緒論

11.1課題設計背景和目的

11.2國內(nèi)外探討狀況和發(fā)展趨勢

11.3溫度檢測的主要方法

21.4課題設計的主要內(nèi)容

32系統(tǒng)總體方案設計

42.1系統(tǒng)硬件設計方案

4芯片選擇

5溫度檢測

52.1.3A鍵盤輸入

6LED顯示

6限制電路

62.2系統(tǒng)軟件設計方案

63系統(tǒng)硬件設計

73.1中心處理器

73.1.1AT89C51簡介

7管腳說明

8特殊功能存儲器

10芯片擦除

;

10復位電路的設計

11時鐘電路設計

113.2溫度傳感器AD590

113.3信號調(diào)理電路

133.4溫度標定

143.5A/D轉(zhuǎn)換

163.6LED顯示

193.7鍵盤接口

223.8限制電路

234系統(tǒng)軟件設計

254.1程序初始化

264.2主程序

274.3A/D轉(zhuǎn)換子程序

274.4標度轉(zhuǎn)換子程序

284.5顯示子程序

294.6限制子程序

304.7鍵盤子程序

325結(jié)論

35參考文獻

36致謝

37附錄

38附錄A系統(tǒng)硬件原理圖

38附錄B

PCB板圖

391單片機最小系統(tǒng)PCB板圖

392調(diào)理電路、限制電路PCB板圖

39附件附件1、開題報告附件2、原文:TEMPERATURECONTROL附件3、譯文:溫度限制1緒論1.1課題設計背景和目的在現(xiàn)代化的工業(yè)生產(chǎn)中電流、電壓、溫度、壓力、流量、流速和開關量都是常用的主要被控參數(shù)。溫度作為一個基本物理量,它是一個與人們的生活環(huán)境、生產(chǎn)活動親密相關的重要物理量。在現(xiàn)代化的工業(yè)生產(chǎn)過程中溫度作為一種常用的主要被控參數(shù),在很多生產(chǎn)過程中我們須要對溫度參數(shù)進行檢測。例如:在冶金工業(yè)、化工生產(chǎn)、電力工程、造紙行業(yè)、機械制造和食品加工等諸多領域中,人們都須要對各類加熱爐、熱處理爐、反應爐和鍋爐中的溫度進行檢測。采納單片機來對溫度進行限制,不僅具有限制便利、組態(tài)簡潔和敏捷性大等優(yōu)點,而且可以大幅度提高被控溫度的技術指標,從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。因此單片機對溫度的限制問題是一個工業(yè)生產(chǎn)中常常會遇到的問題[1]。本次設計采納MCS-51系列單片機與各種外圍電路構(gòu)成單片機溫度自動檢測和限制系統(tǒng),實現(xiàn)對溫度的實時檢測和限制。通過本次設計駕馭溫度檢測限制系統(tǒng)的硬件設計方法和軟件編寫方法。熟識Protel軟件的運用方法。通過課題的探討進一步鞏固所學的學問,同時學習課程以外的相關學問,培育綜合應用學問的實力。熬煉動手實力與實際工作實力,將所學的理論與實踐結(jié)合起來。1.2國內(nèi)外探討狀況和發(fā)展趨勢隨著國內(nèi)外工業(yè)的日益發(fā)展,溫度檢測技術也有了不斷的進步。溫度測量系統(tǒng)主要由兩部分組成,一部分是傳感器,它將溫度信號轉(zhuǎn)換為電信號。另一部分是電子裝置,它主要完成對信號的接收、處理、對測點進行限制、溫度顯示等功能。對應于不同的溫度段及測量精度要求,測溫裝置也不盡相同,從傳感器方面看,己出現(xiàn)有各種金屬材料、非金屬材料、半導體材料制成的傳感器,也有紅外傳感器。儀器本身也趨向小型化,多采納集成度較高的芯片或元件組成電路。對于測點較多,并具有報警、巡測、限制等多功能測溫裝置,一般采納單片機電路。目前的溫度檢測技術原理很多,大致包括以下幾種:(1)物體熱脹冷縮原理(2)熱電效應(3)熱阻效應(4)利熱輻射原理。傳統(tǒng)的溫度傳感器(如,熱電偶、鉑電阻、雙金屬開關等)雖然有著各自不行替代的優(yōu)點,但由于自身因自熱效應影響了測量精度,從而制約了它們在微型化高端電子產(chǎn)品中的應用。與之相比較,半導體溫度傳感器具有靈敏度高、體積小、功耗低、時間常數(shù)小、自熱溫升小、抗干擾實力強等諸多優(yōu)點,無論是電壓、電流還是頻率輸出,在相當大的溫度范圍內(nèi)(-55~150℃)都與溫度成線性關系,適合在集成電路系統(tǒng)中應用。目前,半導體溫度傳感器工作的溫度范圍還限于-50~150℃。將來主要的探討方向?qū)⑹侨绾螖U大它的溫度適用范圍,以及智能化、網(wǎng)絡化等方面[2]。近年來,在溫度檢測技術領域中,多種新的檢測原理與技術的開發(fā)應用己取得了具有好用性的重大進展。新一代溫度檢測元件正在不斷出現(xiàn)和完善化,主要包括以下幾種。(1)晶體管溫度檢測元件(2)集成電路溫度檢測元件(3)核磁共振溫度檢測器(4)熱噪聲溫度檢測器(5)石英晶體溫度檢測器(6)光纖溫度檢測器(7)激光溫度檢測器。目前國內(nèi)外的溫度限制方式越來越趨向于智能化,溫度測量首先是由溫度傳感器來實現(xiàn)的。測溫儀器由溫度傳感器和信號處理兩部分組成。溫度測量的過程就是通過溫度傳感器將被測對象的溫度值轉(zhuǎn)換成電的或其它形式的信號,傳遞給信號處理電路進行信號處理轉(zhuǎn)換成溫度值顯示出來。溫度傳感器隨著溫度變更而引起變更的物理參數(shù)有:膨脹、電阻、電容、熱電動勢,磁性能、頻率、光學特性及熱噪聲等等。隨著生產(chǎn)的發(fā)展,新型溫度傳感器還會不斷出現(xiàn),目前,國內(nèi)外通用的溫度傳感器及測溫儀大致有以下幾種:熱膨脹式溫度計、電阻溫度計、熱電偶、輻射式測溫儀表、石英溫度傳感器測溫儀[3]。1.3溫度檢測的主要方法溫度的測量方法多采納集成的半導體模擬溫度傳感器,傳感器輸出的電壓或電流與溫度在肯定范圍呈線性關系。通過放大,采樣得到被測量。另一種溫度測量方法是運用熱電偶,其測量精度較高,但測試過程困難,測量時間長,而且采納電橋測量的系統(tǒng)抗干擾實力較差,誤差較大。隨著集成電路技術的快速發(fā)展,新型的數(shù)字化溫度傳感器其精度、穩(wěn)定性、牢靠性及抗干擾實力都優(yōu)于模擬的溫度傳感器。數(shù)字溫度傳感器也越來越的到廣泛的應用[4]。溫度檢測的方法依據(jù)敏感元件和被測介質(zhì)接觸與否,可以分為接觸式與非接觸式兩大類。接觸式檢測的方法主要包括基于物體受熱體積膨脹性質(zhì)的膨脹式溫度檢測儀表;基于熱電效應的熱電偶溫度檢測儀表。非接觸式檢測方法是利用物體的熱輻射特性與溫度之間的對應關系,對物體的溫度進行檢測,主要有亮度法、全輻射法和比色法等。接觸式測溫是使測溫敏感元件與被測介質(zhì)接觸,當被測介質(zhì)與感溫元件達到熱平衡時,感溫元件與被測介質(zhì)的溫度相等。這類傳感器結(jié)構(gòu)簡潔、性能牢靠、精度高、穩(wěn)定性好、價格低、應用特別廣泛,因此,本方案采納接觸式測溫法,選用相關類型的傳感器。由單片機組成的溫度測控系統(tǒng),通過在單片機外部添加各種接口電路,可構(gòu)成單片機最小系統(tǒng),用以實現(xiàn)對溫度限制對象的溫度的顯示和限制。同時也能依據(jù)實際狀況實現(xiàn)多路巡回檢測、數(shù)據(jù)處理、報警及記錄,對各個參數(shù)以肯定的周期進行檢查和測量,檢測的結(jié)果經(jīng)計算機處理后再進行顯示、打印和報警,以提示操作人員留意或干脆用于生產(chǎn)限制[5]。1.4課題設計的主要內(nèi)容本溫度限制系統(tǒng)是一個閉環(huán)反饋限制系統(tǒng),它用溫度傳感器將檢測到的溫度信號經(jīng)放大,A/D轉(zhuǎn)換后送入單片機中進行數(shù)據(jù)處理并顯示當前溫度值,用當前溫度值與設定溫度值進行比較[6]。依據(jù)比較的結(jié)果得到限制信號用以限制繼電器的通斷,實現(xiàn)對加熱器的限制。通過這種限制方式實現(xiàn)對保溫箱的溫度限制。本課題設計的內(nèi)容主要包括硬件設計和軟件設計兩部分。系統(tǒng)功能由硬件和軟件兩大部分協(xié)調(diào)完成,硬件部分主要完成主機電路、數(shù)據(jù)采集電路、鍵盤顯示電路、限制執(zhí)行等電路的設計。軟件程序編寫主要用來實現(xiàn)對溫度的檢測、標度轉(zhuǎn)換、LED顯示、繼電器限制等數(shù)據(jù)處理功能。2系統(tǒng)總體方案設計本次設計采納MCS-51單片機作為限制芯片,采納半導體集成溫度傳感器AD590采集溫度信號。通過溫度傳感器將采集的溫度信號轉(zhuǎn)換成與之相對應的電信號,經(jīng)過放大處理送入A/D轉(zhuǎn)換器進行A/D轉(zhuǎn)換,將模擬信號轉(zhuǎn)換成數(shù)字信號送入到限制芯片進行數(shù)據(jù)處理。通過在芯片外圍添加顯示、限制等外圍電路來實現(xiàn)對保溫箱溫度的實時檢測和限制功能。本系統(tǒng)功能由硬件和軟件兩大部分協(xié)調(diào)完成,硬件部分主要完成傳感器信號的采集處理,信息的顯示等;軟件主要完成對采集的溫度信號進行處理及顯示限制等功能。系統(tǒng)結(jié)構(gòu)框圖如圖2.1所示:圖2.1系統(tǒng)結(jié)構(gòu)框圖2.1系統(tǒng)硬件設計方案單片機應用系統(tǒng)的硬件電路設計就是為本單片機溫控系統(tǒng)選擇合適的、最優(yōu)的系統(tǒng)配置,即依據(jù)系統(tǒng)功能要求配置外圍設備,如鍵盤、顯示器、打印機、A/D轉(zhuǎn)換器、設計合適的接口電路等。系統(tǒng)設計應本著以下原則:(1)盡可能選擇典型電路,并符合單片機常規(guī)用法。本設計采納了典型的顯示電路、A/D轉(zhuǎn)化電路,為硬件系統(tǒng)的標準化、模塊化打下良好的基礎。(2)硬件結(jié)構(gòu)應結(jié)合應用軟件方案一并考慮。軟件能實現(xiàn)的功能盡可能由軟件實現(xiàn),以簡化硬件結(jié)構(gòu)。由軟件實現(xiàn)的硬件功能,一般響應時間比硬件實現(xiàn)長,且占用CPU時間。由于本設計的響應時間要求不高,所以有一些功能可以用軟件編程實現(xiàn),如鍵盤的去抖動問題。(3)系統(tǒng)中的相關器件要盡可能做到性能匹配。系統(tǒng)中全部芯片都應盡可能選擇低功耗產(chǎn)品。本系統(tǒng)的硬件電路主要包括模擬部分和數(shù)字部分,從功能模塊上來分有主機電路、數(shù)據(jù)采集電路、鍵盤顯示電路、限制執(zhí)行電路。系統(tǒng)硬件包括:溫度傳感器、信號調(diào)理電路、A/D轉(zhuǎn)換器件、MCS-51單片機、鍵盤輸入、LED溫度顯示器、溫度限制電路。芯片選擇單片機就是在一塊硅片上集成了微處理器、存儲器和各種輸入輸出接口電路的微型計算機,簡稱單片機。單片機以其較高的性能價格比受到了人們的重視和關注。它的優(yōu)點就是體積小、重量輕、抗干擾實力強、對環(huán)境要求不高、價格低廉、牢靠性高、敏捷性好、開發(fā)較為簡潔。單片機依據(jù)其基本操作處理的位數(shù)可分為4、8、16、32位單片機,應用最為廣泛的是八位單片機。依據(jù)本次設計的實際狀況和要求,在本次設計中采納AT89C51作為系統(tǒng)的限制芯片。AT89C51是一種低功耗、高性能CMOS8位微限制器,具有4K的系統(tǒng)可編程Flash存儲器。運用Atmel公司高密度非易失性存儲器技術制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。溫度檢測本課題設計的溫度限制范圍為25-80攝氏度,溫度傳感器采納采納AD590半導體集成溫度傳感器。A/D590具有較高的精度和重復性,不需協(xié)助電源,線性好,運用便利,便于微機系統(tǒng)測控。被測溫度信號為一路由AD590測得的代表溫度的電壓信號,經(jīng)溫度調(diào)理電路放大后使其在0-5V范圍內(nèi),使其適合于A/D轉(zhuǎn)換器的輸入電壓范圍。2.1.3AA/D轉(zhuǎn)換電路的種類很多,例如,計數(shù)比較型、逐次靠近型、雙積分型等等。選擇A/D轉(zhuǎn)換器件主要從轉(zhuǎn)換速度、精度和價格上考慮。逐次靠近型A/D轉(zhuǎn)換器,在精度、速度和價格上都比較適中,是最常用的A/D轉(zhuǎn)換器。雙積分A/D轉(zhuǎn)換器,具有精度高、抗干擾性好、價格低廉等優(yōu)點,但轉(zhuǎn)換速度慢。近年來在微機應用領域中也得到了廣泛的應用。本次設計采納八路模擬輸入通道的逐次靠近型的八位A/D轉(zhuǎn)換器ADC0809。采納ADC0809作為與單片機的接口電路,它的結(jié)構(gòu)比較簡潔,轉(zhuǎn)換速度較高。采納ADC0809作為A/D轉(zhuǎn)換器具有與單片機連接簡潔的優(yōu)點,它是八位的轉(zhuǎn)換器可以與八位的單片機干脆連接,這樣就簡化了系統(tǒng)的連接電路也有利于系統(tǒng)軟件的編寫。鍵盤輸入

鍵盤可分為編碼式鍵盤和非編碼式鍵盤,鍵盤上閉合鍵的識別由專用的硬件譯碼器實現(xiàn),并產(chǎn)生鍵編號和鍵值的稱為編碼式鍵盤;靠軟件識別的為非編碼式鍵盤。在單片機組成的測控系統(tǒng)中,用得最多的是非編碼鍵盤。在這里采納的就是非編碼式鍵盤。鍵盤的連接方式采納獨立連接式,這種連接方式能夠簡化程序的編寫。LED顯示在單片機應用系統(tǒng)中運用的顯示器主要有發(fā)光二極管顯示器(LED)和液晶顯示器(LCD)。采納LED作為系統(tǒng)的數(shù)據(jù)顯示器具有價格低、性能穩(wěn)定和響應速度快等特點。LED顯示方式有靜態(tài)顯示、動態(tài)顯示和串口顯示。為了節(jié)約系統(tǒng)本身的硬件資源,在這里LED的顯示方式采納串行靜態(tài)顯示方式。利用串口可以工作在移位寄存器方式,驅(qū)動LED靜態(tài)顯示。這樣就可以充分的利用并行口,并將并行口用到最須要的地方去,同時主程序不須要掃描顯示器,使它有更多的時間處理其他事情。這種顯示方法用于顯示位數(shù)少、顯示亮度大的地方能夠達到很好的顯示效果。限制電路限制電路作為單片機系統(tǒng)的后向通道,他是將單片機處理后的數(shù)字限制信號用輸出口輸出,并將該數(shù)字信號用于對限制對象的限制。由于單片機的輸出信號電平很低,無法干脆驅(qū)動外圍設備進行工作,因此在單片機的后向通道中須要外圍設備的驅(qū)動、信號電平的轉(zhuǎn)換以及隔離放大等技術。本次設計采納繼電器作為限制電路的主要器件,通過繼電器可以實現(xiàn)直流信號限制溝通負載的功能,從而實現(xiàn)單片機系統(tǒng)的限制功能。2.2系統(tǒng)軟件設計方案系統(tǒng)的軟件設計采納模塊化設計,采納模塊化設計可以簡化系統(tǒng)軟件的編寫,使軟件編寫思路更加簡潔明白。系統(tǒng)軟件主要由三大模塊組成:主程序模塊、功能實現(xiàn)模塊和運算限制模塊。主程序模塊用于實現(xiàn)各個子程序間的跳轉(zhuǎn)。功能實現(xiàn)模塊主要由A/D轉(zhuǎn)換子程序、鍵盤處理子程序、顯示子程序、繼電器限制程序等部分組成。運算限制模塊涉及標度轉(zhuǎn)換子程序等。3系統(tǒng)硬件設計3.1中心處理器MCS-51系列單片機是8位增加型,其主要的技術特征是為單片機配置了完善的外部并行總線和具有多級識別功能的串行通訊接口(UART),規(guī)范了功能單元的SFR限制模式及適應限制器特點的布爾處理系統(tǒng)和指令系統(tǒng)。屬于這類單片機的芯片有很多種,如8051、8031、80C51等等。由于單片機具有較高的性能比,國內(nèi)MCS-51系列單片機應用最廣,易于開發(fā)、運用敏捷、而且體積小、易于開發(fā)、抗干擾實力強,可以工作于各種惡劣的條件下,工作穩(wěn)定等特點。本設計本著好用性和適用性的要求,選擇AT89C51單片機作為中心處理器。3.1.1AT89C51簡介AT89C51是一種帶4K字節(jié)閃耀可編程可擦除只讀存儲器的具有低電壓,高性能CMOS的8位微處理器,俗稱單片機。該器件采納ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃耀存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微限制器,為很多嵌入式限制系統(tǒng)供應了一種敏捷性高且價廉的方案。如圖3.1為AT89C圖3.1AT89C51的內(nèi)部結(jié)構(gòu)框圖AT89C51單片機與MCS-51系列單片機兼容,AT89C51內(nèi)部有4K字節(jié)可編程閃耀存儲器,128*8位內(nèi)部RAM,兩個16位定時器/計數(shù)器,5個中斷源,32可編程I/O線及串行通道。閃耀存儲器是一種可編程又可擦除只讀存儲器(EEPROM),給用戶設計單片機系統(tǒng)和單片機系統(tǒng)帶來很大的便利,深受廣袤用戶的歡迎。AT89C51有片內(nèi)振蕩器和時鐘電路,具有低功耗的閑置和掉電模式,在空閑方式下,CPU停止工作,但允許內(nèi)部RAM、定時器/計數(shù)器、串行口和中斷系統(tǒng)接著工作。在掉電方式下,能保存RAM的內(nèi)容,但振蕩器停止工作,并禁止全部其他部件工作。還具有三級程序存儲器鎖定,全靜態(tài)工作頻率0Hz-24Hz,數(shù)據(jù)保留時間可長達10年。管腳說明如圖3.2為AT89C51引腳圖,各引腳功能說明如下[7]:●VCC:電源●GND:地●P0口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,須要外部上拉電阻。圖3.2AT89C51引腳圖●P1口:P1口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P1端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口運用。作為輸入運用時,被外部拉低的引腳由于內(nèi)部電阻的緣由,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX)●P2口:P2口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P2端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口運用。作為輸入運用時,被外部拉低的引腳由于內(nèi)部電阻的緣由,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@DPTR)時,P2口送出高八位地址。在這種應用中,P2口運用很強的內(nèi)部上拉發(fā)送1。在運用8位地址(如MOVX@RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些限制信號?!馪3口:P3口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,對P3端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口運用。作為輸入運用時,被外部拉低的引腳由于內(nèi)部電阻的緣由,將輸出電流(IIL)。P3口亦作為AT89C51特殊功能(其次功能)運用,如表3-1所示。表3-1AT89C51引腳號其次功能P3.0RXD(串行輸入)P3.1TXD(串行輸出)P3.2INT0(外部中斷0)P3.3INT0(外部中斷0)P3.4T0(定時器0外部輸入)P3.5T1(定時器1外部輸入)P3.6WR(外部數(shù)據(jù)存儲器寫選通)P3.7RD(外部數(shù)據(jù)存儲器讀選通)●RST:復位輸入,晶振工作時,RST腳持續(xù)2個機器周期高電平將使單片機復位。看門狗計時完成后,RST腳輸出96個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認狀態(tài)下,復位高電平有效?!馎LE/PROG:地址鎖存限制信號(ALE)是訪問外部程序存儲器時,鎖存低8位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般狀況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘運用。然而,特殊強調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。假如須要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”,ALE僅在執(zhí)行MOVX或MOVC指令時有效。否則,ALE將被微弱拉高。這個ALE使能標記位(地址為8EH的SFR的第0位)的設置對微限制器處于外部執(zhí)行模式下無效。●PSEN:外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。當AT89C51從外部程序存儲器執(zhí)行外部代碼時,PSEN在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,PSEN將不被激活?!馝A/VPP:訪問外部程序存儲器限制信號。為使能從0000H到FFFFH的外部程序存儲器讀取指令,EA必需接GND。為了執(zhí)行內(nèi)部程序指令,EA應當接VCC。在flash編程期間,EA也接收12伏VPP電壓?!馲TAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端?!馲TAL2:振蕩器反相放大器的輸出端。特殊功能存儲器在單片機內(nèi)高128BRAM中,由有21個特殊功能寄存器(AFR),它們離散的分布在80H-FFH的RAM空間中,訪問特殊功能寄存器只允許運用干脆尋址方式。表3-2為AT89C51單片機特殊功能寄存器及其相應地址[7]。表3-2專用寄存器名稱,功能及對應的RAM地址名稱簡潔描述地址ACC累加器(特地用于存儲算術和邏輯運算的結(jié)果)0E0HBB寄存器(特地用于乘/除法運算)0F0HPSW程序狀態(tài)寄存器0D0HSP推棧指針寄存器81HDPTR16位數(shù)據(jù)指針寄存器。CPU訪問外部RAM時地址指針,由兩個8位寄存器DPH(83H)、DPL(82H)組成且可單獨訪問。P0端口0狀態(tài)寄存器(初始值為0FFH)80HP1端口1狀態(tài)寄存器(初始值為0FFH)90HP2端口2狀態(tài)寄存器(初始值為0FFH)0A0HP3端口3狀態(tài)寄存器(初始值為0FFH)0B0HIP中斷優(yōu)先級限制寄存器0B8HIE中斷允許限制寄存器0A8HTMOD定時器/計數(shù)器方式限制寄存器89HTCON定時器/計數(shù)器限制寄存器88HTH0定時器/計數(shù)器0高字節(jié)8CHTL0定時器/計數(shù)器0低字節(jié)8AHTH1定時器/計數(shù)器1高字節(jié)8DHTLI定時器/計數(shù)器0低字節(jié)8BHSCON串行限制寄存器98HSBUF串行數(shù)據(jù)緩沖器99HPCON電源限制寄存器87H芯片擦除整個EPROM陣列電擦除可通過正確的限制信號組合,并保持ALE管腳處于低電平10ms來完成。在芯片擦除操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必需被執(zhí)行。此外,AT89C51設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。復位電路的設計復位使單片機處于起始狀態(tài),并從該起始狀態(tài)起先運行。AT89C51的RST引腳為復位端,該引腳連續(xù)保持2個機器周期(24個時鐘振動周期)以上高電平,則可使單片機復位。內(nèi)部復位電路在每一個機器周期的S5P2期間采樣斯密特觸發(fā)器的輸出端,該觸發(fā)器可抑制RST引腳的噪聲干擾,并在復位期間不產(chǎn)生ALE信號,內(nèi)部RAM處于不斷電狀態(tài)。其中的數(shù)據(jù)信息不會丟失,也即復位后,只影響SFR中的內(nèi)容,內(nèi)部RAM中的數(shù)據(jù)不受影響。外部復位有上電復位和按鍵電平復位。由于單片機運行過程中,其本身的干擾或外界干擾會導致出錯,此時我們可按復位鍵重新起先運行。為了便于本設計運行調(diào)試,復位電路采納按鍵復位方式。按鍵復位電路如圖3.3所示[8]。

圖3.3

復位電路時鐘電路設計時鐘電路是單片機的心臟,它限制著單片機的工作節(jié)奏。MCS-51單片機允許的時鐘頻率是因型號而異的,其典型值為12MHZ。AT89C51內(nèi)部有一個反相振蕩放大器,XTAL1

和XTAL2分別是該反向振蕩放大器的輸入端和輸出端。該反向放大器可配置為片內(nèi)振蕩器,石晶振蕩和陶瓷振蕩均可采納。本設計采納的晶振頻率為12MHZ。其時鐘電路如圖3.4所示。51系列單片機還可運用外部時鐘。在運用外部時鐘時,外部時鐘必需從XTAL1輸入,而XTAL2懸空。

圖3.4時鐘電路3.2溫度傳感器AD590溫度傳感器的應用范圍很廣,它不僅用于日常生活中,而且也大量應用于自動化和過程檢測限制系統(tǒng)。溫度傳感器的種類很多,依據(jù)現(xiàn)場運用條件,選擇恰當?shù)膫鞲衅黝愋筒拍鼙WC測量的精確牢靠,并且同時達到增加運用壽命和降低成本的目的。AD590溫度傳感器不但實現(xiàn)了溫度轉(zhuǎn)化為線性電量測量,而且精度高、互換性好。AD590測量熱力學溫度、攝氏溫度、兩點溫度差、多點最低溫度、多點平均溫度的詳細電路,廣泛應用于不同的溫度限制場合。由于AD590精度高、價格低、不需協(xié)助電源、線性好,常用于測溫柔熱電偶的冷端補償。本設計采納AD590作為溫度傳感器,它只須要一個電源即可實現(xiàn)溫度到電流的線性變換,然后再終端運用一只取樣電阻,即可實現(xiàn)電流到電壓的轉(zhuǎn)換。它運用便利,并且具有較高的精度。圖3.5為AD590的封裝形式和基本應用電路。圖3-5AD590封裝形式和應用電路AD590集成溫度傳感器是將溫敏電阻晶體管與相應的協(xié)助電路集成在同一塊芯片上,能干脆給出正比于肯定溫度的志向線形輸出,一般用于-55℃~+150℃之間的測量溫度。溫敏晶體管在管子的集電極電流恒定時,其基極放射極電壓與溫度成線形關系,由于生產(chǎn)廠家生產(chǎn)時采納激光微調(diào)來校正集成電路內(nèi)的薄膜電阻,使其在攝氏零度(對應肯定溫度為273.2K),輸出電流微273.2uA,靈敏度微1uA/K。當其感受的溫度上升或者降低時,則其電流就以1uA/K的速率增大或減小,從而將被測電流轉(zhuǎn)換為電壓,則可以用電壓來表示其溫度大小。為克服溫敏晶體管vb電壓產(chǎn)生時的離散性,采納了特殊的差分電路。集成溫度傳感器具有電壓型和電流型兩種。因此,它不簡潔受接觸電阻、引線電阻、電壓噪音的干擾,具有很好的線性特性。AD590主要特性如下:●

流過器件的電流(mA)等于器件所處環(huán)境的熱力學溫度(開爾文)度數(shù),即:

(3-1)式中:Ir為流過器件(AD590)的電流,單位為mA;

T為熱力學溫度,單位為K。●

AD590的測溫范圍為-55℃~+150℃?!?/p>

AD590的電源電壓范圍為4V~30V。電源電壓可在4V~6V范圍變更,電流變更mA,相當于溫度變更1K。AD590可以承受44V正向電壓和20V反向電壓,因而器件反接也不會被損壞?!?/p>

輸出電阻為710MW?!?/p>

精度高。AD590共有I、J、K、L、M五檔,其中M檔精度最高,在-55℃~+150℃范圍內(nèi),非線性誤差為±0.3℃。AD590溫度傳感器作為一個恒流源,在本設計的溫度檢測電路中在AD590的輸出端接一取樣電阻可將輸出電流信號變更轉(zhuǎn)換為電壓信號變更。由于AD590溫度傳感器溫度每變更1℃其輸出電流變更1mA。所以在接上10K的取樣電阻的狀況下,溫度每變更10℃,輸出電壓就將變更0.1V。3.3信號調(diào)理電路經(jīng)過溫度傳感器采集輸出的電壓信號一般來說是特別微弱的,因此,在送往單片機處理之前應對該信號進行放大。本系統(tǒng)所采納的A/D轉(zhuǎn)換器為ADC0809,由于ADC0809的輸入信號應在0~5V之間,因此,經(jīng)過放大電路放大的信號進入A/D轉(zhuǎn)換器的電壓信號應限制在0~5V之間,依據(jù)此原則可設計合適的放大倍數(shù)。信號調(diào)理電路主要由運算放大器0P07等組成。為了使溫度檢測電路的輸出電壓能夠適合于A/D轉(zhuǎn)換器的參考電壓,利用超低溫漂移高精度運算放大器0P07將溫度電壓信號進行放大到0~5V的范圍之內(nèi),便于A/D進行轉(zhuǎn)換,以提高溫度采集電路的牢靠性。本設計中,信號調(diào)理電路部分由集成運放OP07分別構(gòu)成一個電壓跟隨器,電壓比較器和一個同相輸入放大器用于對AD590輸出的小電壓信號進行放大處理[9]。信號調(diào)理電路如圖3.6所示圖3.6溫度檢測電路在該放大電路中,電壓跟隨器起阻抗匹配的作用。反饋電阻為零時,放大倍數(shù)為1,電壓跟隨器的輸入電壓等于輸出電壓電壓比較器用于對輸出電壓小信號電壓進行調(diào)零,在上述電路圖中的電壓比較器部分由于R2=R4

R3=R5可得電壓比較器的輸出電壓依據(jù)電壓跟隨器的輸出電壓調(diào)整電位計R9就變更電壓比較器的輸入電壓。使得當溫度為溫度測量下限時電壓比較器的輸出電壓為零。起放大作用的是同相輸入放大器OP07。其放大倍數(shù):因此放大器的輸出電壓3.4溫度標定本設計的溫度標定是在室溫環(huán)境條件下標定的。由于溫度傳感器輸出與溫度變更有良好的線性。依據(jù)溫度調(diào)理電路,輸出電壓和溫度變更也具有肯定的線性關系。依據(jù)試驗測得的電壓和溫度數(shù)據(jù),在此我們可以采納一元線性回來的方法求得溫度和電壓的線性方程。一元線性回來是處理兩變量之間的關系,即兩個變量X和Y之間若存在肯定的關系,則可通過試驗,分析所得數(shù)據(jù),找到兩者之間的關系的閱歷公式。假如兩變量之間的關系是線性的則稱為一元線性回來。由于變量測量中存在隨機誤差,一元線性方程回來可用最小二乘法處理求得一元線性回來方程。最小二乘原理指出,最可信任值應在使殘余誤差平方和最小的條件下求得[10]。依據(jù)試驗測量結(jié)果可得,在肯定溫度x下的電壓輸出值y,得到如下表所示。表3-3x/℃22304050607080y/V00.421.061.682.262.863.45依據(jù)表3-3所得的數(shù)據(jù),我們可以知道電壓輸出范圍在0-5V之間,適合A/D轉(zhuǎn)換參考電壓的電壓范圍。為了了解輸出電壓y與溫度x之間的大致關系,把數(shù)據(jù)表示在坐標圖上,如圖3-7所示,這種圖叫散點圖。從散點圖可以看出,輸出電壓y與溫度x大致成線性關系。因此,我們假設x與y之間的內(nèi)在關系是一條直線,有些點偏離了直線,這是試驗過程中其他隨機因素的影響而引起的。這樣就可以假設這組測量數(shù)據(jù)有如下結(jié)構(gòu)形式:

,

t=1,2,…,N

(3-2)式中的,,…,分別表示其他隨機因素對電壓測得值,,…,的影響,一般假設它們是一組相互獨立、并聽從同一正態(tài)分布的隨機變量,式(3-2)就是一元線性回來的數(shù)學模型。此例中N=7。我們用最小二乘法來估計式(3-2)中的參數(shù)、。設b0和b分別是參數(shù)和的最小二乘估計,便可得到一元線性回來的回來方程

(3-3)式中的b0和b是回來方程的回來系數(shù)。對每一個實際測得值與這個回來值之差就是殘余誤差:,

t=1,2,…,N

(3-4)應用最小二乘法求解回來系數(shù),就是在使殘余誤差平方和為最小的條件下求得回來系數(shù)b0和b的值。用矩陣形式,令,,,

則式(3-2)的矩陣形式為

(3-5)假定測得值的精度相等,依據(jù)最小二乘原理,回來系數(shù)的矩陣解為

(3-6)代入數(shù)據(jù)后:,

求解線性方程系數(shù):因此

b0=-1.34

b=0.06線性方程為:

(3-7)3.5A/D轉(zhuǎn)換ADC0809是一種8位逐次靠近式A/D轉(zhuǎn)換器,其內(nèi)部有一個8位“三態(tài)輸出鎖存器”可以鎖存A/D轉(zhuǎn)換后的數(shù)字量,故它本身既可看作一種輸入設備,也可以認為是并行I/O接口芯片。故ADC0809可以和微機干脆接口,本設計就是用AT8951和ADC0809干脆相連的。ADC0809采納雙列直插式封裝,圖3.8為ADC0809引腳圖,共有28條引腳,主要引腳功能為:●IN0~IN7:為八路模擬電壓輸入線,用于輸入被轉(zhuǎn)換的模擬電壓?!馎LE:為地址鎖存允許輸入線,高電平有效。●ADD-A、ADD-B和ADD-C:為地址輸入線,用于選擇IN0~IN7上那一路模擬電壓送給比較器進行A/D轉(zhuǎn)換。ADDA、ADDB和ADDC對IN0~IN7的選擇如表3-4所列:●START:為“啟動脈沖”輸入線,上升沿清零SAR,下降沿啟動ADC0809工作。

●EOC:為轉(zhuǎn)換結(jié)束輸出線,該線上高電平表示A/D轉(zhuǎn)換已結(jié)束。p;

●OE:為“輸出允許”線,高電平常能使2~2引腳上輸出轉(zhuǎn)換后的數(shù)字量。

圖3.8ADC0809引腳圖表3-48位模擬開關功能表被選模擬電壓ADDCADDBADDAIN0000IN1001IN2010IN3011IN4100IN5101IN6110IN7111AT89C51與ADC0809的連接方法如圖3.9所示,AT89C51通過地址線P2.7和寫限制信號線用一個或非門聯(lián)合限制啟動轉(zhuǎn)換信號端(START)和地址鎖存信號端(ALE)。地址線P2.7和讀限制信號線用一個或非門聯(lián)合限制輸出允許限制端(EOC)。低三位地址線加到ADC0809的ADDA、ADDB、ADDC端,所以選中ADC0809的IN0通道的地址為7FF8H。轉(zhuǎn)換結(jié)束信號EOC通過一個反相器接到INT1。圖3.9

AT89C51與ADC0809連接圖AT89C51和ADC0809連接通??梢圆杉{查詢和中斷兩種方式。本系統(tǒng)采納中斷方式傳送數(shù)據(jù),EOC線作為CPU的中斷懇求輸入線。CPU線響應中斷后,應在中斷服務程序中使OE線變?yōu)楦唠娖?,以提取A/D轉(zhuǎn)換后的數(shù)字量。其中和START的邏輯關系分別為:對ADC0809地址的確定:依據(jù)系統(tǒng)硬件連接圖可知所選定模擬電壓路數(shù)為IN0,其對應的地址為ABC=000,即P0.0、P0.1、P0.2=000;又P2.7=0時才能啟動ADC0809工作和使AT89C51從ADC0809接收A/D轉(zhuǎn)換電壓的數(shù)字量。故確定ADC0809其中一個地址為:0111

1111

1111

1000B=7FF8H,其中“__”表示固定量。ADC0809的IN0和變送器輸出端線連,故IN0上輸入的0V~+5V范圍的模擬電壓經(jīng)A/D轉(zhuǎn)換后可由AT89C51通過程序從P0口輸入到它的內(nèi)部RAM單元。ADC0809所需時鐘信號可以由AT89C51的ALE信號供應。AT89C51的ALE信號通常是每個機器周期出現(xiàn)兩次,故它的頻率是單片機時鐘頻率的1/6。本系統(tǒng)AT89C51主頻是12MHZ,ALE信號頻率為2MHZ,使AT89C51的ALE上信號經(jīng)過4分頻后接到ADC0809的CLOCK輸入端,就可獲得500KHZ的A/D轉(zhuǎn)換脈沖,當然,ALE上脈沖會在MOVX指令的每個機器周期少出現(xiàn)一次,但通常狀況下影響不大。ADC0809時序圖如圖3.10所示。圖3.10

ADC0809時序圖從時序圖可以看出,在啟動ADC0809后,EOC約在10us后才變?yōu)榈碗娖?,EOC線經(jīng)過反相器和AT89C51線相連,這即是AT89C51采納中斷方式來和ADC0809傳送A/D轉(zhuǎn)換后的數(shù)字量的。為了給OE線安排一個地址,把AT89C51RD和P2.7經(jīng)或門和OE相連。平常,使OE處于低電平封鎖狀態(tài),在響應中斷后,AT89C51執(zhí)行中斷服務程序中如下兩條指令就可以使OE變?yōu)楦唠娖?,從而打開三態(tài)輸出鎖存器,讓CPU提取A/D轉(zhuǎn)換后的數(shù)字量。AT89C51執(zhí)行如下程序可以啟動ADC0809工作。MOV

DPTR,#7FF8HMOVX

A,@DPTR;

OE變?yōu)楦唠娖剑瑪?shù)字量送A3.6LED顯示單片機應用系統(tǒng)中運用的顯示器主要有發(fā)光二極管顯示器,簡稱LED;液晶顯示器,簡稱LCD。前者價廉,配置敏捷,與單片機接口便利;后者可進行圖形顯示,但接口困難,成本較高。結(jié)合本設計的特點,在這里系統(tǒng)的顯示采納發(fā)光二極管作為顯示器件。單片機中運用7段LED構(gòu)成字形“8”,另外,還與一個小數(shù)點發(fā)光二極管用以顯示數(shù)字、符號及小數(shù)點。這種顯示器有共陰極和共陽極兩種,如圖3.11所示。發(fā)光二極管的陽極連在一起稱為共陽極顯示器,陰極連在一起的稱為共陰極顯示器。一位顯示器由八個發(fā)光二極管組成,其中,7個發(fā)光二極管構(gòu)成字形“8”的各個筆劃(段)a-g,另一個小數(shù)點為dp發(fā)光二極管。當在某段發(fā)光二極管施加肯定的正向電壓是,該段筆劃即點亮;不加電壓則該段二極管不亮。為了愛護各段LED不被損壞,須要外加限流電阻[11]。圖3.11數(shù)碼管假如要顯示某個字形,則應使此字形的相應段點亮,也即送一個不同的電平組合代表的數(shù)據(jù)來限制LED的顯示字形,此數(shù)據(jù)稱為字符的段碼。數(shù)據(jù)字位數(shù)與LED段碼的關系如表3-4所示。表3-4數(shù)碼管各段與輸出口各位的對應關系輸出口各位D7D6D5D4D3D2D1D0數(shù)碼管各段dpgfedcba如運用共陽極數(shù)碼管,數(shù)據(jù)為0表示對應字段亮,數(shù)據(jù)為1表示對應字段暗;如運用共陰極數(shù)碼管,數(shù)據(jù)為0表示對應字段暗,數(shù)據(jù)為1表示對應字段亮。如要顯示“0”,共陽極數(shù)碼管的字型編碼應為:11000000B(即C0H);共陰極數(shù)碼管的字型編碼應為:00111111B(3FH)。依次類推,可求得數(shù)碼管字型編碼如表3-5所示。表3-5數(shù)碼管字型編碼表字型共陽極共陰極dpgfedcba字型碼dpgfedcba字型碼011000000C0H001111113FH111111001F9H0000011006H210100100A4H010110115BH310110000B0H010011114FH續(xù)表3-541001100199H0110011066H51001001092H011011016DH61000001082H011111017DH711111000F8H0000011107H81000000080H011111117FH91001000090H011011116FHA1000100088H0111011177HB1000001183H011111007CHC11000110C6H0011100139HD10100001A1H010111105EHE1000011086H0111100179HF100011108EH0111000171H滅11111111FFH0000000000H本設計顯示采納LED串行靜態(tài)顯示。MCS-51系列單片機的串行口RXD,TXD為一個全雙工串行通信口,當工作在方式0下可作同步移位寄存器用,其數(shù)據(jù)由RXD(P3.0)端串行輸入或輸出;而同步移位時鐘由TXD(P3.1)串行輸出,在同步時鐘的作用下,實現(xiàn)由串行到并行的數(shù)據(jù)通信。在不須要運用串行通信的場合,利用串行口加外圍芯片74LS164就可以構(gòu)成一個或多個并行輸入/輸出口,用于顯示器LED驅(qū)動。波特率(每秒傳輸?shù)奈粩?shù))固定在fosc/12,即當晶振為12MHZ時,波特率為1MBPS。在CPU將數(shù)據(jù)寫入SBUF寄存器后,馬上啟動發(fā)送。待8位數(shù)據(jù)輸完后,硬件將狀態(tài)寄存器的TI位置1,TI必需由軟件清零。單片機與4片串入并出移位寄存器74LS164相連。其中,RXD作為164的數(shù)據(jù)輸入,TXD作為4片164的同步時鐘。程序運行時,單片機將4個數(shù)碼管的段碼(4個字節(jié))連續(xù)發(fā)送出來,通過串行口送給164。4位字型碼送完后,TXD保持高電平。此時每片164的并行輸出口將送出保存在內(nèi)部移位寄存器中的8位的段碼給數(shù)碼管,令數(shù)碼管穩(wěn)定地顯示所需的字符[11]。74LS164是8位串入并出移位寄存器。它的引腳如圖3.12所示。A、B為串行輸入端,QA~QH為串行輸出端,CLK為串行時鐘輸入端,為串行輸出清零端,VCC為+5V電源輸入端,GND為接地端。詳細輸入輸出關系如表3-6所示。X代表隨意狀態(tài);QA0、QB0~QH0代表在穩(wěn)態(tài)輸入條件建立之前QA、QB~QH的輸出狀態(tài);QAn、QBn~QHn代表在最近的時鐘上升沿↑轉(zhuǎn)換之前QA、QB~QH的輸出狀態(tài);H/L、QAn~QBn代表在最近的時鐘上升沿↑轉(zhuǎn)換之后QA、QB~QH的輸出狀態(tài)。表3-674LS164輸入輸出關系如所示輸入輸出清除

時鐘

A

BQA

QB

~

QHL

X

X

XH

L

X

XH

H

HH

L

XH

X

LL

L

~

LQA0

QB0

~

QH0H

QAn

~

QGnL

QAn

~

QGnL

QAn

~

QGn圖3.1274LS164引腳如圖串行顯示電路屬于靜態(tài)顯示,比動態(tài)顯示亮度更大一些。由于74LS164在低電平輸出時,允許通過的電流達8mA,故不必添加驅(qū)動電路,亮度也比較志向。與動態(tài)掃描相比較,無需CPU不停的掃描,頻繁地為顯示服務,節(jié)約了CPU時間,軟件設計也比較簡潔。由于本設計采納的是共陽極數(shù)碼管,所以相應的亮段必需送0,相應的暗段必需送1。原理圖如圖3.13所示:圖3.13LED串行靜態(tài)顯示3.7鍵盤接口鍵盤在單片機應用系統(tǒng)中,實現(xiàn)輸入數(shù)據(jù)、傳送吩咐的功能,是人工干預的主要手段。鍵盤分兩大類:編碼鍵盤和非編碼鍵盤。編碼鍵盤:由硬件邏輯電路完成必要的鍵識別工作與牢靠性措施。每按一次鍵,鍵盤自動供應被按鍵的讀數(shù),同時產(chǎn)生一個選通脈沖通知微處理器,一般還具有反彈跳和同時按鍵愛護功能。這種鍵盤易于運用,但硬件比較困難,對于主機任務繁重之狀況,采納8279可編程鍵盤管理接口芯片構(gòu)成編碼式鍵盤系統(tǒng)是很好用的方案。非編碼鍵盤:只簡潔地供應鍵盤的行列與矩陣,其他操作如鍵的識別,確定按鍵的讀數(shù)等都靠軟件完成,故硬件較為簡潔,但占用CPU較多時間。非編碼鍵盤有:獨立式按鍵結(jié)構(gòu)、矩陣式按鍵結(jié)構(gòu)。本設計采納的是非編碼獨立連接式的鍵盤。在非編碼鍵盤系統(tǒng)中,鍵閉合和鍵釋放的信息的獲得,鍵抖動的消退,鍵值查找及一些愛護措施的實施等任務,均由軟件來完成。單片機應用系統(tǒng)中,鍵盤掃描只是CPU的工作內(nèi)容之一。CPU忙于各項任務時,如何兼顧鍵盤的輸入,取決于鍵盤的工作方式??紤]儀表系統(tǒng)中CPU任務的份量,來確定鍵盤的工作方式。鍵盤的工作方式選取的原則是:既要保證能剛好響應按鍵的操作,又不過多的占用CPU的工作時間。鍵盤的工作方式有:查詢方式(編程掃描,定時掃描方式)、中斷掃描方式。獨立式按鍵接口就是各按鍵相互獨立,每個按鍵單獨占用一根I/O口線,每根I/O口線的按鍵工作狀態(tài)不會影響其他I/O口線上的工作狀態(tài)。因此,通過檢測輸入線的電平狀態(tài)可以很簡潔推斷哪個按鍵被按下了。優(yōu)點就是電路配置敏捷,軟件結(jié)構(gòu)簡潔;缺點就是每個按鍵需占用一根I/O口線,在按鍵數(shù)量較多時,I/O口奢侈大,電路結(jié)構(gòu)顯得困難。因此,此鍵盤是用于按鍵較少或操作速度較高的場合[8]。本設計中由于所用鍵盤不多,所以采納獨立連接式的查詢式鍵盤就能夠滿意設計要求。鍵盤接口與鍵盤程序的根本任務就是要檢測有沒有鍵按下?按下的是那個位置的鍵?鍵值是多少?在本次設計中采納了軟件掃描的方法。通過對鍵盤接口P1.0和P1.1的查詢推斷是否有鍵按下。本次設計采納了軟件去抖動的方法。當有鍵按下時,按鍵的觸點在閉合和斷開時均會產(chǎn)生抖動,這時觸點的邏輯電平是不穩(wěn)定的,假如不妥當處理,將會使按鍵吩咐的錯誤執(zhí)行和重復執(zhí)行。采納軟件延時的方法來避開抖動階段,這一延時過程一般大于5ms。3.8限制電路在本設計中,被測溫度信號經(jīng)采樣處理后,還須要通過單片機系統(tǒng)的P1.2口輸出用以限制保溫箱的溫度,通過這種方式達到限制的目的。限制的方式主要有模擬量限制和開關量限制。本系統(tǒng)采納的是開關量限制。所謂的開關量限制就是通過限制設備的“開”或“關”狀態(tài)的時間來達到限制的目的[6]。由于輸出設備往往須要大電壓來限制,而單片機系統(tǒng)輸出的為TTL電平,這種電平不能干脆驅(qū)動外部設備的開啟和關閉。另一方面,很多外部設備在開關過程中會產(chǎn)生很強的電磁干擾信號,假如不隔離會使系統(tǒng)進行錯誤的處理。因此在開關量的輸出限制過程中要考慮到兩個問題,一要隔離;二要放大。本設計采納繼電器作為限制電路的主要器件,繼電器具有肯定的隔離作用,在繼電器前面加一個三極管用以放大輸出信號就可以驅(qū)動繼電器的閉合和斷開,從而實現(xiàn)弱電限制強電的效果。繼電器是一種電子限制器件,它具有限制系統(tǒng)(又稱輸入回路)和被限制系統(tǒng)(又稱輸出回路),通常應用于自動限制電路中,它事實上是用較小的電流限制較大電流的一種開關。故在電路中起自動調(diào)整、平安愛護、轉(zhuǎn)換電路等作用。在工業(yè)自動化限制系統(tǒng)中,繼電器常常被用來限制執(zhí)行機構(gòu),特殊是應用在一些耐潮、耐腐蝕、防爆的特殊裝置中。固態(tài)繼電器和MCS-51系列單片機組成的限制系統(tǒng),具有抗干擾性強、編程簡潔、系統(tǒng)兼容性好等特點,具有特別廣袤的應用前景。繼電器一般由通電線圈和觸電組成。當線圈通電時,由于磁場作用,使開關觸電閉合。當不通電時,則開關觸點斷開。一般線圈可用直流低電壓限制(+5V,+9V,+12V)。繼電器的特性參數(shù)包括輸入和輸出參數(shù),主要的參數(shù)為額定輸入電壓、額定輸出電流、浪涌電流。依據(jù)輸入電壓參數(shù)值大小,可確定工作電壓大小。如采納TTL或CMOS等邏輯電平限制時,采納有足夠帶載實力的低電平驅(qū)動,并盡可能使“0”電平低于0.8V。如在噪聲很強的環(huán)境下工作,不能選用通、斷電壓值相差小的產(chǎn)品,必需選用通、斷點壓值相差大的產(chǎn)品,(如選接通電壓為8V或12V的產(chǎn)品)這樣不會因噪聲干擾而造成限制失靈。本設計就是采納直流驅(qū)動電壓為+5V的繼電器。觸電輸出部分可以干脆與市電連接。繼電器限制電路如圖3.14所示:3.14繼電器限制電路4系統(tǒng)軟件設計本次單片機溫控系統(tǒng)的功能是由硬件電路協(xié)作軟件來實現(xiàn)的,當硬件基本定型后,軟件的功能也就基本定下來了。系統(tǒng)軟件的功能又可分為兩大類:一是監(jiān)控軟件,它是整個限制系統(tǒng)的核心,特地用來協(xié)調(diào)各執(zhí)行模塊和操作者的關系。二是執(zhí)行軟件,它是用來完成各種實質(zhì)性的功能如測量、顯示等功能。每一個執(zhí)行軟件也就是一個小的功能執(zhí)行模塊。本文將各執(zhí)行模塊一一列出,各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。本系統(tǒng)程序設計包括溫度采集子程序、顯示子程序、標度轉(zhuǎn)換資程序、鍵盤子程序、限制子程序[11]。程序流程圖如圖4.1所示。

小于等于-2

大于等于2圖4.1系統(tǒng)流程圖4.1程序初始化程序初始化部分依據(jù)系統(tǒng)硬件原理圖及設計要求對單片機系統(tǒng)進行系統(tǒng)資源安排、參數(shù)的設置以及定義。系統(tǒng)內(nèi)部資源安排和參數(shù)設置如下:A/D端口地址(ADPORT):

7FF8H顯示緩沖起始地址:(LEDBUF):30H段碼存儲起始地址(TEMP):

40H設定溫值存儲地址(SETTEMP):50h測量溫度存儲地址(CURTEMP):51H溫度設定上限(HIGHLIMIT):

80溫度設定下限(LOWLIMIT):

25溫度測量上限(HIGHTEMP)

107溫度測量下限(LOETEMP)

21初始化程序代碼如下:ADPORT

EQU

7FF8H

;A/D端口地址

LEDBuf

equ

30H

;顯示緩沖TEMP

EQU

40H

;段碼存儲UP

equ

1

;增溫DOWN

equ

2

;減溫LowLimit

equ

25

;設定值下限HighLimit

equ

80

;設定值上限LowTemp

equ

21

;A/D

0HighTemp

equ

107

;A/D

255SetTemp

equ

50h

;設定溫值CurTemp

equ

51h

;測量溫度DIN

BIT

0B0H

;P3.0CLK

BIT

0B1H

;P3.1ORG

0000Hljmp

Start4.2主程序主程序的編寫是為了實現(xiàn)程序在各個模塊間的跳轉(zhuǎn)。這樣使程序編寫思路更加明白,簡化了程序的編寫難度,有利于程序的調(diào)試。本軟件系統(tǒng)包括A/D轉(zhuǎn)換模塊,標度轉(zhuǎn)換模塊,顯示模塊,鍵盤模塊,限制模塊等。主程序代碼如下:Start:mov

SetTemp,#20

;初始恒溫值為20℃MLoop:call

TestKey

;測試有無鍵入jnz

KeyPressed

;更改設定值call

DisplayResult

;數(shù)制轉(zhuǎn)換call

DisplayLED

;顯示call

ReadTemp

;讀入溫度CONTROL:......

;限制子程序KeyPressed:......

;鍵盤子程序END4.3A/D轉(zhuǎn)換子程序依據(jù)系統(tǒng)硬件連接圖可知,在系統(tǒng)中將ADC0809作為一個外部擴展并行I/O口,采納線選尋址。由P2.7和聯(lián)合限制啟動轉(zhuǎn)換信號端(ATART)和ALE端,低三位地址線架到ADC0809和ADDA,ADDB,ADDC端,所以選中ADC0809的IN0通道的地址為7FF8H。啟動DAC0809的工作過程是:先送通道號地址到ADDA,ADDB,ADDC,由ALE信號鎖存通道號地址,后讓ATART有效,啟動A/D轉(zhuǎn)換,即執(zhí)行一道“MOVX@DPTR,A”指令產(chǎn)生信號,使ALE,START有效,鎖存通道號并啟動A/D轉(zhuǎn)換,A/D轉(zhuǎn)換完畢后,EOC端發(fā)出一正脈沖,申請中斷。

圖4.2A/D轉(zhuǎn)換流程圖

在中斷服務程序中,“MOVA,@DPTR”指令產(chǎn)生信號,使OE端有效,打開輸出鎖存器三態(tài)門,8位數(shù)據(jù)便讀入到CPU中。A/D轉(zhuǎn)換子程序流程圖如圖4.2所示。A/D轉(zhuǎn)換子程序代碼如下:ReadAD:mov

dptr,#ADPORTclr

amovx

@dptr,a

;startA/DJNB

P3.3,$MOVX

A,@DPTR

;讀入結(jié)果ret4.4標度轉(zhuǎn)換子程序系統(tǒng)溫度測量范圍的計算原理:依據(jù)溫度標定結(jié)果選取兩個溫度狀態(tài)T1T2,模擬輸出電壓V1V2;依據(jù)0809的輸入范圍在0到5伏,即可計算出溫度極限。計算公式如下:0伏時對應的溫度TL:T1-(V1-0)(T2-T1)/(V2-V1)5伏時對應的溫度TH:T1-(V1-5)(T2-T1)/(V2-V1)依據(jù)所得結(jié)果采納在溫度為50℃和60℃TL=50-(1.68-0)(50-40)/(2.26-1.68)=21TH=50-(1.68-5)(50-40)/(2.26-1.68)=107所以A/D轉(zhuǎn)化的極限范圍為21℃-107℃之間,而依據(jù)系統(tǒng)要求溫度的限制范圍為25℃-80℃之間,符合系統(tǒng)要求。程序中溫度的計算原理:首先用溫度范圍除以0到256(即每個十六進制數(shù)的溫度增長率),然后乘以模擬轉(zhuǎn)換的數(shù)字量,即得到上升的溫度,再和最低溫度相加,就可以得到實際的溫度值。其公式為:TL+AX(TH-TL)/256TL:顯示的最低溫度TH:顯示的最高溫度AX:模擬電壓所轉(zhuǎn)換的數(shù)字量標度轉(zhuǎn)換代碼如下:ReadTemp:call

ReadADmov

b,#(HighTemp-LowTemp)

;溫度值計算mul

abmov

a,b

;/256add

a,#LowTempmov

CurTemp,aret4.5顯示子程序顯示模塊包括數(shù)制轉(zhuǎn)換和LED串口靜態(tài)顯示兩部分。顯示內(nèi)容包括當前溫度和設定溫度兩個參數(shù)。在數(shù)制轉(zhuǎn)換程序中將十六進制數(shù)的數(shù)據(jù)轉(zhuǎn)換為十進制數(shù)數(shù)據(jù),各分為十位數(shù)和個位數(shù)。在編寫顯示程序時,先送高位再送低位。顯示模塊程序流程圖如圖4.3所示數(shù)制轉(zhuǎn)換子程序代碼如下:DisplayResult:mov

a,CurTemp

;實際值mov

b,#10p

abmov

dptr,#LEDMAP

;顯示碼首址movc

a,@a+dptr

;取顯示碼mov

LEDBuf,a

;存顯示緩沖mov

a,bmovc

a,@a+dptrmov

LEDBuf+1,amov

a,SetTemp

;設定的恒溫值

mov

b,#10

p

abmov

LEDBuf+2,Amov

a,bmov

LEDBuf+3,Aret顯示子程序代碼如下:DisplayLED:

;顯示子程序MOV

R0,#LEDBUF

;置存儲區(qū)首地址MOV

R1,#TEMP

;置緩沖區(qū)首地址MOV

R2,#4

;制段碼字節(jié)數(shù)DP10:MOV

DPTR,#LEDMAP;表頭地址MOV

A,@R0MOVC

A,@A+DPTR

;查表指令MOV

@R1,AINC

R0INC

R1DJNZ

R2,DP10MOV

R0,#TEMP

;段碼地址指針MOV

R1,#4

;段碼字節(jié)數(shù)DP12:MOV

R2,#8

;輸出子程序MOVA,@R0

;取段碼DP13:RLC

A

;段碼左移

圖4.3顯示流程圖MOV

DIN,C

;輸出一位段碼CLR

CLK

;輸出移位脈沖SETB

CLKDJNZ

R2,DP13INC

R0DJNZ

R1,DP12

RET4.6限制子程序本設計采納P1.2作為輸出限制口。當設定溫度比當前溫度高2℃以上時,P1.2置1,使其輸出高電平,用以驅(qū)動繼電器,使繼電器閉合,保溫箱起先加熱。當設定溫度比當前溫度低2℃以下時,P1.2置零,使繼電器斷開,保溫箱停止加熱。限制程序流程圖如圖4.4所示CONTROL:mov

a,CurTemp;實際溫度clr

cmov

b,SetTemp

;設定的恒溫值dec

bdec

bsubb

a,b

;實際值-(恒溫值-2)jnc

GN2

;推斷實際值是否比恒溫值低2℃Setb

p1.2

;是,起先加熱

sjmp

GN4GN2:

mov

a,CurTempsetb

cmov

b,SetTempinc

binc

bsubb

a,b

圖4.4限制程序流程圖jc

GN4

;推斷實際值是否比恒溫值高2℃CLR

P1.2

;是,停止加熱sjmp

GN4

GN4:

CALL

DELAY1sjmp

MLoopDELAY1:

;延時子程序1MOV

R4,

#0FFHAA1:

MOV

R5,

#0FFHAA:

NOPNOPDJNZ

R5,

AADJNZ

R4,

AA1RET4.7鍵盤子程序鍵盤是人與微機打交道的主要設備,從系統(tǒng)監(jiān)控軟件的設計角度來看,僅僅通過鍵盤掃描,讀取當前時刻的鍵盤狀態(tài)是不夠的,還有不少問題須要解決,否則,在操作鍵盤時就簡潔引起誤操作和操作失控等現(xiàn)象。在非編碼鍵盤系統(tǒng)中,鍵閉合和鍵釋放的信息的獲得,鍵抖動的消退,鍵值查找及一些愛護措施的實施等任務,均由軟件來完成。非編碼鍵盤的鍵輸入程序應完成的基本任務:①監(jiān)測有無鍵按下;鍵的閉合與否,反映在電壓上就是呈現(xiàn)出高電平或低電平,所以通過電平的凹凸狀態(tài)的檢測,便可確認按鍵按下與否。②推斷是哪個鍵按下。③完成鍵處理任務。按鍵的觸點在閉合和斷開時均會產(chǎn)生抖動,這時觸點的邏輯電平是不穩(wěn)定的,如不妥當處理,將會使按鍵吩咐的錯誤執(zhí)行或重復執(zhí)行。在這里采納軟件延時的方法來避開抖動階段,這一延時程序一般大于5ms。在第一次檢測到有鍵按下時,執(zhí)行一段延時子程序后,再確認電平是否仍保持閉合狀態(tài)電平,假如保持閉合狀態(tài)電平,則確仔細正有鍵按下,進行相應處理工作,消退了抖動的影響。這種消退抖動影響的軟件措施是切實可行的。鍵盤子程序流程圖如圖4.5所示。鍵盤子程序程序代碼如下:TestKey:

;測試有無鍵入子程序MOV

P1,

#03H

;讀鍵盤狀況MOV

A,

P1

RETKeyPressed:call

GetKeymov

b,a

溫馨提示

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

評論

0/150

提交評論