AVR与虚拟仪器 www.avrvi.com

你现在的位置:AVR与虚拟仪器>>新手入门>>icc+avrstudio 下新手的第一个程序

上一页:ICCavr的菜单与界面解释 新手的第一个程序 下一页:ICCavr生成程序文件解释

论坛链接: ICC+avrstudio下的第一个程序。本页和论坛内容相同,欢迎你到论坛参与讨论。

本例实现红绿灯不断闪烁的效果。

如果你还没有配置好开发环境,请首先看: avr 开发环境配置 【icc + AVRStudio】
http://bbs.avrvi.com/read-htm-tid-1.html

第一步:运行iccavr,运行project>>new,新建一个工程,保存为main.prj,保存在新文件夹avr_first下。

第二步:运行Tools>>Application Builder 建立工程的工具。

看到如下图的设置界面。

icc建立avr工程属性设置

将Targat CPU 改为M16,因为我们使用的芯片是mega16

将Xtal speed 改为1.0000 ,我们使用内部晶振,内部晶振频率为1Mhz。

切换到Ports选项,作如下图所示的更改。

Ports选项

意思是使用单片机的端口A,使用0和1两个脚输出高电平,因为我们所用二极管是低电平驱动的。

其他项不做更改,点OK完成。

第三步:File>>Save as 保存到你刚才第一步建立的工程的文件夹中。注意:保存的文件名必须输入后缀名,形式如main.c。

第四步:右键>>add to project

你将看到如下效果: 工程建立完成

第五步:在编辑区添加如下程序代码,

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,如下图

编译器环境配置

第七步:Project>>rebuild all 或者直接使用快捷键 shift +f9   ,编译工程。

成功即可看到下图所示的样子。

编译完成

在状态区看到这样的代码:

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下的工作完成,请继续下一步,ICCavr生成程序文件解释