《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 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亚洲国产精品_日韩亚洲一区二区
午夜精品久久99蜜桃的功能介绍| 免费久久99精品国产自| 欧美中文字幕在线播放| 一区二区三区精品国产| 亚洲国产精品综合| 伊人狠狠色j香婷婷综合| 国产欧美一区二区三区另类精品| 欧美色偷偷大香| 欧美精品一区二区三区高清aⅴ| 卡一卡二国产精品| 久久男女视频| 久久亚洲图片| 久久午夜电影网| 久久一日本道色综合久久| 久久九九全国免费精品观看| 久久精品91久久香蕉加勒比 | 亚洲高清中文字幕| 亚洲啪啪91| 亚洲国产欧美另类丝袜| 韩国三级在线一区| 一区久久精品| 亚洲国产欧美一区二区三区久久 | 国产精品丝袜久久久久久app| 国产精品久久久久久久久免费 | 欧美激情网友自拍| 欧美高清在线精品一区| 欧美精品一区二| 欧美日韩在线一二三| 欧美性猛交xxxx乱大交蜜桃| 欧美午夜视频网站| 国产精品一区二区久久国产| 国产欧美日韩综合一区在线观看| 国产日韩综合| 一区视频在线看| 亚洲人成毛片在线播放| 99精品视频免费观看视频| 亚洲香蕉在线观看| 欧美专区福利在线| 亚洲精品国产无天堂网2021| 一区二区三区视频在线| 午夜精品一区二区在线观看 | 久久天天狠狠| 欧美国产丝袜视频| 国产精品美女www爽爽爽| 国产一区二区三区高清| 亚洲国产成人av在线| 一区二区免费在线视频| 欧美一区二区三区在线视频| 亚洲激情视频在线观看| 亚洲午夜一区二区| 久久国产黑丝| 欧美精品免费看| 国产欧美日韩三级| 亚洲国产片色| 亚洲欧美视频| 亚洲毛片播放| 欧美亚洲网站| 免费成人高清| 国产精品高潮在线| 国产欧美一区二区精品忘忧草| 在线视频国内自拍亚洲视频| 亚洲精品一二三| 亚洲特级毛片| 欧美在线一区二区| 亚洲人成人一区二区三区| 亚洲第一在线视频| 亚洲在线观看免费视频| 欧美专区日韩专区| 欧美高清视频| 国产精品入口尤物| 国产精品一二三视频| 国内精品久久久久久久97牛牛| 91久久久久久| 亚洲午夜一二三区视频| 久久成人18免费网站| 久久精品一二三区| 一区二区三区国产精华| 欧美一级欧美一级在线播放| 久久一区欧美| 欧美日韩123| 国产欧美视频一区二区三区| 激情五月***国产精品| 亚洲精品视频免费在线观看| 亚洲视频中文字幕| 亚洲国产日韩欧美在线99 | 午夜视黄欧洲亚洲| 亚洲日本一区二区三区| 亚洲欧美激情一区| 欧美在线精品一区| 欧美体内she精视频在线观看| 国产亚洲一级| 夜夜嗨av一区二区三区中文字幕 | 欧美日韩一区二区在线播放| 国产亚洲欧美日韩美女| 一色屋精品亚洲香蕉网站| 午夜精品久久久久久久99水蜜桃 | 日韩一级精品| 欧美制服丝袜第一页| 欧美精品大片| 国产精品午夜电影| 伊人久久大香线| 99在线精品视频| 亚洲电影视频在线| 亚洲欧美日韩精品久久亚洲区| 蜜臀99久久精品久久久久久软件 | 亚洲欧美国产制服动漫| 99精品久久免费看蜜臀剧情介绍| 欧美一区二区在线| 欧美日韩视频不卡| 亚洲国产精品精华液2区45| 亚洲综合精品| 一区二区av在线| 欧美va天堂| 加勒比av一区二区| 亚洲欧美激情一区| 亚洲午夜精品一区二区| 欧美1区免费| 很黄很黄激情成人| 夜夜躁日日躁狠狠久久88av| 久久精品视频在线播放| 欧美一区二区免费| 欧美日韩中文字幕在线| 亚洲二区精品| 久久精品一区中文字幕| 欧美伊人精品成人久久综合97| 欧美视频网址| 亚洲精选久久| 日韩午夜在线播放| 欧美ed2k| 在线精品福利| 久久精品亚洲国产奇米99| 欧美专区福利在线| 国产女人精品视频| 亚洲欧美激情四射在线日 | 亚洲国产精品毛片| 久久精品道一区二区三区| 国产精品色在线| 一区二区三区毛片| 一区二区三区日韩精品| 欧美精品一区二区三区四区| 国外视频精品毛片| 欧美在线精品免播放器视频| 久久国产乱子精品免费女 | 日韩一级精品| 欧美日本免费| 亚洲另类黄色| 一区二区三区|亚洲午夜| 欧美区日韩区| 日韩视频欧美视频| 亚洲精品国精品久久99热| 欧美日本中文| 一区二区三区www| 亚洲在线中文字幕| 国产精品户外野外| 国产精品99久久久久久久vr | 亚洲乱码一区二区| 欧美国产日韩一区| 亚洲免费大片| 亚洲一区二区视频| 国产精品亚洲аv天堂网| 亚洲精品在线免费| 亚洲午夜伦理| 国产精品日韩一区二区三区| 亚洲综合视频网| 久久精品免费观看| 激情综合中文娱乐网| 亚洲欧洲精品一区| 欧美日本在线视频| 亚洲天堂av图片| 亚洲一区二区三区在线观看视频| 国产一区二区三区电影在线观看| 亚洲国产成人av好男人在线观看| 蜜臀久久99精品久久久画质超高清| 亚洲高清一区二| 亚洲精品欧洲| 欧美婷婷久久| 性色av一区二区三区红粉影视| 久久免费一区| 亚洲激情影视| 亚洲一区影院| 国产女主播一区二区三区| 亚洲精品影视| 国产精品剧情在线亚洲| 欧美一区成人| 欧美福利一区二区三区| 99re热精品| 午夜在线精品偷拍| 国产自产2019最新不卡| 亚洲毛片网站| 国产精品国产三级国产普通话99| 亚洲欧美怡红院| 欧美99在线视频观看| 一本色道久久综合亚洲精品不| 欧美一区三区二区在线观看| 悠悠资源网久久精品| 亚洲一区日本| 精品成人一区| 亚洲欧美另类在线观看| 韩国三级电影一区二区| 亚洲黄一区二区三区|