|
本例實現(xiàn)紅綠燈不斷閃爍的效果。 如果你還沒有配置好開發(fā)環(huán)境,請首先看: avr 開發(fā)環(huán)境配置 【icc + AVRStudio】 http://www.avrvi.com/bbs/read.php?tid-1-page-e.html 第一步:運行iccavr,運行project>>new,新建一個工程,保存為main.prj,保存在新文件夾avr_first下。 第二步:運行Tools>>Application Builder 建立工程的工具。 看到如下圖的設(shè)置界面。 icc建立avr工程屬性設(shè)置 
將Targat CPU 改為M16,因為我們使用的芯片是mega16 將Xtal speed 改為1.0000 ,我們使用內(nèi)部晶振,內(nèi)部晶振頻率為1Mhz。 切換到Ports選項,作如下圖所示的更改。 Ports選項 
意思是使用單片機的端口A,使用0和1兩個腳輸出高電平,因為我們所用二極管是低電平驅(qū)動的。 其他項不做更改,點OK完成。 第三步:File>>Save as 保存到你剛才第一步建立的工程的文件夾中。注意:保存的文件名必須輸入后綴名,形式如main.c。 第四步:右鍵>>add to project 你將看到如下效果: 工程建立完成 
第五步:在編輯區(qū)添加如下程序代碼,
CODE:
void Delay(void) { unsigned char i,j; for(i=200;i>0;i--) { for(j=200;j>0;j--) ; } }
void main(void) {
init_devices(); //初始化
while(1) { PORTA = 0x02; //1腳為高,0腳為低,0腳燈亮 Delay(); //延時 PORTA = 0x01; //0腳為高,1腳為低,1腳燈亮 Delay(); //延時 } }
其中Delay為延時程序,main為主程序,保存程序。
第六步:Project>>options ,將Device configuration改為ATmega16,其他不變,點擊ok,如下圖 編譯器環(huán)境配置 
第七步:Project>>rebuild all 或者直接使用快捷鍵 shift +f9 ,編譯工程。
成功即可看到下圖所示的樣子。 編譯完成 
在狀態(tài)區(qū)看到這樣的代碼: D:\Program Files\icc\bin\imakew -f main.mak iccavr -c -ID:\PROGRA~1\icc\include\ -e -DATMEGA -DATMega16 -l -g -Mavr_enhanced D:\桌面\avr_first\main.c iccavr -o main -LD:\PROGRA~1\icc\lib\ -g -ucrtatmega.o -bfunc_lit:0x54.0x4000 -dram_end:0x45f -bdata:0x60.0x45f -dhwstk_size:16 -beeprom:1.512 -fihx_coff -S2 @main.lk -lcatmega Device 0% full. Done.
第八步:此時打開第一步建立工程的文件夾,可以看到如下文件。 文件列表 
至此,在ICC AVR下的工作完成,請繼續(xù)下一步, ICC avr 編譯成功后會生成很多文件,對我們普通用戶以及新手,有用的只有一個文件,*.cof 調(diào)試用,*.hex 機器碼。 首先看圖: 
- main._c main.c修改并保存時,程序自動備份的文件,如果確認main.c沒有問題了,可以刪除。
- main.c 主程序文件
- main.cof COFF 格式輸出文件用于在ATMEL 的AvrStudio 環(huán)境下進行程序調(diào)試 <記住這個文件>
- main.dbg ImageCraft 調(diào)試命令文件
- main.dp2
- main.hex INTEL HEX 格式文件其中包含了程序的機器代碼
- main.lis
- main.lk
- main.lst 列表文件在這個文件中列舉出了目標代碼對應(yīng)的最終地址
- main.mak
- main.mp 內(nèi)存映象文件它包含了您程序中有關(guān)符號及其所占內(nèi)存大小的信息
- main.o 由匯編文件匯編產(chǎn)生的目標文件多個目標文件可以鏈接成一個可執(zhí)行文件
- main.prj 工程文件
- main.s 表示是匯編語言源文件
- MAIN.SRC 工程配置記錄
- main_cof.aps 使用AvrStudio調(diào)試后保存的調(diào)試環(huán)境相關(guān)信息。
下一步,要把程序?qū)懙叫酒锩嫒チ耍?/P> |