電氣自動化畢業(yè)論文_第1頁
電氣自動化畢業(yè)論文_第2頁
電氣自動化畢業(yè)論文_第3頁
電氣自動化畢業(yè)論文_第4頁
電氣自動化畢業(yè)論文_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

FinalapprovaldraftonNovember22,FinalapprovaldraftonNovember22,電氣自動化畢業(yè)論文題目:DS18B20溫度測量軟件的設(shè)計專業(yè):班級:學(xué)生姓名:指導(dǎo)教師:答辯日期:摘要近年來,隨著大規(guī)模集成電路的發(fā)展,單片機繼續(xù)朝快速、高性能方向發(fā)展,從4位、8位單片機發(fā)展到16位、32位單片機。單片機重要用于控制,它的應(yīng)用領(lǐng)域遍及各行各業(yè),大到航天飛機,小至日常生活中的冰箱、彩電,單片機都能夠大顯其能。單片機技術(shù)與傳感與測量技術(shù)、信號與系統(tǒng)分析技術(shù)、電路設(shè)計技術(shù)、可編程邏輯應(yīng)用技術(shù)、微機接口技術(shù)、數(shù)據(jù)庫技術(shù)以及數(shù)據(jù)構(gòu)造、計算機操作系統(tǒng)、匯編語言程序設(shè)計、高級語言程序設(shè)計、軟件工程、數(shù)據(jù)網(wǎng)絡(luò)通信、數(shù)字信號解決、自動控制、誤差分析、儀器儀表構(gòu)造設(shè)計和制造工藝等的結(jié)合,使得單片機的應(yīng)用非常廣泛。同時,單片機含有較強的管理功效。采用單片機對整個測量電路進行管理和控制,使得整個系統(tǒng)智能化、功耗低、使用電子元件較少、內(nèi)部配線少、成本低,制造、安裝、調(diào)試及維修方便。本設(shè)計是基于單片機ATMAGE16設(shè)計的實時溫度采集儀,通過本次設(shè)計,我成功的實現(xiàn)了運用單片機對溫度的采集和測量。目錄

1緒論...............................................3課題背景...........................................3

設(shè)計目的及系統(tǒng)功效..............................4

2ATMAGE16特性...................................5

ATMAGE16產(chǎn)品特性...............................5

引腳配備........................................6

3DS18B20的設(shè)計.....................................9

總體通信流程及通信合同.........................9

DS18B20溫度測量軟件的設(shè)計......................11

多機通信軟件的設(shè)計.............................11

DS18B20工作時序問題...........................13

4電路的設(shè)計......................................14

溫度測量電路的設(shè)計............................14

串口通信電路的設(shè)計............................15

5分布式溫度采集系統(tǒng)設(shè)計..........................18

6ICCAVR制作環(huán)境及介紹...........................19

ICCAVR介紹...................................19

ICCAVR向?qū)?...................................22

ICCAVR的IDE環(huán)境............................22

結(jié)論.............................................24

參考文獻............................................251緒論自從1976年Intel公司推出第一批單片機以來,80年代單片機技術(shù)進入快速發(fā)展時期,近年來,隨著大規(guī)模集成電路的發(fā)展,單片機繼續(xù)朝快速、高性能方向發(fā)展,從4位、8位單片機發(fā)展到16位、32位單片機。單片機重要用于控制,它的應(yīng)用領(lǐng)域遍及各行各業(yè),大到航天飛機,小至日常生活中的冰箱、彩電,單片機都能夠大顯其能。單片機在國內(nèi)的三大領(lǐng)域中應(yīng)用得十分廣泛:第一是家用電器業(yè),例如全自動洗衣機、智能玩具;第二是通訊業(yè),涉及電話、手機和BP機等等;第三是儀器儀表和計算機外設(shè)制造,例如軟盤、硬盤、收銀機、電表。除了上述傳統(tǒng)領(lǐng)域外,汽車、電子工業(yè)在國外也是單片機應(yīng)用十分廣泛的一種領(lǐng)域。它成本低、集成度高、功耗低、控制功效多能靈活的組裝成多個智能控制裝置,由它構(gòu)成的智能儀表解決了長久以來測量儀器中的誤差的修正、線性解決等問題。單片機將微解決器、存儲器、定時/計數(shù)器、I/O接口電路等集成在一種芯片上的大規(guī)模集成電路,本身即是一種小型化的微機系統(tǒng)。單片機技術(shù)與傳感與測量技術(shù)、信號與系統(tǒng)分析技術(shù)、電路設(shè)計技術(shù)、可編程邏輯應(yīng)用技術(shù)、微機接口技術(shù)、數(shù)據(jù)庫技術(shù)以及數(shù)據(jù)構(gòu)造、計算機操作系統(tǒng)、匯編語言程序設(shè)計、高級語言程序設(shè)計、軟件工程、數(shù)據(jù)網(wǎng)絡(luò)通信、數(shù)字信號解決、自動控制、誤差分析、儀器儀表構(gòu)造設(shè)計和制造工藝等的結(jié)合,使得單片機的應(yīng)用非常廣泛。同時,單片機含有較強的管理功效。采用單片機對整個測量電路進行管理和控制,使得整個系統(tǒng)智能化、功耗低、使用電子元件較少、內(nèi)部配線少、成本低,制造、安裝、調(diào)試及維修方便?,F(xiàn)在單片機滲入到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機上多個儀表的控制,計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)解決,廣泛使用的多個智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄象機、攝象機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領(lǐng)域的機器人、智能儀表、醫(yī)療器械了。課題背景

分布式溫度采集系統(tǒng)廣泛應(yīng)用在使用了中央空調(diào)的大型商場、廠房、辦公大樓等大型建筑內(nèi)。本課題重要用溫度傳感器對環(huán)境溫度實施實時監(jiān)測,各結(jié)點控制單元可將有關(guān)信息上傳給計算機,本課題研究重要解決的問題為分布式控制構(gòu)造設(shè)計、多單片機串行通信、溫度的采集與解決。

本設(shè)計是基于單片機ATMAGE16設(shè)計的實時溫度采集儀,采用DS18B20能夠采集多路溫度數(shù)據(jù)(本設(shè)計只用了2路),同時實時顯示所采集到的溫度值。在傳統(tǒng)的溫度測量系統(tǒng)設(shè)計中,往往采用模擬技術(shù)進行設(shè)計,這樣就不可避免地碰到諸如引線誤差賠償、多點測量中的切換誤差和信號調(diào)理電路的誤差等問題;而其中某一環(huán)節(jié)解決不當,就可能造成整個系統(tǒng)性能的下降。隨著當代科學(xué)技術(shù)的飛速發(fā)展,特別是大規(guī)模集成電路設(shè)計技術(shù)的發(fā)展,微型化、集成化、數(shù)字化正成為傳感器發(fā)展的一種重要方向。美國Dallas半導(dǎo)體公司推出的數(shù)字溫度傳感器DSl8B20,含有獨特的單總線接口,僅需要占用一種通用I/O端口即可完畢與微解決器的通信;在-10~+85℃溫度范疇內(nèi)含有±℃設(shè)計目的及系統(tǒng)功效

本設(shè)計的目的是以單片機為核心設(shè)計出一種分布式溫度采集系統(tǒng)。在傳統(tǒng)測量系統(tǒng)中,傳感器與計算機接口的連接是通過若干條導(dǎo)線連接。當傳感器數(shù)量較多時,特別是信號線的長距離傳輸時,互相容易產(chǎn)生干擾。一種室內(nèi)多點溫度測量中,系統(tǒng)的接線會非常多,導(dǎo)線往往不易鋪設(shè),使得測量工作非常困難。采用總線構(gòu)造數(shù)字式傳感器,配合單片機及PC機串口進行長距離數(shù)據(jù)通信,則能夠很容易解決這個問題,該系統(tǒng)最多能夠檢測256路溫度信號,在室內(nèi)多點溫度測量控制中能達成較好的效果。通過本課題設(shè)計,綜合運用單片機及接口技術(shù)、微機原理、通信合同,鍛煉動手操作能力,綜合運用能力,學(xué)習(xí)論文的寫作辦法和環(huán)節(jié)。

設(shè)計的溫度控制系統(tǒng)有下列功效及特點:

(a)實現(xiàn)在一條數(shù)據(jù)總線上接多個DS18B20器件;

(b)測溫范疇0℃~99℃;

(c)溫度顯示:采用2個4位數(shù)碼管,顯示采樣溫度值;并在電腦上一同顯示;

(d)精度±℃。2ATMAGE16特性

1、高性能、低功耗的8位AVR微解決器

2、先進的RISC構(gòu)造

(a)131條指令

(b)32個8位通用工作寄存器

(c)全靜態(tài)工作

(d)工作于16MHz時性能高達16MIPS

(e)只需兩個時鐘周期的硬件乘法器

(f)大多數(shù)指令執(zhí)行時間為單個時鐘周期

3、非易失性程序和數(shù)據(jù)存儲器

(a)16K字節(jié)的系統(tǒng)內(nèi)可編程Flash擦寫壽命:10,000次

(b)含有獨立鎖定位的可選Boot代碼區(qū)通過片上Boot程序?qū)崿F(xiàn)系統(tǒng)內(nèi)編程

真正的同時讀寫操作

(c)512字節(jié)的EEPROM擦寫壽命:100,000次

(d)1K字節(jié)的片內(nèi)SRAM

(e)能夠?qū)︽i定位進行編程以實現(xiàn)顧客程序的加密

4、JTAG接口(與IEEE原則兼容)

(a)符合JTAG原則的邊界掃描功效

(b)支持擴展的片內(nèi)調(diào)試功效

(c)通過JTAG接口實現(xiàn)對Flash、EEPROM、熔絲位和鎖定位的編程

5、外設(shè)特點

(a)兩個含有獨立預(yù)分頻器和比較器功效的8位定時器/計數(shù)

(b)一種含有預(yù)分頻器、比較功效和捕獲功效的16位定時器/計數(shù)

(c)含有獨立振蕩器的實時計數(shù)器RTC

(d)四通道PWM

(e)8路10位ADC8個單端通道TQFP封裝的7個差分通道2個含有可編程增益(1x,10x,或200x)的差分通道

(f)面對字節(jié)的兩線接口

(g)兩個可編程的串行USART

(h)可工作于主機/從機模式SPI串行接口

(i)含有獨立片內(nèi)振蕩器的可編程看門狗定時器

(j)片內(nèi)模擬比較器

6、特殊的解決器特點

(a)上電復(fù)位以及可編程的掉電檢測

(b)片內(nèi)通過標定的RC振蕩器

(c)片內(nèi)/片外中斷

(d)6種睡眠模式:空ADC噪聲克制模式、省電模式、掉電模式、Standby、

式以擴展的Standby模式

7、I/O和封裝

(a)32個可編程的I/O口

(b)40引腳PDIP封裝,44引腳TQFP封裝,與44引腳MLF封裝

8、工作電壓:

(a)ATmega16L:-

(b)ATmega16:-

9、速度等級

(a)0-8MHzATmega16L

(b)0-16MHzATmega16

10、ATmega16L在1MHz,3V,25C時的功耗

(a)正常模式:mA

(b)空:mA

(c)掉電模式:<1μA

引腳配備ATmega16是基于增強的AVRRISC構(gòu)造的低功耗8位CMOS微控制器。由于其先進的指令集以及單時鐘周期指令執(zhí)行時間,ATmega16的數(shù)據(jù)吞吐率高達1MIPSMHz,從而能夠緩減系統(tǒng)在功耗和解決速度之間的矛盾。ATMAGE16引腳分布如圖所示。AVR內(nèi)核含有豐富的指令集和32個通用工作寄存器。全部的寄存器都直接與算邏單元(ALU)相連接,使得一條指令能夠在一種時鐘周期內(nèi)同時訪問兩個獨立的寄存器。這種構(gòu)造大大提高了代碼效率,并且含有比普通的CISC微控制器最高至10倍的數(shù)據(jù)吞吐率。ATmega16有以下特點16K字節(jié)的系統(tǒng)內(nèi)可編程Flash(含有同時讀寫的能力,即RWW),

圖ATMAGE16引腳分布AVR內(nèi)核含有豐富的指令集和32個通用工作寄存器。全部的寄存器都直接與算邏單元(ALU)相連接,使得一條指令能夠在一種時鐘周期內(nèi)同時訪問兩個獨立的寄存器。這種構(gòu)造大大提高了代碼效率,并且含有比普通的CISC微控制器最高至10倍的數(shù)據(jù)吞吐率。ATmega16有以下特點16K字節(jié)的系統(tǒng)內(nèi)可編程Flash(含有同時讀寫的能力,即RWW),512字節(jié)EEPROM,1K字節(jié)SRAM,32個通用I/O口線,32個通用工作寄存器,用于邊界掃描的JTAG接口,支持片內(nèi)調(diào)試與編程,三個含有比較模式的靈活的定時器/計數(shù)(T/C),片內(nèi)/外中斷,可編程USART,有起始條件檢測器的通用串行接口,8路10位含有可選差分輸入級可編程增益(TQFP封裝)的ADC,含有片內(nèi)振蕩器的可編程看門狗定時器,一種SPI串行端口,以及六個能夠通過軟件進行選擇的省電模式。工作于空閑模式時CPU停止工作,而USART、兩

線接口、A/D轉(zhuǎn)換器、SRAM、T/C、SPI端口以及中斷系統(tǒng)繼續(xù)工作;掉電模式時晶體振蕩器停止振蕩,全部功效除了中斷和硬件復(fù)位之外都停止工作;在省電模式下,異步定時器繼續(xù)運行,允許顧客保持一種時間基準,而其它功效模塊處在休眠狀態(tài);ADC噪聲克制模式時終止CPU和除了異步定時器與ADC以外全部I/O模塊的工作,以減少ADC轉(zhuǎn)換時的開關(guān)噪聲;Standby模式下只有晶體或諧振振蕩器運行,其它功效模塊處在休眠狀態(tài),使得器件只消耗極少的電流,同時含有快速啟動能力;擴展Standby模式下則允許振蕩器和異步定時器繼續(xù)工作。本芯片是以Atmel高密度非易失性存儲器技術(shù)生產(chǎn)的。片內(nèi)ISPFlash允許程序存儲器通過ISP串行接口,或者通用編程器進行編程,也能夠通過運行于AVR內(nèi)核之中的引導(dǎo)程序進行編程。引導(dǎo)程序能夠使用任意接口將應(yīng)用程序下載到應(yīng)用Flash存儲區(qū)(ApplicationFlashMemory)。在更新應(yīng)用Flash存儲區(qū)時引導(dǎo)Flash區(qū)(BootFlashMemory)的程序繼續(xù)運行,實現(xiàn)了RWW操作。通過8位RISCCPU與系統(tǒng)內(nèi)可編程的Flash集成在一種芯片內(nèi),ATmega16成為一種功效強大的單片機,為許多嵌入式控制應(yīng)用提供了靈活而低成本的解決方案。

3DS18B20的設(shè)計

本章介紹了系統(tǒng)軟件設(shè)計,并具體介紹了實現(xiàn)和調(diào)試的辦法,以及分布式溫度采集系統(tǒng)的通信流程和DS18B20溫度測量軟件的設(shè)計思路、DS18B20工作的時序問題??傮w通信流程及通信合同總體通信流程體現(xiàn)在PC機,單片機主機及各從機的通信,信號接受及發(fā)送,這個設(shè)計中,通信合同是一種非常重要也很復(fù)雜的部分,在由PC機與單片機構(gòu)成的系統(tǒng)中,常要涉及通信問題,如果沒有統(tǒng)一的通信合同,PC機與單片機之間的信息傳遞就無法識別。

通信合同是指通信各方事前商定規(guī)則,我們能夠簡樸地理解為各計算機之間進行互相會話所使用的共同語言.PC機與單片機在進行通信時,必須使用的通信合同。首先,在設(shè)計中自定義幾個數(shù)據(jù)通信合同,以下問提到的“a”、“b”、“c”、“d”、“g”、“h”。這些合同一旦定義,在背面的執(zhí)行過程中就代表了固定的含義,不再變化,PC機、單片機、從機都靠識別這個合同來執(zhí)行程序,發(fā)送一種字節(jié)的數(shù)據(jù),接受幾個字節(jié)的數(shù)據(jù),全部的數(shù)據(jù)合同全都建立在這2個操作辦法上。

本設(shè)計中自定義“a”為PC機與單片機主機間的數(shù)據(jù)合同,意思為規(guī)定主機發(fā)送一號從機的溫度給PC機;自定義“b”為PC機與單片機主機間的數(shù)據(jù)合同,意思為規(guī)定主機發(fā)送二號從機的溫度給PC機;自定義“c”為從機與主機間的數(shù)據(jù)合同,它代表從機向主機發(fā)送完四位現(xiàn)在采集的溫度,這里一號從機和二號從機采集的溫度,都定義為“c”;自定義“d”為PC機與單片機主機之間的數(shù)據(jù)合同,意思為開始和完畢命令的信號;

自定義“g”為一號從機和單片機主機之間的數(shù)據(jù)合同,意思為主機表達要采集一號從機的溫度數(shù)據(jù),一號從機規(guī)定單片機主機準備接受;自定義“h”為二號從機和單片機主機之間的數(shù)據(jù)合同,意思為主機表達要采集二號從機的溫度數(shù)據(jù),二號從機規(guī)定單片機主機準備接受。

具體流程以下:

1、PC機向單片機主機發(fā)送“d”:這步是流程的開始,PC機向單片機主機發(fā)送數(shù)據(jù)合同,規(guī)定主機把接受的溫度發(fā)送

給PC機顯示;

2、單片機主機向一號從機發(fā)送“g”:

單片機主機在接受到PC機發(fā)送的“d”信號后,會立刻向一號從機發(fā)送“g”,規(guī)定一號從機采集溫度并且將溫度發(fā)回單片機主機;

3、一號從機回發(fā)“g”:

一號從機接受到單片機主機的命令后,會立刻向單片機主機回發(fā)信號,規(guī)定單片機主機做好接受準備;

4、向主機發(fā)送四位現(xiàn)在采集的溫度,并回發(fā)發(fā)送完畢標記“c”;

一號從機回發(fā)信號后,向主機發(fā)送四位采集的溫度,這個溫度在前文已提到標記為“c”;

5、主機發(fā)送“h”給2號從機:

主機在接受到一號從機發(fā)來的“c”命令后,會立刻發(fā)送“h”信號給二號從機,表達要采集二號從機的數(shù)據(jù);

6、2號從機回發(fā)“h”:

二號從機接受到單片機主機的命令后,會立刻向單片機主機回發(fā)信號,規(guī)定單片機主機做好接受準備;

7、向主機發(fā)送四位現(xiàn)在采集的溫度,并回發(fā)發(fā)送完畢標記“c”:

二號從機向單片機主機回發(fā)完信號后,向主機發(fā)送四位現(xiàn)在采集的溫度,這個溫度標記為“c”;

8、主機發(fā)送“d”給PC機:

單片機主機在接受到二號從機發(fā)送來的信號后,立刻發(fā)送信號給PC機,表達完畢PC機的前一指令;

9、PC發(fā)送“a”給主機:

PC機在接受到單片機主機發(fā)送的信號后,發(fā)送新一種指令給單片機主機,規(guī)定單片機主機發(fā)送一號從機采集的溫度數(shù)據(jù);

10、主機將一號從機溫度數(shù)據(jù)發(fā)送給PC機:

單片機主機接受到PC機的命令后將一號從機發(fā)送過來的四位現(xiàn)在溫度數(shù)據(jù)轉(zhuǎn)換成ASCII碼后,發(fā)送給PC機,由于PC機只能讀取ASCII碼;

11、PC機發(fā)送“b”給主機:PC機接受到單片機主機發(fā)送的即時溫度后會立刻發(fā)送另一指令給單片機主機,規(guī)定單片機主機發(fā)送二號從機采集的溫度數(shù)據(jù);12、主機將二號從機溫度數(shù)據(jù)發(fā)送給PC機,發(fā)送完畢后,返回(1):單片機主機接受到PC機的命令后將二號從機發(fā)送過來的四位現(xiàn)在溫度數(shù)據(jù)同樣也轉(zhuǎn)換成ASCII碼后,發(fā)送給PC機。此時一種完整過程結(jié)束,將返回(1)開始另一輪采集。DS18B20

溫度測量軟件的設(shè)計由于DS18B20單線通信功效是分時完畢的,它有嚴格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的多個操作必須按合同進行。操作合同為:初始化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功效命令→發(fā)存儲器操作命令→解決數(shù)據(jù)。主機控制DS18B20完畢溫度轉(zhuǎn)換的程序必須通過3個環(huán)節(jié):初始化、ROM操作指令、存儲器操作指令。假設(shè)單片機系統(tǒng)所用的晶振頻率為12MHz,根據(jù)DS18B20的初始化時序、寫時序和讀時序,分別編寫3個子程序:INIT為初始化子程序,WRITE為寫(命令或數(shù)據(jù))子程序,READ為讀數(shù)據(jù)子程序,全部的數(shù)據(jù)讀寫均由最低位開始。主程序的重要功效是負責(zé)溫度的實時顯示、讀出并解決DS18B20的測量溫度值,溫度測量每1s進行一次,流程圖如圖所示。讀出溫度子程序的重要功效是讀出RAM中的9個字節(jié),在讀出時需進行CRC校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫,其程序流程圖如圖所示。從DS18B20讀取出的二進制值必須先轉(zhuǎn)換成十進制值,才干用于字符的顯示。由于DS18B20的轉(zhuǎn)換精度為9~12位可選,為了提高精度采用12位。在采用12位轉(zhuǎn)換精度時,溫度寄存器里的值是覺得步進的,即溫度值為溫度寄存器里的二進制值乘以,就是實際的十進制溫度值。多機通信軟件的設(shè)計ATMAGE16單片機有串行發(fā)送緩沖器/接受緩沖器(SBUF)、串行口控制寄存器(SCON)、特殊功效寄存器(PCON)。通過設(shè)立SCON能夠有四種工作方式,其中工作方式2、3合用于多機通信。在串行通信前,通過程序預(yù)先將各從機串行口設(shè)立為方式2或方式3,并使SM2和REN(允許串行接受控制位)為1,允許串行口中斷。主機與從機通信時,將SM2置0,準備接受數(shù)據(jù),否則維持SM2為1,這樣在主機發(fā)送數(shù)據(jù)時(此時主機發(fā)送數(shù)據(jù)中第9位為0),只有地址相符的從機可接受數(shù)據(jù),圖DS18B20溫度主程序流程圖讀出溫度子程序流程圖其它從機對數(shù)據(jù)信息不予理睬,從而能夠?qū)崿F(xiàn)多機通信集散型控制系統(tǒng)將各控制單元分散到現(xiàn)場各控制點。從機主程序和串行口中斷服務(wù)程序如圖所示?!鶵OM操作指令→存儲器操作指令→數(shù)據(jù)傳輸。其工作時序涉及初始化時序、寫時序和讀時序。主機即單片機首先發(fā)480us---960us的低電平,進行復(fù)位,然后釋放總線,之后總線被外部上拉電阻電阻抬高,大概等待15—60us之后,DS18B20發(fā)出60到240us的低電平信號,以示存在,至此初始化結(jié)束。寫“0“的時候,首先單片機發(fā)復(fù)位信號,然后發(fā)“0”于是低電平持續(xù)60us就完畢了寫“0”寫“1”的時候首先單片機發(fā)復(fù)位信號,持續(xù)時間不不大于1us不大于15us然后發(fā)“1”持續(xù)50us以上即可。讀時序也是主機先發(fā)低電平,然后在15us內(nèi)檢測連接DS18B20的數(shù)據(jù)線的引腳,從而讀得對應(yīng)值。4電路的設(shè)計本章分析了分布式溫度采集系統(tǒng)的各重要功效模塊的設(shè)計與實現(xiàn),具體涉及溫度測量電路模塊和串口通信電路模塊。溫度測量電路的設(shè)計溫度測量采用DS18B20數(shù)字式溫度傳感器。由DS18B20構(gòu)成的智能溫度測量裝置由三部分構(gòu)成:DS18B20溫度傳感器、ATMAGE16、顯示模塊。產(chǎn)品的重要技術(shù)指標:①測量范疇:-55℃~+125℃,②測量精度:℃,③反映時間≤500ms。為了達成更高的精度,則在對DSl8B20測溫原理進行具體分析的基礎(chǔ)上,采用直接讀取DSl8B20內(nèi)部暫存寄存器的辦法,將DSl8B20的測溫分辨率提高到℃~℃,DSl8B20內(nèi)部暫存寄存器的分布如表4-1所列,其中第7字節(jié)寄存的是當溫度寄存器停止增值時計數(shù)器l的計數(shù)剩余值,第8字節(jié)寄存的是每度所對應(yīng)的計數(shù)值。這樣,就能夠通過下面的辦法獲得高分辨率的溫度測量成果。表4-1DS18B20內(nèi)部暫存器序號寄存器名稱作用序號寄存器名稱0溫度低字節(jié)以16位補碼形式寄存4、5保存字節(jié)1、21溫度高字節(jié)6計數(shù)器余值2TH/顧客字節(jié)1寄存溫度上限7計數(shù)器/℃3HL/顧客字節(jié)2寄存溫度下限8CRC基于DS18B20的溫度測量裝置電路圖如圖所示:圖溫度測量電路溫度傳感器DS18B20將被測環(huán)境溫度轉(zhuǎn)化成帶符號的數(shù)字信號(以十六位補碼形式,占兩個字節(jié)),傳感器可置于離裝置150米以內(nèi)的任何地方,輸出腳I/O直接與單片機的串口通信電路的設(shè)計為了增加單片機多機通信的距離,該部分電路采用RS232原則接口,通信距離能夠達成15米;如果采用RS422或是RS485接口,通信距離會更遠。多機通信接口原理圖見圖1。在數(shù)據(jù)傳輸過程中采用的是RS232電平,提高了抗干擾能力。需要在主機串行接口和從機串行接口進行電平轉(zhuǎn)換:TTL-RS232-TTL。這都是用MAX232接口芯片實現(xiàn)的,具體的電路如圖所示。圖TTL-RS232-TTL電平轉(zhuǎn)換電路通信電路是本設(shè)計的重要構(gòu)成部分,負責(zé)溫度數(shù)據(jù)的采集和數(shù)據(jù)的上傳。涉及單片機多機串口通信電路,PC機與ATMAGE16的串口通信電路。其中主單片機ATMAGE16既要和從機通信,還要負責(zé)將數(shù)據(jù)通過串口發(fā)送到PC機上。而ATMAGE16單片機只有一種串行通信口,這就需要用硬件或是軟件擴展一種串行通信口。本設(shè)計采用一種用單片機普通I/O口和對應(yīng)軟件實現(xiàn)串行通信的辦法。5分布式溫度采集系統(tǒng)設(shè)計

分布式溫度采集系統(tǒng)設(shè)計數(shù)字式傳感器普通采用單總線技術(shù)(1-WIREBUS),即在單片機或計算機接口中只用一根導(dǎo)線(輸入/輸出信號線),美國Dallas公司最新推出的1-WireBus數(shù)字式溫度傳感器DS18B20,與傳統(tǒng)的溫度傳感器不同,它能夠直接讀出被測溫度,并且可根據(jù)實際規(guī)定通過簡樸的編程實現(xiàn)9~12位的數(shù)字值讀數(shù)方式,能夠分別在和750ms內(nèi)將溫度值轉(zhuǎn)化為9位和12位的數(shù)字量,對應(yīng)的可分辨溫度分別為℃、℃、℃和℃;為實現(xiàn)與PC機串口長距離數(shù)據(jù)通信,系統(tǒng)采用了RS232串行接口,通信距離能夠達成15m,如果采用RS422或RS485串行接口能夠達成1000m。串口通信由PC機與單片機的通信和單片機多機通信構(gòu)成,每個從機負責(zé)溫度的測量然后通過多機通信把溫度數(shù)據(jù)發(fā)送到主單片機上,最后PC機通過VB程序控制串口把主單片機上的全部溫度數(shù)據(jù)收集起來。系統(tǒng)框圖如圖所示。

系統(tǒng)框圖

6ICCAVR制作環(huán)境及介紹

本章介紹了ICCAVR的制作環(huán)境,ICCAVR中的文獻類型及其文獻的擴展名、附注和擴充,并介紹了IAR或其它ANSIC編譯系統(tǒng)的代碼轉(zhuǎn)換。ICCAVR介紹本節(jié)重要介紹了ICCAVR文獻的基本特點、類型、擴展名等。

ImageCraft的ICCAVR介紹ImageCraft的ICCAVR是一種使用符合ANSI原則的C語言來開發(fā)微控制器(MCU)程序的一種工具,它有下列幾個重要特點:ICCAVR是一種綜合了編輯器和工程管理器的集成工作環(huán)境(IDE),其可在WINDOWS9X/NT下工作。源文獻全部被組織到工程之中,文獻的編輯和工程的構(gòu)筑也在這個環(huán)境中完畢。編譯錯誤顯示在狀態(tài)窗口中,并且當你用鼠標單擊編譯錯誤時,光標會自動跳轉(zhuǎn)到編輯窗口中引發(fā)錯誤的那一行。這個工程管理器還能直接產(chǎn)生您但愿得到的能夠直接使用的INTELHEX格式文獻,INTELHEX格式文獻可被大多數(shù)的編程器所支持,用于下載程序到芯片中去。ICCAVR是一種32位的程序,支持長文獻名。本論文并不介紹通用的C語言語法知識,僅介紹使用ICCAVR所必須含有的知識。

ICCAVR中的文獻類型及其擴展名

文獻類型是由它們的擴展名決定的,IDE和編譯器能夠使用下列幾個類型的文獻。

輸入文獻:

.c擴展名----表達是C語言源文獻

.s擴展名----表達是匯編語言源文獻

.h擴展名----表達是C語言的頭文獻

.prj擴展名----表達是工程文獻,這個文獻保存由IDE所創(chuàng)立和修改的一種工程

的有關(guān)信息。

.a擴展名----庫文獻,它能夠由幾個庫封裝在一起。是一種包含了原則C的庫和AVR特殊程序調(diào)用的基本庫。如果庫被引用,鏈接器會將其鏈接到您的模塊或文獻中。您也能夠創(chuàng)立或修改一種符合你需要的庫。輸出文獻

.s對應(yīng)每個C語言源文獻,由編譯器在編譯時產(chǎn)生的匯編輸出文獻。

.o由匯編文獻匯編產(chǎn)生的目的文獻,多個目的文獻能夠鏈接成一種可執(zhí)行文獻。

.hexINTELHEX格式文獻,其中包含了程序的機器代碼。

.eepINTELHEX格式文獻,包含了EEPROM的初始化數(shù)據(jù)。

.cofCOFF格式輸出文獻,用于在ATMEL的AvrStudio環(huán)境下進行程序調(diào)試。

.lst列表文獻,在這個文獻中列舉出了目的代碼對應(yīng)的最后地址。

.mp內(nèi)存映象文獻它包含了您程序中有關(guān)符號及其所占內(nèi)存大小的信息

.cmdNoICE調(diào)試命令文獻。

.noiNoICE調(diào)試命令文獻。

.dbgImageCraft調(diào)試命令文獻。

附注和擴充

#pragma(編譯附注)

這個編譯器接受下列附注:

#pragmainterrupt_handler<func1>:<vectornumber><func2>:<vector>...

這個附注必須在函數(shù)之前定義,它闡明函數(shù)func1、func2是中斷操作函數(shù),因此編譯器在中斷操作函數(shù)中生成中斷返回指令reti來替代普通返回指令ret,并且保存和恢復(fù)函數(shù)所使用的全部寄存器;同樣編譯器根據(jù)中斷向量號vectornumber生成中斷向量地址。#pragmactask<func1><func2>...這個附注指定了函數(shù)不生成揮發(fā)寄存器來保存和恢復(fù)代碼,它的典型應(yīng)用是在RTOS實時操作系統(tǒng)中讓RTOS核直接管理寄存器。#pragmatext:<name>變化代碼段名稱,使其與命令行選項相適應(yīng)。#pragmadata:<data>變化數(shù)據(jù)段名稱,使其與命令行選項相適應(yīng)。這個附注在分派全局變量至EEPROM中時必須被使用。#pragmaabs_address:<address>函數(shù)與全局數(shù)據(jù)不使用浮動定位(重定位),而是從<address>開始分派絕對地址。這在訪問中斷向量和其它硬件項目時特別有用。

#pragmaend_abs_address結(jié)束絕對定位,使目的程序使用正常浮動定位。

C++注釋如果你選擇了編譯擴充(Project->Options->Compiler),你能夠在你的源代碼中使用C++的命令,來執(zhí)行“toObject”和“toOutput”中的任意一種。當你調(diào)用這個命令時,文獻應(yīng)當是打開的并且在編輯窗口中能夠編輯的。編譯一種文獻為目的文獻(toObject),對檢查語法錯誤和編譯一種新的啟動文獻是很有用的。編譯一種文獻為輸出文獻(toOutput),對較小的并且是一種文獻的程序較為有用。

創(chuàng)立一種新的工程

為創(chuàng)立一種新的工程,從菜單“Project”中選擇“New”命令,IDE會彈出一種對話框,在對話框中你能夠指定工程的名稱,這也是你的輸出文獻的名稱。如果你使用某些已經(jīng)建立的源文獻,你可在菜單“Project”中選擇“AddFile(s)”命令。另外,你能夠在菜單“File”中選擇“New”命令來建立一種新的源文獻來輸入你的代碼,你能夠在菜單“File”中選擇“Save”或“SaveAs”命令來保存文獻。然后你能夠象上面所述調(diào)用“AddFile(s)”命令將文獻加入到工程中,也可在現(xiàn)在編輯窗口中單擊鼠標右鍵選擇“AddtoProject”將文獻加入已打開的工程列表中。普通你輸出源文獻在工程同一種目錄中,但也可不作這樣規(guī)定。工程的編譯選項使用菜單中“Project”中的“Options”命令。工程管理

工程管理允許你將多個文獻組織進同一種工程,并且定義它們的編譯選項,這個特性允許你將工程分解成許多小的模塊。當你解決工程構(gòu)筑時,只有一種文獻被修改和重新編譯,如果一種頭文獻作了修改,當你編譯包含這個頭文獻的源文獻時,IDE會自動重新編譯已經(jīng)變化的頭文獻。一種源文獻能夠?qū)懗蒀或匯編格式的任意一種。C文獻必須使用“.c”擴展名匯編文獻必須使用“.s”擴展名。你能夠?qū)⑷我馕墨I放在工程列表中,例如你能夠?qū)⒁环N工程文檔文獻放在工程管理窗口中,工程管理器在構(gòu)筑工程時對源文獻以外的文獻不予理睬。對目的器件不同的工程,能夠在編譯選項中設(shè)立有關(guān)參數(shù)

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論