2018版USBASP烧录器改通用版教程

这篇教程介绍了如何将2018版USBASP编程器改造为通用版,以便使用AVRDUDESS等软件进行烧录。改造过程包括短接特定焊点、更换固件和设置熔丝位,使得烧录器能在Linux系统和ArduinoIDE中使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2018版USBASP烧录器改通用版教程


✨今天来改造的是下面这种AVR编程器,在某宝上售卖的目前基本都是“智峰”的USBasp编程器的程序固件,虽然免驱,但只能用智峰的下载软件progisp,通用版的AVR烧录软件识别的是国际版USBasp,也就是说虽然都是USBasp,但固件和驱动完全不一样(这也是为什么很多的USBasp不能在Linux上对AVR单片机烧录程序的原因),不过在此之前也有这个的改造教程在网上,不过那是对2014版的改造,2018版的PCB电路有所不同和差异。

🎯改公版的利弊说明

  • 🌿该为公版USBASP烧录器后,不能继续使用智峰的progisp软件来进行程序烧录。
  • 🌿可以使用AVRDUDESS软件,进行烧录,不改的话不能使用这个软件烧录。
  • 🌿如果是使用Arduino IDE开发,那么推荐改公版,该为公版后,可以直接通过Arduino IDE,目标芯片通过icsp接口连接,可以直接进行烧录。
📝本次改造的教程只针对下面这种带金属壳的,因为我手上只购买了这种带壳的,不带壳的主控采用的是atmega8A,而带壳的采用的主控是atmega88v
✨MEGA88与MEGA8的区别:
  • 🌿MEGA88是MEGA8​的升级版。(带壳版的MEGA88V比不带壳版的MEGA8​A的还便宜一些)
  • 🌿MEGA88与MEGA88V​的区别问题,带V的是低电压版
    在这里插入图片描述
  • 🔖国内免驱版的USBASP,这个类似STC8STC32系列的支持的所谓免串口,USB下载识别的也是这个HID标准的设备信息。
    在这里插入图片描述
  • USBASP通用版识别的设备信息
    在这里插入图片描述

🔰2014版和2018版差异

  • 🌿2018版(目前市面所售卖的这种),上面标识的是:MX-U2BLSP-V5.00
    在这里插入图片描述
  • 🌿2014版:
    在这里插入图片描述

📓2014版的改造教程说明

🍁因为网上有前辈已经给出了详细的改造教程就不在说明了,如果要改造2014版的给大家推荐看;

📋2018版的改造教程

🔨需要准备2个usbasp才行,一个给另外一个进行改造升级。目前市场价:10RMB/个
📑改造前的准备工作
  1. 将需要改造的usbasp烧录器,对板子上丝印的up标识的两个过孔进行短接(PB2和PC6短接):
    在这里插入图片描述
    在这里插入图片描述

  2. 拆除PCB板正面的0欧姆电阻:(位置在丝印A的下方,如图)
    在这里插入图片描述

  3. 将另一个usbasp烧录器用配送的烧录线对接起来。

借个2014版的图来表述一下,因为我制作的时候没有来得及拍照,做完就拆卸掉了。防呆的插头线应该不会插错的吧。

在这里插入图片描述
4 将智峰的usbasp烧录器插入电脑,待改造的不要插电脑上。
5 打开烧录软件progisp1.72

  • 烧录软件相关资源
https://pan.baidu.com/s/1VphJGuKmaVEu1d7TxGG1Ig 
提取码:1234
  • 通用版usbasp固件下载地址:https://www.fischl.de/usbasp/
    在这里插入图片描述
  • 根据自己手上的usbasp主控是什么型号的就选择对应型号的Hex文件
    在这里插入图片描述
  1. 烧写熔丝位
  • 不同的主控芯片型号烧写的熔丝位不一样:
# TARGET=atmega8    HFUSE=0xc9  LFUSE=0xef
# TARGET=atmega48   HFUSE=0xdd  LFUSE=0xff
# TARGET=atmega88   HFUSE=0xdd  LFUSE=0xff

在这里插入图片描述

  1. 烧写flash程序
    在这里插入图片描述
    在这里插入图片描述

⛳ 安装驱动:

拔掉智峰USBasp,插上改造后的USBasp,电脑会提示安装驱动失败或其他提示(也有提示成功的,为保万一还是再装一下,因为驱动有3种),忽略。
🔰驱动类型选择:libusb 和WinUSB类型(更新补充说明,2024-9-13)
  • 📍参考说明:https://electronics.stackexchange.com/questions/416714/avrdude-does-not-recognize-usbasp-device/417509#417509
    on most places on the internet you will be instructed to install the libusbK driver, which doesn’t work, use the libusb-win32 variant instead
    make sure the AVRDUDE.EXE tool is the latest version (the older doesn’t work with the newer USB drivers for some reason)
    in case of using a clone (for instance having “Van Ooijen’s technische informatica” as vendor id instead of the original name “www.fischl.de”), make sure to use the -c usbasp-clone -P usb AVRDUDE settings instead of -c usbap -P usb. The clone setting causes AVRDUDE to ignore the vendor description and also accept the clone. You’d think having the correct VID, PID combination would be sufficient but no…
  • 🥕个人测试2个驱动类型,安装其中任意一个都可以工作,个人使用推荐WinUSB,个人所使用的是Window10系统,如果发现安装的WinUSB驱动,无法烧录或连接成功,可以更换驱动类型做尝试。由于每个人的电脑使用环境差异,根据实际情况选择。✨大家在打驱动时注意这一个点。✨

  • 🌿打开Zadig选择 Options->List All Devices
    在这里插入图片描述
    在这里插入图片描述

  • 🌿在下拉框中选择USBasp(一定不要选错)
    在这里插入图片描述

绿色箭头右侧选择为WinUSB
在这里插入图片描述

然后Install Driver(我已经安装过了,所以显示为Reinstall Driver)

到这里为止,已经改造完毕,可以重新插上改造过的usbasp工具,使用在这里插入图片描述

进行对Arduino UNO板子进行ICSP烧录,改造过的usbasp烧录器就不能继续使用原来智峰的软件进行烧录了。

AVRDUDESS软件烧录程序

在这里插入图片描述

  • ✨如果采用的是开源自制的USBASP的,那么在使用AVRDUDESS工具进行固件烧录时,推荐选择:usbasp-clone
    在这里插入图片描述

📙Arduino IDE直接烧录说明

通过ICSP接口连接目标板。

  • 编程器选择USBasp
    在这里插入图片描述
  • 使用编程器上传。
    在这里插入图片描述
  • 烧录信息
avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

         Using Port                    : usb
         Using Programmer              : usbasp
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: auto set sck period (because given equals null)
avrdude: reading input file "d:\arduino\MyHexDir/Blink.ino.hex"
avrdude: writing flash (1968 bytes):

Writing | ################################################## | 100% 1.18s

avrdude: 1968 bytes of flash written
avrdude: verifying flash memory against d:\arduino\MyHexDir/Blink.ino.hex:
avrdude: load data flash data from input file d:\arduino\MyHexDir/Blink.ino.hex:
avrdude: input file d:\arduino\MyHexDir/Blink.ino.hex contains 1968 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.77s

avrdude: verifying ...
avrdude: 1968 bytes of flash verified

avrdude done.  Thank you.
注意一点;改造后的usbasp烧录器,那个丝印A处的电阻不要在焊接上去了,切记!如果你焊接上去了,插上电脑是不能识别到烧录器的。不要在这里多此一举,但是在改造前一定要拆掉这个0Ω的电阻再去改造。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值