基于PT100的溫度測(cè)量系統(tǒng).doc_第1頁(yè)
基于PT100的溫度測(cè)量系統(tǒng).doc_第2頁(yè)
基于PT100的溫度測(cè)量系統(tǒng).doc_第3頁(yè)
基于PT100的溫度測(cè)量系統(tǒng).doc_第4頁(yè)
基于PT100的溫度測(cè)量系統(tǒng).doc_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 前言 傳感器技術(shù)在信息采集、信息傳輸和信息處理中,屬于前沿尖端產(chǎn)品,尤其是溫度傳感器技術(shù),在各個(gè)領(lǐng)域廣泛應(yīng)用,比如在工農(nóng)業(yè)生產(chǎn)中需要實(shí)時(shí)測(cè)量溫度等等。因此研究溫度的測(cè)量方法和裝置具有重要的意義。 為了提高對(duì)傳感器的認(rèn)識(shí)和了解,尤其是對(duì)溫度傳感器的深入研究以及其用法與用途,基于實(shí)用、廣泛和典型的原則而設(shè)計(jì)了本系統(tǒng)。本文利用單片機(jī)結(jié)合溫度傳感器技術(shù)而開發(fā)設(shè)計(jì)了這一溫度測(cè)量系統(tǒng)。文中將傳感器理論與單片機(jī)實(shí)際應(yīng)用有機(jī)結(jié)合,詳細(xì)地講述了利用熱電阻作為溫度傳感器來(lái)測(cè)量實(shí)時(shí)的溫度,以及實(shí)現(xiàn)熱電轉(zhuǎn)換的原理過(guò)程。 本設(shè)計(jì)應(yīng)用性比較強(qiáng),設(shè)計(jì)系統(tǒng)可以作為溫度測(cè)量顯示系統(tǒng),如果稍微改裝可以做熱水器溫度調(diào)節(jié)系統(tǒng)、生產(chǎn)

2、溫度監(jiān)控系統(tǒng)等等。本課題主要任務(wù)是完成環(huán)境性強(qiáng)等優(yōu)點(diǎn)。 課程設(shè)計(jì)任務(wù) 本設(shè)計(jì)系統(tǒng)包括溫度傳感器,信號(hào)放大電路,A/D轉(zhuǎn)換模塊,時(shí)鐘模塊,數(shù)據(jù)處理與控制模塊,溫度、時(shí)間顯示模塊六個(gè)部分。文中對(duì)每個(gè)部分功能、實(shí)現(xiàn)過(guò)程作了詳細(xì)介紹。整個(gè)系統(tǒng)的核心是進(jìn)行溫度測(cè)量與顯示,完成了課題所有要求。 摘 要:本文采用AT89S51單片機(jī),TLC2543 A/D轉(zhuǎn)換器,DS1302時(shí)鐘芯片,AD620放大器,鉑電阻PT100及8位數(shù)碼管組成系統(tǒng),編寫了相應(yīng)的軟件程序,使其實(shí)現(xiàn)溫度的實(shí)時(shí)顯示。該系統(tǒng)的特點(diǎn)是:使用簡(jiǎn)便;測(cè)量精確、穩(wěn)定、可靠;測(cè)量范圍大;使用對(duì)象廣。關(guān)鍵詞:PT100 單片機(jī) 溫度測(cè)量 DS1302

3、Abstract: The system contains SCM(AT89S51), analog to digital convert department (TLC2543), DS1302 chip, AD620 amplifier, PT100 platinum, LED Digital tube with six, write the corresponding software program to achieve real-time temperature display. The system is simple , accurate , stable and wide ra

4、nge. Keywords: PT100 SCM Temperature Measures DS1302 一 方案設(shè)計(jì)與論證1.1 傳感器的選擇 由于本設(shè)計(jì)的任務(wù)是要求測(cè)量的范圍為0100,測(cè)量的分辨率為0.1,綜合價(jià)格以及后續(xù)的電路,決定采用線性度相對(duì)較好的PT100作為本課題的溫度傳感器,具體的型號(hào)為WZP型鉑電阻,該傳感器的測(cè)溫范圍從200650。具體在0100的分度特性表見(jiàn)附錄A所示。 1.1.1 PT100溫度傳感器原理 PT100溫度感測(cè)器是一種以白金(Pt)作成的電阻式溫度檢測(cè)器,屬于正電阻系數(shù),其電阻和溫度變化的關(guān)系式如下: R=Ro(1+T)其中=0.00392,Ro為100

5、(在0的電阻值),T為攝氏溫度。因此白金作成的電阻式溫度檢測(cè)器,又稱為PT100。 PT100是電阻式溫度傳感器,測(cè)溫的本質(zhì)其實(shí)是測(cè)量傳感器的電阻,通常是將電阻的變化轉(zhuǎn)換成電壓或電流等模擬信號(hào),然后再將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),再由處理器換算出相應(yīng)溫度。主要技術(shù)指標(biāo):1. 測(cè)溫范圍:-200650; 2. 測(cè)溫精度:0.1; 3. 穩(wěn)定性:0.1。 PT100溫度傳感器測(cè)量范圍廣:-200+650,偏差小,響應(yīng)時(shí)間短,還具有抗振動(dòng)、穩(wěn)定性好、準(zhǔn)確度高、耐高壓等優(yōu)點(diǎn),其得到了廣泛的應(yīng)用,本設(shè)計(jì)采用PT100作為溫度傳感器。 采取方案:設(shè)計(jì)一個(gè)恒流源通過(guò)PT100熱電阻,通過(guò)檢測(cè)PT100上的電壓的

6、變化來(lái)?yè)Q算出溫度。 1.2系統(tǒng)的工作原理 測(cè)溫的模擬電路是把當(dāng)前PT100熱電阻傳感器的電阻值,轉(zhuǎn)換為容易測(cè)量的電壓值,經(jīng)過(guò)放大器放大信號(hào)后送給A/D轉(zhuǎn)換器把模擬電壓轉(zhuǎn)為數(shù)字信號(hào)后傳給單片機(jī)AT89S51,單片機(jī)再根據(jù)公式換算把測(cè)量得的溫度傳感器的電阻值轉(zhuǎn)換為溫度值,并將數(shù)據(jù)送出到數(shù)碼管進(jìn)行顯示。另外,外接一個(gè)時(shí)鐘芯片DS1302產(chǎn)生時(shí)鐘信號(hào)送入到單片機(jī)中進(jìn)行處理控制,并將時(shí)間顯示出來(lái),以實(shí)現(xiàn)溫度的實(shí)時(shí)監(jiān)控。 圖1.2.1系統(tǒng)結(jié)構(gòu)框圖 二 硬件設(shè)計(jì)2.1 PT100傳感器方案設(shè)計(jì) Pt100 是電阻式溫度傳感器,測(cè)溫的本質(zhì)其實(shí)是測(cè)量傳感器的電阻,通常是將電阻的變化轉(zhuǎn)換成電壓或電流等模擬信號(hào),然

7、后再將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),再由處理器換算出相應(yīng)溫度。采用Pt100 測(cè)量溫度一般有兩種方案:方案一:設(shè)計(jì)一個(gè)恒流源通過(guò)Pt100 熱電阻,通過(guò)檢測(cè)Pt100 上電壓的變化來(lái)?yè)Q算出溫度。方案二:采用惠斯頓電橋,電橋的四個(gè)電阻中三個(gè)是恒定的,另一個(gè)用Pt100 熱電阻,當(dāng)Pt100電阻值變化時(shí),測(cè)試端產(chǎn)生一個(gè)電勢(shì)差,由此電勢(shì)差換算出溫度。兩種方案的區(qū)別只在于信號(hào)獲取電路的不同,其原理上基本一致。2.2 信號(hào)調(diào)理電路 調(diào)理電路的作用是將來(lái)自于現(xiàn)場(chǎng)傳感器的信號(hào)變換成前向通道中A/D轉(zhuǎn)換器能識(shí)別的信號(hào),作為本系統(tǒng),由于溫度傳感器是熱電阻PT100,因此調(diào)理電路完成的是怎樣將與溫度有關(guān)的電阻信號(hào)變換成

8、能被A/D轉(zhuǎn)換器接受的電壓信號(hào)。2.3 恒流源電路(線性穩(wěn)壓電源)的設(shè)計(jì) 系統(tǒng)設(shè)計(jì)的恒流源電路見(jiàn)下圖,穩(wěn)定輸出5v電壓。 圖2.3.1恒流源電路2.4 放大電路的設(shè)計(jì) 信號(hào)放大電路,就是把模擬信號(hào)變換為用于數(shù)據(jù)采集、控制過(guò)程、執(zhí)行計(jì)算顯示讀出或其他目的的數(shù)字信號(hào)。模擬傳感器可測(cè)量很多物理量,如溫度、壓力、光強(qiáng)等,但由于傳感器信號(hào)不能直接轉(zhuǎn)換為數(shù)字?jǐn)?shù)據(jù),這是因?yàn)閭鞲衅鬏敵鍪窍喈?dāng)小的電壓、電流或電阻變化,因此,在變換為數(shù)字信號(hào)之前必須進(jìn)行放大,緩沖或定標(biāo)模擬信號(hào)等,使其適合于模/數(shù)轉(zhuǎn)換器(ADC)的輸入。然后,ADC對(duì)模擬信號(hào)進(jìn)行數(shù)字化,并把數(shù)字信號(hào)送到MCU或其他數(shù)字器件,以便用于系統(tǒng)的數(shù)據(jù)處理

9、。該測(cè)溫系統(tǒng)這部分電路的主要作用是用熱電阻PT100配合電流源采集當(dāng)前的溫度并將其轉(zhuǎn)換為電壓信號(hào),放大電路將這個(gè)微小的電壓信號(hào)轉(zhuǎn)換為可以輸入A/D轉(zhuǎn)換器的合適電壓值。具體組成電路如圖2.4.1所示。 圖2.4.1信號(hào)放大電路 根據(jù)運(yùn)放的“虛短”、“虛斷”作用,結(jié)果將微小的電壓信號(hào)放大轉(zhuǎn)換為可以輸入A/D轉(zhuǎn)換器的合適電壓值2.5 A/D模數(shù)轉(zhuǎn)換模塊ADC0809A/D模數(shù)轉(zhuǎn)換器 ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,它由8路模擬開關(guān),地址鎖存與譯碼器,比較器,8位開關(guān)數(shù)型A/D轉(zhuǎn)換器,逐次逼近寄存器,邏輯控制和定時(shí)電路組成。 首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器

10、中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動(dòng)A/D轉(zhuǎn)換,之后EOC輸入信號(hào)變低,指示轉(zhuǎn)換正在進(jìn)行,直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號(hào)可用作中斷請(qǐng)求。轉(zhuǎn)換結(jié)果的數(shù)字量輸入到數(shù)據(jù)總線上,傳送給單片機(jī)進(jìn)行處理。 圖2.5.1ADC0809CCN 2.6 DS1302時(shí)鐘電路設(shè)計(jì) DS1302是美國(guó)DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)

11、方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)318的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級(jí)產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時(shí)提供了對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力。本設(shè)計(jì)中采用DS1302時(shí)鐘芯片產(chǎn)生時(shí)鐘信號(hào),通過(guò)單片機(jī)進(jìn)行處理控制,并顯示出實(shí)時(shí)的時(shí)間,可以用于對(duì)溫度進(jìn)行實(shí)時(shí)的數(shù)據(jù)采集。1. 引腳功能及結(jié)構(gòu) DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc10.2V時(shí),Vcc2給

12、DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線,通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初 始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過(guò)程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc2.5V之前,RST必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。I/O為串行數(shù)據(jù)輸

13、入輸出端(雙向),后面有詳細(xì)說(shuō)明。SCLK始終是輸入端。 DS1302的引腳功能圖如圖2-7所示。圖2.6.1 DS1302引腳圖2. DS1302的控制字節(jié) DS1302 的控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果為邏輯0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址輸入或輸出。最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出。 3. 數(shù)據(jù)輸入輸出(I/O) 在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在

14、緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7。 4. DS1302的寄存器 DS1302有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。 此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。 DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為C0HFDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一

15、次性讀寫所有的RAM的31個(gè)字節(jié),命令控制字為 FEH(寫)和FFH(讀)。5.DS1302與單片機(jī)的連接DS1302與CPU的連接需要三條線,即SCLK(7)、I/O(6)、RST(5)。這三條線分別接到CPU的I/O線上。 圖2.6.2 DS1302與CPU的連接2.7 單片機(jī)簡(jiǎn)介及控制電路89C51單片機(jī)簡(jiǎn)介:與MCS-51兼容,4K字節(jié)可編程閃爍存儲(chǔ)器,壽命:1000寫/擦循環(huán),數(shù)據(jù)保留時(shí)間:十年。全靜態(tài)工作:0Hz-24Hz三級(jí)程序存儲(chǔ)器鎖定128*8位內(nèi)部RAM32可編程I/O線兩個(gè)16位定時(shí)器/計(jì)數(shù)器5個(gè)中斷源可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時(shí)鐘電路89C51單片

16、機(jī)引腳圖89C51引腳功能介紹VCC:供電電壓GND:接地P0口:P0口為一個(gè)8位漏極開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫“1”時(shí),被定義位高阻輸入。P0能夠用于外部程序存儲(chǔ)器,它可以被定義為數(shù)據(jù)地址的低八位。在FLASH編程時(shí),P0口作為原碼輸入口,當(dāng)FLASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能夠接收輸出4TTL門電流。P1口管腳寫入“1”后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為低八位地

17、址接受。P2口:P2口為一個(gè)內(nèi)部上拉電阻的雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。再給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASh編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是八個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電路。當(dāng)P3口寫入“1”后,它們

18、被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流,這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:管腳備選功能P3.0 RXD串行輸入口P3.1 TXD串行輸出口P3.2 /INT0外部中斷0P3.3 /INT1外部中斷1P3.4 T0計(jì)時(shí)器0外部輸入P3.5 T1計(jì)時(shí)器1外部輸入P3.6 /WR外部數(shù)據(jù)存儲(chǔ)器寫選通P3.7 /RD外部數(shù)據(jù)存儲(chǔ)器讀選通 表2.7.1 特殊功能口P3口同時(shí)為閃爍編程和編程校驗(yàn)接受一些控制信號(hào)RST:復(fù)位輸入,當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí)

19、,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6.因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0.此時(shí),ALE只有在執(zhí)行MOVX、MOVC指令時(shí)ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/P

20、SEN信號(hào)將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖存為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入XTAL2:來(lái)自反向振蕩器的輸出 圖2.7.2 89C51 圖2.7.3連接電路 圖2.7.4復(fù)位電路 圖2.7.5串口電路 在單片機(jī)上,需要下載程序,使用串口方能完成此功能。在焊好的單片機(jī)板上,伸出三個(gè)腳,用于電路的連接。2.8 顯示模塊七段數(shù)碼

21、管LED 所有數(shù)碼管通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的COM端,就使各個(gè)數(shù)碼管輪流受控顯示。將所有數(shù)碼管的8個(gè)顯示筆“a,b,c,d,e,f,g,dp”的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通有各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是哪個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。 圖2.8.1顯示模塊 三 軟件設(shè)計(jì) 主要介紹編程語(yǔ)言C語(yǔ)言和編程工具Keil3軟件,以及本系統(tǒng)的程序設(shè)計(jì)和在程序設(shè)計(jì)時(shí)所遇到的問(wèn)題及解決

22、辦法。3.1概述 整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來(lái)實(shí)現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來(lái)了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序),它是整個(gè)控制系統(tǒng)的核心,專門用來(lái)協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行軟件(子程序),它是用來(lái)完成各種實(shí)質(zhì)性的功能,如測(cè)量,計(jì)算,顯示,通訊等。每個(gè)執(zhí)行軟件也就是一個(gè)小的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好之后,就可以規(guī)劃監(jiān)控程序了。首先要根據(jù)系統(tǒng)的總體功能選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實(shí)時(shí)性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間的調(diào)度關(guān)系。3.2 編程語(yǔ)言介紹

23、C語(yǔ)言是一種面向過(guò)程的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,它是目前眾多計(jì)算機(jī)語(yǔ)言中舉世公認(rèn)的優(yōu)秀的結(jié)構(gòu)程序設(shè)計(jì)語(yǔ)言之一。C語(yǔ)言主要有以下特點(diǎn):1、 C是中級(jí)語(yǔ)言。它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來(lái)。C 語(yǔ)言可以像匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作, 而這三者是計(jì)算機(jī)最基本的工作單元。2、C是結(jié)構(gòu)式語(yǔ)言。結(jié)構(gòu)式語(yǔ)言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?,便于使用、維護(hù)以及調(diào)試。3、C語(yǔ)言功能齊全。具有各種各樣的數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。另外C語(yǔ)言也具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動(dòng)器。4、C語(yǔ)言

24、適用范圍大。適合于多種操作系統(tǒng),如Windows、DOS、UNIX等等;也適用于多種機(jī)型。基于C語(yǔ)言的這些特點(diǎn),我們選用C語(yǔ)言來(lái)作為編程語(yǔ)言。3.3編程軟件Keil簡(jiǎn)介 KeilC51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。 Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體

25、現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。下面詳細(xì)介紹KeilC51開發(fā)系統(tǒng)各部 分功能和使用。 我們用開發(fā)軟件Keil uVision3來(lái)編寫、修改所需程序和下載程序到單片機(jī)運(yùn)行。其下介紹Keil uVision3的使用步驟。3.4程序設(shè)計(jì)流程圖 本溫度測(cè)量系統(tǒng)的程序設(shè)計(jì)流程圖如圖3.4所示。單片機(jī)初始化液晶初始化根據(jù)AD碼算出電阻值根據(jù)電阻值算出溫度值液晶顯示延時(shí)開始 圖3.4.1程序流程圖 3.5溫度程序#include#define uchar unsigned char#define uint unsigned int#define mynum temsbit LED1=P20;sbit LED2=P21;

26、sbit LED3=P22;sbit LED4=P23;/四個(gè)數(shù)碼管的位選sbit OE=P10; /AD轉(zhuǎn)換輸出使能端sbit EOC=P11; /AD轉(zhuǎn)換結(jié)束標(biāo)志sbit ST=P12; /開始AD轉(zhuǎn)換和寄存器清零,下降沿為開始轉(zhuǎn)換,上升沿為寄存器清零sbit CLK=P13; /ADC0809的時(shí)鐘信號(hào)sbit C3=P14;sbit C2=P15;sbit C1=P16; uint adnum=0;uint ge=0,shi=0,bai=0,qian=0;uint mytime=0;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,

27、0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void delay(uint xms)uint i,j;for(i=xms;i0;i-)for(j=110;j0;j-);void T0T1_init()/定時(shí)器0和1的初始化TMOD=0x12;TH0=164;TL0=164;TH1=19453/256;TL1=19453%256;EA=1;ET0=1;ET1=1;TR0=1;TR1=1;void LED_init()/初始化數(shù)碼管LED1=1;LED2=1;LED3=1;LED4=1;P0=0;void adc0809_init()/ADC0809初

28、始化C3=0;C2=0;C1=0;ST=0;delay(1);ST=1;OE=0;CLK=0;void LED_display()P0=tableshi;LED1=0;delay(3);LED1=1;P0=tablege; LED2=0;delay(3);LED2=1;P0=0x63;LED3=0;delay(3);LED3=1;P0=0x39;LED4=0;delay(3);LED4=1;uint num_handle(uint adzhi)uint mid,midh,midl;mid=adzhi*50;midh=mid/256;midl=mid%256*100/256;return (midh*100+midl); void ad_handle()uint vnum,tem;vnum=num_handle(adnum);tem=(vnum-30-1000)/4;qian=mynum/1000%10;bai=mynum/100%10;shi=mynum/10%10;ge=mynum%10;void main()LED_init();/對(duì)數(shù)碼管的初始化adc0809_init();/對(duì)ADC08

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論