版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、-題目:DS18B20溫度測量軟件的設計專 業(yè):班 級:學生:指導教師:辯論日期:摘 要近年來,隨著大規(guī)模集成電路的開展,單片機繼續(xù)朝快速、高性能方向開展,從4位、8位單片機開展到16位、32位單片機。單片機主要用于控制,它的應用領(lǐng)域普及各行各業(yè),大到航天飛機,小至日常生活中的冰箱、彩電,單片機都可以大顯其能。 單片機技術(shù)與傳感與測量技術(shù)、信號與系統(tǒng)分析技術(shù)、電路設計技術(shù)、可編程邏輯應用技術(shù)、微機接口技術(shù)、數(shù)據(jù)庫技術(shù)以及數(shù)據(jù)構(gòu)造、計算機操作系統(tǒng)、匯編語言程序設計、高級語言程序設計、軟件工程、數(shù)據(jù)網(wǎng)絡通信、數(shù)字信號處理、自動控制、誤差分析、儀器儀表構(gòu)造設計和制造工藝等的結(jié)合,使得單片機的應用非常
2、廣泛。同時,單片機具有較強的管理功能。采用單片機對整個測量電路進展管理和控制,使得整個系統(tǒng)智能化、功耗低、使用電子元件較少、部配線少、本錢低,制造、安裝、調(diào)試及維修方便。 本設計是基于單片機ATMAGE16設計的實時溫度采集儀,通過本次設計,我成功的實現(xiàn)了利用單片機對溫度的采集和測量。 目 錄1 緒論 . . . . 3 1.1 課題背景 . . 3 1.2 設計目的及系統(tǒng)功能 . 4 2 ATMAGE16特性 . . . 5 2.1 ATMAGE16產(chǎn)品特性 . 5 2.2 引腳配置 . 6 3 DS18B20的設計 . 9 3.1 總體通信流程及通信協(xié)議 . . 9 3.2 DS18B20
3、溫度測量軟件的設計 .11 3.3 多機通信軟件的設計 .11 3.4 DS18B20工作時序問題 . . 13 4 電路的設計 . . . 14 4.1 溫度測量電路的設計 . . 14 4.2 串口通信電路的設計 . . 15 5 分布式溫度采集系統(tǒng)設計 . 18 6 ICCAVR制作環(huán)境及介紹 . . . 19 6.1 ICCAVR 介紹 . . 19 6.2 ICCAVR 向?qū)?. 22 6.3 ICCAVR 的IDE 環(huán)境 . . 22 結(jié) 論. . . 24 參考文獻. 25 1 緒論自從1976年Intel公司推出第一批單片機以來,80年代單片機技術(shù)進入快速開展時期,近年來,隨著
4、大規(guī)模集成電路的開展,單片機繼續(xù)朝快速、高性能方向開展,從4位、8位單片機開展到16位、32位單片機。單片機主要用于控制,它的應用領(lǐng)域普及各行各業(yè),大到航天飛機,小至日常生活中的冰箱、彩電,單片機都可以大顯其能。單片機在國的三大領(lǐng)域中應用得十分廣泛:第一是家用電器業(yè),例如全自動洗衣機、智能玩具;第二是通訊業(yè),包括、手機和BP機等等;第三是儀器儀表和計算機外設制造,例如軟盤、硬盤、收銀機、電表。除了上述傳統(tǒng)領(lǐng)域外,汽車、電子工業(yè)在國外也是單片機應用十分廣泛的一個領(lǐng)域。它本錢低、集成度高、功耗低、控制功能多能靈活的組裝成各種智能控制裝置,由它構(gòu)成的智能儀表解決了長期以來測量儀器中的誤差的修正、線性
5、處理等問題。單片機將微處理器、存儲器、定時/計數(shù)器、I/O接口電路等集成在一個芯片上的大規(guī)模集成電路,本身即是一個小型化的微機系統(tǒng)。單片機技術(shù)與傳感與測量技術(shù)、信號與系統(tǒng)分析技術(shù)、電路設計技術(shù)、可編程邏輯應用技術(shù)、微機接口技術(shù)、數(shù)據(jù)庫技術(shù)以及數(shù)據(jù)構(gòu)造、計算機操作系統(tǒng)、匯編語言程序設計、高級語言程序設計、軟件工程、數(shù)據(jù)網(wǎng)絡通信、數(shù)字信號處理、自動控制、誤差分析、儀器儀表構(gòu)造設計和制造工藝等的結(jié)合,使得單片機的應用非常廣泛。同時,單片機具有較強的管理功能。采用單片機對整個測量電路進展管理和控制,使得整個系統(tǒng)智能化、功耗低、使用電子元件較少、部配線少、本錢低,制造、安裝、調(diào)試及維修方便。目前單片機滲
6、透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網(wǎng)絡通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的平安保障系統(tǒng),錄象機、攝象機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領(lǐng)域的機器人、智能儀表、醫(yī)療器械了。1.1 課題背景分布式溫度采集系統(tǒng)廣泛應用在使用了中央空調(diào)的大型商場、廠房、辦公大樓等大型建筑。本課題主要用溫度傳感器對環(huán)境溫度實施實時監(jiān)測,各結(jié)點控制單元可將有關(guān)信息上傳給計算機,本課題研究主要解決的問題為分布式控制構(gòu)造設計、多單片機串行通信、
7、溫度的采集與處理。 本設計是基于單片機ATMAGE16設計的實時溫度采集儀,采用DS18B20可以采集多路溫度數(shù)據(jù)(本設計只用了2路),同時實時顯示所采集到的溫度值。在傳統(tǒng)的溫度測量系統(tǒng)設計中,往往采用模擬技術(shù)進展設計,這樣就不可防止地遇到諸如引線誤差補償、多點測量中的切換誤差和信號調(diào)理電路的誤差等問題;而其中*一環(huán)節(jié)處理不當,就可能造成整個系統(tǒng)性能的下降。隨著現(xiàn)代科學技術(shù)的飛速開展,特別是大規(guī)模集成電路設計技術(shù)的開展,微型化、集成化、數(shù)字化正成為傳感器開展的一個重要方向。美國Dallas半導體公司推出的數(shù)字溫度傳感器DSl8B20,具有獨特的單總線接口,僅需要占用一個通用I/O端口即可完成與
8、微處理器的通信;在-10+85溫度圍具有±O.01精度;用戶可編程設定912位的分辨率。以上特性使得DSl8B20非常適用于構(gòu)建高精度、多點溫度測量系統(tǒng)。 1.2 設計目的及系統(tǒng)功能 本設計的目的是以單片機為核心設計出一個分布式溫度采集系統(tǒng)。在傳統(tǒng)測量系統(tǒng)中,傳感器與計算機接口的連接是通過假設干條導線連接。當傳感器數(shù)量較多時,尤其是信號線的長距離傳輸時,相互容易產(chǎn)生干擾。一個室多點溫度測量中,系統(tǒng)的接線會非常多,導線往往不易鋪設,使得測量工作非常困難。采用總線構(gòu)造數(shù)字式傳感器,配合單片機及PC機串口進展長距離數(shù)據(jù)通信,則可以很容易解決這個問題,該系統(tǒng)最多可以檢測256 路溫度信號,在
9、室多點溫度測量控制中能到達很好的效果。通過本課題設計,綜合運用單片機及接口技術(shù)、微機原理、通信協(xié)議,鍛煉動手操作能力,綜合運用能力,學習論文的寫作方法和步驟。 設計的溫度控制系統(tǒng)有以下功能及特點: (a)實現(xiàn)在一條數(shù)據(jù)總線上接多個DS18B20器件; (b)測溫圍099; (c)溫度顯示:采用2個4位數(shù)碼管,顯示采樣溫度值; 并在電腦上一同顯示; (d)精度±0.01。 2 ATMAGE16特性本章介紹了ATMAGE16的產(chǎn)品特性和ATmega16的構(gòu)造。由于其先進的指令集以及單時鐘周期指令執(zhí)行時間,ATmega16 的數(shù)據(jù)吞吐率高達 1MIPS MHz,從而可以緩減系統(tǒng)在功耗和處理
10、速度之間的矛盾。 2.1 ATMAGE16產(chǎn)品特性 1、 高性能、低功耗的 8 位 AVR 微處理器 2、 先進的RISC構(gòu)造 a131 條指令 b32 個8 位通用工作存放器 c全靜態(tài)工作 d工作于16 MHz 時性能高達16 MIPS e只需兩個時鐘周期的硬件乘法器 f大多數(shù)指令執(zhí)行時間為單個時鐘周期 3、 非易失性程序和數(shù)據(jù)存儲器 a16K 字節(jié)的系統(tǒng)可編程 Flash擦寫壽命: 10,000 次 b 具有獨立鎖定位的可選Boot 代碼區(qū)通過片上Boot 程序?qū)崿F(xiàn)系統(tǒng)編程真正的同時讀寫操作 c512 字節(jié)的EEPROM擦寫壽命: 100,000 次 d1K 字節(jié)的片SRAM e可以對鎖定
11、位進展編程以實現(xiàn)用戶程序的加密 4、 JTAG 接口( 與IEEE 1149.1標準兼容 ) a符合JTAG標準的邊界掃描功能 b支持擴展的片調(diào)試功能 c通過JTAG接口實現(xiàn)對 Flash、EEPROM、熔絲位和鎖定位的編程 5、 外設特點 a兩個具有獨立預分頻器和比較器功能的8 位定時器/計數(shù) b一個具有預分頻器、比較功能和捕捉功能的16 位定時器/計數(shù) c具有獨立振蕩器的實時計數(shù)器RTC d四通道PWM e8路 10 位ADC8 個單端通道TQFP 封裝的7 個差分通道2個具有可編程增益1*, 10*, 或200*的差分通道 f面向字節(jié)的兩線接口 g 兩個可編程的串行USART h 可工作
12、于主機/從機模式 SPI串行接口 i 具有獨立片振蕩器的可編程看門狗定時器 j 片模擬比較器 6、 特殊的處理器特點 a上電復位以及可編程的掉電檢測 b片經(jīng)過標定的RC 振蕩器 c片/片外中斷 d6種睡眠模式 : 空 ADC噪聲抑制模式、省電模式、掉電模式、Standby 、式以擴展的Standby 模式 7、 I/O和封裝 a32 個可編程的I/O口 b40 引腳PDIP封裝 , 44 引腳 TQFP 封裝,與 44 引腳MLF封裝 8、 工作電壓: aATmega16L:2.7 - 5.5V bATmega16:4.5 - 5.5V 9、速度等級 a0 - 8 MHz ATmega16L
13、b0 - 16 MHz ATmega16 10、 ATmega16L在 1 MHz, 3V, 25 C時的功耗 a正常模式: 1.1 mA b空 : 0.35 mA c掉電模式: < 1 A 2.2 引腳配置 ATmega16是基于增強的AVRRISC構(gòu)造的低功耗8位CMOS微控制器。由于其先進的指令集以及單時鐘周期指令執(zhí)行時間,ATmega16 的數(shù)據(jù)吞吐率高達 1MIPS MHz,從而可以緩減系統(tǒng)在功耗和處理速度之間的矛盾。ATMAGE16引腳分布如圖2.1所示。 AVR 核具有豐富的指令集和 32 個通用工作存放器。所有的存放器都直接與算邏單元(ALU) 相連接,使得一條指令可以在
14、一個時鐘周期同時兩個獨立的存放器。這種構(gòu)造大大提高了代碼效率,并且具有比普通的 CISC微控制器最高至 10倍的數(shù)據(jù)吞吐率。ATmega16 有如下特點 16K字節(jié)的系統(tǒng)可編程Flash(具有同時讀寫的能力,即RWW), 圖2.1 ATMAGE16引腳分布 AVR 核具有豐富的指令集和 32 個通用工作存放器。所有的存放器都直接與算邏單元(ALU) 相連接,使得一條指令可以在一個時鐘周期同時兩個獨立的存放器。這種構(gòu)造大大提高了代碼效率,并且具有比普通的 CISC微控制器最高至 10倍的數(shù)據(jù)吞吐率。ATmega16 有如下特點 16K字節(jié)的系統(tǒng)可編程Flash(具有同時讀寫的能力,即RWW),5
15、12 字節(jié) EEPROM,1K字節(jié) SRAM,32 個通用I/O 口線,32 個通用工作存放器,用于邊界掃描的 JTAG 接口,支持片調(diào)試與編程,三個具有比較模式的靈活的定時器/計數(shù)(T/C),片/外中斷,可編程 USART,有起始條件檢測器的通用串行接口,8路10位具有可選差分輸入級可編程增益 (TQFP 封裝 ) 的ADC ,具有片振蕩器的可編程看門狗定時器,一個 SPI串行端口,以及六個可以通過軟件進展選擇的省電模式。 工作于空閑模式時 CPU 停頓工作,而 USART、兩線接口、 A/D 轉(zhuǎn)換器、 SRAM、 T/C、 SPI 端口以及中斷系統(tǒng)繼續(xù)工作;掉電模式時晶體振蕩器停頓振蕩,所
16、有功能除了中斷和硬件復位之外都停頓工作;在省電模式下,異步定時器繼續(xù)運行,允許用戶保持一個時間基準,而其余功能模塊處于休眠狀態(tài);ADC噪聲抑制模式時終止CPU 和除了異步定時器與ADC以外所有 I/O 模塊的工作,以降低 ADC 轉(zhuǎn)換時的開關(guān)噪聲; Standby 模式下只有晶體或諧振振蕩器運行,其余功能模塊處于休眠狀態(tài),使得器件只消耗極少的電流,同時具有快速啟動能力;擴展 Standby 模式下則允許振蕩器和異步定時器繼續(xù)工作。本芯片是以 Atmel 高密度非易失性存儲器技術(shù)生產(chǎn)的。片 ISP Flash 允許程序存儲器通過 ISP 串行接口,或者通用編程器進展編程,也可以通過運行于 AVR
17、 核之中的引導程序進展編程。引導程序可以使用任意接口將應用程序下載到應用Flash存儲區(qū)(ApplicationFlash Memory)。在更新應用Flash存儲區(qū)時引導Flash區(qū)(Boot Flash Memory)的程序繼續(xù)運行,實現(xiàn)了 RWW 操作。 通過 8 位 RISC CPU 與系統(tǒng)可編程的 Flash 集成在一個芯片, ATmega16 成為一個功能強大的單片機,為許多嵌入式控制應用提供了靈活而低本錢的解決方案。 3 DS18B20的設計本章介紹了系統(tǒng)軟件設計,并具體介紹了實現(xiàn)和調(diào)試的方法,以及分布式溫度采集系統(tǒng)的通信流程和DS18B20溫度測量軟件的設計思路、DS18B20
18、工作的時序問題。 3.1 總體通信流程及通信協(xié)議 總體通信流程表達在PC機,單片機主機及各從機的通信,信號承受及發(fā)送,這個設計中,通信協(xié)議是一個非常重要也很復雜的局部,在由PC 機與單片機組成的系統(tǒng)中,常要涉及通信問題,如果沒有統(tǒng)一的通信協(xié)議,PC機與單片機之間的信息傳遞就無法識別。 通信協(xié)議是指通信各方事前約定規(guī)則,我們可以簡單地理解為各計算機之間進展相互會話所使用的共同語言.PC機與單片機在進展通信時,必須使用的通信協(xié)議。首先,在設計中自定義幾個數(shù)據(jù)通信協(xié)議,如下問提到的“a、“b、“c、“d、“g、“h。這些協(xié)議一旦定義,在后面的執(zhí)行過程中就代表了固定的含義,不再改變,PC機、單片機、從
19、機都靠識別這個協(xié)議來執(zhí)行程序,發(fā)送一個字節(jié)的數(shù)據(jù),承受幾個字節(jié)的數(shù)據(jù),所有的數(shù)據(jù)協(xié)議全都建立在這2個操作方法上。 本設計中自定義“a為PC機與單片機主機間的數(shù)據(jù)協(xié)議,意思為要求主機發(fā)送一號從機的溫度給PC機;自定義“b為PC機與單片機主機間的數(shù)據(jù)協(xié)議,意思為要求主機發(fā)送二號從機的溫度給PC機;自定義“c為從機與主機間的數(shù)據(jù)協(xié)議,它代表從機向主機發(fā)送完四位當前采集的溫度,這里一號從機和二號從機采集的溫度,都定義為“c;自定義“d為PC機與單片機主機之間的數(shù)據(jù)協(xié)議,意思為開場和完成命令的信號; 自定義“g為一號從機和單片機主機之間的數(shù)據(jù)協(xié)議,意思為主機表示要采集一號從機的溫度數(shù)據(jù),一號從機要求單片
20、機主機準備接收;自定義“h為二號從機和單片機主機之間的數(shù)據(jù)協(xié)議,意思為主機表示要采集二號從機的溫度數(shù)據(jù),二號從機要求單片機主機準備接收。 具體流程如下: 1、PC機向單片機主機發(fā)送“d:這步是流程的開場,PC機向單片機主機發(fā)送數(shù)據(jù)協(xié)議,要求主機把接收的溫度發(fā)送給PC機顯示; 2、單片機主機向一號從機發(fā)送“g: 單片機主機在接收到PC機發(fā)送的“d信號后,會立即向一號從機發(fā)送“g,要求一號從機采集溫度并且將溫度發(fā)回單片機主機; 3、一號從機回發(fā)“g: 一號從機接收到單片機主機的命令后,會立即向單片機主機回發(fā)信號,要求單片機主機做好接收準備; 4、向主機發(fā)送四位當前采集的溫度,并回發(fā)發(fā)送完成標記“c
21、; 一號從機回發(fā)信號后,向主機發(fā)送四位采集的溫度,這個溫度在前文已提到標記為“c; 5、主機發(fā)送“h給2號從機: 主機在接收到一號從機發(fā)來的“c命令后,會立刻發(fā)送“h信號給二號從機,表示要采集二號從機的數(shù)據(jù); 6、2號從機回發(fā)“h: 二號從機接收到單片機主機的命令后,會立即向單片機主機回發(fā)信號,要求單片機主機做好接收準備; 7、向主機發(fā)送四位當前采集的溫度,并回發(fā)發(fā)送完成標記“c: 二號從機向單片機主機回發(fā)完信號后,向主機發(fā)送四位當前采集的溫度,這個溫度標記為“c; 8、主機發(fā)送“d給PC機: 單片機主機在接收到二號從機發(fā)送來的信號后,立刻發(fā)送信號給PC機,表示完成PC機的前一指令; 9、PC
22、發(fā)送“a給主機: PC機在接收到單片機主機發(fā)送的信號后,發(fā)送新一個指令給單片機主機,要求單片機主機發(fā)送一號從機采集的溫度數(shù)據(jù); 10、主機將一號從機溫度數(shù)據(jù)發(fā)送給PC機: 單片機主機接收到PC機的命令后將一號從機發(fā)送過來的四位當前溫度數(shù)據(jù)轉(zhuǎn)換成ASCII碼后,發(fā)送給PC機,因為PC機只能讀取ASCII碼; 11、PC機發(fā)送“b給主機: PC機接收到單片機主機發(fā)送的即時溫度后會立即發(fā)送另一指令給單片機主機,要求單片機主機發(fā)送二號從機采集的溫度數(shù)據(jù); 12、主機將二號從機溫度數(shù)據(jù)發(fā)送給PC機,發(fā)送完成后,返回1: 單片機主機接收到PC機的命令后將二號從機發(fā)送過來的四位當前溫度數(shù)據(jù)同樣也轉(zhuǎn)換成ASC
23、II碼后,發(fā)送給PC機。此時一個完整過程完畢,將返回1開場另一輪采集。 3.2 DS18B20溫度測量軟件的設計 由于DS18B20 單線通信功能是分時完成的,它有嚴格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進展。操作協(xié)議為:初始化DS18B20發(fā)復位脈沖發(fā)ROM 功能命令發(fā)存儲器操作命令處理數(shù)據(jù)。主機控制DS18B20完成溫度轉(zhuǎn)換的程序必須經(jīng)過3個步驟:初始化、ROM操作指令、存儲器操作指令。假設單片機系統(tǒng)所用的晶振頻率為12MHz,根據(jù)DS18B20的初始化時序、寫時序和讀時序,分別編寫3個子程序:INIT為初始化子程序,WRITE 為寫命令或數(shù)據(jù)子程序,R
24、EAD為讀數(shù)據(jù)子程序,所有的數(shù)據(jù)讀寫均由最低位開場。主程序的主要功能是負責溫度的實時顯示、讀出并處理DS18B20的測量溫度值,溫度測量每1s 進展一次,流程圖如圖3.1所示 。讀出溫度子程序的主要功能是讀出RAM中的9個字節(jié),在讀出時需進展CRC 校驗,校驗有錯時不進展溫度數(shù)據(jù)的改寫,其程序流程圖如圖3.2所示。 從DS18B20讀取出的二進制值必須先轉(zhuǎn)換成十進制值,才能用于字符的顯示。因為DS18B20的轉(zhuǎn)換精度為912 位可選,為了提高精度采用12位。在采用12位轉(zhuǎn)換精度時,溫度存放器里的值是以0.0625為步進的,即溫度值為溫度存放器里的二進制值乘以0.0625,就是實際的十進制溫度值
25、。3.3 多機通信軟件的設計 ATMAGE16單片機有串行發(fā)送緩沖器接收緩沖器(SBUF)、串行口控制存放器(SCON)、特殊功能存放器(PCON)。通過設置SCON可以有四種工作方式,其中工作方式2、3 適用于多機通信。在串行通信前,通過程序預先將各從機串行口設置為方式2或方式3,并使SM2和REN(允許串行接收控制位)為1,允許串行口中斷。主機與從機通信時,將SM2置0,準備接收數(shù)據(jù),否則維持SM2為1,這樣在主機發(fā)送數(shù)據(jù)時(此時主機發(fā)送數(shù)據(jù)中第9 位為0),只有地址相符的從機可接收數(shù)據(jù),圖3.1 DS18B20溫度主程序流程圖 3.2 讀出溫度子程序流程圖其余從機對數(shù)據(jù)信息不予理睬,從而
26、可以實現(xiàn)多機通信集散型控制系統(tǒng)將各控制單元分散到現(xiàn)場各控制點。從機主程序和串行口中斷效勞程序如圖3.3所示。PC 機與單片機的串口通信中,ATMAGE16單片機的Pl.3和Pl.4口分別模擬串行通信的發(fā)送和接收端,其接口程序主要由發(fā)送子程序和接收子程序組成。通信速率9600bps,幀格式為N.8.l。發(fā)送時,先發(fā)送一個起始位(低電平),接著 按低位在先的順序發(fā)送8位數(shù)據(jù),最后發(fā)送停頓位。接收時,先判斷P1.4接收端口是否有起始低電平出現(xiàn),如有則按低位在先的順序接收8位數(shù),最后判斷P1.4 口是否有停頓高電平出現(xiàn),如有則完成一個數(shù)據(jù)接收,否則繼續(xù)等待。其中軟件編寫要嚴格按照異步通信的時序進展。圖
27、3.3 從機主程序和串行口中斷效勞程序 3.4 DS18B20工作時序問題 DS18B20的一線工作協(xié)議流程是:初始化ROM操作指令存儲器操作指令數(shù)據(jù)傳輸。其工作時序包括初始化時序、寫時序和讀時序。主機即單片機首先發(fā)480us-960us的低電平,進展復位,然后釋放總線,之后總線被外部上拉電阻電阻抬高,大約等待1560us之后,DS18B20發(fā)出60到240us的低電平信號,以示存在,至此初始化完畢。 寫“0“的時候,首先單片機發(fā)復位信號,然后發(fā)“0于是低電平持續(xù)60us就完成了寫“0寫“1的時候首先單片機發(fā)復位信號,持續(xù)時間大于1us小于15us然后發(fā)“1持續(xù)50us以上即可。 讀時序也是主
28、機先發(fā)低電平,然后在15us檢測連接DS18B20的數(shù)據(jù)線的引腳,從而讀得相應值。4 電路的設計本章分析了分布式溫度采集系統(tǒng)的各主要功能模塊的設計與實現(xiàn),具體包括溫度測量電路模塊和串口通信電路模塊。 4.1 溫度測量電路的設計 溫度測量采用DS18B20 數(shù)字式溫度傳感器。由DS18B20 構(gòu)成的智能溫度測量裝置由三局部組成:DS18B20 溫度傳感器、ATMAGE16、顯示模塊。產(chǎn)品的主要技術(shù)指標:測量圍:-55+125,測量精度:0.5,反響時間500ms。為了到達更高的精度,則在對DSl8B20測溫原理進展詳細分析的根底上,采取直接讀取DSl8B20部暫存存放器的方法,將DSl8B20
29、的測溫分辨率提高到0.010.1,DSl8B20部暫存存放器的分布如表4-1所列,其中第7字節(jié)存放的是當溫度存放器停頓增值時計數(shù)器l的計數(shù)剩余值,第8字節(jié)存放的是每度所對應的計數(shù)值。這樣,就可以通過下面的方法獲得高分辨率的溫度測量結(jié)果。 表4-1 DS18B20部暫存器序號 存放器名稱 作用 序號 存放器名稱0 溫度低字節(jié)以16位補碼形式存放4、5 保存字節(jié)1、2 1 溫度高字節(jié)6 計數(shù)器余值2 TH/用戶字節(jié)1 存放溫度上限7 計數(shù)器/3 HL/用戶字節(jié)2 存放溫度下限8 CRC 基于DS18B20的溫度測量裝置電路圖如圖4.1所示:圖4.1 溫度測量電路 溫度傳感器DS18B20將被測環(huán)境
30、溫度轉(zhuǎn)化成帶符號的數(shù)字信號以十六位補碼形式,占兩個字節(jié),傳感器可置于離裝置150米以的任何地方,輸出腳I/O直接與單片機的P1.1 相連,R1為上拉電阻,傳感器采用外部電源供電。ATMAGE16 是整個裝置的控制核心,ATMAGE16帶1K字節(jié)的FlashROM,用戶程序存放在這里。顯示器模塊由四位一體的共陽數(shù)碼管和4個9012組成。系統(tǒng)程序分傳感器控制程序和顯示器程序兩局部,傳感器控制程序是按照DS18B20的通信協(xié)議編制。系統(tǒng)的工作是在程序控制下,完成對傳感器的讀寫和對溫度的顯示。 4.2 串口通信電路的設計 為了增加單片機多機通信的距離,該局部電路采用RS232標準接口,通信距離可以到達
31、15米;如果采用RS422 或是RS485 接口,通信距離會更遠。多機通信接口原理圖見圖1 。在數(shù)據(jù)傳輸過程中采用的是RS232 電平,提高了抗干擾能力。需要在主機串行接口和從機串行接口進展電平轉(zhuǎn)換:TTL-RS232-TTL。這都是用MA*232 接口芯片實現(xiàn)的,具體的電路如圖4.2所示。圖4.2 TTL-RS232-TTL電平轉(zhuǎn)換電路通信電路是本設計的重要組成局部,負責溫度數(shù)據(jù)的采集和數(shù)據(jù)的上傳。包括單片機多機串口通信電路,PC 機與ATMAGE16的串口通信電路。其中主單片機ATMAGE16既要和從機通信,還要負責將數(shù)據(jù)通過串口發(fā)送到PC機上。而ATMAGE16 單片機只有一個串行通信口
32、,這就需要用硬件或是軟件擴展一個串行通信口。本設計采用一種用單片機普通I/O口和相應軟件實現(xiàn)串行通信的方法。 5 分布式溫度采集系統(tǒng)設計分布式溫度采集系統(tǒng)設計 數(shù)字式傳感器一般采用單總線技術(shù)(1-WIREBUS,即在單片機或計算機接口中只用一根導線輸入/ 輸出信號線,美國Dallas公司最新推出的1-WireBus數(shù)字式溫度傳感器DS18B20,與傳統(tǒng)的溫度傳感器不同,它能夠直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)912位的數(shù)字值讀數(shù)方式,可以分別在93.75ms 和750ms將溫度值轉(zhuǎn)化為9 位和12位的數(shù)字量,對應的可分辨溫度分別為0.5、0.25、0.125和0.0625;
33、為實現(xiàn)與PC機串口長距離數(shù)據(jù)通信,系統(tǒng)采用了RS232 串行接口,通信距離可以到達15m,如果采用RS422或RS485串行接口可以到達1000m。串口通信由PC機與單片機的通信和單片機多機通信組成,每個從機負責溫度的測量然后通過多機通信把溫度數(shù)據(jù)發(fā)送到主單片機上,最后PC機通過VB程序控制串口把主單片機上的所有溫度數(shù)據(jù)收集起來。系統(tǒng)框圖如圖5.1所示。 5.1 系統(tǒng)框圖 6 ICCAVR制作環(huán)境及介紹本章介紹了ICCAVR的制作環(huán)境,ICCAVR 中的文件類型及其文件的擴展名、附注和擴大,并介紹了IAR 或其它ANSI C 編譯系統(tǒng)的代碼轉(zhuǎn)換。 6.1 ICCAVR 介紹 本節(jié)主要介紹了IC
34、CAVR文件的根本特點、類型、擴展名等。 ImageCraft 的ICCAVR 介紹ImageCraft 的ICCAVR 是一種使用符合ANSI 標準的C 語言來開發(fā)微控制器(MCU)程序的一個工具,它有以下幾個主要特點: ICCAVR 是一個綜合了編輯器和工程管理器的集成工作環(huán)境IDE,其可在WINDOWS9*/NT 下工作。源文件全部被組織到工程之中,文件的編輯和工程的構(gòu)筑也在這個環(huán)境中完成。編譯錯誤顯示在狀態(tài)窗口中,并且當你用鼠標單擊編譯錯誤時,光標會自動跳轉(zhuǎn)到編輯窗口中引起錯誤的那一行。這個工程管理器還能直接產(chǎn)生您希望得到的可以直接使用的INTEL HE* 格式文件,INTEL HE*
35、 格式文件可被大多數(shù)的編程器所支持,用于下載程序到芯片中去。ICCAVR 是一個32 位的程序,支持長文件名。本論文并不介紹通用的C 語言語法知識,僅介紹使用ICC AVR 所必須具備的知識。 ICCAVR 中的文件類型及其擴展名 文件類型是由它們的擴展名決定的,IDE 和編譯器可以使用以下幾種類型的文件。 輸入文件: .c 擴展名-表示是C 語言源文件 .s 擴展名-表示是匯編語言源文件 .h 擴展名-表示是C 語言的頭文件 .prj 擴展名-表示是工程文件,這個文件保存由IDE 所創(chuàng)立和修改的一個工程的有關(guān)信息。.a 擴展名-庫文件,它可以由幾個庫封裝在一起。libcavr.a 是一個包含
36、了標準C 的庫和AVR 特殊程序調(diào)用的根本庫。如果庫被引用,器會將其到您的模塊或文件中。您也可以創(chuàng)立或修改一個符合你需要的庫。輸出文件 .s 對應每個C 語言源文件,由編譯器在編譯時產(chǎn)生的匯編輸出文件。 .o 由匯編文件匯編產(chǎn)生的目標文件,多個目標文件可以成一個可執(zhí)行文件。 .he* INTEL HE* 格式文件,其中包含了程序的機器代碼。 .eep INTEL HE* 格式文件,包含了EEPROM 的初始化數(shù)據(jù)。 .cof COFF 格式輸出文件,用于在ATMEL 的AvrStudio 環(huán)境下進展程序調(diào)試。 .lst 列表文件,在這個文件中列舉出了目標代碼對應的最終地址。 .mp 存映象文件
37、 它包含了您程序中有關(guān)符號及其所占存大小的信息 d NoICE 2.* 調(diào)試命令文件。 .noi NoICE 3.* 調(diào)試命令文件。 .dbg ImageCraft 調(diào)試命令文件。 附注和擴大 *pragma 編譯附注 這個編譯器承受以下附注: *pragma interrupt_handler <func1>:<vector number> <func2>:<vector> . 這個附注必須在函數(shù)之前定義,它說明函數(shù)func1、func2 是中斷操作函數(shù),所以編譯器在中斷操作函數(shù)中生成中斷返回指令reti 來代替普通返回指令ret ,并且保存和
38、恢復函數(shù)所使用的全部存放器;同樣編譯器根據(jù)中斷向量號vector number 生成中斷向量地址。*pragma ctask <func1> <func2>. 這個附注指定了函數(shù)不生成揮發(fā)存放器來保存和恢復代碼,它的典型應用是在RTOS實時操作系統(tǒng)中讓RTOS 核直接收理存放器。*pragma te*t:<name> 改變代碼段名稱,使其與命令行選項相適應。*pragma data:<data> 改變數(shù)據(jù)段名稱,使其與命令行選項相適應。這個附注在分配全局變量至EEPROM中時必須被使用。 *pragma abs_address:<addre
39、ss> 函數(shù)與全局數(shù)據(jù)不使用浮動定位重定位,而是從<address>開場分配絕對地址。這在中斷向量和其它硬件工程時特別有用。 *pragma end_abs_address 完畢絕對定位,使目標程序使用正常浮動定位。 C+ 注釋如果你選擇了編譯擴大(Project->Options->piler),你可以在你的源代碼中使用C +的 / 類型的注釋。 二進制常數(shù) 如果你選擇了編譯擴大(Project->Options->piler),你可以使用0b<1|0>* 來指定二進制常數(shù),例如0b10101 等于十進制數(shù)21。 在線匯編你可以使用asm
40、("string")函數(shù)來指定在線匯編代碼。 6.1.4 代碼轉(zhuǎn)換 IAR 或其它ANSI C 編譯系統(tǒng)的代碼轉(zhuǎn)換 IAR C 編譯器作為應用于AVR 的第一個C 編譯器,它有十分豐富的源代碼。當你從IAR編譯系統(tǒng)轉(zhuǎn)換到ImageCraft 編譯系統(tǒng)時,絕大多數(shù)符合ANSI C標準的程序代碼不需要轉(zhuǎn)換,IAR C 中IO 存放器的定義與ICCAVR 也是一樣的。 中斷操作描述,ICCAVR 使用pragma 附注描述中斷操作函數(shù),而IAR 引入了語法擴大interrupt 關(guān)鍵字,下面是一個對照:在 ICCAVR 中:*pragma interrupt_handler fu
41、nc:4 / 4 是這個中斷的向量號,func 為中斷處理函數(shù)名稱,ICCAVR 可以使多個中斷向量共用一個中斷處理函數(shù)。在 IAR 中:interrupt vector_name func() / vector_name 是*一個中斷向量的名稱,IAR C 的中斷向量地址使用中斷名稱來代替,以增加程序的可讀性。擴大關(guān)鍵字IAR 引入flash 關(guān)鍵字將工程分配進入程序存貯空間FLASH 存貯器,ICCAVR 使用const 關(guān)鍵字來到達一樣的目的。過程調(diào)用轉(zhuǎn)換在兩個編譯系統(tǒng)之間函數(shù)參數(shù)傳遞使用的存放器是不同的,這僅影響手工寫的匯編函數(shù)。在線匯編、宏等,IAR 不支持在線匯編符號,而ICCAV
42、R 支持在線匯編。 6.2 ICCAVR 向?qū)?自你啟動 IDE 后,首先從Project 菜單系統(tǒng)選擇Open 命令,進入icce*amples.avr 目錄并且選擇并翻開“l(fā)ed工程,工程管理器顯示在這個工程中只有一個文件led.c。 然后從Project 菜單中選擇Options 命令翻開工程編譯選項,在"Target"標號下選擇目標處理器。然后從Project 菜單中選擇Make Project 命令,IDE 將調(diào)用編譯器編譯這個工程文件,并且在狀態(tài)窗口中顯示所有的信息。 6.3 ICCAVR 的IDE環(huán)境 編譯一個單獨的文件 正常建立一個輸出文件的次序是,你首先應
43、該建立一個工程文件并且定義屬于這個工程的所有文件。然而,我們有時也需要將一個文件單獨地編譯為目標文件或最終的輸出文件。這時可以這樣操作:從IDE 菜單“File 中選擇“pile File.命令,來執(zhí)行“to Object和“to Output中的任意一個。當你調(diào)用這個命令時,文件應該是翻開的并且在編輯窗口中可以編輯的。編譯一個文件為目標文件to Object,對檢查語法錯誤和編譯一個新的啟動文件是很有用的。編譯一個文件為輸出文件to Output,對較小的并且是一個文件的程序較為有用。 6.3.2 創(chuàng)立一個新的工程 為創(chuàng)立一個新的工程,從菜單“Project中選擇“New命令,IDE 會彈出
44、一個對話框,在對話框中你可以指定工程的名稱,這也是你的輸出文件的名稱。如果你使用一些已經(jīng)建立的源文件,你可在菜單“Project中選擇“AddFile(s) 命令。另外,你可以在菜單“File中選擇“New命令來建立一個新的源文件來輸入你的代碼,你可以在菜單“File中選擇“Save或“Save As命令來保存文件。然后你可以象上面所述調(diào)用“AddFile(s)命令將文件參加到工程中,也可在當前編輯窗口中單擊鼠標右鍵選擇“Add to Project將文件參加已翻開的工程列表中。通常你輸出源文件在工程同一個目錄中,但也可不作這樣要求。工程的編譯選項使用菜單中 “Project中的“Options命令。 工程管理 工程管理允許你將多個文件組織進同一個工程,而且定義它們的編譯選項,這個特性允許你將工程分解成許多小的模塊。當你處理工程構(gòu)筑時,只有一個文件被修改和重新編譯,如果一個頭文件作了修改,當你編譯包含這個頭文件的源文件時,IDE 會自動重新編譯已經(jīng)改變的頭文件。一個源文件可以寫成 C 或匯編格式的任意一種。C 文件必須使用“.c擴展名匯編文件必須使用“.s擴
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧省葫蘆島市2024-2025學年高三上學期期末考試歷史試卷(含答案)
- 陽光學院《廣告策劃項目實訓》2023-2024學年第一學期期末試卷
- 《上海市民防工程標識系統(tǒng)技術(shù)標準》
- 2025浴室整體轉(zhuǎn)讓合同
- 2025保安員合同范本范文
- 2025有關(guān)汽車買賣合同范本
- 2025學校門衛(wèi)責任合同與學校問題研討的有關(guān)注意事項匯編
- 廣州美食廣場租房合同模板
- 商業(yè)地產(chǎn)轉(zhuǎn)讓合同樣本范本
- 城市體育公園綠化景觀施工合同
- 【物 理】2024-2025學年八年級上冊物理寒假作業(yè)人教版
- 2024年計算機二級WPS考試題庫380題(含答案)
- 2023年廣西北海市創(chuàng)城辦招聘20人(共500題)筆試必備質(zhì)量檢測、歷年高頻考點模擬試題含答案解析
- 2023高考英語新高考1卷完形填空全考點解析附譯文全
- 工作票知識培訓課件
- GB/T 42616-2023電梯物聯(lián)網(wǎng)監(jiān)測終端技術(shù)規(guī)范
- 河南省醫(yī)院信息大全
- 酒店賠償價目表
- 廣西貴港市2023年中考物理試題(原卷版)
- 外觀質(zhì)量評定報告
- 集團總裁崗位說明書
評論
0/150
提交評論