版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 智</b></p><p><b> 能</b></p><p><b> 溫</b></p><p><b> 度</b></p><p><b> 測</b></p><p
2、><b> 量</b></p><p><b> 儀</b></p><p><b> 課</b></p><p><b> 程</b></p><p><b> 設(shè)</b></p><p>&
3、lt;b> 計</b></p><p><b> 報</b></p><p><b> 告</b></p><p> 專 業(yè): </p><p> 班 級: </p><p> 姓 名:
4、 </p><p> 學(xué) 號: </p><p> 指導(dǎo)教師: </p><p> ----智能溫度測量儀</p><p> 摘要:本文主要介紹了智能溫度測量儀的設(shè)計,包括硬件和軟件的設(shè)計。先對該測量儀進行概括性介紹,然后介紹該測量儀在硬件設(shè)計上的主要器件:“Pt100熱
5、電阻”、AT89C51單片機和LCD顯示器以及描述測量儀的總體結(jié)構(gòu)原理。在本設(shè)計中,是以鉑電阻PT100作為溫度傳感器,采用恒流測溫的方法,通過單片機進行控制,用放大器、A/D轉(zhuǎn)換器進行溫度信號的采集??傮w來說,該設(shè)計是切實可行的。</p><p> 關(guān)鍵詞:溫度;Pt100熱電阻;AT89C51單片機;LCD顯示器。</p><p> 引言:溫度是日常生活、工業(yè)、醫(yī)學(xué)、環(huán)境保護、化工
6、、石油等領(lǐng)域最常遇到的一個物理量,也是工業(yè)控制中主要的被控參數(shù)之一。對溫度的測量與控制在現(xiàn)代工業(yè)中也是運用的越來越廣泛。而傳感器主要用于測量和控制系統(tǒng),它的性能好壞直接影響系統(tǒng)的性能。因此,不僅必須掌握各類傳感器的結(jié)構(gòu)、原理及其性能指標(biāo),還必須懂得傳感器經(jīng)過適當(dāng)?shù)慕涌陔娐氛{(diào)整才能滿足信號的處理、顯示和控制的要求,而且只有通過對傳感器應(yīng)用實例的原理和智能傳感器實例的分析了解,才能將傳感器和信息通信與信息處理結(jié)合起來,適應(yīng)傳感器的生產(chǎn)、研制
7、、開發(fā)和應(yīng)用。另一方面,傳感器的被測信號來自于各個應(yīng)用領(lǐng)域,每個領(lǐng)域都為了改革生產(chǎn)力、提高工效和時效,各自都在開發(fā)研制適合應(yīng)用的傳感器,于是種類繁多的新型傳感器及傳感器系統(tǒng)不斷涌現(xiàn)。</p><p> 溫度傳感器是其中重要的一類傳器。其發(fā)展速度之快,以及其應(yīng)用之廣。并且還有很大潛力為了提高對傳感器的認(rèn)識和了解,尤其是對溫度傳感器的深入研究以及其用法與用途,基于實用、廣泛和典型的原則而設(shè)計了本系統(tǒng)。</p&
8、gt;<p> 本文利用單片機結(jié)合溫度傳感器技術(shù)而開發(fā)設(shè)計了這一溫度測量系統(tǒng)。文中將傳感器理論與單片機實際應(yīng)用有機結(jié)合,詳細(xì)地講述了利用熱電阻作為溫度傳感器來測量實時的溫度,以及實現(xiàn)熱電轉(zhuǎn)換的原理過程。</p><p> 本設(shè)計系統(tǒng)包括溫度傳感器,信號放大電路,A/D轉(zhuǎn)換模塊,數(shù)據(jù)處理與控制模塊,溫度顯示五個部分。文中對每個部分功能、實現(xiàn)過程作了詳細(xì)介紹。整個系統(tǒng)的核心是進行溫度測量與顯示,完成
9、了課題所有要求。</p><p> Pt100溫度傳感器</p><p> 溫度傳感器從使用的角度大致可分為接觸式和非接觸式兩大類,前者是讓溫度傳感器直接與待測物體接觸,而后者是使溫度傳感器與待測物體離開一定的距離,檢測從待測物體放射出的紅外線,達到測溫的目的。在接觸式和非接觸式兩大類溫度傳感器中,相比運用多的是接觸式傳感器,非接觸式傳感器一般在比較特殊的場合才使用,目前得到廣泛使用的
10、接觸式溫度傳感器主要有熱電式傳感器,其中將溫度變化轉(zhuǎn)換為電阻變化的稱為熱電阻傳感器,將溫度變化轉(zhuǎn)換為熱電勢變化的稱為熱電偶傳感器。</p><p> 熱電阻傳感器可分為金屬熱電阻式和半導(dǎo)體熱電阻式兩大類,前者簡稱熱電阻,后者簡稱熱敏電阻。常用的熱電阻材料有鉑、銅、鎳、鐵等,它具有高溫度系數(shù)、高電阻率、化學(xué)、物理性能穩(wěn)定、良好的線性輸出特性等,常用的熱電阻如Pt100、Pt1000等。近年來各半導(dǎo)體廠商陸續(xù)開發(fā)了
11、數(shù)字式的溫度傳感器,如DALLAS公司DS18B20,MAXIM公司的MAX6576、MAX6577,ADI公司的AD7416等,這些芯片的顯著優(yōu)點是與單片機的接口簡單,如DS18B20該溫度傳感器為單總線技術(shù),MAXIM公司的2種溫度傳感器一個為頻率輸出,一個為周期輸出,其本質(zhì)均為數(shù)字輸出,而ADI公司的AD7416的數(shù)字接口則為近年也比較流行的I2C總線,這些本身都帶數(shù)字接口的溫度傳感器芯片給用戶帶來了極大的方便,但這類器件的最大缺
12、點是測溫的范圍太窄,一般只有-55~+125℃,而且溫度的測量精度都不高,好的才±0.5℃,一般有±2℃左右,因此在高精度的場合不太滿足用戶的需要。</p><p> 熱電偶是目前接觸式測溫中應(yīng)用也十分廣泛的熱電式傳感器,它具有結(jié)構(gòu)簡單、制造方便、測溫范圍寬、熱慣性小、準(zhǔn)確度高、輸出信號便于遠(yuǎn)傳等優(yōu)點。常用的熱電偶材料有鉑銠-鉑、銥銠-銥、鎳鐵-鎳銅、銅-康銅等,各種不同材料的熱電偶使用在不
13、同的測溫范圍場合。熱電偶的使用誤差主要來自于分度誤差、延伸導(dǎo)線誤差、動態(tài)誤差以及使用的儀表誤差等。</p><p> 非接觸式溫度傳感器主要是被測物體通過熱輻射能量來反映物體溫度的高低,這種測溫方法可避免與高溫被測體接觸,測溫不破壞溫度場,測溫范圍寬,精度高,反應(yīng)速度快,既可測近距離小目標(biāo)的溫度,又可測遠(yuǎn)距離大面積目標(biāo)的溫度。目前運用受限的主要原因一是價格相對較貴,二是非接觸式溫度傳感器的輸出同樣存在非線性的問
14、題,而且其輸出受與被測量物體的距離、環(huán)境溫度等多種其它因素的影響。</p><p> 本設(shè)計的要求是采用“Pt100”熱電阻,測溫范圍是-200~+600℃,精度0.5%,具體的型號選為WZP型鉑電阻。</p><p> AT89C51單片機</p><p> AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲器(FPEROM—Flash Programm
15、able and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,A
16、T89C2051是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。</p><p><b> LCD顯示器</b></p><p> 液晶顯示器是一種采用了液晶控制透光度技術(shù)來實現(xiàn)色彩的顯示器。和CRT顯示器相比,LCD的優(yōu)點是很明顯的。由于通過控制是否透光來控制亮和暗,當(dāng)色彩不變時,液晶也保持不變,這樣就無須考慮刷新率的
17、問題。對于畫面穩(wěn)定、無閃爍感的液晶顯示器,刷新率不高但圖像也很穩(wěn)定。LCD顯示器還通過液晶控制透光度的技術(shù)原理讓底板整體發(fā)光,所以它做到了真正的完全平面。</p><p><b> 系統(tǒng)總體設(shè)計介紹</b></p><p> 測溫的模擬電路是把當(dāng)前PT100熱電阻傳感器的電阻值,轉(zhuǎn)換為容易測量的電壓值,經(jīng)過放大器放大信號后送給A/D轉(zhuǎn)換器把模擬電壓轉(zhuǎn)為數(shù)字信號后傳
18、給單片機AT89C51,單片機再根據(jù)公式換算把測量得的溫度傳感器的電阻值轉(zhuǎn)換為溫度值,并將數(shù)據(jù)送出到LCD顯示器進行顯示。</p><p> 本設(shè)計系統(tǒng)主要包括溫度信號采集單元,單片機數(shù)據(jù)處理單元,溫度顯示單元。其中溫度信號的數(shù)據(jù)采集單元部分包括溫度傳感器、溫度信號的獲取電路(采樣)、放大電路、A/D轉(zhuǎn)換電路。</p><p> 系統(tǒng)的總結(jié)構(gòu)框圖如圖1-1所示。</p>
19、<p> 1-1 系統(tǒng)的總結(jié)構(gòu)框圖</p><p> 本溫度測量系統(tǒng)設(shè)計,是采用PT100溫度傳感器經(jīng)過放大和A/D轉(zhuǎn)換器送到單片機進行控制溫度顯示。另外本系統(tǒng)還可以通過外接電路擴展實現(xiàn)溫度報警功能,從而更好的實現(xiàn)溫度現(xiàn)場的實時控制。</p><p> 經(jīng)過多次的修改和調(diào)試測量,本設(shè)計基本符合設(shè)計要求,由于受人為因素和軟硬件的限制,系統(tǒng)難免不了帶來一些誤差,但通過調(diào)節(jié)和精確
20、計算可以減小誤差。</p><p> 通過本次溫度測量系統(tǒng)的設(shè)計,我對溫度測量控制有了進一步的熟悉和更深入的學(xué)習(xí)。在整個設(shè)計的過程中,本設(shè)計的重點和難點是:怎樣將PT100熱電阻的非電量信號轉(zhuǎn)換為單片機單片機能識別的電量信號,其中的信號如何放大及放大倍數(shù)的確定等等。</p><p><b> 硬件設(shè)計</b></p><p> PT100
21、傳感器特性和測溫原理</p><p> 電阻式溫度傳感器(RTD, Resistance Temperature Detector)是指一種物 質(zhì)材料作成的電阻,它會隨溫度的改變而改變電阻值。</p><p> PT100溫度傳感器是一種以鉑(Pt)做成的電阻式溫度傳感器,屬于正電阻系 數(shù),其電阻阻值與溫度的關(guān)系可以近似用下式表示:</p><p> 在
22、0~600℃范圍內(nèi):</p><p> Rt =R0 (1+At+Bt2)</p><p> 在-200~0℃范圍內(nèi):</p><p> Rt =R0 (1+At+Bt2+C(t-100)t3)</p><p> 式中A、B、C 為常數(shù),</p><p> A=3.96847×10-3;</p
23、><p> B=-5.847×10-7;</p><p> C=-4.22×10-12;</p><p> 由于它的電阻—溫度關(guān)系的線性度非常好,因此在測量較小范圍內(nèi)其電阻和溫度變化的關(guān)系式如下:R=Ro(1+αT) </p><p> 其中α=0.00392, Ro為100Ω(在0℃的電阻值),T為華氏溫度,因
24、此鉑做成的電阻式溫度傳感器,又稱為PT100。</p><p> PT100溫度傳感器的測量范圍廣:-200℃~+600℃,偏差小,響應(yīng)時間短,還具有抗振動、穩(wěn)定性好、準(zhǔn)確度高、耐高壓等優(yōu)點,其得到了廣泛的應(yīng)用,本設(shè)計即采用PT100作為溫度傳感器。</p><p> 主要技術(shù)指標(biāo):1. 測溫范圍:-200~600攝氏度;2. 測溫精度:0.5攝氏度;3. 穩(wěn)定性:0.5攝氏度<
25、/p><p> Pt100是電阻式溫度傳感器,測溫的本質(zhì)其實是測量傳感器的電阻,通常是將電阻的變化轉(zhuǎn)換成電壓或電流等模擬信號,然后再將模擬信號轉(zhuǎn)換成數(shù)字信號,再由處理器換算出相應(yīng)溫度。采用Pt100 測量溫度一般有兩種方法:</p><p> 1、設(shè)計一個恒流源通過Pt100 熱電阻,通過檢測Pt100 上電壓的變化來換算出溫度;</p><p> 測溫原理:通過
26、運放U1A將基準(zhǔn)電壓4.096V轉(zhuǎn)換為恒流源,電流流過Pt100時在其上產(chǎn)生壓降,再通過運放U1B將該微弱壓降信號放大(圖中放大倍數(shù)為10),即輸出期望的電壓信號,該信號可直接連AD轉(zhuǎn)換芯片。</p><p> 根據(jù)虛地概念“工作于線性范圍內(nèi)的理想運放的兩個輸入端同電位”,運放U1A的“+”端和“-”端電位V+=V-=4.096V;假設(shè)運放U1A的輸出腳1對地電壓為Vo,根據(jù)虛斷概念,(0-V-)/R1+(Vo
27、-V-)/RPt100=0,因此電阻Pt100上的壓降VPt100=Vo-V-=V-*RPt100/R1,因V-和R1均不變,因此圖1虛線框內(nèi)的電路等效為一個恒流源流過一個Pt100電阻,電流大小為V- /R1,Pt100上的壓降僅和其自身變化的電阻值有關(guān)。</p><p> 設(shè)計及調(diào)試注意點: </p><p> 1. 等效恒流源輸出的電流不能太大,以不超過1mA為準(zhǔn),以免電流大使得
28、Pt100電阻自身發(fā)熱造成測量溫度不準(zhǔn)確,試驗證明,電流大于1.5mA將會有較明顯的影響。</p><p> 2. 運放采用單一5V供電,如果測量的溫度波動比較大,將運放的供電改為±15V雙電源供電會有較大改善。</p><p> 3. 電阻R2、R3的電阻值取得足夠大,以增大運放的U1B的輸入阻抗。</p><p> 圖1恒流源式測溫電路</
29、p><p> 由于封裝問題,實際原理圖如下:</p><p> 方案二:采用惠斯頓電橋,電橋的四個電阻中三個是恒定的,另一個用Pt100 熱電阻,當(dāng)Pt100電阻值變化時,測試端產(chǎn)生一個電勢差,由此電勢差換算出溫度。</p><p> 測溫原理:電路采用TL431和電位器VR1調(diào)節(jié)產(chǎn)生4.096V的參考電源;采用R1、R2、VR2、Pt100構(gòu)成測量電橋(其中R1
30、=R2,VR2為100Ω精密電阻),當(dāng)Pt100的電阻值和VR2的電阻值不相等時,電橋輸出一個mV級的壓差信號,這個壓差信號經(jīng)過運放LM324放大后輸出期望大小的電壓信號,該信號可直接連AD轉(zhuǎn)換芯片。差動放大電路中R3=R4、 R5=R6、放大倍數(shù)=R5/R3,運放采用單一5V供電。</p><p> 設(shè)計及調(diào)試注意點: </p><p> 1. 同幅度調(diào)整R1和R2的電阻值可以改變電
31、橋輸出的壓差大?。?</p><p> 2. 改變R5/R3的比值即可改變電壓信號的放大倍數(shù),以便滿足設(shè)計者對溫度范圍的要求</p><p> 3. 放大電路必須接成負(fù)反饋方式,否則放大電路不能正常工作。</p><p> 4. VR2也可為電位器,調(diào)節(jié)電位器阻值大小可以改變溫度的零點設(shè)定,例如Pt100的零點溫度為0℃,即0℃時電阻為100Ω,當(dāng)電位器阻值調(diào)
32、至109.885Ω時,溫度的零點就被設(shè)定在了25℃。測量電位器的阻值時須在沒有接入電路時調(diào)節(jié),這是因為接入電路后測量的電阻值發(fā)生了改變。</p><p> 5. 理論上,運放輸出的電壓為輸入壓差信號×放大倍數(shù),但實際在電路工作時測量輸出電壓與輸入壓差信號并非這樣的關(guān)系,壓差信號比理論值小很多,實際輸出信號為4.096*(RPt100/(R1+RPt100)- RVR2/(R1+RVR2)) (1)式中
33、電阻值以電路工作時量取的為準(zhǔn)。 </p><p> 6. 電橋的正電源必須接穩(wěn)定的參考基準(zhǔn),因為如果直接VCC的話,當(dāng)網(wǎng)壓波動造成VCC發(fā)生波動時,運放輸出的信號也會發(fā)生改變,此時再到以VCC未發(fā)生波動時建立的溫度-電阻表中去查表求值時就不正確了,這可以根據(jù)式(1)進行計算得知。</p><p> 圖2三線制接法橋式測溫電路</p><p><b>
34、 放大電路的設(shè)計</b></p><p> 本次放大電路我選用的是LM358,其內(nèi)部包括有兩個獨立的、高增益、內(nèi)部頻率補償?shù)碾p運算放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式,在推薦的工作條件下,電源電流與電源電壓無關(guān)。它的使用范圍包括傳感放大器、直流增益模塊和其他所有可用單電源供電的使用運算放大器的場合。</p><p> LM358特性(Featu
35、res): </p><p><b> 信號調(diào)理電路</b></p><p> 調(diào)理電路的作用是將來自于現(xiàn)場傳感器的信號變換成前向通道中A/D轉(zhuǎn)換器能識別的信號,作為本系統(tǒng),由于溫度傳感器是熱電阻PT100,因此調(diào)理電路完成的是怎樣將與溫度有關(guān)的電阻信號變換成能被A/D轉(zhuǎn)換器接受的電壓信號。</p><p> A/D轉(zhuǎn)換器的選擇與設(shè)計
36、電路</p><p> 在我們所測控的信號中均是連續(xù)變化的物理量,通常需要用計算機對這些信號進行處理,則需要將其轉(zhuǎn)換成數(shù)字量,A/D轉(zhuǎn)換器就是為了將連續(xù)變化的模擬量轉(zhuǎn)換成計算機能接受的數(shù)字量。根據(jù)A/D轉(zhuǎn)換器的工作原理,常用的A/D轉(zhuǎn)換器可分為兩種,雙積分式A/D轉(zhuǎn)換器和逐次逼近式A/D轉(zhuǎn)換器。</p><p> 1. 雙積分A/D轉(zhuǎn)換器工作原理</p><p>
37、; 2. 逐次逼近型A/D轉(zhuǎn)換器工作原理</p><p> 在本設(shè)計系統(tǒng)中,為了將模擬量溫度轉(zhuǎn)換成數(shù)字量,采用德州儀器公司生產(chǎn)的4通道12位串行輸出采樣模數(shù)轉(zhuǎn)換器ADS7841。</p><p> 具體連線如下圖所示:</p><p><b> 單片機控制電路</b></p><p> 本設(shè)計是采用AT89C5
38、1單片機作為主控電路,AT89C51單片機是Atmel公司的產(chǎn)品,與Intel 公司的MCS51系列兼容。在AT89C51單片機內(nèi)部有作為程序存儲器的Flash存儲器,其容量為4KB,可以承受不低于1000次的反復(fù)擦寫,調(diào)試比較方便。其中P1口為A/D轉(zhuǎn)換器的通信端口,P2口為按鍵控制,P0口為LCD的數(shù)據(jù)端口,具體電路圖如下:</p><p><b> 按鍵和顯示電路</b></p
39、><p> 本次設(shè)計使用4x4矩陣鍵盤,將其行線以及列線接到單片機的P2口,其中列線接上拉電阻然后在通過異或邏輯門在接至單片機的P2.0到P2.3口。具體連線如下圖所示:</p><p><b> 顯示電路</b></p><p> 本次設(shè)計使用LCD12864來顯示溫度采集結(jié)果,其中將LCD的數(shù)據(jù)口接入單片機的P0口,具體接線如下圖所示:&
40、lt;/p><p><b> 軟件設(shè)計</b></p><p><b> 系統(tǒng)軟件設(shè)計說明</b></p><p> 進行微機測量控制系統(tǒng)設(shè)計時,除了系統(tǒng)硬件設(shè)計外,大量的工作就是如何根據(jù)每個測量對象的實際需要設(shè)計應(yīng)用程序。因此,軟件設(shè)計在微機測量控制系統(tǒng)設(shè)計中占重要地位。對于本系統(tǒng),軟件設(shè)計更為重要。</p>
41、;<p> 在單片機測量控制系統(tǒng)中,大體上可分為數(shù)據(jù)處理、過程控制兩個基本類型。數(shù)據(jù)處理包括:數(shù)據(jù)的采集、數(shù)字濾波、標(biāo)度變換等。過程控制程序主要是使單片機按一定的方法進行計算,然后再輸出,以便達到測量控制目的。</p><p> 軟件設(shè)計主要是對溫度進行采集、顯示,通過按鍵操作,進行時間的設(shè)置與修改。因此,整個軟件可分為溫度采集子程序、時鐘讀取程序、按鍵子程序、顯示子程序、及系統(tǒng)主程序。<
42、/p><p><b> 軟件的有關(guān)算法</b></p><p> 1、最小二乘理論獲取溫度―電阻公式</p><p> 根據(jù)誤差理論,我們要獲得較高精度的溫度測量值,辦法一般有2個,要么采用查表法,要么建立高精度的數(shù)學(xué)模型。如果用查表法,主要有2個問題,如果要提高測量精度,則需要建立大量的表格,而且得提前做大量得試驗來進行多點校正,還有一個問
43、題是程序的通用性差,這臺儀器上校正好得數(shù)據(jù)可能在另一臺上不合適。而采用已知的分度表,建立數(shù)學(xué)模型,然后通過工程量(標(biāo)度)變換,通過測量A/D轉(zhuǎn)換的結(jié)果后計算得到。這里我們考慮第2種方法的優(yōu)點,首先采用分段的方法,將測量范圍分段,然后查出該段的數(shù)學(xué)模型的各個系數(shù),然后計算出溫度值,這里,由于時間的關(guān)系,我們對整個測量范圍分了3段,分別為0-49℃、50-70℃、71-100℃,利用分度表進行離線的數(shù)學(xué)擬合,得到各段的數(shù)學(xué)模型系數(shù)。同時,可
44、通過再將標(biāo)度值代入可粗略估計在各個測量段內(nèi)的最大誤差值。</p><p> 我們通過最小二乘法進行線性擬合,得到如下的數(shù)學(xué)模型為:</p><p> T1=2.5772R-257.7708 0-49℃</p><p> T2=2.6366R-267.01 50-70℃</p><p> T3=2.7206R-281
45、.90 71-100℃</p><p> 上述3個數(shù)學(xué)模型中,最大的理論誤差值都小于0.5℃,能夠滿足精度要求,實際上如果有足夠的時間,我們完全可以分得再細(xì)一些,這樣理論的誤差將會變得更小。</p><p> 2、標(biāo)度變換公式的獲取</p><p> 根據(jù)上述的線性擬合結(jié)果:T=A·R-B,這里的A、B是上述不同溫度段的系數(shù),而R值由于在
46、輸出為0V時,實際上有個對應(yīng)于100歐姆的偏置電路,因此根據(jù)R-R0=U/I,而I=2.500V/1.500K,而AD/U/G=4096/4.900V,這里的AD值為A/D轉(zhuǎn)換得結(jié)果G為放大器的增益,本設(shè)計中的二級放大器放大的倍數(shù)為80倍。將上述條件代入得:T=A·(4.9·AD/4096/G/I+100)-B</p><p><b> 軟件的流程圖</b></p
47、><p> 圖1 系統(tǒng)總流程圖 圖2 溫度轉(zhuǎn)換程序流程圖</p><p> 圖3 顯示流程圖 圖4 主函數(shù)流程圖</p><p><b> 主程序</b></p><p> ADS7841驅(qū)動程序</p><p&
48、gt; #include <iom64v.h>#include <macros.h>#include "delay.h"#include "ads7841.h"#include "LCD1602.h"//----------------------ADS7841控制字節(jié)---------------#define control_byte
49、 0b10011000//bit val description//bit7 1 start,恒為1//bit6,5,4 001 選擇CH0為+IN//bit4 1 選擇為單端輸入//bit2 X 外部MODE接GND,該位無作用,恒為12位//bit1,0 00 轉(zhuǎn)換期間ADC為掉電模式void port_init(vo
50、id){ PORTA = 0xFF;//將所有端口初始化為輸入,打開上拉 DDRA = 0x00; PORTB = 0xFF; DDRB = 0x00; PORTC = 0xFF;</p><p> { LCD_write_onechar(0x87+i,table[array[3-i]]);} delay_nms(300);}}#ifndef _ads7841_
51、h#define _ads7841_hdefine DCLK PD0#define DCLK_ddr DDRD#define DCLK_port PORTD#define DCLK_pin PIND#define CS PD1#define CS_ddr DDRD#define CS_port PORTD#define CS_pin PIND#define D
52、IN PD2#define DIN_ddr DDRD#define DIN_port PORTD#define DIN_pin PIND#define BUSY PD3#define BUSY_ddr DDRD#define BUSY_port PORTD#define BUSY_pin PIND#define </p><p> {DCLK_
53、port&=~(1<<DCLK); //時鐘端初始化為輸出低電平DCLK_ddr|=(1<<DCLK);CS_port|=(1<<CS); //片選端初始化為輸出高電平CS_ddr|=(1<<CS); //即不選中ADS7841DIN_port&=~(1<<DIN);
54、 //數(shù)據(jù)輸入端初始化為輸出低電平DIN_ddr|=(1<<DIN);BUSY_port|=(1<<BUSY); //忙信號初始化為輸入,打開上拉BUSY_ddr&=~(1<<BUSY);DOUT_port|=(1<<DOUT); //數(shù)據(jù)輸出初始化為輸入,打開上拉DOUT_ddr&=~(1<<
55、;DOUT);</p><p> }/******************************************************************************** * 函數(shù)名稱:ads7841_W_R* * 函數(shù)功能:向ADS7841寫入控制字節(jié),讀出轉(zhuǎn)換好的數(shù)* * 輸入?yún)?shù):unsigned char byte : 控制字節(jié) uns
56、igned int result: AD轉(zhuǎn)換好的數(shù)* * 備 注:數(shù)據(jù)從高位到低位寫入,從高位到低位讀出*******************************************************************************/unsigned int ads7841_W_R(unsigned char byte){</p><p> unsigned char
57、 i,temp;unsigned int result=0;for(i=0;i<8;i++) //8位數(shù)據(jù)計數(shù) </p><p> { DCLK_port&=~(1<<DCLK); //拉低時鐘端 if(byte&0x80) //當(dāng)前位是否是1 { DIN_port|=(1<<DIN);
58、 //當(dāng)前位是1,拉高數(shù)據(jù)端 } else { DIN_port&=~(1<<DIN); //當(dāng)前位是0,拉低數(shù)據(jù)端 } delay_nus(10); //調(diào)整時鐘和脈沖寬度 DCLK_port|=(1<<DCLK); //時鐘上升沿 delay_nus(10); byte<<=1;
59、 //數(shù)據(jù)左移1位,為送出新數(shù)據(jù)位做準(zhǔn)備 }delay_nus(10);DCLK_port&=~(1<<DCLK); //拉低時鐘端delay_nus(10);i=BUSY_pin; //讀BUSY的狀態(tài)delay_nus(10);if(i&(1<<BUSY)) //如果為高則說明轉(zhuǎn)換完成</p
60、><p><b> LCD驅(qū)動程序</b></p><p> lcdwc((GYPOS&0x1f)|0x80); //先送Y地址</p><p> if(GYPOS>=32) //再送X地址</p><p> lcdwc((GXPOS/16
61、+8)|0x80);</p><p><b> else</b></p><p> lcdwc((GXPOS/16)|0x80);</p><p> lcdwc(0x30); //恢復(fù)為基本指令集</p><p><b> }</b></p
62、><p> void lcdon(void) //LCD顯示開啟子程序</p><p> { lcdwc(0x30); //設(shè)置為基本指令集</p><p> lcdwc(0x0c);</p><p><b> }</b>
63、</p><p> void lcdoff(void) //LCD顯示關(guān)閉子程序</p><p> { lcdwc(0x30); //設(shè)置為基本指令集</p><p> lcdwc(0x08);</p><p><b> }<
64、/b></p><p> void lcdgraphon(void) //繪圖區(qū)域顯示開啟子程序</p><p> { lcdwc(0x36);</p><p> lcdwc(0x30); //恢復(fù)為基本指令集</p><p><b>
65、 }</b></p><p> void lcdgraphoff(void) //繪圖區(qū)域顯示關(guān)閉子程序</p><p> { lcdwc(0x34);</p><p> lcdwc(0x30); //恢復(fù)為基本指令集</p><p><
66、;b> }</b></p><p> void lcdwd(unsigned char d) //向液晶顯示控制器寫數(shù)據(jù)</p><p><b> {</b></p><p> CSPIN=1; //片選使能</p><
67、p> transbyte(0xfa); //SYNCODE=0F8H,RW=0,RS=1,D0=0</p><p> transbyte(d&0xf0); //送高四位數(shù)據(jù),低四位補零</p><p> transbyte((d&0x0f)<<4);
68、 //送低四位數(shù)據(jù)</p><p> CSPIN=0; //片選禁止</p><p><b> }</b></p><p> void lcdwc(unsigned char c) //向液晶顯示控制器送指令</p><p><b
69、> {</b></p><p> CSPIN=1; //片選使能</p><p> transbyte(0xf8); //SYNCODE=0F8H,RW=0,RS=0,D0=0</p><p> transbyte(c&0xf0);
70、 //送高四位數(shù)據(jù),低四位補零</p><p> transbyte((c&0x0f)<<4); //送低四位數(shù)據(jù)</p><p> CSPIN=0; //片選禁止</p><p><b> }</b><
71、;/p><p> void transbyte(unsigned char d) //送1字節(jié)數(shù)據(jù)到液晶顯示控制器子程序</p><p> { unsigned char i;</p><p> for(i=0;i<8;i++)</p><p> { if((d&0x80) == 0x80)</
72、p><p> transbit(1);</p><p><b> else</b></p><p> transbit(0);</p><p> d<<=1; //從高到低位送字節(jié)位數(shù)據(jù)到液晶顯示控制器</p><p><b&
73、gt; }</b></p><p><b> }</b></p><p> void transbit(bit d) //送1位數(shù)據(jù)到液晶顯示控制器子程序</p><p> { STDPIN = d; //先送數(shù)據(jù)到數(shù)據(jù)口線DI<
74、/p><p><b> _nop_();</b></p><p> SCLKPIN = 1; //再使時鐘口線發(fā)一個負(fù)脈沖</p><p><b> _nop_();</b></p><p> SCLKPIN = 0;</p><
75、;p><b> _nop_();</b></p><p> SCLKPIN = 1;</p><p><b> }</b></p><p><b> 總結(jié)</b></p><p> 本溫度測量系統(tǒng)設(shè)計,是采用PT100溫度傳感器經(jīng)過放大和A/D轉(zhuǎn)換器送到單片機進
76、行控制溫度顯示。另外本系統(tǒng)還可以通過外接電路擴展實現(xiàn)溫度報警功能,從而更好的實現(xiàn)溫度現(xiàn)場的實時控制。</p><p> 經(jīng)過多次的修改和調(diào)試測量,本設(shè)計基本符合設(shè)計要求,由于受人為因素和軟硬件的限制,系統(tǒng)難免不了帶來一些誤差,但通過調(diào)節(jié)和精確計算可以減小誤差。</p><p> 通過本次溫度測量系統(tǒng)的設(shè)計,我對溫度測量控制有了進一步的熟悉和更深入的學(xué)習(xí)。在整個設(shè)計的過程中,本設(shè)計的重點
77、和難點是:怎樣將PT100熱電阻的非電量信號轉(zhuǎn)換為單片機單片機能識別的電量信號,其中的信號如何放大及放大倍數(shù)的確定等等。</p><p> 這次課程設(shè)計雖然時間比較緊,從一開始的課題確定,到后來的資料查找、理論學(xué)習(xí),再在后來的畫原理圖和編程,這一切都使我的理論知識和動手能力進一步得到提升。在畫原理圖、電路仿真和調(diào)試過程中不可避免地遇到各種問題,這要求保持沉著冷靜,聯(lián)系書本理論知識積極地思考,但是最后還是在老師以
78、及同學(xué)的幫助下圓滿解決了這些問題,實現(xiàn)了整個系統(tǒng)設(shè)計與最后調(diào)試,相關(guān)指標(biāo)達到預(yù)期的要求,很好地完成了本次設(shè)計任務(wù)。通過本次畢業(yè)設(shè)計,我了解并掌握了傳感器的基本理論知識,更深入的掌握單片機的開發(fā)應(yīng)用和編程控制。為以后從事單片機軟硬件產(chǎn)品的設(shè)計開發(fā)、打下了良好的基礎(chǔ),樹立獨立從事產(chǎn)品研發(fā)的信心,并在這種能力上得到了比較充分的鍛煉。</p><p><b> 參考文獻</b></p>
79、<p> 【1】王化祥,張淑英。傳感器原理及應(yīng)用[M]。天津:天津大學(xué)出版社,2005年;</p><p> 【2】張俊謨。單片機中級教程[M]。北京:北京航空航天大學(xué)出版社,2006年;</p><p> 【3】李志全等。智能儀表設(shè)計原理及應(yīng)用[M]。國防工業(yè)出版社,1998年;</p><p> 【4】鄭建國。一種高精度的鉑電阻溫度測量方案
80、,自動化儀表[M],1997年;</p><p> 【5】楊振江等.智能儀器與數(shù)據(jù)采集系統(tǒng)中的新器件及應(yīng)用[M],西安電子科技大學(xué)出版社,2001年;</p><p> 【6】周航慈.單片機應(yīng)用程序設(shè)計[M],北京航空航天大學(xué)出版社,1991年;</p><p> 【7】李建民.單片機在溫度控制系統(tǒng)中的應(yīng)用[M],江漢大學(xué)學(xué)報,1996年。</p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能儀器課程設(shè)計——溫度測量儀
- 溫度測量儀課程設(shè)計
- 溫度測量儀課程設(shè)計
- 溫度測量儀課程設(shè)計
- 電子課程設(shè)計——溫度測量儀
- 模電課程設(shè)計-溫度測量儀
- 智能溫度測量儀課程設(shè)計--pt100溫度傳感器
- 智能溫度測量儀的設(shè)計(1)
- 課程設(shè)計--智能化流量測量儀設(shè)計
- 水溫測量儀課程設(shè)計
- 課程設(shè)計---簡易頻率測量儀
- 數(shù)字電容測量儀-課程設(shè)計
- 電容電感測量儀課程設(shè)計
- 機械工程測試技術(shù)課程設(shè)計——溫度測量儀
- 課程設(shè)計--電機轉(zhuǎn)速測量儀設(shè)計
- 大電流測量儀的課程設(shè)計
- 水溫測量儀_模電課程設(shè)計
- 基于18b20的溫度測量儀課程設(shè)計報告
- 溫度測量儀表
- 機械課程設(shè)計--板料厚度測量儀設(shè)計
評論
0/150
提交評論