<ol id="glfvi"></ol>

    <fieldset id="glfvi"></fieldset>

    1. <mark id="glfvi"></mark>
        <var id="glfvi"></var>

        <big id="glfvi"></big>

        天堂8在线天堂资源BT_一区二区在线 | 国_天堂SV在线最新版在线_97在线观看视频_欧美成人影院在线观看

        機電之家資源網
        單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
        培訓信息
        贊助商
        AVR單片機基礎知識
        AVR單片機基礎知識
         更新時間:2009-11-25 16:22:05  點擊數(shù):0
        【字體: 字體顏色
        AVR單片機特點

        每種MCU都有自身的優(yōu)點與缺點,與其它8-bit MCU相比,AVR 8-bit MCU最大的特點是:
        ● 哈佛結構,具備1MIPS / MHz的高速運行處理能力;
        ● 超功能精簡指令集(RISC),具有32個通用工作寄存器,克服了如8051 MCU采用單一ACC進行處理造成的瓶頸現(xiàn)象;
        ● 快速的存取寄存器組、單周期指令系統(tǒng),大大優(yōu)化了目標代碼的大小、執(zhí)行效率,部分型號FLASH非常大,特別適用于使用高級語言進行開發(fā);
        ● 作輸出時與PIC的HI/LOW相同,可輸出40mA(單一輸出),作輸入時可設置為三態(tài)高阻抗輸入或帶上拉電阻輸入,具備10mA-20mA灌電流的能力;
        ● 片內集成多種頻率的RC振蕩器、上電自動復位、看門狗、啟動延時等功能,外圍電路更加簡單,系統(tǒng)更加穩(wěn)定可靠;
        ● 大部分AVR片上資源豐富:帶E2PROM,PWM,RTC,SPI,UART,TWI,ISP,AD,Analog Comparator,WDT等;
        ● 大部分AVR除了有ISP功能外,還有IAP功能,方便升級或銷毀應用程序。
        ● 性價比高。

        開發(fā)AVR單片機,需要哪些編譯器、調試器?


        AVR的仿真方式
        一般來說,AVR有三種仿真方式:
        (1)JTAG仿真方式,適用于具備JTAG仿真接口的AVR。如:Atmega16/32,Atmega64/128等。

        JTAG是IEEE的標準規(guī)范, 通過這個標準,可對具有JTAG接口的芯片的硬件電路進行邊界掃描和故障檢測。部分AVR型號帶JTAG仿真調試接口,可使用JTAG仿真方式。

        (2)debugWIRE仿真方式,適用于具備debugWIRE仿真接口的AVR。如:Attiny13/24/2313,Atmega48/88/168等。

        debugWIRE 是用以降低成本和調試引腳的開銷,ATMEL在AVR器件上使用的新的調試接口:debugWIRE,與JTAG相比其主要區(qū)別在于僅使用一根信號線(RESET),即可完成調試信息的交互,達到控制程序流向,執(zhí)行指令以及編程熔絲位的功能。它的總的連接圖如下:

        這里的 RESET 信號被用于傳遞調試信息。
        (3)采用仿真頭替代AVR MCU仿真方式,適用于不帶仿真接口的AVR。如Attiny26,Atmega8,Atmega8515等。

        AVR的燒寫方式

        一般來說,AVR的編程方式有:
        (1)串行編程(即ISP編程)

        ISP是In System Program的縮寫,意思是在系統(tǒng)編程。目前的AVR芯片基本上都具備ISP接口,可通過ISP接口進行編程。它一共使用了兩條電源線:VCC、GND,三條信號線:SCK、MOSI、MISO,以及復位線:RESET。由于僅僅使用了幾條數(shù)據(jù)線,所以我們亦常將其稱為串行編程。值得注意的是,雖然下載器端使用的信號線名為SCK、MOSI、MISO,但AVR MCU的信號端不一定是名為SCK、MOSI、MISO。

        AVR的串行編程方式有很多種,如:
        (1)STK200/STK300:并口下載器多采用該燒寫方式,最早期的一種燒寫方式,支持型號少,燒寫速度低,不支持AVR Studio。
        (2)STK500:ATMEL最推薦的編程方式,由于采用ATMEL官方的STK500固件,使得它可燒寫全系列AVR(若對固件進行升級亦可支持未來的AVR型號),燒寫速度非?欤С諥VR Studio。
        (3)AVRISP(準STK500):由于采用ATMEL官方的STK500固件,使得它可燒寫大部分AVR(若對固件進行升級亦可支持未來的AVR型號),燒寫速度非?,支持AVR Studio。
        (4)AVRISPmkII:由于采用ATMEL官方的AVRISPmkII固件,使得它可燒寫大部分AVR(若對固件進行升級亦可支持未來的AVR型號),燒寫速度非?,支持AVR Studio。
        (5)當然還有其它的ISP方式,但已經那些均不是最為常見的串行編程方式,在此不在作一一介紹。

        (2)高壓/并行編程
        AVR的高壓編程/并行編程,實際上是更早出現(xiàn)的編程方法,它功能強大,但需要:

        1)連接較多的引腳(故稱“并行編程”)
        2)使用12V電壓(故稱“高壓編程”)

        聯(lián)合起來一般叫高壓/并行編程。實際上,有些編程是高壓/串行編程,如Attiny13。(Attiny13端口非常少)高壓/并行編程(理論上)能修復任何熔絲位,例如:
        1)Attiny13/24/2313、Atmega8/48/88/168等AVR的RESET端口與IO端口是共用的,由于這類AVR的引腳一般較少,(如Attiny13僅有6個IO口),經常出現(xiàn)IO不夠用的情況,需要將RESET端口設置為IO端口使用,然而,一旦將RESET設置為IO,便無法再進行ISP編程了,更無法使用ISP恢復RESET功能,因為ISP編程需要RESET功能。然而,這種情況下,使用高壓/并行編程,可以恢復RESET功能,(注意:RESET端口與   IO端口是共用的AVR,具備debugWIRE功能,“dW”熔絲位必須為啟動狀態(tài))因為高壓/并行編程不需要RESET功能。
        2)當設置錯了熔絲位導致芯片鎖死,這種情況下,使用高壓/并行編程,可恢復熔絲位。

        (3)JTAG編程

        JTAG燒寫方式僅適用于帶JTAG

        接口的AVR,另外,JTAG對比ISP燒寫方式主要有個缺點:必須占用JTAG對應的IO端口。例如,ATMEGA16必須占用PC2-PC5這幾個端口。然而,有時候,缺點也是優(yōu)點,因為對于IO夠用的AVR來說,在產品開發(fā)過程,可以用JTAG接口來仿真調試,產品量產后,產品板預留的JTAG接口還可以用來燒寫程序。


        (4)IAP編程

        AVR MCU的ISP功能和debugWIRE功能是互斥的,也就是說,使能了AVR MCU的 debugWIRE 功能后ISP功能就無法使用,使能了ISP功能后debugWIRE功能就無法使用。
        那么,怎樣確定AVR的RESET引腳 為ISP功能使用還是debugWIRE功能使用呢?
        在具備debugWIRE 的AVR 器件中,有一個可編程的熔絲位DWEN,如果該熔絲被編程(且lockbits未被編程),則debugWIRE 功能被啟用,AVR的RESET 引腳將被作為debugWIRE 功能使用,可與調試器進行debugWIRE仿真通信(此時,ISP 功能被禁用)。AVR芯片出廠時,DWEN熔絲位是未編程的,也即是說ISP 功能是使能的,debugWIRE 被禁用。使用ISP 功能時,通過調試器對debugWIRE熔絲進行編程使能,可啟用debugWIRE功能;使用debugWIRE功能時,對通過調試器對 debugWIRE熔絲禁止,可使能ISP 功能。

        編程語言建議使用C而不是匯編開發(fā)AVR

        首先說說C的優(yōu)點。
        1、直觀,可讀性強:這點很重要。對于一個產品,周期是很長的,即使出第一臺產品之后,還有很長的維護時間。這中間維護人員可能經常變動,如果可讀性強,將給維護工作省下很大的成本。即使是在開發(fā),可讀性強的程序也便于查錯。
        2、模塊化可以做的很好:這點也是很重要的。模塊化做得好,當然程序得重用性就高。對于公司來說,這一點是關系到公司長遠發(fā)展的。程序可以重用,說明下一次開發(fā)的投入就可以減少,時間也可以加快,多好的事呀。
        還有很多有點,當然也就是高級語言相對于匯編語言的優(yōu)點,這里就不一一列舉了。
        再來看看匯編的優(yōu)點:應該來說,匯編語言操作硬件直觀,對于硬件非常熟悉的人來說,直接操作很方便。另外可能就是很多人說的效率要高了。
        針對以上兩點我來說說,首先“匯編語言操作硬件直觀”,這是在代碼編寫階段,對于整個產品周期來說,應該是要避免使用匯編語言的,這個在C語言的優(yōu)點中已經說明。對于第二點,效率問題,目前C語言的編譯器優(yōu)化也做的很好,對于一個匯編不是很熟練的來說,C編出來的程序應該不會效率比匯編低。當然這樣就對開發(fā)人員的要求降低了很多,人員的限制也就沒有那么嚴格。另外是否真的是效率問題呢。我覺得應該是一個整體效率和局部效率的均衡問題。需要提高的是整體的效率。一個好的軟件架構,遠遠比一個好的函數(shù)效率要高的多。因此主要的精力應該放在軟件的架構上。另外現(xiàn)在CPU的速度不停的往上提,CPU越來越快,這點應該也可以彌補程序的效率吧。
        當然,我的意思不是不學習匯編。匯編對于熟悉硬件有很大的好處,應此匯編語言在學習初期一定是要學習的。在基本的硬件熟悉之后,就可以轉向C了。
      1. 上一篇: AVR單片機基本硬件設計
      2. 下一篇: 沒有了
      3. 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
        熱點文章
         
        推薦文章
         
        相關文章
        網友評論:(只顯示最新5條。)
        關于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

        點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
        本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內容的真實性、準確性和合法性。
        機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
        Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
        電話:0571-87774297 傳真:0571-87774298
        杭州濱興科技有限公司提供技術支持

        主辦:杭州市高新區(qū)(濱江)機電一體化學會
        中國行業(yè)電子商務100強網站

        網站經營許可證:浙B2-20080178-1
        黑人巨茎大战欧美白妇_一区二区在线 | 国_天堂SV在线最新版在线_97在线观看视频
          <ol id="glfvi"></ol>

          <fieldset id="glfvi"></fieldset>

          1. <mark id="glfvi"></mark>
              <var id="glfvi"></var>

              <big id="glfvi"></big>