溫度測(cè)量系統(tǒng)畢業(yè)論文

上傳人:1666****666 文檔編號(hào):35980261 上傳時(shí)間:2021-10-29 格式:DOC 頁(yè)數(shù):19 大?。?.03MB
收藏 版權(quán)申訴 舉報(bào) 下載
溫度測(cè)量系統(tǒng)畢業(yè)論文_第1頁(yè)
第1頁(yè) / 共19頁(yè)
溫度測(cè)量系統(tǒng)畢業(yè)論文_第2頁(yè)
第2頁(yè) / 共19頁(yè)
溫度測(cè)量系統(tǒng)畢業(yè)論文_第3頁(yè)
第3頁(yè) / 共19頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《溫度測(cè)量系統(tǒng)畢業(yè)論文》由會(huì)員分享,可在線閱讀,更多相關(guān)《溫度測(cè)量系統(tǒng)畢業(yè)論文(19頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、溫度測(cè)量系統(tǒng) 1.1 系統(tǒng)概要 1.1.1 引言 溫度是表征物體冷熱程度的物理量。溫度通過(guò)物體隨溫度變化的某些特性來(lái)間接測(cè)量。溫度的測(cè)量和控制在激光器、光纖光柵的使用及其他的工農(nóng)業(yè)生產(chǎn)和科學(xué)研究中應(yīng)用廣泛。溫度檢測(cè)的傳統(tǒng)方法是使用諸如熱電偶、熱電阻、半導(dǎo)體PN結(jié)之類的模擬溫度傳感器。信號(hào)經(jīng)取樣、放大后通過(guò)模數(shù)轉(zhuǎn)換,再交自單片機(jī)處理。被測(cè)溫度信號(hào)從溫敏元件到單片機(jī),經(jīng)過(guò)眾多器件,易受干擾、不易控制且精度不高。因此,本設(shè)計(jì)介紹了一種溫度傳感器選用LM35、單片機(jī)選用MC908GP32的溫度測(cè)量系統(tǒng)。它能通過(guò)與單片機(jī),完成溫度采集和數(shù)據(jù)處理。該系統(tǒng)的溫度測(cè)量范圍為0~99℃,可以精確到一位小數(shù)

2、,可適用于工業(yè)場(chǎng)合及日常生活中[6]。 1.1.2 系統(tǒng)結(jié)構(gòu)分析 溫度傳 感器電路 信號(hào) 放大電路 A/D 轉(zhuǎn)換電路 單片機(jī) 系統(tǒng) 溫度 顯示系統(tǒng) 圖1 測(cè)溫系統(tǒng)的原理框圖 本測(cè)溫系統(tǒng)由溫度傳感器電路、信號(hào)放大電路、A/D轉(zhuǎn)換電路、單片機(jī)系統(tǒng)、溫度顯示系統(tǒng)構(gòu)成,如圖1所示。其基本工作原理:溫度傳感器電路將測(cè)量到的溫度信號(hào)轉(zhuǎn)換成電壓信號(hào)輸出到信號(hào)放大電路,與溫度值對(duì)應(yīng)的電壓信號(hào)經(jīng)放大后輸出至A/D轉(zhuǎn)換電路,把電壓信號(hào)轉(zhuǎn)換成數(shù)字量送給單片機(jī)系統(tǒng),單片機(jī)系統(tǒng)根據(jù)顯示需要對(duì)數(shù)字量進(jìn)行處理,再送溫度顯示系統(tǒng)進(jìn)行顯示。如圖2所示[2]。1.2 硬件電路設(shè)計(jì) 1.2.1 硬件

3、電路圖 1.2.2 溫度傳感器電路 溫度傳感器采用的是NS公司生產(chǎn)的LM35,它具有很高的工作精度和較寬的線性工作范圍,它的輸出電壓與攝氏溫度線性成比例,且無(wú)需外部校準(zhǔn)或微調(diào),可以提供1/4℃的常用的室溫精度。LM35的輸出電壓與攝氏溫度的線形關(guān)系可用下面公式表示,0℃時(shí)輸出為0 V,每升高1℃,輸出電壓增加10 mV。其電源供應(yīng)模式有單電源與正負(fù)雙電源兩種,其接法如圖3與圖4所示。正負(fù)雙電源的供電模式可提供負(fù)溫度的測(cè)量,單電源模式在25℃下電流約為50 mA,非常省電。本系統(tǒng)采用的是單電源模式。 1.2.3 信號(hào)放大電路 由于溫度傳感器LM35輸出的電壓范圍為0~0.99 V,

4、雖然該電壓范圍在A/D轉(zhuǎn)換器的輸入允許電壓范圍內(nèi),但該電壓信號(hào)較弱,如果不進(jìn)行放大直接進(jìn)行A/D轉(zhuǎn)換則會(huì)導(dǎo)致轉(zhuǎn)換成的數(shù)字量太小、精度低。系統(tǒng)中選用通用型放大器μA741對(duì)LM35輸出的電壓信號(hào)進(jìn)行幅度放大,還可對(duì)其進(jìn)行阻抗匹配、波形變換、噪聲抑制等處理。系統(tǒng)采取同相輸入,電壓放大倍數(shù)為5倍,電路圖如圖5所示[5]。 1.2.4 A/D轉(zhuǎn)換模塊 A/D轉(zhuǎn)換模塊(Analog To Digital Convert Module),即模數(shù)轉(zhuǎn)換,是將電壓信號(hào)轉(zhuǎn)換為對(duì)應(yīng)的數(shù)字信號(hào)。 1.2.4.1 進(jìn)行A/D轉(zhuǎn)換的基本問(wèn)題: (1)采樣精度 數(shù)字量變化一個(gè)最小量時(shí)模擬信號(hào)的變化量,即采樣

5、位數(shù)。 (2)采樣速率 完成一次A/D采樣所要花費(fèi)的時(shí)間。 (3)濾波 對(duì)采樣的數(shù)據(jù)進(jìn)行篩選去掉誤差較大的毛刺。 (4)物理量回歸 把A/D采樣值與實(shí)際物理量對(duì)應(yīng)起來(lái)。 1.2.4.2 A/D轉(zhuǎn)換模塊的基本編程方法 (1)A/D轉(zhuǎn)換初始化 對(duì)ADCLK寫入控制字節(jié),決定時(shí)鐘輸入源是內(nèi)部總線還是外部晶振,決定分頻系數(shù)等。 (2)啟動(dòng)A/D轉(zhuǎn)換 對(duì)ADSCR寫入控制字節(jié),選取要轉(zhuǎn)換的通道、決定轉(zhuǎn)換結(jié)束數(shù)據(jù)獲取的方式、設(shè)置是連續(xù)轉(zhuǎn)換還是一次轉(zhuǎn)換等。 (3)獲A/D轉(zhuǎn)換結(jié)果 若是中斷方式,在A/D中斷程序中取得,若是查詢方式,通過(guò)ADSCR的第7位(COCO位)取得,當(dāng)

6、COCO=1時(shí)可從ADR中取數(shù)。 1.2.4.3 A/D芯片TCL2543概述 (1)TLC2543的引腳說(shuō)明 圖 6 TLC2543引腳圖 (2) TLC2543的編程要點(diǎn),控制字的格式控制字為從DATA INPUT端串行輸入TLC2543芯片內(nèi)部的8位數(shù)據(jù),它告訴TLC2543要轉(zhuǎn)換的模擬量通道、轉(zhuǎn)換后的輸出數(shù)據(jù)長(zhǎng)度、輸出數(shù)據(jù)的格式。 (3) TLC2543的內(nèi)部寄存器,輸入數(shù)據(jù)寄存器存放從DATA INPUT端移入的控制字。輸出數(shù)據(jù)寄存器存放轉(zhuǎn)換好的數(shù)據(jù),以供從DATA OUT端移出。轉(zhuǎn)換過(guò)程上電后,片選CS必須從高到低,才能開(kāi)始一次工作周期,此時(shí)EOC為高,輸入數(shù)

7、據(jù)寄存器被置0,輸出數(shù)據(jù)寄存器內(nèi)容是隨機(jī)的。開(kāi)始時(shí),片選CS為高,I/O CLOCK、DATA INPUT被禁止,DATA OUT呈高阻態(tài),EOC為高。使CS變低,I/O CLOCK、DATA INPUT使能,DATA OUT脫離高阻態(tài)。12個(gè)時(shí)鐘信號(hào)從I/O CLOCK端依次加入,控制字從DATA INPUT一位一位地在時(shí)鐘信號(hào)的上升沿時(shí)被送入TLC2543(高位先送入),同時(shí)上一周期轉(zhuǎn)換的A/D數(shù)據(jù),即輸出數(shù)據(jù)寄存器中的數(shù)據(jù)從DATA OUT一位一位地移出。TLC2543收到第4個(gè)時(shí)鐘信號(hào)后,通道號(hào)也已收到,因此,此時(shí)TLC2543開(kāi)始對(duì)選定通道的模擬量進(jìn)行采樣,并保持到第12個(gè)時(shí)鐘的下降

8、沿。在第12個(gè)時(shí)鐘下降沿,EOC變低,開(kāi)始對(duì)本次采樣的模擬量進(jìn)行A/D轉(zhuǎn)換,轉(zhuǎn)換時(shí)間約需10μs,轉(zhuǎn)換完成EOC變高,轉(zhuǎn)換的數(shù)據(jù)在輸出數(shù)據(jù)寄存器中,待下一個(gè)工作周期輸出。此后,可以進(jìn)行新的工作周期。 (4)TLC2543與MCU的接口方法,TLC2543與微處理器芯片的接口部分有五個(gè)引腳,分別是:時(shí)鐘輸入(I/O CLOCK)、串行控制字輸入(DATA INPUT)、片選輸入(CS)、A/D轉(zhuǎn)換串行數(shù)據(jù)輸出(DATA OUTPUT) 、轉(zhuǎn)換結(jié)束電平輸出(EOC)。經(jīng)分析TLC2543的工作時(shí)序,可以通過(guò)軟件估計(jì)轉(zhuǎn)換結(jié)束,免去EOC接線。TLC2543與具有SPI或相同接口能力的MCU可以直接

9、連接,對(duì)于沒(méi)有SPI接口的MCU可以通過(guò)軟件編程合成SPI操作。擴(kuò)展電路設(shè)計(jì),SPI模塊與TLC2543的接口擴(kuò)展。如下圖[1]。 MC908GP32 PTC0 MISO MOSI SPSCK PTC1 PTC2 TLC2543(第0片) AIN0 CS ∶ DATA OUT ∶ DATA INPUT ∶ I/O CLOCK AIN10

10、 模擬量輸入 ∶ ∶ ∶ TLC2543(第1片) AIN0 CS ∶ DATA OUT ∶ DATA INPUT ∶ I/O CLOCK AIN10 ∶ ∶ ∶ TLC2543(第2片) AIN0 CS ∶ DATA OUT ∶ DATA INPU

11、T ∶ I/OCLOCK AIN10 ∶ ∶ ∶ 圖 7 基于SPI的A/D轉(zhuǎn)換擴(kuò)展電路 1.2.5 單片機(jī)系統(tǒng) 單片機(jī)選用的是Freescale公司的MC908GP32,主要完成對(duì)A/D轉(zhuǎn)換電路的控制、對(duì)轉(zhuǎn)換后的數(shù)字量的處理以及對(duì)顯示模塊的控制,并且為ADC0809提供工作時(shí)鐘。其具體連接電路。如圖2所示。 1.2.5.1 MC908GP32單片機(jī)性能概述 MC908GP32有40腳、42腳、44腳三種封裝形式; MC908GP32的主要特點(diǎn)概述如下: (1)51

12、2B片內(nèi)RAM;32K片內(nèi)Flash程序存儲(chǔ)器,具有在線編程能力和保密功能 (2)時(shí)鐘發(fā)生器模塊,具有32KHz晶振PLL電路,可產(chǎn)生各種工作頻率;8MHz內(nèi)部總線頻率 (3)系統(tǒng)保護(hù)特性:計(jì)算機(jī)工作正常(COP)復(fù)位;低電壓檢測(cè)復(fù)位,可選為3V或5V操作;非法指令碼檢測(cè)復(fù)位;非法地址檢測(cè)復(fù)位。 (4)優(yōu)化用于控制應(yīng)用;優(yōu)化支持C語(yǔ)言。 (5)33根通用I/O腳,包括26根多功能I/O腳和5或7根專用I/O腳;PTA、PTC和PTD的輸入口有可選擇的上拉電阻;PTC0—PTC4有15mA吸流和放流能力,其他口有10mA吸流和放流能力 (總體驅(qū)動(dòng)電流應(yīng)小于150mA);所有口有最高5

13、mA輸入電流保護(hù)功能 (6)增強(qiáng)型串行通訊口SCI;串行外圍接口SPI;兩個(gè)16位雙通道定時(shí)器接口模塊(TIM1和TIM2),每個(gè)通道可選擇為輸入捕捉、輸出比較和PWM,其時(shí)鐘可分別選為內(nèi)部時(shí)鐘的1、2、4、8、6、32和64的分頻值;帶時(shí)鐘預(yù)分頻的定時(shí)基模塊有8種周期性實(shí)時(shí)中斷(1、4、16、256、512、1024、2048和4096Hz),可在STOP方式時(shí)使用外部32KHz晶振周期性喚醒CPU;8位鍵盤喚醒口。 1.2.5.2 MC908GP32結(jié)構(gòu)框圖(44Pin) 圖8 MC908GP32結(jié)構(gòu)圖 1.2.5.3 GP32內(nèi)部有

14、以下主要部分: 存儲(chǔ)器 定時(shí)接口模塊 定時(shí)基模塊 看門狗模塊 斷點(diǎn)模塊 串行通信接口SCI 串行外設(shè)接口SPI 并行I/O接口 A/D轉(zhuǎn)換模塊 鍵盤中斷模塊系統(tǒng)設(shè)置模塊 低電壓禁止模塊 CPU08 時(shí)鐘發(fā)生模塊及鎖相環(huán)電路 復(fù)位與中斷模塊 監(jiān)控模塊MON 1.2.5.4 GP32最小系統(tǒng) 硬件結(jié)構(gòu),但僅有一個(gè)MCU是無(wú)法工作的,它必須與以MC908GP32單片機(jī)為原型的HC08系列MCU的其他相應(yīng)的外圍電路一起,才能構(gòu)成一個(gè)最小系統(tǒng)。MC908GP32芯片(以40腳封裝為例)最小系統(tǒng)的外圍支撐電路包括電源與濾波電路、

15、晶振電路和復(fù)位電路。 1.2.5.5 MC908GP32最小系統(tǒng)電路圖 圖 9 MC908GP32最小系統(tǒng)電路圖 1.2.5.6 MC908GP32CB核心板實(shí)物圖 MON08接口 Core1 Core2 GP32最小系統(tǒng) Core3 Core4 電源開(kāi)關(guān) 晶振開(kāi)關(guān) 圖 10 MC908GP32CB核心板實(shí)物圖 1.2.6 溫度顯示系統(tǒng) 該溫度顯示系統(tǒng)較為簡(jiǎn)單,由可編程并行輸入輸出芯片8255A的A,B,C端口外接3個(gè)8段LED顯示器來(lái)實(shí)現(xiàn)。MC908GP32的P2.6為8255提供片選信號(hào),

16、74LS373的Q7,Q6接8255的A1,A0,可得到8255的A,B,C及控制口的地址為BF3FH,BF7FH,BFBFH,BFFFH。MC908GP32處理好的溫度數(shù)據(jù)輸出至8255,并由MC908GP32對(duì)8255編程控制其A,B,C端口輸出高電平或低電平,以便從8段LED顯示器顯示實(shí)際溫度。8段LED顯示器選用共陽(yáng)極,8255的A,B,C端口與8段LED顯示器之間接限流電阻,圖2中只畫出了PA口,PB,PC口的接法類似[4]。 1.2.7 異步串行通信的格式 SCI通常采用NRZ數(shù)據(jù)格式,即:standard non-return-zero mark/space data for

17、mat,譯為:“標(biāo)準(zhǔn)不歸零傳號(hào)/空號(hào)數(shù)據(jù)格式”?!安粴w零”的最初含義是:用正、負(fù)電平表示二進(jìn)制值,不使用零電平?!癿ark/space”即“傳號(hào)/空號(hào)”分別是表示兩種狀態(tài)的物理名稱,邏輯名稱記為“1/0”。 1.2.7.1 RS-232C總線標(biāo)準(zhǔn) (1)MCU引腳一般輸入/輸出使用TTL電平,而TTL電平的“1”和“0”的特征電壓分別為2.4V和0.4V,適用于板內(nèi)數(shù)據(jù)傳輸。為了使信號(hào)傳輸?shù)酶h(yuǎn),美國(guó)電子工業(yè)協(xié)會(huì)EIA(Electronic Industry Association) 制訂了串行物理接口標(biāo)準(zhǔn)RS-232C。RS-232C采用負(fù)邏輯,-3V~-15V為邏輯“1”,+3V~+

18、15V為邏輯“0”。RS-232C最大的傳輸距離是30m,通信速率一般低于20Kbps。 (2)RS-232接口,簡(jiǎn)稱“串口”,它主要用于連接具有同樣接口的室內(nèi)設(shè)備。目前幾乎所有計(jì)算機(jī)上的串行口都是9芯接口。下圖給出了9芯串行接口的排列位置,相應(yīng)引腳含義見(jiàn)下表[3] 4 1 2 3 5 6 7 8 9 圖 11 9芯串行接口排列圖 表1 9芯串行接口引腳含義表 引腳號(hào) 功 能 引腳號(hào) 功 能 1 2 3 4 5 接收線信號(hào)檢測(cè)(載波檢測(cè)DCD) 接收數(shù)據(jù)線(RXD) 發(fā)送數(shù)據(jù)線(TXD) 數(shù)據(jù)終端準(zhǔn)備就緒(DTR) 信號(hào)

19、地(SG) 6 7 8 9 數(shù)據(jù)通信設(shè)備準(zhǔn)備就緒(DSR) 請(qǐng)求發(fā)送(RTS) 清除發(fā)送 振鈴指示 1.2.7.2 SCI的外圍硬件電路 具有SCI接口的MCU,一般具有發(fā)送引腳(TxD)與接收引腳(RxD),不同公司或不同系列的MCU,使用的引腳縮寫名可能不一致,但含義相同。SCI的外圍硬件電路,主要目的是將MCU的發(fā)送引腳TxD與接收引腳RxD的TTL電平,通過(guò)RS-232電平轉(zhuǎn)換芯片轉(zhuǎn)換為RS-232電平。下圖給出一個(gè)基本SCI電平轉(zhuǎn)換電路 MAX232CPE 16 15 14 13 12 11 10 9 1 2 3 4 5 6 7 8

20、51Ω 232電平 OUT IN +5V +5V TTL電平 OUT IN TTL電平 轉(zhuǎn)為232電平 1μ4 圖 12 基本SCI電平轉(zhuǎn)換電路 1.3 系統(tǒng)軟件設(shè)計(jì) 系統(tǒng)的軟件部分用C語(yǔ)言編程,采用模塊化結(jié)構(gòu),主要由A/D轉(zhuǎn)換模塊、單片機(jī)內(nèi)部數(shù)據(jù)處理模塊、溫度顯示模塊等3部分構(gòu)成,便于修改和維護(hù)。 1.3.1 A/D轉(zhuǎn)換模塊 根據(jù)測(cè)量系統(tǒng)要求不同以及單片機(jī)的忙閑程度,通??刹捎?種軟件編程方式:程序查詢方式,延時(shí)方式和中斷方式。本系統(tǒng)采用延時(shí)方式。延時(shí)程序?qū)嶋H上是無(wú)條件傳送I/O方式,當(dāng)向A/D轉(zhuǎn)換器發(fā)出啟動(dòng)命令后,即進(jìn)行軟件延

21、時(shí),延時(shí)時(shí)間稍大于進(jìn)行一次A/D轉(zhuǎn)換所需要的時(shí)間,之后打開(kāi)A/D轉(zhuǎn)換器的輸出緩沖器讀數(shù)即為轉(zhuǎn)換好的數(shù)字量。A/D轉(zhuǎn)換時(shí)間為64個(gè)時(shí)鐘周期,因?yàn)橄到y(tǒng)中ADC0809的工作時(shí)鐘為500 kHz,故A/D轉(zhuǎn)換時(shí)間為128 μs,延時(shí)時(shí)間可大致選擇160μs。程序段如下[1]: //[ADC.h]A/D轉(zhuǎn)換頭文件------------------------------------------------------ #include "GP32C.h" //GP32 MCU映像寄存器名定義 #include "Type.h"

22、 //類型別名定義 #define COCOBit 7 void ADCinit(void); //A/D轉(zhuǎn)換初始化 INT8U ADCvalue(INT8U channel); //1路A/D轉(zhuǎn)換函數(shù) INT8U ADCmid(INT8U channel); //1路A/D轉(zhuǎn)換函數(shù)(中值濾波) INT8U ADCave(INT8U channel, INT8U n); //1路A/D轉(zhuǎn)換函數(shù)(均值濾

23、波) //[ADC.c]A/D轉(zhuǎn)換-----------------------------------------------------------* //硬件連接: // PTB0/AD0 接模擬量輸入端 //-------------------------------------------------------------------------* #

24、include "ADC.h" //ADCinit:A/D轉(zhuǎn)換初始化----------------------------------------------------* //功能:設(shè)置A/D轉(zhuǎn)換時(shí)鐘頻率為1MHz //-------------------------------------------------------------------------* void ADCinit(void) { ADCLK = 0b00110000; /

25、/||||||||_______不用 //||||___________選擇內(nèi)部總線時(shí)鐘 //|||____________分頻系數(shù)為2 } //ADCave:1路A/D轉(zhuǎn)換函數(shù)(均值濾波)------------------------------------------* //功能:通道channel進(jìn)行n次中值濾波,求和再作均值,得出均值濾波結(jié)果 //-------------------------------------------------------------------------*

26、 INT8U ADCave(INT8U channel, INT8U n) { INT8U i; INT16U j; j = 0; for (i = 0; i < n; i++) j += ADCmid(channel); j = j/n; return (INT8U)j; } //ADCmid:1路A/D轉(zhuǎn)換函數(shù)(中值濾波)------------------------------------------* //功能:獲取通道channel中值濾波后的A/D轉(zhuǎn)換結(jié)果

27、 //-------------------------------------------------------------------------* INT8U ADCmid(INT8U channel) { INT8U i,j,k,tmp; //1.取三次A/D轉(zhuǎn)換結(jié)果 i = ADCvalue(channel); j = ADCvalue(channel); k = ADCvalue(channel); if (i > j) { tmp = i;

28、 i = j; j = tmp; } if (k > i) { if (k > j) { tmp = j; } else { tmp = k; } } else { tmp = i; } return tmp; } //ADCvalue:1路A/D轉(zhuǎn)換函數(shù)---------------------------

29、-----------------------* //功能:獲取通道channel的A/D轉(zhuǎn)換結(jié)果 //-------------------------------------------------------------------------* INT8U ADCvalue(INT8U channel) { INT8U tmp; //1. 選取通道號(hào)ADch4-ADch0 = 00000-00111:AD0引腳 ~ AD7引腳 channel &= 0b00011111

30、; //取通道號(hào)變量的低五位(實(shí)際通道號(hào)) tmp = ADSCR & 0b11100000; //取ADSCR的高三位(取上電復(fù)位默認(rèn)值000) ADSCR = tmp | channel; //合并上述8位 //2. 取A/D轉(zhuǎn)換結(jié)果 while ((ADSCR & (1<

31、中斷 //1. 芯片初始化 MCUinit(); //2. 模塊初始化 SCIinit(); //(1) 串行口初始化 ADCinit(); //(2) A/D轉(zhuǎn)換初始化 while (1) { //在通道0做A/D轉(zhuǎn)換,200次中值濾波,串口發(fā)送均值濾波結(jié)果 SCIsend1(ADCave(0, 200)); } } 注:為了使采樣數(shù)據(jù)更穩(wěn)定可靠,系統(tǒng)還采用了采樣平均值的方法以消除干擾。 1.3.2 單片機(jī)內(nèi)部數(shù)據(jù)處理模塊 1.3

32、.2.1 內(nèi)部數(shù)據(jù)處理 系統(tǒng)通過(guò)TLC2543轉(zhuǎn)換的數(shù)字量是與實(shí)際溫度成正比的數(shù)字量,但系統(tǒng)最后顯示的是實(shí)際溫度值,因此需要對(duì)數(shù)據(jù)進(jìn)行處理再通過(guò)8255輸出到LED顯示。設(shè)所測(cè)溫度值為T,A/D轉(zhuǎn)換后的數(shù)字量為X,則有: VOUT=0.01 V/℃T℃ VOUT為L(zhǎng)M35的輸出電壓,即運(yùn)放μA741的輸入電壓,μA741的輸出電壓用V1表示。因?yàn)棣藺741的放大倍數(shù)為5,則有: V1=5VOUT=0.05T 根據(jù)系統(tǒng)設(shè)置,溫度傳感器輸出電壓0~5 V對(duì)應(yīng)于轉(zhuǎn)換后的數(shù)字量0~255,則有: 0.05T/5=X/255 可以近似寫為: 0.0

33、5T/5=X/256 這樣除以256可通過(guò)把被除數(shù)右移8位來(lái)實(shí)現(xiàn)。由此可以得出X和T的關(guān)系: T=100X/256 1.3.2.2 串口子程序 //[SCI.h]串行通信頭文件-------------------------- #include "GP32C.h" //GP32 MCU映像寄存器名定義 #include "Type.h" //類型別名定義 #define ReSendStatusR SCS1 //SCI狀態(tài)寄存器 #define ReTestBit 5 //接收緩沖區(qū)滿標(biāo)志位

34、 #define SendTestBit 7 //發(fā)送緩沖區(qū)空標(biāo)志位 #define ReSendDataR SCDR //數(shù)據(jù)寄存器 void SCIinit(void); //串行口初始化 void SCIsend1(INT8U o); //發(fā)送1字節(jié) void SCIsendN(INT8U n, INT8U ch[]); //發(fā)送n字節(jié) INT8U SCIre1(INT8U *p); //接收1字節(jié) INT8U SCIreN(INT8U n, INT8U ch[]

35、); //接收n字節(jié) _____________________________________________ 串行通信驅(qū)動(dòng)文件包括SCI初始化、接收1字節(jié)、發(fā)送1字節(jié)、接收n字節(jié)和發(fā)送n字節(jié)函數(shù)。讀者可以直接使用這些函數(shù)進(jìn)行MCU的串行通信編程。 //[SCI.c]串行通信----------------------------------------------------------* //硬件連接: // MCU的串口與PC方的串口相連

36、 //-------------------------------------------------------------------------* #include "SCI.h" //SCIinit:串行口初始化----------------------------------------* //功能:對(duì)串行口進(jìn)行初始化,默認(rèn)為允許SCI,正常碼輸出,8位數(shù) * 據(jù),無(wú)校驗(yàn),

37、 * //允許發(fā)送器,允許接收器.查詢方式收發(fā),波特率為9600(設(shè)fBUS * = 2.4576MHz) * //------------------------------------------------------------* void SCIinit(void) { //1.總線頻率fBUS = 2.4576MHz,定義波特率Bt = 9600 SCBR = 0b00000010; //2.設(shè)置允許SCI,正常碼輸出,8位數(shù)據(jù),無(wú)校驗(yàn)

38、 SCC1 = 0b01000000; //3.設(shè)置允許發(fā)送,允許接收,查詢方式收發(fā) SCC2 = 0b00001100; } //SCIsend1:串行發(fā)送1個(gè)字節(jié)-----------------------------* //功能:串行發(fā)送1個(gè)字節(jié) * //-----------------------------------------------------* void SCIsend1(INT8U o) { //判斷ReStatusR的第SendTestBit位是否

39、為1,是1可以發(fā)送 while (1) if ((ReSendStatusR & (1<

40、--------------------* void SCIsendN(INT8U n, INT8U ch[]) { int i; for(i=0; i

41、----------------------------------* INT8U SCIre1(INT8U *p) { INT16U k; INT8U i; //ReStatusR第ReTestBit位為1表示可接收數(shù)據(jù) for(k=0; k < 0xfbbb; k++) if ((ReSendStatusR & (1<

42、 if (k >= 0xfbbb) { i = 0xff; *p = 0x01; } return i; } //SCIreN:HC08串行接收N個(gè)字節(jié)-----------------------------------------* //功能:接收N個(gè)字節(jié)數(shù)據(jù),并存放在ch數(shù)組中 //-------------------------------------------------------------------* INT8U SCIreN(INT8U n

43、, INT8U ch[]) { int m; INT8U fp; m = 0; while (m < n) { ch[m] = SCIre1(&fp); if (fp == 1) { return 1; } m++; } return 0; }[2] 1.3.3 溫度顯示模塊 單片機(jī)處理好的溫度數(shù)據(jù)通過(guò)8255的3個(gè)端口輸出到3個(gè)LED上顯示,8255的A,B,C口的工作方式均設(shè)置為方式0,輸出。編程時(shí)只需分別從40H,41H,42H單元取數(shù)據(jù)

44、送A,B,C口輸出即可。 1.4 結(jié)語(yǔ) 該測(cè)溫系統(tǒng)經(jīng)過(guò)多次測(cè)試,工作穩(wěn)定可靠,體積小、集成度高、靈敏度高、響應(yīng)時(shí)間短、抗干擾能力強(qiáng)等特點(diǎn)。此外該系統(tǒng)成本低廉,器件均為常規(guī)元件,有很高的工程價(jià)值。如稍加改動(dòng),該系統(tǒng)可以很方便地?cái)U(kuò)展為集溫度測(cè)量、控制為一體的產(chǎn)品,具有一定工程應(yīng)用價(jià)值。如對(duì)該系統(tǒng)進(jìn)一步擴(kuò)展,還可以實(shí)現(xiàn)利用USB協(xié)議標(biāo)準(zhǔn)與PC機(jī)進(jìn)行數(shù)據(jù)通信,能夠把監(jiān)測(cè)到的溫度值保存到PC機(jī)中。 雖然時(shí)間倉(cāng)促,但此次設(shè)計(jì)能完成基本的測(cè)量溫度的功能。在此次設(shè)計(jì)過(guò)程中,學(xué)到了一些新的知識(shí),在此基礎(chǔ)上,對(duì)MC908GP32單片機(jī)又有了進(jìn)一步的了解與認(rèn)識(shí)。但畢竟知識(shí)與時(shí)間有限,這次自己對(duì)設(shè)計(jì)還有未認(rèn)清與未能完善的地方,在老師的指導(dǎo)下現(xiàn)在基本上是完成了設(shè)計(jì)的要求。 參考文獻(xiàn): 【1】王宜懷,劉曉升.嵌入式技術(shù)基礎(chǔ)與實(shí)踐.北京:清華大學(xué)出版社,2007. 【2】譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì)(第二版).北京:清華大學(xué)出版社,2006. 【3】趙晶.Protel99高級(jí)應(yīng)用 北京:人民郵電出版社 2000 【4】林伸茂.8051單片機(jī)徹底研究基礎(chǔ)篇. 北京:人民郵電出版社 2004 【5】范風(fēng)強(qiáng)等.單片機(jī)語(yǔ)言C51應(yīng)用實(shí)戰(zhàn)集錦. 北京:電子工業(yè)出版社 2005 【6】萬(wàn)光毅,嚴(yán)義,邢春香.單片機(jī)實(shí)驗(yàn)與實(shí)踐教程[M].北京:北京航空航天大學(xué)出版社,2006.4 19

展開(kāi)閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!