《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > ATmega128在開發應用中應注意的問題

ATmega128在開發應用中應注意的問題

2009-08-24
作者:王少卿 霍迎輝

  摘? 要: ATmega128是一種與51系列不同的單片機,本文應用ICCAVR和pony prog2000作為主要開發工具,通過分析其在開發過程中特殊的開發方法,從而達到更好地掌握和使用ATmega128的目的。

  關鍵詞: ATmega128? 單片機

?

  ATmega128是AVR系列中功能最強的單片機,具有如下主要特點:

  (1)先進的RISC精簡指令集結構:ATmega128具有133條功能強大的指令,大部分指令在單時鐘周期內執行;有32b×8個通用工作寄存器;片內帶有執行時間為2個時鐘周期的硬件乘法器。

  (2)非易失性程序和數據存儲器:ATmega128具有128KB在線可重復編程Flash、4KB的E2PROM以及4KB內部SRAM。在其BOOT區具有獨立的加密位,可通過片內的引導程序實現在系統編程,寫操作時真正可讀。

  (3)具有JTAG接口:通過JTAG接口對Flash、E2PROM熔絲位和加密位編程。

  (4)增強的硬件功能:ATmega128具有2個帶預分頻器和一種比較模式的8位定時/計數器;2個擴充的帶預分頻器和比較模式、捕獲模式的16位定時/計數器;獨立振蕩器的實時計數器;2通道8位PWM;6通道2~16位精度PWM;8通道10位A/D轉換;輸出比較調節器;8個單端通道;7個微分通道;2個增益為1x、10x或200x的微分通道;二線(I2C)串行接口;2路可編程串行UART接口;主/從SPI串 行接口;帶內部振蕩器的可編程看門狗定時器等。

  (5)獨有的特點:上電復位和可編程的低電壓檢測;內部可校準的RC振蕩器;5種睡眠模式,即空閑模式、ADC噪聲抑制模式、省電模式、掉電模式、待命模式和擴展待命模式;可通過軟件選擇時鐘頻率;通過1個熔絲選定ATmega103兼容模式;全局上拉禁止。

  筆者通過使用ATmega128單片機,總結出在使用ATmega128過程中應注意的問題,希望能給即將使用該單片機的讀者提供有用的信息。

1?ATmega128的開發工具及其應注意問題

  隨著用戶對編譯器的要求越來越高,開發商也在不斷地提高編譯器對用戶的方便程度。目前的大趨勢是從用匯編語言開發單片機發展到用C語言開發。筆者在對開發ATmega128編譯器的選擇時,考慮到時間上的局限以及開發的方便性等問題,最終選擇了ImageCraft的ICCAVR工具。

  ICCAVR是一種使用符合ANSI標準的C語言開發微控制器程序的工具。它集合了編譯器和工程管理器的集成工作環境(IDE),可以編譯生成INTEL HEX格式文件。

  ICCAVR和人們通常所用的編譯器的使用的方法大同小異,故本文不再詳述。本文主要對使用中應當注意的問題作一介紹。

????(1)該編譯器在設置中有一項“Return Stack Size”,默認值為16,但在程序量很大而且子函數較多的情況下,該默認值就不適合了,編譯時會出錯。碰到這種情況建議將該選項的值改大。

????(2)在經過一段時間的使用后,發現該編譯器對C語言的編譯效率不是很理想。但設置當中有一編譯優化選擇項“Enable Code Compression”,使用它在一定情況下可以減少程序所占的空間。不過當程序在“default”編譯優化選擇的情況下所占的程序空間達到95%以上時,使用“Enable Code Compression”編譯就會出錯。所以筆者認為,雖然ATmega128具有128KB的程序空間,但在使用過程中也應當考慮到數據結構方面的問題。

  應用ICCAVR生成hex文件以后,下一步就是將hex文件燒錄到ATmega128中去。筆者選用的軟件是PonyProg2000。這是一款操作簡單但功能強大的燒錄軟件,它支持包括AVR、PIC在內的多種單片機型。作者是通過PC機的并口以串行方式連接到ATmega128的JTAG接口的。在燒錄的整個過程當中,最關鍵的問題是芯片晶振的選擇以及熔絲的配置。晶振的選擇較為簡單,只要注意使用外部晶振還是內部晶振,并設置好相應的選項就可以了。由于ATmega128具有IAP(應用中編程)及用戶可以在應用程序中對Flash塊、加密位等實現擦除和編程等操作功能,而熔絲位的設置正是實現IAP功能的必要條件,因此可以通過ATmega128的用戶手冊再根據自己需要的實際情況來進行設置。正確的晶振和熔絲設置都是必不可少的,否則不能正確下載。這一步非常重要應特別注意,以免走彎路。下面介紹使用晶振和熔絲的設置方法。

  這里采用PonyProg2000中“configruation and security bits”菜單命令來進行設置,其界面如圖1所示。

?

  (1)晶振的設置方法

  菜單中CKSEL0~CKSEL3是設置晶振的選項。ATmega128由于有內部晶振,所以首先要確定是外部晶振還是內部晶振。表1給出了內、外部晶振的范圍。表2和表3給出了內、外部晶振頻率的設置方法。

  

?

  (2)熔絲位的設置方法

  通過JTAG接口來實現對熔絲的設置,只要設置好如圖1所示的相應位,就可以實現不同的功能。關于熔絲每一位的功能,首先需要說明的是,在對熔絲位進行設置時,如果讀出該位為“0”,說明該位已被設置;該位為“1”則未被設置。ATmega128中一共有3個字節是有關熔絲的設置。其中第1個字節只用到了低2位,分別是WDTON(看門狗始終開)和M103C(ATmega103兼容模式);第2個字節的低4位是CLK0~CLK3,高4位分別是SUT0、SUT1(啟動時間選擇)、BODEN(低功耗檢測使能)、BODLEVEL(低功耗檢測觸發程度);第3個字節的每一位分別是:BOOTRST(復位向量選擇)、BOOTSZ0、BOOTSZ1(BOOT區大小選擇)、EESAVE(芯片擦除過程中E2PROM內容保持)、CKOPT(選擇晶振操作)、SPIEN(串行下載程序使能,在PonyProg2000中沒有這一位是因為PonyProg2000本身通過串行下載程序,故不能修改)、JTAGEN(JTAG使能)、OCDEN(OCD使能,OCD即ON CHIP DEBUG)。

  ATmega128有6個位鎖位,其中BOOTLOCK12、BOOTLOCK11、BOOTLOCK02、BOOTLOCK01是關于BOOT區的4個位鎖位,而LOCK2和LOCK1則是熔絲位的位鎖位。可以通過設置熔絲位鎖位來選擇使用相應的功能。所以在使用熔絲位功能以前一定要先設置相應的“解鎖”,即將LOCK2和LOCK1都設置為“1”。

  若用ICCAVR來開發編譯軟件,再通過PonyProg2000將程序直接下載到ATmega128芯片中去,可以即時地將程序思想反映到要實現的功能上來,便于即時地修改程序中的錯誤,大大縮短產品的開發時間。

2?使用ATmega128芯片本身應注意的問題

  ATmega128和51系列單片機基本上是2種不同的開發方式,在筆者使用過程中,總結出了以下一些常見的但必須重視的問題。

  (1)管? 腳

  ATmega128具有豐富的管腳資源,一共有8個端口共53個I/O引腳,而且每一個I/O引腳都可以通過編程來設置輸入、輸出方式。ATmega128的每一個端口都有3個寄存器與之對應,現以PA口為例來說明管腳的設置。①方向寄存器DDRA。DDRA的每一位對應于PA口的1個I/O管腳,相應的位為1,則將該管腳設置為輸出引腳;為0則設置為輸入引腳。②是輸出寄存器PORTA。用來存放ATmega128輸出的數據。③輸入寄存器PINA,用來存放ATmega128輸入的數據。在對PA口進行具體操作時,首先應該設置好DDRA,然后根據DDRA來選用PORTA或者PINA(注意一定不要搞錯方向)。

  此外,ATmega128自帶輸入上拉電阻功能,通過設置即可以實現其功能。例如將PA口設為輸入口并且加上拉電阻,可以如下設置:

  DDRA=0x00;  //將PA口設置為輸入端口

  PORA=0xff;  //將PA輸入口加上拉電阻

  (2)位操作的使用方法

  采用ICCAVR對ATmega128的位操作的使用方法比較麻煩,不像51系列那樣可以直接對某一個引腳進行置0或置1,而是要通過如下的方法進行位操作:

  如要對PA端口的第1位置1,則用C語言必須按PORTA|=(1<

  這樣就可以單獨對某一位操作而不影響其他位。位操作對其他寄存器也同樣適合,例如若要對某個口的幾位設為輸入,某幾位設為輸出,就可以通過上面的置1、置0方法來實現。

  (3)中? 斷

  ATmega128中斷資源豐富,一共有35個中斷源,在ICCAVR的iom128v.h頭文件中給出了這些中斷源對應的中斷向量表。當用到相應的中斷時,首先應設置好對應的中斷向量。用ICCAVR設置ATmega128中斷的方法與Keil51設置中斷的方法截然不同,例如若需要將ATmega128的串口0設置為中斷接收,就必須在程序中做如下設置:

  #pragma interrupt_handler uart0_rx_isr:iv_USART0_RXC

  否則程序不能中斷接收,延長開發過程。

  ATmega128作為一種功能強大的芯片,相信會在不同的領域發揮不同的作用,為此需要人們不斷地提高對ATmega128的認識。而且ATmega128與AVR等其他單片機如ATmega8、ATmega103、AT90S8535系列有相同的開發方法,掌握了ATmega128就可以在開發其他AVR類型的單片機時應用自如。

?

參考文獻

1? USA:Atmel Corporation.ATmega128(L)Datasheet,2001

2? 丁化成.AVR單片機應用設計.北京:北京航空航天大學出版社,2002

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美在线二区| 欧美绝品在线观看成人午夜影视| 亚洲尤物在线| 亚洲另类视频| 欧美日韩亚洲不卡| 亚洲视频精品| 中文精品视频| 亚洲国产高清在线观看视频| 好看的日韩av电影| 国产精品久久久久永久免费观看| 亚洲午夜在线| 国产精品一国产精品k频道56| 日韩亚洲综合在线| 久久久中精品2020中文| 国产精品久久国产精品99gif| 伊人精品久久久久7777| 国产综合激情| 一区二区三区精品视频| 欧美日韩不卡在线| 亚洲精品乱码| 久久九九99| 久久丁香综合五月国产三级网站| 亚洲国产二区| 国产欧美日韩精品专区| 亚洲欧美另类在线观看| 久久黄金**| 欧美日韩高清免费| 亚洲国产网站| 国产精品久久九九| 久久激情视频| 亚洲欧美视频在线| 99pao成人国产永久免费视频| 欧美国产另类| 久久久国产精品一区二区三区| 一区二区三区在线免费视频| 久久精品国产99国产精品| 国产精品sss| 最新高清无码专区| 亚洲乱码国产乱码精品精可以看| 欧美欧美天天天天操| 亚洲在线一区二区| 午夜在线成人av| 国产精品一区二区黑丝| 欧美成人一区二区三区片免费| 影音国产精品| 国产亚洲精品综合一区91| 亚洲一区制服诱惑| 国内精品伊人久久久久av影院| 亚洲小说欧美另类婷婷| 亚洲精品在线免费| 一区二区欧美亚洲| 亚洲欧美电影院| 欧美巨乳在线观看| 另类av导航| 裸体一区二区三区| 国产视频一区在线观看| 欧美黑人在线播放| 国产一区二区激情| 欧美人妖在线观看| 你懂的国产精品永久在线| 亚洲精品视频在线看| 亚洲电影免费观看高清完整版在线| 亚洲精品国产无天堂网2021| 麻豆精品在线观看| 亚洲免费中文字幕| 国产精品黄页免费高清在线观看| 中国亚洲黄色| 欧美日本中文字幕| 亚洲男人第一av网站| 国产精一区二区三区| 久久久夜精品| 一区二区三区在线免费播放| 久久久国产精品一区二区中文| 男男成人高潮片免费网站| 麻豆精品视频| 亚洲第一页中文字幕| 欧美尤物巨大精品爽| 久久人人九九| 国产一区二区精品| ●精品国产综合乱码久久久久| 欧美国产高潮xxxx1819| 欧美激情亚洲国产| 国产精品一区免费在线观看| 国产一区二区三区四区三区四| 久久嫩草精品久久久久| 亚洲一区二区三区四区中文| 国产一区二区三区免费观看| 亚洲欧美一级二级三级| 久久综合给合久久狠狠狠97色69| 美女精品一区| 久久综合色天天久久综合图片| 久热精品视频在线免费观看| 一区二区三区在线看| 小黄鸭精品密入口导航| 欧美一区二区在线| 在线视频中文亚洲| 一区二区三区回区在观看免费视频| 欧美特黄a级高清免费大片a级| 亚洲欧美日韩另类精品一区二区三区| 国产精品日本| 欧美一区三区三区高中清蜜桃| 99国产精品99久久久久久粉嫩| 欧美日韩中文在线观看| 亚洲自拍都市欧美小说| 欧美精品亚洲一区二区在线播放| 亚洲少妇在线| 欧美成人午夜77777| 久久久国产一区二区| 国产日韩在线一区| 亚洲最黄网站| 久久精视频免费在线久久完整在线看| 欧美精品在线看| 91久久精品国产91久久性色| 国产麻豆午夜三级精品| 欧美日韩成人综合天天影院| 亚洲乱码国产乱码精品精98午夜| 尤物精品在线| 欧美三级精品| 国产日本欧美一区二区三区| 日韩亚洲国产欧美| 久久久久久精| 亚洲欧美一级二级三级| 一区在线观看视频| 欧美日韩精品在线视频| 欧美日韩精品欧美日韩精品| 欧美成人一二三| 欧美精品v日韩精品v韩国精品v| 1024成人| 夜夜嗨av一区二区三区网页| 国产噜噜噜噜噜久久久久久久久| 国产中文一区| 亚洲欧美日韩综合| 黄色小说综合网站| 一本色道久久99精品综合| 久久久久国内| 在线观看一区二区视频| 久久国产精品99精品国产| 欧美国产日韩xxxxx| 午夜电影亚洲| 亚洲综合成人在线| 久久色中文字幕| 国产一区二区电影在线观看| 亚洲欧洲av一区二区| 麻豆国产va免费精品高清在线| 国产精品男女猛烈高潮激情| 亚洲精品免费看| 欧美日韩亚洲高清一区二区| 亚洲精品九九| 欧美一区二区视频在线观看| 国产人久久人人人人爽| 久久夜色精品国产欧美乱| 亚洲美女视频网| 欧美在线视频观看| 亚洲精品一区二区三区不| 亚洲视频在线观看视频| 午夜免费日韩视频| 亚洲国产成人在线视频| 久久成人免费视频| 午夜精品美女久久久久av福利| 欧美精品一区二区三区久久久竹菊| 久久国产精品久久久久久| 日韩视频精品在线观看| 一区在线观看视频| 欧美va亚洲va香蕉在线| 9l国产精品久久久久麻豆| 美女性感视频久久久| 国产精品免费网站在线观看| 欧美激情一区二区三区全黄| 国产精品久久7| 国产精品午夜国产小视频| 亚洲综合第一| 欧美黄色免费网站| 一区二区三区产品免费精品久久75| 免费观看一区| 日韩一级欧洲| 久久国产精品高清| 欧美午夜不卡在线观看免费| 99精品国产热久久91蜜凸| 国产亚洲欧美另类一区二区三区| 黄色成人在线网址| 国产精品swag| 欧美日韩视频一区二区三区| 久久精品国产77777蜜臀| 欧美体内she精视频在线观看| 亚洲网站啪啪| 久久久久国产精品厨房| 欧美黄色日本| 亚洲精选视频免费看| 欧美激情一区二区| 国产丝袜美腿一区二区三区| 在线观看亚洲专区| 久久伊伊香蕉| 亚洲大胆在线| 国产欧美欧洲在线观看| 一本色道**综合亚洲精品蜜桃冫| 亚洲全部视频| 欧美亚洲视频在线看网址| 国产精品免费小视频| 一区二区三区无毛| 欧美日韩dvd在线观看| 欧美日韩国产123区| 欧美极品aⅴ影院| 欧美三区免费完整视频在线观看| 国产精品视频观看| 欧美一区二区三区四区在线| 免费欧美视频| 久久久久久久综合狠狠综合| 一区二区三区成人| 亚洲婷婷综合色高清在线| 欧美国产日韩一区二区| 欧美一区二区国产| 欧美高清在线观看| 欧美日韩不卡视频| 亚洲国产欧美日韩另类综合| 一本色道久久综合亚洲精品小说| 狠狠色丁香婷综合久久| 亚洲欧美制服中文字幕| 伊人成人网在线看| 欧美日本免费一区二区三区| 久久超碰97人人做人人爱| 久久国产精品网站| 亚洲愉拍自拍另类高清精品| 欧美国产精品日韩| 欧美一区二区精美| 黑人巨大精品欧美一区二区小视频| 欧美国产在线电影| 在线精品一区二区| 欧美视频手机在线| 亚洲国产精品一区二区第四页av| 国外精品视频| 欧美日韩mp4| 亚洲电影在线播放| 国产精品国产三级国产专区53| 国产精品99久久99久久久二8| 国产精品扒开腿爽爽爽视频| 男人的天堂亚洲| 亚洲欧美中文日韩v在线观看| 午夜在线播放视频欧美| 欧美激情国产高清| 午夜精品久久久久久久白皮肤| 国产综合色在线视频区| 国产欧美一区二区精品秋霞影院| 亚洲一区二区三区中文字幕在线| 国产精品视频大全| 国产区二精品视| 国产精品日韩在线观看| 久久久精品午夜少妇| 亚洲欧美国产日韩天堂区| 国产日韩欧美综合一区| 久久国产日本精品| 久久久久久久激情视频| 9l视频自拍蝌蚪9l视频成人| 久久激情一区| 欧美精品一区二区三区一线天视频| 久久久久se| 亚洲国产高清在线观看视频| 91久久久久久国产精品| 欧美成人激情视频| 免费在线播放第一区高清av| 欧美资源在线观看| 六月天综合网| 韩日精品中文字幕| 欧美日韩在线视频一区| 亚洲色图在线视频| 国产欧美一区二区在线观看| 欧美区二区三区| 亚洲人在线视频| 日韩午夜在线电影| 国内成人精品2018免费看| 老司机免费视频一区二区三区| 免费观看在线综合| 牛夜精品久久久久久久99黑人| 亚洲成人在线视频播放| 欧美日韩亚洲天堂| 国产视频自拍一区| 久久激情网站| 欧美日韩精品在线观看| 久久久久国产一区二区三区| 亚洲国产精品ⅴa在线观看| 欧美中文字幕在线| 国产亚洲福利一区| 在线免费观看视频一区| 亚洲视频碰碰| 免费h精品视频在线播放| 久久久综合视频| 亚洲欧美日韩天堂| 亚欧美中日韩视频| 亚洲国产精品久久久久秋霞不卡| 国产精品美女一区二区| 亚洲一区国产视频| 久久久99免费视频| 国产欧美一区二区精品婷婷| 欧美在线观看www| 日韩一区二区精品| 中国成人亚色综合网站| 国产亚洲精品资源在线26u| 欧美大胆人体视频| 噜噜噜在线观看免费视频日韩| 最近中文字幕日韩精品| 国产日韩高清一区二区三区在线| 国产精品素人视频| 国产毛片精品国产一区二区三区| 国产精品久久国产愉拍| 日韩视频久久| 久久精品欧洲| 久久全球大尺度高清视频| 99天天综合性| 亚洲香蕉成视频在线观看| 一区二区三区精品视频在线观看| 国产精品任我爽爆在线播放| 久久不射电影网| 国产精品久久久久久久午夜片| 久热成人在线视频| 亚洲男人的天堂在线aⅴ视频| 国产女主播一区二区| 国产伦精品一区二区三区视频黑人| 亚洲在线一区二区三区| 在线观看日韩av| 久久精品视频免费播放| 免费一级欧美片在线播放| 国产嫩草一区二区三区在线观看| 亚洲精品国产无天堂网2021| 欧美视频一区二区| 在线播放国产一区中文字幕剧情欧美| 欧美黄色成人网| 亚洲国产免费看| 久久久久亚洲综合| 噜噜噜躁狠狠躁狠狠精品视频|