基于單片機(jī)labview的溫度測量系統(tǒng)設(shè)計(jì)_第1頁
基于單片機(jī)labview的溫度測量系統(tǒng)設(shè)計(jì)_第2頁
基于單片機(jī)labview的溫度測量系統(tǒng)設(shè)計(jì)_第3頁
基于單片機(jī)labview的溫度測量系統(tǒng)設(shè)計(jì)_第4頁
基于單片機(jī)labview的溫度測量系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、串口收發(fā)電路的溫度測量單片機(jī)系統(tǒng)設(shè)計(jì)設(shè)計(jì)目錄第一部分電路設(shè)計(jì)31.1 溫度采集電路.31.2 串口收發(fā)電路.71.3 溫度顯示電路.9第二部分上位機(jī)軟件102.1基于Labview的溫度檢測設(shè)計(jì)第三部分程序代碼電路設(shè)計(jì)1.1溫度采集電路本設(shè)計(jì)采用熱敏電阻,通過飛利浦公司生產(chǎn)的 AD轉(zhuǎn)換芯片PCF9591采集熱敏電阻的溫 度信息,總體電路圖如下PCF8591 簡介描述PCF8591是一個(gè)單片集成、單獨(dú)供電、低功耗、8-bit CMOS數(shù)據(jù)獲取器件。PCF8591具有4個(gè)模擬輸入、1個(gè)模擬輸出和 1個(gè)串行I2C總線接口。PCF8591 的3個(gè)地址引腳 A0, A1和A2可用于硬件地址編程,允許在同

2、個(gè)I2C總線上接入8個(gè)PCF8591器件,而無需額外的硬件。在PCF8591器件上輸入輸出的地址、控制和數(shù)據(jù)信號(hào)都是通過雙線雙向I2C總線以串行的方式進(jìn)行傳輸。特性【1】單獨(dú)供電【2】PCF8591的操作電壓范圍 2.5V-6V【3】低待機(jī)電流【4】通過I2C總線串行輸入/輸出【5】PCF8591通過3個(gè)硬件地址引腳尋址【6】PCF8591的采樣率由I2C總線速率決定【7】4個(gè)模擬輸入可編程為單端型或差分輸入【8】自動(dòng)增量頻道選擇【9】PCF8591的模擬電壓范圍從VSS到VDD【10】PCF8591內(nèi)置跟蹤保持電路【11】8-bit逐次逼近A/D轉(zhuǎn)換器【12】通過1路模擬輸出實(shí)現(xiàn) DAC增益

3、 引腳信息AINOAIN3 :模擬信號(hào)輸入端。A0A3 :引腳地址端。VDD、VSS :電源端。(2.5 6V)SDA、SCL : I2C總線的數(shù)據(jù)線、時(shí)鐘線。pcpaseiAOUT黒i PCF859J引田OSC :外部時(shí)鐘輸入端,內(nèi)部時(shí)鐘 輸出端。EXT :內(nèi)部、外部時(shí)鐘選擇線,使 用內(nèi)部時(shí)鐘時(shí) EXT接地。AGND :模擬信號(hào)地AOUT : D/A 轉(zhuǎn)換輸出端VREF :基準(zhǔn)電源端。PCF8591 操作內(nèi)部地址寄存器內(nèi)部控制寄存器AD轉(zhuǎn)換總時(shí)序先送入要讀取的器件的地址,即所要讀取的通道,然后等待應(yīng)答信號(hào),開始讀取下位機(jī) 芯片送來的AD數(shù)據(jù)。底層驅(qū)動(dòng)時(shí)序如下單字讀寫起始以及停止信號(hào)準(zhǔn)備完畢的

4、應(yīng)答信號(hào),上位機(jī)接收本電路通過PCF859啲AIN2通道采集熱敏電阻的溫度信息,通過I2C總線方式讀取下位 機(jī)提取的信息,實(shí)現(xiàn)溫度采集。溫度傳感器 PT100 簡介設(shè)計(jì)原理pt100是鉑熱電阻,它的阻值會(huì)隨著溫度的變化而改變。PT后的100即表示它在0C時(shí)阻值為100歐姆,在100 C時(shí)它的阻值約為138.5歐姆。它的工業(yè)原理:當(dāng)PT100在0攝氏度的時(shí)候他的阻值為100歐姆,它的阻值會(huì)隨著溫度上升而成勻速增長的。溫度特性曲線由上圖,可以擬合其溫度與電阻的關(guān)系為R=77/200*Temperature+100;串聯(lián)的限流電阻的值為100歐姆,則AD輸入電壓的計(jì)算公式為ADValue/255*5

5、000=100/(R+100)*5000;由以上兩公式換算可以得到Temperature=200/77*(100*255/ADValue-100)1.2串口收發(fā)電路通過串口收發(fā)電路,將采集到的溫度信息提取后傳送到電腦上,通過上位機(jī)顯示所采集 的溫度信息,實(shí)現(xiàn)人機(jī)交互界面,更加人性化電路如下:串口通信芯片采用 美信公司的 MAX232引腳介紹第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供給 RS-232串口電平的需要。第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中 13 腳(R1IN )、12

6、 腳(R1OUT )、11 腳(T1IN )、14 腳(T1OUT) 為第一數(shù)據(jù)通道。8 腳(R2IN )、9 腳(R2OUT )、10 腳(T2IN )、7 腳(T2OUT )為第二數(shù) 據(jù)通道。TTL/CMOS 數(shù)據(jù)從 T1IN、T2IN 輸入轉(zhuǎn)換成 RS-232 數(shù)據(jù)從 T1OUT、T2OUT 送到電腦 DB9插頭;DB9插頭的 RS-232數(shù)據(jù)從 R1IN、R2IN輸入轉(zhuǎn)換成 TTL/CMOS 數(shù)據(jù)后從 R1OUT、R2OUT 輸出。第三部分是供電。15腳GND、16腳VCC ( +5v)。主要特點(diǎn)1、符合所有的 RS-232C技術(shù)標(biāo)準(zhǔn)+10V 和-10V 電2、只需要單一 +5V電源供

7、電3、片載電荷泵具有升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生壓 V+、V-4、 功耗低,典型供電電流5mA5、內(nèi)部集成 2個(gè)RS-232C驅(qū)動(dòng)器6、內(nèi)部集成兩個(gè) RS-232C接收器7、 高集成度,片外最低只需4個(gè)電容即可工作1.3溫度顯示電路溫度顯示電路采用1602液晶,與單片機(jī)的P0 口相連,實(shí)現(xiàn)溫度顯示,其電路圖如下液晶電路的讀寫時(shí)序以及其內(nèi)部寄存器的操作可以在網(wǎng)上查找,此處不作詳述,用液晶 屏幕實(shí)現(xiàn)靜態(tài)顯示溫度的功能整體電路如下上位機(jī)軟件2.1前面板設(shè)計(jì)溫度超過限定值或者低于限定值時(shí),指示燈亮起,溫度讀取開關(guān),用于串口的打開和關(guān)閉 后面板程序框圖設(shè)計(jì)程序代碼溫度采集部分此部分為I2C總線驅(qū)動(dòng)程

8、序*/I2C.C #in elude #in clude #define nop _nop_()sbit SCL=P2A1;sbit SDA=P2A0;bit ack;/*start I2c*/void Start_I2c(void) SDA=1;nop;SCL=1;nop;nop;nopnop;nop;SDA=0; /SDA to low ,send start flagnop;nop;nopnop;nop;SCL=0;nop;nop;/*stop I2c*/void Stop_I2c(void)SDA=0;nop;SCL=1;nop;nop;nopnop;nop;SDA=1;/send s

9、top flagnop;nop;nop;nop;/*send byte*/void Send_Byte(unsigned char c)unsigned char BitCnt;for(BitCnt=0;BitCnt8;BitCnt+) if(cBitCnt)&0x80) SDA=1;else SDA=0;nop;SCL=1;nop;nop;nopnop;nop;SCL=0;nop;nop;SDA=1;nop;nop;SCL=1;nop;nop;nop;if(SDA=1) ack=0;else ack=1;SCL=0;nop;nop;/*rescive byte*/unsigned char

10、Receive_Byte(void) unsigned char receive;unsigned char BitCnt; receive=0;SDA=1;for(BitCnt=0;BitCnt8;BitCnt+) nop;SCL=0;nop;nop;nop;SCL=1;nop;nop; receive=1;if(SDA=1) receive+=1;nop;nop;SCL=0;nop;nop;return receive;/*Acknowledgement*/void Ack_I2c(bit a) if(a=0) SDA=0;else SDA=1; nop;nop;nop;*/此部分為溫度的

11、讀取部分SCL=1;nop;nop;nop;nop;nop;SCL=0;nop;nop;AD.c#include#include unsigned char ADValue;unsigned int Temperature;#define PCF8591 0x90 / 器件地址bit ADC_Send_Byte(unsigned char sla,unsigned char c)Start_I2c();/*Send_Byte(sla);if(asc=0) return 0;Send_Byte(c);if(asc=0) return 0;Stop_I2c();return 1;/ADC Rece

12、ive Byteunsigned char AD_Receive_Byte(unsigned char sla) unsigned char c;Start_I2c();Send_Byte(sla+1); if(ack=0) return 0; c=Receive_Byte;Ack_I2c(1);Stop_I2c(); return c;Void Get_ADValue(void)ADC_Send_Byte(PCF8591,0x43);ADValue=AD_ Receive_Byte(PCF8591);/以下為溫度換算部分 /Void Get_TPValue()Temperature=200/

13、77*(100*255/ADValue-100);/*此部分為LCD液晶顯示模塊*LCD.c#include #include #include “AD.h”sbit rs= P2A6;/sbit rw =卩2八5;sbit ep = P2A7;unsigned char code Tital = The temperature is;unsigned char Temperatureshow3; delay(unsigned char ms) /unsigned char i;while(ms-)for(i = 0; i 250; i+)_nop_();_nop_();_nop_();_no

14、p_();bit Lcd_Busy() /bit result;rs = 0;rw = 1;ep = 1;_nop_();_nop_();_nop_();_nop_();result = (bit)(P0 & 0x80);ep = 0;return result;Lcd_Write_CMD(unsigned char cmd) / while(Lcd_Busy(); rs = 0; rw = 0;ep = 0;_nop_();_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop_();_nop_

15、();ep = 0;Lcd_Place (unsigned char pos)Lcd_Write_CMD(pos | 0x80);Lcd_Send_Byte(unsigned char dat)while(Lcd_Busy();rs = 1;rw = 0;ep = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop_();_nop_();ep = 0;lcd_init()Lcd_Write_CMD (0x38);delay(1);Lcd_Write_CMD (0x0c);delay(1);Lcd_Writ

16、e_CMD (0x06);delay(1);Lcd_Write_CMD (0x01);delay(1);Void Lcd_Show()Unsigned char i;Lcd_Place(0);i = 0;while(Titali != 0)Lcd_Send_Byte(Titali); i+;/100+0;Temperatureshow0=TemperatureTemperatureshow1=Temperature %100/10+0;Temperatureshow0=Temperature %10+0;Lcd_Place0x45;i = 0;while(Temperaturei != 0)Lcd_Send_Byte(Temperatureshowi);i+;此處為串行口的通信部分*/*SCI.c#include #include “AD.h”Void SCI_Init()SCON = 0x50;TMOD|= 0x20;PCON|= 0x80; / 波特率倍增TH1 = 0xF3;/ 串口波特率 9600TL1 = 0xF3;TR1 = 1;ES = 0; / 禁止串口中斷EA = 0;Void Send_Temperature()SBUF

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論