AVR的高性价比越来越受电子爱好者和开发者的所亲眯。与51单片机相比,其运行速度快、部件资源丰富,且价格也并没成倍增加(普通C51单价7元左右,而功能强大的mega162的单价才为13元左右)。其防解密性高,若做产品是要考虑防解密的,保护知识产权。但AVR并不好学,因它的资料没有51单片机的丰富;IDE(集成开发环境)没有Keil好用;仿真环境有Proteus和VMLab,但Proteus7.2中只有部分低级AVR单片机型号(AT90S1200~AT90S8535,ATMEGA8~ATMEGA103,ATTINY10~ATTINY15),而Proteus7.4只有试用版(不能保存,等于没用),VMLab不好用(与Proteus相比有着天壤之别)。那让我们一起来学习!
AVR软件平台AVR Studio、GCCAVR(WinAVR)、ICCAVR、CodeVision AVR、ATman AVR、IAR AVR。其比较为下表:
软件名称 | 类型 | 简介 | 官方网址 |
AVR Studio |
IDE、汇编编译器
| ATMEL AVR Studio集成开发环境(IDE),可使用汇编语言进行开发(使用其它语言需第三方软件协助),集软硬件仿真、调试、下载编程于一体。ATMEL官方及市面上通用的AVR开发工具都支持AVRStudio。 | |
GCCAVR (WinAVR) |
C编译器
| GCC是Linux的唯一开发语言。GCC的编译器优化程度可以说是目前世界上民用软件中做的最好的,另外,它有一个非常大优点是,免费!在国外,使用它的人几乎是最多的。但,相对而言,它的缺点是,使用操作较为麻烦。 | |
ICC AVR
|
C编译器
(集烧写程序功能) | 市面上(大陆)的教科书使用它作为例程的较多,集成代码生成向导,虽然它的各方面性能均不是特别突出,但使用较为方便。虽然ICCAVR软件不是免费的,但,它有Demo版本,在45天内是完全版。 | www.imagecraft.com |
CodeVision AVR
|
C编译器
(集烧写程序功能) | 与KeilC51的代码风格最为相似,集成较多常用外围器件的操作函数,集成代码生成向导,有软件模块,不是免费软件,Demo版为限2KB版。 | |
ATman AVR
|
C编译器
|
支持多个模块调试(AVRStudio不支持多个模块调试)。
| |
IAR AVR
|
C编译器
| IAR实际上在国外比较多人使用,但它的价格较为昂贵,所以,中国大陆内,使用它的开发人员较少,只有习惯用IAR的工程师才会去使用它 |
软件并没有优差之分,哪个更适合这个项目的开发,则它是针对这个项目来说是优质软件。
作为初学者,最好选择资料比较丰富的软件。推荐选用:AVR Studio、CodeVision AVR,因AVR Studio软件是免费的、且集软硬件仿真、调试、下载编程于一体,应用方便(推荐给没时间重安装软件的开发人员);CodeVision AVR的操作与Keil最为相似,简单快捷。此处只讲解AVR Studio的应用。
AVR Studio + GCC AVR + Proteus7.2 + VMLab ,这种“IDE + 编译器 + 仿真环境”的绝佳开发组合。
软件的下载、安装过程如下:
AVR Studio下载连接地址: http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725 Software中选择一个下载。
WinAVR下载连接地址: http://sourceforge.net/project/showfiles.php?group_id=68108
Proteus7.2及VMLab下载地址,可去网上搜搜。
安装比较方便,先装AVR Studio开发环境,再装WinAVR编译器。
下面是AVR Studio的功能简介、工程的建立及操作等。
新建工程:
//Pc.0管脚上的LED闪烁
#include <avr/io.h>#define U8 unsigned charvoid Delay(void)
{
U8 i;
for(i=0; i<250; i++);
}int main()
{
DDRC = 0x01;//Pc.0为输出
PORTC = 0x01;//Pc.0输出1,LED灭while(1)
{
PORTC = 0x00;//LED亮
Delay();
PORTC = 0x01;//LED灭
Delay();
}return 0;
}