AVR有不下数十种开放式编程器,这里我介绍的是:AVR910
它是所有AVR编程器中,除了比并口isp下载线之外最廉价也是蛮稳定的一款下载线。
它只用到一块AVR单片机内部的UART和SPI模块,使用7.3728MHz晶振。功能简单,可以使用功能较少的单片机。支持大多数的AVR系列,isp下载。
原理图和目标代码及attiny2313的熔丝配置在附件中。
上位机使用的是AVRStudio自带的AVRPROG
官方网站http://www.mikrocontroller-projekte.de/
需要指出的是,原来官网提供的程序是基于AT90S2313,由于这款单片机已经停产,经过尝试,只要对官网上那个源代码更换头文件就可以移植到attiny2313或mega8上,附件中包含修改后的源代码。
经过测试,这个和usbasp读取同一片atmega128速度快很多(可能是isp速度关系),而且它可以适应各种单片机的时钟。而且由于是串口,usbasp使用的是虚拟USB,在使用过程中发现稳定性好很多,我在台机上用真的串口,在笔记本上用USB转串口,都能高速且稳定的下载。
补充:经过测试目前最新版的3.8固件发现它能支持mega88下载,使用avrprog即可,在avrdude下也能使用了,只是可能需要修改一下avrdude.conf文件。
修改如下:
……
#------------------------------------------------------------
# ATmega88
#------------------------------------------------------------
part
id = "m88";
desc = "ATMEGA88";
has_debugwire = yes;
flash_instr = 0xB6, 0x01, 0x11;
eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
0x99, 0xF9, 0xBB, 0xAF;
stk500_devcode = 0x73;
# avr910_devcode = 0x;
signature = 0x1e 0x93 0x0a;
pagel = 0xd7;
bs2 = 0xc2;
chip_erase_delay = 9000;
……
找到# avr910_devcode = 0x;这一行
将其修改为 avr910_devcode = 0x73;即可
ATmega48和ATmega168修改类似。
用户427490 2012-8-30 17:25
用户174680 2009-12-12 11:17
用户703792 2009-11-9 20:01