基于單片機的數(shù)字溫度計的系統(tǒng)設(shè)計和實現(xiàn) 電氣工程專業(yè)_第1頁
基于單片機的數(shù)字溫度計的系統(tǒng)設(shè)計和實現(xiàn) 電氣工程專業(yè)_第2頁
基于單片機的數(shù)字溫度計的系統(tǒng)設(shè)計和實現(xiàn) 電氣工程專業(yè)_第3頁
基于單片機的數(shù)字溫度計的系統(tǒng)設(shè)計和實現(xiàn) 電氣工程專業(yè)_第4頁
基于單片機的數(shù)字溫度計的系統(tǒng)設(shè)計和實現(xiàn) 電氣工程專業(yè)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于單片機的數(shù)字溫度計系統(tǒng)設(shè)計摘要:傳統(tǒng)的溫度計性能單一、壽命短并且精度不高,用起來不可靠。而數(shù)字溫度計的出現(xiàn)解決了這些問題。它不僅拓寬了溫度計的應(yīng)用范圍,而且具有具有實時性、準確性、高效性的優(yōu)點。這篇論文仔細的探討了一種基于51單片機,熱敏電阻Pt100和12位串行模數(shù)轉(zhuǎn)換器ADS7816的溫度測量方法。包括總體設(shè)計方案、詳細硬件電路設(shè)計和軟件設(shè)計實現(xiàn)。最終做出的溫度計的的測量和控制的范圍是0到100攝氏度,而且它的精度可以達到0.1度。在溫度控制模塊中,分別利用PID算法和模糊控制的算法對溫度進行控制。關(guān)鍵詞:數(shù)字溫度計;單片機;模數(shù)轉(zhuǎn)換器;PID控制DesignofDigitalThermometerSystemBasedonSingleChipMicrocomputerAbstract:Thetraditionalthermometerissingleinperformance,shortinservicelifeandnothighinaccuracy,soitisnotreliabletouse.Theemergenceofdigitalthermometershassolvedtheseproblems.Itnotonlybroadenstheapplicationrangeofthermometer,butalsohastheadvantagesofreal-time,accuracyandhighefficiency.Inthispaper,atemperaturemeasurementmethodbasedon51MCU,thermistorPt100and12-bitserialanalog-to-digitalconverterADS7816iscarefullydiscussed.Includingtheoveralldesignscheme,detailedhardwarecircuitdesignandsoftwaredesignandimplementation.Themeasurementandcontrolrangeofthethermometerfinallymadeis0to100degreesCelsius,anditsaccuracycanreach0.1degrees.Inthetemperaturecontrolmodule,PIDalgorithmandfuzzycontrolalgorithmareusedtocontrolthetemperaturerespectively.Keywords:Digitalthermometer;Singlechipmicrocomputer;Analog-to-digitalconverter;PIDcontrol

目錄第一章緒論 21.1研究背景 21.2研究目的與意義 21.3研究現(xiàn)狀 31.4技術(shù)特點 31.5課題研究的內(nèi)容 3第二章系統(tǒng)總體簡介 32.1單片機的概述 32.2主控芯片AT89C51簡介 42.3數(shù)字的顯示 52.4系統(tǒng)設(shè)計步驟 62.5總體設(shè)計方案 6第三章系統(tǒng)的硬件電路設(shè)計 73.151單片機最小系統(tǒng) 7 83.2數(shù)碼管模塊電路 83.2.1液晶顯示屏 83.2.2點陣 93.2.3LED數(shù)碼管 93.3數(shù)據(jù)采集模塊設(shè)計 93.3.1溫度信號輸入模塊設(shè)計 93.3.2鍵盤輸入模塊的設(shè)計 113.3.3鍵盤硬件設(shè)計 113.4數(shù)據(jù)顯示模塊的設(shè)計 123.4.1LED顯示器的顯示方式 133.4.2顯示模塊電路設(shè)計 133.5PCB的設(shè)計 143.5.1Protel簡介 143.5.2電路設(shè)計流程 15第四章系統(tǒng)的軟件設(shè)計 164.1系統(tǒng)的軟件設(shè)計 164.1.1系統(tǒng)軟件設(shè)計流程 164.1.2系統(tǒng)軟件主程序流程圖 174.2軟件功能模塊的設(shè)計 174.2.1數(shù)據(jù)顯示程序設(shè)計 174.3系統(tǒng)軟件實現(xiàn)難點及解決方法 184.4使用WAVE6000開發(fā)軟件 18第五章系統(tǒng)調(diào)試 18第六章設(shè)計總結(jié) 18參考文獻 19第一章緒論1.1研究背景 溫度是代表這物體冷熱程度的物理量,在日常生活中,溫度是非常重要的數(shù)據(jù),它一直在對我們的生活產(chǎn)生影響。在當(dāng)代社會,科技高速發(fā)展,隨著電子計算機技術(shù)的不斷發(fā)展與應(yīng)用,單片機技術(shù)在各個行業(yè)也得到了充分的利用。新型的數(shù)字式溫度傳感器既可以測量電信號,又可以測量溫度、濕度等非電信號,在日常生活及工農(nóng)業(yè)生產(chǎn)等許多領(lǐng)域,經(jīng)常要用到溫度的檢測及控制。因此,為了使人們的生活更加方便,溫度傳感器也就從模擬式走向了數(shù)字式。隨著科學(xué)技術(shù)的飛速發(fā)展,人們想要準確的測量和控制這種物理量。單片機的測量和控制是近年來出現(xiàn)的一種新型測控方法。提高對溫度的測量和控制不僅可以提高人們的生活水平,還有就是由于當(dāng)今技術(shù)的快速發(fā)展,對溫度測量和控制也提出了新的要求,這對單片機控制的數(shù)字溫度計的要求越來越嚴格。因此本文從微控制器的控制技術(shù)入手,在數(shù)字控制和智能控制的方向上進行了探討和實踐。溫度也是工業(yè)對象中需要注意的重要參數(shù),特別是在需要嚴格控溫的行業(yè)中。在這些領(lǐng)域中,數(shù)字溫度計由于其高可靠性和高精度而被廣泛應(yīng)用。1.2研究目的與意義該項目的目的是測試水溫,室溫或人體溫度,系統(tǒng)核心采用51系列單片機,溫度的測量范圍為0~100°C,采用熱電阻傳感器(Pt100),ADS7816芯片用于模數(shù)轉(zhuǎn)換。溫度計的測量和控制范圍為0到100攝氏度,精度可達0.1度。在通常的生活與學(xué)習(xí)中,我們常常用到溫度計,如生病時測量體溫的醫(yī)用水銀溫度計、在溫室大棚種植時需要的溫度計、戶外活動時用的戶外溫度計等等。大部分早先時候的溫度計都使用玻璃和水銀制作的,其測量溫度精確度不高而且使用單一化,比如在非典時期,我們使用大量的水銀溫度計來測量人體溫度,它在使用中存在安全隱患、測量不方便、測量時間相對較長、讀數(shù)不方便等因素,醫(yī)用溫度計還不能解決老年人讀溫度計數(shù)值的難題;溫室大棚中使用的溫度計不能使農(nóng)戶隨時、直接了解室內(nèi)的溫度,不能急時采取有效措施控制室內(nèi)的溫度。此時,我們選擇精度準確、讀取方便的數(shù)字溫度計就可以大大方便生活。無形中解決了不少隱患。傳統(tǒng)溫度計由于自身的問題有許多不足,這限制了它在許多方面的使用。一直以來,溫度計大多使用傳統(tǒng)的溫度計,它是由固體和液體的熱膨脹原理制成的,它們都有一定的局限性和缺點。例如,傳統(tǒng)的膨脹溫度計性能單一、壽命短、可靠性差、體積大、精度低等。數(shù)字溫度計的出現(xiàn)解決了這些問題。它不僅拓寬了溫度計的應(yīng)用范圍,而且具有實時性,準確性和高效性。隨著技術(shù)和新材料的發(fā)現(xiàn),溫度計的精度和類型發(fā)展非常迅速,例如熱敏電阻溫度計和熱電偶溫度計,以及新型數(shù)字溫度計和電子溫度計,它的原理簡單,應(yīng)用范圍更廣。本文設(shè)計的溫度控制系統(tǒng)是一個溫度測量系統(tǒng)。測量溫度時,和傳統(tǒng)的溫度計不同的是,它的測量準確,溫度輸出可以顯示在數(shù)碼管或液晶上,因此十分方便閱讀。1.3研究現(xiàn)狀溫度是一個非常有用的物理量,各方面都可以用到。并且溫度有許多檢測方法,常用的有電阻型、熱電偶型、PN結(jié)型和石英諧振型,它們的原理都是因為溫度變化會引起其物理參數(shù)的變化。隨著測量技術(shù)的不斷發(fā)展,各種新的檢測原理和技術(shù)的開發(fā)和應(yīng)用在實用性方面取得了重大進展。新一代的溫度傳感元件不斷出現(xiàn)和改進。目前,由于計算機和電子技術(shù)的快速發(fā)展,以及傳感器精度水平的提高,國內(nèi)外數(shù)字溫度計應(yīng)用的范圍越來越廣泛。在數(shù)字溫度計的制作研究等方面十分詳盡,所用的方法也各不相同。美國一公司生產(chǎn)的一個可以進行單線性的溫度傳感器芯片是當(dāng)前最常用并且相比較其他芯片算是比較先進的DS18B20,它改進了以往的常用的溫度傳感器的缺點。DS18B20的主要優(yōu)點是能夠直接的將獲得的溫度信號轉(zhuǎn)換成單片機需要的數(shù)字信號,而不像以往那些溫度傳感器那樣只能保存住獲得的溫度信號,而需要專門安裝信號轉(zhuǎn)換芯片才能實現(xiàn)數(shù)模轉(zhuǎn)換。因為每一個DS18B20都有自己特有的標識碼,可以在一條總線上加接多塊DS18B20,所以DS18B20很適合構(gòu)成一套多位置的溫度測量的系統(tǒng)。同時由于其出色的功能,小尺寸,高可靠性和低價格,MCU受到了研究人員的高度重視。其應(yīng)用領(lǐng)域包括工業(yè)測量和控制,智能儀器,尖端技術(shù)和日常用具。以單片機為核心設(shè)計某種電子電路相對簡單易行。目前,大多數(shù)數(shù)字溫度計都是以單片機為基礎(chǔ),以MCU為核心研發(fā)。1.4技術(shù)特點基于AT89C51單片機作為控制核心的數(shù)字溫度計系統(tǒng),具有電路結(jié)構(gòu)簡單,元件少,有計體積小,測溫精度比較高,測溫范圍也較廣等優(yōu)點,有廣泛的應(yīng)用前景。1.5課題研究的內(nèi)容一個基于51單片機的數(shù)字溫度計系統(tǒng),可以精確的顯示1到100的溫度。第二章系統(tǒng)總體簡介2.1單片機的概述單片微型計算機簡稱單片機,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的縮寫MCU表示單片機,單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。單片機由運算器,控制器,存儲器,輸入輸出設(shè)備構(gòu)成,相當(dāng)于一個微型的計算機(最小系統(tǒng)),和計算機相比,單片機缺少了外圍設(shè)備等。概括的講:一塊芯片就成了一臺計算機。它的體積小、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機是了解計算機原理與結(jié)構(gòu)的最佳選擇。它最早是被用在工業(yè)控制領(lǐng)域。由于單片機在工業(yè)控制領(lǐng)域的廣泛應(yīng)用,單片機由僅有CPU的專用處理器芯片發(fā)展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和CPU集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成進復(fù)雜的而對體積要求嚴格的控制設(shè)備當(dāng)中。根據(jù)總線或數(shù)據(jù)寄存器的寬度,單片機又分為4位、8位、16位和32位單片機。4位單片機多用于冰箱、洗衣機、微波爐等家電控制中;8位、16位單片機主要用于一般的控制領(lǐng)域,一般不使用操作系統(tǒng);32位用于網(wǎng)絡(luò)操作、多媒體處理等復(fù)雜處理的場合,一般要使用嵌入式操作系統(tǒng)。常見的單片機有:Atmel的51系列及AVR系列、以低功耗聞名的德州儀器的MSP430系列、日本使用廣泛的瑞薩單片機、意法半導(dǎo)體的 STM32series(ARMCortex-M3系列,32位)和STM8series(自主RISC指令集,8位)?,F(xiàn)代人類生活中所用的幾乎每件有電子器件的產(chǎn)品中都會集成有單片機。手機、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標等電子產(chǎn)品中都含有單片機。汽車上一般配備40多片單片機,復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百片單片機在同時工作!單片機的數(shù)量不僅遠超過PC機和其他計算機的總和,甚至比人類的數(shù)量還要多。2.2主控芯片AT89C51簡介AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低電壓、高性能CMOS8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機。該單片機的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃速存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C051是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。外形及引腳排列如圖所示。AT89C51提供以下標準功能:4k字節(jié)Flash閃速存儲器,128字節(jié)內(nèi)部RAM,32個I/O口線,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。主要特性:·與MCS-51兼容·4K字節(jié)可編程FLASH存儲器·壽命:1000寫/擦循環(huán)·數(shù)據(jù)保留時間:10年·全靜態(tài)工作:0Hz-24MHz·三級程序存儲器鎖定·128×8位內(nèi)部RAM·32可編程I/O線·兩個16位定時器/計數(shù)器·5個中斷源·可編程串行通道·低功耗的閑置和掉電模式·片內(nèi)振蕩器和時鐘電路2.3數(shù)字的顯示使用完善的74HCl64實現(xiàn)串并轉(zhuǎn)換。LED顯示屏分為靜態(tài)顯示和動態(tài)顯示。此處使用靜態(tài)顯示,系統(tǒng)通過單片機串口來實現(xiàn)靜態(tài)的顯示。串口處于模式零狀態(tài),即工作在移位寄存器模式,波特率是振蕩頻率的十二分之一。當(dāng)器件執(zhí)行任何使用SBUF作為目標寄存器的命令時,數(shù)據(jù)就開始從RXD發(fā)送。當(dāng)寫信號有效時,發(fā)送控制端子SEND在一個機器周期后有效,這允許RXD在允許從TXD端子輸出移位脈沖的同時發(fā)送數(shù)據(jù)。2.4系統(tǒng)設(shè)計步驟確定系統(tǒng)的整體解決方案是系統(tǒng)設(shè)計中第一個步驟,同時也是最重要和最關(guān)鍵的步驟,通常情況下,總體設(shè)計方案應(yīng)從這些方面進行思考:(1)根據(jù)系統(tǒng)的功能及指標要求,畫出原理方框圖;(2)確定系統(tǒng)采用的控制策略和控制算法;(3)確定系統(tǒng)的硬件結(jié)構(gòu)及配置和軟件功能及結(jié)構(gòu),畫出粗框圖;(4)考慮多種方案,初步完成方案的比較和選擇。(5)明確保證性能指標達到要求的技術(shù)措施;(6)系統(tǒng)抗干擾設(shè)計和可靠性設(shè)計。2.5總體設(shè)計方案按本課題將對單片機控制系統(tǒng)的實現(xiàn)進行研究,實現(xiàn)一個以為AT89C51微處理器的數(shù)字溫度計的設(shè)計,本設(shè)計的構(gòu)成模塊主要包括:顯示模塊、溫度信號輸入模塊、模數(shù)轉(zhuǎn)換模塊等。按照設(shè)定好的設(shè)計思路做出以下設(shè)計流程圖。主控制器LED顯示器主控制器LED顯示器溫度傳感器溫度傳感器掃描驅(qū)動掃描驅(qū)動所要設(shè)計的系統(tǒng)總體架構(gòu)如上圖所示,該系統(tǒng)以51單片機為核心,通過MAX232與PC實現(xiàn)串口的通信,通過溫度信號電路采集溫度變化,來造成電壓的信號變化,然后進行模數(shù)轉(zhuǎn)換,把這些變化轉(zhuǎn)換成數(shù)字量,經(jīng)89C51單片機處理后顯示在數(shù)碼管。第三章系統(tǒng)的硬件電路設(shè)計3.151單片機最小系統(tǒng)對51系列單片機來說,單片機要正常工作,必須具有時鐘電路、復(fù)位電路。單片機是一種時序電路,必須要有時鐘信號才能正常工作。單片機芯片的18腳(XTAL2)、19腳(XTAL1)分別為片內(nèi)反向放大器的輸出端和輸入端,只要在18腳(XTAL2)和19腳(XTAL1)之間接上一個晶振,再加上2個30PF的瓷片電容即可構(gòu)成單片機所需的時鐘電路。鐘頻率限制(最大值和最小值)可能因設(shè)備而異。標準做法是使用12MHz頻率。復(fù)位電路的設(shè)計:8051可通過兩種方式復(fù)位,上電復(fù)位(當(dāng)電源打開時復(fù)位8051)和手動復(fù)位(僅在手動按下按鈕時才發(fā)生復(fù)位)。復(fù)位不會影響內(nèi)部RAM的內(nèi)容。要發(fā)生復(fù)位,復(fù)位輸入引腳(引腳9)必須在至少2個機器周期內(nèi)高電平有效。在復(fù)位操作期間:程序計數(shù)器清零,從00H開始,默認選擇寄存器組#0,堆棧指針初始化為07H,所有端口都寫入FFH,這里選用的是手動復(fù)位。3.2數(shù)碼管模塊電路傳統(tǒng)用作系統(tǒng)的顯示方案有液晶顯示屏、點陣、LED數(shù)碼管這三種,這三種方法都有各自的優(yōu)缺點。3.2.1液晶顯示屏因為液晶分子本身是不能發(fā)光的,因此液晶顯示器需要外部光源來協(xié)助它本身發(fā)光。它們的亮度和對比度都不是很好。而且液晶顯示器的視角令人頭疼,當(dāng)背光源通過偏振器、液晶和配向?qū)訒r,輸出光就是有方向的了。也就是說,大部分光線是從屏幕垂直發(fā)出的,所以當(dāng)你從大角度觀看液晶顯示器時,你看不到原來的顏色的,有時候甚至只能看到全白或全黑,液晶顯示器極其節(jié)電,但它的使用溫度范圍限制很大,而且因為它是反光的,在外面光線很亮的時候很容易看不清楚。缺點:能夠偏轉(zhuǎn)的視覺角度很小,圖像拖尾現(xiàn)象很容易發(fā)生,液晶顯示器的亮度和對比度都不是很好,液晶經(jīng)常出現(xiàn)“壞點”。優(yōu)點:液晶顯示器可視面積很大,而且它非常節(jié)能。3.2.2點陣優(yōu)點:成本低、加工工藝成熟、品質(zhì)穩(wěn)定;缺點:亮度、顏色一致性不好控制,容易出現(xiàn)馬賽克現(xiàn)象;3.2.3LED數(shù)碼管數(shù)碼管消耗電力比液晶多一點,小于點陣的功耗。但是數(shù)碼管顯示更加清晰,更加適合在白天等強光條件下顯示。優(yōu)點:成本低、電路設(shè)計簡單、適合白天等強光條件下顯示、顯示性能穩(wěn)定、顯示清晰。缺點:功耗高、顯示的內(nèi)容不夠豐富。3.3數(shù)據(jù)采集模塊設(shè)計對于設(shè)計整個硬件電路,要對整個系統(tǒng)分割成為幾個能夠?qū)崿F(xiàn)具體功能的模塊,分別對這幾個模塊進行硬件設(shè)計,最后又由單片機將其組合成為一個整體。3.3.1溫度信號輸入模塊設(shè)計溫度信號輸入模塊是本課題研究的重要部分,該硬件模塊包含溫度信號采集和模數(shù)轉(zhuǎn)換兩部分。硬件電路設(shè)計如下圖:1.溫度信號采集電路分析R2、R3、R4和PT100組成了惠斯登橋式電路,從電橋獲取的差分信號通過運算放大器將信號放大后輸入到模數(shù)轉(zhuǎn)換器ADS7816中。電橋的一個橋臂要采用了可調(diào)電阻R11,通過調(diào)節(jié)R11可以調(diào)整輸入到運放的差分電壓信號的大小,用于調(diào)節(jié)零點。放大器兩端使用了可調(diào)電阻R13,調(diào)節(jié)R13可以改變放大倍數(shù)。溫度在0~100度變化,當(dāng)溫度變化時,PT100的阻值也會相應(yīng)的變化,從而使輸入放大電路的差分信號變大,放大電路輸出的電壓對應(yīng)升高或者降低。2.模數(shù)轉(zhuǎn)化芯片ADS7816分析ADS7816是一個典型的逐次逼近型12位模數(shù)轉(zhuǎn)換器,其精度可以達到0.0625,它的工作時序如上圖所示。從上圖可以看出,時鐘信號DCLOCK控制著信號的轉(zhuǎn)換過程,所以其可以控制數(shù)據(jù)的轉(zhuǎn)換速度,轉(zhuǎn)換后的數(shù)據(jù)只有在時鐘信號是下降沿的時候才會進行傳送。接收數(shù)據(jù)的時候,一般會選擇時鐘信號的下降沿或者上升沿進行。CS有效后的最初2個轉(zhuǎn)換周期內(nèi),ADS7816采樣輸入信號。在時鐘信號的第二個下降沿的時候,Dout的輸出是無效信號,從第三個時鐘信號的下降沿開始輸出轉(zhuǎn)換后的信息。輸出的數(shù)字信號,高位在前,低位在后。當(dāng)最低位輸出后,將CS變?yōu)楦唠娖?,則一次轉(zhuǎn)換結(jié)束。3.3數(shù)據(jù)顯示模塊的設(shè)計該模塊主要實現(xiàn)對溫度數(shù)據(jù)的顯示。以直觀的形式向用戶顯示測量出的溫度數(shù)據(jù)。1.LED顯示器的結(jié)構(gòu)及原理LED顯示器是由發(fā)光二極管顯示字段的顯示器件,也可稱為數(shù)碼管。在單片機應(yīng)用系統(tǒng)中通常使用的是七段LED。這種顯示器有共陰極和共陽極兩種。共陰極LED顯示器的發(fā)光二極管陰極共地,當(dāng)某個發(fā)光二極管的陽極為高電平時,發(fā)光二極管點亮;共陽極LED顯示器的發(fā)光二極管陽極并接,當(dāng)某個發(fā)光二極管的陰極為低電平時,發(fā)光二極管點亮。通常的7段LED顯示塊中有8個發(fā)光二極管,故也稱做8段顯示器。其中7個發(fā)光二極管構(gòu)成7筆字型“8”;一個發(fā)光二極管構(gòu)成小數(shù)點“.”。7段發(fā)光二極管,再加上一個小數(shù)點位,共計8段,因此提供給LED顯示器的字據(jù)正好一個字節(jié)。3.4.1LED顯示器的顯示方式LED顯示主要有兩種方式,分別是占用I/O口資源較多的靜態(tài)顯示和當(dāng)前使用最頻繁的動態(tài)顯示。為了節(jié)省I/O口資源,在本文中使用的是動態(tài)顯示模式,下面將詳細介紹這兩種方式:(1)靜態(tài)顯示的方式,數(shù)碼管可以分為共陰極數(shù)碼管和共陽極數(shù)碼管,所以將數(shù)碼管的位選接地或者接+5V電源,就可以將當(dāng)前的數(shù)碼管選中,如果數(shù)碼管的段選再選中的話,那么數(shù)碼管將按段選設(shè)置的方式被點亮,在靜態(tài)顯示的情況下,每一位都可以獨立的顯示,只要在相應(yīng)的數(shù)碼管設(shè)置相應(yīng)的段選碼,這樣數(shù)碼管就可以顯示相應(yīng)的字符,這種方式因為是相應(yīng)的發(fā)光二極管處于恒定導(dǎo)通和截至的狀態(tài),所以這種方式被稱為靜態(tài)顯示的方式。(2)動態(tài)顯示方式,動態(tài)顯示方式是相對應(yīng)于靜態(tài)顯示方式來說的,靜態(tài)顯示方式是數(shù)碼管中的二極管處于恒定的導(dǎo)通和截至的狀態(tài),這樣就會導(dǎo)致大量的I/O口資源的浪費,而動態(tài)顯示方式就能很好的解決這一問題,動態(tài)顯示是出于恒定狀態(tài)的二極管處于不恒定的狀態(tài),也就是說多個數(shù)碼管不是一直點亮著,而是不停的被點亮后立馬去點亮下一個數(shù)碼管,但是由于人眼有余暉效應(yīng),會感覺數(shù)碼管是一直在亮著,而只是亮度相對于靜態(tài)顯示的方式來說比較弱而已。為了進一步節(jié)約I/O口資源,可以利用在電路中加裝鎖存器,這樣就可以是用單獨的一組I/O口資源,就可以同時控制數(shù)碼管的段選和位選,形成段選線的多路復(fù)用。而各位的共陰極點或共陽極點分別由相應(yīng)的I/O口線控制,實現(xiàn)各位的分時選通。3.4.2顯示模塊電路設(shè)計由于要顯示的溫度數(shù)據(jù)精度要求為0.1,測溫范圍為0-100度,所以采用4位八段數(shù)碼管顯示。采用動態(tài)顯示方法,將四個數(shù)碼管的段選線并聯(lián)在一起使用,實現(xiàn)多路復(fù)用。采用共陰極八段LED數(shù)碼管顯示,各個二極管陽極分別通過鎖存器74LS373接到單片機P2口的八個引腳上??紤]到要實現(xiàn)分時選通,同時要驅(qū)動數(shù)碼管顯示,采用MC1413反向驅(qū)動器。顯示電路硬件實現(xiàn)如下圖所示:如圖所示,采用了共陰極八段數(shù)碼管公共陰極和MC1413反向驅(qū)動器的輸出端相連,當(dāng)把MC1413的某一輸入端置為高電平時,其相應(yīng)輸出端輸出低電平,使某一位數(shù)碼管的公共陰極為低電位,從而使該位顯示。3.5PCB的設(shè)計3.5.1Protel簡介Protel是目前國內(nèi)最流行的通用EDA軟件,它是將電路原理圖設(shè)計、PCB板圖設(shè)計、電路仿真和PLD設(shè)計等多個實用工具軟件組合后構(gòu)成的EDA工作平臺,是第一個將EDA軟件設(shè)計成基于Windows的普及型產(chǎn)品。本項目主要用到Protel的兩大實用工具:電路原理圖設(shè)計(SCH):Schematic提供電路圖編輯、零件庫編輯、試算表編輯、統(tǒng)計圖編輯以及文書編輯等服務(wù)。支持單張式及多張式結(jié)構(gòu)電路設(shè)計,實時零件修改,繪圖更加自動化,更加的簡便和快捷。制板(PCB):在Schematic的基礎(chǔ)之上,PCB能夠設(shè)計出美觀實用而且符合工業(yè)標準的印刷板圖,快捷的網(wǎng)絡(luò)表自動裝載,器件自動擺放和完全的自動布線使PCB制板的速度是非??斓模驗楹苋菀鬃龅?。3.5.2電路設(shè)計流程了解模塊的整體框架,選好元件。如本設(shè)計微處理器芯片選取STC89C51RC等。查資料了解所用元件相關(guān)的引腳號和對應(yīng)的信號、功能。查看Protel元件庫里是否有相關(guān)的元件圖,若有,則可直接從庫里放置到原理圖上;否則,需要編輯庫里的元件或往庫里添元件。在本次設(shè)計中,有些芯片是在Protel元件庫中找不到的,如ADS7816,這時候需要自己新建原理圖庫文件,然后添加新元件,畫出ADS7816元件圖。建Schematic原理圖。根據(jù)要實現(xiàn)的具體功能進行硬件原理圖的設(shè)計。進行原理圖設(shè)計規(guī)則檢查。主要依靠Protel軟件自帶的電氣規(guī)則檢查(ERC)來檢查原理圖電氣連接的合理性,如元件標注是否重復(fù)、元件的輸入輸出是否合理、輸入輸出間是否直接短路、電源和地之間短路等連線錯誤等。從原理圖生成PCB圖的步驟:(1)檢查元件的封裝形式。元件封裝是指實際元件焊接到電路板時所指示的外觀和焊點位置,它是實際元件引腳和印制電路板上的焊點一致的保證。封裝形式的定義是生成PCB制板圖最重要的地方,遇到PCB封裝庫中沒有的封裝形式,要自己進行手工的添加,添加時應(yīng)注意被封裝對象在實際電路板中的大小。(2)生成SPICEnetlist,檢查元件的連接。當(dāng)設(shè)計一個簡單的原理圖時有時候可以不用生成網(wǎng)表文件,但是當(dāng)原理圖較為復(fù)雜時,生成網(wǎng)表文件后,在裝載網(wǎng)表文件后會將原理圖中元件、封裝形式一一列出,極大的便于找到錯誤,進行修改。在本次設(shè)計中,生成的網(wǎng)表文件幫我修改了很多錯誤。(3)規(guī)劃電路板。在繪制PCB圖前,應(yīng)有一個初步的規(guī)劃,如采用板材尺寸、安裝位置、采用幾層電路板等,目的是確定電路板設(shè)計的框架。(4)設(shè)置參數(shù)。包括設(shè)置元件的布置參數(shù)、板層參數(shù)和布線參數(shù)等。如一般地線和電源線要比普通電線的尺寸大。(5)裝入SPICEnetlist及元件封裝。SPICEnetlist是原理圖設(shè)計系統(tǒng)和印制電路板設(shè)計系統(tǒng)的接口。只有裝入SPICEnetlist之后才能完成電路板的自動布線。在裝入SPICEnetlist之前,要保證所有元件的封裝形式都已從庫中調(diào)入到內(nèi)存,否則在裝入SPICEnetlist時會報錯。(6)布局元件??梢圆捎米詣硬季衷?,但效率低,效果不理想。這時候只能采取手工布局,盡量使電路板設(shè)計的布局合理、美觀。(7)自動布線。利用Protel進行自動布線,只要參數(shù)設(shè)置與元件布局合理,成功率幾乎是100%,而且效率非常高。(8)手工調(diào)整。到目前為止,還沒有一種自動布線軟件能夠完美到不需手工調(diào)整的地步。如果對自動布線感到不滿意,也可通過手工來調(diào)整。(9)PCB驗證。PCB板圖設(shè)計完成之后,要進行驗證和“后分析”,包括:DRC檢查、熱分析、噪聲分析及干擾分析、電磁兼容性分析、可靠性分析。第四章系統(tǒng)的軟件設(shè)計4.1系統(tǒng)的軟件設(shè)計4.1.1系統(tǒng)軟件設(shè)計流程在應(yīng)用系統(tǒng)研制的過程中,軟件設(shè)計是工作量比較大也是最重要的一個環(huán)節(jié),所以在進行系統(tǒng)的設(shè)計的時候需要著重考慮硬件和軟件等方面的因素?;趩纹瑱C的數(shù)控系統(tǒng)的主要設(shè)計步驟如下:(1)單個模塊獨自設(shè)計,將整個數(shù)字溫度計系統(tǒng)劃分成為若干個能夠獨立運行的部分:主程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計算溫度子程序等。主程序的主要功能是負責(zé)溫度的實時顯示、讀出并處理DS18B20的處理溫度值。溫度測量每秒進行一次,等。這些模塊可以單獨的進行設(shè)計、編程和調(diào)試。最后通過主程序?qū)⒏鱾€模塊有機的聯(lián)系在一起,成為有條不紊的一個整體。(2)在編寫各個模塊程序前,先畫好程序流程圖,一個合理的流程圖能為編程時提供清晰的思路,節(jié)省大量的時間。流程圖畫好之后,根據(jù)流程圖編寫各模塊程序,并將其調(diào)試通過。(3)合理分配系統(tǒng)資源,最重要的是合理的分配和利用單片機的寄存器和其他RAM存儲。(4)編寫系統(tǒng)初始化程序和系統(tǒng)主程序。編寫系統(tǒng)主程序前要畫好系統(tǒng)的流程圖,使整個系統(tǒng)清晰、簡捷、高效。系統(tǒng)的主程序應(yīng)最大限度的利用系統(tǒng)資源。調(diào)用模塊化的子程序,注意子程序的入口,出口,有機而統(tǒng)一的將各個模塊化程序聯(lián)系在一起成為一個系統(tǒng)程序。(5)對整個系統(tǒng)進行調(diào)試,修改。4.1.2系統(tǒng)軟件主程序流程圖4.2軟件功能模塊的設(shè)計對于軟件模塊主要包括對應(yīng)于各硬件功能模塊的程序,在硬件的基礎(chǔ)上實現(xiàn)相應(yīng)的功能,如:鍵盤掃描程序、數(shù)據(jù)顯示程序、報警程序以及模數(shù)轉(zhuǎn)化程序等。在設(shè)計各個模塊程序時要注意設(shè)計模塊程序的入口、出口,以便于在將來主程序調(diào)用時方便、簡單,容易結(jié)合成為一個整體。4.2.1模數(shù)轉(zhuǎn)換程序設(shè)計當(dāng)打開ADS7816后,有1.5-2個周期時間,芯片采樣溫度信號,此時Dout呈三態(tài),然后Dout輸出一個時鐘周期且無效的低電平信號,檢測這個信號可以作為ADS7816開始輸出轉(zhuǎn)換后的數(shù)字信號的標志位,當(dāng)檢測到其為零時,單片機開始從ADS7816接收高四位和低八位的數(shù)據(jù),并分別進行存儲。接收完12位的數(shù)字信號后要關(guān)閉ADS7816,否則它將重復(fù)輸出先前的12位數(shù)據(jù)。4.2.2數(shù)據(jù)顯示程序設(shè)計此處的顯示程序我們采用LED的動態(tài)顯示,其中一個輸出口輸出數(shù)位的控制碼,控制共陽極LED顯示器的公用極,某一位為低電平時,與此位對應(yīng)的LED顯示器便顯示數(shù)字,我們將此輸出口稱為位控制通道。另一個通道輸出LED顯示器的段碼值,通過一個8位驅(qū)動器后將段碼值同時送到顯示器各段,我們將此輸出口稱為段控制通道。段控制通道輸出的段碼值由8個二極管單獨控制的,所以在單片機送出一個8位的段碼的時候,這時只有一個數(shù)碼管是能夠正常顯示的,因為這時候的位選只有一位能夠顯示,也就是說只有在位選和段選同時選中的時候,數(shù)碼管才能正確的顯示,而如果只有段選或者只有位選的時候,數(shù)碼管都不能正確的顯示,所以如果想同時顯示這幾個數(shù)碼管,需要的基本步驟如下,利用位選單獨選中某位數(shù)碼管的時候,同時送上當(dāng)前數(shù)碼管需要顯示所用的段碼,當(dāng)需要顯示下一位數(shù)碼管的時候,就將當(dāng)前數(shù)碼管的位選取消,這時此數(shù)碼管將熄滅,但是由于人眼的余暉效應(yīng),數(shù)碼管雖然已經(jīng)熄滅,但是給人們的感覺是仍然在顯示著所需要顯示的數(shù)字。所以利用眼睛的余暉效應(yīng),采用一定的頻率不斷的給數(shù)碼管發(fā)送位選和段選信號,數(shù)碼管上的各位都會有穩(wěn)定的數(shù)字顯示。使用這種方式顯示數(shù)字,優(yōu)點是可以大幅度節(jié)省I/O口,節(jié)省了硬件的資源,但是這種方式也有一些缺點,那就是這種方式的數(shù)碼管因為不能一直顯示著,所以導(dǎo)致數(shù)碼管的亮度將一些單獨控制的數(shù)碼管的較低。另外還有一個缺點就是在設(shè)計軟件的時候需要投入將大的精力對數(shù)碼管進行持續(xù)的掃描。4.3系統(tǒng)軟件實現(xiàn)難點及解決方法(1)精度控制。本次基于單片機的數(shù)字溫度計設(shè)計的設(shè)計目標精度為0.1。通過硬件實現(xiàn)一章關(guān)于ADS7816芯片的敘述可知,它是一個12位模數(shù)轉(zhuǎn)換器,也就是其輸出的數(shù)字范圍為0-4096,而我們的數(shù)字溫度計的量程是0-100攝氏度,也就是說將模數(shù)轉(zhuǎn)換出來的數(shù)字除以41(應(yīng)為40.96,便于計算使用41)也就可以得到當(dāng)前的溫度數(shù)值。但是這樣一來,得到的整數(shù)數(shù)字只有2位,這樣就達不到精度為0.1的要求。所以我在實際的系統(tǒng)實現(xiàn)過程中只將溫度數(shù)字信號除以4(應(yīng)為4.1,便于計算使用4),這樣得到的是三位整數(shù)數(shù)字,顯示時,將小數(shù)點點在十位數(shù)數(shù)碼管上,這樣就實現(xiàn)了精度為0.1的精度控制。(2)數(shù)制轉(zhuǎn)化。ADS7816轉(zhuǎn)化出來的數(shù)字為2進制12位數(shù)字,要將其轉(zhuǎn)化為10進制數(shù)字處理后,才能將其利用。(3)干擾因素。設(shè)計好的單片機電路板中會產(chǎn)生各種各樣的干擾因素,比如說各種噪聲,這些噪聲有很多來源,比如說信號源自己就會有很多噪聲的產(chǎn)生,傳感器也是產(chǎn)生噪聲的一個途徑。所以為了達到很好的測量和控制效果,就需要做好除噪的各方面的工作。(4)數(shù)值溢出問題。在上述取平均值解決溫度數(shù)據(jù)顯示不穩(wěn)定問題時,將100個溫度數(shù)據(jù)的值取和,這樣得到的數(shù)據(jù)最大可以達到409600(12位模數(shù)轉(zhuǎn)換器輸出值最大為4096),而采用2個內(nèi)存單元最大可以實現(xiàn)16位2進制數(shù)字,僅可以達到65536,所以會出現(xiàn)溢出問題。所以采用三個內(nèi)存單元存儲加和以后的數(shù)字。4.4軟件環(huán)境使用AVE6000開發(fā):WAVE6000是以前版本軟件的升級版本。與以前的版本相比,WAVE6000增加了許多新功能,并大大改進了一些功能,像是窗口管理和文件編輯相應(yīng)的工具。WAVE6000版本的軟件實現(xiàn)環(huán)境不僅顯著提高了頁面的美觀性,而且大大的方便了軟件包的編輯,因此本文選擇WAVE6000作為軟件實現(xiàn)環(huán)境。在這些新功能中特別值得一提的是新增的書簽功能。新添加的書簽功能可以很好地管理項目和文件的編輯,使程序員在編輯過去的程序的時候,顯得十分有條理,大大提高了程序員編程的效率。軟件主要使用的步驟:(1)新建項目。(2)新建asm文件。(3)加入模塊文件到項目。(4)設(shè)置仿真器。(5)編譯、運行。第五章系統(tǒng)仿真調(diào)試根據(jù)原理圖焊接印刷電路板,將仿真器的仿真頭安裝到設(shè)計中應(yīng)安裝AT89S51的位置,將仿真器連接到計算機的USB端口,修改并編譯匯編器直到程序正確,然后把無誤的程序下載到仿真器中,運行程序,觀察數(shù)碼管此時的狀態(tài)。調(diào)試過程:調(diào)試每個子程序模塊,觀察數(shù)碼管所代表的的子程序模塊是能不能正常的動態(tài)顯示;為了調(diào)試控制子程序,先要優(yōu)化主體的控制框架,看是否正常調(diào)用子程序進行正常操作,是不是可以正常工作實現(xiàn)相應(yīng)的功能;主程序的調(diào)試,看每個子程序模塊和控制程序的融合是否順利,主要取決于程序的執(zhí)行步驟是否與設(shè)定一致,在某一時間運行的程序狀態(tài)是不是正確的。如果不是就要繼續(xù)修改,重修測試了。顯示模塊測試:當(dāng)測試顯示模塊時

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論