吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

avr單片機工作經驗總結

ss ? 來源:網絡整理 ? 2018-03-30 11:18 ? 次閱讀

AVR單片機是1997年由ATMEL公司研發出的增強型內置Flash的RISC(Reduced Instruction Set CPU) 精簡指令集高速8位單片機。可以廣泛應用于計算機外部設備、工業實時控制、儀器儀表、通訊設備、家用電器等各個領域。AVR單片機是 Atmel 公司 1997 年推出的 RISC 單片機。RISC(精簡指令系統計算機)是相對于CISC(復雜指令系統計算機)而言的。RISC 并非只是簡單地去減少指令,而是通過使計算機的結構更加簡單合理而提高運算速度的。

AVR單片機ATmega16的主要特點:

1) 采用 RISC 結構的AVR內核單片機。

131 條機器指令, 大多數指令為單個系統時鐘周期執行的指令;

32 個 8 位通用工作寄存器;

全靜態工作方式(Fully Static Operation)。

工作在 16 MHz 時具有 16 MIPS 的性能。(注: ATmega16L 系列最大工作頻率為 8 MHz);

內部配備有 2 個時鐘周期的硬件乘法器。

2)片內自帶大容量, 非易失的程序和數據存儲器

16KB 在線可編程(ISP, In-System Programming)Flash 程序存儲器(擦寫次數》10 000), 采用 Boot load 技術支持IAP(In-Application Programming)功能。

1KB片內 SRAM 數據存儲器, 可以實現 3 級鎖定的程序加密;

512 字節片內 ISP 的EEPROM 數據存儲器(擦鞋次數》100 000);

3) 片內含JTAG接口

支持符合 JTAG 標準(與IEEE 1149.1 標準兼容)的邊界掃描功能, 用于芯片檢測;

支持擴展的片內在線調試功能;

可通過 JTAG 接口對片內 Flash, EEPROM, 熔絲位和加密鎖定位實現下載編程;

4) 外圍接口

2 個帶有分別獨立和可設置預分頻的 8 位定時/計數器;

1 個帶有可設置預分頻器, 具有比較, 捕捉功能的 16 位定時/計數器;

片內含獨立振蕩器實時時鐘 RTC;

4 路 PWM 通道;

8 路 10 位 ADC;

面向字節的兩線接口 TWI(Two—Wire Serial Interface, 完全兼容 IIC 總線硬件接口);

1 個可編程, 增強型全雙工, 支持同步/異步通信的串行接口 USART;

1 個可工作于主機/從機模式的 SPI (Serial Peripheral Interface Bus)串行接口(支持 ISP 程序下載);

片內集成模擬比較器;

片內含有可編程的具有獨立片內震蕩期的看門狗定時器 WDT;

5) 其他特點

內含上電復位電路以及可編程的掉電檢測復位電路 BOD(Brown-out Detection);

片內含有 1/2/4/8 MHz 經過標定的, 可校正的 RC 震蕩器, 可作為系統時鐘使用;

21 種內外部中斷源;

6 種休眠模式(空閑模式、ADC 噪聲抑制模式、省電模式、掉電模式、Standby 模式以及

擴展的Standby 模式), 支持節電方式工作;

32 個可編程 I/O 口。 封裝方式有: 40腳 PDIP 封裝, 44 腳 TQFP 封裝, 與44 腳的 MLF 封裝;

工作電壓: ATmega16L 為 2.7~5.5V, ATmega16 為 4.5~5.5V;

運行速度: ATmega16L為 0~8MHz, ATmega16為0~16MHz;

功耗指標: ATmega16L 工作在 1MHz, 3V, 25攝氏度時: 典型功耗為 1.1mA, 空閑模式為 0.35mA, 掉電模式為 《 1uA;

AVR 單片機的內部結構框圖:

avr單片機工作經驗總結

avr單片機工作經驗總結

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)。

盡可能使用高級語言編寫系統程序。

利用目標板上的、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)、單、USBCAN、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)低層驅動+中間層軟件示例”。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • AVR單片機
    +關注

    關注

    22

    文章

    608

    瀏覽量

    55633
收藏 人收藏

    評論

    相關推薦

    單片機硬件設計的經驗總結

    單片機硬件設計的經驗總結
    發表于 08-17 20:22

    SOPC Builder/Nios 學習經驗總結

    SOPC Builder/Nios 學習經驗總結
    發表于 07-22 15:32 ?0次下載
    SOPC Builder/Nios 學習<b class='flag-5'>經驗總結</b>

    空調維修的經驗總結

    空調維修的經驗總結 一、空調信號(控制)變壓器損壞后會引起整機不工作。 志高柜式空調器,采用220V供電,插上電源后,電源指
    發表于 10-19 09:18 ?3300次閱讀

    線圈天線設計經驗總結

    線圈天線設計經驗總結
    發表于 09-12 17:21 ?224次下載

    8051單片機工作原理介紹

    8051單片機工作原理 8051單片機工作原理
    發表于 10-28 11:19 ?43次下載

    做四軸飛行器的經驗總結

    做四軸飛行器的經驗總結,請各位大神共同學習,里面是一位大神做四軸飛行器的經驗總結
    發表于 11-11 16:52 ?0次下載

    開關電源測量的經驗總結

    開關電源測量的經驗總結,感興趣的小伙伴們可以瞧一瞧。
    發表于 09-18 17:34 ?0次下載

    模擬電路設計經驗總結

    模擬電子的相關知識學習教材資料——模擬電路設計經驗總結
    發表于 09-27 15:19 ?0次下載

    指針經驗總結

    指針經驗總結
    發表于 10-27 15:44 ?19次下載
    指針<b class='flag-5'>經驗總結</b>

    根據學習經驗以及教學經驗總結出學習單片機的4個步驟

    如何學習單片機的問題,我設計的這四個步驟,并不是拍拍腦袋想出來的,而是根據很多的學習經驗以及教學經驗總結出來的一套非常科學的學習方法,下面我就簡單談談為什么要按照四步走學習。
    的頭像 發表于 01-18 15:10 ?4005次閱讀
    根據學習<b class='flag-5'>經驗</b>以及教學<b class='flag-5'>經驗總結</b>出學習<b class='flag-5'>單片機</b>的4個步驟

    單片機學習心得體會_經驗總結

    本文首先介紹了單片機工作原理,其次闡述了學習單片機涉及到的內容,最后介紹了學習單片機的心得體會以及經驗總結
    的頭像 發表于 04-11 14:23 ?3.4w次閱讀

    一名開發工程師的七年工作經驗總結

    這是在網上看到的一篇文章,寫的是一個從事軟件工程開發的大牛對從業七年的一些經驗總結。感覺挺不錯,轉來與大家分享了,下面是正文。
    的頭像 發表于 08-16 11:55 ?4426次閱讀

    單片機入手經驗總結

    現在單片機種類眾多,各有各的優勢與不足。體現在價格、速度、外設、功耗、封裝等許多方面,這些單片機不可能一一去學習,因此今后有很大可能需要應用到自己不熟的單片機,對此,我總結了一些
    發表于 10-27 12:31 ?1974次閱讀

    EMI整改經驗總結

    EMI整改經驗總結
    發表于 12-20 15:55 ?45次下載

    選擇燒結銀的經驗總結

    選擇燒結銀的經驗總結
    的頭像 發表于 12-17 15:46 ?1461次閱讀
    選擇燒結銀的<b class='flag-5'>經驗總結</b>
    百家乐如何抽千| 六十甲子24山吉凶| 百家乐官网注码技巧| 新思维百家乐官网投注法| 百家乐官网娱乐城有几家| 大发888 现金棋牌游戏| 大发888玩哪个| 百家乐平注常赢规则| 真人百家乐体验金| 宝龙百家乐的玩法技巧和规则| 百家乐手机投注| 德州扑克 单机版| 百家乐官网如何看| 沙龙百家乐官网赌场娱乐网规则| A8百家乐官网娱乐场| 百家乐赢新全讯网| 百家乐游戏打水方法| 大发888赌场| 百家乐官网国际娱乐| 怎么看百家乐官网路单| 百家乐龙虎台布多少钱| 百家乐官网现金网平台排行| 百家乐官网技巧之写路| 大哥大百家乐官网的玩法技巧和规则 | 百家乐赌博千术| 粤港澳百家乐娱乐| 灵川县| 喜达百家乐官网的玩法技巧和规则 | 回力百家乐的玩法技巧和规则| 韦德娱乐| 大发888娱乐游戏| 中江县| 八大胜百家乐的玩法技巧和规则| 百家乐官网出千原理| 网络百家乐大转轮| 真人游戏视频| 百家乐官网博彩桌出租| 百家乐招商用语| 好运来百家乐官网现金网| 威尼斯人娱乐场55556| 百家乐二十一点游戏|