智能儀課程設(shè)計(jì)_第1頁(yè)
智能儀課程設(shè)計(jì)_第2頁(yè)
智能儀課程設(shè)計(jì)_第3頁(yè)
智能儀課程設(shè)計(jì)_第4頁(yè)
智能儀課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 太原理工大學(xué)現(xiàn)代科技學(xué)院 智能儀器設(shè)計(jì) 課程設(shè)計(jì) 專業(yè)班級(jí) 自動(dòng)化11-2 學(xué) 號(hào) 姓 名 題 目 號(hào) 14 題 目 14 試設(shè)計(jì)智能儀表實(shí)現(xiàn)智能數(shù)字顯示儀表。要求8位數(shù)碼管顯示(4位顯示測(cè)量值,4位顯示設(shè)定值),4輸入按鈕(功能選擇、數(shù)碼管選擇、數(shù)字增加、數(shù)字減少),可設(shè)定上下限報(bào)警(蜂鳴器報(bào)警)。適配鐵銅鎳熱電阻,測(cè)溫范圍為0200。采用比例控制、并用晶閘管脈寬調(diào)制驅(qū)動(dòng)1000W電加熱器(電源電壓為AC220V)。 摘 要智能儀器是含有微型計(jì)算機(jī)或者微型處理器的測(cè)量?jī)x器,擁有對(duì)數(shù)據(jù)的存儲(chǔ)運(yùn)算邏輯判斷及自動(dòng)化操作等功能。它的出現(xiàn),極大地?cái)U(kuò)充了傳統(tǒng)儀器的應(yīng)用范圍。智能儀器憑借其體積小,功能強(qiáng)

2、,功耗低等優(yōu)勢(shì),迅速的在家用電器,研單位和工業(yè)企業(yè)中得到了廣泛的應(yīng)用。傳感器取被測(cè)參量的信息并轉(zhuǎn)換成電信號(hào),經(jīng)濾波去除干擾后送入多路模擬開關(guān);由單片機(jī)逐路選通模擬開關(guān)將各輸入通道的信號(hào)逐一送入程控增益放大器,放大后的信號(hào)經(jīng)AD轉(zhuǎn)換器轉(zhuǎn)換成相應(yīng)的脈沖信號(hào)后送入單片機(jī)中;單片機(jī)根據(jù)儀器所設(shè)定的初值進(jìn)行相應(yīng)的數(shù)據(jù)運(yùn)算和處理(如非線性校正等);運(yùn)算的結(jié)果被轉(zhuǎn)換為相應(yīng)的數(shù)據(jù)進(jìn)行顯示和打??;同時(shí)單片機(jī)把運(yùn)算結(jié)果與存儲(chǔ)于片內(nèi)FlashROM(閃速存儲(chǔ)器)或EPROM(電可擦除存貯器)內(nèi)的設(shè)定參數(shù)進(jìn)行運(yùn)算比較后,根據(jù)運(yùn)算結(jié)果和控制要求,輸出相應(yīng)的控制信號(hào)(如報(bào)警裝置觸發(fā)、繼電器觸點(diǎn)等)。本次設(shè)計(jì)使用鐵-銅鎳熱

3、電阻。傳感器取被測(cè)參量的信息并轉(zhuǎn)換成電信號(hào),經(jīng)濾波去除干擾后送入多路模擬開關(guān);由單片機(jī)逐路選通模擬開關(guān)將各輸入通道的信號(hào)逐一送入程控增益放大器,放大后的信號(hào)經(jīng)AD轉(zhuǎn)換器轉(zhuǎn)換成相應(yīng)的脈沖信號(hào)后送入單片機(jī)中;單片機(jī)根據(jù)儀器所設(shè)定的初值進(jìn)行相應(yīng)的數(shù)據(jù)運(yùn)算和處理(如非線性校正等);運(yùn)算的結(jié)果被轉(zhuǎn)換為相應(yīng)的數(shù)據(jù)進(jìn)行顯示和打??;同時(shí)單片機(jī)把運(yùn)算結(jié)果與存儲(chǔ)于片內(nèi)FlashROM(閃速存儲(chǔ)器)或EPROM(電可擦除存貯器)內(nèi)的設(shè)定參數(shù)進(jìn)行運(yùn)算比較后,根據(jù)運(yùn)算結(jié)果和控制要求,輸出相應(yīng)的控制信號(hào)(如報(bào)警裝置觸發(fā)、繼電器觸點(diǎn)等)。此外,智能儀器還可以與PC機(jī)組成分布式測(cè)控系統(tǒng),由單片機(jī)作為下位機(jī)采集各種測(cè)量信號(hào)與數(shù)

4、據(jù),通過串行通信將信息傳輸給上位機(jī)PC機(jī),由PC機(jī)進(jìn)行全局管理。本次課程設(shè)計(jì)采用keil編譯軟件編寫C語言源代碼。經(jīng)調(diào)試好后,裝載入單片機(jī)進(jìn)行仿真,完成智能儀器的核心設(shè)計(jì)。關(guān)鍵字:STC89C51單片機(jī),AD轉(zhuǎn)換器,鐵-銅鎳電阻,EPROM,智能儀器,數(shù)字測(cè)溫溫度計(jì) 目 錄摘 要2一 設(shè)計(jì)目的及原理41.1設(shè)計(jì)題目和目的41.1.1設(shè)計(jì)題目41.2設(shè)計(jì)基本要求41.3設(shè)計(jì)原理5二硬件設(shè)計(jì)51.1系統(tǒng)原理框圖51.1.1 STC89C51簡(jiǎn)介61.2基本模塊簡(jiǎn)介91.2.1 鐵-銅鎳溫度測(cè)量接口技術(shù)91.2.2鐵-銅鎳熱電阻信號(hào)調(diào)理電路設(shè)計(jì)91.2.3功率輸出電路101.2.4 4-20mA電流

5、輸出電路101.2.5數(shù)碼管顯示及指示電路101.2.6按鍵電路121.2.7報(bào)警電路121.2.8下載電路131.2.9 通信電路131.2.10輸出驅(qū)動(dòng)電路141.2.11電源電路141.2.12比例控制算法141.1.13熱非線性校正算法151.3.1基于STC89C51單片機(jī)實(shí)現(xiàn)智能測(cè)溫儀表軟件設(shè)計(jì)161.3.2基于STC89C51單片機(jī)的智能測(cè)溫儀表程序框架17三 系統(tǒng)流程圖19四、 總原理圖204.2 PCB版圖22五、電路仿真的設(shè)計(jì)與分析23.Proteus仿真軟件介紹:23.仿真分析:23六、體會(huì)心得25附錄 C語言程序:27附錄2 參考文獻(xiàn):35一 設(shè)計(jì)目的及原理1.1設(shè)計(jì)題

6、目和目的1.1.1設(shè)計(jì)題目實(shí)現(xiàn)智能數(shù)字顯示儀表。要求8位數(shù)碼管顯示(4位顯示測(cè)量值,4位顯示設(shè)定值),4輸入按鈕(功能選擇、數(shù)碼管選擇、數(shù)字增加、數(shù)字減少),可設(shè)定上下限報(bào)警(蜂鳴器報(bào)警)。適配鐵-銅鎳熱電阻,測(cè)溫范圍為0200。采用比例控制、并用晶閘管脈寬調(diào)制驅(qū)動(dòng)1000W電加熱器(電源電壓為AC220V)。1.1.2設(shè)計(jì)目的 涉及智能儀表硬件與軟件設(shè)計(jì)。智能儀器課程設(shè)計(jì)是智能儀器課程教學(xué)的重要環(huán)節(jié),根據(jù)設(shè)計(jì)智能儀表產(chǎn)品的課程改革目的,特選擇一些小型智能儀表產(chǎn)品作為課設(shè)題目,滿足教學(xué)需求。單片機(jī)綜合練習(xí)是一項(xiàng)綜合性的專業(yè)實(shí)踐活動(dòng),目的是讓學(xué)生將所學(xué)的基礎(chǔ)理論和專業(yè)知識(shí)運(yùn)用到具體的工程實(shí)踐中,

7、以培養(yǎng)學(xué)生綜合運(yùn)用知識(shí)能力、實(shí)際動(dòng)手能力和工程實(shí)踐能力。1.2設(shè)計(jì)基本要求(1)正確理解設(shè)計(jì)題目,經(jīng)過查閱資料,給出正確設(shè)計(jì)方案,畫出詳細(xì)儀表原理框圖(各個(gè)功能部分用方框表示,各塊之間用實(shí)際信號(hào)線連接)。 在互連網(wǎng)上收集題目中所用到的器件資料,例如傳感器(熱偶分度表等)、信號(hào)調(diào)理電路、AD轉(zhuǎn)換器、單片機(jī)、繼電器、電源、顯示器件等。在互連網(wǎng)上收集相關(guān)單片機(jī)的顯示、AD轉(zhuǎn)換、顯示、控制算法等程序。在充分研究這些資料基礎(chǔ)之上,給出設(shè)計(jì)方案(選擇信號(hào)調(diào)理電路、單片機(jī)、顯示、按鍵輸入、繼電器驅(qū)動(dòng)、電源等,簡(jiǎn)要說明選擇的理由)(2)用Protel99SE軟件設(shè)計(jì)儀表詳細(xì)原理圖。要求正確標(biāo)記元件序號(hào)、元件數(shù)

8、值、封裝名。(3)設(shè)計(jì)PCB圖在畫PCB前應(yīng)該購(gòu)買元件,因?yàn)橛辛嗽胖婪庋b尺寸,但也可以不購(gòu)買元件,只到元件商店測(cè)量實(shí)際元件尺寸后,畫封裝圖。(4)熟悉單片機(jī)內(nèi)部資源,學(xué)會(huì)ADC、SPI接口、定時(shí)器、中斷、串口、I/O引腳等模塊的編程。(5)采用C語言開發(fā)所設(shè)計(jì)儀表的程序。 按照題目要求,確定儀表需要完成的任務(wù)(功能),然后分別編制各任務(wù)的程序。程序應(yīng)該有說明,并有詳細(xì)注釋。1.3設(shè)計(jì)原理 由熱電阻傳感器送來的電信號(hào)在測(cè)量橋路進(jìn)行冷端自動(dòng)補(bǔ)償后,送入放大器,一面把信號(hào)進(jìn)行放大,同時(shí)把非線性信號(hào)校正為線性信號(hào),經(jīng)線性放大信號(hào)一路轉(zhuǎn)換電路把模擬量轉(zhuǎn)換成數(shù)字信號(hào)進(jìn)行數(shù)字顯示,另一路傳輸?shù)秸{(diào)節(jié)網(wǎng)絡(luò)

9、,進(jìn)行規(guī)定的比較運(yùn)算,同時(shí)輸出一個(gè)需要的控制信號(hào)和進(jìn)行工作狀態(tài)指示。二硬件設(shè)計(jì)1.1系統(tǒng)原理框圖Atmega16l單片機(jī)按鍵報(bào)警指示和顯示熱電阻輸入下載通信 本設(shè)計(jì)智能溫度數(shù)顯表由溫度監(jiān)測(cè)、信號(hào)處理、輸出控制三部分組成。其系統(tǒng)框圖如圖1所示,它通過Pt100熱電阻傳感器獲取繞組溫度值,經(jīng)信號(hào)調(diào)理電路處理后直接送入控制器的A/D轉(zhuǎn)換輸入端。微控制器根據(jù)信號(hào)數(shù)據(jù)及設(shè)定的各種控制參數(shù),按照嵌入的軟件控制規(guī)律執(zhí)行計(jì)算與處理,自動(dòng)顯示智能儀表數(shù)顯表可測(cè)的溫度范圍、并根據(jù)當(dāng)前狀態(tài)輸出正常、設(shè)定上下線報(bào)警等。1.1.1 STC89C51簡(jiǎn)介 圖2 STC89C51單片機(jī)引腳 STC89C52系列單片機(jī)是從引

10、腳到內(nèi)核都完全兼容標(biāo)準(zhǔn)8051的單片機(jī),有PDIP-40、PLCC-44、PQFP-44三種封裝形式。Intel公司MCS-51單片機(jī)的基本結(jié)構(gòu)如圖1-4所示。該單片機(jī)具有如下資源:(1)一個(gè)8位算術(shù)邏輯單元(CPU)。(2)4組,共32個(gè)I/O口,每口8個(gè)引腳,可單獨(dú)尋址,其中P0、P2口具有地址/數(shù)據(jù)總線功能。(3)兩個(gè)16位定時(shí)/計(jì)數(shù)器(簡(jiǎn)稱為定時(shí)器)。(4)全雙工串行通信口。(5)5個(gè)中斷源,具有兩個(gè)中斷優(yōu)先級(jí)。(6)128B內(nèi)置RAM。(7)具有64KB可尋址數(shù)據(jù)和代碼區(qū)。(8)各個(gè)模塊采用三總線(地址、數(shù)據(jù)和控制)連接。(9)開放總線接口,P0口分時(shí)作為8位數(shù)據(jù)總線與8位地址總線,

11、P2口作為地址總線高8位。每個(gè)MCS-51單片機(jī)處理周期包括12個(gè)時(shí)鐘周期(又稱為一個(gè)機(jī)器周期),每12個(gè)時(shí)鐘(一個(gè)機(jī)器)周期用來完成一個(gè)操作,例如取指令等,指令執(zhí)行時(shí)間為時(shí)鐘頻率除以12后取倒數(shù),如果系統(tǒng)時(shí)鐘是12MHz,則相當(dāng)于執(zhí)行每條指令所需要的時(shí)間1s。1.I/O端口I/O端口0、1、2、3驅(qū)動(dòng)器與鎖存器。2.存儲(chǔ)器部分RAM:51單片機(jī)具有128字節(jié)的片內(nèi)RAM,F(xiàn)LASH:片內(nèi)ROM,用于保存代碼等,片內(nèi)ROM采用FLASH結(jié)構(gòu)的存儲(chǔ)器構(gòu)成,具有ISP功能,容量隨型號(hào)不同而不同,對(duì)于AT89S51單片機(jī),F(xiàn)LASH容量為4KB。SP:棧指針3.算術(shù)與邏輯運(yùn)算部分寄存器B:用于乘除等

12、操作的寄存器,常保存運(yùn)算的第2操作數(shù)。ACC:累加器,TMP1、TMP2:暫存器,用于暫時(shí)保存數(shù)據(jù)。ALU:8位算術(shù)邏輯單元ALU,PSW:程序狀態(tài)字,4.指令處理部分程序地址寄存器:用于保存程序地址。緩沖器:緩沖總線數(shù)據(jù)。PC+1:程序計(jì)數(shù)器加1處理模塊。PC:保存下一條指令地址的16位地址寄存器,可尋址范圍為64K。DPTR:雙數(shù)據(jù)指針,DPTR為兩個(gè)8位緩存器(DPH和DPL)組成的16位緩存器,。5.時(shí)序控制與指令寄存部分定時(shí)與控制單元:指令寄存器:保存指令并指令譯碼后,在定時(shí)與控制單元的配合下,使CPU執(zhí)行各種操作。WDT:看門狗。用于程序不運(yùn)行時(shí),自動(dòng)復(fù)位單片機(jī)。OSC:時(shí)鐘振蕩器

13、,與外接石英晶體一起組成時(shí)鐘振蕩器。6.ISP部分ISP端口:通過該端口與PC通信,實(shí)現(xiàn)在系統(tǒng)編程(ISP)。編程邏輯:控制ISP操作。7.外圍模塊部分該單片機(jī)的外圍模塊包括兩個(gè)定時(shí)器,串行接口、4個(gè)I/O口與外中斷模塊。1.2基本模塊簡(jiǎn)介1.2.1 鐵-銅鎳溫度測(cè)量接口技術(shù)(1)鐵-銅鎳金屬熱電阻簡(jiǎn)介鐵-銅鎳熱電偶測(cè)溫線(J型熱電偶)又稱鐵-康銅熱電偶,也是一種價(jià)格低廉的廉金屬的熱電偶。它的正極(JP)的名義化學(xué)成分為純鐵,負(fù)極(JN)為銅鎳合金,常被含糊地稱之為康銅,其名義化學(xué)成分為:55%的銅和45%的鎳以及少量卻十分重要的錳,鈷,鐵等元素,盡管它叫康銅,但不同于鎳鉻-康銅和銅-康銅的康

14、銅,故不能用EN和TN來替換。鐵-康銅熱電偶的覆蓋測(cè)量溫區(qū)為-2001200,但通常使用的溫度范圍為0750J型熱電偶具有線性度好,熱電動(dòng)勢(shì)較大,靈敏度較高,穩(wěn)定性和均勻性較好,價(jià)格便宜等優(yōu)點(diǎn),廣為用戶所采用。 J型熱電偶測(cè)溫線可用于真空,氧化,還原和惰性氣氛中,但正極鐵在高溫下氧化較快,故使用溫度受到限制,也不能直接無保護(hù)地在高溫下用于硫化氣氛中。1.2.2鐵-銅鎳熱電阻信號(hào)調(diào)理電路設(shè)計(jì)基于鐵-銅鎳傳感器測(cè)溫的智能測(cè)溫儀表試采用STC89C51單片機(jī)實(shí)現(xiàn)智能測(cè)溫儀表。要求8位數(shù)碼管顯示(上排4位顯示測(cè)量值,下排4位顯示設(shè)定值),4輸入按鈕(功能選擇、數(shù)碼管選擇、數(shù)值增加、數(shù)值減少),可設(shè)定上

15、下限報(bào)警(蜂鳴器報(bào)警)值。傳感器為鐵銅鎳熱電阻,測(cè)溫范圍為0200。采用比例 控制、并用晶閘管過零驅(qū)動(dòng)1000W電加熱器(電源電壓為220VAC)。還可以輸出與溫度成正比的4-20mA電流遠(yuǎn)傳到其他儀表。由題目可知,該測(cè)溫儀表需要如下電路模塊: (1)單片機(jī)電路(包括單片機(jī)最小系統(tǒng)、ADC、數(shù)碼顯示、按鍵、LED燈、電源等)。(2)鐵銅鎳熱電阻信號(hào)調(diào)理電路(3)420mA輸出電路與加熱功率驅(qū)動(dòng)電路。1.2.3功率輸出電路晶閘管過零驅(qū)動(dòng)電路1.2.4 4-20mA電流輸出電路1.2.5數(shù)碼管顯示及指示電路A:顯示電路SM1顯示的是熱電阻測(cè)的電加熱器的實(shí)際溫度值,SM2顯示的是人工設(shè)計(jì)的電加熱器的

16、期望溫度值。數(shù)碼管是有HC595芯片來驅(qū)動(dòng)的,HC595接在SPI通信的3個(gè)接口上。B:指示電路指示電路是指示按鍵的輸入狀態(tài)的。D1、D2、D3、D4與S1、S2、S3、S4一一對(duì)應(yīng),當(dāng)某個(gè)按鍵按下時(shí),單片機(jī)相應(yīng)的引腳將置低電平,使該按鍵相對(duì)應(yīng)的二極管發(fā)光。1.2.6按鍵電路4個(gè)按鍵與單片機(jī)的接線圖及個(gè)按鍵的作用如上圖所示;當(dāng)單片機(jī)的引腳輸入為低電平時(shí),表示該引腳所對(duì)應(yīng)的按鍵按下,單片機(jī)實(shí)現(xiàn)相應(yīng)的功能。1.2.7報(bào)警電路當(dāng)溫度超過報(bào)警限時(shí),單片機(jī)相應(yīng)管腳輸出一定頻率的電平。蜂鳴器發(fā)出響聲。1.2.8下載電路下載程序代碼用的是SPI接口,用ISP電纜對(duì)單片機(jī)進(jìn)行編程。1.2.9 通信電路該模塊用

17、到跳線,不通信時(shí)D0、D1口作為常規(guī)I/O口使用;通信時(shí)其作為通信口使用,實(shí)現(xiàn)單片機(jī)與單片機(jī)或是其它上位機(jī)的通信。1.2.10輸出驅(qū)動(dòng)電路采用光控過零驅(qū)動(dòng)晶閘管,進(jìn)而控制電加熱器的通斷電。1.2.11電源電路1.2.12比例控制算法比例控制(P)是一種控制算法,其輸出量out與溫度偏差e=SV-PV成比例關(guān)系,寫成數(shù)學(xué)公式是:out= kp * e+out0式中,e是測(cè)量溫度值PV與設(shè)定溫度值SV之間的偏差,Kp是比例系數(shù)。out是輸出量。out0是對(duì)應(yīng)e=0時(shí)的控制量,可由人工確定,通常取輸出控制量不同比例系數(shù)Kp下對(duì)象溫度變化示意圖若是假設(shè)比例帶為pb,控制量為out,設(shè)最大偏差值就是溫度

18、設(shè)置值。則有如下的偽代碼如下:e=PV-SV;kp=1/pb;out=kp*e+out0;if(outoutm)out=outm;if(out0) out=0;1.1.13熱非線性校正算法溫度范圍0200的鐵銅鎳熱電阻的表格如下:unsigned char code R_TABLE21=100, 119.40,138.51, 157.33, 175.86,194.10,212.05;若是對(duì)于熱電阻,有如下方法計(jì)算測(cè)得量RX。 假設(shè)Ri代表對(duì)應(yīng)溫度Ti的熱電阻,測(cè)量得到的熱電阻值為Rx,查表可知它位于(Ri,Ti)和R(i+1),T(i+1)兩個(gè)標(biāo)定點(diǎn)之間,則熱電阻Rx所對(duì)應(yīng)的溫度值Tx可由下式

19、求得,其算法示意如圖10-2所示。兩相鄰電阻之間差50,則(Ri+1Ri)/50為直線斜率??梢缘玫絉i到RX的溫度差為: T(RxRi)=(50/(Ri+1Ri)*(RxRi)線性標(biāo)度變換的前提條件是傳感器的輸出信號(hào)與被測(cè)參數(shù)之間呈線性關(guān)系A(chǔ)x 實(shí)際測(cè)量值(工程量)A0 一次測(cè)量?jī)x表的下限(測(cè)量范圍最小值)。Am 一次測(cè)量?jī)x表的上限(測(cè)量范圍最大值)。N0 儀表下限所對(duì)應(yīng)的數(shù)字量。Nm儀表上限所對(duì)應(yīng)的數(shù)字量。 Nx 實(shí)際測(cè)量值所對(duì)應(yīng)的數(shù)字量。1.3.1基于STC89C51單片機(jī)實(shí)現(xiàn)智能測(cè)溫儀表軟件設(shè)計(jì)(1)初始化任務(wù)I/O引腳初始化(按鈕、LED燈、ADC、DAC、E2PROM和SPI用引腳

20、初始化)。定時(shí)器0初始化。中斷初始化。(2)按鈕任務(wù):檢測(cè)按鈕并執(zhí)行按鈕動(dòng)作,需要軟件消除抖動(dòng)。功能選擇按鈕:循環(huán)選擇功能,例如,正常運(yùn)行、設(shè)置報(bào)警上限值、設(shè)置報(bào)警下限值、設(shè)置溫度給定值、設(shè)置比例控制回差值等功能。在數(shù)值設(shè)置狀態(tài),每按一次按鈕,上排4位數(shù)碼管顯示功能碼,下排顯示設(shè)置值;在正常運(yùn)行狀態(tài),上排顯示測(cè)量值,下排顯示設(shè)定溫度值。數(shù)碼管選擇按鈕:選擇需要設(shè)置數(shù)值的數(shù)碼管。數(shù)值增加按鈕:用于設(shè)置數(shù)值的增加,每按下一次,數(shù)值加1。數(shù)值減少按鈕:用于設(shè)置數(shù)值的減少,每按下一次,數(shù)值減1。按鈕設(shè)置值應(yīng)該隨時(shí)保存到24C02中。(3)掃描顯示任務(wù):數(shù)碼管位選擇與段碼輸出,就是將顯示緩沖區(qū)的內(nèi)容發(fā)送

21、到數(shù)碼管顯示,將要顯示的數(shù)據(jù),組合成數(shù)組,再轉(zhuǎn)換成十進(jìn)制數(shù)字,發(fā)送到74HC595。不需要每個(gè)主程序循環(huán)都發(fā)送顯示任務(wù),因此可在定時(shí)器0中斷中設(shè)置顯示任務(wù)執(zhí)行標(biāo)記,當(dāng)標(biāo)記為1時(shí),執(zhí)行顯示任務(wù)。由于顯示內(nèi)容隨按鈕選擇的功能不同而不同,因此功能選擇按鈕任務(wù)中應(yīng)該給出顯示控制標(biāo)記,控制顯示內(nèi)容。(4)TLC1549數(shù)據(jù)獲取任務(wù),需要將讀TLC1549的程序?qū)懗珊瘮?shù)。在定時(shí)器0中設(shè)置ADC任務(wù)執(zhí)行標(biāo)記,當(dāng)該標(biāo)記為1時(shí),執(zhí)行ADC數(shù)據(jù)獲取任務(wù)。要求連續(xù)讀取8個(gè)數(shù)據(jù),然后取平均值。并將完成濾波后的數(shù)據(jù)存入顯示數(shù)組。(5)24C02讀寫任務(wù),需要編制讀寫24C02的函數(shù)。單片機(jī)用軟件控制引腳實(shí)現(xiàn)I2C接口,

22、在上電時(shí),應(yīng)該讀出所有保存在24C02中的數(shù)據(jù)到數(shù)組中;在設(shè)置各種數(shù)據(jù)時(shí),應(yīng)該隨時(shí)將設(shè)置的數(shù)據(jù)字節(jié)寫入24C02。(6)TLC5615任務(wù),該任務(wù)是把溫度轉(zhuǎn)換成的代表電流的數(shù)字寫入TLC5615,實(shí)現(xiàn)電流輸出。該任務(wù)在定時(shí)器0給出的標(biāo)記控制下執(zhí)行。(7)定時(shí)器0中斷任務(wù),該任務(wù)是產(chǎn)生間隔的定時(shí)信號(hào),ADC轉(zhuǎn)換、掃描顯示、DAC輸出以及采樣周期、數(shù)據(jù)計(jì)算等都需要定時(shí)器0給出標(biāo)記,在標(biāo)記為1時(shí),才能執(zhí)行任務(wù)。(8)數(shù)據(jù)處理任務(wù)將TLC1549輸出的數(shù)字通過標(biāo)度變換轉(zhuǎn)成溫度值。因?yàn)镻T100的電阻值與溫度之間呈非線性,因此需要查表法矯正。具有回差比例控制算法實(shí)現(xiàn)。根據(jù)溫度值控制晶閘管使接觸器得電或失

23、電,使加熱器加熱或是不加熱。所謂回差比例控制就是當(dāng)溫度達(dá)到并超過設(shè)定值時(shí),停止加熱;當(dāng)溫度低于設(shè)定值時(shí),開始加熱。而有回差比例控制就是有兩個(gè)設(shè)定值,當(dāng)所測(cè)溫度高于上設(shè)定值時(shí)停止加熱;當(dāng)?shù)陀谙略O(shè)定值時(shí),開始加熱,上下設(shè)定值之間的溫度差稱為回差?;夭畋壤刂瓶梢苑乐菇佑|器頻繁動(dòng)作。實(shí)現(xiàn)報(bào)警算法。上限報(bào)警與下限報(bào)警分別給出不同的報(bào)警聲。計(jì)算TLC5615需要的數(shù)字,就是將溫度值轉(zhuǎn)換成電流值。1.3.2基于STC89C51單片機(jī)的智能測(cè)溫儀表程序框架基于STC89C51單片機(jī)的智能測(cè)溫儀表程序框架如下。#include /51單片機(jī)頭文件定義數(shù)碼管譯碼數(shù)組;定義數(shù)碼管位選數(shù)組;定義保存在24C02中數(shù)

24、據(jù)的數(shù)組;定義時(shí)間標(biāo)記變量; /display_time,sample_time,control_time,DAC_time等定義其他全局?jǐn)?shù)組與變量;聲明函數(shù)原型;(TLC1549,TLC5615、24C02等函數(shù))void main(void)定時(shí)器初始化;引腳初始化; /按鈕、LED燈、ADC、DAC、E2PROM和軟件SPI用引腳初始化其他初始化語句;從24C02讀數(shù)組語句;/將保存的數(shù)據(jù)讀到數(shù)組,每次單片機(jī)上電后,就使用該數(shù)組中的數(shù)據(jù)while(1)按鍵處理語句;功能選擇,控制周期、設(shè)定值、回差值、報(bào)警值等輸入;將數(shù)組寫入24C02語句; /將按鍵輸入的數(shù)據(jù)保存到數(shù)組/數(shù)碼管顯示語句:

25、if(display_time= =1) /如果顯示標(biāo)記display_time=1,則執(zhí)行顯示任務(wù),完成一位數(shù)碼管顯示數(shù)碼管掃描顯示語句;/采用兩片74HC595掃描數(shù)碼管display_time= =0;/ADC轉(zhuǎn)換與數(shù)字濾波語句:if(sample_time= =1) /如果數(shù)據(jù)采樣標(biāo)記sample_time=1,執(zhí)行ADC轉(zhuǎn)換任務(wù)TLC1549轉(zhuǎn)換、數(shù)字濾波與非線性校正程序;sample_time= =0;/ADC輸出數(shù)值判斷、報(bào)警、比例算法運(yùn)算與控制量輸出:if (control_time= =1) /如果控制周期標(biāo)記control_time=1,則實(shí)現(xiàn)控制算法溫度值判斷與報(bào)警語句;

26、比例算法運(yùn)算語句;控制量輸出語句;(引腳賦值語句)control_time=0;/DAC轉(zhuǎn)換語句:if (DAC_time= =1) /如果DAC轉(zhuǎn)換標(biāo)記DAC_time=1,將數(shù)據(jù)寫入DACTLC5615數(shù)據(jù)輸出語句;DAC_time=0;/定時(shí)器0中斷服務(wù)程序,用于產(chǎn)生顯示、ADC轉(zhuǎn)換與控制周期標(biāo)記void Timer0() interrupt 1 static unsigned char n,m,k,h;n+; m+,k+;h+;if(n= = display_time0) /display_time0為顯示周期n=0; display_time=1;if(m= = sample_tim

27、e0) /sample_time0為ADC轉(zhuǎn)換周期m=0; sample_time=1;if(k= = control_time0) /control_time0為控制周期k=0; control_time=1;if(h= = DAC_time0) /DAC_time0為DAC轉(zhuǎn)換周期h=0; DAC_time=1;3 系統(tǒng)流程圖開始系統(tǒng)初始化DS1302時(shí)鐘信號(hào)采集PT100溫度數(shù)據(jù)采集處理讀到的數(shù)據(jù)結(jié)束開始初始化函數(shù)A/D轉(zhuǎn)換器進(jìn)行A/D轉(zhuǎn)換將轉(zhuǎn)換后的電壓轉(zhuǎn)換為溫度返回開始初始化函數(shù)A/D轉(zhuǎn)換器進(jìn)行A/D轉(zhuǎn)換將轉(zhuǎn)換后的電壓轉(zhuǎn)換為溫度返回開始系統(tǒng)初始化調(diào)用時(shí)間、溫度子程序調(diào)用顯示子程序調(diào)用掃

28、描按鍵程序圖43 A/D轉(zhuǎn)換器流程圖 圖45 顯示流程圖 4、 總原理圖4.1 PROTEL99SE電氣原理圖:4.2 PCB版圖電源連接口,連接時(shí)注意極性,接錯(cuò)將損壞單片機(jī)作為電源開關(guān)的跳線短路7805的跳線DX210k電位器模擬電源輸出JMN1LED燈與模擬輸入的跳線DA1、DA2電源指示燈按鈕共陽數(shù)碼管外晶體跳線、DS1302外參考電壓跳線外接晶體編程接口單片機(jī)五、電路仿真的設(shè)計(jì)與分析.Proteus仿真軟件介紹:Proteus ISIS是英國(guó)Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的

29、特點(diǎn)是:實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:6800系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的

30、軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。具有強(qiáng)大的原理圖繪制功能??傊?,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。.仿真分析:Proteus軟件的仿真是依靠單片機(jī)程序來實(shí)現(xiàn)的,因此先將程序通過第三方Keil C51軟件編譯,連接,執(zhí)行后產(chǎn)生一個(gè)HEX文件,再與Proteus仿真軟件進(jìn)行關(guān)聯(lián)就可以實(shí)現(xiàn)仿真。本仿真電路的前置電路的兩級(jí)放大電路中,通過調(diào)節(jié)一級(jí)放大器和二級(jí)放大電路的偏置電路中滑動(dòng)變阻器范圍來調(diào)節(jié)測(cè)溫范圍,使輸入到A/D轉(zhuǎn)換器的模擬電壓在0-5V范圍內(nèi),這樣才能進(jìn)行A/D轉(zhuǎn)換。在仿真過程中由于軟硬件影響,還有人為計(jì)算誤差因素,使得測(cè)量溫

31、度結(jié)果與理想測(cè)量結(jié)果存在一定的誤差,因此可以通過改變硬件參數(shù)和軟件程序設(shè)計(jì)來減少誤差。另外,在仿真過程中,按鍵會(huì)可能產(chǎn)生抖動(dòng)現(xiàn)象,可以通過硬件來消除抖動(dòng)。啟動(dòng)Proteus軟件,按本次設(shè)計(jì)的原理圖畫出電路仿真圖,根據(jù)元件屬性設(shè)置相應(yīng)元件參數(shù)。由于PT100溫度傳感器在仿真過程中波動(dòng)較大,使得顯示的溫度跳躍變化,不易于溫度顯示與測(cè)量。因此在本次仿真中用一個(gè)電阻來代替PT100熱電阻,通過改變電阻阻值來反映PT100溫度測(cè)量。另外,由于在Proteus軟件中不能仿真LM336恒壓源,所以在本次仿真過程中采用軟件自帶的-2.5V的恒壓原代替。對(duì)于數(shù)碼管顯示電路,在仿真過程中沒有用三級(jí)管來驅(qū)動(dòng)是為了畫

32、圖的方便,這對(duì)仿真結(jié)果沒多大影響,但在實(shí)際電路連接中必須在數(shù)碼管加上三極管驅(qū)動(dòng)。系統(tǒng)電路仿真圖如圖49所示。(僅設(shè)計(jì)了信號(hào)采集與調(diào)理,外加顯示電路)六、體會(huì)心得通過這次對(duì)數(shù)字溫度計(jì)的設(shè)計(jì)與制作,讓我了解了設(shè)計(jì)單片機(jī)電路的程序,也讓我了解了關(guān)于數(shù)字溫度計(jì)的原理與設(shè)計(jì)理念,要設(shè)計(jì)一個(gè)電路總要先用仿真仿真成功之后才實(shí)際接線的。但是最后的成品卻不一定與仿真時(shí)完全一樣,因?yàn)椋賹?shí)際接線中有著各種各樣的條件制約著。而且,在仿真中無法成功的電路接法,在實(shí)際中因?yàn)樾酒旧淼奶匦远軌虺晒?。本設(shè)計(jì)實(shí)現(xiàn)了溫度的測(cè)量,在達(dá)到設(shè)計(jì)要求的同時(shí)也具備一定的擴(kuò)展性,通過簡(jiǎn)單的軟件修改,即可實(shí)現(xiàn)溫度上下限控制和越限報(bào)警功能。

33、本次設(shè)計(jì)使我更加深刻的認(rèn)知到智能儀表控制的在現(xiàn)代儀表控制中的實(shí)用性,重要性。在以后的學(xué)習(xí)中我將加大智能儀表設(shè)計(jì)的學(xué)習(xí)。在課設(shè)中認(rèn)知到了整個(gè)系統(tǒng)結(jié)構(gòu)緊湊、簡(jiǎn)單可靠、操作靈活、功能強(qiáng)、性能價(jià)格比高,較好地滿足現(xiàn)代生產(chǎn)和科研的需要。附錄 C語言程序:#include /STC89C51單片機(jī)頭文件#include Flash unsigned char disp=0xC0,0xF9,0xA4,0XB0,0x99,0x92 0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E;/定義數(shù)碼管譯碼數(shù)組Flash unsigned char weizhi=0xf

34、e,0xfd,0xfd,0xfd,0xef,0xdf,0xbf,0x7f;/定義數(shù)碼管位選數(shù)組;#define OFF 0#define ON 1DOUT=P2_5;/引腳定義CLK=P2_7;LATCH=P2_6;Unsigned char xs8;Void LED(unsigned char X)unsigned char i;for(i=8;i=1;i-)if(x&0x80)P2_5=1;else P2_5=0;P2_7=0;P2_7=1;SPI初始化;Void SPI_MasterInit(void)DDRB|=(15)|(17);SPCR=(16)|(14) |(15)|(11)|

35、(10);Void SPI_595_Out(unsigned char i)SPDR=i;While(!SPDR&(10;a-)IO=ACC0;SCLK=0;/delayus(10);SCLK=1;ACC=ACC1;uchar read_byte() /向1302讀出一字節(jié)uchar a;for(a=8;a0;a-)ACC7=IO;SCLK=1;SCLK=0;ACC=ACC1;return(ACC);void write_1302(uchar add,uchar dat) /向1302寫入數(shù)據(jù)RST=0;SCLK=0;/delayus(5);RST=1;write_byte(add);writ

36、e_byte(dat);/delayus(5);SCLK=1;RST=0;uchar read_1302(uchar add) /向1302讀出數(shù)據(jù)uchar temp;RST=0;SCLK=0;/delayus(5);RST=1;write_byte(add);temp=read_byte();/delayus(5);SCLK=1;RST=0;return (temp);uchar BCD_Decimal(uchar bcd) uchar Decimal; Decimal=bcd4; return(Decimal=Decimal*10+(bcd&=0x0F);PORTB&=(14);SPI_

37、595_Out(weizhisaomiao);SPI_595_Out(dispwsaomiao;PORTB=|(1=8saomiao=0;while(1)uchar j=0;uint i;DDAR=0xFF;DDRB=0XFF;PORTD=0XFF;DDRD=0X00;While(1)if(PIND|0XEE)=0XEF)For(i=0;i99)j=0;While(PIND|0XEF)=0XEF);PORTB=SHUMAj/50;PORTC=SHUMAj%50;PORTA=j;while(1)PORTC=SHUMAcounter;/數(shù)碼管與LED燈顯示語句:if(display_time= =

38、1) /如果顯示標(biāo)記display_time=1,則執(zhí)行顯示任務(wù),完成一位數(shù)碼管顯示Xs0=1;Xs1=2;Xs2=3;Xs3=4;Xs4=5;Xs5=6;Xs6=7;Xs7=8;LED(weizhii);LED(dispXsi);P2_6=0;P2_6=1;i+;if(i=8)i=0;for(k=10;k0;k-)for(j=0;j10;j+);/采用兩片74HC595掃描數(shù)碼管display_time= =0;/ADC轉(zhuǎn)換與數(shù)字濾波語句:if(sample_time= =1) sbit AD_CS=P2_4;sbit AD_CLK=P2_5;sbit AD_DAT=P2_6;unsigne

39、d int readadc(void)unsigned char i;Unsigned int AD_Te,AD2,AD8;AD8=0;AD2=0;AD_CS=1;AD_CLK=0;AD_DAT=1;AD_CS=0;for(i=0;i2;i+)AD_CLK=0;_nop_();AD2 =AD21;if(AD_DAT)AD+=0x01;AD_CLK=1;_nop_();for(i=0;i8;i+)AD_CLK=0;_nop_();AD8=AD8;if(AD_DAT)AD8+=0x01;AD_CLK=1;_nop_();AD_CLK=0;AD_CS=1;return(AD_Te);char lp(

40、) /濾波函數(shù)int sum = 0;char count;for (count=0;countv1)max=mid;else min=mid;if(max-min)SV+) out=OFFif(PVSV-) out=ON;/具有比例算法的運(yùn)算語句:Error = SetPoint temp_value; /求偏差LastError = Error; out=Proportion*Error /比例算法control_time=0;/DAC轉(zhuǎn)換語句:if (DAC_time= =1) sbit cs = P21; /TLC5615引腳sbit din = P20;sbit clk = P37;

41、unsigned int j,m;unsigned char i=0,n;unsigned int dac_value;while(1) n+; if(n =10) n=0; while(1); for(m=0;m3000;m+);dac_value=valuen; /準(zhǔn)備輸出到DAC中的數(shù)值dac(dac_value) ; /調(diào)用DAC函數(shù)xs0=dac_value%10;xs1=dac_value/10%10;xs2=dac_value/100%10;xs3=dac_value/1000;xs4=5;xs5=6;xs6=7;xs7=8;LED(weizhij); /選擇數(shù)碼管LED(dispxsj); /輸出段碼P2_6=0; /HC595鎖存數(shù)據(jù)P2_6=1;j+;if(j=8)j=0; void dac(unsigned int da) /DAC輸

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論