您的位置:網站首頁 > 電器維修資料網 > 正文 >
AVR單片機入門----C語言高效設計實踐(二)
來源: 日期:2013-11-1 14:21:39 人氣:標簽:
iccavr6.31ac語言編譯器的安裝在電腦中放入配套光盤,打開iccavr6.31a安裝文件后進入安裝界面(上圖))安裝目錄可使用默認方式,將其安裝在c盤的icc文件夾中(下圖)。安裝完成后,需進行注冊才能得到無時間限制的完全版軟件。注冊方式如下:
1.打開iccavr6.31a編譯器界面,單擊菜單欄help→registsoft→ware(上圖),系統會提示關掉計算機的防病毒程序,單擊continue按鈕進入注冊界面(下圖)。
2.選中并復制emailunlockcode欄右側框內的7組數值。
3.打開注冊器,粘貼剛才復制的數值(下圖)。
4.點擊得到解鎖碼(下圖)。復制該解鎖碼。
5.在iccavr6.31a編譯器的注冊界面的paste(~v)theunlockcodefromimagecraft`semail欄中,粘貼入解鎖碼(上圖),單擊license按鈕后再單擊ok完成注冊(下圖)。
注冊完成后的iccavr6.31a啟動界面如上圖所示,主要由菜單欄、工具欄、源文件編輯窗口、工程窗口和編譯輸出窗口五部分組成。avrstudio集成開發環境的安裝打開配套光盤內的avrstudio安裝文件,雙擊setup.exe文件,按照提示步驟進行安裝。安裝結束后,會出現一個關于安裝usb驅動的界面,由于我們這里不用usb驅動的器件,只需點擊cancel關閉即可。安裝完成后的avrstudio啟動界面下圖所示。
ponyprog2000下載軟件的安裝prog2000軟件主要用于avr片機及pic單片機的程序下載,在windows95/98/me/nt/2000/p等操作系統上使用。雙擊配套光內的ponyprogv206f軟件進行安裝,安裝過程中只需按照提示,單擊next按鈕,逐步進行即可。安裝完成后,還可以進行漢化,選中漢化程序包中的ponyprog2000文件(注意不要打開),然后復制,隨后打開c:\programfiles\ponyprog2000文件夾,直接點擊粘貼。當彈出對話框提示是否需替換時,點確定,原文件即為中文版。圖11為ponyprog2000的啟動界面。我們講座中的avr單片機開發程為:
1.設置iccavr:
2.建立一工程項目;
3.輸入c源文件;
4.向工程項目中添加源文件;
5.編譯文,編譯通過后生成coff/hex文件;
6,在avrstudio集成開發環境打開coff文件,使用jtag仿真行實時在線仿真或進行軟件模擬仿真;7.使用ponyprog2000軟件將hex文件下載到單片機中;8.應用。
avr入門程序
接下來我們做的第一個avr程序是控制avr單片機綜合試驗板上的8個led,讓它們亮、滅進行閃爍。
1.設置iccavr通過iccavr
編譯連接工程之前,需要對編譯器屬性進行設置,設置好的某些屬性可保留起來作為新建工程的默認屬性。
打開iccavr軟件界面,選擇project→option進入屬性設置對話窗。共有paths、compiler、target、configsalvo四個屬性標簽頁。
1).paths標簽頁(圖12):在屬性中設置編譯器的頭文件目錄(in-cludepath{s):)和庫文件目錄(li-brarypath:)。我們使用系統默認的頭文件目錄和庫文件目錄。
由于我們不使用匯編語言進行開發,因此匯編語言頭文件路徑(asmincludepath(s):)空著不填。輸出文件目錄(outputdirec-tory:)空著不填,則輸出文件自動存放在工程目錄中,否則存放在用戶填寫的路徑下。
2).compiler標簽頁(下圖):strictansiccheckings選中表示進行嚴格的c語法檢查。
acceptextensions(c++com-ments,binaryconstants)選中表示接受c++風格的程序注釋。
intsizeenum(forbackwordcompatibility)選中表示可以向下兼容程序。
0ptimizations欄可以選擇默認設置(default)或使能代碼壓縮功能(enablecodecompression),對程序的編譯進行優化。
outputformat欄選擇格式輸出。coff格式的文件用于程序的仿真調試,hex格式的文件可燒寫入單片機。
avrstudioversion(coff)欄中選擇studio4.06andabove。
3).target標簽頁(圖14):在deviceconfiguration下拉列表中,選擇我們所使用的單片機芯片型號,這里我們選擇atmegal6。其它栗用默認設置。
4).configsalvo標簽頁(下圖):采用系統默認的為不帶實時操作系統(donotusesalvoconfigu-rator)。
完成設置后,單擊ok即完成iccavr的屬性設置。如果我們在開發下一個工程項目時,使用這些已經做好的屬性設置)則不必再次進行屬性設置了。
2.建立一個工程項目在我的文檔中新建一個acl的文件夾。在ic-cavr軟件界面中,單擊project,在彈出的下拉菜單選中new選項,屏幕顯示為下圖。
在出現的savenewproiectas對話框中,選擇工程項目存放的路徑(存放在剛才新建的ac1文件夾中)并輸入新建工程項目的名稱(這里我們取名acl),單擊保存按鈕,系統自動初始化成3個空文件夾files、headers、docu-ments,如圖17所示。
3.輸入c源文件單擊file菜單,在下拉菜單中選擇new,隨后在出現的untitled-0文本文件編輯窗口中輸入以下的源程序(如圖18)。
#include<iom16v.h>voiddelay(void)}
unsignedinti,j;
for(i=0;i<1000;i++)
{for(j=0;j<500;i++)}}
//========
voidmain(void)
{ddrb=oxff;
portb=oxff;
while(1)
{portb=ox00;
delay();
portb=oxff;
delay();}}
程序輸入完成后,選擇file,在下拉菜單中選中saveas,保存在ac1文件夾中,源文件名為ac1.c,保存后可看到源文件名由untitled-0變為acl.c。
4.向工程項目中添加源文件選中工程項目區的file文件夾右擊。在出現的下拉窗口中選擇addfiles,如圖19所示。在添加文件窗口中選擇acl.c源文件,鼠標單擊打開按鈕,這時acl.c文件便加入到工程項目中(圖20)。
5.編譯文件選擇主菜單欄中的project)在下拉菜單中選中makeproject,這時編譯輸出窗口出現源程序的編譯信息,如圖21所示。如果編譯出錯,會在編譯輸出窗口中顯示出來。用戶可以在源程序編輯窗口重新輸入、修改源程序文件,并再次編譯,直到編譯通過井生成用戶所需的文件。
6.軟件模擬仿真打開avrstudio集成開發環境,這時出現一個歡迎進入avrstudio的界面(圖22)。
單擊open按鈕,選中acl,cof文件后點擊打開,出現生成avrstudio工程項目文件的界面后點保存,然后出現選擇仿真平臺的界面(圖23)。這里我們進行軟件模擬仿真,debugplatform欄中選擇avrsimulator,device欄選擇at-megal6芯片(圖24)。點擊finish后進入仿真界面(圖25)。
在主菜單中打開debug,從debug的下拉菜單中可看到常用的仿真快捷鍵,這里我們選擇f1o(stepover)進行調試。
選擇debug-avrsimulatoroptions,出現圖26所示的仿真選項,我們將frequency一項中的仿真頻率改為8.oomhz,使其與試驗板的實際工作頻率相符。
在左側workspace窗口中,存放著atmeagl6的各種寄存器的狀態值,我們將i/0atmegal6前的加號展開,再將portb前的加號展開,將portb輸出口打開(圖27)。鼠標在程序的光標箭頭上點一下,隨后按動f1o,可發現portb口的各寄存器會發生變化,ddrb全部為黑色(oxff),說明方向寄存器的設置為輸出方式,而隨著繼續按動f1o,portb與pinb則一會變黑(oxff),一會兒變白(0xo0)。將workspace窗口中的processor前的加號展開,老下面有個stopwatch項,該項就是avrstudio在選定時鐘頻率下計算出的運行時間(圖28)。我們可發現,portb輸出低電平到電平的時間間隔約0.439秒,反復循環。仿真調試通過后,關閉avrstudio開發環境。
7.將hex文件下載到單片機中將并口下載器插電腦的并口,下載線的另一端插avr單片機綜合試驗板的isp口將試驗板上標示pbo-pb7的雙排針上8個短路塊拔下,插到標有led的雙排針上,使pb口與led接通。試驗板通電工作,注意,5v穩壓電源接dc5v插座;若使用9v以上電源時,插9~l5v的插座。插錯電源會損壞芯片!
一次使用ponyprog2000下載序時)需對ponyprog2000進行設置,選擇合適的下載接口方式,并對端口進行校正。ponyprog2000支持串口及并口下載,這里我們采用井口spi方式下載程序。
雙擊桌面上的ponyprog2000快捷圖標運行軟件(圖29),出現小馬頭圖標后點確認。
程序下載前先進行端口設置及校正。選擇設置→接口設置,出現圖30對話框。如果我們的電腦使用的操作系統是windows95/98/me,單擊并行,選擇avrispapi,并選擇lpt1;如果我們的電腦使用的操作系統是windowsnt/2000/xp,則單擊并行,選擇avrispi/0,并選擇lpt1。
然后選擇設置→校正,對端口進行校正,出現圖31的窗口。單擊yes開始校正,校正完成后會有提示(圖32),點ok即可。選擇器件→avrmicro→at→megal6(圖33)。
選擇文件→打開程序(flash)文件,文件類型選*hex,裝載編程文件(圖34)。選擇命令→擦除,先擦除器件(圖35)。選擇命令→securityandcon-figurationbits...,按圖36配置熔絲位。單擊寫入,寫入熔絲位配置。
選擇命令→寫入所有,開始下載燒寫文件(圖37)。在下載文件時,isp旁的發光二極管do會點亮。
8.應用下載燒寫完成時,我們即可看到pb口驅動的8個發光二極管開始閃亮,周期約0.8s,即點亮0.4s、熄滅0.4s,反復進行。
【看看這篇文章在百度的收錄情況】
相關文章
- 上一篇: 控制電路與功率驅動電路的隔離方式
- 下一篇: AVR單片機入門----C語言高效設計實踐(七)