數(shù)字溫度計設(shè)計畢業(yè)論文1
《數(shù)字溫度計設(shè)計畢業(yè)論文1》由會員分享,可在線閱讀,更多相關(guān)《數(shù)字溫度計設(shè)計畢業(yè)論文1(37頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、摘 要I摘摘 要要隨著國民經(jīng)濟的發(fā)展,人們需要對各中加熱爐、熱處理爐、反應(yīng)爐和鍋爐中溫度進行監(jiān)測和控制。采用單片機來對他們控制不僅具有控制方便,簡單和靈活性大等優(yōu)點,而且可以大幅度提高被控溫度的技術(shù)指標,從而能夠大大的提高產(chǎn)品的質(zhì)量和數(shù)量。在日常生活及工業(yè)生產(chǎn)過程中,經(jīng)常要用到溫度的檢測及控制,溫度是生產(chǎn)過程和科學(xué)實驗中普遍而且重要的物理參數(shù)之一。在生產(chǎn)過程中,為了高效地進行生產(chǎn),必須對它的主要參數(shù),如溫度、壓力、流量等進行有效的控制。溫度控制在生產(chǎn)過程中占有相當大的比例。溫度測量是溫度控制的基礎(chǔ),技術(shù)已經(jīng)比較成熟。傳統(tǒng)的測溫元件有熱電偶和二電阻。而熱電偶和熱電阻測出的一般都是電壓,再轉(zhuǎn)換成對
2、應(yīng)的溫度,這些方法相對比較復(fù)雜,需要比較多的外部硬件支持。我們用一種相對比較簡單的方式來測量。 我們采用美國 DALLAS 半導(dǎo)體公司繼 DS18B20 之后推出的一種改進型智能溫度傳感器 DS18B20 作為檢測元件,溫度范圍為-55125 C,最高分辨率可達0.0625 C。DS18B20 可以直接讀出北側(cè)溫度值,而且采用三線制與單片機相連,減少了外部的硬件電路,具有低成本和易使用的特點。本文介紹一種基于 AT89C52 單片機的一種溫度測量及報警電路,該電路采用DS18B20 作為溫度監(jiān)測元件,測量范圍 0-+100,使用 LED 模塊顯示,能設(shè)置溫度報警上下限。正文著重給出了軟硬件系統(tǒng)
3、的各部分電路,介紹了集成溫度傳感器 DS18B20 的原理,AT89C52 單片機功能和應(yīng)用。該電路設(shè)計新穎、功能強大、結(jié)構(gòu)簡單。關(guān)鍵詞:關(guān)鍵詞:溫度測量;DS18B20;AT89C52 AbstractIIAbstractAlong with national economy development, the people need to each heating furnace、the heat-treatment furnace、in the reactor and the boiler the temperature carry on the monitor and the contr
4、ol. Not only uses the monolithic integrated circuit to come to them to control has the control to be convenient, simple and flexibility big and so on merits, moreover may enhance large scale is accused the temperature technical specification, thus can big enhance the product the quality and quantity
5、.In daily life and industrial production process, often used in the detection and control of temperature, temperature is the production process and scientific experiments in general and one of the important physical parameter. In the production process, in order to efficiently carry out the producti
6、on, to be its main parameters, such as temperature, pressure, flow control, etc. Temperature control in the production process of a large proportion. Temperature measurement is the basis of temperature-controlled, more mature technology.Traditional thermocouple and temperature components are the sec
7、ond resistor.The thermocouple and thermal resistance are generally measured voltage, and then replaced by the corresponding temperature, these methods are relatively complex, requiring a relatively large number of external hardware support. We use a relatively simple way to measure. We use the Unite
8、d States following DALLAS Semiconductor DS1820 improved after the introduction of a smart temperature sensor DS18B20 as the detection element, a temperature range of -55 125 C, up to a maximum resolution of 0.0625 C. DS18B20 can be directly read out the temperature on the north side, and three-wire
9、system with single-chip connected to a decrease of the external hardware circuit, with low-cost and easy use.The introduction of a cost-based AT89C52 MCU a temperatur measurement circuits, the circuits used DS18B20 high-precision temperatur sensor, measuring scope 0-+100,can set the warning limitati
10、on, the use of seven segments LED that can be display the current temperature. The paper focuses on providing a software and hardware system components circuit, introduced the theory of DS18B20, the founctions and applications of AT89C52 .This circuit design innovative, powerful, can be expansionary
11、 strong.Keywords:Temperatur measurement; DS18B20; AT89C52目 錄III 目目 錄錄摘摘 要要.I目目 錄錄 .III第一章第一章 緒緒論論.11.1 課題背景及研究意義.11.2 選題意義及設(shè)計要求.11.2.1 選題意義.11.2.2 設(shè)計要求.11.3 設(shè)計方案論證.2第二章第二章 硬件設(shè)計硬件設(shè)計.52.1 AT89C52 單片機的介紹 .52.2 硬件電路的設(shè)計.52.3 原理分析.62.3.1 DS18B20 的介紹 .62.3.2 時鐘電路.72.3.3 復(fù)位電路.82.3.4 顯示電路.92.3.5 數(shù)碼管驅(qū)動電路.102.
12、3.6 報警電路.102.3.6 數(shù)字溫度傳感器.11第三章第三章 軟件設(shè)計軟件設(shè)計.133.1 軟件設(shè)計方案.13第四章第四章 開發(fā)工具開發(fā)工具 PROTEUS 與與 KEIL.174.1 PROTEUS軟件 .174.1.1 Proteus 簡介.174.1.2 ISIS 智能原理圖輸入系統(tǒng).174.2 KEIL軟件.184.2.1 Keil 軟件簡介.18第五章第五章 調(diào)試調(diào)試.195.1 綜合調(diào)試.19第六章第六章 心得體會心得體會.21致致 謝謝.23參考文獻參考文獻.25附錄附錄 1 程序代碼程序代碼.27緒 論1第一章第一章 緒緒論論1.1 課題背景及研究意義隨著新技術(shù)的不斷開發(fā)
13、與應(yīng)用,近年來單片機發(fā)展十分迅速,一個以微機應(yīng)用為主的新技術(shù)革命浪潮正在蓬勃興起,單片機的應(yīng)用已經(jīng)滲透到電力、冶金、化工、建材、機械、食品、石油等各個行業(yè)。傳統(tǒng)的溫度采集方法不僅費時費力,而且精度差,單片機的出現(xiàn)使得溫度的采集和數(shù)據(jù)處理問題能夠得到很好的解決。溫度是工業(yè)對象中的一個重要的被控參數(shù)。然而所采用的測溫元件和測量方法也不相同;產(chǎn)品的工藝不同,控制溫度的精度也不相同。因此對數(shù)據(jù)采集的精度和采用的控制方法也不相同。傳統(tǒng)的控制方式以不能滿足高精度,高速度的控制要求,如溫度控制表溫度接觸器,其主要缺點是溫度波動范圍大,由于他主要通過控制接觸器的通斷時間比例來達到改變加熱功率的目的,受儀表本身
14、誤差和交流接觸器的壽命限制,通斷頻率很低。近幾年來快速發(fā)展了多種先進的溫度控制方式,如:PID 控制,模糊控制,神經(jīng)網(wǎng)絡(luò)及遺傳算法控制等。這些控制技術(shù)大大的提高了控制精度,不但使控制變得簡便,而且使產(chǎn)品的質(zhì)量更好,降低了產(chǎn)品的成本,提高了生產(chǎn)效率。本設(shè)計使用單片機作為核心進行控制。單片機具有集成度高,通用性好,功能強,特別是體積小,重量輕,耗能低,可靠性高,抗干擾能力強和使用方便等獨特優(yōu)點,在數(shù)字、智能化方面有廣泛的用途。1.2 選題意義及設(shè)計要求 1.2.1 選題意義 溫度是表征物體冷熱程度的物理量,是國際單位制(SI)中七個基本物理量之一,它與人類生活、工農(nóng)業(yè)生產(chǎn)和科學(xué)研究有著密切關(guān)系。隨
15、著人類社會的不斷進步和科學(xué)技術(shù)水平的不斷提高,溫度測量技術(shù)也得到了不斷的發(fā)展。 溫度測量方法有很多,也有多種分類。比如從測量時傳感器中有無電信號可以劃分為非電測量和電測量兩大類;從測量時傳感器與被測對象的接觸方式不同可以劃分為接觸式和非接觸式,等等。而每種測量方法中又有很多種類,如膨脹式溫度計、熱電偶溫度計、熱電阻溫度計、光學(xué)溫度計和紅外溫度計等。近年來,隨著技術(shù)水平的進步,出現(xiàn)了更多新的測試方法在很多系統(tǒng)中。如糧庫測溫系統(tǒng)、冷庫測溫系統(tǒng)、智能建筑自控系統(tǒng)、中央空調(diào)系統(tǒng)中都需要溫度的測量,準確的溫度測量對系統(tǒng)的正常工作影響巨大,如果測量不準,都會造成較大的經(jīng)濟損失。在保證準確的測量的前提條件下
16、,人們對溫度測量還有很多其他的要求,比如讀數(shù)是否方便,系統(tǒng)是不是便于維護等,每次使用前用不用調(diào)試。新型的數(shù)字溫度計能滿足以上的要求。淮安信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計論文21.2.2 設(shè)計要求 本設(shè)計所介紹的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,成本低廉,便于擴展和維護。由于采用了數(shù)字溫度傳感器 DS18B20,由于采用一根 I/O數(shù)據(jù)線既傳輸時鐘又可傳輸數(shù)據(jù)、數(shù)據(jù)傳輸還是雙向的,節(jié)省了 I/O 資源。使電路結(jié)構(gòu)簡單。設(shè)計要求測溫范圍-55125,精度誤差0.5,系統(tǒng)響應(yīng)時間是 1s。數(shù)據(jù)通過數(shù)碼管顯示。1.3 設(shè)計方案論證 方案一熱電偶溫度計屬于接觸式溫度測量儀表。是根據(jù)熱電效應(yīng)即塞貝克效應(yīng)
17、原理來測量溫度的,是溫度測量儀表中常用的測溫元件。如圖1.1將不同材料的導(dǎo)體A、B接成閉合回路,接觸測溫點的一端稱測量端,一端稱參考端。若測量端和參考端所處溫度t和t0不同,則在回路的A、B之間就產(chǎn)生一熱電勢EAB(t,t0 ),這種現(xiàn)象稱為塞貝克效應(yīng),即熱電效應(yīng)。EAB大小隨導(dǎo)體A、B的材料和兩端溫度t和t0而變,這種回路稱為原型熱電偶。在實際應(yīng)用中,將A、B的一端焊接在一起作為熱電偶的測量端放到被測溫度t處,而將參考端分開,用導(dǎo)線接入顯示儀表,并保持參考端接點溫度t0穩(wěn)定。顯示儀表所測電勢只隨被測溫度t變化。數(shù)據(jù)采集則使用A/D轉(zhuǎn)換芯片,把電壓轉(zhuǎn)換為數(shù)字信號后,就傳輸給單片機進行數(shù)據(jù)的處理
18、,在顯示電路上,就可以將被測溫度顯示出來。熱電偶的優(yōu)點是工作溫度范圍非常寬,且體積小。圖 1.1熱電偶電路圖當然,熱電偶在溫度測量中也存在一些缺陷,例如,線性特性較差,并且熱電偶信號電平很低,常常需要放大或高分辨率數(shù)據(jù)轉(zhuǎn)換器進行處理。參考端(冷端)還需要進行溫度補償。并且這種設(shè)計需要用到A/D 轉(zhuǎn)換電路,測量電路比較復(fù)雜。方案二采用數(shù)字溫度芯片 DS18B20 來作為傳感器。此元件線性較好,它直接輸出溫度的數(shù)字信號,可直接與計算機連接。由數(shù)字溫度計 DS18B20 和單片機AT89S52 構(gòu)成的溫度測量裝置。這樣,測溫系統(tǒng)的結(jié)構(gòu)就比較簡單,體積也不大。緒 論3采用單片機控制,軟件編程的自由度大
19、,可通過編程實現(xiàn)各種各樣的算術(shù)算法和邏輯控制,而且體積小,硬件實現(xiàn)簡單,安裝方便。DS18B20 轉(zhuǎn)換精度高,抗干擾能力強,使用時無需標定或調(diào)試,與單片機的接口簡單,給硬件設(shè)計工作帶來了極大的方便。另外采用 DS18B20 能有效地降低成本,簡化系統(tǒng)設(shè)計,縮短開發(fā)周期,占用系統(tǒng) I/O 資源少、擴展方便。系統(tǒng)框圖如圖 1.2 所示。圖 1.2 DS18B20溫度測溫系統(tǒng)框圖從以上兩種方案,容易看出方案一的測溫裝置可測溫度范圍寬、體積小,但是線性誤差較大,電路復(fù)雜,維護不便。方案二的測溫裝置電路簡單、精確度較高、實現(xiàn)方便、軟件設(shè)計也比較簡單,故本次設(shè)計采用了方案二?;窗残畔⒙殬I(yè)技術(shù)學(xué)院畢業(yè)設(shè)計論
20、文4硬件設(shè)計5第二章第二章 硬件設(shè)計硬件設(shè)計2.1 AT89C52 單片機的介紹AT89C52 單片機有 40 個引腳,4 個 8 位并行 I/O 口,1 個全雙工異步串行口,同時內(nèi)含 5 個中斷源,2 個優(yōu)先級,2 個 16 位定時/計數(shù)器。AT89C52 的存儲器系統(tǒng)由 4K 的程序存儲器(掩膜 ROM),和 128B 的數(shù)據(jù)存儲器(RAM)組成。AT89C52 單片機的基本組成框圖見以下圖。時鐘電路ROM/EPROM/Flash 4KBRAM128BSFR 21個定時個/計數(shù)器2CPU總線控制中斷系統(tǒng)5個中斷源2個優(yōu)先級串行口全雙工1個4個并行口XTAL2XTAL1RST EAALEPS
21、ENP0P1P2P3VssVcc圖 2-1 AT89C52 單片機的基本組成2.1.1 AT89C52 單片機的中斷系統(tǒng)AT89C52 系列單片機的中斷系統(tǒng)有 5 個中斷源,2 個優(yōu)先級,可以實現(xiàn)二級中斷服務(wù)嵌套。由片內(nèi)特殊功能寄存器中的中斷允許寄存器 IE 控制 CPU 是否響應(yīng)中斷請求;由中斷優(yōu)先級寄存器 IP 安排各中斷源的優(yōu)先級;同一優(yōu)先級內(nèi)各中斷同時提出中斷請求時,由內(nèi)部的查詢邏輯確定其響應(yīng)次序。2.1.2AT89C52 單片機的定時/計數(shù)器在單片機應(yīng)用系統(tǒng)中,常常會有定時控制需求,如定時輸出、定時檢測、定時掃描等;也經(jīng)常要對外部事件進行計數(shù)。AT89C52 單片機內(nèi)集成有兩個可編程
22、的定時/計數(shù)器:T0 和 T1,它們既可以工作于定時模式,也可以工作于外部事件計數(shù)模式,此外,T1 還可以作為串行口的波特率發(fā)生器。2.2 硬件電路的設(shè)計 本設(shè)計系統(tǒng)共由四部分組成:如圖 2.1AT89C52 為控制裝置,負責(zé)各部分的控制和數(shù)據(jù)采集。DS18B20 為溫度測量裝置,負責(zé)對溫度進行采集并轉(zhuǎn)換為數(shù)字信號送AT89C52 進行處理。淮安信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計論文6共陽極數(shù)碼管為顯示裝置,負責(zé)顯示工作狀態(tài)和 DS18B20 采集到的數(shù)據(jù)。注:LED 數(shù)碼管驅(qū)動電路中采用 P0 口加上拉電阻的形式,為方便焊接,本設(shè)計中電阻使用了排阻的方式,三極管使用的是 8050報警電路及報警溫度設(shè)置
23、電路:報警電路由蜂鳴器構(gòu)成,報警溫度設(shè)置電路則是由三個按鍵構(gòu)成圖 2-2 數(shù)字溫度計硬件電路2.3 原理分析 整個系統(tǒng)由單片機控制,溫度傳感器采用 DS18B20。DS18B20 采用單總線方式與單片機相連,把采集到得溫度信息傳給單片機。單片機采集到的溫度輸出到四個數(shù)碼管上進行顯示。當四位數(shù)碼管顯示的溫度超過限值時可以通過蜂鳴器來實現(xiàn)報警功能,報警溫度的限值可以通過按鍵來進行設(shè)置。2.3.1 DS18B20 的介紹 1.DS18B20 是美國 DALLAS 半導(dǎo)體公司繼 DS1820 之后最新推出的一種改進型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比,他能夠直接讀出被測溫度并且可根據(jù)實際要求通過簡單
24、的編程實現(xiàn) 912 位的數(shù)字值讀數(shù)方式??梢苑謩e在 93.75 ms 和 750 ms 內(nèi)完成 9 位和 12 位的數(shù)字量,并且從 DS18B20 讀出的信息或?qū)懭隓S18B20 的信息僅需要一根口線(單線接口)讀寫,溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的 DS18B20 供電,而無需額外電源。因而使用DS18B20 可使系統(tǒng)結(jié)構(gòu)更趨簡單,可靠性更高。硬件設(shè)計72.DS18B20 的測溫原理如圖 2-3 所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器 1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器 2 的脈
25、沖輸入,圖中還隱含著計數(shù)門,當計數(shù)門打開時,DS18B20 就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖后進行計數(shù),進而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55 所對應(yīng)的基數(shù)分別置入減法計數(shù)器 1 和溫度寄存器中,減法計數(shù)器 1 和溫度寄存器被預(yù)置在-55所對應(yīng)的一個基數(shù)值。減法計數(shù)器 1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當減法計數(shù)器 1 的預(yù)置值減到 0 時溫度寄存器的值將加 1,減法計數(shù)器 1 的預(yù)置將重新被裝入,減法計數(shù)器1 重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到減法計數(shù)器 2 計數(shù)到 0 時,停止溫度寄存器值的累加,此時溫度
26、寄存器中的數(shù)值即為所測溫度。圖 2 中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器的預(yù)置值,只要計數(shù)門仍未關(guān)閉就重復(fù)上述過程,直至溫度寄存器值達到被測溫度值,這就是 DS18B20 的測溫原理。預(yù)預(yù)置置低低溫溫度度系系數(shù)數(shù)振振蕩蕩器器高高溫溫度度系系數(shù)數(shù)振振蕩蕩器器斜斜率率增增加加器器計計數(shù)數(shù)器器 1比比較較預(yù)預(yù)置置= 0溫溫度度寄寄存存器器計計數(shù)數(shù)器器 2= 0Tx加加 1停停止止12圖 2-3 DS18B20 內(nèi)部測量電路框圖2.3.2 時鐘電路 時鐘電路用于產(chǎn)生單片機工作所需的時鐘信號,時序是指令執(zhí)行中各信號之間的相互關(guān)系。單片機本身就如同一個復(fù)雜的同步時序電路,為
27、了保證同步工作方式的實現(xiàn),電路應(yīng)在唯一的時鐘信號控制下嚴格地按時序進行工作。在單片機的 XTAL1 腳和 XTAL2 腳之間并接一個晶體振蕩器就構(gòu)成了內(nèi)部振蕩方式。AT89C52 單片機內(nèi)部有一個高增益的反相放大器,XTAL1 為內(nèi)部反相放大器的輸入端,XTAL2 為內(nèi)部反相放大器的輸出端,在其兩端接上晶振后,就構(gòu)成了自激振蕩電路,并產(chǎn)生振蕩脈沖,振蕩電路輸出的脈沖信號的頻率就淮安信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計論文8是晶振的固有頻率。在實際應(yīng)用中通常還需要在晶振的兩端和地之間各并上一個小電容。AT89C52 的時鐘電路如圖 2.3 所示:圖 2-4 時鐘電路用晶振和電容構(gòu)成諧振電路。電容大小與晶振頻
28、率和工作電壓有關(guān)。但電容的大小影響振蕩器的穩(wěn)定性和起振的快速性,為了提高精度,本電路采用30pF 的電容作為微調(diào)電容。2.3.3 復(fù)位電路 復(fù)位是單片機的初始化操作,其目的是使 CPU 和系統(tǒng)中各部分處于一個確定的狀態(tài),并從這一狀態(tài)開始工作。系統(tǒng)上電路或死機后都要進行復(fù)位操作。單片機的復(fù)位電路有多種形式,一般的做法是將開關(guān)復(fù)位與上電復(fù)位組合在一起形成組合復(fù)位電路,上電復(fù)位電路完成上電復(fù)位功能,開關(guān)復(fù)位電路完成人工復(fù)位。這種組合復(fù)位電路如圖 2-5 所示圖 2-5 單片機組合復(fù)位電路圖單片機組合復(fù)位電路圖中 C1,R1 構(gòu)成了上電復(fù)位電路。上電復(fù)位后,電源經(jīng) R1 對 C1 充滿電源,C1 等效
29、于開路,RST 端為低電平;單片機正常工作。按開關(guān) K 后,C1 兩端電荷經(jīng) R2 迅速放電,K 斷開后,由 C1、R1 及電源完成對單片機的復(fù)位操作。硬件設(shè)計9在上述電路中,R2 的取值一般為 0200,C1、R1 按上電復(fù)位電路的設(shè)計而取值。 復(fù)位電路的作用非常重要,能否成功復(fù)位關(guān)系但單片機系統(tǒng)能否正常運行的問題。如果振蕩電路正常而單片機系統(tǒng)不能正常運行,其主要原因是單片機沒有完成正常復(fù)位,程序計數(shù)器的值沒有回 0,特殊功能寄存器沒有回到初始狀態(tài)。這時可以適當?shù)卣{(diào)整上電復(fù)位電路的阻容值,增加其充電時間常數(shù)來解決問題。本文采用上電復(fù)位電路。2.3.4 顯示電路 單片機系統(tǒng)中常用的顯示器有:發(fā)
30、光二極管 LED(Light Emitting Diode)顯示器、液晶 LCD(Liquid Crystal Display)顯示器、CRT 顯示器等。LED 顯示器有兩種顯示結(jié)構(gòu):段顯示(7 段、米字型等)和點陣顯示(58、88 點陣等) 。 (1)靜態(tài)顯示方式LED 顯示器工作方式有兩種:靜態(tài)顯示方式和動態(tài)顯示方式。靜態(tài)顯示的特點是每個數(shù)碼管必須接一個 8 位鎖存器用來鎖存待顯示的字形碼。送入一次字形碼顯示字形一直保持,直到送入新字形碼為止。這種方法的優(yōu)點是占用CPU 時間少,顯示便于監(jiān)測和控制。缺點是硬件電路比較復(fù)雜,成本較高。(2)動態(tài)顯示動態(tài)顯示的特點是將所有位數(shù)碼管的段選線并聯(lián)在
31、一起,由位選線控制是哪一位數(shù)碼管有效。這樣一來,就沒有必要每一位數(shù)碼管配一個鎖存器,從而大大地簡化了硬件電路。此時數(shù)碼管采用動態(tài)掃描顯示,所謂動態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時都在顯示。動態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時應(yīng)略小于靜態(tài)顯示電路中的。 圖 2-6 七段數(shù)碼管示意圖和內(nèi)部結(jié)構(gòu)簡圖使用 LED 顯示器時,要注意區(qū)分這兩種不同的接法。為了顯示數(shù)字或字符,必須對數(shù)字或字符進行編碼。七段數(shù)碼管加上一個小數(shù)點,共計 8 段。因此為LED 顯示器提供的編碼正好是一個字節(jié)。用 LED 顯示器顯示
32、 16 進制數(shù)的編碼已列在下表。數(shù)碼管碼表abcdegGNDfdpGNDabcefgddpabcdefgdpdpgfedcba5V(a)(b)淮安信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計論文100 x3f , 0 x06 , 0 x5b , 0 x4f , 0 x66 , 0 x6d , 0 x7d , 0 x07 , 0 x7f , 0 x6f 0 1 2 3 4 5 6 7 8 9 四位 LED 數(shù)碼管:用來顯示溫度的大小, ,從左到右依次是百位,十位,個位,十分位,可直接讀取,溫度精確到 0.1,四位數(shù)碼管電路如圖所示。圖 2-7 數(shù)碼管顯示電路2.3.5 數(shù)碼管驅(qū)動電路 三極管 8050:來驅(qū)動四位數(shù)
33、碼管,如下圖所示三極管 Q1 、Q2 、Q3、Q4。圖 2-8 數(shù)碼管驅(qū)動電路硬件設(shè)計112.3.6 報警電路 三極管 8550 驅(qū)動蜂鳴器:如下圖所示三極管 Q6 來驅(qū)動蜂鳴器 BUZ1。圖 2-9 報警電路2.3.6 數(shù)字溫度傳感器 數(shù)字溫度傳感器 DS18B20:如下圖所示圖 2-10 數(shù)字溫度傳感器淮安信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計論文12系統(tǒng)軟件設(shè)計13第三章第三章 軟件設(shè)計軟件設(shè)計3.1 軟件設(shè)計方案首先初始化設(shè)置,設(shè)置常量,再進行對 DS18B20 進行初始化,之后進行溫度采集,給 DS18B20 一個溫度轉(zhuǎn)換命令實現(xiàn)溫度轉(zhuǎn)換,讀取轉(zhuǎn)換的溫度值,通過數(shù)據(jù)處理,將處理后的數(shù)據(jù)傳送到數(shù)碼管
34、中顯示出來,實現(xiàn)溫度的采集與顯示。主要的程序有主程序,它是整個控制系統(tǒng)的核心,專門用來協(xié)調(diào)個執(zhí)行模塊的關(guān)系。還有就是各個子程序,它是用來完成各種實質(zhì)的功能的程序:如初始化,顯示,溫度測量,溫度轉(zhuǎn)換等等。主要流程圖:主程序流程圖、DS18B20 復(fù)位子程序流程圖、讀溫度子程序流程圖。主程序流程圖,見下圖圖 3-1 主程序流程圖DS18B20 數(shù)據(jù)的讀寫由主機讀/寫時間來完成,包括傳送 ROM 碼,初始化,讀數(shù)據(jù)和寫數(shù)據(jù)。(1)系統(tǒng)初始化:主機控制 DS18B20 完成任何操作之前必須先初始化,即主機發(fā)一復(fù)位脈沖,接著主機釋放總線進入接收狀態(tài),DS18B20 發(fā)出響應(yīng)主機的應(yīng)答脈沖,表明它已處在總
35、線上并且準備工作。(2) 讀數(shù)據(jù),寫數(shù)據(jù):首先都要先發(fā)出寫開始信號或者讀開始信號,然后進淮安信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計論文14行數(shù)據(jù)讀寫操作,讀寫結(jié)束釋放總線,一次只能讀寫一位數(shù)據(jù)。下圖是:DS18B20 復(fù)位子程序流程圖圖 3-2 DS18B20 復(fù)位子程序流程圖下圖是:讀溫度子程序流程圖系統(tǒng)軟件設(shè)計15圖 3-3 讀溫度子程序流程圖淮安信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計論文16開發(fā)工具 Proteus 與 Keil17第四章第四章 開發(fā)工具開發(fā)工具 ProteusProteus 與與 KeilKeil4.1 Proteus 軟件 4.1.1 Proteus 簡介 Proteus 軟件是英國 Labce
36、nter electronics 公司出版的 EDA 工具軟件。它不僅具有其它 EDA 工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機愛好者、從事單片機教學(xué)的教師、致力于單片機開發(fā)應(yīng)用的科技工作者的青睞。Proteus 是世界上著名的 EDA 工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到 PCB 設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB 設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18
37、/24/30/DsPIC33、AVR、ARM、8086 和 MSP430 等,2010 年即將增加 Cortex 和 DSP 系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持 IAR、Keil 和 MPLAB 等多種編譯器。 該軟件的特點是:1. 實現(xiàn)了單片機仿真和 SPICE 電路仿真相結(jié)合,具有模擬電路仿真、數(shù)字電路仿真、各種單片機(51 系列、AVR、PIG 等常用的 MCU)及其外圍電路(如LCD、RAM、ROM、鍵盤、LED、A/D、D/A)組成的系統(tǒng)仿真。2. 提供了多種虛擬儀器。如示波器、邏輯分析儀、信號發(fā)生器等,調(diào)試非常方便。3. 提供軟件調(diào)試功能,同時支持第三方
38、的軟件編譯和調(diào)試環(huán)境,如 Keil 等軟件。4. 具有強大的原理圖繪制功能。Proteus 與其它單片機仿真軟件不同的是,它不僅能仿真單片機 CPU 的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真和程序調(diào)試時,關(guān)心的不再是某些語句執(zhí)行時單片機寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結(jié)果。對于這樣的仿真實驗從某種意義上講,是彌補了實驗和工程應(yīng)用閹脫節(jié)的矛盾和現(xiàn)象。同時,當硬件調(diào)試成功后,利用Proteus ARES 軟件,很容易獲得其 PCB 圖,為今后的制造提供了方便。4.1.2 ISIS 智能原理圖輸入系統(tǒng) ISIS 是
39、PROTEUS 系統(tǒng)的中心,它遠不僅是一個圖表庫。它是具有控制原理圖畫圖的外觀的超強的設(shè)計環(huán)境。無論用戶的要求是快速實現(xiàn)復(fù)雜設(shè)計的仿真以及 PCB 設(shè)計,還是設(shè)計精美的原理圖以供出版,ISIS 都可以很好的完成。ISIS 提供給用戶圖形外觀包括線寬、填充類型、字符等的全部控制,使用淮安信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計論文18戶能夠生成如雜志上看到一樣精美的原理圖,遠勝過 CAD 軟件繪制出的稀薄的線條。畫完圖可以以圖形文件輸出,或者拷貝到剪切板以便其他文件使用。這就使得 ISIS 成為制作技術(shù)文件,學(xué)術(shù)論文,項目報告的理想工具,也是 PCB 設(shè)計的一個出色的前端。畫圖的外形由風(fēng)格模板定義。此外,此方案
40、允許用戶定制元件庫提供的庫部件的外觀。4.2 Keil 軟件 4.2.1 Keil 軟件簡介 Keil C51 是美國 Keil Software 公司出品的 51 系列兼容單片機 C 語言軟件開發(fā)系統(tǒng),與匯編相比,C 語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用 C 來開發(fā),體會更加深刻。Keil C51 軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全 Windows 界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到 Keil C51 生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)
41、高級語言的優(yōu)勢。Keil C51 軟件是一個基于 32 位Windows 環(huán)境的應(yīng)用程序,支持 C 語言和匯編語言編程,其 6.0 以上的版本將編譯和仿真軟件統(tǒng)一為 Vision(通常稱為 V2)。Keil 提供包括 C 編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,由以下幾部分組成:Vision IDE 集成開發(fā)環(huán)境 C51 編譯器、A51 匯編器、LIB51 庫管理器、BL51 連接/定位器、OH51 目標文件生成器以及 Monitor-51、RTX51 實時操作系統(tǒng)。 調(diào) 試19第五章第五章 調(diào)試調(diào)試5.1 綜合調(diào)試 單片機系統(tǒng)的硬件調(diào)試和軟件調(diào)試是不能分
42、開的,去多硬件錯誤是在軟件調(diào)試中被發(fā)現(xiàn)和糾正的,但是硬件的調(diào)試是基礎(chǔ),如果硬件調(diào)試不通過軟件設(shè)計則是無從做起,所以我們是先排除明顯的硬件故障以后,再和軟件結(jié)合起來以進一步排除故障。硬件設(shè)計從布線到焊接安裝完成之后,我就開始進入硬件調(diào)試階段,調(diào)試大體分為以下幾步:1. 硬件靜態(tài)的調(diào)試排除邏輯故障這類故障由于設(shè)計和加工制板過程中工藝性錯誤所造成的。主要包括錯線、開路、短路。我將其排除的方法是首先將焊制的電路板認真對照原理圖,看兩者是否一致,特別主意了電源系統(tǒng)的檢查,以防止電源短路和極性錯誤,并利用數(shù)字萬用表的短路測試功能重點檢查了系統(tǒng)總線是否存在相互之間短路或與其他信號線路短路。排除元器件失效我考
43、慮到造成這類錯誤的原因有兩個:一個是元器件買來是就已經(jīng)壞了,另一個是由于安裝錯誤,造成器件燒壞。我采取檢查器件與設(shè)計要求的型號、規(guī)格和安裝是否一致,在保證安裝無誤后,用替換法排除了錯誤。排除電源故障在通電前,首先檢查了電源電壓的幅值和極性,避免造成集成塊損壞,加電后檢查各插件上引腳的電位,先檢查 Vcc 與 GND 之間電位,在 5V4.8V 之間屬正常,若有高壓,聯(lián)機仿真器調(diào)試時,將會損壞仿真器等,有時會使系統(tǒng)中的集成塊發(fā)熱損壞。2.聯(lián)機仿真調(diào)試聯(lián)機仿真借助了仿真開發(fā)裝置、示波器、萬用表等工具,這些工具是單片機開發(fā)的最基本工具。信號線是聯(lián)絡(luò) AT89C52 和外部器件的紐帶,如果信號線聯(lián)接錯
44、誤或時序不對,那么都會造成對外圍電路讀寫錯誤,51 系列單片機的信號線大體分為讀、寫信號線、時鐘信號線、外部程序存儲器讀選通信號、地址所存信號、復(fù)位信號等幾大類,這些信號大多屬于脈沖信號,對于脈沖信號借助示波器用常規(guī)方法很難測到,我利用軟件編程的方法來實現(xiàn)。顯示器部分調(diào)試,首先將 AT89C52 與 LED 顯示分離,用靜態(tài)方法先測試LED 顯示,分別用規(guī)定的電平加至控制數(shù)碼管段和位顯示的引腳,看數(shù)碼管顯示是否與理論上一致,不一致,一般 LED 顯示器接觸不良所致,必須找出故障。淮安信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計論文20調(diào)試通過。心得體會21淮安信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計論文22第六章第六章 心得體會
45、心得體會溫度傳感器 DS18B20 轉(zhuǎn)化溫度的方法非常簡潔且精度高、測試范圍較廣。單片機體積小重量輕、抗干擾能力強、對環(huán)境要求不高、價格低廉、可靠性高、靈活性好。因此這種溫度測量系統(tǒng)能應(yīng)用于各種場合,具有很大的應(yīng)用價值。數(shù)字式溫度傳感器 DS18B20 和處理芯片 AT89C52,具有良好的技術(shù)指標,組成的電路系統(tǒng)檢測準確、穩(wěn)定性好、調(diào)校方便! 該數(shù)字溫度計完全適用于各種工作環(huán)境,達到了預(yù)期的研制目標與實用效果。通過這次小小的課程設(shè)計是我簡單的掌握了 protues 的使用,讓我對 DS18B20 有了進一步的熟悉,采用軟件來對溫度傳感器的控制,在調(diào)試當中遇見很多困難,我不斷的查找資料和在同學(xué)
46、和老師的幫助下最終問題一一化解,當我的畢業(yè)設(shè)計出來的時候我是多么的激動,感謝老師能給我們這樣的機會希望在以后的學(xué)習(xí)和生活中有更多的鍛煉機會。心得體會23淮安信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計論文24致致 謝謝在本次畢業(yè)設(shè)計即將結(jié)束之際,我要特別感謝我的導(dǎo)師譚偉東老師,每當我在設(shè)計過程中遇到了問題,老師總是耐心的為我講解,其淵博的學(xué)識、嚴謹?shù)慕虒W(xué)態(tài)度、求實的工作作風(fēng)和他敏捷的思維給我留下了深刻的印象,同時自己付出了很大的心血,得到了很多老師和同學(xué)的支持,為我創(chuàng)造了很多有利條件,在這里,老師,在畢業(yè)設(shè)計的開始,譚老師給了我很多幫助,指導(dǎo)我了解了很多單片機的相關(guān)知識,并在當我設(shè)計遇到困難時,及時的給予幫助和鼓
47、勵,同時,對我其他學(xué)科的鼓勵也滲透在畢業(yè)設(shè)計的同時,給了我莫大的信心,為我順利完成畢業(yè)設(shè)計起到了非常重要的作用。同時。我還要感謝實習(xí)組及實驗室的所有老師,為我的畢業(yè)設(shè)計提供了非常便利的條件。再次對在本次畢業(yè)設(shè)計中給予過我?guī)椭睦蠋熀屯瑢W(xué)至上我最真摯的謝意。致 謝25 26參考文獻參考文獻1 楊素行著.模擬電子技術(shù)基礎(chǔ)(第二版) .北京:高等教育出版社,2006.2 閻石著.數(shù)字電子技術(shù)基礎(chǔ)(第五版) .北京:高等教育出版社,2006.3 李全利,仲偉峰,徐軍著.單片機原理及應(yīng)用.北京:清華大學(xué)社,2006.4 何立民著單片機高級教程北京:北京航空航天大學(xué)出版社,2000.5 楊路明著C 語言程
48、序設(shè)計教程(第 2 版) 北京:北京郵電大學(xué)出版社,2005.6 馬忠梅,籍順心,張凱等著.單片機的 C 語言應(yīng)用程序設(shè)計(第 4 版) .北京:北京航天航空大學(xué)出版社,2007.7 白駒珩,雷曉平著單片計算機及其應(yīng)用成都:電子科技大學(xué)出版社,1997.8 譚浩強著程序設(shè)計與開發(fā)技術(shù)北京:清華大學(xué)出版社,1991.9 鐘富昭著.8051 單片機典型模塊設(shè)計與應(yīng)用.北京:人民郵電出版,2007.10 于永,戴佳,常江著.51 單片機 C 語言常用模塊與綜合系統(tǒng)設(shè)計實例精講.北京:電子工業(yè)出版社,2007.11 梁翎著C 語言程序設(shè)計實用技巧與程序?qū)嵗?上海:上??破粘霭嫔纾?998.參考文獻27
49、 28附錄附錄 1 1 程序代碼程序代碼#include#define uchar unsigned char#define uint unsigned intsbit d1=P22;sbit d2=P21;sbit d3=P20;sbit d4=P23;sbit key1=P30;sbit key2=P31;sbit key3=P32;sbit beep=P33;sbit DS=P12;sbit ACC_7=ACC7;uint count=1000,alarm=300;uchar shu;uchar shi,fen,ri,yue,nian,xq,miao,ss; uint temp; / 溫
50、度變量uchar flag;uchar code tab=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;uchar code tab1=/小數(shù)點點亮0 x40,0 x79,0 x24,0 x30,0 x19,0 x12,0 x02,0 x78,0 x00,0 x10;void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=120;y0;y-);void dsreset()/發(fā)復(fù)位 uint i;DS=0;i=103;while(i0)i-;DS=1;i=4;while(i0)i-;附
51、 錄29uchar tmpread() /讀取一字節(jié)uchar j,k,dat;uint i; for(j=1;j0)i-;dat=(k1);/讀出的數(shù)據(jù)最低位在最前面存一個字節(jié)在 DAT里 return(dat);void tmpwritebyte(uchar dat) /寫一個字節(jié) uint i; uchar j; bit testb; for(j=1;j1; if(testb) /寫 1 DS=0; i+;i+; DS=1; i=8;while(i0)i-; else DS=0; /寫 0i=8;while(i0)i-;DS=1;i+;i+; void tmpchange() /DS18
52、B20 溫度變換dsreset(); 30delay(1);tmpwritebyte(0 xcc); /跳過讀取內(nèi)存 romtmpwritebyte(0 x44); /開始轉(zhuǎn)換uint tmp() /讀取溫度float tt;uchar a,b;dsreset();delay(1);tmpwritebyte(0 xcc);tmpwritebyte(0 xbe);a=tmpread(); /a 為低字節(jié) 8 位b=tmpread(); /b 為高字節(jié) 8 位temp=b; /temp 為溫度值 UINT 16bittemp127)flag=1;ss=flag;temp=temp+1;tt=tem
53、p*0.0625; / temp/16 則是溫度的真實值 tt.7 位整數(shù),4 位小數(shù)temp=tt*10+0.5; / 擴大十倍取出了第一位小數(shù)return(temp);void displayTemp(uint temp) /顯示溫度程序uchar ge,shi,bai,qian,ser;d1=0;d1=0;d3=0;d4=0;dsreset();ser=temp/10; /分離出三位要顯示的數(shù)字 SBUF=ser;qian=temp/1000;bai=temp/100%10; / 百位數(shù)字shi=temp/10%10; / 十位數(shù)字ge=temp%10; / 個位數(shù)字if(flag=1)
54、flag=0;附 錄31P0=0 xbf;d1=1;delay(2);d1=0;if(qian!=0)P0=tabqian;d1=1;delay(2);d1=0;elseP0=0 xff;d1=1;delay(2);d1=0;if(temp99)P0=tabbai;d2=1;delay(2);d2=0;P0=tab1shi;d3=1;delay(2);d3=0;P0=tabge;d4=1;delay(2);d4=0;uint keyscan()if(key1=0)delay(5);if(key1=0)while(!key1);shu+; 32if(key2=0)delay(5);if(key2
55、=0)while(!key2);count=count+10;if(shu=2)alarm+=10;if(key3=0)delay(5);if(key3=0)while(!key3);count=count-10;if(shu=2)alarm-=10;return(count);void main() beep=0;delay(10);while( 1 ) tmpchange();if(shu=0)附 錄33displayTemp(tmp( );keyscan();if(shu=1)displayTemp(count);if(shu=2)displayTemp(alarm);if(shu=3)shu=0;if(tempcount|(tempalarm)beep=0;elsebeep=1;
- 溫馨提示:
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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 火力發(fā)電廠各設(shè)備的主要作用大全
- 3.高壓電工考試判斷練習(xí)題含答案
- 企業(yè)電氣防爆知識
- 13 低壓電工電工作業(yè)模擬考試題庫試卷含答案
- 電氣設(shè)備維修的十項原則
- 2.電氣電纜與直流模擬考試復(fù)習(xí)題含答案
- 電氣節(jié)能措施總結(jié)
- 2.電氣電機(一)模擬考試復(fù)習(xí)題含答案
- 接地電阻測量原理與測量方法
- 3.高壓電工作業(yè)模擬考試題庫試卷含答案
- 礦山維修電工安全技術(shù)操作規(guī)程
- 電工基礎(chǔ)口訣總結(jié)
- 3.某電廠值長面試題含答案解析
- 電工基礎(chǔ)知識順口溜
- 配電系統(tǒng)詳解