PIC也会熔丝锁死吗?大家进来看看!

2020-02-06 09:49发布

编程器:PICKIT3官方零售版(带板五百多买来的)
烧写芯片型号:PIC12F675

软件: IDE V8.5
烧录正常前熔丝配置位:
//开数据保护,代码保护,关掉电复位,关外部复位,关上电复位,关看门狗,内部振荡器
__CONFIG(CPD & PROTECT & BORDIS & MCLRDIS & PWRTEN & WDTDIS & INTIO);   //12F675

无法使用前更改的熔丝:
//开数据保护,代码保护,关掉电复位,关外部复位,关上电复位,关看门狗,内部振荡器加输出
__CONFIG(CPD & PROTECT & BORDIS & MCLRDIS & PWRTEN & WDTDIS & INTCLK);   //12F675

更改后编译进行编程后就把芯片挂了,
第一块的现象是:
The target has invalid calibration data (3fff).
无法识别了。

修改回来再编译,把芯片也换了一个后编程正常,
更改后再编译进行芯片编程又挂了,
这回显示的是:

Programming...
The following memory regions failed to program correctly:
Program Memory
Address: 00000000 Expected Value: 00000183 Received Value: 00000000
Programming failed

使用其它的编程器也不能进行编程和擦除了!

求解。。。。。。。。

我把代码黏上来。
代码内容是用一个IO模拟串口发一个数据的实验!
串口波特率9600。

#include <pic.h>
#define uchar unsigned char
#define uint  unsigned int
uchar RXD;
//开数据保护,代码保护,关掉电复位,关外部复位,关上电复位,关看门狗,内部振荡器
__CONFIG(CPD & PROTECT & BORDIS & MCLRDIS & PWRTEN & WDTDIS & INTIO);   //12F675

void delay_u(uchar y) //4M时钟,5uS延时
{
        while(y--);       
}

void delay_S(uint tx)
{
        uint ta,tb;
        for(ta=tx;ta>0;ta--)
                for(tb=110;tb>0;tb--);
}

void init()
{
        TRISIO  =0b00111101; //串口TX=GP1
        CMCON = 0x07;  //关闭内部比较器
        INTCON = 0x00;       //关闭所有中断
        GPIO1 = 1;     //拉高GP1/TXD
}

uchar WTXD(uchar TXD) //写串口
{       
        uchar TO;
        TO = 8;
        GPIO1 = 0;  //GP1为TXD输出
        delay_u(16);
        NOP();
        NOP();
        while(TO--)
        {       
                NOP();       
                GPIO1 = (bit)(TXD&0x01); //写入一位
                delay_u(16);                       
                TXD = TXD >> 1;               
        }
        GPIO1 = 1; //TXD发送完后释放
}       

void main()
{
        init();
        while(1)
        {
                WTXD(0x55);               
                delay_S(1000);//延时1S
        }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。