版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)課程設(shè)計(jì)報(bào)告書基于單片機(jī)的溫度控制系統(tǒng))學(xué)院(系):電子與信息工程學(xué)院年級(jí)專業(yè):電子信息工程學(xué)號(hào):1學(xué)生:三指導(dǎo)教師:*教師職稱:教授成績(jī):制作日期2014年12月20日目錄摘要1引言2第一章系統(tǒng)設(shè)計(jì)21.1 設(shè)計(jì)任務(wù)21.2 設(shè)計(jì)目的21.3 設(shè)計(jì)思路2第二章硬件系統(tǒng)設(shè)計(jì)42.1系統(tǒng)方框圖42.2各部分及其實(shí)現(xiàn)的功能4第三章軟件設(shè)計(jì)163.1程序流程圖163.2溫度傳感器流程圖程圖17第四章仿真與調(diào)試184.1軟件電路故障與解決辦法184.2軟件調(diào)試方法184.3 仿真后,部分顯示成果19第五章設(shè)計(jì)總結(jié)22第六章參考文獻(xiàn)23附錄一24附錄二25附錄三36基于單片機(jī)STC89C51的溫度
2、顯示系統(tǒng)的設(shè)計(jì)三峽學(xué)院電子與信息工程學(xué)院12電子信息工程(職教師資)摘要:以AT89C51單片機(jī)為核心,的數(shù)字溫度測(cè)量及自動(dòng)控制系統(tǒng)的設(shè)計(jì),該溫度控制器可以實(shí)時(shí)顯示和設(shè)定溫度,實(shí)現(xiàn)對(duì)溫度的自動(dòng)控制。其組成部分為:AT89S51單片機(jī)、DS18B20智能數(shù)字溫度傳感器、鍵盤與顯示電路、溫度控制電路。高精度的DS18B20溫度傳感器作為溫度檢測(cè)元件,LED數(shù)碼管并行動(dòng)態(tài)顯示作為顯示電路,單片機(jī)通過對(duì)信號(hào)進(jìn)行相應(yīng)處理,從而實(shí)現(xiàn)對(duì)所測(cè)溫度進(jìn)行控制。當(dāng)溫度比設(shè)定溫度小時(shí),當(dāng)溫度大于等于設(shè)定溫度時(shí),控制器斷開電加熱設(shè)備。此外,文中還介紹了該溫度控制器的軟件設(shè)計(jì)部分,主要模塊包括:數(shù)碼管顯示程序、按鍵處理程
3、序、溫度信號(hào)處理程序。主程序通過調(diào)用各個(gè)上述子程序來完成所有的溫度控制器功能。在此基礎(chǔ)上本文還提出了系統(tǒng)軟硬件抗干擾措施和系統(tǒng)軟硬件及整機(jī)調(diào)試方案。該溫度控制器具有控制方便、簡(jiǎn)單的特點(diǎn),可以實(shí)現(xiàn)對(duì)溫度的高精度控制,并且可以提高被控系統(tǒng)的技術(shù)指標(biāo)。關(guān)鍵詞:?jiǎn)纹瑱C(jī);溫度傳感器;寄存器;引言隨著電子技術(shù),特別是隨大規(guī)模集成電路的產(chǎn)生而出現(xiàn)的微型計(jì)算機(jī)技術(shù)的飛速發(fā)展,人類生活發(fā)生了根本性的改變。如果說微型計(jì)算機(jī)的出現(xiàn)使現(xiàn)代科學(xué)研究得到了質(zhì)的飛躍,那么可以毫不夸地說,單片機(jī)技術(shù)的出現(xiàn)則是給現(xiàn)代工業(yè)測(cè)控領(lǐng)域帶來了一次新的技術(shù)革命。目前,單片機(jī)以其體積小、重量輕、抗干擾能力強(qiáng)、對(duì)環(huán)境要求不高、高可靠性、高性
4、能價(jià)格比、開發(fā)較為容易,在工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表、辦公自動(dòng)化等諸多領(lǐng)域得到極為廣泛的應(yīng)用,并已走人家庭,從洗衣機(jī)、微波爐到音響、汽車,到處都可見到單片機(jī)的蹤影。因此,單片機(jī)技術(shù)開發(fā)和應(yīng)用水平已逐步成為一個(gè)國家工業(yè)發(fā)展水平的標(biāo)志之一。本課題研究的容就是以單片機(jī)AT89c51為主要控制元件,通過溫度傳感器DS18B20實(shí)現(xiàn)對(duì)溫度的測(cè)量,并通過數(shù)碼管直接顯示所測(cè)溫度。第1章系統(tǒng)設(shè)計(jì)1.1 設(shè)計(jì)任務(wù)(1) 、采用DS18B20作為溫度傳感器進(jìn)行溫度檢測(cè)。(2) 、對(duì)采集溫度進(jìn)行顯示(顯示溫度分辨率0.1°C);采集溫度數(shù)值應(yīng)采用數(shù)字濾波措施,保證顯示數(shù)據(jù)穩(wěn)定。(3) 、設(shè)
5、計(jì)相應(yīng)的溫度控制電路,根據(jù)測(cè)得的溫度情況對(duì)加熱器進(jìn)行控制,將溫度保持在設(shè)定溫度。(4) 、通過按鍵設(shè)置溫度上下限,超限通過LED、蜂鳴器報(bào)警。1.2 設(shè)計(jì)目的(1) 、通過課程設(shè)計(jì),使我們能夠深入理解單片機(jī)系統(tǒng)的工作原理,接口電路的設(shè)計(jì)及調(diào)試方法,培養(yǎng)綜合運(yùn)用所學(xué)理論知識(shí)分析和解決實(shí)際問題的能力。(2) 、使用單片機(jī)AT89c51為主要控制元件,通過溫度傳感器DS18B20實(shí)現(xiàn)對(duì)溫度的測(cè)量,并通過LCD1602直接顯示所測(cè)溫度。(3) 、用keil軟件進(jìn)行編程與調(diào)試,利用Proteus7Professional軟件進(jìn)行繪制硬件電路圖且進(jìn)行仿真。1.3 設(shè)計(jì)思路(1)方案論證本溫度控制系統(tǒng)的設(shè)計(jì)
6、是使用單片機(jī)來控制,溫度傳感器DS18B20實(shí)現(xiàn)對(duì)溫度的測(cè)量,數(shù)碼管直接顯示實(shí)現(xiàn)。而選擇這一方法后還要進(jìn)行各個(gè)芯片的選擇。以下是我在這次設(shè)計(jì)中所用的方案。(2)芯片的選擇采用AT89C51芯片,其為高性能CMOS8位單片機(jī),該芯片含有4kBytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)、128Bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM)、32位可編程I/O口線、2個(gè)16位定時(shí)/計(jì)數(shù)器、6個(gè)中斷源、可編程串行UART通道及低功耗空閑和掉電模式。因此,我們選用AT89C51。(3)溫度傳感器模塊的選擇方案和論證采用溫度傳感器DS18B20實(shí)現(xiàn)對(duì)溫度的測(cè)量。(4)升溫模塊和降溫模塊的選擇和論證(5)
7、最終方案綜上方案所述,對(duì)此次溫度控制系統(tǒng)的方案選定為:以基于51單片機(jī)控制,將DS18B20溫度傳感器實(shí)時(shí)溫度轉(zhuǎn)化,并通過數(shù)碼管對(duì)溫度實(shí)行實(shí)時(shí)顯示,將設(shè)定溫度,通過按鍵調(diào)節(jié)溫度報(bào)警區(qū)域,實(shí)現(xiàn)對(duì)溫度在0°CT28°C控制的自動(dòng)化。實(shí)驗(yàn)結(jié)果表明此結(jié)構(gòu)完全可行,溫度偏差可達(dá)0.1°C以。第2章硬件系統(tǒng)的設(shè)計(jì)2.1系統(tǒng)方框圖,見圖2.1。根據(jù)需求,我們將系統(tǒng)分為六個(gè)模塊,信息處理模塊,溫度采集模塊、功能按鍵模塊、報(bào)警電路模塊,LED溫度顯示模,存儲(chǔ)模塊。圖2.1系統(tǒng)方框圖2.2各部分及其實(shí)現(xiàn)的功能(1)中央控制芯片STC89C51STC89C51是一種低功耗高性能的片含有
8、4KB快閃可編程/擦除只讀存儲(chǔ)器(FPEROM-FlashProgrammableandEraseableReadOnlyMemory)的8位CMOS微控制器,使用高密度、非易失存儲(chǔ)技術(shù)制造,并且與80C51引腳和指令系統(tǒng)完全兼容。主要性能:與MCS-51微控制器產(chǎn)品系列兼容。片有4KB可在線重復(fù)編程的快閃擦寫存儲(chǔ)器;存儲(chǔ)數(shù)據(jù)保存時(shí)間為10年;寬工作電壓圍:Vcc可為2.7V到6V;全靜態(tài)工作:可從0Hz至16MHz;程序存儲(chǔ)器具有3級(jí)加密保護(hù);128*8位部RAM;32條可編程I/O線,兩個(gè)16位定時(shí)器/計(jì)數(shù)器;中斷結(jié)構(gòu)具有5個(gè)中斷源和2個(gè)優(yōu)先級(jí),可編程全雙工串行通道,空閑狀態(tài)維持低功耗和掉
9、電狀態(tài)保存存儲(chǔ)容。MCS-51的主要特點(diǎn)為:CPU為8位;片帶振蕩器,頻率圍為1.212MHz;片帶128字節(jié)的數(shù)據(jù)存儲(chǔ)器;(RAM)片帶4KB的Flash程序存儲(chǔ)器;(ROM)程序存儲(chǔ)器的尋址空間為64KB;(需要擴(kuò)展ROM)片外數(shù)據(jù)存儲(chǔ)器的尋址空間為64KB;(需要擴(kuò)展RAM)128位(16字節(jié))用戶位尋址空間;(在128個(gè)字節(jié)中)18個(gè)字節(jié)特殊功能寄存器SFR(MCS52子系列為21個(gè));4個(gè)8位的并行I/O接口:P0、P1、P2、P3;2個(gè)優(yōu)先級(jí)別的個(gè)優(yōu)先級(jí)別的5個(gè)中斷源;(高、低2個(gè))有較強(qiáng)的位處理能力(2)溫度傳感器DS18B20:1. DS18B20的性能特點(diǎn): 、采用單總線專用
10、技術(shù),既可通過串行口線,也可通過其它I/O口線與微機(jī)接口,無須經(jīng)過其它變換,直接輸出被測(cè)溫度值(9位二進(jìn)制數(shù),含符號(hào)位)。 、測(cè)溫圍為-55°C-+125°C,測(cè)量分辨率為0.0625°C 、含64位經(jīng)過激光修正的只讀存儲(chǔ)器ROM 、適配各種單片機(jī)或系統(tǒng)機(jī) 、用戶可分別設(shè)定各路溫度的上、下限 含寄生電源??谳^少,可節(jié)省大量的引線和邏輯電路。2. DS18B20的部結(jié)構(gòu)DS18B20部結(jié)構(gòu)如圖2.2.1所示,主要由4部分組成:64位ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列如圖2.2.2所示,DQ為數(shù)字信號(hào)輸入/輸出端
11、;GND為電源地;VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼,每個(gè)DS18B20的64位序列號(hào)均不相同。64位ROM的排的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)°ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。圖2.2.oim-皿VED可應(yīng)電海HCSCWDM1CWCU1CSOIC對(duì)磬r>sisE-o白0百JW31F列圖2.3DS18B20的管腳排列3、溫度值高字節(jié)高低溫報(bào)警觸發(fā)器TH和TL、配置寄存器均由一個(gè)字節(jié)的EEPR
12、OM組成,使用一個(gè)存儲(chǔ)器功能命令可對(duì)TH、TL或配置寄存器寫入。其中配置寄存器的格式如下:R1、R0決定溫度轉(zhuǎn)換的精度位數(shù):R1R0=“00”,9位精度,最大轉(zhuǎn)換時(shí)間為93.75ms;R1R0=“01”,10位精度,最大轉(zhuǎn)換時(shí)間為187.5ms;R1R0=“10”,11位精度,最大轉(zhuǎn)換時(shí)間為375ms;R1R0=“11”,12位精度,最大轉(zhuǎn)換時(shí)間為750ms;未編程時(shí)默認(rèn)為12位精度。高速暫存器是一個(gè)9字節(jié)的存儲(chǔ)器。開始兩個(gè)字節(jié)包含被測(cè)溫度的數(shù)字量信息;第3、4、5字節(jié)分別是TH、TL、配置寄存器的臨時(shí)拷貝,每一次上電復(fù)位時(shí)被刷新;第6、7、8字節(jié)未用,表現(xiàn)為全邏輯1;第9字節(jié)讀出的是前面所有
13、8個(gè)字節(jié)的CRC碼,可用來保證通信正確。4.DS18B20的工作時(shí)序DS18B20的一線工作協(xié)議流程是:初始化ROM操作指令存儲(chǔ)器操作指令數(shù)據(jù)傳輸。其工作時(shí)序包括初始化時(shí)序、寫時(shí)序和讀時(shí)序,如圖2.2.3(a)(b)(c)所示。*UWfrf|h|K*0"一垢1"仆寸U>1r敲EM%LJSIXH2-It.+1tir<TY1"J"DS1B2UIhllJSrypiALYXl1跖Uru41鼻1rv*1ul-+*(a)初始化時(shí)序(b)寫時(shí)序(c)讀時(shí)序圖2.4DS18B20的工作時(shí)序圖5.DS18B20高速暫存器共9個(gè)存儲(chǔ)單元,如表所示:序號(hào)寄存器名稱
14、作用序號(hào)寄存器名稱0溫度低字節(jié)以16位補(bǔ)碼形式4配置寄存器1溫度高字節(jié)存放5、6、7保留2TH/用戶字節(jié)1存放溫度上限8CRC3HL/用戶字節(jié)2存放溫度下限4.1以12位轉(zhuǎn)化為例說明溫度高低字節(jié)存放形式及計(jì)算:12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)高低兩個(gè)8位的RAM中,二進(jìn)制中的前面5位是符號(hào)位。如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)到的數(shù)值需要取反加1再乘于0.0625才能得到實(shí)際溫度。高8位SSSSS262524低8位232221202-12-22-32-44.2DS18B20有六條控制命令,如表所
15、示:指令約定代碼操作說明溫度轉(zhuǎn)換44H啟動(dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換讀暫存器BEH讀暫存器9個(gè)字節(jié)容寫暫存器4EH將數(shù)據(jù)寫入暫存器的TH、TL字節(jié)復(fù)制暫存器48H把暫存器的TH、TL字節(jié)寫到E2RAM中重新調(diào)E2RAMB8H把E2RAM中的TH、TL字節(jié)寫到暫存器TH、TL字節(jié)讀電源供電方式B4H啟動(dòng)DS18B20發(fā)送電源供電方式的信號(hào)給主CPU2.3 主要電路及功能1.單片機(jī)的復(fù)位電路及時(shí)鐘電路單片機(jī)的時(shí)鐘電路有1個(gè)12M的晶振和兩個(gè)20PF的小電容組成,它們決定了單片機(jī)的工作時(shí)間精度為1微秒。AT89C51單片機(jī)作為整個(gè)硬件系統(tǒng)的核心,它既是協(xié)調(diào)整機(jī)工作的控制器,又是數(shù)據(jù)處理器。該單片機(jī)為
16、51系列增強(qiáng)型8位單片機(jī),它有32個(gè)I/O口,片含4KFLASH工藝的程序存儲(chǔ)器,便于用電的方式瞬間擦除和改寫,而且價(jià)格便宜,其外部晶振為2MHz,一個(gè)指令周期為1“S。使用該單片機(jī)完全可以完成設(shè)計(jì)任務(wù),其最小系統(tǒng)主要包括:復(fù)位電路、震蕩電路。5丄ElucLEIi-YELIjOWJrI-EaZFC-D1KTAL1XTMLZPQU'AHnPQ.Id'AEilP口3丘Pni'HlGPD.W.hi4卩口*.店P(guān)DJADGfl!=:TPHTJAft?PZ_Q'«ZPZS.h1口reEir11ALEEkPZS'A.IlF.S'AUP2.7/A1S
17、P1RP3ITRXDP1.1pa.irrxDP1P32i,_nrraf1JFnnlMTTP1.*F3.4TraP1F35TT1F1J6F3.SWRP1.7P工KETJtT®j5T19sFRaEhF4Zzifffzepfs1DF121314-1SF1T圖2.5單片機(jī)模塊2.顯示電四位數(shù)碼管有8位控碼和4個(gè)段控碼。數(shù)碼管分共陰極和共陽極。而我們采用的是共陽極的數(shù)碼管作為溫度控制器的顯示電路。則需要將陽極接在電源上。PiSCDEFGDF-1234FDD'-AICFD.IlhUIF02i'_ijIQpnaiHia陽.訝如POS'-MISPD.GLmKFD.Ti'
18、;-hI-TP2£J'.P2.di'«PZ'AHPZ.WAEPZiWACPE.&'XI*P2.7rfA1F3.溫度傳感器電路Z1zzZ32?圖2.6顯示電路溫度檢測(cè)控制模擬電路圖DS18B20原件及其連線如圖溫度此傳感器上顯示的溫度同步顯示4.存儲(chǔ)器AT24C02(1)AT24C02是一個(gè)2K位串行CMOSE2PROM,部含有256個(gè)8位字節(jié),CATALYST公司的先進(jìn)CMOS技術(shù)實(shí)質(zhì)上減少了器件的功耗°AT24C02有一個(gè)8字節(jié)頁寫緩沖器。該器件通過IIC總線接口進(jìn)行操作,有一個(gè)專門的寫保護(hù)功能。管腳名稱功能AOA1A2器
19、件地址選擇SDA串行數(shù)據(jù)哋址SCL串行時(shí)鈾WP寫保護(hù)VccH工作電壓地(2)功能描述AT24C02支持I2C,總線數(shù)據(jù)傳送協(xié)議I2C,總線協(xié)議規(guī)定任何將數(shù)據(jù)傳送到總線的器件作為發(fā)送器。任何從總線接收數(shù)據(jù)的器件為接收器。數(shù)據(jù)傳送是由產(chǎn)生串行時(shí)鐘和所有起始停止信號(hào)的主器件控制的。主器件和從器件都可以作為發(fā)送器或接收器,但由主器件控制傳送數(shù)據(jù)(發(fā)送或接收)的模式,由于A0、A1和A2可以組成000111八種情況即通過器件地址輸入端A0、1和A2可以實(shí)現(xiàn)將最多8個(gè)AT24C02器件連接到總線上,通過進(jìn)行不同的配置進(jìn)行選擇器件。圖2.8AT24C025.溫度上下限調(diào)節(jié)系統(tǒng)通過按鍵控制鍵選著調(diào)節(jié)對(duì)象,通過
20、上升下降調(diào)節(jié)值大小,控制開關(guān),升溫開關(guān),降溫開關(guān),設(shè)置開關(guān)分別為,k1,k2,k3,開始顯示的是當(dāng)前溫度,K1開關(guān),用來控制進(jìn)入溫度上限,下限的調(diào)節(jié)界面。按k1,一次進(jìn)入三個(gè)界面。按K2為加1開關(guān),按一下,加1,k3減1開關(guān),按一下,減1。圖2.9上下限調(diào)節(jié)電路7.報(bào)警電路系統(tǒng)通過LED指示燈的閃爍以及蜂鳴器的鳴叫實(shí)現(xiàn)報(bào)警,如果溫度超過上限高溫指示燈亮,蜂鳴器鳴叫,低于下限低溫指示燈亮,蜂鳴器鳴叫。圖2.10報(bào)警電路第三章軟件系統(tǒng)的設(shè)計(jì)3.1程序流程圖開始總線置1并延時(shí)總線置0并延時(shí)480總線置1返回溫度比較溫度低于低:溫下限,低溫報(bào)L_S51寄存器初始化r18b203.2、在設(shè)定區(qū)間內(nèi)i丫讀
21、寫控制寄存器控制寄W-I(b寫操作算法流程圖讀操作算法流程圏3.3溫度傳感器流程圖第四章仿真與調(diào)試4.1軟件電路故障與解決辦法1. 以斷點(diǎn)或連續(xù)方式運(yùn)行時(shí),目標(biāo)測(cè)試系統(tǒng)沒有按照規(guī)定的功能進(jìn)行操作或什么結(jié)果也沒有,可能是由于程序轉(zhuǎn)移到意外之處或在某處死循環(huán)所造成的。2. 不響應(yīng)中斷Cpu不響應(yīng)中斷或者是不響應(yīng)某一個(gè)中斷這種錯(cuò)誤的現(xiàn)象是連續(xù)運(yùn)行時(shí)不執(zhí)行中斷程序的操作。當(dāng)斷點(diǎn)在中斷入口或者中斷服務(wù)程序中時(shí)碰不到斷點(diǎn)。錯(cuò)誤可能由中斷寄存器(IE、IP)的初值設(shè)置不當(dāng),使CPU沒有開放中斷或者不許某個(gè)中斷源請(qǐng)求,或者對(duì)片的定時(shí)器、串行口等特殊功能的寄存器和I/O接口程序有錯(cuò)誤,造成中斷沒有被激活。又或者
22、某一中斷程序不是RET指令作為返回主程序的指令,CPU雖然已經(jīng)返回到主程序但部中斷狀態(tài)寄存器沒有被消除,從而不影響中斷,或者外部中斷源的硬件故障使得外部中斷請(qǐng)求無效。4.2軟件調(diào)試方法軟件調(diào)試所使用的方法有:計(jì)算程序的調(diào)試方法、I/O處理程序的調(diào)試法、綜合調(diào)試法等。1、計(jì)算程序的調(diào)試方法:計(jì)算程序的錯(cuò)誤是一種靜態(tài)的固定的錯(cuò)誤,因此主要用單拍或者斷點(diǎn)運(yùn)行方法來調(diào)試。根據(jù)計(jì)算程序的功能,事先準(zhǔn)備好一組測(cè)試數(shù)據(jù)。調(diào)試時(shí),用仿真器寫命令。將命令數(shù)據(jù)寫入計(jì)算程序的緩沖單元,然后從計(jì)算程序開始運(yùn)行到結(jié)束,運(yùn)行結(jié)果與計(jì)算的正確數(shù)據(jù)做比較,如果對(duì)有的測(cè)試數(shù)據(jù)進(jìn)行測(cè)試沒有發(fā)現(xiàn)錯(cuò)誤,則該計(jì)算程序調(diào)試成功。如果發(fā)現(xiàn)
23、結(jié)果不正確,改用單步運(yùn)行的方法找出錯(cuò)誤所在。如果是計(jì)算錯(cuò)誤,則需要修改重新設(shè)計(jì)程序,如果是局部的指令錯(cuò)誤,修改局部程序就可以了。如果是用于測(cè)試的數(shù)據(jù)沒有全部覆蓋實(shí)際計(jì)算的原始數(shù)據(jù)的類型,調(diào)試沒有發(fā)現(xiàn)錯(cuò)誤可能在系統(tǒng)運(yùn)行中暴露出來。2、I/O接口處理程序的調(diào)試:對(duì)于A/D轉(zhuǎn)換器一類的I/O接口處理程序是實(shí)時(shí)處理程序,因此一般用全速斷點(diǎn)運(yùn)行方式或連續(xù)運(yùn)行方法進(jìn)行調(diào)試。3、綜合調(diào)試:在完成了各個(gè)程序模塊的調(diào)試工作之后,就可以進(jìn)行系統(tǒng)的綜合調(diào)試。綜合調(diào)試采用全速運(yùn)行或斷點(diǎn)運(yùn)行方式,這個(gè)階段的主要工作是檢測(cè)系統(tǒng)里面遺留的錯(cuò)誤以及提高系統(tǒng)的動(dòng)態(tài)性能和精度。在綜合調(diào)試階段,應(yīng)該注意系統(tǒng)的晶振頻率工作,使系統(tǒng)全
24、速運(yùn)行目標(biāo)程序,實(shí)現(xiàn)預(yù)定功能技術(shù)指標(biāo)之后,就可以將軟件固化,然后在運(yùn)行固化的目標(biāo)程序,成功后目標(biāo)系統(tǒng)就可以脫機(jī)運(yùn)行。4.3仿真后,部分顯示成果圖4.nnnuunII:TEDL.R1丄-_,_u=n;PZ.YMP2S'.KIEpmP3«TAI3A2Vai3AZ&A!-PETfAIS口Tsd*sfiT13.1/TWDFasmspcuffm*3<nirsarrira.ii'FFR211-鹿-期4.1CAV".-.Ir.;>rriLi15M-TE-TOH«JDCD卍口口P23AC1F3HflkDLEHYELUOi.«.i;.t
25、-.-口21=xhTIEInIF調(diào)節(jié)溫度上線IBFV5TTP-IJ3P1.1Fnaxa汕.Qo+PDSftMwag?DJp7rmtKHFEjrirt-EP2SL4口P7OAUFZJW15FaaKTHfsj'IRTTraarrira.eflKKra.7/TT-K4.2調(diào)節(jié)溫度下線此是用菲門代晉pup型三極i避置BTL&-TajjO'dIIKIOFT'BALfMTALIPO.1i!>XHXIX12rn*>:>PO.<.5J5+POSXWrOi5F.M>5ranrnTi'.KDTrSJSYKSr*ZMT口.fiLE任肝.fEFFp
26、ijiP*lf.1irrtnP2fq品TrraP1M旳ninP1.LA3tmPT崎A1VT1P1j!P1.1I3JI1CFU1ZJtTWba-ZHJ4V-:逮蓋r0JZ-m甌rJJ:季Iia此刪曲非門代晉PNF吐三檻蒼nsT-tsaenfTE"!%圖4.3.顯示當(dāng)前溫度H3HC匚呂匚DEFGEF1E3斗圖4.4溫度高于溫度上限,高溫報(bào)警燈亮,蜂鳴器鳴叫第五章設(shè)計(jì)總結(jié)這種溫度報(bào)警器結(jié)構(gòu)簡(jiǎn)單。工作時(shí),溫度測(cè)量圍為0250°C。當(dāng)溫度達(dá)到預(yù)定值時(shí),立刻發(fā)出報(bào)警信號(hào),從而防止因溫度升高或過低而帶來的不必要的損失。通過本次工程設(shè)計(jì),又使我學(xué)到了許多書本上無法學(xué)到的知識(shí),也使也深該體會(huì)
27、到單片機(jī)技術(shù)應(yīng)用領(lǐng)域的廣泛不僅使我對(duì)學(xué)過的單片機(jī)知識(shí)有了很多的鞏固,同時(shí)也對(duì)單片機(jī)這一門課程產(chǎn)生了更大的興趣。在做本次工程設(shè)計(jì)的過程中,我感觸最深的當(dāng)屬查閱大量的設(shè)計(jì)資料了。為了讓自己的設(shè)計(jì)更加完善,查閱這方面的設(shè)計(jì)資料是十分必要的,同時(shí)也是必不可少的。我們是在做單片機(jī)工程設(shè)計(jì),但我們不是藝術(shù)家,他們可以拋開實(shí)際盡情在幻想的世界里翱翔,而我們一切都要有據(jù)可依,有理可尋,不切實(shí)際的構(gòu)想永遠(yuǎn)只能是構(gòu)想,永遠(yuǎn)無法升級(jí)為設(shè)計(jì)。其次,我學(xué)會(huì)了在網(wǎng)絡(luò)上查找有關(guān)本設(shè)計(jì)的各硬件的資源,其中包括:AT89C51單片機(jī)及其引腳說明、ADC0808引腳圖及其引腳功能等,為本次工程設(shè)計(jì)提供了一定的資料。經(jīng)過這次的設(shè)計(jì)
28、,為我們以后畢業(yè)設(shè)計(jì)的制作也奠定了一定的基礎(chǔ)第六章參考文獻(xiàn)1 輝主編.單片機(jī)原理及應(yīng)用.化學(xué)工業(yè).2010年8月,第一版2 巧媛主編.單片機(jī)原理及應(yīng)用(第二版).電子工業(yè),20023 何力民編.單片機(jī)高級(jí)教程.航空大學(xué),20004 強(qiáng)等.傳感器技術(shù)與應(yīng)用.高等教育,20105王錦標(biāo),方崇智.過程計(jì)算機(jī)控制.清華大學(xué),1997:36406胡壽松.自動(dòng)控制原理,:國防工業(yè),2000:1031247伯春.智能PID調(diào)節(jié)器的設(shè)計(jì)及應(yīng)用、電子自動(dòng)化,1995:(3):20258 周景潤,麗娜.基于proteus的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真M.:航空航天大學(xué),20069 王忠飛,胥芳.MCS51單片機(jī)原理
29、及嵌入式系統(tǒng)應(yīng)用M.:電子科技大學(xué),200710 娜,剛,于珍珠等.基于51單片機(jī)的溫度測(cè)量系統(tǒng)J.微計(jì)算機(jī)信息,2007,12附錄:附錄一系統(tǒng)整體流程圖:附錄二程序代碼:;/宏定義定義調(diào)整鍵#include<reg52h>#defineuiunsignedint#defineucunsignedcharsbitSET=P3J;sbitDEC=P3"2;sbitADD=P33;sbitBEEP=P3"sbitALAM=P2;sbitDQ=P3"7;sbitSCL=P6;sbitSDA=P7;sbitDIAN=P05;bitbdatashanshuo_s
30、t;bitbdatabeep_st;ucx=0;uibai,shi,ge;ucset_st=0;charshangxian,xiaxian;/定義減少鍵/定義增加鍵/定義蜂鳴器/定義燈光報(bào)警定義DS18B20總線I/O/小數(shù)點(diǎn)/閃爍間隔標(biāo)志/蜂鳴器間隔標(biāo)志/計(jì)數(shù)器/狀態(tài)標(biāo)志/uccodeLEDData=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff;uccodeLEDData=0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0xCF,0xDA,0x9B,0xDC,0x9B,0x8B
31、;/=/=DS18B20=/=/*延時(shí)子程序*/voidDelay_DS18B20(intnum)while(num-);voiddelay()/5微秒延時(shí)函數(shù);voidstart()/開始信號(hào)SDA=1;delay();SCL=1;delay();SDA=0;delay();voidstop()/終止信號(hào)SDA=0;delay();SCL=1;delay();SDA=1;delay();voidrespons()/應(yīng)答uci;SCL=1;delay();while(SDA=l)&&(i<250)i+;如果SDA為低應(yīng)答有效,或者超過一定時(shí)間默認(rèn)應(yīng)答有效SCL=0;del
32、ay();voidinit24c04()/I2C總線初始化SDA=1;delay();SCL=1;delay();voidwrite_byte(ucdate)/寫操作uci,temp;temp=date;for(i=0;i<8;i+)temp=temp<<1;SCL=0;delay();SDA=CY;delay();SCL=1;delay();SCL=0;delay();SDA=1;delay();ucread_byte()讀操作uci,k;SCL=0;delay();SDA=1;delay();for(i=0;i<8;i+)SCL=1;delay();k=(k<
33、<1)|SDA;SCL=0;delay();returnk;voidwrite_add(ucaddress,ucdate)/往任意地址存數(shù)據(jù)start();write_byte(0xa0);/0xa0代表寫入respons();write_byte(address);respons();write_byte(date);respons();stop();ucread_add(ucaddress)/讀隨意地址容ucdate;start();write_byte(0xa0);/0xa0代表寫入respons();write_byte(address);respons();start();wr
34、ite_byte(0xal);/0xal代表讀出respons();date=read_byte();stop();returndate;/返回值/*初始化DS18B20*/voidInit_DS18B20(void)ucw=0;DQ=1;/DQ復(fù)位Delay_DS18B20(8);/稍做延時(shí)DQ=0;單片機(jī)將DQ拉低Delay_DS18B20(78);精確延時(shí),大于480usDQ=1;/拉高總線Delay_DS18B20(14);w=DQ;稍做延時(shí)后,如果x=0則初始化成功,x=1則初始化失敗Delay_DS18B20(20);/*讀一個(gè)字節(jié)*/unsignedcharReadOneChar
35、(void)uci=0;ucdat=0;for(i=8;i>0;i-)DQ=0;/給脈沖信號(hào)dat>>=1;DQ=1;/給脈沖信號(hào)if(DQ)dat|=0x80;Delay_DS18B20(4);return(dat);/*寫一個(gè)字節(jié)*/voidWriteOneChar(ucdat)uci=0;for(i=8;i>0;i-)DQ=0;DQ=dat&0x01;Delay_DS18B20(5);DQ=1;dat>>=1;/*讀取溫度*/uiReadTemperature(void)uib=0;uit=0;uia=0;floattt=0;Init_DS18
36、B20();WriteOneChar(0xCC);/跳過讀序號(hào)列號(hào)的操作WriteOneChar(0x44);/啟動(dòng)溫度轉(zhuǎn)換Init_DS18B20();WriteOneChar(0xCC);/跳過讀序號(hào)列號(hào)的操作WriteOneChar(0xBE);/讀取溫度寄存器a=ReadOneChar();/讀低8位b=ReadOneChar();/讀高8位t=b;t<<=8;t=t|a;tt=t*0.0625;t=tt*10+0.5;/放大10倍輸出并四舍五入return(t);/=/=/=/*延時(shí)子程序*/voidDelay(uinum)while(-num);/*初始化定時(shí)器0*/v
37、oidInitTimer(void)TMOD=0x01;TH0=0x3c;TL0=0xb0;/50ms(晶振12M)/*讀取溫度*/voidcheck_wendu(void)uif;獲取溫度值并減去DS18B20的溫漂誤差f=ReadTemperature()-5;if(f<0)f=0;if(f>999)f=999;bai=f/100;/計(jì)算得到百位數(shù)字shi=(f%100)/10;/計(jì)算得到十位數(shù)字ge=(f%100)%10;/計(jì)算得到個(gè)位數(shù)位/*顯示開機(jī)初始化等待畫面*/voidDisp_init(void)P0=0x80;/顯示P2=0x7F;Delay(200);P2=0x
38、DF;Delay(200);P2=0xF7;Delay(200);P2=0xFD;Delay(200);P2=0xFF;/關(guān)閉顯示/*顯示溫度子程序*/voidDisp_Temperature(void)/顯示溫度P0=0x98;顯示CP2=0x7F;Delay(400);P2=0xff;/關(guān)閉顯示P0=LEDDatage;/顯示個(gè)位P2=0xDF;Delay(400);P2=0xff;/關(guān)閉顯示P0=LEDDatashi;/顯示十位DIAN=0;/顯示小數(shù)點(diǎn)P2=0xF7;Delay(400);P2=0xff;/關(guān)閉顯示P0=LEDDatabai;/顯示百位P2=0xFD;Delay(400
39、);/關(guān)閉顯示P2=0xff;/*顯示報(bào)警溫度子程序*/voidDisp_alarm(ucbaojing)P0=0x98;顯示CP2=0x7F;/01111111Delay(200);P2=0xff;/關(guān)閉顯示P0=LEDDatabaojing%10;/顯示十位P2=0xDF;/1101Delay(200);P2=0xff;/關(guān)閉顯示P0=LEDDatabaojing/10;/顯示百位P2=0xF7;/11110111Delay(200);P2=0xff;/關(guān)閉顯示if(set_st=1)P0=0xCE;elseif(set_st=2)P0=0x1A;上限H、下限L標(biāo)示P2=0xFD;Dela
40、y(200);P2=0xff;/關(guān)閉顯示/*報(bào)警子程序*/voidAlarm()if(x>=10)beep_st=beep_st;x=0;if(bai*10+shi)>=shangxian)|(bai*10+shi)<xiaxian)&&beep_st=1)BEEP=0;ALAM=0;elseif(bai*10+shi)>=shangxian)|(bai*10+shi)<xiaxian)&&beep_st=0)BEEP=1;ALAM=1;elseif(bai*10+shi)<shangxian)&&(bai*10+shi)>=xiaxian)BEEP=1;ALAM=1;/*主函數(shù)*/voidmain(void)uiz;InitTimer();/初始化定時(shí)器EA=1;/全局中斷開關(guān)TR0=1;E
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年湖南郴州市百??毓杉瘓F(tuán)有限公司招聘9人參考考試題庫附答案解析
- 蔬菜生產(chǎn)基地制度
- 農(nóng)業(yè)生產(chǎn)技術(shù)指導(dǎo)制度
- 分類生產(chǎn)現(xiàn)場(chǎng)管理制度
- 科研生產(chǎn)實(shí)驗(yàn)室管理制度
- 2026年濰坊青州市事業(yè)單位公開招聘綜合類崗位人員(32人)參考考試試題附答案解析
- 生產(chǎn)成包梯級(jí)制度
- 2026上半年黑龍江省衛(wèi)生健康委員會(huì)直屬事業(yè)單位招聘125人備考考試試題附答案解析
- 鎮(zhèn)建立農(nóng)產(chǎn)品生產(chǎn)制度
- 無視項(xiàng)目生產(chǎn)管理制度
- 防寒防凍防滑安全培訓(xùn)課件
- 駕校教練員安全知識(shí)培訓(xùn)課件
- 《危險(xiǎn)化學(xué)品安全法》解讀與要點(diǎn)
- 電力網(wǎng)絡(luò)安全培訓(xùn)教學(xué)課件
- 2025年宜昌市“招才興業(yè)”市直事業(yè)單位人才引進(jìn)47人·重慶大學(xué)站筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 上海市徐匯區(qū)上海中學(xué)2025-2026學(xué)年高三上學(xué)期期中考試英語試題(含答案)
- 2025秋滬科版(五四制)(新教材)初中科學(xué)六年級(jí)第一學(xué)期知識(shí)點(diǎn)及期末測(cè)試卷及答案
- 孕婦貧血教學(xué)課件
- 5年(2021-2025)山東高考生物真題分類匯編:專題17 基因工程(解析版)
- 新華資產(chǎn)招聘筆試題庫2025
- 智能化項(xiàng)目驗(yàn)收流程指南
評(píng)論
0/150
提交評(píng)論