搜索
bottom↓
回复: 70

过节了,继续放点东西给大家分享(最简易的高压AVR解锁器,有C源码)

  [复制链接]

出0入0汤圆

发表于 2011-12-24 22:34:54 | 显示全部楼层 |阅读模式
以下资料我是从网上看到的,不是我原创的,感觉挺简单并且实用,放上来大家分享
  
简单全能的AVR单片机高压解锁器(制作方法,以MEGA16为例,附电路与C源程序,注:不是高压编程器)2011-06-05 14:40AVR高压解锁
概述:
    利用常用的AVR单片机ATmega16制作的高压解锁器,可以解开所有芯片锁死的情况(除非芯片损坏、烧毁)。制作作品经实验验证,解开了山东大学物理学院AVR单片机实验室所有近40片锁死的单片机以及许多同学锁死的单片机。制作方法简单,保证你一小时之内做完。
    所需元件极少(如电路图所示):仅一只三极管、一片7805,三支电阻、一只LED、三个小电容,一片可用的单片机,一个12V电源。
    程序与电路连接可方便的移植到其它型号单片机上(凡支持高压编程的,都可以)。
    希望能对初学单片机的同学有所帮助,特别是我们学校暑假参加电子设计比赛的同学。
制作背景(常见芯片锁死情况与高压解锁介绍):
    AVR单片机是我们学校同学经常使用的单片机,尤其是中高档单片机ATMEGA16。
单片机在使用的时候,经常出现由于配置熔丝位的失误或电路的失误而造成单片机锁死的情况,锁死之后,便无法再对单片机进行编程。
    常见的锁死的情况以及常用的解决办法:
1,  时钟选择错误(可通过有源晶振配合ISP或JTAG下载器、高压编程器进行解锁)
2,  ISP被禁(可通过JTAG下载器、高压编程器进行解锁)
3,  JTAG被禁(可通过ISP下载器、高压编程器进行解锁)
4,  锁定位加密(可通过单片机设定允许的方式进行单片机擦除)
5,  以上情况的组合:
1+2(可通过有源晶振配合JTAG、高压编程器进行解锁)
1+3(可通过有源晶振配合ISP、高压编程器进行解锁)
1+4(可通过有源晶振配合单片机设定允许的方式进行单片机擦除)
2+3(只能通过高压编程器进行解锁)
2+4(可通过JTAG下载器、高压编程器进行单片机擦除)
3+4(可通过ISP下载器、高压编程器进行单片机擦除)
1+2+3(只能通过高压编程器进行解锁)
1+2+4(可通过有源晶振配合JTAG下载器、高压编程器进行单片机擦除)
1+3+4(可通过有源晶振配合ISP下载器、高压编程器进行单片机擦除)
2+3+4(只能通过高压编程器进行单片机擦除)
1+2+3+4(只能通过高压编程器进行单片机擦除)
6,  其他锁死情况(可通过某些方法或高压编程器进行解锁)

    可以看出,高压编程器是解锁功能最强的、不需要有源晶振配合的解锁工具。但是,与目前常用的编程下载器相比,高压编程器有许多缺点:
A,编程速度慢
    并行编程脉冲宽度需要大于250ns,如果是高压并行编程器,则烧写速度不会超过4Mbit/s,如果是高压串行编程器,则速度更慢。
B, 占用引脚多。
    无论高压并行编程器还是高压串行编程器,需要占用的目标单片机的引脚数都在16以上。
C, 需要12V的DC电压,而且电压范围窄(RESET:11.5~12.5V,VCC:4.5~5.5V)
    因此,现在很少有人用高压编程器对单片机进行编程,多数都用ISP或JTAG编程方式。因而专门的高压编程器价格也不低,简易的高压编程器价格在100以内,但是只能适用于某一种或两种单片机型号,而且需要专门的程序下载软件及驱动。
    但是因为它在对单片机进行解锁方面的功能,使的高压编程器并未完全被淘汰。
    因而使用高压编程器时便会感觉很矛盾:
1,  编程器的主要功能是给单片机编程,但是现在ISP或JTAG方式编程速度高、占用引脚少,而且相应的软件也非常完善,单就对单片机编程而言,完全不会使用高压编程的方式来对单片机编程。
2,  不使用高压编程器,很多时候单片机锁死后很难解开。但是仅为给单片机解锁而专门买个高压编程器,而且还要配合专门的软件使用,既不值又麻烦。

    通过查阅数据手册中高压编程的内容,利用常用的ATMEGA16单片机,可以设计制作一个不需要PC端软件、不附带编程功能、专门对单片机解锁的AVR高压解锁器。

制作方法:
    下面以对锁死的MEGA16单片机进行解锁为例,与大家分享制作方法与源程序。对于其它型号的单片机,只要具有高压编程接口,只需要查阅数据手册,将对应引脚接好即可。
    这些引脚都是用于高压编程的:DATA;RDY_BSY;_OE;_WR;BS1;XA0;XA1;PAGEL;BS2;RST;XTAL1;VCC

电路图:

(原文件名:5f845388c09b30cdf703a6f2.jpg)

注:出于某些考虑,线路直接以连线连接,未使用任何NetLabel  。图中的电容也可省略,一般没问题。

源程序:
/************ 相关说明 *****************/
//主单片机AVCC接VCC,利用AREF引脚控制锁死的单片机的VCC(5V电源电压能达到4.9V);
//主单片机的I/0寄存器ADMUX 控制AREF与AVCC的开关;
//三级管(9014)B极电阻100K,C极电阻1K,E极接GND(12.2V电源电压,能达到11.9V)
//锁死的单片机的RESET与VCC必须几乎同时加电压,不能有明显时间差;
//主单片机的熔丝位:禁用JTAG(因使用PORTC);1M内部时钟;

/************ C 源程序 ********************/
//Chip: ATmega16
//char is unsigned: Yes
//CodeVision AVR
#include <mega16.h>
#include <delay.h>

//引脚定义
#define DATA             PORTA         //锁死芯片的PORTB
#define RDY_BSY       PINC.4         //锁死芯片的PD1
#define _OE                PORTC.3      //锁死芯片的PD2始终为1
#define _WR               PORTC.2      //锁死芯片的PD3
#define BS1                PORTC.1      //锁死芯片的PD4
#define XA0               PORTC.0      //锁死芯片的PD5
#define XA1               PORTD.7      //锁死芯片的PD6
#define PAGEL           PORTD.6     //锁死芯片的PD7
#define BS2                PORTB.0      //锁死芯片的PA0
#define RST               PORTD.2      //9014的B极电阻
#define XTAL1           PORTC.6      //XTAL1
#define LED               PORTB.1      //LED
#define DDR_LED      DDRB.1        //
#define VCC_ON        ADMUX=0x40    //锁死芯片的VCC
#define VCC_OFF      ADMUX=0x00

//进入编程状态
#define PROG_ENABLE   BS1=0;XA0=0;XA1=0;PAGEL=0;
//初始化
void initial(void)
{
  DDRB=0xFF;
  DDRC=0xFF;DDRC.4=0;PORTC.4=1;
  DDRD=0xFF;
  DDRA=0xFF;

  _OE=1;
  _WR=1;
  XA0=1;
  XA1=1;
  PAGEL=0;
  BS2=0;
  BS1=0;
  RST=1;
  XTAL1=0;
  LED=0;
  VCC_OFF;
  DATA=0x00;
}
//芯片擦除
void chip_erase(void)
{
  XA1=1;XA0=0;
  BS1=0;
  DATA=0x80;
  XTAL1=1;XTAL1=0;
  _WR=0;_WR=1;
  while(RDY_BSY==0);
}
//重写熔丝位
  void write_fuse(char LB,char HB)
  {
   XA1=1;XA0=0;
   BS1=0;
   DATA=0x40;
   XTAL1=1;XTAL1=0;

   XA1=0;XA0=1;
   DATA=LB;      //熔丝低位
   XTAL1=1;XTAL1=0;
   BS1=0;BS2=0;
   _WR=0;_WR=1;
   while(RDY_BSY==0);
  
   XA1=1;XA0=0;
   BS1=0;
   DATA=0x40;
   XTAL1=1;XTAL1=0;

   XA1=0;XA0=1;
   DATA=HB;     //熔丝高位
   XTAL1=1;XTAL1=0;
   BS1=1;BS2=0;
   _WR=0;_WR=1;
   while(RDY_BSY==0);
  }
//高压恢复
  void recover_fuse(void)
{
  PROG_ENABLE;
  RST=0,VCC_ON;     //最关键的时序问题
  chip_erase(); //擦除
  write_fuse(0xE1,0x19); //恢复熔丝为默认(也可自己设定为其他值)
}
//结束状态
  void finish(void)
{
   DDRB=0x00;PORTB=0x00;
   DDRC=0x00;PORTC=0x00;
   DDRD=0x00;PORTD=0x00;
   DDRA=0x00;PORTA=0x00;
   DDR_LED=1;LED=1;
   VCC_OFF;
}
void main(void)
{

   initial();
   delay_ms(200);
   recover_fuse();
   finish();
}
功能与使用方法:
功能:
    将单片机锁定位与存储器擦除,并且将所有熔丝们都恢复为出厂默认(也可以改为自己想要的值)。
使用方法:
    按下按键1秒钟以上时间,若看到LED指示灯亮,说明解锁成功。若尝试数次仍不见LED指示灯亮,说明芯片非锁死,而是损坏了。
特点:
1,  不需要PC端软件,完全脱离电脑工作
2,  专门用来恢复熔丝,解锁单片机,不附加累赘功能
3,  使用方便,整个过程不到1秒时间
4,  可通过预留插针,将高压编程所需引脚引出,对其它型号单片机只要把对应引脚相连,即可解锁;
5,  制作简单,成本低廉。
PS:尽管市面上的高压编程器是用比ATMEGA16低档的ATMEGA8作为主单片机,但是我们根本不需要专门的单片机作为主单片机,只要保留程序和电路板,就可以用任一块未锁的单片机来解锁别的单片机。并且现在ATMEGA8的价格与ATMEGA16的价格已经相差不多。
平时一般不用这个东西,可以放到一边去,当芯片被锁时才拿出来使用,百试百灵。

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2011-12-25 00:42:40 | 显示全部楼层
留名标记

出0入0汤圆

发表于 2011-12-25 00:51:21 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-25 09:04:40 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-25 09:11:19 | 显示全部楼层

出0入169汤圆

发表于 2011-12-25 09:14:03 | 显示全部楼层
看起来不错,谢谢分享。

出0入0汤圆

发表于 2011-12-25 09:14:48 | 显示全部楼层
不错,有空整一个试试。

出0入0汤圆

发表于 2011-12-25 09:16:22 | 显示全部楼层
mark  谢谢

出0入0汤圆

 楼主| 发表于 2011-12-25 10:37:03 | 显示全部楼层
想在广州买两片ATMEGA16用用,大家知道目前是什么价钱吗?
在什么地方有得卖,麻烦推荐一下。
主要是因为数量少,新赛格的那帮人不理睬我,哈哈

出0入127汤圆

发表于 2011-12-25 10:43:47 | 显示全部楼层
不错,实用,而且挺简单的

出0入0汤圆

发表于 2011-12-25 10:53:35 | 显示全部楼层
mk

出0入0汤圆

发表于 2011-12-25 11:22:04 | 显示全部楼层
回复【9楼】dssz  
-----------------------------------------------------------------------

点击网页右上角不就能找到了吗

出0入0汤圆

 楼主| 发表于 2011-12-25 11:31:17 | 显示全部楼层
回复【12楼】qqcanread
回复【9楼】dssz   
-----------------------------------------------------------------------
点击网页右上角不就能找到了吗

-----------------------------------------------------------------------

我想在广州买,不想邮寄,省点邮费,呵呵

省下邮费,买多片ATMEGA8玩玩

出0入0汤圆

 楼主| 发表于 2011-12-25 11:33:35 | 显示全部楼层
回复【10楼】llssr
不错,实用,而且挺简单的
-----------------------------------------------------------------------

我自己用面包板,按电路图中的连接连上线,插上12V变压器就OK了

出0入0汤圆

发表于 2011-12-25 12:34:19 | 显示全部楼层
标记

出0入0汤圆

发表于 2011-12-27 10:37:04 | 显示全部楼层
好文章,我需要.

出0入0汤圆

发表于 2012-7-21 09:41:06 | 显示全部楼层
很不错的东西,但是我想问一下,如果是旧的90S2313这样的型号能用吗?我以前有一次烧坏了一片,一直放在一边,现在想试试能不能恢复。

出0入0汤圆

发表于 2012-9-17 23:32:10 | 显示全部楼层
今天恢复了2片m88,谢了!

出0入0汤圆

发表于 2012-12-30 18:14:42 | 显示全部楼层
本帖最后由 yiyp77 于 2012-12-30 18:16 编辑

请问怎么恢复M8的reset,做请给个固件和线路图,指点下,谢谢

出0入0汤圆

发表于 2012-12-30 18:16:05 | 显示全部楼层
define_avr 发表于 2012-9-17 23:32
今天恢复了2片m88,谢了!

请问怎么恢复M8的reset,请给个固件和线路图,指点下,谢谢

出0入0汤圆

发表于 2012-12-30 20:51:08 | 显示全部楼层
yiyp77 发表于 2012-12-30 18:16
请问怎么恢复M8的reset,请给个固件和线路图,指点下,谢谢

我是熔丝位写错,不能下载了,就是用LZ的电路,代码我修改了下用一片好的M88来恢复不能下载的2片M88的。

出0入0汤圆

发表于 2012-12-30 21:42:11 | 显示全部楼层
顶啊!肯定会用的到的

出0入0汤圆

发表于 2013-1-1 19:04:08 | 显示全部楼层
mark 待用 ~~

出0入0汤圆

发表于 2013-1-1 19:14:18 | 显示全部楼层
标记一下,待用...

出0入0汤圆

发表于 2013-1-2 08:50:29 | 显示全部楼层
标记!学习下

出0入0汤圆

发表于 2013-1-2 14:30:51 | 显示全部楼层
记号,以后要用到。

出0入0汤圆

发表于 2013-1-2 15:53:14 来自手机 | 显示全部楼层
很好,标记

出0入0汤圆

发表于 2013-1-2 16:18:25 | 显示全部楼层
留名标记

出0入0汤圆

发表于 2013-1-2 17:12:31 | 显示全部楼层
留个记号

出0入0汤圆

发表于 2013-1-2 17:24:39 | 显示全部楼层
标记制作

出0入0汤圆

发表于 2013-1-2 18:09:42 | 显示全部楼层
做个记号,手上有不少atmega8

出0入0汤圆

发表于 2013-1-3 09:17:24 | 显示全部楼层
不错啊,我也有锁死的芯片,感谢楼主的分享!

出0入0汤圆

发表于 2013-1-3 09:19:18 | 显示全部楼层
学习,mark

出0入0汤圆

发表于 2013-1-8 12:18:21 | 显示全部楼层
define_avr 发表于 2012-12-30 20:51
我是熔丝位写错,不能下载了,就是用LZ的电路,代码我修改了下用一片好的M88来恢复不能下载的2片M88的。 ...

求M8的固件和连线资料,谢谢

yiyp77@qq.com

出0入0汤圆

发表于 2013-1-8 12:24:34 | 显示全部楼层
yiyp77 发表于 2013-1-8 12:18
求M8的固件和连线资料,谢谢

#include <iom88.h>
#include "intrinsics.h"



#define CPU_F ((double)16000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))



//引脚定义
#define DATA          PORTD          //锁死芯片的PORTB
#define RDY_BSY       PINC_Bit5      //锁死芯片的PD1
#define _OE           PORTB_Bit0     //锁死芯片的PD2始终为1
#define _WR           PORTB_Bit1     //锁死芯片的PD3
#define BS1           PORTB_Bit2     //锁死芯片的PD4
#define XA0           PORTB_Bit3     //锁死芯片的PD5
#define XA1           PORTB_Bit4     //锁死芯片的PD6
#define PAGEL         PORTB_Bit5     //锁死芯片的PD7
#define BS2           PORTC_Bit0     //锁死芯片的PA0
#define RST           PORTC_Bit1     //9014的B极电阻
#define XTAL1         PORTC_Bit2     //XTAL1
#define LED           PORTC_Bit3     //LED
#define DDR_LED       DDRC_Bit3        
#define VCC_ON        PORTC_Bit4 = 1    //锁死芯片的VCC
#define VCC_OFF       PORTC_Bit4 = 0

//进入编程状态
#define PROG_ENABLE   BS1=0;XA0=0;XA1=0;PAGEL=0;
//初始化
void initial(void)
{
  DDRB=0xFF;
  DDRC=0xFF;
  DDRC_Bit5=0;
  PORTC_Bit5=1;
  DDRD=0xFF;

  _OE=1;
  _WR=1;
  XA0=1;
  XA1=1;
  PAGEL=0;
  BS2=0;
  BS1=0;
  RST=1;
  XTAL1=0;
  LED=0;
  VCC_OFF;
  DATA=0x00;
}
//芯片擦除
void chip_erase(void)
{
  XA1=1;XA0=0;
  BS1=0;
  DATA=0x80;
  XTAL1=1;XTAL1=0;
  _WR=0;_WR=1;
  while(RDY_BSY==0);
}
//重写熔丝位
  void write_fuse(char LB,char HB)
  {
   XA1=1;XA0=0;
   BS1=0;
   DATA=0x40;
   XTAL1=1;XTAL1=0;

   XA1=0;XA0=1;
   DATA=LB;      //熔丝低位
   XTAL1=1;XTAL1=0;
   BS1=0;BS2=0;
   _WR=0;_WR=1;
   while(RDY_BSY==0);
  
   XA1=1;XA0=0;
   BS1=0;
   DATA=0x40;
   XTAL1=1;XTAL1=0;

   XA1=0;XA0=1;
   DATA=HB;     //熔丝高位
   XTAL1=1;XTAL1=0;
   BS1=1;BS2=0;
   _WR=0;_WR=1;
   while(RDY_BSY==0);
  }
//高压恢复
  void recover_fuse(void)
{
  PROG_ENABLE;
  RST=0,VCC_ON;     //最关键的时序问题
  chip_erase();    //擦除
  write_fuse(0x62,0xDF); //恢复熔丝为默认
}
//结束状态
  void finish(void)
{
   DDRB=0x00;PORTB=0x00;
   DDRC=0x00;PORTC=0x00;
   DDRD=0x00;PORTD=0x00;
   DDR_LED=1;LED=1;
   VCC_OFF;
}
void main(void)
{
   initial();
   delay_ms(200);
   recover_fuse();
   finish();
}

出0入0汤圆

发表于 2013-1-8 12:26:52 | 显示全部楼层
用楼主的电路,m88恢复m88,引脚连接在“//引脚定义”里.

出0入0汤圆

发表于 2013-1-8 13:22:58 | 显示全部楼层
本帖最后由 yiyp77 于 2013-1-8 13:53 编辑
define_avr 发表于 2013-1-8 12:26
用楼主的电路,m88恢复m88,引脚连接在“//引脚定义”里.


谢谢啊,回复真快!!!!希望能放上固件,呵呵

出0入0汤圆

发表于 2013-4-11 14:23:08 来自手机 | 显示全部楼层
谢谢楼主......

出0入0汤圆

发表于 2013-5-8 13:24:20 | 显示全部楼层
不成功?

出0入0汤圆

发表于 2013-8-2 22:21:28 | 显示全部楼层
编译时错误找不到delay.h

出0入0汤圆

发表于 2013-8-2 22:24:48 | 显示全部楼层
我的是WIN7系统

出0入0汤圆

发表于 2013-8-2 23:05:44 | 显示全部楼层
备用,好东西

出0入0汤圆

发表于 2013-8-3 16:46:11 | 显示全部楼层
define_avr 发表于 2013-1-8 12:24
#include
#include "intrinsics.h"

请问能不能发个atmega8的 .HEX 文件给我mrliang520@qq.com,我编译不了。。大谢了.我有几块atmega8  的复位脚锁死了

出0入0汤圆

发表于 2013-8-4 17:01:52 | 显示全部楼层
不错,同求m8的资料

出0入0汤圆

发表于 2013-8-4 17:35:46 来自手机 | 显示全部楼层
回头做个试试,手里正好有几片锁死的AVR

出0入0汤圆

发表于 2013-8-8 02:26:50 | 显示全部楼层
目测我锁了一个~先马克~

出0入8汤圆

发表于 2013-8-8 09:10:19 | 显示全部楼层
mark            

出0入0汤圆

发表于 2013-8-8 09:28:33 | 显示全部楼层
好东西。mark

出0入0汤圆

发表于 2013-8-8 19:02:33 | 显示全部楼层
顶顶顶

出0入0汤圆

发表于 2013-11-24 22:10:43 | 显示全部楼层
先收藏下。。

出0入0汤圆

发表于 2013-11-24 22:55:58 | 显示全部楼层
好东西!

出0入0汤圆

发表于 2013-11-29 16:06:24 | 显示全部楼层
mark,留着以后参考

出0入0汤圆

发表于 2014-10-6 21:53:10 来自手机 | 显示全部楼层
看一下,用48改片试试

出0入0汤圆

发表于 2014-12-2 19:35:56 来自手机 | 显示全部楼层
这个熔丝解锁器谁做成功过,我怎么用MegA48改做一个不成功

出0入0汤圆

发表于 2015-4-18 23:50:01 | 显示全部楼层
我想请问,这个主单片机的Reset也不用接吗?

出0入0汤圆

发表于 2015-4-18 23:54:45 | 显示全部楼层
好,记个号,备用。

出0入0汤圆

发表于 2015-4-19 11:00:57 | 显示全部楼层
我一年前锁死了一片AVR8,当时在网上看到这个了,顺便研究了一下AVR的熔丝位和锁定位,然后我做了改进,能够兼容所有的AVR芯片.8、16、32只要支持并行编程的都可以。当然我并没有全部型号的AVR芯片,只能是查所有型号的datasheet,找到共同的熔丝位设置。主要看红色字体。另外因为我用的是STC51 1T单片机做解锁器,速度太快,做了延时nop(T)。如果两条指令之间的时间间隔大于250ns,就不用延时了。
还有,需要双电压太蛋疼了,后来我用mc34063做了个5V升压12V的电路。12V引脚千万别接错了,接错了会烧芯片!!!


/********************重写熔丝位********************/
void Write_Fuse(char LB, char HB, char EB) {
    XA1 = 1;   XA0 = 0;
    BS1 = 0;
    DATA = 0x40;
    XTAL = 1;  nop(T);   XTAL = 0;
    XA1 = 0;   XA0 = 1;
    DATA = LB;                        //写熔丝低位
    XTAL = 1;  nop(T);   XTAL = 0;
    BS1 = 0;   BS2 = 0;
    _WR = 0;   nop(T);   _WR = 1;
    while((RDY_BSY == 0) && (KEY == 1));//等待数据写入

    XA1 = 1;   XA0 = 0;
    BS1 = 0;
    DATA = 0x40;
    XTAL = 1;  nop(T);   XTAL = 0;
    XA1 = 0;   XA0 = 1;
    DATA = HB;                       //写熔丝高位
    XTAL = 1;  nop(T);   XTAL = 0;
    BS1 = 1;   BS2 = 0;
    _WR = 0;   nop(T);   _WR = 1;
    while((RDY_BSY == 0) && (KEY == 1));
    BS1 = 0;

    XA1 = 1;   XA0 = 0;
    BS1 = 0;
    DATA = 0x40;
    XTAL = 1;  nop(T);   XTAL = 0;
    XA1 = 0;   XA0 = 1;
    DATA = EB;                    //写扩展熔丝位,如果没有扩展位,无影响
    XTAL = 1;  nop(T);   XTAL = 0;
    BS1 = 1;   BS2 = 1;
    _WR = 0;   nop(T);   _WR = 1;
    while((RDY_BSY == 0) && (KEY == 1));
    BS2 = 0;

}

/************高压恢复**********************/
void Recover_Fuse(void) {
    PROG_ENABLE;                        //进入编程状态
    _RST_12V = 0, _VCC_5V = 0;    //RST与VCC同时上电
    nop(500);
    Chip_Erase();                             //擦除芯片锁定位
    Write_Fuse(0x02, 0x80, 0xff);    //(低位,高位,扩展位)Atmega通用最佳设置
}

出0入0汤圆

发表于 2015-4-19 11:07:26 | 显示全部楼层
e1ki0lp 发表于 2015-4-19 11:00
我一年前锁死了一片AVR8,当时在网上看到这个了,顺便研究了一下AVR的熔丝位和锁定位,然后我做了改进,能 ...

M8的引脚

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-4-19 17:44:16 | 显示全部楼层
没有人关心2011年的山大物理学院都没个编程器么?现在买了吗,不行找厂家赞助一个。学生党看起来也很苦b啊

出0入0汤圆

发表于 2015-4-20 00:33:13 | 显示全部楼层
AVR 现在 都有点古老了!

出0入0汤圆

发表于 2016-8-8 23:07:26 | 显示全部楼层
留名 比用电脑的好用

出0入0汤圆

发表于 2016-11-8 01:02:58 | 显示全部楼层
谢谢楼主!刚刚救活个M8,改到89S52上搞定的。
突然一下要弄这个时序还真不易。
谢谢分享节约时间。

出0入0汤圆

发表于 2016-12-25 22:41:55 | 显示全部楼层

这几天做了一个,准备修复手头2片MEGA16A,1片MEGA16,按照贴中提示,LED灯也可以亮,但依然无法被USB ISP识别,甚至一片出现发热的情况。

因此突发奇想,我把我手头的片子,寄给老兄看能修复不,OK了,老兄自己用吧,不行就丢弃。。经过这番折腾,也够尽心了。

出0入0汤圆

发表于 2016-12-25 22:42:41 | 显示全部楼层
mmswza 发表于 2016-11-8 01:02
谢谢楼主!刚刚救活个M8,改到89S52上搞定的。
突然一下要弄这个时序还真不易。
谢谢分享节约时间。 ...

老兄的能救MEGA16A吗?我刚做了个,噢,痛苦呢,3片都没搞定。

出0入0汤圆

发表于 2016-12-25 22:43:38 | 显示全部楼层
avr9299 发表于 2014-12-2 19:35
这个熔丝解锁器谁做成功过,我怎么用MegA48改做一个不成功

老兄可否回忆下当时是怎样的。。我的是不成功,手头有3片都没成功。。

出0入0汤圆

发表于 2016-12-25 22:44:18 | 显示全部楼层
sedulity11 发表于 2013-8-4 17:35
回头做个试试,手里正好有几片锁死的AVR

老兄的恢复了吗?时间也过去很久了,

出0入0汤圆

发表于 2017-1-12 09:23:30 | 显示全部楼层
kerrwang1982 发表于 2016-12-25 22:42
老兄的能救MEGA16A吗?我刚做了个,噢,痛苦呢,3片都没搞定。

可以的,你需要看下程序,和AVR的熔丝说明。

出0入0汤圆

发表于 2017-1-12 09:32:35 | 显示全部楼层
kerrwang1982 发表于 2016-12-25 22:42
老兄的能救MEGA16A吗?我刚做了个,噢,痛苦呢,3片都没搞定。

建议检查硬件连线正不正确,还有修改原程序中熔丝初始值,
不同型号AVR熔丝初始值是不同的,需要查手册修改原程序。

出0入0汤圆

发表于 2017-2-15 23:15:54 | 显示全部楼层
kerrwang1982 发表于 2016-12-25 22:41
这几天做了一个,准备修复手头2片MEGA16A,1片MEGA16,按照贴中提示,LED灯也可以亮,但依然无法被USB IS ...

老兄,我现在搞软件了,单片机不怎么碰了,而且我手头的mega16片子也不少。
话说真是今非昔比哎,如果现在用avr被我锁死了的话,我就直接扔了。
以前在校穷,而且喜欢瞎捣鼓,现在就觉得没必要为了那点东西浪费时间捣鼓。

出0入0汤圆

发表于 2017-2-18 14:19:26 | 显示全部楼层
e1ki0lp 发表于 2017-2-15 23:15
老兄,我现在搞软件了,单片机不怎么碰了,而且我手头的mega16片子也不少。
话说真是今非昔比哎,如果现 ...

呵呵,同感,不过如果恢复了,感觉很高兴,另一种体验 。谢谢!!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 03:47

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表