手一抖就锁了好几片Mega16,这可是几十块钱啊...有必要造一个高压并行编程器了
一、接线方式及端口定义
- RDY/BSY 判忙标志位。(0:设备正忙 1:等待新的命令)
- OE 输出使能位 低电平有效
- WR 写脉冲 低电平有效
- BS[2:1] 字节选择1(0:选择低位字节 1:选择高位字节)
- XA[1:0] XTAL动作位
- 00加载Flash或者EEPROM地址
- 01加载数据
- 10加载命令
- 11保留
- PAGEL 加载程序存储器和EEPROM数据页
- DATA 双向数据/命令口
- 0x80 芯片擦除
- 0x40 写熔丝位
- 0x20 写锁定位
- 0x10 写FLASH
- 0x11 写EEPROM
- 0x08 读标示字节和校准字节
- 0x04 读熔丝位及锁定位
- 0x02 读FLash
- 0x03 读EEPROM接线方式及端口定义
二、进入编程模式
方案一:
- 在 VCC 及GND 之间提供4.5 - 5.5V 的电压
- 将RESET 拉低,并至少改变XTAL1 电平6 次
- 将PAGEL,XA1,XA0,BS1全部置0
- 给RESET提供11.5-12.5V的电压
方案二:(使用外部晶体或RC振荡器)
- 将PAGEL,XA1,XA0,BS1全部置0
- 在VCC 与GND 间提供电压4.5 - 5.5V 同时在RESET 上提供11.5 - 12.5V 电压
- 等待100 ns。
- 对熔丝位重编程,保证外部时钟源作为系统时钟(CKSEL3:0 = 0b0000)。如果锁
定位已编程,在改变熔丝前必须执行芯片擦除指令。 - 通过降低器件功率或置RESET 引脚为0b0 来退出编程模式。
- 然后使用方法一进入编程