WinAVR+AVR Studio 新手入门必读

发布者:ww313618最新更新时间:2017-01-10 来源: eefocus关键字:WinAVR  AVR  Studio  新手入门 手机看文章 扫描二维码
随时随地手机看文章

1. 获得必须的软件 
  请从Atmel官方获得最新版本的AVR Studio
下载地址参见:http://www.cnblogs.com/proteus/archive/2011/11/09/2242583.html
请从WinAVR官方获得最新版本的WinAVR

下载地址: http://sourceforge.net/projects/winavr/files/WinAVR/
注意:WinAVR和AVR Studio是2个不同的软件,前者是开源项目,不属于Atmel所有,后者是Atmel版权所有的。 

2. 安装步骤 
1)安装WinAVR 
2)安装AVR Studio 
3)安装AVR Studio的Service Pack(如果有的话) 

3. 新建测试工程 
1)启动AVR Studio 
2)选择"New Project" 
3)"Project type"里选择"AVR GCC",单击"Location"旁的按钮,选择工程保存位置(这里假设为C:\),避免路径中有中文,

   (注意,确保工程保存位置没有中文路径,所以,不能保存在“我的文档”或者“桌面”之类含中文路径的) 
     在"Project name:"里填入工程名test01,把"Create initial file"的钩去除,把"Create folder"钩上, 
     单击"Next>>" 
4)"Debug platform:"里选择"AVR Simulator","Device:"里选择"Atmega128",单击"Finish" 
5)菜单File->New File,建立空白文档,复制以下代码到该文档中(注意:最后一个“}”下面还有一个空行): 

#include "avr/io.h" 

int main(void) 

         while(1); 


6)菜单File->Save,在“另存为”对话框里选择工程保存的路径下工程名命名的文件夹下(这里假设为C:\test01\), 
     你会看到已经有一个test01.aps文件存在了,那是AVR Studio的工程文件。“文件名”里填入“main.c”,保存。 
7)在"AVR GCC"工程管理窗格内的"Source Files"上单击右键,右键菜单里选择"Add Existing Source File(s)...", 
     在"Add Source File"里选择刚刚建立的main.c文件。会看到工程管理窗格内的"Source Files"下多了个main.c文件。 
8)菜单Project->Configuration Oprions,在"General"下(默认就是),确认"Use External MakeFile"没有钩上, 
     "Frequency:"填入频率“8000000”,"Optimiztion"选择"-00",确认"Create Hex File"已经钩上, 
     然后单击确定(请勿修改其它设置) 
9)菜单Build->ReBuild All,编译工程。如果操作正确,应该没有警告和错误。 
10)菜单Debug->Start Debugging,顺利的话,软件仿真已经启动。 
11)至此,测试工程已成功。可以在工程保存目录下看到一个default文件夹,打开后有test01.elf(AVR Studio的支持的仿真调试文件格式之一),test01.hex(烧写时要用的文件) 
成功的显示:

 

Build started 9.11.2011 at 16:14:41
avr-gcc -mmcu=atmega128 -Wl,-Map=liaojie.map main.o     -o liaojie.elf
avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature  liaojie.elf liaojie.hex
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O ihex liaojie.elf liaojie.eep || exit 0
avr-objdump -h -S liaojie.elf > liaojie.lss

AVR Memory Usage
----------------
Device: atmega128

Program:     204 bytes (0.2% Full)
(.text + .data + .bootloader)

Data:          0 bytes (0.0% Full)
(.data + .bss + .noinit)


Build succeeded with 0 Warnings...

 


4. 给新手的建议: 

如果书中/资料中以命令行方式编译文件,请跳过这些例子中的命令行操作,改为用AVR Studio新建工程来编译。 
如果有Makefile方面的讲解,也请跳过。因为这些讲解可能太过于简略,而难以理解。 
1)不要去用WinAVR带的mfile所产生的Makefile文件,只使用AVR Studio菜单Project->Configuration Oprions来配置工程,(不要钩上"Use External MakeFile") 
2)工程保存路径中不要有中文名,即只在英文名文件夹下(包括其上各级文件夹也是英文) 
3)始终使用Build->ReBuild All,编译工程 
4)新建工程时,工程名不要用Makefile(不论何种大小写组合) 
5)新建工程时,不要钩上"Create initial file" 
6)不要修改"Output File"里的文件名 
7)现在,中断程序是以ISR(...)方式声明的,书和资料可能落后于WinAVR的更改,请随时通过开始菜单里WinAVR下的avr-libc Manual [WinAVR]查看目前WinAVR的各种函数和头文件说明 

5. 进一步学习: 
当你比较熟悉用AVR Studio完成你的工程编译过程后,可以考虑学习Makefile


关键字:WinAVR  AVR  Studio  新手入门 引用地址:WinAVR+AVR Studio 新手入门必读

上一篇:AVR硬件设计
下一篇:avr单片机proteus仿真第二课:流水灯

推荐阅读最新更新时间:2024-03-16 15:29

AVR单片机pwm程序+仿真_数显
#include iom16v.h #define uchar unsigned char #define uint unsigned int uchar Table ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x79}; uchar Data1 ={10,0,5,0}; uchar Data2 ={3,9,1,0}; uchar Key1,Key2; void DelayMs(uchar i) { uchar j; for(;i!=0;i--) { for(j=150;j!=0;j--); } } v
[单片机]
<font color='red'>AVR</font>单片机pwm程序+仿真_数显
AVR128的程序——数码管时钟显示
#include iom128v.h #include macros.h #define uchar unsigned char #define uint unsigned int void timer1_init(void); void display1(uchar FirstBit,uchar Num); void display2(uchar FirstBit,uchar Num); void display3(uchar FirstBit,uchar Num); void display4(uchar FirstBit,uchar Num); void Delayms(uint MS); uc
[单片机]
AVR单片机中断模式的串口发送与接收
#include avr/interrupt.h #include util/delay.h int k=0,i=0,j=0; char s ; void usart0_init() { UCSR0A=0X00; UCSR0B = 0x00; UCSR0C=0X00; UCSR0C=(1 UCSZ01)|(1 UCSZ00);//八位数据位 无校验位 UBRR0L=51;//波特率 8MHZ下9600 UBRR0H=0; UCSR0B=(1 TXCIE0)|(1 RXCIE0)|(1 RXEN0)|(1 TXEN0);//接受发送及其中断使能 } /* *程序的作用是将电脑端发送过来
[单片机]
AVR管脚外部上拉电阻阻值选择分析
AVR微控制器的I/O口是双向口。具有如下的特点: AVR IO具备多种IO模式: 1 高阻态,多用于高阻模拟信号输入,例如ADC数模转换器输入,模拟比较器输入 2 弱上拉状态(Rup=20K~50K),输入用。为低电平信号输入作了优化,省去外部上拉电阻,例如按键输入,低电平中断触发信号输入 3 推挽强输出状态,驱动能力特强( 20mA),可直接推动LED,而且高低驱动能力对称. 在实际应用中,我使用了1M的外部上拉,用来测量霍尔器件的脉冲。结果发现没有动作的情况下也测量到了脉冲。于是做了如下的测量: 1,该管脚设置为输入,不使能内部上拉而是使用外部1M电阻上拉(PORTX为0),测量得到该管脚的电压
[单片机]
AVR单片机学习基础篇
简介:AVR单片机的性价比远高于51单片机一、高速 、RISC、主频最高可达20MHZ.二、低功耗、宽电压(1.8V---5.5V)。最低全速运行功耗 300uA三、I/O驱动能力强、推拉电流能力均达30mA ,可以直接驱动继电器、蜂鸣器等,四、片内资源丰富.尤其值得一提的是AVR的定时器功能也是非常强的能够实现PWM功能或输入捕获功能、PWM功能是非常强的可以用于电机的控制。 一、基础篇 单片机的基本要素 CPU核(如:51核 AVR核 M430核) ROM(READ ONLY Memory 绕母) RAM(random accessMemory随机访问寄存器 ) 片上外设 总线 CPU核:相当于电脑的CPU吧、就是执行
[单片机]
<font color='red'>AVR</font>单片机学习基础篇
把arduino当AVRISP烧写器Arduino给Arduino烧boot
教程介绍如何使用Arduino作为AVR ISP(在线系统编程)。你可以使用它给其他AVR芯片烧写引导程序(bootloader)(例如使用ATmega168的或ATmega328的Arduino)。这个例子中的代码是基于Randall Bohn写的mega-isp固件。 说明 使用您的Arduino给其他AVR烧写引导程序(bootloader),步骤如下: 1.打开的ArduinoISP的固件(File examples ArduinoISP)中文(文件 示例 ArduinoISP) 2.注意,如果是为阿尔杜伊诺1.0:你需要对ArduinoISP代码进行小的改动,新版一般不用不过也查下吧。查找heartbeat()函数,
[单片机]
把arduino当AVRISP烧写器Arduino给Arduino烧boot
这就是AVR的看门狗watchdogtimeout
AVRATMEGA16的复位检测和控制看门狗 系统控制和复位 复位来源的检测 JTAG复位指示 看门狗复位指示 BOD复位指示 RESET引脚复位指示 上电复位指示 看门狗的控制 出于简化程序考虑,各种数据没有对外输出,学习时建议使用JTAG ICE硬件仿真器。 熔丝位设置 1 使能BOD功能 BODEN=0 2 选择BOD电平 BODLEVEL=1 2.7V(VCC=3V) (可选) BODLEVEL=0 4.0V(VCC=5V) (可选) */ #include avr/io.h #include avr/delay.h //时钟定为内部RC 1MHz,F
[单片机]
基于AVR的LED数字大屏幕的设计与实现
   1引言   LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,应用越来越广泛。ATMEGA16L单片机是一款基于AVR RISC 的、低功耗CMOS 8 位单片机,具有16K字节的自编程FLASH, 512字节的EEPROM, 1K字节的SRAM, 通过AVR单片机来控制LED的显示,结构简单,应用灵活,并且易于扩展。   2 系统设计原理   2.1 编码设计   编码设计有两个过程:字库提取以及字模编码转换。字库的提取涉及到的两个字库文件,一个为ASC16,专门存放ASCII编码;另一个为HZK16,专门存放汉字字库编码。要提取字库,首先要对它进行初始化,即打开字库。然后根据一个字符提取它相应的编
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • Linux内核移植
    实验步骤:(1)准备工作(2)修改顶层Makefile(3)修改falsh 分区(4)配置编译内核下面以Linux2 6 30 4内核移植到gec2440为例:一、准备 ...
  • S5PV210 PWM定时器
    第一节 S5PV210的PWM定时器S5PV210共有5个32bit的PWM定时器,其中定时器0、1、2、3有PWM功能,定时器4没有输出引脚。PWM定时器使用PCLK_PS ...
  • S5PV210 NAND Flash
    NAND Flash关于NAND FlashS5PV210的NAND Flash控制器有如下特点:1) 支持512byte,2k,4k,8k的页大小2) 通过各种软件模式来进行NAND Fl ...
  • S5PV210串口
    串口设置之输入输出字符S5PV210 UART相关说明 通用异步收发器简称UART,即UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER,它用来 ...
  • S5PV210按键控制LED
    原理图如图所示:查询用户手册得到:程序例子:(完整代码见“代码下载链接”)1、轮询的方式查询按键事件 *main c* 核心代码如下:while(1 ...
  • S5PV210控制蜂鸣器
  • S5PV210的启动过程
  • S5PV210点亮LED
  • S5PV210启动过程详解
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved