Arduino-based AVR High Voltage Programmer
本文来自文库分享网www.wkfxw.com
Arduino开发板(这里以Arduino UNO为例)
锁死的AVR芯片(这里以Atemga8为例)
参照电路图准备连接线及相应电子元件
除了Arduino需要另外准备12V直流电源
根据电路图连接电路,如果为了以后方便使用可以焊接成板,这里用了面包板。
注:
图中的1K电阻起保护作用,可选
2N3093可以替换为类似的NPN型三极管
到下载程序,将程序写入Arduino中,注意程序中前两行的定义需要根据所恢复的AVR芯片修改对应的默认熔丝位(这里以Atmega8为例),可以到“engbedded”网站中的“AVR Fuse Calculator”查看
#define LFUSE 0xE1
检查电路连接无误后上电,等待电路中的指示灯亮起后按下按钮,当指示灯重新亮起后表示执行完毕。随后可以将恢复后的AVR芯片链接USBASP检验是否可以读取芯片。
图中的2N3903三极管可以替换成2N3904或者其它类似的NPN型三极管
图中的连接Arduino IO口的1K电阻起保护作用,可选
Arduino程序烧写前需要根据所恢复的AVR芯片中的默认熔丝位修改程序文件
本电路不能代替专用并行编程器,只是用来将AVR芯片的熔丝位复位
本文系参考国外一篇文章结合亲身实践整理所得,亲测已成功恢复Atmega8熔丝位,更详细内容请见参考资料中的原文章链接