avr proteus仿真第一课:安装设置avr studio和winavr

发布者:EtherealLove最新更新时间:2017-01-11 来源: eefocus关键字:avr  proteus仿真  studio  winavr 手机看文章 扫描二维码
随时随地手机看文章

avr的开发环境需要安装两个软件:

 

转载并修改一篇文章来说明这两个软件的安装设置吧

 

 

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


关键字:avr  proteus仿真  studio  winavr 引用地址:avr proteus仿真第一课:安装设置avr studio和winavr

上一篇:avr单片机proteus仿真第三课:单只数码管
下一篇:ATMEGA16单片机熔丝位烧写设置

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

如何使用AVR-GCC API
API 嵌入式编程的代码可以简单地分为两部分,一是与硬件无关的算法部分,对其编程与普通C编程没有区别;二是与硬件相关的寄存器/端口操作部 分。不同的MCU实现方法各有不同。在AVR-GCC里则通过一系列的API来解决。当然,用户也可以定义自己的API。在此简单地介绍目前AVR- GCC里定义的API,以及AVR-GCC的工作过程。 一.存储器API AVR具有三种存储器:FLASH,SRAM和EEPROM。 AVR-GCC将程序代码放在FLASH,数据放在SRAM。 I.程序存储器 如果要将数据(如常量,字符串,等等)放在FLASH里,用 户需要指明数据类型__attribute__((progmem))。为了方便使用,AVR-GC
[单片机]
MathWorks R2020b版MATLAB和Simulink带来数百个新特性
MathWorks公司推出了R2020b版MATLAB和Simulink产品系列。MATLAB中的新功能让用户更轻松地处理图形和创建App,而 Simulink的更新侧重于帮助用户能够实现更快速、更便捷的访问。借助新推出的Simulink Online,用户可以直接通过Web浏览器使用Simulink。R2020b还推出了基于人工智能(AI)的新产品,用以加快自主系统开发,快速创建自动驾驶3D模拟场景等。 在数百个全新和升级功能中,MATLAB新增了气泡图和分簇散点图;提供了使用MATLAB比较工具对使用App Designer创建的App进行比较与合并的能力;以及将自定义的图标和组件添加到您的MATLAB App中等特性。S
[半导体设计/制造]
mini244-------keil for ARM系列之时钟的配置(附带LED代码)
整篇文章的结构如下: 一、直接把时钟管理用到的寄存器罗列出来进行分析。 二、对其中的一些原理性的东西做介绍。 三、对于在后面编写串口时会出现的问题注意点提出说明。 四、LED 代码 一、在时钟管理中会用到的寄存器有以下一些。 LOCKTIME,MPLLCON,UPLLCON,CLKCON,CLKSLOW,CLKDIVN,CAMDIVN。 LOCKTIME:是对于配置好锁相环之后需要延时的一段时间,这时为了上锁稳定。其中包括两部分 ①U_LTIME:这是UCLK(USB专用的一个时钟)配置好后需要的延时时间。 ②M_LTIME:这时FCLK(系统时钟即CPU的频率),HCLK(一些高速设备所用到时钟),PCLK(低速设备所用到
[单片机]
mini244-------keil for ARM系列之时钟的配置(附带LED代码)
基于AVR单片机的高压防护系统的研究
目前,我国铁路上运行的电力机车所使用的电源,是接触网提供的25kV单相交流电。在电气化铁路区段运行和整备作业的机车,经常需要作业人员通过人孔盖登上车顶,对机车进行检查维修工作。通常在上车顶工作前,作业人员应当按照登顶作业程序,在地面对作业网断电,再打开车顶人孔盖登顶作业。 然而,因为作业人员疏忽大意,未认真执行接触网断电的操作程序,在接触网上仍带电的情况下,就盲目登车顶工作,多次造成被电击伤亡的事故。针对这一情况,我们研制了机车车顶人孔盖安全报警联运接地装置,可以为登顶作业的工作人员提供可靠、有效的人身安全保护,确保登顶作业人员的人身安全。 本文将介绍一套可靠检测接触网有无高电压的告警装置和一套受告警装置控制的联运接地装置。
[单片机]
R&S专家亮相Future论坛举办的未来5G信息通信技术国际研讨会
经过长时间的探讨,5G的愿景已经非常清晰。5G未来主要将应用到热点高容量、高可靠人机通信、海量机器通信三个方面。5G实现愿景最重要的技术之一是高频高带宽技术,由此而带来的5G测试技术的需求是明显而具有挑战性的。 2015年11月6日-7日,每年一度的 未来5G信息通信技术国际研讨会 上,与会的国际和国内政府官员、重要组织以及通信领先企业专家讨论了5G的未来和挑战,并提出了针对5G方案的建议,是每年一次的在行业内有重要影响力的5G盛会。作为Future论坛的正式成员,R&S公司的著名专家Reiner Stulhfauth先生在会上探讨了5G在高频高带宽,射频重要技术以及信道测试等方面的几个重要问题,充分展示了R&S公司
[测试测量]
关于AVR单片机的看门狗
看门狗这个东西以前没接触过 理解它费了一点周折。 使用它的复位MCU的功能实现LED的闪烁。 准备工作是设定WDT的超时时间(如1s) 首先使能看门狗(wdt_enable),然后喂狗(wdt_reset),再延时灯的闪烁时间(delay=0.5s),使灯亮(SET_LED);再用一个恰当的比较长的延时(delay 0.5s)饿死狗。之后MCU重启,如此往复。 (1)延时可以调用库函数,还可以使用定时器; (2)SET_LED; while(1) wdt_reset(); 表示 不断喂狗,从而不让MCU重启,使灯一直亮着。程序中使用这些代码的用途待考证,可以给作者发email 嘿嘿~ (3)软件看门狗和硬件看门
[单片机]
建立一个属于自己的AVR的RTOS(1)—函数的运行
自从03年以来,对单片机的RTOS的学习和应用的热潮可谓一浪高过一浪.03年,在离开校园前的,非典的那几个月,在华师的后门那里买了本邵贝贝的《UCOSII》,通读了几次,没有实验器材,也不了了之。 在21IC上,大家都可以看到杨屹写的关于UCOSII在51上的移植,于是掀起了51上的RTOS的热潮。 再后来,陈明计先生推出的small rots,展示了一个用在51上的微内核,足以在52上进行任务调度。 前段时间,在ouravr上面开有专门关于AVR的Rtos的专栏,并且不少的兄弟把自己的作品拿出来,着实开了不少眼界。这时,我重新回顾了使用单片机的经历,觉得很有必要,从根本上对单片机的RTOS的知识进行整理,于是,我开始了编写一个
[单片机]
AVR单片机视觉智能寻迹车设计与实现
0 引 言 智能运输系统是未来交通运输系统发展的趋势,智能汽车在智能运输系统中扮演着十分重要的角色。作者提出智能寻迹车作为构建未来智能交通运输系统中重要部分,针对未来交通运输系统有导航线的环境命题假设下智能汽车的自主寻迹问题,提出一种基于视觉的智能寻迹车模设计方案,作为该假设问题的解决方案。 基于视觉的智能寻迹车模设计方案能够在线型复杂,转弯半径不确定性大的情况下,利用视觉自主寻迹前进,分级精确转向。 1 系统总体设计 基于视觉的智能寻迹车模系统以AVR单片机MEGAl6为核心,由单片机模块、路径识别模块、直流电机驱动模块、舵机驱动模块等组成,如图1所示。 直流电动机为车辆的驱动装置,转向电动机用于控
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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