《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > AVR使用中應注意的一些問題
AVR使用中應注意的一些問題
EVW</span>
摘要: 在開發和調試系統程序時,有許多人完全依賴于仿真器,一旦離開了仿真器時就感覺無從下手。其實,由于AVR的Flash存貯器可方便的使用ISP技術在線的多次擦寫,因此建議盡量不使用(依賴)仿真器來開發和調試程序。
Abstract:
Key words :

  AVR與傳統類型的單片機相比,除了必須能實現原來的一些基本的功能,其在結構體系、功能部件、性能和可靠性等多方面有很大的提高和改善。
 
  但使用更好的器件只是為設計實現一個好的系統創造了一個好的基礎和可能性,如果還采用和沿襲以前傳統的硬件和軟件設計思想和方法的話,是不能用好AVR的,甚至也不能真正的了解AVR的特點和長處。
 
  功能越好的器件,需要具備更高技術和能力的人來使用和駕馭它。就象一部好的F1賽車,只有具備高超技術的駕駛員才能充分體會到車的特點,并能最大限度的發揮出車的性能。
 
  AVR具有上手入門快,開發方便簡單的特點,但要充分體會和發揮AVR的優點,還需要應用工程師本身的硬軟件設計開發能力的不斷學習、實踐提高。

  “外行看熱鬧,內行看門道”,對于有一定基礎的嵌入式和單片機系統設計開發的工程師,不妨先簡單嘗試一下AVR。
 
  
開發環境與工具:PC+下載線+實際的系統板

  PC上的開發軟件:

  AVR Studio(Free)匯編+匯編調試+高級語言調試+軟件仿真

  ICC、CVAVR、BASCOM-AVR 高級語言程序開發+程序下載。其中一個購買正版全功能,作為主要的開發環境,其它使用DEMO版,作為輔助及參考。
 
  AVR ISP下載線:
 
  STK200 and STK200+ and STK300 ISP programmer。通過PC的打印機口,采用ISP技術將系統運行代碼(HEX、BIN)和數據寫入AVR芯片的Flash和EEProm中,編程AVR的配置熔絲位和加密位。支持決大多數的AVR芯片、以及ATMEL的51兼容芯片89S8252、89S52等。在ICC、CVAVR、BASCOM-AVR、BASCOM-8051中都內含對該下載線的支持程序。免費專用的下載程序:SLISP、PonyProg2000等。
 
  
盡量不使用仿真器的建議:
 
  在開發和調試系統程序時,有許多人完全依賴于仿真器,一旦離開了仿真器時就感覺無從下手。其實,由于AVR的Flash存貯器可方便的使用ISP技術在線的多次擦寫,因此建議盡量不使用(依賴)仿真器來開發和調試程序。
 
在實際開發過程中,程序的調試可以從下幾方面入手:

  現在的高級語言編譯器(如C編譯器)可以產生效率很高的機器代碼,因此建議大家盡量使用高級語言編寫系統程序。

  使用Atmel公司提供AVR Studio軟件模擬仿真環境,以及其他的軟件模擬仿真環境(BASCOM-AVR)。
 
  盡可能使用高級語言編寫系統程序。

  利用目標板上的LED、LCD或異步串口。見附件“沒有仿真器的情況下如何開發AVR”的介紹。 
 
提高硬件設計的合理性
 
  盡量合理和充分使用AVR片內的資源,如EEPROM、A/D、內部的RC振蕩源。

  盡量采用串口通信連接的外圍器件,大容量的存儲器、LCD控制器、打印機、不用8279(LED數碼管+鍵盤)而使用7279等。除了必須外擴RAM(如語音和圖象),一般不提倡使用并行擴展(573+譯碼電路),減小硬件和連線以及PCB板上錯誤的出現概率,同時也提高了系統的可靠性。并行擴展向串行擴展是發展趨勢。現在有大量的新的外圍器件采用高速的串行接口,如A/D、D/A、RTC、存儲器等。
 
  盡量使用以及在目標板上預留ISP程序下載接口,或使用IAP技術。

  優點:ISP接口與I/O的兼容性比JETAG好。

  缺點:不能在線調試
 
  注意和掌握AVR配置熔絲位的使用:

  .系統晶振的選擇
 
  .BOD的使用

  .啟動延時

  .Mega8的PC6引腳,RESET與通用I/O的轉換

  .JETAG接口和通用I/O的轉換

  .啟動向量的轉換,BOOT-LOAT區大小的設置

提高硬件可靠性的考慮:
 
  .盡量采用片內晶體、采用低頻率的系統時鐘、振蕩電路的輸出小幅度。

  .選擇合適的啟動延時參數
 
  .使用BOD、片內的看門狗

  .合理休眠方式的使用

  .不用I/O口設定輸出低電平

  .利用內部的EEProm和寄存器MCUCSR判斷復位標志,進行不同的處理 
 
提高軟件設計的能力和水平:

  盡量合理采用高級語言設計編寫系統程序。有許多人認為使用匯編寫程序比較精簡,而用高級語言開發會浪費很多程序空間,其實這是一種誤解。對一個有經驗的,而且非常熟悉某種單片機的匯編高手而言,他是能寫出比高級語言更精簡的代碼。而對匯編不是很熟的開發者、或突然更換了一種新的單片機,您能保證一定可以寫出比高級語言更簡練的代碼嗎?
 
  高級語言的優越性是匯編語言不能比的:

  .程序移植方便

  .程序的堅固性

  .數學運算的支持
 
  .條理清晰的結構化編程,程序的可維護性。

  .可協同開發軟件,開發周期短。
 
  現在的高級語言編譯器(如C編譯器)已可以產生代碼效率很高的機器代碼,因此建議大家能用高級語言實現的程序盡可能使用高級語言寫,在對速度和時序要求特嚴的場合可以采用混合編程的方法來解決。 
 
更深入和全面的掌握各種串行通信協議的規程:

  嵌入式系統目前以大量的使用串行接口外圍芯片和各種通信接口,如RS232、兩線(I2C)、三線(SPI)、單總線、USB、CAN、TCP/IP等。開發人員和程序員應了解低層協議,熟悉硬件怎樣和如何實現低層協議,如何定義可靠的上層應用協議,以及低層協議驅動同上層應用協議之間的接口設計(中間層軟件的實現)等。
  硬件工程師的軟件編寫能力要提高,采用標準程序編寫方式、完善的軟件整體框架的設計、良好的數據結構和程序結構系統。(計算機軟件專業的程序設計員對硬件不熟悉、大部分是在操作系統支持下編寫軟件,對低層接口和協議的驅動層以及接口也不了解,往往也編寫不出好的單片機系統程序。) 
 
   通信接口的編寫應盡量 
   .采用中斷+緩沖區, 
  .分層+結構化設計,
  .盡量不使用輪循方式(降低AVR的效率)。參見URAT(RS232)驅動+中間層軟件示例。 
 
  采用好的系統設計模式: 


  盡量不使用傳統的前后臺(中斷)系統設計模式,任務之間相互影響和干擾,無法定時操作。如設計一個采用動態掃描方式驅動的8位LED數碼管顯示+動態掃描的4*4矩陣鍵盤。 


  采用TimeTip+狀態機設計+CASE結構,實現多任務并行運行系統設計方法。或時間觸發式的系統設計。(見:《時間觸發嵌入式系統設計模式》中國電力出版社 2004.6) 


  移植小型嵌入式操作系統,如UCOS-II。在網上有些免費的基于AVR的簡潔的操作系統。 
 

提高C語言的編程能力和軟件應用水平:


  熟悉和用好C中的數據結構體、指針應用、內存管理等較高級的應用。 


  熟悉和了解你所使用的高級語言開發平臺的特點。這些平臺是針對某一類處理器的,包含許多特殊的不兼容的語句和擴展的結構、語句、函數等。盡管使用方便,但由于其不透明性和時間的不確定性,因此要合理使用。如C中的getchar()、putchar()等。 


  AVR有多個開發平臺,每個都有其特點和不足。能夠綜合使用這些平臺,相互互補,能夠提高開發效率。如通過ICC、CVAVR的程序生成器CodeWizard學習和了解AVR的硬件設置,簡化計算,快速的生成程序基本模塊,如“一個URAT(RS232)低層驅動+中間層軟件示例”。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲国产婷婷| 在线中文字幕不卡| 欧美日韩大陆在线| 免费视频久久| 久久久久久婷| 久久精品女人| 欧美一区二区在线免费播放| 亚洲午夜未删减在线观看| 日韩视频免费| 亚洲乱码国产乱码精品精天堂| 欧美一区二区在线免费观看| 亚洲欧美日韩国产另类专区| 亚洲男人av电影| 亚洲欧美日韩国产综合| 亚洲一区二区免费看| 一区二区三区色| 这里只有精品视频在线| 亚洲深夜激情| 亚洲一区精彩视频| 亚洲欧美成人在线| 午夜欧美理论片| 欧美在线free| 亚洲第一区在线| 亚洲精品乱码久久久久久| 亚洲精品美女在线观看| 亚洲三级影片| 99热免费精品| 亚洲午夜精品久久| 亚洲欧美视频一区| 久久精品亚洲精品国产欧美kt∨| 久久九九全国免费精品观看| 久久久久国产一区二区| 另类酷文…触手系列精品集v1小说| 美女999久久久精品视频| 母乳一区在线观看| 欧美日韩亚洲三区| 国产精品久久久久av| 国产欧美日本一区视频| 国产综合欧美在线看| 在线成人性视频| 亚洲人成亚洲人成在线观看| 一区二区三区不卡视频在线观看 | 欧美看片网站| 国产精品第13页| 国产视频在线观看一区| 伊人男人综合视频网| 亚洲免费激情| 午夜欧美电影在线观看| 91久久精品国产91久久性色| 欧美成人精品| 免费视频亚洲| 美国成人直播| 国产精品盗摄久久久| 国产一区二区三区在线免费观看| **性色生活片久久毛片| 一区二区欧美精品| 久久精品亚洲乱码伦伦中文| 9色精品在线| 久久精品国产精品亚洲精品| 欧美成人精品一区二区| 国产精品久久97| 亚洲第一搞黄网站| 亚洲午夜激情| 亚洲黄色成人网| 亚洲欧美视频一区| 欧美成人xxx| 国产精品视频最多的网站| 精品动漫av| 中文精品视频| 91久久精品国产91久久性色| 西西人体一区二区| 欧美sm视频| 国产伦精品一区二区| 亚洲乱码国产乱码精品精| 欧美一区激情视频在线观看| 一区二区三区视频在线观看| 久久久久成人精品免费播放动漫| 欧美日韩亚洲一区二| 激情婷婷亚洲| 亚洲一区二区三区激情| 亚洲欧洲一区二区三区在线观看 | 亚洲激情不卡| 午夜久久资源| 欧美激情精品久久久| 国产香蕉97碰碰久久人人| 亚洲美女精品久久| 久久精品一区二区三区四区| 亚洲欧美日韩区| 欧美精品1区2区| 激情久久久久久久久久久久久久久久| 国产精品99久久99久久久二8 | 国产精品美腿一区在线看| 亚洲韩国青草视频| 欧美在线观看视频| 亚洲欧美在线磁力| 欧美日韩免费看| 亚洲国产免费看| 久久成人免费日本黄色| 性欧美激情精品| 亚洲一区二区三区精品在线观看 | 日韩一区二区精品| 亚洲综合999| 亚洲久色影视| 亚洲欧洲精品一区二区| 久久国产一区| 国产欧美视频一区二区| 亚洲丝袜av一区| 一本到高清视频免费精品| 牛牛精品成人免费视频| 韩国久久久久| 久久精彩视频| 久久久水蜜桃av免费网站| 国产麻豆午夜三级精品| 中文av一区特黄| 亚洲一区欧美二区| 欧美性大战xxxxx久久久| 国产精品影视天天线| 亚洲综合99| 性色av香蕉一区二区| 国产精品久久久久久久久免费樱桃 | 亚洲精品一区中文| 99re6这里只有精品| 欧美激情一区二区三区不卡| 136国产福利精品导航网址应用| 久久精品国产一区二区三区| 久久久蜜桃一区二区人| 黑人中文字幕一区二区三区| 久久av免费一区| 久久综合中文色婷婷| 在线成人小视频| 亚洲精品久久久一区二区三区| 欧美成人激情在线| 亚洲精品国产精品国自产在线 | 欧美在线一二三区| 国产日韩欧美亚洲| 久久精品一本| 欧美成人自拍| 亚洲日本中文字幕区| 亚洲视频第一页| 国产精品观看| 午夜在线a亚洲v天堂网2018| 久久深夜福利免费观看| 亚洲成在线观看| 在线一区观看| 国产精品午夜在线观看| 欧美一级艳片视频免费观看| 久久视频精品在线| 91久久精品美女| 亚洲一区二区三区精品视频| 国产精品一卡二| 久久国产精品一区二区| 免费欧美网站| 一区二区三欧美| 久久久久久久久久久久久女国产乱 | 亚洲国产天堂久久综合| 在线亚洲伦理| 国产欧美精品日韩区二区麻豆天美| 欧美一级专区| 欧美国产丝袜视频| 在线亚洲一区二区| 久久久不卡网国产精品一区| 影音先锋久久| 国产精品99久久久久久久久久久久| 亚洲欧美日韩中文在线制服| 亚洲综合色视频| 国产日韩欧美在线| 亚洲国产高潮在线观看| 欧美日韩国产麻豆| 亚洲欧美日韩国产一区二区| 麻豆成人综合网| 一本色道久久综合一区 | 免费观看成人www动漫视频| 亚洲精品一区中文| 午夜视频久久久| 在线免费一区三区| 亚洲女爱视频在线| 在线观看视频一区二区| 亚洲午夜视频在线观看| 国产一区自拍视频| 亚洲特级毛片| 精品9999| 午夜精品999| 亚洲国产精品视频一区| 午夜精品视频在线观看一区二区| 在线观看日韩一区| 亚洲欧美在线一区二区| 影音先锋亚洲电影| 午夜精品一区二区三区四区| 亚洲第一免费播放区| 午夜在线a亚洲v天堂网2018| 亚洲国产精品欧美一二99| 欧美亚洲免费在线| 亚洲国产精品专区久久| 久久国产精品72免费观看| 亚洲另类在线视频| 久久综合久久综合久久综合| 一区二区三区回区在观看免费视频| 久久人人爽人人| 亚洲视频你懂的| 欧美精品情趣视频|