電氣自動化(單片機(jī)方面)畢業(yè)論文_第1頁
電氣自動化(單片機(jī)方面)畢業(yè)論文_第2頁
電氣自動化(單片機(jī)方面)畢業(yè)論文_第3頁
電氣自動化(單片機(jī)方面)畢業(yè)論文_第4頁
電氣自動化(單片機(jī)方面)畢業(yè)論文_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、山西工程職業(yè)技術(shù)學(xué)院基于單片機(jī)控制制的溫度采集集 與測量系 別: 電氣工工程系 專 業(yè): 電氣自自動化 班 級: 電300 姓 名 XXXX 學(xué) 號: XXXXXXXXXXXXXXXXX 指導(dǎo)教師: 奧巴馬 2011年 5 月月 200 日摘 要近年來,隨著大大規(guī)模集成電電路的發(fā)展,單單片機(jī)繼續(xù)朝朝快速、高性性能方向發(fā)展展,從4位、8位單片機(jī)發(fā)發(fā)展到16位、32位單片機(jī)機(jī)。單片機(jī)主主要用于控制制,它的應(yīng)用用領(lǐng)域遍及各各行各業(yè),大大到航天飛機(jī)機(jī),小至日常常生活中的冰冰箱、彩電,單單片機(jī)都可以以大顯其能。單片機(jī)技術(shù)與傳傳感與測量技技術(shù)、信號與與系統(tǒng) HYPERLINK /click/click.p

2、hp?cpid=510&ads_id=602&pid=99003274&cid=3285&url=http%3A/alpari.asp&k=%u5206%u6790&s=http%3A/mishu/View.asp%3Fid%3D21532%26page%3D1&rn=925925&v=1&ref=http%3A/mishu/View.asp%3Fid%3D21532%26page%3D2&province=%u6C5F%u82CF&city=%u5357%u4EAC 分析技術(shù)、電電路設(shè)計技術(shù)術(shù)、可編程邏邏輯應(yīng)用技術(shù)術(shù)、微機(jī)接口口技術(shù)、數(shù)據(jù)據(jù)庫技術(shù)以及及數(shù)據(jù)結(jié)構(gòu)、計計算機(jī)操作系系統(tǒng)、匯編語語言

3、程序設(shè)計計、高級語言言程序設(shè)計、軟軟件工程、數(shù)數(shù)據(jù) HYPERLINK /click/click.php?cpid=1021&ads_id=652&pid=99003274&cid=3285&url=http%3A/bnnr/qunsee_pp.html&k=%u7F51%u7EDC&s=http%3A/mishu/View.asp%3Fid%3D21532%26page%3D1&rn=407407&v=1&ref=http%3A/mishu/View.asp%3Fid%3D21532%26page%3D2&province=%u6C5F%u82CF&city=%u5357%u4EAC 網(wǎng)絡(luò)通

4、信、數(shù)數(shù)字信號處理理、自動控制制、誤差分析析、儀器儀表表結(jié)構(gòu)設(shè)計和和制造工藝等等的結(jié)合,使使得單片機(jī)的的應(yīng)用非常廣廣泛。同時,單單片機(jī)具有較較強(qiáng)的管理功功能。采用單單片機(jī)對整個個測量電路進(jìn)進(jìn)行管理和控控制,使得整整個系統(tǒng)智能能化、功耗低低、 HYPERLINK /click/click.php?cpid=1021&ads_id=657&pid=99003274&cid=3285&url=http%3A/bnnr/qunsee_pp.html&k=%u4F7F%u7528&s=http%3A/mishu/View.asp%3Fid%3D21532%26page%3D1&rn=925925&v=1

5、&ref=http%3A/mishu/View.asp%3Fid%3D21532%26page%3D2&province=%u6C5F%u82CF&city=%u5357%u4EAC 使用電子元件件較少、內(nèi)部部配線少、成成本低,制造造、安裝、調(diào)調(diào)試及維修方方便。本設(shè)計是基于單單片機(jī)ATMMAGE166設(shè)計的實時時溫度采集儀儀,通過本次次設(shè)計,我成成功的實現(xiàn)了了利用單片機(jī)機(jī)對溫度的采采集和測量。關(guān)鍵詞 單片機(jī) ATMMAGE166 DSS18B200 ICCCAVR目 錄TOC o 1-3 h z u HYPERLINK l _Toc232676617 1 緒論 PAGEREF _Toc2326

6、76617 h 11 HYPERLINK l _Toc232676618 1.1 課題題背景 PAGEREF _Toc232676618 h 1 HYPERLINK l _Toc232676619 1.2 設(shè)計計目的及系統(tǒng)統(tǒng)功能 PAGEREF _Toc232676619 h 1 HYPERLINK l _Toc232676620 2 ATMAAGE16特特性 PAGEREF _Toc232676620 h 1 HYPERLINK l _Toc232676621 2.1 ATTMAGE116產(chǎn)品特性性 PAGEREF _Toc232676621 h 1 HYPERLINK l _Toc2326

7、76622 2.2 引腳腳配置 PAGEREF _Toc232676622 h 1 HYPERLINK l _Toc232676623 3DS18BB20的設(shè)計計 PAGEREF _Toc232676623 h 1 HYPERLINK l _Toc232676624 3.1 總體體通信流程及及通信協(xié)議 PAGEREF _Toc232676624 h 1 HYPERLINK l _Tooc23266766255 3.2 DS18BB20溫度測測量軟件的設(shè)設(shè)計 PAGEREF _Toc232676625 h 1 HYPERLINK l _Toc232676626 3.3 多機(jī)機(jī)通信軟件的的設(shè)計 P

8、AGEREF _Toc232676626 h 1 HYPERLINK l _Toc232676627 3.4 DSS18B200工作時序問問題 PAGEREF _Toc232676627 h 1 HYPERLINK l _Toc22326766628 4 電路的的設(shè)計 PAGEREF _Toc232676628 h 1 HYPERLINK l _Toc232676629 4.1 溫度度測量電路的的設(shè)計 PAGEREF _Toc232676629 h 1 HYPERLINK l _Toc232676630 4.2 串口口通信電路的的設(shè)計 PAGEREF _Toc232676630 h 1 HYP

9、ERLINK l _Toc232676631 5 分布式溫溫度采集系統(tǒng)統(tǒng)設(shè)計 PAGEREF _Toc232676631 h 1 HYPERLINK l _Toc232676632 6 ICCAAVR制作環(huán)環(huán)境及介紹 PAGEREF _Toc232676632 h 1 HYPERLINK l _Toc232676633 6.1 ICCCAVR 介紹 PAGEREF _Toc232676633 h 1 HYPERLINK l _Toc232676634 6.2 ICCCAVR 向?qū)?PAGEREF _Toc232676634 h 1 HYPERLINK l _Toc232676635 6.3 I

10、CCCAVR 的IDE 環(huán)境境 PAGEREF _Toc232676635 h 1 HYPERLINK l _Toc232676636 結(jié) 論 PAGEREF _Toc232676636 h 1 HYPERLINK l _Toc232676637 參考文獻(xiàn) PAGEREF _Toc232676637 h 1 HYPERLINK l _Toc232676638 致 謝 PAGEREF _Toc232676638 h 1 HYPERLINK l _Toc232676639 附件1:總系統(tǒng)統(tǒng)的原理圖如如下: PAGEREF _Toc232676639 h 1 HYPERLINK l _Toc2326

11、76640 附件2:單片機(jī)機(jī)ATMAGGE16控制制DS18BB20的程序序: PAGEREF _Toc232676640 h 11 緒論自從1976年年Intell公司推出第第一批單片機(jī)機(jī)以來,800年代單片機(jī)機(jī)技術(shù)進(jìn)入 HYPERLINK /click/click.php?cpid=1021&ads_id=659&pid=99003274&cid=3285&url=http%3A/bnnr/qunsee_360.html&k=%u5FEB%u901F&s=http%3A/mishu/View.asp%3Fid%3D21532%26page%3D1&rn=74074&v=1&ref=http

12、%3A/mishu/View.asp%3Fid%3D21532%26page%3D2&province=%u6C5F%u82CF&city=%u5357%u4EAC 快快速發(fā)展時期期,近年來,隨隨著大規(guī)模集集成電路的發(fā)發(fā)展,單片機(jī)機(jī)繼續(xù)朝快速速、高性能方方向發(fā)展,從從4位、8位單片機(jī)發(fā)發(fā)展到16位、32位單片機(jī)機(jī)。單片機(jī)主主要用于控制制,它的應(yīng)用用領(lǐng)域遍及各各行各業(yè),大大到航天飛機(jī)機(jī),小至日常常生活中的冰冰箱、彩電,單單片機(jī)都可以以大顯其能。單單片機(jī)在國內(nèi)內(nèi)的三大領(lǐng)域域中應(yīng)用得十十分廣泛:第第一是家用電電器業(yè),例如如全自動洗衣衣機(jī)、智能玩玩具;第二是是通訊業(yè),包包括電話、手手機(jī)和BP機(jī)等等;第

13、三是儀器器儀表和計算算機(jī)外設(shè)制造造,例如軟盤盤、硬盤、收收銀機(jī)、電表表。除了上述述傳統(tǒng)領(lǐng)域外外,汽車、電電子工業(yè)在國國外也是單片片機(jī)應(yīng)用十分分廣泛的一個個領(lǐng)域。它成成本低、集成成度高、功耗耗低、控制功功能多能靈活活的組裝成各各種智能控制制裝置,由它它構(gòu)成的智能能儀表解決了了長期以來測測量儀器中的的誤差的修正正、線性處理理等問題。單單片機(jī)將微處處理器、存儲儲器、定時/計數(shù)器、I/O接口電路路等集成在一一個芯片上的的大規(guī)模集成成電路,本身身即是一個小小型化的微機(jī)機(jī)系統(tǒng)。單片片機(jī)技術(shù)與傳傳感與測量技技術(shù)、信號與與系統(tǒng) HYPERLINK /click/click.php?cpid=510&ads_i

14、d=602&pid=99003274&cid=3285&url=http%3A/alpari.asp&k=%u5206%u6790&s=http%3A/mishu/View.asp%3Fid%3D21532%26page%3D1&rn=925925&v=1&ref=http%3A/mishu/View.asp%3Fid%3D21532%26page%3D2&province=%u6C5F%u82CF&city=%u5357%u4EAC 分析技術(shù)、電電路設(shè)計技術(shù)術(shù)、可編程邏邏輯應(yīng)用技術(shù)術(shù)、微機(jī)接口口技術(shù)、數(shù)據(jù)據(jù)庫技術(shù)以及及數(shù)據(jù)結(jié)構(gòu)、計計算機(jī)操作系系統(tǒng)、匯編語語言程序設(shè)計計、高級語言言程序設(shè)計、軟

15、軟件工程、數(shù)數(shù)據(jù) HYPERLINK /click/click.php?cpid=1021&ads_id=652&pid=99003274&cid=3285&url=http%3A/bnnr/qunsee_pp.html&k=%u7F51%u7EDC&s=http%3A/mishu/View.asp%3Fid%3D21532%26page%3D1&rn=407407&v=1&ref=http%3A/mishu/View.asp%3Fid%3D21532%26page%3D2&province=%u6C5F%u82CF&city=%u5357%u4EAC 網(wǎng)絡(luò)通信、數(shù)數(shù)字信號處理理、自動控制制、

16、誤差分析析、儀器儀表表結(jié)構(gòu)設(shè)計和和制造工藝等等的結(jié)合,使使得單片機(jī)的的應(yīng)用非常廣廣泛。同時,單單片機(jī)具有較較強(qiáng)的管理功功能。采用單單片機(jī)對整個個測量電路進(jìn)進(jìn)行管理和控控制,使得整整個系統(tǒng)智能能化、功耗低低、 HYPERLINK /click/click.php?cpid=1021&ads_id=657&pid=99003274&cid=3285&url=http%3A/bnnr/qunsee_pp.html&k=%u4F7F%u7528&s=http%3A/mishu/View.asp%3Fid%3D21532%26page%3D1&rn=925925&v=1&ref=http%3A/mish

17、u/View.asp%3Fid%3D21532%26page%3D2&province=%u6C5F%u82CF&city=%u5357%u4EAC 使用電子元件件較少、內(nèi)部部配線少、成成本低,制造造、安裝、調(diào)調(diào)試及維修方方便。目前單片機(jī)滲透透到我們生活活的各個領(lǐng)域域,幾乎很難難找到哪個領(lǐng)領(lǐng)域沒有單片片機(jī)的蹤跡。導(dǎo)導(dǎo)彈的導(dǎo)航裝裝置,飛機(jī)上上各種儀表的的控制,計算算機(jī)的網(wǎng)絡(luò)通通訊與數(shù)據(jù)傳傳輸,工業(yè)自自動化過程的的實時控制和和數(shù)據(jù)處理,廣廣泛使用的各各種智能ICC卡,民用豪豪華轎車的安安全保障系統(tǒng)統(tǒng),錄象機(jī)、攝攝象機(jī)、全自自動洗衣機(jī)的的控制,以及及程控玩具、電電子寵物等等等,這些都離離不開單片機(jī)機(jī)

18、。更不用說說自動控制領(lǐng)領(lǐng)域的機(jī)器人人、智能儀表表、醫(yī)療器械械了。1.1 課題題背景分布式溫度采集集系統(tǒng)廣泛應(yīng)應(yīng)用在使用了了中央空調(diào)的的大型商場、廠廠房、辦公大大樓等大型建建筑內(nèi)。本課課題主要用溫溫度傳感器對對環(huán)境溫度實實施實時監(jiān)測測,各結(jié)點(diǎn)控控制單元可將將有關(guān) HYPERLINK /click/click.php?cpid=1021&ads_id=625&pid=99003274&cid=3285&url=http%3A/click.cgi%3Fa%3D59068%26d%3D23310%26u%3D%26e%3D&k=%u4FE1%u606F&s=http%3A/mishu/View.asp

19、%3Fid%3D21532%26page%3D1&rn=592592&v=1&ref=http%3A/mishu/View.asp%3Fid%3D21532%26page%3D2&province=%u6C5F%u82CF&city=%u5357%u4EAC 信息上傳給計計算機(jī),本課課題研究主要要解決的問題題為分布式控控制結(jié)構(gòu)設(shè)計計、多單片機(jī)串行通信、溫溫度的采集與與處理。本設(shè)計是基于單單片機(jī)ATMMAGE166設(shè)計的實時時溫度采集儀儀,采用DS188B20可以以采集多路溫溫度數(shù)據(jù)(本設(shè)計只用用了2路),同時實時時顯示所采集集到的溫度值值。在傳統(tǒng)的的溫度測量系系統(tǒng)設(shè)計中,往往往采用模擬擬技術(shù)進(jìn)

20、行設(shè)設(shè)計,這樣就就不可避免地地遇到諸如引引線誤差補(bǔ)償償、多點(diǎn)測量量中的切換誤誤差和信號調(diào)調(diào)理電路的誤誤差等問題;而其中某一一環(huán)節(jié)處理不不當(dāng),就可能能造成整個系系統(tǒng)性能的下下降。隨著現(xiàn)現(xiàn)代科學(xué)技術(shù)術(shù)的飛速發(fā)展展,特別是大大規(guī)模集成電電路設(shè)計技術(shù)術(shù)的發(fā)展,微微型化、集成成化、數(shù)字化化正成為傳感感器發(fā)展的一一個重要方向向。美國Daallas半半導(dǎo)體公司推推出的數(shù)字溫溫度傳感器DDSl8B220,具有獨(dú)獨(dú)特的單總線線接口,僅需需要占用一個個通用I/OO端口即可完完成與微處理理器的通信;在-10+85溫度范圍內(nèi)內(nèi)具有O.01精度;用戶可編程程設(shè)定912位的分辨辨率。以上特特性使得DSSl8B200非常適

21、用于于構(gòu)建高精度度、多點(diǎn)溫度度測量系統(tǒng)。1.2 設(shè)計計目的及系統(tǒng)統(tǒng)功能 本設(shè)設(shè)計的目的是是以單片機(jī)為為核心設(shè)計出出一個分布式式溫度采集系系統(tǒng)。在傳統(tǒng)統(tǒng)測量系統(tǒng)中中,傳感器與與計算機(jī)接口口的連接是通通過若干條導(dǎo)導(dǎo)線連接。當(dāng)當(dāng)傳感器數(shù)量量較多時,尤尤其是信號線線的長距離傳傳輸時,相互互容易產(chǎn)生干干擾。一個室室內(nèi)多點(diǎn)溫度度測量中,系系統(tǒng)的接線會會非常多,導(dǎo)導(dǎo)線往往不易易鋪設(shè),使得得測量工作非非常困難。采采用總線結(jié)構(gòu)構(gòu)數(shù)字式傳感感器,配合單單片機(jī)及PCC機(jī)串口進(jìn)行行長距離數(shù)據(jù)據(jù)通信,則可可以很容易解解決這個問題題,該系統(tǒng)最最多可以檢測測256 路溫溫度信號,在在室內(nèi)多點(diǎn)溫溫度測量控制制中能達(dá)到很很好的

22、效果。通通過本課題設(shè)設(shè)計,綜合運(yùn)運(yùn)用單片機(jī)及及接口技術(shù)、微微機(jī)原理、通通信協(xié)議,鍛鍛煉動手操作作 HYPERLINK /click/click.php?cpid=1021&ads_id=652&pid=99003274&cid=3285&url=http%3A/bnnr/qunsee_pp.html&k=%u80FD%u529B&s=http%3A/mishu/View.asp%3Fid%3D21532%26page%3D2&rn=862825&v=1&ref=http%3A/mishu/View.asp%3Fid%3D21532%26page%3D1&province=%u6C5F%u82C

23、F&city=%u5357%u4EAC 能力,綜合運(yùn)運(yùn)用能力,學(xué)學(xué)習(xí)論文的寫寫作方法和步步驟。 設(shè)計計的溫度控制制系統(tǒng)有以下下功能及特點(diǎn)點(diǎn):(a)實現(xiàn)在一一條數(shù)據(jù)總線線上接多個DDS18B220器件;(b)測溫范圍圍099;(c)溫度顯示示:采用2個4位數(shù)碼管,顯示采樣溫溫度值; 并在電腦上上一同顯示;(d)精度00.01。2 ATMAAGE16特特性本章介紹了ATTMAGE116的產(chǎn)品特特性和ATmegga16的結(jié)構(gòu)。由于于其先進(jìn)的指指令集以及單單時鐘周期指指令執(zhí)行時間間,ATmeega16 的數(shù)據(jù)吞吐吐率高達(dá) 11MIPS MHz,從從而可以緩減減系統(tǒng)在功耗耗和處理速度度之間的矛盾盾。2.

24、1 ATTMAGE116產(chǎn)品特性性1、 高性能、低低功耗的 88 位 AVR 微處理器2、 先進(jìn)的RRISC結(jié)構(gòu)構(gòu)(a)131 條指令(b)32 個個8 位通用工工作寄存器(c)全靜態(tài)工工作(d)工作于116 MHzz 時性能高高達(dá)16 MMIPS(e)只需兩個個時鐘周期的的硬件乘法器器(f)大多數(shù)指指令執(zhí)行時間間為單個時鐘鐘周期3、 非易失性性程序和數(shù)據(jù)據(jù)存儲器(a)16K 字節(jié)的系統(tǒng)統(tǒng)內(nèi)可編程 Flashh擦寫壽命: 10,0000 次(b) 具有獨(dú)獨(dú)立鎖定位的的可選Booot 代碼區(qū)區(qū)通過片上BBoot 程程序?qū)崿F(xiàn)系統(tǒng)統(tǒng)內(nèi)編程真正正的同時讀寫寫操作(c)512 字節(jié)的EEPPROM擦寫寫

25、壽命: 1100,0000 次(d)1K 字字節(jié)的片內(nèi)SSRAM(e)可以對鎖鎖定位進(jìn)行編編程以實現(xiàn)用用戶程序的加加密4、 JTAGG 接口( 與IEEE 1149.1標(biāo)準(zhǔn)兼容容 )(a)符合JTTAG標(biāo)準(zhǔn)的的邊界掃描功功能(b)支持?jǐn)U展展的片內(nèi)調(diào)試試功能(c)通過JTTAG接口實實現(xiàn)對 Fllash、EEPROOM、熔絲位位和鎖定位的的編程5、 外設(shè)特點(diǎn)點(diǎn)(a)兩個具有有獨(dú)立預(yù)分頻頻器和比較器器功能的8 位定時器/計數(shù)(b)一個具有有預(yù)分頻器、比比較功能和捕捕捉功能的116 位定時時器/計數(shù)(c)具有獨(dú)立立振蕩器的實實時計數(shù)器RRTC(d)四通道PPWM(e)8路 110 位ADC8 個單端

26、通道道TQFP 封裝的7 個差分通通道2個具有可編編程增益(1x, 110 x, 或或200 x)的的差分通道(f)面向字節(jié)節(jié)的兩線接口口(g) 兩個可可編程的串行行USARTT(h) 可工作作于主機(jī)/從機(jī)模式 SSPI串行接接口(i) 具有獨(dú)獨(dú)立片內(nèi)振蕩蕩器的可編程程看門狗定時時器(j) 片內(nèi)模模擬比較器6、 特殊的處處理器特點(diǎn)(a)上電復(fù)位位以及可編程程的掉電檢測測(b)片內(nèi)經(jīng)過過標(biāo)定的RCC 振蕩器(c)片內(nèi)/片片外中斷(d)6種睡眠眠模式 : 空 ADC噪聲聲抑制模式、省省電模式、掉掉電模式、SStandbby 、式以擴(kuò)展的的Standdby 模式式7、 I/O和和封裝(a)32 個個

27、可編程的II/O口(b)40 引引腳PDIPP封裝 , 444 引腳 TQFFP 封裝,與 44 引腳腳MLF封裝8、 工作電壓壓:(a)ATmeega16LL:2.7 - 5.5VV(b)ATmeega16:4.5 - 5.5VV9、速度等級(a)0 - 8 MHzz ATmeega16LL(b)0 - 16 MHHz ATmmega16610、 ATmmega166L在 1 MHHz, 3VV, 25 CC時的功耗(a)正常模式式: 1.11 mA(b)空 : 0.35 mA(c)掉電模式式: 11 A2.2 引腳腳配置ATmega116是基于增增強(qiáng)的AVRRRISC結(jié)結(jié)構(gòu)的低功耗耗8位C

28、MOS微控控制器。由于于其先進(jìn)的指指令集以及單單時鐘周期指指令執(zhí)行時間間,ATmeega16 的數(shù)據(jù)吞吐吐率高達(dá) 11MIPS MHz,從從而可以緩減減系統(tǒng)在功耗耗和處理速度度之間的矛盾盾。ATMAAGE16引引腳分布如圖圖2.1所示。AVR 內(nèi)核具具有豐富的指指令集和 332 個通用用工作寄存器器。所有的寄寄存器都直接接與算邏單元元(ALU) 相連接,使使得一條指令令可以在一個個時鐘周期內(nèi)內(nèi)同時訪問兩兩個獨(dú)立的寄寄存器。這種種結(jié)構(gòu)大大提提高了代碼效效率,并且具具有比普通的的 CISCC微控制器最最高至 100倍的數(shù)據(jù)吞吞吐率。ATTmega116 有如下下特點(diǎn) 166K字節(jié)的系系統(tǒng)內(nèi)可編程程

29、Flashh(具有同時時讀寫的能力力,即RWWW),圖2.1 ATTMAGE116引腳分布布AVR 內(nèi)核具具有豐富的指指令集和 332 個通用用工作寄存器器。所有的寄寄存器都直接接與算邏單元元(ALU) 相連接,使使得一條指令令可以在一個個時鐘周期內(nèi)內(nèi)同時訪問兩兩個獨(dú)立的寄寄存器。這種種結(jié)構(gòu)大大提提高了代碼效效率,并且具具有比普通的的 CISCC微控制器最最高至 100倍的數(shù)據(jù)吞吞吐率。ATTmega116 有如下下特點(diǎn) 166K字節(jié)的系系統(tǒng)內(nèi)可編程程Flashh(具有同時時讀寫的能力力,即RWWW),512 字節(jié)節(jié) EEPRROM,1K字節(jié) SRAAM,32 個通用用I/O 口線線,32 個

30、通用用工作寄存器器,用于邊界界掃描的 JJTAG 接接口,支持片片內(nèi)調(diào)試與編編程,三個具具有比較模式式的靈活的定定時器/計數(shù)(T/CC),片內(nèi)/外中斷,可可編程 USSART,有有起始條件檢檢測器的通用串行接接口,8路10位具有可可選差分輸入入級可編程增增益 (TQQFP 封裝裝 ) 的 ADC ,具有片內(nèi)內(nèi)振蕩器的可可編程看門狗狗定時器,一一個 SPII串行端口,以以及六個可以以通過軟件進(jìn)進(jìn)行選擇的省省電模式。 工作于空閑閑模式時 CCPU 停止止工作,而 USARTT、兩線接口口、 A/DD 轉(zhuǎn)換器、 SSRAM、 T/C、 SPI 端口以及中中斷系統(tǒng)繼續(xù)續(xù)工作;掉電電模式時晶體體振蕩器停

31、止止振蕩,所有有功能除了中中斷和硬件復(fù)復(fù)位之外都停停止工作;在在省電模式下下,異步定時時器繼續(xù)運(yùn)行行,允許用戶戶保持一個時時間基準(zhǔn),而而其余功能模模塊處于休眠眠狀態(tài);ADDC噪聲抑制制模式時終止止CPU 和除除了異步定時時器與ADCC以外所有 II/O 模塊塊的工作,以以降低 ADDC 轉(zhuǎn)換時時的開關(guān)噪聲聲; Staandby 模式下只有有晶體或諧振振振蕩器運(yùn)行行,其余功能能模塊處于休休眠狀態(tài),使使得器件只消消耗極少的電電流,同時具具有快速啟動動能力;擴(kuò)展展 Stanndby 模模式下則允許許振蕩器和異異步定時器繼繼續(xù)工作。本本芯片是以 Atmell 高密度非非易失性存儲儲器技術(shù)生產(chǎn)產(chǎn)的。片內(nèi)

32、 ISP FFlash 允許程序存存儲器通過 ISP 串串行接口,或或者通用編程程器進(jìn)行編程程,也可以通通過運(yùn)行于 AVR 內(nèi)內(nèi)核之中的引引導(dǎo)程序進(jìn)行行編程。引導(dǎo)導(dǎo)程序可以使使用任意接口口將應(yīng)用程序序下載到應(yīng)用用Flashh存儲區(qū)(AppplicaationFFlash Memorry)。在更更新應(yīng)用Fllash存儲儲區(qū)時引導(dǎo)FFlash區(qū)區(qū)(Boott Flassh Memmory)的的程序繼續(xù)運(yùn)運(yùn)行,實現(xiàn)了了 RWW 操作。 通過 8 位 RISCC CPU 與系統(tǒng)內(nèi)可可編程的 FFlash 集成在一個個芯片內(nèi), ATmegga16 成成為一個功能能強(qiáng)大的單片片機(jī),為許多多嵌入式控制制應(yīng)用

33、提供了了靈活而低成成本的解決方方案。3DS18BB20的設(shè)計計本章介紹了系統(tǒng)統(tǒng)軟件設(shè)計,并并具體介紹了了實現(xiàn)和調(diào)試試的方法,以以及分布式溫溫度采集系統(tǒng)統(tǒng)的通信流程程和DS188B20溫度度測量軟件的的設(shè)計思路、DS18B20工作的時序問題。3.1 總體體通信流程及及通信協(xié)議總體通信流程體體現(xiàn)在PC機(jī),單片片機(jī)主機(jī)及各各從機(jī)的通信信,信號接受受及發(fā)送,這這個設(shè)計中,通通信協(xié)議是一一個非常重要要也很復(fù)雜的的部分,在由由PC 機(jī)與單單片機(jī)組成的的系統(tǒng)中,常常要涉及通信信問題,如果果沒有統(tǒng)一的的通信協(xié)議,PC機(jī)與單片機(jī)之間的 HYPERLINK /view/1527.htm 信息傳遞就無法識別。通信協(xié)

34、議是指通通信各方事前前約定規(guī)則,我們可以簡簡單地理解為為各計算機(jī)之之間進(jìn)行相互互會話所使用用的共同語言言.PC機(jī)與單單片機(jī)在進(jìn)行行通信時,必須使用的的通信協(xié)議。首先,在設(shè)計中中自定義幾個個數(shù)據(jù)通信協(xié)協(xié)議,如下問問提到的“aa”、“b”、“c”、“d”、“g”、“h”。這些些協(xié)議一旦定定義,在后面面的執(zhí)行過程程中就代表了了固定的含義義,不再改變變,PC機(jī)、單片片機(jī)、從機(jī)都都靠識別這個個協(xié)議來執(zhí)行行程序,發(fā)送送一個字節(jié)的的數(shù)據(jù),接受受幾個字節(jié)的的數(shù)據(jù),所有有的數(shù)據(jù)協(xié)議議全都建立在在這2個操作方法法上。本設(shè)計中自定義義“a”為PC機(jī)與單片片機(jī)主機(jī)間的的數(shù)據(jù)協(xié)議,意意思為要求主主機(jī)發(fā)送一號號從機(jī)的溫度

35、度給PC機(jī);自定義“b”為為PC機(jī)與單片片機(jī)主機(jī)間的的數(shù)據(jù)協(xié)議,意意思為要求主主機(jī)發(fā)送二號號從機(jī)的溫度度給PC機(jī);自定義“c”為為從機(jī)與主機(jī)機(jī)間的數(shù)據(jù)協(xié)協(xié)議,它代表表從機(jī)向主機(jī)機(jī)發(fā)送完四位位當(dāng)前采集的的溫度,這里里一號從機(jī)和和二號從機(jī)采采集的溫度,都都定義為“cc”;自定義“d”為為PC機(jī)與單片片機(jī)主機(jī)之間間的數(shù)據(jù)協(xié)議議,意思為開開始和完成命命令的信號;自定義“g”為為一號從機(jī)和和單片機(jī)主機(jī)機(jī)之間的數(shù)據(jù)據(jù)協(xié)議,意思思為主機(jī)表示示要采集一號號從機(jī)的溫度度數(shù)據(jù),一號號從機(jī)要求單單片機(jī)主機(jī)準(zhǔn)準(zhǔn)備接收;自定義“h”為為二號從機(jī)和和單片機(jī)主機(jī)機(jī)之間的數(shù)據(jù)據(jù)協(xié)議,意思思為主機(jī)表示示要采集二號號從機(jī)的溫度度

36、數(shù)據(jù),二號號從機(jī)要求單單片機(jī)主機(jī)準(zhǔn)準(zhǔn)備接收。具體流程如下:1、PC機(jī)向單單片機(jī)主機(jī)發(fā)發(fā)送“d”:這步是流程的開開始,PC機(jī)向單片片機(jī)主機(jī)發(fā)送送數(shù)據(jù)協(xié)議,要要求主機(jī)把接接收的溫度發(fā)發(fā)送給PC機(jī)顯示;2、單片機(jī)主機(jī)機(jī)向一號從機(jī)機(jī)發(fā)送“g”:單片機(jī)主機(jī)在接接收到PC機(jī)發(fā)送的的“d”信號后后,會立即向向一號從機(jī)發(fā)發(fā)送“g”,要求求一號從機(jī)采采集溫度并且且將溫度發(fā)回回單片機(jī)主機(jī)機(jī);3、一號從機(jī)回回發(fā)“g”:一號從機(jī)接收到到單片機(jī)主機(jī)機(jī)的命令后,會會立即向單片片機(jī)主機(jī)回發(fā)發(fā)信號,要求求單片機(jī)主機(jī)機(jī)做好接收準(zhǔn)準(zhǔn)備;4、向主機(jī)發(fā)送送四位當(dāng)前采采集的溫度,并并回發(fā)發(fā)送完完成標(biāo)記“cc”;一號從機(jī)回發(fā)信信號后,向

37、主主機(jī)發(fā)送四位位采集的溫度度,這個溫度度在前文已提提到標(biāo)記為“cc”;5、主機(jī)發(fā)送“hh”給2號從機(jī):主機(jī)在接收到一一號從機(jī)發(fā)來來的“c”命令后后,會立刻發(fā)發(fā)送“h”信號給給二號從機(jī),表表示要采集二二號從機(jī)的數(shù)數(shù)據(jù);6、2號從機(jī)回回發(fā)“h”:二號從機(jī)接收到到單片機(jī)主機(jī)機(jī)的命令后,會會立即向單片片機(jī)主機(jī)回發(fā)發(fā)信號,要求求單片機(jī)主機(jī)機(jī)做好接收準(zhǔn)準(zhǔn)備; 7、向主機(jī)發(fā)送送四位當(dāng)前采采集的溫度,并并回發(fā)發(fā)送完完成標(biāo)記“cc”:二號從機(jī)向單片片機(jī)主機(jī)回發(fā)發(fā)完信號后,向向主機(jī)發(fā)送四四位當(dāng)前采集集的溫度,這這個溫度標(biāo)記記為“c”;8、主機(jī)發(fā)送“dd”給PC機(jī):單片機(jī)主機(jī)在接接收到二號從從機(jī)發(fā)送來的的信號后,立

38、立刻發(fā)送信號號給PC機(jī),表示示完成PC機(jī)的前一一指令;9、PC發(fā)送“aa”給主機(jī):PC機(jī)在接收到到單片機(jī)主機(jī)機(jī)發(fā)送的信號號后,發(fā)送新新一個指令給給單片機(jī)主機(jī)機(jī),要求單片片機(jī)主機(jī)發(fā)送送一號從機(jī)采采集的溫度數(shù)數(shù)據(jù);10、主機(jī)將一一號從機(jī)溫度度數(shù)據(jù)發(fā)送給給PC機(jī):單片機(jī)主機(jī)接收收到PC機(jī)的命令令后將一號從從機(jī)發(fā)送過來來的四位當(dāng)前前溫度數(shù)據(jù)轉(zhuǎn)轉(zhuǎn)換成ASCCII碼后,發(fā)發(fā)送給PC機(jī),因為為PC機(jī)只能讀讀取ASCIII碼;11、PC機(jī)發(fā)發(fā)送“b”給主機(jī)機(jī):PC機(jī)接收到單單片機(jī)主機(jī)發(fā)發(fā)送的即時溫溫度后會立即即發(fā)送另一指指令給單片機(jī)機(jī)主機(jī),要求求單片機(jī)主機(jī)機(jī)發(fā)送二號從從機(jī)采集的溫溫度數(shù)據(jù);12、主機(jī)將二二號從

39、機(jī)溫度度數(shù)據(jù)發(fā)送給給PC機(jī),發(fā)送送完成后,返返回(1):單片機(jī)主機(jī)接收收到PC機(jī)的命令令后將二號從從機(jī)發(fā)送過來來的四位當(dāng)前前溫度數(shù)據(jù)同同樣也轉(zhuǎn)換成成ASCIII碼后,發(fā)送送給PC機(jī)。此時時一個完整過過程結(jié)束,將將返回(1)開始另一一輪采集。3.2 DSS18B200溫度測量軟軟件的設(shè)計由于DS18BB20 單線線通信功能是是分時完成的的,它有嚴(yán)格格的時隙概念念,因此讀寫寫時序很重要要。系統(tǒng)對DDS18B220的各種操操作必須按協(xié)協(xié)議進(jìn)行。操操作協(xié)議為:初始化DSS18B200(發(fā)復(fù)位脈脈沖)發(fā)ROM 功能能命令發(fā)存儲器操操作命令處理數(shù)據(jù)。主主機(jī)控制DSS18B200完成溫度轉(zhuǎn)轉(zhuǎn)換的程序必必須經(jīng)

40、過3個步驟:初初始化、ROOM操作指令令、存儲器操操作指令。假假設(shè)單片機(jī)系系統(tǒng)所用的晶晶振頻率為112MHz,根根據(jù)DS188B20的初初始化時序、寫寫時序和讀時時序,分別編編寫3個子程序:INIT為初初始化子程序序,WRITTE 為寫(命命令或數(shù)據(jù))子子程序,REEAD為讀數(shù)數(shù)據(jù)子程序,所所有的數(shù)據(jù)讀讀寫均由最低低位開始。主主程序的主要要功能是負(fù)責(zé)責(zé)溫度的實時時顯示、讀出出并處理DSS18B200的測量溫度度值,溫度測測量每1s 進(jìn)行一次,流流程圖如圖33.1所示 。讀出溫度子程序序的主要功能能是讀出RAAM中的9個字節(jié),在在讀出時需進(jìn)進(jìn)行CRC 校驗,校驗驗有錯時不進(jìn)進(jìn)行溫度數(shù)據(jù)據(jù)的改寫,

41、其其程序流程圖圖如圖3.22所示。從DS18B220讀取出的的二進(jìn)制值必必須先轉(zhuǎn)換成成十進(jìn)制值,才才能用于字符符的顯示。因因為DS188B20的轉(zhuǎn)轉(zhuǎn)換精度為9912 位可選選,為了提高高精度采用112位。在采采用12位轉(zhuǎn)換精精度時,溫度度寄存器里的的值是以0.0625為為步進(jìn)的,即即溫度值為溫溫度寄存器里里的二進(jìn)制值值乘以0.00625,就就是實際的十十進(jìn)制溫度值值。3.3 多機(jī)機(jī)通信軟件的的設(shè)計ATMAGE116單片機(jī)有有串行發(fā)送緩緩沖器接收收緩沖器(SSBUF)、串串行口控制寄寄存器(SCCON)、特特殊功能寄存存器(PCOON)。通過過設(shè)置SCOON可以有四四種工作方式式,其中工作作方式

42、2、3 適用于多多機(jī)通信。在在串行通信前前,通過程序序預(yù)先將各從從機(jī)串行口設(shè)設(shè)置為方式22或方式3,并使SM22和REN(允許許串行接收控控制位)為1,允許串行行口中斷。主主機(jī)與從機(jī)通通信時,將SSM2置0,準(zhǔn)備接收收數(shù)據(jù),否則則維持SM22為1,這樣在主主機(jī)發(fā)送數(shù)據(jù)據(jù)時(此時主機(jī)發(fā)發(fā)送數(shù)據(jù)中第第9 位為0),只有地地址相符的從從機(jī)可接收數(shù)數(shù)據(jù),圖3.1 DSS18B200溫度主程序序流程圖 圖圖3.2 讀出溫度子子程序流程圖圖其余從機(jī)對數(shù)據(jù)據(jù)信息不予理理睬,從而可可以實現(xiàn)多機(jī)機(jī)通信集散型型控制系統(tǒng)將將各控制單元元分散到現(xiàn)場場各控制點(diǎn)。從從機(jī)主程序和和串行口中斷斷服務(wù)程序如如圖3.3所示。 P

43、C 機(jī)與與單片機(jī)的串串口通信中,ATMAGE16單片機(jī)的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ù)等待。其中軟件編寫要嚴(yán)格按照異步通信的時序進(jìn)行。圖3.3 從機(jī)機(jī)主程序和串串行口中斷服服務(wù)程序3.4 DSS18B200工作時序問問題DS18B200的一線

44、工作作協(xié)議流程是是:初始化ROM操作作指令存儲器操作作指令數(shù)據(jù)傳輸。其其工作時序包包括初始化時時序、寫時序序和讀時序。 主機(jī)即單片機(jī)首首先發(fā)4800us960uss的低電平,進(jìn)進(jìn)行復(fù)位,然然后釋放總線線,之后總線線被外部上拉拉電阻電阻抬抬高,大約等等待15660us之后后,DS188B20發(fā)出出60到240uss的低電平信信號,以示存存在,至此初初始化結(jié)束。 寫“0“的時候,首先單片機(jī)發(fā)復(fù)位信號,然后發(fā)“0”于是低電平持續(xù)60us就完成了寫“0”寫“1”的時候首先單片機(jī)發(fā)復(fù)位信號,持續(xù)時間大于1us小于15us然后發(fā)“1”持續(xù)50us以上即可。 讀時序也是主機(jī)先發(fā)低電平,然后在15us內(nèi)檢測連

45、接DS18B20的數(shù)據(jù)線的引腳,從而讀得相應(yīng)值。4 電路的設(shè)設(shè)計本章分析了分布布式溫度采集集系統(tǒng)的各主主要功能模塊塊的設(shè)計與實實現(xiàn),具體包包括溫度測量量電路模塊和和串口通信電電路模塊。4.1 溫度度測量電路的的設(shè)計溫度測量采用DDS18B220 數(shù)字式式溫度傳感器器。由DS118B20 構(gòu)成的智能能溫度測量裝裝置由三部分分組成:DSS18B200 溫度傳感感器、ATMMAGE166、顯示模塊塊。產(chǎn)品的主主要技術(shù)指標(biāo)標(biāo):測量范圍:-55+125,測量精度:0.5,反應(yīng)時間5500ms。為為了達(dá)到更高高的精度,則則在對DSll8B20測測溫原理進(jìn)行行詳細(xì)分析的的基礎(chǔ)上,采采取直接讀取取DSl8BB

46、20內(nèi)部暫暫存寄存器的的方法,將DDSl8B220 的測溫溫分辨率提高高到0.0110.1,DSl8BB20內(nèi)部暫暫存寄存器的的分布如表44-1所列,其其中第7字節(jié)存放的的是當(dāng)溫度寄寄存器停止增增值時計數(shù)器器l的計數(shù)剩余余值,第8字節(jié)存放的的是每度所對對應(yīng)的計數(shù)值值。這樣,就就可以通過下下面的方法獲獲得高分辨率率的溫度測量量結(jié)果。表4-1 DS18BB20內(nèi)部暫暫存器序號寄存器名稱作用序號寄存器名稱0溫度低字節(jié)以16位補(bǔ)碼形形式存放4、5保存字節(jié)1、221溫度高字節(jié)6計數(shù)器余值2TH/用戶字節(jié)節(jié)1存放溫度上限7計數(shù)器/3HL/用戶字節(jié)節(jié)2存放溫度下限8CRC基于DS18BB20的溫度度測量裝置

47、電電路圖如圖44.1所示:圖4.1 溫度度測量電路溫度傳感器DSS18B200將被測環(huán)境境溫度轉(zhuǎn)化成成帶符號的數(shù)數(shù)字信號(以以十六位補(bǔ)碼碼形式,占兩兩個字節(jié)),傳傳感器可置于于離裝置1550米以內(nèi)的任何何地方,輸出出腳I/O直接與與單片機(jī)的PP1.1 相相連,R1為上拉電電阻,傳感器器采用外部電電源供電。AATMAGEE16 是整整個裝置的控控制核心,AATMAGEE16內(nèi)帶1K字節(jié)的FlaashROMM,用戶程序序存放在這里里。顯示器模模塊由四位一一體的共陽數(shù)數(shù)碼管和4個9012組成成。系統(tǒng)程序序分傳感器控控制程序和顯顯示器程序兩兩部分,傳感感器控制程序序是按照DSS18B200的通信協(xié)議議

48、編制。系統(tǒng)統(tǒng)的工作是在在程序控制下下,完成對傳傳感器的讀寫寫和對溫度的的顯示。4.2 串口口通信電路的的設(shè)計為了增加單片機(jī)機(jī)多機(jī)通信的的距離,該部部分電路采用用RS2322標(biāo)準(zhǔn)接口,通通信距離可以以達(dá)到15米;如果采用用RS4222 或是RS4885 接口,通通信距離會更更遠(yuǎn)。多機(jī)通通信接口原理理圖見圖1 。在數(shù)據(jù)傳傳輸過程中采采用的是RSS232 電電平,提高了了抗干擾能力力。需要在主主機(jī)串行接口口和從機(jī)串行行接口進(jìn)行電電平轉(zhuǎn)換:TTTL-RSS232-TTTL。這都都是用MAXX232 接接口芯片實現(xiàn)現(xiàn)的,具體的的電路如圖44.2所示。圖4.2 TTTL-RSS232-TTTL電平轉(zhuǎn)轉(zhuǎn)換電

49、路通信電路是本設(shè)設(shè)計的重要組組成部分,負(fù)責(zé)溫度數(shù)數(shù)據(jù)的采集和和數(shù)據(jù)的上傳傳。包括單片片機(jī)多機(jī)串口口通信電路,PC 機(jī)與與ATMAGGE16的串串口通信電路路。其中主單單片機(jī)ATMMAGE166既要和從機(jī)機(jī)通信,還要負(fù)責(zé)將將數(shù)據(jù)通過串串口發(fā)送到PPC機(jī)上。而而ATMAGGE16 單單片機(jī)只有一一個串行通信信口,這就需需要用硬件或或是軟件擴(kuò)展展一個串行通通信口。本設(shè)設(shè)計采用一種種用單片機(jī)普普通I/O口和相相應(yīng)軟件實現(xiàn)現(xiàn)串行通信的的方法。5 分布式溫溫度采集系統(tǒng)統(tǒng)設(shè)計數(shù)字式傳感器一一般采用單總總線技術(shù)(11-WIREEBUS),即即在單片機(jī)或或計算機(jī)接口口中只用一根根導(dǎo)線(輸入入/ 輸出信號號線),

50、美國國Dallaas公司最新新推出的1-WireBBus數(shù)字式式溫度傳感器器DS18BB20,與傳傳統(tǒng)的溫度傳傳感器不同,它它能夠直接讀讀出被測溫度度,并且可根根據(jù)實際要求求通過簡單的的編程實現(xiàn)9912位的數(shù)字字值讀數(shù)方式式,可以分別別在93.775ms 和和750mss內(nèi)將溫度值值轉(zhuǎn)化為9 位和12位的數(shù)字字量,對應(yīng)的的可分辨溫度度分別為0.5、0.25、0.1255和0.06225;為實現(xiàn)與與PC機(jī)串口長長距離數(shù)據(jù)通通信,系統(tǒng)采采用了RS2232 串行行接口,通信信距離可以達(dá)達(dá)到15m,如果果采用RS4422或RS4855串行接口可可以達(dá)到10000m。串串口通信由PPC機(jī)與單片片機(jī)的通信

51、和和單片機(jī)多機(jī)機(jī)通信組成,每每個從機(jī)負(fù)責(zé)責(zé)溫度的測量量然后通過多多機(jī)通信把溫溫度數(shù)據(jù)發(fā)送送到主單片機(jī)機(jī)上,最后PPC機(jī)通過VB程序控制制串口把主單單片機(jī)上的所所有溫度數(shù)據(jù)據(jù)收集起來。系系統(tǒng)框圖如圖圖5.1所示。圖5.1 系統(tǒng)統(tǒng)框圖6 ICCAAVR制作環(huán)環(huán)境及介紹本章介紹了ICCCAVR的的制作環(huán)境,ICCAVR 中的文件類型及其文件的擴(kuò)展名、附注和擴(kuò)充,并介紹了IAR 或其它ANSI C 編譯系統(tǒng)的代碼轉(zhuǎn)換。6.1 ICCCAVR 介紹本節(jié)主要介紹了了ICCAVVR文件的基基本特點(diǎn)、類類型、擴(kuò)展名名等。6.1.1 ImageeCraftt 的ICCAVVR 介紹ImageCrraft 的的I

52、CCAVVR 是一種種使用符合AANSI 標(biāo)標(biāo)準(zhǔn)的C 語言來開開發(fā)微控制器器(MCU)程序的一個個工具,它有以下幾幾個主要特點(diǎn)點(diǎn):ICCAVR 是一個綜合合了編輯器和和工程管理器器的集成工作作環(huán)境(IDDE),其可可在WINDDOWS9XX/NT 下下工作。源文件全部被組組織到工程之之中,文件的的編輯和工程程的構(gòu)筑也在在這個環(huán)境中中完成。編譯譯錯誤顯示在在狀態(tài)窗口中中,并且當(dāng)你你用鼠標(biāo)單擊擊編譯錯誤時時,光標(biāo)會自自動跳轉(zhuǎn)到編編輯窗口中引引起錯誤的那那一行。這個個工程管理器器還能直接產(chǎn)產(chǎn)生您希望得得到的可以直直接使用的IINTEL HEX 格格式文件,IINTEL HEX 格格式文件可被被大多數(shù)

53、的編編程器所支持持,用于下載載程序到芯片片中去。ICCAVR 是一個32 位的程序,支支持長文件名名。本論文并不介紹紹通用的C 語言語法知知識,僅介紹紹使用ICCC AVR 所必須具備備的知識。 6.1.2 ICCAVVR 中的文文件類型及其其擴(kuò)展名文件類型是由它它們的擴(kuò)展名名決定的,IIDE 和編編譯器可以使使用以下幾種種類型的文件件。輸入文件:.c 擴(kuò)展名表示示是C 語言源文文件.s 擴(kuò)展名表示示是匯編語言言源文件.h 擴(kuò)展名表示示是C 語言的頭頭文件.prj 擴(kuò)展展名表示是工程程文件,這個個文件保存由由IDE 所創(chuàng)創(chuàng)建和修改的的一個工程的的有關(guān)信息。.a 擴(kuò)展名庫文文件,它可以以由幾個庫

54、封封裝在一起。libcavr.a 是一個包含了標(biāo)準(zhǔn)C 的庫和AVR 特殊程序調(diào)用的基本庫。如果庫被引用,鏈接器會將其鏈接到您的模塊或文件中。您也可以創(chuàng)建或修改一個符合你需要的庫。輸出文件.s 對應(yīng)每個個C 語言源文文件,由編譯譯器在編譯時時產(chǎn)生的匯編編輸出文件。.o 由匯編文文件匯編產(chǎn)生生的目標(biāo)文件件,多個目標(biāo)標(biāo)文件可以鏈鏈接成一個可可執(zhí)行文件。.hex INNTEL HHEX 格式式文件,其中中包含了程序序的機(jī)器代碼碼。.eep INNTEL HHEX 格式式文件,包含含了EEPRROM 的初初始化數(shù)據(jù)。.cof COOFF 格式式輸出文件,用用于在ATMMEL 的AvrSttudio 環(huán)境

55、下進(jìn)行行程序調(diào)試。.lst 列表表文件,在這這個文件中列列舉出了目標(biāo)標(biāo)代碼對應(yīng)的的最終地址。.mp 內(nèi)存映映象文件 它包含了您您程序中有關(guān)關(guān)符號及其所所占內(nèi)存大小小的信息.cmd NooICE 22.xx 調(diào)調(diào)試命令文件件。.noi NooICE 33.xx 調(diào)調(diào)試命令文件件。.dbg ImmageCrraft 調(diào)調(diào)試命令文件件。6.1.3 附注和擴(kuò)充充#pragmaa (編譯附附注)這個編譯器接受受以下附注:#pragmaa inteerruptt_handdler : : .這個附注必須在在函數(shù)之前定定義,它說明明函數(shù)funnc1、func22 是中斷操操作函數(shù),所所以編譯器在在中斷操作函

56、函數(shù)中生成中中斷返回指令令reti 來代替普通通返回指令rret ,并并且保存和恢恢復(fù)函數(shù)所使使用的全部寄寄存器;同樣樣編譯器根據(jù)據(jù)中斷向量號號vectoor nummber 生生成中斷向量量地址。#pragmaa ctassk 這個附注指定了了函數(shù)不生成成揮發(fā)寄存器器來保存和恢恢復(fù)代碼,它它的典型應(yīng)用用是在RTOOS實時操作作系統(tǒng)中讓RRTOS 核核直接管理寄寄存器。#pragmaa textt:改變代碼段名稱稱,使其與命命令行選項相相適應(yīng)。#pragmaa dataa:改變數(shù)據(jù)段名稱稱,使其與命命令行選項相相適應(yīng)。這個個附注在分配配全局變量至至EEPROOM中時必須須被使用。#pragma

57、a abs_addreess:函數(shù)與全局?jǐn)?shù)據(jù)據(jù)不使用浮動動定位(重定定位),而是是從開始分配絕絕對地址。這這在訪問中斷斷向量和其它它硬件項目時時特別有用。#pragmaa end_abs_aaddresss結(jié)束絕對定位,使使目標(biāo)程序使使用正常浮動動定位。C+ 注釋如果你選擇了編編譯擴(kuò)充(PProjecct-Opptionss-Commpilerr),你可以以在你的源代代碼中使用CC +的 / 類型型的注釋。二進(jìn)制常數(shù)如果你選擇了編編譯擴(kuò)充(PProjecct-Opptionss-Commpilerr),你可以以使用0b* 來指定二二進(jìn)制常數(shù),例例如0b100101 等等于十進(jìn)制數(shù)數(shù)21。在線匯

58、編你可以使用assm(sttring)函數(shù)來指指定在線匯編編代碼。6.1.4 代碼轉(zhuǎn)換IAR 或其它它ANSI C 編譯系系統(tǒng)的代碼轉(zhuǎn)轉(zhuǎn)換IAR C 編編譯器作為應(yīng)應(yīng)用于AVRR 的第一個個C 編譯器,它它有十分豐富富的源代碼。當(dāng)當(dāng)你從IARR編譯系統(tǒng)轉(zhuǎn)轉(zhuǎn)換到ImaageCraaft 編譯譯系統(tǒng)時,絕絕大多數(shù)符合合ANSI C標(biāo)準(zhǔn)的程程序代碼不需需要轉(zhuǎn)換,IIAR C 中IO 寄存器器的定義與IICCAVRR 也是相同同的。中斷操作描述,ICCAVR 使用pragma 附注描述中斷操作函數(shù),而IAR 引入了語法擴(kuò)充(interrupt 關(guān)鍵字),下面是一個對照:在 ICCAVVR 中:#pra

59、gmaa inteerruptt_handdler ffunc:44 / 44 是這個中中斷的向量號號,funcc 為中斷處處理函數(shù)名稱稱,ICCAAVR 可以以使多個中斷斷向量共用一一個中斷處理理函數(shù)。在 IAR 中中:interruupt vvectorr_namee funnc() / vecctor_nname 是是某一個中斷斷向量的名稱稱,IAR C 的中斷斷向量地址使使用中斷名稱稱來代替,以以增加程序的的可讀性。擴(kuò)充關(guān)鍵字IAR 引入fflash 關(guān)鍵字將項項目分配進(jìn)入入程序存貯空空間(FLAASH 存貯貯器),ICCCAVR 使用consst 關(guān)鍵字字來達(dá)到相同同的目的。過程調(diào)用

60、轉(zhuǎn)換在兩個編譯系統(tǒng)統(tǒng)之間函數(shù)參參數(shù)傳遞使用用的寄存器是是不同的,這這僅影響手工工寫的匯編函函數(shù)。在線匯編、宏等等,IAR 不支持在線線匯編符號,而而ICCAVVR 支持在在線匯編。6.2 ICCCAVR 向?qū)ё阅銌?IDDE 后,首首先從Prooject 菜單系統(tǒng)選選擇Openn 命令,進(jìn)進(jìn)入icccexammples.avr 目目錄并且選擇擇并打開“l(fā)led”工程程,工程管理理器顯示在這這個工程中只只有一個文件件led.cc。 然后從Prooject 菜單中選擇擇Optioons 命令令打開工程編編譯選項,在在Targget標(biāo)號號下選擇目標(biāo)標(biāo)處理器。然然后從Prooject 菜單中選擇擇M

溫馨提示

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

最新文檔

評論

0/150

提交評論