|
目 錄 設(shè)計總說明 INTRODUCTION 第1章 緒論 1.1 概述 1.2 國內(nèi)外發(fā)展現(xiàn)狀 1.2.1 國外研究現(xiàn)狀 1.2.2 國內(nèi)研究現(xiàn)狀 第2章 系統(tǒng)總體方案設(shè)計 2.1 設(shè)計要求 2.2 方案選擇 2.2.1 傳感器的選擇 2.2.2 單片機的選擇 第3章 系統(tǒng)硬件設(shè)計 3.1 整體方案設(shè)計 3.1.1 系統(tǒng)概述 3.1.2 系統(tǒng)框圖 3.2 最小系統(tǒng)模塊 3.2.1 STC89C52簡介 3.2.2 最小系統(tǒng)電路 3.3 DS18B20傳感器電路 3.3.1 DS18B20簡介 3.3.2 時序說明 3.3.3 DS18B20模塊電路圖 3.4 數(shù)碼管顯示模塊 3.4.1 數(shù)碼管簡介 3.4.2 數(shù)碼管驅(qū)動方式的分類 3.4.3 數(shù)碼管驅(qū)動電路 第4章 軟件設(shè)計 4.1 程序語言及開發(fā)環(huán)境 4.2 程序流程圖設(shè)計 4.2.1 總體程序流程圖設(shè)計 4.2.2 溫度傳感器程序設(shè)計 4.2.3 數(shù)碼管動態(tài)掃描程序設(shè)計 第5章 硬件組裝與調(diào)試 5.1 元器件的選擇與測量 5.2 元件的焊接與組裝 5.3 電路的調(diào)試 5.3.1 調(diào)試方法 5.3.2 調(diào)試步驟 第6章 總結(jié) 鳴 謝 參考文獻 附 錄 附錄一 元件清單 附錄二 原理圖 附錄三 PCB圖
設(shè)計總說明
在人類的生活環(huán)境中,溫度扮演著極其重要的角色。溫度是工業(yè)生產(chǎn)和生活中常見的參數(shù)之一,任何物理變化和化學(xué)反應(yīng)過程都與溫度密相關(guān),因此溫度檢測和監(jiān)控是生產(chǎn)自動化的重要任務(wù)。隨著社會的發(fā)展,科技的進步,以及測溫儀器在各個領(lǐng)域的應(yīng)用,智能化是現(xiàn)代溫度檢測系統(tǒng)發(fā)展的主流方向。特別是近幾年來,溫度檢測系統(tǒng)早已應(yīng)用到人們生活的各個方面。 溫度測量是溫度控制的基礎(chǔ),技術(shù)已經(jīng)比較成熟。傳統(tǒng)的測溫元件有熱電偶和熱敏電阻。而熱電偶和熱電阻測出的一般都是電壓,再轉(zhuǎn)換成對應(yīng)的溫度,這些方法相對比較復(fù)雜,需要比較多的外部硬件支持。我們用一種相對比較簡單的方式來測量,采用美國DALLAS半導(dǎo)體公司推出的一種改進型智能溫度傳感器DS18B20作為檢測元件,溫度范圍為-55~125oC,最高分辨率可達0.0625oC。DS18B20可以直接讀出被測物體的溫度值,而且采用單總線與單片機相連,減少了外部的硬件電路,具有低成本和易使用的特點。 本文介紹一種基于STC89C52單片機的溫度測量系統(tǒng),該電路采用DS18B20作為溫度監(jiān)測元件,使用LED數(shù)碼管作為模塊顯示。
第1章 緒論
1.1 概述二十一世紀是科技高速發(fā)展的信息時代,電子技術(shù)、微型單片機技術(shù)的應(yīng)用更是空前廣泛,伴隨著科學(xué)技術(shù)和生產(chǎn)的不斷發(fā)展,需要對各種參數(shù)進行溫度測量。因此溫度一詞在生產(chǎn)生活之中出現(xiàn)的頻率日益增多,與之相對應(yīng)的,溫度測量和控制也成為了生活生產(chǎn)中頻繁使用的詞語,同時它們在各行各業(yè)中也發(fā)揮著重要的作用。如在日趨發(fā)達的工業(yè)之中,利用測量與控制溫度來保證生產(chǎn)的正常運行。在農(nóng)業(yè)中,用于保證蔬菜大棚的恒溫保產(chǎn)等。 溫度是表征物體冷熱程度的物理量,溫度測量則是工農(nóng)業(yè)生產(chǎn)過程中一個很重要而普遍的參數(shù)。溫度的測量及控制對保證產(chǎn)品質(zhì)量、提高生產(chǎn)效率、節(jié)約能源、生產(chǎn)安全、促進國民經(jīng)濟的發(fā)展起到非常重要的作用。由于溫度測量的普遍性,溫度傳感器的數(shù)量在各種傳感器中居首位。而且隨著科學(xué)技術(shù)和生產(chǎn)的不斷發(fā)展,溫度傳感器的種類還是在不斷增加豐富來滿足生產(chǎn)生活中的需要。 單片機溫度測量則是對溫度進行有效的測量,并且能夠在工業(yè)生產(chǎn)中得到了廣泛的應(yīng)用,尤其在電力工程、化工生產(chǎn)、機械制造、冶金工業(yè)、農(nóng)業(yè)等重要領(lǐng)域中擔負著重要的測量任務(wù)。在日常生活中,也可廣泛實用于地?zé)帷⒖照{(diào)器、電加熱器等各種家庭室溫測量及工業(yè)設(shè)備溫度測量場合。 1.2 國內(nèi)外發(fā)展現(xiàn)狀
1.2.1 國外研究現(xiàn)狀國外對溫度控制技術(shù)研究較早,始于20世紀70年代。先是采用模擬式的組合儀表,采集現(xiàn)場信息并進行指示、記錄和控制。80年代末出現(xiàn)了分布式控制系統(tǒng)。目前正開發(fā)和研制計算機數(shù)據(jù)采集控制系統(tǒng)的多因子綜合控制系統(tǒng)。90年代中期,智能溫控儀問世,它是微電子技術(shù)、計算機技術(shù)和自動測試技術(shù)的結(jié)晶。目前,國際上已開發(fā)出多種智能溫控產(chǎn)品系列,智能溫控器內(nèi)部包含溫度傳感器、AD轉(zhuǎn)換器、信號處理器和接口電路,有的產(chǎn)品還有多路選擇器、中央控制器、隨機存儲器和只讀存儲器等。現(xiàn)在世界各國的溫度測控技術(shù)發(fā)展很快,一些國家在實現(xiàn)自動化的基礎(chǔ)上正向著完全自動化、無人化的方向發(fā)展。 1.2.2 國內(nèi)研究現(xiàn)狀 我國對于溫度測控技術(shù)的研究較晚,始于20世紀80年代。我國工程技術(shù)人員在吸收發(fā)達國家溫度測控技術(shù)的基礎(chǔ)上,才掌握了溫度室內(nèi)微機控制技術(shù),該技術(shù)僅限于對溫度的單項環(huán)境因子的控制。我國溫度測控設(shè)施計算機應(yīng)用,在總體上正從消化吸收、簡單應(yīng)用階段向?qū)嵱没⒕C合性應(yīng)用階段過渡和發(fā)展。在技術(shù)上,以單片機控制的單參數(shù)單回路系統(tǒng)居多,尚無真正意義上的多參數(shù)綜合控制系統(tǒng),與發(fā)達國家相比,存在較大差距。我國溫度測量控制現(xiàn)狀還遠遠沒有達到工廠化的程度,生產(chǎn)實際中仍然有許多問題困擾著我們,存在著裝備配套能力差,產(chǎn)業(yè)化程度低,環(huán)境控制水平落后,軟硬件資源不能共享和可靠性差等缺點。 第2章 系統(tǒng)總體方案設(shè)計2.1 設(shè)計要求(1)熟悉51單片機集成開發(fā)環(huán)境,運用C語言編寫工程文件;
(2)熟練應(yīng)用所選用單片機的內(nèi)部結(jié)構(gòu)、資源,以及軟硬件調(diào)試設(shè)備的基本方法;
(3)自行構(gòu)建基于單片機的最小系統(tǒng),完成相關(guān)硬件電路的設(shè)計實現(xiàn);
(4)理解基于單片機的溫度計的原理和掌握實現(xiàn)方法。 2.2 方案選擇2.2.1 傳感器的選擇方案一:采用模擬集成溫度傳感器,模擬集成傳感器是采用硅半導(dǎo)體集成工藝而制成的,因此亦稱硅傳感器或單片集成溫度傳感器。典型代表是AD590。AD590是溫度-電流傳感器,對于提高系統(tǒng)抗干擾能力有很大的幫助。但需要放大電路和A/D轉(zhuǎn)換電路,電路設(shè)計較為繁瑣。由于AD590的增益有偏差,因此應(yīng)對采集電路進行調(diào)整,增加設(shè)計難度。 方案二:采用數(shù)字單片智能溫度傳感器,數(shù)字溫度傳感器包含A/D轉(zhuǎn)換器、溫度傳感器、信號處理器、存儲器(或寄存器)和接口電路等模塊。其典型產(chǎn)品有DS18B20。DS18B20是美國DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,其溫度測量范圍為-55℃~125℃,測溫分辨率可達0.0625℃,被測溫度用符號擴展的16位數(shù)字量方式并以串行形式輸出,其工作電源既可采用寄生電源方式產(chǎn)生,也可在遠端引入。多個DS18B20還可以將數(shù)據(jù)線并聯(lián)到CPU的同一根數(shù)據(jù)線上,CPU只需一個IO口就能與多個DS18B20進行通信,占用CPU的端口較少,并且制作簡單,外接電路簡單。 比較以上方案,由于DS18B20將溫度傳感器、信號放大調(diào)理、A/D轉(zhuǎn)換、接口全部集成于一芯片,與單片機連接簡單、方便。與AD590相比是更新一代的溫度傳感器,所以溫度傳感器采用DS18B20。 2.2.2 單片機的選擇方案一:采用DSP作為系統(tǒng)控制器。DSP(digital signal processor)是一種獨特的微處理器,是以數(shù)字信號來處理大量信息的器件。DSP具有對元件值的容限不敏感,受溫度、環(huán)境等外部因素影響小,容易實現(xiàn)集成,可分時復(fù)用,共享處理器,方便調(diào)整處理器的系數(shù)實現(xiàn)自適應(yīng),可用于頻率非常低的信號等優(yōu)點。但DSP硬件電路比較復(fù)雜,且價格昂貴,數(shù)字系統(tǒng)由耗電的有源器件構(gòu)成,沒有無源設(shè)備可靠。 方案二:采用單片機作為系統(tǒng)控制器。單片機具有可靠性強、性價比搞、電壓低、功耗低等優(yōu)點得到迅猛發(fā)展和大范圍推廣,單片機算術(shù)運算功能強,軟件編程靈活,自由度大,可用軟件編程實現(xiàn)各種邏輯功能,本身帶有定時器、計數(shù)器,可以用來定時和計數(shù),并且其功耗低,體積小,計數(shù)成熟和成本低等優(yōu)點。 通過以上兩種方案論證和比較,從設(shè)計的實用性,方便性和成本出發(fā),選擇了以STC89C52單片機作為中央處理單元進行溫度計的設(shè)計。
第3章 系統(tǒng)硬件設(shè)計
3.1 整體方案設(shè)計
3.1.1 系統(tǒng)概述整個系統(tǒng)以STC89C52單片機為核心器件,配合電阻電容晶振等器件,構(gòu)成單片機的最小系統(tǒng)。其它個模塊圍繞著單片機最小系統(tǒng)展開。其中包括,傳感器采用DS18B20,負責(zé)采集溫度數(shù)據(jù)后發(fā)給單片機。顯示設(shè)備采用4位共陰數(shù)碼管,顯示檢測到的溫度值。 供電使用5V的USB進行供電。 3.1.2 系統(tǒng)框圖   
3-1 系統(tǒng)框圖 3.2 最小系統(tǒng)模塊
3.2.1 STC89C52簡介(1)概述 STC89C52是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強大的STC89C52單片機可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。 STC89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線。STC89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。 (2)主要功能特性 ? ?◆兼容MCS51指令系統(tǒng); ? ?◆8k可反復(fù)擦寫(>1000次)Flash ROM; ? ?◆32個雙向I/O口; ?◆256x8bit內(nèi)部RAM ; ? ?◆3個16位可編程定時/計數(shù)器中斷; ?◆時鐘頻率0-24MHz; ? ?◆2個串行中斷; ? ?◆可編程UART串行通道; ? ?◆2個外部中斷源; ? ?◆共8個中斷源; ? ?◆2個讀寫中斷口線; ? ?◆3級加密位; ? ?◆低功耗空閑和掉電模式; ?◆軟件設(shè)置睡眠和喚醒功能; (3)8051單片機的引腳功能 MCS-51系列單片機一般采用40個引腳,雙列直插式封裝,用HMOS工藝制造,其外部引腳排列如圖3-2所示。其中,各引腳的功能為:
圖3-2 STC89C52引腳圖 ① 主電源引腳 VCC(40腳),接+5V電源正端; GND(20腳),接+5V電源地端; ② 外接晶體或外部振蕩器引腳 XTAL1(19腳),接外部晶振的一個引腳。在單片機內(nèi)部,它是一個反相放大器 的輸入端。當采用外部振蕩器時,此引腳應(yīng)接 地。 XTAL2(18腳),接外部晶振的另一個引腳。在片內(nèi)接至反相放大器的輸出端和 內(nèi)部時鐘電路的輸入端。當采用外部振蕩器時,此腳接外部振蕩器的輸出端。 ③ 控制信號線 RESET(9腳),復(fù)位信號輸入端,復(fù)位/掉電時內(nèi)部RAM的備用電源輸入端。 ALE(30腳),地址鎖存允許/編程脈沖輸入,用ALE鎖存從P0口輸出的低8位地址。在對片內(nèi)EPROM編程時,編程脈沖由此輸入。 PSEN(29腳),外部程序存儲器讀選通信號,低電平有效。 EA(31腳),訪問外部存儲器允許/編程電壓輸入。EA為高電平時,訪問內(nèi)部存 儲器;低電平時,訪問外部存儲器。 ④ 多功能I/O口引腳 8051單片機設(shè)有4個雙向I/O口(P0、P1、P2、P3),每一組I/O口線都可以獨立地用作輸入或輸出口,其中: P0口(32~39腳)——雙向口(三態(tài)),可作為輸入/輸出口,可驅(qū)動8個LSTTL門電路。實際應(yīng)用中常作為分時使用的地址/數(shù)據(jù)總線口,對外部程序或數(shù)據(jù)存儲器尋址時低8位地址與數(shù)據(jù)總線分時使用P0口:先送低8位地址信號到P0口,由地址鎖存信號ALE的下降沿將地址信號鎖存到地址鎖存器后,再作為數(shù)據(jù)總線的口線對數(shù)據(jù)進行輸入或輸出。 P1口(1~8腳)——準雙向口(三態(tài)),可驅(qū)動4個LSTTL門電路。用作 輸入線時,口鎖存器必須由單片機先寫入“1”,每一位都可編程為輸入或輸出 線。 P2口(21~28)——準雙向口(三態(tài)),可驅(qū)動4個LSTTL門電路。可作 為輸入/輸出口,實際應(yīng)用中一般作為地址總線的高8位,與P0口一起組成16 位地址總線,用于對外部存儲器的接口電路進行尋址。 P3口(10~17腳)——準雙向口(三態(tài)),可驅(qū)動4個LSTTL門電路。雙 功能口,作為第一功能使用時,與P1口一樣;作為第二功能使用時,每一 位都有特定用途,其特殊用途如表3.1所示: 表3.1 P3口第二用途 | | | | | | | | | | | | | | | | | 定時/計數(shù)器0外部計數(shù)信號輸入 | | | 定時/計數(shù)器1外部計數(shù)信號輸入 | | | | | | |
3.2.2 最小系統(tǒng)電路STC89C52的最小系統(tǒng)如圖3-3所示,整個最小系統(tǒng)由三個部分組成,晶振電路部分、復(fù)位電路部分、電源電路等三個部分組成。 晶振電路包括2個30pF的電容C2和C3,以及12M的晶振X1。電容的作用在這里是起振作用,幫助晶振更容易的起振,取值范圍是15-33pF。晶振的取值也可以是24M,晶振的取值越高,單片機的執(zhí)行速度越快。在進行電路設(shè)計的時候,晶振部分越靠近單片機越好。 單片機復(fù)位電路就好比電腦的重啟部分,當電腦在使用中出現(xiàn)死機,按下重啟按鈕電腦內(nèi)部的程序從頭開始執(zhí)行。單片機也一樣,當單片機系統(tǒng)在運行中,受到環(huán)境干擾出現(xiàn)程序跑飛的時候,按下復(fù)位按鈕內(nèi)部的程序自動從頭開始執(zhí)行。 復(fù)位電路由10uF的極性電容C1和10K的電阻R2構(gòu)成。利用電容電壓不能突變的性質(zhì),可以知道,當系統(tǒng)一上電,RESET腳將會出現(xiàn)高電平,并且這個高電平持續(xù)的時間由電路的RC值來決定。典型的51單片機當RESET腳的高電平持續(xù)兩個機器周期以上就將復(fù)位,所以適當組合RC的取值就可以保證可靠的復(fù)位。 最后一個是電源部分,采用5V的USB直接供電,可采用手機充電器、電腦USB口、移動電源等設(shè)備進行供電。 此外,除了單片機最小系統(tǒng)的3個部分之外,這里還多了一些外部電路。 由于STC89C52的P0口是漏極開路輸出,因此在P0口接了一個1K的排阻R1,使得P0口可以作為普通的I/O口使用,本設(shè)計用P0口來做數(shù)碼管的數(shù)據(jù)口。 特別注意的是,對于31腳(EA),當接高電平時,單片機在復(fù)位后從內(nèi)部ROM的0000H開始執(zhí)行;當接低電平時,復(fù)位后直接從外部ROM的0000H開始執(zhí)行。由于我們的程序存儲在了單片機內(nèi)部,所以EA要接高電平,保證單片機是從內(nèi)部讀取程序去執(zhí)行的。 
圖3-3 單片機最小系統(tǒng) 3.3 DS18B20傳感器電路3.3.1 DS18B20簡介(1)概述 DS18B20(圖3-4)是美國DALLAS半導(dǎo)體公司推出的第一片支持“一線總線”接口的溫度傳感器,它具有微型化,低功耗,高性能,抗干擾能力強,易配微處理器等優(yōu)點,可直接將溫度轉(zhuǎn)化成數(shù)字信號處理器處理。測量的溫度范圍是-55~125℃,測溫誤差0.5℃。可編程分辨率9~12位,對應(yīng)的可分辨溫度分別為0.5℃,0.25℃,0.125℃和0.0625℃。相較熱電偶傳感器而言可實現(xiàn)高精度測溫。  圖3-4 DS18B20圖 (2)特性 獨特的1-Wire總線接口僅需要一個管腳來通信; 每個設(shè)備的內(nèi)部ROM上都燒寫了一個獨一無二的64位序列號; 多路采集能力使得分布式溫度采集應(yīng)用更加簡單; 無需外圍元件; 供電范圍為3.0V至5.5V; 溫度可測量范圍為:-55℃至+125℃(-67℉至+257℉); 溫度范圍超過-10℃至85℃之外時具有+-0.5℃的精度; 內(nèi)部溫度采集精度可以由用戶自定義為9-Bits至12-Bits; 溫度轉(zhuǎn)換時間在轉(zhuǎn)換精度為12-Bits時達到最大值750ms; 用戶自定義非易失性的的溫度報警設(shè)置; 定義了溫度報警搜索命令和當溫度超過用戶自定義的設(shè)定值時; 與DS1822程序兼容。 (3)管腳定義 Pin1:(VDD),可選的電源引腳; Pin2:(DQ),單線運用的數(shù)據(jù)輸入/輸出引腳; Pin3:(VDD),接地端,電源負極; (4)應(yīng)用領(lǐng)域 該產(chǎn)品適用于冷凍庫,糧倉,儲罐,電訊機房,電力機房,電纜線槽等。 軸瓦,缸體,紡機,空調(diào),等狹小空間工業(yè)設(shè)備測溫和控制。 汽車空調(diào)、冰箱、冷柜、以及中低溫干燥箱等。 供熱/制冷管道熱量計量,中央空調(diào)分戶熱能計量和工業(yè)領(lǐng)域測溫和控制。 3.3.2 時序說明單總線信號 DS18B20需要嚴格的單總線協(xié)議以確保數(shù)據(jù)的完整性。協(xié)議包括集中單總線信號類型:復(fù)位脈沖、存在脈沖、寫0、寫1、讀0和讀1。所有這些信號,除存在脈沖外,都是由總線控制器發(fā)出的。 復(fù)位序列,和DS18B20間的任何通訊都需要以初始化序列開始,初始化序列見圖3-5。一個復(fù)位脈沖跟著一個存在脈沖表明DS18B20已經(jīng)準備好發(fā)送和接收數(shù)據(jù)。 在初始化序列期間,總線控制器拉低總線并保持480us以發(fā)出(TX)一個復(fù)位脈沖,然后釋放總線,進入接收狀態(tài)(RX)。單總線由5K上拉電阻拉到高電平。當DS18B20探測到I/O引腳上的上升沿后,等待15-60us,然后發(fā)出一個由60-240us低電平信號構(gòu)成的存在脈沖。
圖3-5 DS18B20初始化時序圖 寫時序由兩種寫時序:寫1時序和寫0時序。總線控制器通過寫1時序?qū)戇壿?到DS18B20,寫0時序?qū)戇壿?到DS18B20。所有寫時序必須最少持續(xù)60us,包括兩個寫周期之間至少1us的恢復(fù)時間。當總線控制器把數(shù)據(jù)線從邏輯高電平拉到低電平的時候,寫時序開始(3-6)。 總線控制器要生產(chǎn)一個寫時序,必須把數(shù)據(jù)線拉到低電平然后釋放,在寫時序開始后的15us釋放總線。當總線被釋放的時候,5K的上拉電阻將拉高總線。總控制器要生成一個寫0時序,必須把數(shù)據(jù)線拉到低電平并持續(xù)保持(至少60us)。 總線控制器初始化寫時序后,DS18B20在一個15us到60us的窗口內(nèi)對I/O線采樣。如果線上是高電平,就是寫1。如果線上是低電平,就是寫0。  3-6 讀/寫時序圖 讀時序,總線控制器發(fā)起讀時序時,DS18B20僅被用來傳輸數(shù)據(jù)給控制器。因此,總線控制器在發(fā)出讀暫存器指令[BEh]或讀電源模式指令[B4H]后必須立刻開始讀時序,DS18B20可以提供請求信息。除此之外,總線控制器在發(fā)出發(fā)送溫度轉(zhuǎn)換指令[44h]或召回EEPROM指令[B8h]之后讀時序。 所有讀時序必須最少60us,包括兩個讀周期間至少1us的恢復(fù)時間。當總線控制器把數(shù)據(jù)線從高電平拉到低電平時,讀時序開始,數(shù)據(jù)線必須至少保持1us,然后總線被釋放(見圖14)。在總線控制器發(fā)出讀時序后,DS18B20通過拉高或拉低總線上來傳輸1或0。當傳輸邏輯0結(jié)束后,總線將被釋放,通過上拉電阻回到上升沿狀態(tài)。從DS18B20輸出的數(shù)據(jù)在讀時序的下降沿出現(xiàn)后15us內(nèi)有效。因此,總線控制器在讀時序開始后必須停止把I/O腳驅(qū)動為低電平15us,以讀取I/O腳狀態(tài)。 3.3.3 DS18B20模塊電路圖DS18B20的模塊電路圖如右圖所示:
圖3-7 DS18B20模塊連接圖 3.4 數(shù)碼管顯示模塊3.4.1 數(shù)碼管簡介 數(shù)碼管是一類價格便宜 使用簡單,通過對其不同的管腳輸入相對的電流,使其發(fā)亮,從而顯示出數(shù)字能夠顯示 時間、日期、溫度等所有可用數(shù)字表示的參數(shù)的器件。在電器特別是家電領(lǐng)域應(yīng)用極為廣泛,如顯示屏、空調(diào)、熱水器、冰箱等等。LED數(shù)碼管(LED Segment Displays)由多個發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個筆劃,公共電極。數(shù)碼管實際上是由七個發(fā)光管組成8字形構(gòu)成的,加上小數(shù)點就是8個。這些段分別由字母a,b,c,d,e,f,g,dp來表示。當數(shù)碼管特定的段加上電壓后,這些特定的段就會發(fā)亮,以形成我們眼睛看到的字樣了。如:顯示一個“2”字,那么應(yīng)當是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。數(shù)碼管的外形如圖3-8所示。
圖3-8 數(shù)碼管封裝圖 LED數(shù)碼管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸數(shù)碼管的顯示筆畫常用一個發(fā)光二極管組成,而大尺寸的數(shù)碼管由二個或多個發(fā)光二極管組成,一般情況下,單個發(fā)光二極管的管壓降為1.8V左右,電流不超過30mA。發(fā)光二極管的陽極連接到一起連接到電源正極的稱為共陽數(shù)碼管(圖3-9),發(fā)光二極管的陰極連接到一起連接到電源負極的稱為共陰數(shù)碼管(圖3-10)。常用LED數(shù)碼管顯示的數(shù)字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。 
圖3-9 共陽數(shù)碼管內(nèi)部原理圖 圖3-10 共陰數(shù)碼管內(nèi)部原理圖 3.4.2 數(shù)碼管驅(qū)動方式的分類LED數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據(jù)LED數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。 靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機的I/O端口進行驅(qū)動,或者使用如BCD碼二-十進制譯碼器譯碼進行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O端口多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O端口來驅(qū)動,要知道一個89S51單片機可用的I/O端口才32個,實際應(yīng)用時必須增加譯碼驅(qū)動器進行驅(qū)動,增加了硬件電路的復(fù)雜性。 動態(tài)顯示,LED數(shù)碼管動態(tài)顯示接口是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。 3.4.3 數(shù)碼管驅(qū)動電路 本設(shè)計由于采用了4位數(shù)碼管,如果采用靜態(tài)驅(qū)動的話,將會占用單片機32個IO口,導(dǎo)致單片機IO口不夠用,因此采用數(shù)碼管的動態(tài)驅(qū)動方式,電路如下圖(圖3-11)所示,把數(shù)碼管的數(shù)據(jù)口接到單片機的P0口上,位選端則由單片機的P27、P26、P25、P24進行控制。只需12個IO口,就可以控制4位數(shù)碼管的顯示。在程序中需要輪流點亮每位數(shù)碼管,并且保持一定的點亮?xí)r間,由于人眼存在短暫的視覺停留,所以最終看起來的效果就好像是數(shù)碼管同時發(fā)亮顯示。
圖3-11 數(shù)碼管驅(qū)動電路 第4章 軟件設(shè)計4.1 程序語言及開發(fā)環(huán)境 C語言是一種計算機程序設(shè)計語言,它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾實驗室的Dennis M. Ritchie于1972年推出,1978年后,C語言已先后被移植到大、中、小及微型機上,它可以作為工作系統(tǒng)設(shè)計語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計語言,編寫不依賴計算機硬件的應(yīng)用程序。它的應(yīng)用范圍廣泛,具備很強的數(shù)據(jù)處理能力,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言,適于編寫系統(tǒng)軟件、三維、二維圖形和動畫,具體應(yīng)用例如單片機以及嵌入式系統(tǒng)開發(fā)。 Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍。 4.2 程序流程圖設(shè)計4.2.1 總體程序流程圖設(shè)計本系統(tǒng)的軟件流程圖如圖4-1所示。最開始先進行定時器的初始化,本設(shè)計利用定時器實現(xiàn)數(shù)碼管的動態(tài)掃描。接著就進入一個死循環(huán),死循環(huán)執(zhí)行以下內(nèi)容:1讀取當前的溫度值;2顯示檢測到的溫度值;3延時。
圖4-1 主函數(shù)流程圖
4.2.2 溫度傳感器程序設(shè)計讀取溫度值的流程圖如圖4-2所示,首先是初始化傳感器,相當于是一次復(fù)位的過程,由于本設(shè)計只接了一個傳感器,因此無需區(qū)別傳感器的序列號,直接發(fā)一個指令0xcc跳過ROM尋找,接著發(fā)一個0x44的指令給傳感器,讓傳感器啟動溫度轉(zhuǎn)換。然后再次復(fù)位傳感器,接著還是一樣的跳過ROM指令0xcc,再往下就是發(fā)0xbe給傳感器準備讀取傳感器的檢測結(jié)果,最后就是讀取傳感器返回的檢測結(jié)果。
圖4-2 溫度傳感器程序流程圖
4.2.3 數(shù)碼管動態(tài)掃描程序設(shè)計為了簡化程序,合理利用單片機的內(nèi)部資源,所以將數(shù)碼管的顯示利用單片機的定時器來實現(xiàn),本設(shè)計使用的是數(shù)碼管的動態(tài)掃描法。所謂動態(tài)掃描,就是輪流依次的點亮每位數(shù)碼管管,并進行短暫延時,由于切換顯示的速度很快,每位數(shù)碼管只點亮兩毫秒的時間,利用人眼的余輝效應(yīng),使得看起來像是四位數(shù)碼管同時被點亮了。數(shù)碼管的顯示流程圖如圖4-3所示。
4-3 數(shù)碼管動態(tài)掃描流程圖
第5章 硬件組裝與調(diào)試5.1 元器件的選擇與測量本次設(shè)計的元器件主要有:STC89C52單片機、晶振、電阻、電容、開關(guān)、電源座、傳感器、數(shù)碼管等。這些元器件的引腳需要我們認真查找資料,了解每個器件的特性再進行焊接。這些元器件直接根據(jù)型號到電子元器件市場就很容易買到。其中焊接時要注意元件正負極性,電阻電容大小、芯片引腳順序等細節(jié)。一般電阻的大小可以通過色環(huán)讀取,或直接用萬用表進行測量;電容和晶振等的大小會標準在元件本身;元件的正負可以遵循長正短負的原則,一些特殊元件可以通過查找資料獲知正負極。 5.2 元件的焊接與組裝組裝電路通常采用焊接和在面包板上插接兩種方法,無論采用哪種方法均應(yīng)注意以下幾方面。 (1)所有元器件在組裝前應(yīng)盡可能全部測試一遍,以保證所用元器件均合格。 (2)所有集成電路的組裝方向要保持一致,以便于正確進行焊接合理安排布線。 (3)分立元件時應(yīng)仔細辨明器件的正反向,標志應(yīng)處于比較容易觀察的位置方便檢查和調(diào)試。對于有正負極性的元件,例如電解電容器、晶體二極管等,組裝時一定要特別注意極性,否則將會造成實驗失敗。 (4)為了便于焊接查線以及后期的檢查電路,可根據(jù)電路中接線的不同作用選擇不同顏色的導(dǎo)線。一般習(xí)慣是正電源用紅色線、負電源用藍色線、地線用黑色線、信號線用黃色線等。當然使用一種顏色也是可以的。 (5) 在實際焊接中連線需要盡量做到排版簡潔連線方便。連線不跨接集成電路芯片上,必須從其周圍通過。同時應(yīng)盡可能做到連線不相互穿插重疊、盡量不從電路中元器件上方通過。 (6)為使電路能夠正常工作與調(diào)測,所有地線必須連接在一起,形成一個公共參考點。 正確的組裝方法和合理的布局,不僅可使電路整齊美觀、工作可靠,而且便于檢查、調(diào)試和排除故障。如果能在組裝前先擬訂出組裝草圖,則可獲得事半功倍之效果,使組裝既快又好。 5.3 電路的調(diào)試調(diào)試是指系統(tǒng)的調(diào)整、改進與測試。測試是在電路組裝后對電路的參數(shù)與工作狀態(tài)進行測量,調(diào)整則是在測試的基礎(chǔ)上對電路的某些參數(shù)進行修正,使?jié)M足設(shè)計要求。在進行調(diào)試前應(yīng)擬訂出測試項目、測試步驟、調(diào)試方法和所用儀器等,做到心中有數(shù),保證調(diào)試工作圓滿完成。 5.3.1 調(diào)試方法調(diào)試方法原則有兩種。第一種是邊安裝邊調(diào)試的方法。它是把復(fù)雜的電路按原理框圖上的功能分成單元進行安裝和調(diào)試,在單元調(diào)試的基礎(chǔ)上逐步擴大安裝和調(diào)試的范圍,最后完成整機調(diào)試。這種方法在新設(shè)計的電路中比較常用。第二種方法是在整個電路系統(tǒng)全部焊接完畢后,實行一次性調(diào)試。這種方法比較適用于電路相對來說比較簡單,系統(tǒng)不復(fù)雜的電路調(diào)試。 5.3.2 調(diào)試步驟(1)通電前檢查 電路焊接完畢后, 不要急于通電,首先要根據(jù)原理電路認真對照檢查電路中的接接線是否正確,包括錯線(連線一端正確、另一端錯誤),少線(安裝時漏掉的線),多線(連線的兩端在電路圖上都是不存在的)和短路(特別是間距很小的引腳及焊點間),并且還要檢查每個元件引腳的使用端數(shù)是否與圖紙相符。查線時最好用指針式萬用表“Ω×1”檔進行檢查, 或是用數(shù)字萬用表“Ω”檔的蜂鳴器來測量,而且要盡可能直接測量元器件引腳,這樣同時可以發(fā)現(xiàn)接觸不良的地方。 (2)通電觀察 在電路安裝沒有錯誤的情況下接通電源(先關(guān)斷電源開關(guān),待接通電源連線之后再打開電路的電源開關(guān))。但接通電源后不要立即進行電路功能的測試,首先要充觀察整個電路有無異常現(xiàn)象,電路中元器件是否有發(fā)熱燒壞等現(xiàn)象,是否有漏電現(xiàn)象,電源是否有短路和開路現(xiàn)象等。如果電路在測試過程中出現(xiàn)異常,首先應(yīng)該立即關(guān)閉電源,檢查后排除故障再重新通電測試。然后再按要求測量各元器件引腳電源的電壓,而不只是測量各路總電源電壓,以保證元器件正常工作。 (3)單元電路調(diào)試 在調(diào)試單元電路時應(yīng)明確本部分的調(diào)試要求。調(diào)試順序應(yīng)按照電路原理圖中信號流向進行,這樣可以把整個電路進行分步調(diào)試,把前面調(diào)試好的電路的輸出信號作為后一級電路的輸入信號。從而保證電路的調(diào)試更加順利方便。 單元調(diào)試包括靜態(tài)和動態(tài)調(diào)試。靜態(tài)調(diào)試一般是指在沒有外加信號的條件下測試電路各點的電位,特別是有源器件的靜態(tài)工作點。通過它可以及時發(fā)現(xiàn)已經(jīng)損壞和處于臨界狀態(tài)的元器件。動態(tài)調(diào)試是用前級的輸出信號或自身的信號測試單元的各種指標是否符合設(shè)計要求,包括信號幅值、波形形狀、相位關(guān)系、放大倍數(shù)和頻率等。對于信號產(chǎn)生電路一般只看動態(tài)指標。把靜態(tài)和動態(tài)測試的結(jié)果與設(shè)計的指標加以比較,經(jīng)深入分析后對電路與參數(shù)提出合理的修正。在調(diào)試過程中應(yīng)有詳盡記錄。 (4)整機聯(lián)調(diào) 各單元電路調(diào)試好以后,并不見得由它們組成的整體電路性能一定會好,因此還要進行整體電路調(diào)試。整體電路調(diào)試主要是觀察和測量動態(tài)性能,把測量的結(jié)果與設(shè)計指標逐一對比,找出問題及解決辦法,然后對電路及其參數(shù)進行修正,直到全部電路的性能完全符合設(shè)計要求為止。
第6章 總結(jié)經(jīng)過三個多月的努力,本次畢業(yè)設(shè)計的任務(wù)——基于單片機的溫度計設(shè)計已經(jīng)完成。這個設(shè)計題目并不是新的,但從中能體現(xiàn)到一個系統(tǒng)開發(fā)設(shè)計的過程,足于讓我們受益。能夠從設(shè)計、論證、制板、編程到最終的調(diào)試成功。完成整個系統(tǒng)的設(shè)計,這是一次難得的實踐機會。 本文研究設(shè)計的溫度控制系統(tǒng)采用了單片機+DS18B20溫度傳感器+數(shù)碼管的組合方式,整機設(shè)計合理,元件價格合理,采購方便,很適合大批量生產(chǎn)。利用STC89C52單片機及外圍接口實現(xiàn)強大系統(tǒng),及其本身的定時器、計數(shù)器定時和計數(shù)的原理,將軟硬件有機的結(jié)合起來。 理論聯(lián)系實踐,體現(xiàn)出大學(xué)生的動手能力。通過查資料和收集有關(guān)的文獻,培養(yǎng)了自學(xué)能力和動手能力。并且由原先的被動接受知識轉(zhuǎn)換為主動尋求知識,這可以說是學(xué)習(xí)方法上的一個很大突破。在以往的傳統(tǒng)學(xué)習(xí)模式下,我們可能會記住很多書本知識,但是通過畢業(yè)設(shè)計,我們學(xué)會了如何將學(xué)到的知識化為自己的東西,學(xué)會了怎么更好的處理知識和實踐相結(jié)合的問題,把握重點,攻克難關(guān),活學(xué)活用。 設(shè)計論證和完成本次設(shè)計的過程,將單片機原理、C語言程序、模擬電路基礎(chǔ)與數(shù)字電路基礎(chǔ)等多門課程的內(nèi)容有機地結(jié)合應(yīng)用在了一起。通過實際的分析與應(yīng)用深化了對這些主干知識的認識。此外掌握了從系統(tǒng)的需求、方案論證、功能模塊的劃分、原理圖的設(shè)計和繪制、PCB板制作、程序設(shè)計到軟硬件調(diào)試的設(shè)計流程,積累了硬件設(shè)計的經(jīng)驗。單片機的功能日益強大,但其基本原理是相對不變的。因此雖然本次設(shè)計任務(wù)的功能較為簡單,但是能夠較全面的涉及單片機各項基本知識,提高了自己的單片機設(shè)計能力,是一次將理論能力向?qū)嵺`能力轉(zhuǎn)化的好機會。 通過這次畢業(yè)設(shè)計,我深刻地認識到學(xué)好專業(yè)知識的重要性,也理解了理論聯(lián)系實際的含義,并且檢驗了大學(xué)四年的學(xué)習(xí)成果。雖然在這次設(shè)計中對知識的運用和銜接還不夠熟練。但是我將在以后的工作和學(xué)習(xí)中繼續(xù)努力、不斷完善。這三個月的設(shè)計是對過去所學(xué)知識的系統(tǒng)提高和擴充的過程,今后我將不斷加深理論基礎(chǔ)和實踐能力,在以后的工作學(xué)習(xí)中取得更大的進步。 在設(shè)計過程中由于時間倉促有很多地方難免存在不足之,但在以后的工作中,我們會嚴格要求自己最求完美。 回頭再看看該設(shè)計,還可以將設(shè)計的擴展功能增強:1可添加多個采集點。2可將采集到的數(shù)據(jù)通過串口傳給上位機,方便記錄溫度數(shù)據(jù)。
鳴 謝本設(shè)計的研究工作是在我的導(dǎo)師的精心指導(dǎo)和悉心關(guān)懷下完成的。從開題報告到論文結(jié)束,我所取得的每一個進步、編寫的每一段程序都無不傾注著導(dǎo)師辛勤的汗水和心血。導(dǎo)師嚴謹?shù)闹螌W(xué)態(tài)度、淵博的各科知識、無私的奉獻精神使我深受啟迪,從尊敬的導(dǎo)師身上,我不僅學(xué)到了扎實、寬廣的專業(yè)知識,也學(xué)到了做人的道理。在今后的學(xué)習(xí)工作中,我將銘記恩師對我的教誨和鼓勵,盡自己最大的努力取得更好的成績。 在此我要向我的導(dǎo)師致以最衷心的感謝和深深的敬意! 在四年的大學(xué)學(xué)習(xí)期間,每位老師對我的學(xué)習(xí)、生活和工作都給予了熱情的關(guān)心和幫助,使我的水平得到了很大的提高,取得了長足的進步。 在此,向所有關(guān)心和幫助過我的老師、同學(xué)和朋友表示由衷的謝意! 最后,衷心感謝在百忙之中評閱論文和參加答辯的各位專家、教授。
附 錄附錄一 元件清單
附錄二 原理圖
附錄三 PCB圖
完整的Word格式文檔51黑下載地址:
基于單片機的溫度檢測系統(tǒng).doc
(554.37 KB, 下載次數(shù): 73)
2018-10-10 11:11 上傳
點擊文件名下載附件
|