<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          WinAVR(GCC)快速入門

          作者: 時(shí)間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
          導(dǎo)讀:開發(fā)avr單片機(jī),我們以avr 8515芯片為例子,來介紹它的使用方法,希望對(duì)感興趣的朋友有所幫助。

          本文引用地址:http://www.ex-cimer.com/article/201611/320354.htm

          WinAVR 的配置與 makefile 一直是新手入門的兩個(gè)難點(diǎn)。我們經(jīng)過詳細(xì)的測試,推薦大家不需要作任何的配置,并且介紹了如何用最簡單的方法創(chuàng)建自己的 makefile 文件。利用本文,十來分鐘你就能入門 WinAVR /GCC.  

          首先:下載安裝WinAVR-20050214.exe軟件安裝好后(現(xiàn)在查閱最新的版本是07年的,即2007xxxx),你就能在電腦上看到如下的功能菜單:

          說明如下:

          名稱

          說明

          Programmers Notepad

          GCC語言編輯器??商峁?yīng)用程序接口。

          Mfile

          GCC需要一個(gè)叫 makefile 的參數(shù)文件才能進(jìn)行編譯。Mfile 是一個(gè)工具,可以讓用戶方便地修改 makefile 上的參數(shù)。不過我們不推薦使用它。我們推薦直接用記事本打開 makefile 進(jìn)行編輯。

          AVR Insight

          仿真調(diào)試工具

          TkInfo

          GNU的超文本瀏覽器

          Uninstall WinAVR

          卸載 WinAVR 軟件

          WinAVR User Manual

          WinAVR 用戶手冊(cè)

          GNU Maunals Online

          GNU的在線幫助

          AVR-libc Manual

          AVR GCC的C語言函數(shù)庫幫助手冊(cè)

          步驟一:打開 PN 工具
          步驟二: 在硬盤建立一個(gè)專門存放avr文件的目錄, 例如,我們?cè)贒:盤新建一個(gè)AVR的目錄,注意!不要用中文目錄!也不要存在其他的有中文目錄的路徑。
          在PN工具的編輯窗口中輸入下面的一個(gè)簡單的跑馬燈程序:

          在PN工具的編輯窗口中輸入下面的一個(gè)簡單的跑馬燈程序:#include "avr/io.h"static void io_init(void)
          {
          PORTA = 0xff;
          DDRA = 0xff;
          }
          void mDelay(uint16_t DelayTim)
          { uint16_t i;
          for(;DelayTim>0;DelayTim--)
          { for(i=0;i<4000;i++)
          {;}
          for(i=0;i<3900;i++)
          {;}
          }
          }

          int main(void){
          uint8_t i=0;
          io_init();
          while(1)
          { if(++i>=8)
          i=0;
          PORTA=~(0x01<>i可改變流水燈方向mDelay(500);}
          }
          然后:菜單 File -->save as..把它保存在剛剛建立的d:avr目錄下,命名為led.c

           

          回到前面點(diǎn)程序菜單的winavr的mfile出現(xiàn)前面的界面

          點(diǎn)擊主菜單Makefile->Main file name…即出現(xiàn)如圖2所示的對(duì)話框,通常不需要更改此選項(xiàng),最終產(chǎn)生的hex文件即main.hex。

           接著點(diǎn)擊Makefile->Mcu type,設(shè)定所用單片機(jī)的型號(hào),如圖3所示我們選擇ATmega8515為我們所用的型號(hào)。

          點(diǎn)擊:Make-->Debug Format:可選擇輸出的調(diào)試文件格式,應(yīng)選擇最后一項(xiàng):ELF/DRARF-2(AVR Studio ELF,GDB[experimental] ),這樣可以由產(chǎn)生供AVR studio 4以上版本調(diào)試用的ELF格式的文件。
          點(diǎn)擊:Make-->C/C++ Source Files……出現(xiàn)選擇文件名的對(duì)話框,如圖4所示,請(qǐng)用“Choose file…”鈕選擇你所要編譯的文件,注意,一定要將Include main.c前面的勾去掉,除非你的確有一個(gè)名為main.c的文件。

          圖4 選擇主文件

          其他的項(xiàng)一般可以不必改動(dòng)。

          更改后用File-->Save as…將該makefile文件保存至剛才所建文件夾d:avr中。

          編譯 (Make All):
          回到Programmer Notepads中,點(diǎn)擊:Tools->Make All,即可對(duì)該文件進(jìn)行編譯、鏈接等處理,有關(guān)信息在output窗口中呈現(xiàn)。如有錯(cuò)誤,單擊錯(cuò)誤行,即可定位,以便對(duì)此進(jìn)行修改,直到編譯、鏈接完全正確為止。此時(shí),output窗口顯示:> Process Exit Code: 0 (否則程序有問題請(qǐng)檢查)

          燒寫程序/演示
          用下載線連接好目標(biāo)板上的ATmega8515L或Atmega8515,開啟電源 , 運(yùn)行下載軟件,如小馬或者XLISP軟件, XLISP軟件中選擇相應(yīng)的芯片型號(hào),器件配置選項(xiàng)中按 圖6 設(shè)置

          按照上圖選擇: 單片機(jī)工作在內(nèi)部時(shí)鐘8MHZ

          注意:熔絲位配置錯(cuò)誤將會(huì)鎖死芯片導(dǎo)致再編程失敗。

          加載編譯的文件main.hex 燒寫程序,正常即可觀查到流水燈效果!

          特別注意!由于51單片機(jī)和AVR單片機(jī)的復(fù)位信號(hào)相反,而XL600/XL1000主要設(shè)計(jì)為51單片機(jī)使用,為此, 如果按XL600/XL1000的復(fù)位鍵后,則停止運(yùn)行, 按下不動(dòng),才重新運(yùn)行。初學(xué)者請(qǐng)注意!另外由于軟件設(shè)計(jì)的原因可能要點(diǎn)兩次智能一鍵通, 才能正常的下載。

          附表:Atmega8515/L的熔絲配置說明(詳細(xì)資料請(qǐng)參考官方Datasheet)
          表1.時(shí)鐘源選擇


          默認(rèn)時(shí)鐘源:
          芯片在出廠時(shí)CKSEL = “0001”, SUT = “10”。默認(rèn)時(shí)鐘源為有最長啟動(dòng)時(shí)間的內(nèi)部RC振蕩器(頻率1M)。默認(rèn)設(shè)置可以保證用戶通過系統(tǒng)內(nèi)或并行編程得到他們期望的時(shí)鐘源。

          標(biāo)定的片內(nèi)RC 振蕩器提供了固定的1.0、2.0、4.0 或8.0 MHz 的時(shí)鐘。這些頻率都是5V、25°C 下的標(biāo)稱數(shù)值。這個(gè)時(shí)鐘也可以作為系統(tǒng)時(shí)鐘,只要按照表2 對(duì)熔絲位CKSEL進(jìn)行編程即可。
          表2. 片內(nèi)標(biāo)定的RC 振蕩器工作模式




          關(guān)鍵詞: WinAVRGCC快速入

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();