




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、智能儀表綜合訓練說明書題 目:自動電阻爐溫度控制器 學生姓名:xxx學 號:xxx專 業(yè):測控技術(shù)與儀器班 級:測控08-1班指導教師:x摘 要此電阻爐溫度控制器主要是以單片機stc89c52為核心,通過s型熱電偶采集熱端溫度并進行冷端溫度補償?shù)玫綄嶋H溫度t,然后經(jīng)放大電路和adc0832模數(shù)轉(zhuǎn)換,并進行線性化處理,之后經(jīng)單片機stc89c52進行pid控制,并加入pid參數(shù)的調(diào)整,最后通過液晶顯示器lcd1602實現(xiàn)溫度值和pid輸出值及參數(shù)值的顯示。它用最簡單的硬件單元和軟件編程實現(xiàn)了溫度采集、溫度pid控制、溫度顯示、上下限報警、pid參數(shù)顯示、pid參數(shù)修改等功能。關(guān)鍵詞:adc083
2、2;單片機stc89c52;lcd顯示;pid控制;s型熱電偶目 錄摘 要1目 錄2第一章 前言31.1熱電偶31.1.1熱電偶及其工作原理31.1.2 熱電偶的冷端溫度補償31.1.3 熱電偶的分類41.2 pid41.2.1 pid簡介41.2.2 pid算法介紹51.2.3 位置式pid算法5第二章 電阻爐溫度控制器總體設(shè)計62.1功能需求62.2 硬件設(shè)計72.3 軟件設(shè)計7第三章 電阻爐溫度控制器硬件設(shè)計83.1 s型熱電偶83.1.1 s型熱電偶及其分度表83.1.2 s型熱電偶線性化處理93.2 單片機stc89c52及其外圍接口電路93.2.1 單片機stc89c5293.2.
3、2 單片機stc89c52外圍接口電路113.3 adc0832113.4 lcd1602顯示器12第四章 軟件設(shè)計144.1電阻爐溫度控制器主程序144.2 adc0832數(shù)據(jù)采集子程序154.3熱電偶線性化標度變換程序154.4 pid控制程序164.5 pid參數(shù)修改子程序174.6 lcd顯示子程序18第五章 總結(jié)19參考文獻20附錄 a21第一章 前言在使用電阻爐溫度控制器之前,我們有必要了解其制作工藝和一些關(guān)鍵器件的概況,以便我們能夠自己處理它所出現(xiàn)的一些小問題或者為愛好者學習提供幫助。因此這一章我們就關(guān)于電阻爐溫度控制器運用的基本知識作一介紹。1.1熱電偶1.1.1熱電偶及其工作
4、原理熱電偶是溫度測量儀表中得關(guān)鍵性元件,因其具有結(jié)構(gòu)簡單,性質(zhì)穩(wěn)定,測溫范圍寬,測量精度高、動態(tài)性能好、使用方便以及容易維護等優(yōu)點,現(xiàn)已經(jīng)被用于各種行業(yè)。特別是由于其性質(zhì)穩(wěn)定,在高溫環(huán)境的測量中,熱電偶測溫占有相當重要的地位。熱電偶的工作原理主要是利用了熱電效應(yīng),所謂熱電效應(yīng),就是指兩種不同成份的導體(稱為熱電偶絲材或熱電極)兩端接合成回路,當兩個接合點的溫度不同時,在回路中就會產(chǎn)生電動勢。直接測量介質(zhì)的一端稱為工作端,另一端稱為冷端。1.1.2 熱電偶的冷端溫度補償 由熱電偶的測溫原理可知,熱電勢的大小不僅與熱端溫度有關(guān),而且與冷端溫度有關(guān),只有當冷端溫度恒定時,才能通過熱電勢的大小去判斷熱
5、端溫度的高低。 冷端溫度補償方法有冰點法,恒溫遷移法,計算修正法,電橋補償法,軟件補償法。我們這里采用計算修正法: 計算修正法基于中間溫度定律,其計算公式如式1.1 eab(t,0)=eab(t,t0)+eab(t0,0) (1.1)1.1.3 熱電偶的分類按照工業(yè)標準化的要求,熱電偶可以分為標準化熱電偶和非標準化熱電偶兩種。標準化熱電偶指工藝成熟、能批量生產(chǎn)、性能穩(wěn)定、應(yīng)用廣泛,且具有統(tǒng)一分度表并已列入國際和國家標準文件的熱電偶。非標準化熱電偶是指研究還不夠成熟,雖然已有產(chǎn)品,也能夠使用但是沒有統(tǒng)一的分度表,需要個別標定,給我們的使用帶來不便,因此我們?nèi)粘2蛔鍪褂煤脱芯?。標準化熱電偶包括鉑銠
6、10-鉑熱電偶(s型)、鉑銠30-鉑銠6熱電偶(b型)、鎳鎘-鎳硅熱電偶(k型)、鎳鎘-銅鎳熱電偶(e型)、銅-銅鎳熱電偶(t型)。我們著重介紹k型和s型熱電偶:s型熱電偶為貴重金屬熱電偶,其正極導體的化學成分為鉑銠合金,其中,含銠10%,含鉑90%。負極為純鉑。s型熱電偶具有準確度高、測溫區(qū)寬、使用壽命長和穩(wěn)定性好等優(yōu)點。特別是其在高溫下抗氧化性能好,因此我們的產(chǎn)品電阻爐溫度控制器選用熱電偶作為溫度傳感器。k型熱電偶為目前用量最大的廉價金屬熱電偶。其正極的化學成分為:ni:cr=90:10;負極的化學成分為:ni:si=97:3,測量溫度為-2001300。1.2 pid 1.2.1 pid
7、簡介pid控制是工程應(yīng)用中最廣泛的控制規(guī)律,它的主要特點是其結(jié)構(gòu)簡單、穩(wěn)定性好、工作可靠、調(diào)整方便。其各種參數(shù)的特征如下:比例調(diào)節(jié)的作用是按比例反映系統(tǒng)的偏差,系統(tǒng)一旦出現(xiàn)了偏差,比例調(diào)節(jié)立即產(chǎn)生調(diào)節(jié)作用以減小偏差。比例作用大,可以加快調(diào)節(jié),減小誤差,但是過大的比例作用會使系統(tǒng)的穩(wěn)定性下降,甚至造成系統(tǒng)不穩(wěn)定。積分調(diào)節(jié)的作用是使系統(tǒng)消除穩(wěn)態(tài)誤差,因為一旦有誤差,積分調(diào)節(jié)就起作用,直至無誤差,積分調(diào)節(jié)的輸出維持常量。微分調(diào)節(jié)的作用是反映系統(tǒng)偏差信號的變化率,具有預見性,能預見偏差變化的趨勢,因此能產(chǎn)生超前的控制作用,使偏差還沒有形成即被微分調(diào)節(jié)作用消除,因此微分作用可以改善系統(tǒng)的動態(tài)性能。1.2
8、.2 pid算法介紹pid算法有位置式和增量式輸出兩種。增量式pid算法輸出得到的結(jié)果是增量,也就是說,在上一次的控制量的基礎(chǔ)上需要增加(負值意味著減少)的控制量。例如,在晶閘管電動機調(diào)速系統(tǒng)中,控制量的增量意味著晶閘管的觸發(fā)相位在原有的基礎(chǔ)上需要提前或滯后的量。位置式算法輸出則表現(xiàn)為當前的觸發(fā)相位應(yīng)該在什么位置。又如在溫度控制系統(tǒng)中,增量式算法表現(xiàn)為在上次通電時間比例的基礎(chǔ)上,還需要增加或減少的通電時間比例;位置式算法輸出則直接指明本周期內(nèi)要通電多長時間1.2.3 位置式pid算法位置式pid算法可以直接指出需要通電多長時間,因此其受到廣泛應(yīng)用。其計算公式如式1.2下: (1.2) 式中,為
9、基本偏差,表示當前測量值與設(shè)定目標值之間的差值,結(jié)果可以是正或負。當設(shè)定目標作為被減數(shù)時,正數(shù)表示還沒有達到設(shè)定值。負數(shù)表示已經(jīng)超過了設(shè)定值。累計偏差,它是每次偏差值的代數(shù)和。,和是pid算法的3個控制參數(shù),分別稱為比例常數(shù)、積分常數(shù)和微分常數(shù),對不同的控制對象選擇不同的數(shù)值,需要經(jīng)過現(xiàn)場整定才能獲得較好的效果。第二章 電阻爐溫度控制器總體設(shè)計此電阻爐溫度控制器主要是以單片機stc89c52為核心,通過熱電偶采集熱端溫度并進行冷端溫度補償?shù)玫綄嶋H溫度t,然后經(jīng)放大電路和adc0832模數(shù)轉(zhuǎn)換,并進行線性化處理,之后經(jīng)單片機stc89c52進行pid控制,并加入pid參數(shù)的調(diào)整,最后通過液晶顯示
10、器lcd1602實現(xiàn)溫度值和pid輸出值及參數(shù)值的顯示。它用最簡單的硬件單元和軟件編程實現(xiàn)了溫度采集、溫度pid控制、溫度顯示、上下限報警、pid參數(shù)顯示、pid參數(shù)修改等功能。2.1功能需求電阻爐溫度控制器實際上是以單片機為核心,根據(jù)設(shè)定溫度值與采集溫度值進行比較求出偏差然后pid運算對電阻爐溫度進行控制。此控制系統(tǒng)可實現(xiàn)以下功能:溫度采集:溫度控制:溫度顯示:上下限報警顯示:參數(shù)顯示:pid控制參數(shù)設(shè)定修改:其單回路控制系統(tǒng)圖2.1如下所示:圖2.1 單片機單回路控制系統(tǒng)2.2 硬件設(shè)計電阻爐溫度控制器主要有單片機at89c52、a/d轉(zhuǎn)換器、按鍵、lcd顯示、加熱爐、傳感器、ssr輸出控
11、制組成的控制系統(tǒng)。其組成框圖如圖2.2所示:圖2.2 硬件組成框圖2.3 軟件設(shè)計該電阻爐溫度控制器采用模塊化的結(jié)構(gòu)設(shè)計。其主程序流程圖如圖2.3所示:其軟件部分的的設(shè)計由adc0832采樣子程序、中斷子程序、lcd初始化子程序、pid控制子程序、pid參數(shù)按鍵修改子程序。adc0832采集溫度信號,信號經(jīng)a/d轉(zhuǎn)換后送至單片機stc89c52進行pid處理,用戶可以根據(jù)自身條件對pid參數(shù)進行調(diào)整,之后lcd顯示器顯示溫度值和pid處理值,從而控制電阻爐溫度。 圖2.3 主程序流程圖第三章 電阻爐溫度控制器硬件設(shè)計3.1 s型熱電偶3.1.1 s型熱電偶及其分度表s型熱電偶首先是標準化熱電偶
12、,偶絲直徑規(guī)定為0.5mm,允許偏差-0.015mm,其正極(sp)的名義化學成分為鉑銠合金,其中含銠為10%,含鉑為90%,負極(sn)為純鉑,故俗稱單鉑銠熱電偶。該熱電偶長期最高使用溫度為1300,短期最高使用溫度為1600。而且s型熱電偶在正常長期使用溫度為8001300左右時測量的精度最高,而在800以內(nèi)的測溫準確度不高,而長期使用溫度在1300以上就很容易損壞熱電偶。因此我們在對其分度表的計算時溫度設(shè)定為01300,因為電阻爐正符合其要求,并為長期使用電器。s型熱電偶分度表如下表3.1所示:表3.1 s型熱電偶分度表 3.1.2 s型熱電偶線性化處理此電阻爐溫度傳感器中s型熱電偶溫度
13、傳感器采集0-1300的溫度進行顯示控制,根據(jù)s型熱電偶分度表列出其對應(yīng)的mv電壓,由于所用單片機stc89c52能夠控制的電壓信號為0-5v,以及編程轉(zhuǎn)換值,因此根據(jù)以上進行標度變換處理得表3.2所示:表3.2 標度變換表溫度值()分度表值(mv)a/d采樣值(v)轉(zhuǎn)換值00003002.3230.883456005.2371.991019008.4483.211164130013.15552553.2 單片機stc89c52及其外圍接口電路3.2.1 單片機stc89c52 stc89c52是一種低功耗、高性能cmos8位微控制器,具有 8k 在系統(tǒng)可編程flash 存儲器。在單芯片上,擁
14、有靈巧的8 位cpu 和在系統(tǒng)可編程flash,使得stc89c52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案stc89c52的引腳分布如圖3.1所示,各部分引腳功能如下1. p0.0p0.7引腳:作為i/o引腳使用時,p0口是漏極開路雙向口,向口鎖存器寫入1時,i/o引腳將懸空,是高阻輸入引腳;在讀寫外部存儲器時p0口作低8位數(shù)據(jù)/地址總線。2. p1.0p1.7引腳:內(nèi)部帶有弱上拉的準雙向i/o口,作輸入引腳使用前,先向p1口鎖存器寫入1,使p1口引腳上拉至高電平;另外,p1.0與p1.1還有第二功能:t2(p1.0)定時器t2的計數(shù)輸入端或定時器t2的時鐘輸出端,t2ex(p1
15、.1)定時器t2的外部觸發(fā)輸入端。圖3.1 stc89c52引腳分布圖3. p2.0p2.7引腳: 內(nèi)部帶有弱上拉的準雙向i/o口,作輸入引腳使用前,先向p2口鎖存器寫入1,使p2口引腳上拉至高電平;在讀/寫外部存儲器時,p2口輸出高8位地址信號a15a8。4. p3.0p3.7引腳:內(nèi)部帶有弱上拉的準雙向i/o口,作輸入引腳使用前,先向p3口鎖存器寫入1,使p3口引腳上拉至高電平;另外,p3口還有第二功能:rxd(p3.0)串行數(shù)據(jù)接收(輸入)端;txd(p3.1)串行數(shù)據(jù)發(fā)送(輸出)端;(p3.2)外中斷0輸入端;(p3.3)外中斷1輸入端;t0(p3.4)定時/計數(shù)t0的外部輸入端;t1
16、(p3.5)定時/計數(shù)t1的外部輸入端;(p3.6)外部數(shù)據(jù)存儲器寫選通信號,低電平有效;(p3.7)外部數(shù)據(jù)存儲器讀選通信號,低電平有效;5. 引腳:外部程序存儲器選擇信號,低電平有效;在復位期間cpu檢測并鎖存引腳的電平狀態(tài),當讀引腳為高電平時,從片內(nèi)程序存儲器取指令,只有當程序計數(shù)器pc超出片內(nèi)程序存儲器地址編碼范圍時,才轉(zhuǎn)到外部程序存儲器中取指令;當該引腳位低電平時,一律從外部程序存儲器中取指令。6. :外部程序存儲器讀選通信號,低電平有效。7ale:低8位地址鎖存信號,在訪問外部程序存儲器時,ale下降沿鎖存從p0口輸出的低8位地址信息a7a0,以便隨后將p0口作為數(shù)據(jù)總線使用;在正
17、常情況下,ale輸出信號為1/6振蕩頻率,并可用作外部時鐘或定時信號。8. xtal1:片內(nèi)晶振電路反向放大器輸入端,接cpu內(nèi)部時鐘電路; xtal2:片內(nèi)晶振電路反向放大器輸出端;9. rst:復位信號輸入端,高電平有效;10. vcc:電源引腳,vss:電源地。stc89c52系列單片機屬于mcs51型系列單片機,它們的存儲器在組織結(jié)構(gòu)上有4個物理上相互獨立的空間:片內(nèi)程序存儲器和片外程序存儲器,內(nèi)部數(shù)據(jù)存儲器和片外數(shù)據(jù)存儲器。其中片外數(shù)據(jù)存儲區(qū)共64kb,相應(yīng)的地址空間為0000fffffh;片內(nèi)數(shù)據(jù)存儲區(qū)共256b,其中80hffh為sfr(特殊功能寄存器區(qū)),20h2fh為位尋址區(qū)
18、,00h1fh為r0r7工作寄存器區(qū),30h7fh為用戶存儲數(shù)據(jù)用的存儲區(qū),共80個字節(jié);片內(nèi)程序存儲區(qū)有4kb,通過=1進行選通;片外程序存儲區(qū)有64kb是通過=0進行選通。3.2.2 單片機stc89c52外圍接口電路 該電阻爐溫度控制器中使用了stc89c52單片機,以及adc0832a/d轉(zhuǎn)換器、晶振電路、復位電路、按鍵、lcd1602液晶顯示器。其連接原理圖如圖3.2:3.3 adc0832該電阻爐溫度控制器所用的a/d轉(zhuǎn)換器是adc0832, adc0832 為8位分辨率a/d轉(zhuǎn)換芯片,其最高分辨可達256級,可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復用,使得芯片的
19、模擬電壓輸入在05v之間。芯片轉(zhuǎn)換時間僅為32s,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗,以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強。獨立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過di 數(shù)據(jù)輸入端,可以輕易的實現(xiàn)通道功能的選擇。 圖3.2 stc89c52外圍接口電路圖其封裝及引腳如圖3.3所示,引腳介紹如下:cs_ 片選使能,低電平芯片使能ch0 模擬輸入通道0,或作為in+/-使用ch1 模擬輸入通道1,或作為in+/-使用 gnd 芯片參考0 電位(地)di 數(shù)據(jù)信號輸入,選擇通道控制do 數(shù)據(jù)信號輸出,轉(zhuǎn)換數(shù)據(jù)輸出圖3.3 adc0832引腳圖3.4 lcd1602顯示器lcd,又稱
20、液晶顯示器(liquid crystal display),為平面超薄的顯示設(shè)備,它由一定數(shù)量的彩色或黑白像素組成,放置于光源或者反射面前方。功耗很低,因此倍受工程師青睞,適用于使用電池的電子設(shè)備。它的主要原理是以電流刺激液晶分子產(chǎn)生點、線、面配合背部燈管構(gòu)成畫面。lcd與單片機連接如圖3.4所示 圖3.4 lcd1602與單片機連接圖其引腳介紹如表3.3所示:表3.3 lcd1602引腳介紹表編號符號引腳說明編號符號引腳說明1vss電源地9d2雙向數(shù)據(jù)線2vdd5v電源正極10d3雙向數(shù)據(jù)線3vl液晶顯示偏壓11d4雙向數(shù)據(jù)線4rs數(shù)據(jù)/命令選擇12d5雙向數(shù)據(jù)線5r/w讀/寫選擇13d6雙
21、向數(shù)據(jù)線6e使能信號14d7雙向數(shù)據(jù)線7d0雙向數(shù)據(jù)線15bla背光源正極8d1雙向數(shù)據(jù)線16blk背光源負極其主要技術(shù)參數(shù)如下:顯示容量:16*2個字符芯片工作電壓:4.5-5.5v工作電流:2.0ma(5.0v)模塊最佳工作電壓:5.0v字符尺寸:2.95*4.35(w*h)mm第四章 軟件設(shè)計4.1電阻爐溫度控制器主程序電阻爐溫度控制器主程序首先進行液晶初始化,然后判斷1s標志是否執(zhí)行;如果是,進行ad采樣,執(zhí)行ad處理子程序,adc0832采集電壓信號;之后判斷是否有按鍵按下,執(zhí)行按鍵處理子程序;若沒有按鍵按下,計算pid值;隨后對數(shù)據(jù)顯示處理,顯示pid值,結(jié)束。其主程序流程圖如圖4
22、.1所示圖4.1 主程序流程圖4.2 adc0832數(shù)據(jù)采集子程序按照adc0832的工作方式,可以得到如圖4.2所示的程序流程圖。在將adc0832的端口定義好后,用cs=0選通adc0832,之后,將di端置1,開始ad轉(zhuǎn)換,然后送入通道0或者1的選擇信息,在do端先輸出d7-d0數(shù)據(jù),再輸出d0-d7數(shù)據(jù),然后比較兩次輸出的數(shù)據(jù)值是否相等,若不相等,繼續(xù)采樣,若相等,返回采樣值。 圖4.2 adc0832數(shù)據(jù)采集子程序4.3熱電偶線性化標度變換程序性標度變換是熱電偶采集溫度與a/d轉(zhuǎn)換器之間的橋梁,是關(guān)鍵性環(huán)節(jié),流程圖如圖4.3所示在程序中,dat代表a/d線性標度變換值,首先dat與轉(zhuǎn)
23、換值進行比較,判斷其符合哪一個段內(nèi);mdat表示顯示溫度值,當dat判斷其處于哪一個段內(nèi),這樣根據(jù)線性標度變換公式,即可求出其采集的溫度值;之后返回溫度值mdat,以備lcd顯示器顯示。圖4.3 線性標度變換子程序4.4 pid控制程序單片機對a/d采集的溫度需要進行與設(shè)定溫度值進行比較,然后經(jīng)過pid控制,其pid控制流程圖如圖4.4所示首先,定義偏差et= indat-tedat(indat表示測量值,tedat表示設(shè)定值),偏差之和sumet,連續(xù)兩偏差之差et_temp;然后判斷20ms標志flag2是否為1,若是,進行pid計算,算出pout,若否,輸出上次pout。此pid為了顯示
24、方便,保證輸出為正,因此判定pout是否為負。圖4.4 pid控制程序4.5 pid參數(shù)修改子程序為了能夠滿足用戶的需要,電阻爐溫度控制器能偶調(diào)整不同的pid參數(shù),以便控制溫度。其pid參數(shù)修改子程序流程圖如圖4.5所示:簡單介紹這幾個按鍵功能:1鍵功能鍵:選擇修改kp、ki、kd2鍵加1鍵3鍵減1鍵4鍵確定鍵圖4.5 pid參數(shù)修改子程序4.6 lcd顯示子程序根據(jù)設(shè)計要求,進行l(wèi)cd顯示程序的編寫,流程如圖4.6所示。液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。設(shè)置顯示的字符模式,顯示字符時要先輸入顯示字符地址,也就是告訴模
25、塊在哪里顯示字符,最后將字符碼寫入到指定位置。 圖4.6 lcd顯示程序第五章 總結(jié) 這次智能儀器設(shè)計,我們在王老師的指導下,做了關(guān)于自制電阻爐溫度控制器的設(shè)計。雖然,由于某些硬件的短缺,沒能做成一個完整的電阻爐溫度控制器,但是基本上做出了溫度的采集、pid控制、顯示等。在這次設(shè)計中,我們通過自己查閱資料,和同學老師交流辯論,加深了對熱電偶、a/d轉(zhuǎn)換器、pid控制、單片機中斷等好多理論知識理解。同時,再做這個設(shè)計我們需要學會protel99畫原理圖、visio畫流程圖、如鵬版keil進行軟件編程、stc_isp_v4.7.9軟件下載.這些東西對于我來說是第一次接觸,但是通過這次設(shè)計的親自完成
26、,雖然不敢說已經(jīng)全部掌握,但至少我能夠自己在以后的運用的輕松操縱。對于我們所做得這個電阻爐溫度控制器的設(shè)計,首先,在硬件方面我們選的是stc89c52作為單片機對溫度進行pid控制,adc0832作為a/d轉(zhuǎn)換器進行a/d采樣,熱電偶作為溫度傳感器,lcd顯示器作為溫度和其他參數(shù)顯示。對于硬件的連接不成問題。其次,在軟件方面,我們用到了adc0832采集子程序、線性標注變換子程序、pid控制子程序、pid參數(shù)修改子程序、lcd顯示子程序、以及最重要的主程序。這些程序經(jīng)過我們的努力基本上實現(xiàn)了其各自的功能,也和主程序密切連接。最后,我們的設(shè)計基本上符合了老師規(guī)定的要求,但是在細節(jié)方面也許有許多的
27、不足和漏洞,我們會不斷的改進,也希望大家給我們指正,我們將會不斷完善我們的作品??偟膩碚f,這次設(shè)計讓我學習了不少東西。第一、理論學習是必須的,我們必須一直注重自己的理論學習,踏踏實實把理論知識學習好,才能順利實踐。第二、理論固然重要,但是沒有實踐的演練,理論永遠只是一紙空文,學習理論的最終目的是為了實踐,因此我們應(yīng)該不斷實踐。第三、在這個網(wǎng)絡(luò)發(fā)達的時代,我們應(yīng)該學會運用網(wǎng)上的知識,目的就是學會學習,高效做事。參考文獻1 王學智.熱電偶測溫及其冷端溫度補償 湖北水利水電職業(yè)技術(shù)學院j 2011.022 杜洋.a/d轉(zhuǎn)換芯片adc0832的應(yīng)用j.電子制作,2006.7.3 張懷廣. “prote
28、l99”快速入門的幾個技巧j. 科教文匯(下旬刊), 2010.05 .4 李建海,張大為,張凱,劉迪. 數(shù)字pid控制器在溫度控制系統(tǒng)中的應(yīng)用j. 電子測量技術(shù) 2009.04 . 5 劉伏文. 單片機c和匯編語言混合編程j. 電子制作, 2007,(06) .6 于志贛,劉國平,張旭斌. 液顯lcd1602模塊的應(yīng)用j. 機電技術(shù), 2009,(03) .7 李實. 基于模糊pid算法的電阻爐溫度控制系統(tǒng)設(shè)計j. 鞍鋼職工大學 2011,(05)8 任國強. 標準s型熱電偶整百度點熱電勢的自動計算j. 計量技術(shù), 1994,(11) 9 吳健, 侯文,鄭賓. 基于stc89c52單片機的溫
29、度控制系統(tǒng)j. 中北大學電子測試技術(shù)國家重點實驗室 2011,(04)10 李忠虎,李希勝.過程參數(shù)檢測技術(shù)及儀表m.北京計量出版社 2009年第1版11 潘永雄.新編單片機原理與應(yīng)用m.西安:西安電子科技大學出版2007第一版12 周祖茗.液顯模塊lcd1602的接口設(shè)計及編程技巧j.中國科技縱橫,2010.14.附錄 a源程序#include /包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義#include intrins.h sbit rs = p10; /pin4sbit rw = p11; /pin5sbit en = p12; /pin6sbit key1 = p1
30、4; /pin6sbit key2 = p15; /pin6sbit key3 = p16; /pin6sbit key4 = p17; /pin6/adc0832的引腳sbit adcs =p20; /adc0832 chip seclectsbit addi =p37; /adc0832 k insbit addo =p37; /adc0832 k outsbit adclk =p36; /adc0832 clock signal #define uchar unsigned char#define uint unsigned int#define date p0 #define rs_c
31、lr rs=0 #define rs_set rs=1#define rw_clr rw=0 #define rw_set rw=1 #define en_clr en=0#define en_set en=1#define init_temp 800#define min_temp 100#define max_temp 900/#define max 1500uchar code temp_data=0123456789;uchar code temp_min=temp is most min; uchar code temp_max=temp is most max;uchar tem1
32、10=0,45,101,164,255;uchar tem210=0,300,600,900,1300; uchar temp118=wd: pid: ,temp216=p= i= d= ;uchar getdata; /獲取adc轉(zhuǎn)換回來的值bit flag,flag2;uchar time_20ms,time_ms,time_1s,bottem,data1,data2,kemp;char et,sumet,et_temp; int pout,out;char kp=5;ki=10;kd=15; int init_pid( uchar indat,uchar tedat,char et_ol
33、d);/*讀adc0832函數(shù)*/ /采集并返回unsigned int adc0832(unsigned char channel) /ad轉(zhuǎn)換,返回結(jié)果 uchar i=0; uchar j; uint dat=0; uchar ndat=0; if(channel=0)channel=2; if(channel=1)channel=3; addi=1; _nop_(); _nop_(); adcs=0;/拉低cs端 _nop_(); _nop_(); adclk=1;/拉高clk端 _nop_(); _nop_(); adclk=0;/拉低clk端,形成下降沿1 _nop_(); _no
34、p_(); adclk=1;/拉高clk端 addi=channel&0x1; _nop_(); _nop_(); adclk=0;/拉低clk端,形成下降沿2 _nop_(); _nop_(); adclk=1;/拉高clk端 addi=(channel1)&0x1; _nop_(); _nop_(); adclk=0;/拉低clk端,形成下降沿3 addi=1;/控制命令結(jié)束 _nop_(); _nop_(); dat=0; for(i=0;i8;i+) dat|=addo;/收數(shù)據(jù) adclk=1; _nop_(); _nop_(); adclk=0;/形成一次時鐘脈沖 _nop_();
35、 _nop_(); dat=1; if(i=7)dat|=addo; for(i=0;i8;i+) j=0; j=j|addo;/收數(shù)據(jù) adclk=1; _nop_(); _nop_(); adclk=0;/形成一次時鐘脈沖 _nop_(); _nop_(); j=j7; ndat=ndat|j; if(i=1; adcs=1;/拉低cs端 adclk=0;/拉低clk端 addo=1;/拉高數(shù)據(jù)端,回到初始狀態(tài) dat=8; dat|=ndat; return(dat); /return ad k/*中斷*/void init_time() tmod=0x10; th1=(65536-20
36、000)/256; tl1=(65536-20000)%256; ea=1; et1=1; tr1=1;/*/* 微秒延時函數(shù) */*/void delay_us(unsigned int n) /延時 如果需要高精度延時 請嵌入?yún)R編 if (n = 0) return ; while (-n); /*/* 毫秒函數(shù)聲明 */*/ void delay_ms(unsigned char i) 待添加的隱藏文字內(nèi)容3 unsigned char a, b; for (a = 1; a i; a+) for (b = 1; b; b+) ; /*/* 寫入命令函數(shù) */*/ void lcd_wr
37、ite_com(unsigned char com) rs_clr; rw_clr; en_set; date = com; delay_us(5); en_clr; /*/* 寫入數(shù)據(jù)函數(shù) */*/ void lcd_write_data(unsigned char data) rs_set; rw_clr; en_set; date = data; delay_us(5); en_clr; /*/* 寫入字符串函數(shù) */*/ void lcd_write_str(unsigned char x,unsigned char y,unsigned char *s) if (y = 0) lcd
38、_write_com(0x80 + x); else lcd_write_com(0xc0 + x); while (*s) lcd_write_data( *s); s +; if(bottem=1) lcd_write_com(0x0f);lcd_write_com(0xc0); if(bottem=2) lcd_write_com(0x0f);lcd_write_com(0xc5); if(bottem=3) lcd_write_com(0x0f);lcd_write_com(0xca); /*/* 初始化函數(shù) */*/ void lcd_init(void) lcd_write_com
39、(0x38); /*顯示模式設(shè)置*/ delay_ms(5); lcd_write_com(0x38); delay_ms(5); lcd_write_com(0x38); delay_ms(5); lcd_write_com(0x38); lcd_write_com(0x08); /*顯示關(guān)閉*/ lcd_write_com(0x01); /*顯示清屏*/ lcd_write_com(0x06); /*顯示光標移動設(shè)置*/ delay_ms(5); lcd_write_com(0x0c); /*顯示開及光標設(shè)置*/ int spdat(uchar dat)uchar i;int mdat;for(i=0;item1i&dattem1i+1)mdat=tem2i+(float)dat/tem1i)*tem2i;return mdat;vo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 森林公園施工合同
- 汽車維修勞動合同
- 磋商與訂立合同三
- 月嫂居間合同協(xié)議書
- 2燕子(教學設(shè)計)-2023-2024學年統(tǒng)編版語文三年級下冊
- 山東管理學院《有機化學G》2023-2024學年第二學期期末試卷
- 福建技術(shù)師范學院《推拿及運動損傷治療》2023-2024學年第二學期期末試卷
- 韶關(guān)學院《化工設(shè)備基礎(chǔ)》2023-2024學年第二學期期末試卷
- 貴陽學院《基礎(chǔ)化學實驗(4)》2023-2024學年第二學期期末試卷
- 黃淮學院《中學物理實驗訓練與研究》2023-2024學年第二學期期末試卷
- 精細化學品化學-緒論課件
- 車間維修電工安全技術(shù)操作規(guī)程
- 第四章 聚合物基納米復合材料課件
- 教學課件 211和985工程大學簡介
- 臥式水泵安裝
- 綜合交通運輸體系課件
- 趣味經(jīng)濟學課件
- 實木家具生產(chǎn)標準工藝標準流程
- 小學生讀書卡模板
- 小學二年級體育課《團身滾動》教案
- 級本科診斷學緒論+問診課件
評論
0/150
提交評論