AVR与虚拟仪器致力于提供最优质的AVR和labview技术服务,最全的技术资料,最好的开发板方案。
我们将以AVR DB-CORE Ver2.3 Atmega16开发板为平台,一步一步,教会大家AVR单片机编程。
本站所有范例都采用ICC编写,ICC编译器加AVR Studio下载调试,下载器为JTAG&ISP下载编程器。
论坛链接: ICC+avrstudio下的第一个程序。本页和论坛内容相同,欢迎你到论坛参与讨论。
本例实现红绿灯不断闪烁的效果。
如果你还没有配置好开发环境,请首先看: avr 开发环境配置 【icc + AVRStudio】
http://www.avrvi.com/bbs/read.php?tid-1-page-e.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
你将看到如下效果: 工程建立完成

第五步:在编辑区添加如下程序代码,
其中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生成程序文件解释。