AVR入门(极力推荐)

  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的功能简介、工程的建立及操作等。

 

      新建工程:                                                                                                      

                                                             

                                 

 

      

 
    与Keil不同的处,它的寄存器、I/O口等头文件定义,被包含在WinAVR编译器的avr/io.h下,其定义为: #include   <avr/io.h> ,它会根据建立工程时,所选择的芯片型号自动包含相关头文件。
    以下是简单实例。功能:Pc.0管脚接LED,控制LED闪烁,程序为:
//Pc.0管脚上的LED闪烁
#include <avr/io.h>
#define U8 unsigned char
void 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;
}
 
 
 然后,点击 编译,若无警告和错误则编译成功。再点击 运行,就可以调试。
    其调试与Keil差不多(毕竟软件都是相通的呀),就不多说了。
    用Proteus7.2软件仿真,点击运行可看到LED的闪烁。
      
 
    下面是VMLab的仿真:
 
 
    编译(F9)....我的图片没了,什么网站编辑,以后有时间再想个好办法了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值