本文参考:http://shannonstrutz.com/uncategorized/setting-up-usbasp-for-use-with-atmel-studio-6

很多教程中都提供使用Atmel Studio和MKII对AVR单片机进行烧写,但民间使用最多的烧写器是物美价廉的USBasp,10元左右的价格比200元的MKII亲民多了。但是在Atmel Studio中不可以直接使用USBasp进行烧写,于是通常需要借助其他软件,带来更多麻烦。

本文通过Atmel Studio的External Tools和Avrdude软件,达到可以在Atmel Studio中直接烧写单片机的目的。这样可以在开发环境中完成编程、编译和烧写,非常方便。

第一步:你需要有一个USBasp以及其驱动,驱动程序在网络上铺天盖地,在购买模块的时候向店家索要也可。在设备管理器中可以通过设定驱动搜索的路径来安装驱动。驱动安装完成之后设备管理器中会出现libusb-win32 device,点开隐藏后有USBasp设备。如图所示。

第二步:安装好驱动后,需要安装Avrdude软件。下载页面在此:http://download.savannah.gnu.org/releases/avrdude/

windows系统可以选择下载zip格式的文件,解压之后是两个文件,一个可执行文件和一个配置文件,放在想要的目录下(需要放在一个目录下)。这两个文件的路径尽量不变,否则需要重新配置第三步。

第三步:打开Atmel Studio软件,点击Tools菜单,选择Externel Tools。首先在界面下方几个文本框中进行配置。Title随意,我写的是USBasp。Command输入框内输入 (路径/)(avrdude软件名).exe,如如果放在D盘根目录下,可执行文件的名字是avrdude.exe,则输入D:\avrdude.exe。Argument输入框输入:

-c usbasp -p atmega16 -B12 -U flash:w:$(ProjectDir)Debug\$(TargetName).hex:i

注:参考的原文中对应上述指令最后的TargetName,用的是ItemFileName,这样的话必须.c程序文件名和.hex文件名相同。如果你的.c文件名是main.c,则会报错。

另外,上述命令的-p参数是单片机型号,我使用的是atmega16,需要改成你的型号。

设置好之后点击Add按钮,就设置好了。之后Tools菜单下就会有你设置好的Title 的选项。如下图。

出现了USBasp选项。写完程序后,必需先按F7编译解决方案,再点击这个选项。之后会出现Avrdude的命令行界面,会出现几个进度条。如果只出现一个进度条,命令行界面一闪而过,则可能是编译失败了,我的方法是在点击 的瞬间截图,看报的错误是什么。也可以直接用CMD命令行运行Avrdude,烧写.hex文件,看看报的错误。

另外,如果是新单片机没有设置过熔丝位的话,需要先设置熔丝位,否则单片机会默认使用1MHz的内部时钟。熔丝位只需设置一次,所以可以使用任何软件设置一次便一劳永逸。如果没有熔丝位设置软件,也可以用上文Avrdude来设置。使用命令行,先导航到avrdude.exe所在目录,然后执行指令。以我的为例,使用atmega16芯片,设置LFuse,使单片机使用外部晶振:

avrdude -c usbasp -p atmega16 -U lfuse:w:0xCE:m

熔丝位的计算可以使用熔丝位计算器:http://www.engbedded.com/fusecalc/

可能出现的问题:

1.原文提到说参数命令行中的路径可能出现问题,解决方案是将两个双引号去掉。

2.如果命令行中提示找不到usbasp的问题,则检查驱动,或者重新安装别的驱动程序试试。

使用Atmel Studio7和USBasp烧写器烧写AVR单片机相关推荐

  1. 杰理之怎么区分芯片是不是烧写器烧写完后第一次运行?【篇】

    原理:烧写器烧写的时候把EEPROM擦写一遍,上电的时候检测EEPROM是否有"非第一次开机"标记,如果读不到这个标记,即为烧写器烧写完第一次开机运行.

  2. Altera的FPGA用烧写器烧写POF文件,烧写成功,显示100%,但是逻辑做的点灯没亮,一般会是哪的问题呀?烧写sof,灯亮。

    Altera的FPGA用烧写器烧写POF文件,烧写成功,显示100%,但是逻辑做的点灯没亮,一般会是哪的问题呀?烧写sof,灯亮. 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markd ...

  3. C语言烧写C51单片机的线,51单片机烧写程序过程以及详细说明【图文】

    Step 1:Keil软件的安装 1.选中文件夹中的C51V900安装程序并打开,如图: 2.在安装对话框里一直选择Next,直到Finish完成Keil的安装. Step 2: 安装USB转串口线的 ...

  4. hc05与单片机连接图_小白学单片机:单片机烧写器及烧写软件的使用

    一.为什么叫烧写 早期一般是将调试好的单片机程序写入到ROM.EPROM中,这种操作就像刻制光盘一样,实在高电压方式下写入,PROM是一次性写入,存储内部发生变化,有些线路或元件就被烧断,不可再恢复, ...

  5. [Arduino]烧写Arduino BootLoader的几种方法

    [Arduino]烧写Arduino BootLoader的几种方法 身为Arduino 电子工程师,很多时候都会涉及到自制各种功能的Arduino 电路板(亦或者说是功能扩展板),但是从网上或者其他 ...

  6. 13.1-自己开发一个“单片机烧写工具”!不是开玩笑吧?原来如此^~^(OTA升级)

    听到这个"需求"的第一反应"这是开玩笑吧".我是是一个普通的码农,怎么可能开发出了那么复杂的东西. 带着一头冷汗,开始查资料中- 原来如此,有一种下载程序的方式 ...

  7. keil将c语言转换成hex文件格式,如何用keil烧写hex文件格式

    描述 如何将现成的hex文件用keil烧写 开发单片机的第一步就是用Keil软件编写汇编程序,并形成最终的"*.hex"目标文件,然后用编程器将该文件烧写到单片机中就行了,最后将烧 ...

  8. atmega168P烧写bootloader

    atmega168P烧写bootloader 烧写bootloader的方法大体分为两种: 1.使用Arduino IDE烧写bootloader 2.使用USBasp烧写 方法一:使用Arduino ...

  9. C6000系列的外置flash的烧写流程

    CCS编译生成的out格式文件不能直接用于Flash烧写.在TI公司给出的技术文档中,首先将out文件利用其HEX工具转换为hex格式文件,然后利用Flash烧写工具将hex格式映像文件写入到片外Fl ...

  10. micropython8266ota_[Micropython]TPYBoardV102 Dfu固件烧写教程

    TPYBoardv10x固件烧写一直是大家比较关心的问题,上次教大家用SWD接口烧写TPYBoard的固件,这次教大家用另一种方式烧写我们TPYBoardv10x的固件,直接用dfu模式烧写固件. 用 ...

最新文章

  1. 向类脑芯片迈进!科学家制造出光基人工神经元网络芯片
  2. 概念炒作的背后,“智能合约”的真相是什么?
  3. 关于《关于一道C#上机题的一点想法》
  4. nodejs开发游戏服务器遇到的性能问题
  5. Python设计模式——观察者模式
  6. 同时遍历多个dataframe_Java面试-容器的遍历
  7. SSL与WildFly 8和Undertow
  8. Android无法优化应用,Android应用优化总结
  9. oracle中的合并查询
  10. mail 命令发送附件
  11. logstash mysql 准实时同步到 elasticsearch
  12. java键盘钩子_HOOK使用:全局键盘钩子
  13. 基于vue+muse-ui的简历生成器
  14. 华为matebook13 win10系统重置登录密码
  15. 【毕设参考】ESP32 + HaaS Python打造可以统计流量的自动感应门系统
  16. 大数据第一季--Hadoop(day5)-徐培成-专题视频课程
  17. 大一大学计算机导论论文,大学计算机导论论文3500字_大学计算机导论毕业论文范文模板.doc...
  18. 统计候选人得票(结构体)
  19. 计算机网络-以太网,局域网,城域网,广域网,互联网,因特网,万维网的区分
  20. zend gard加密过期

热门文章

  1. xmind电脑版免费_有哪些免费好用的电脑版剪辑软件?
  2. php四段拼接ip,合并相同的ip段算法
  3. 管道单线图CAD工具
  4. python随手记自动记账_简化记账——我的“随手记”
  5. window 搜索占用进程 资源监视器
  6. mongodb基本数据类型
  7. 机器视觉应该先看什么书?
  8. MAXScript学习笔记(1)
  9. 马拉车算法(不懂问我)
  10. php文字怎么居中,PHP图片文字合成居中