当前位置:首页 > 单片机 > 单片机
[导读]1.获得必须的软件请从Atmel官方获得最新版本的AVR Studio下载地址参见:http://www.cnblogs.com/proteus/archive/2011/11/09/2242583.html请从WinAVR官方获得最新版本的WinAVR下载地址:http://sourceforge.net/proj

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


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭