打印
[51单片机]

c8051f021反复复位,无法下载。

[复制链接]
1564|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
calpyso|  楼主 | 2015-8-21 15:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
使用的是c8051f021单片机和u-ec6的仿真器,前面几次可以正常下载。但是后面就不行了。在程序中写了关闭看门狗和使用外部晶振。在下载成功之后使用示波器观察可以看到外部晶振起振。
再次下载会出现擦除flash失败的字样。
另外是示波器观察rst管脚,电平一直在上下变化,这该怎么解决。
代码
uchar code tab[]={0xc0,0xf9,0xa4,0xb0};
void Init()
{
        //禁止看门狗
        WDTCN = 0xDE;
        WDTCN = 0xAD;
        //设置并选用外部晶振
        OSCXCN = 0x67;
        while((OSCXCN & 0x80) ==0);
        OSCICN |= 0x08;
        //Crossbar配置
        XBR0 = 0x04;
        XBR1 = 0;
        XBR2 = 0x42;
        //输出驱动方式配置
        P0MDOUT = 0xFF;
        P1MDOUT = 0xFF;
        P2MDOUT = 0xFF;
        //P3MDOUT = 0xFF;
        //EMIF配置
        EMI0CF = 0x1C;
        //EMI0TC = 0xFF;
}
void PORT_Init(void)
{
        XBR2=0x40;
        P0MDOUT=0xff;
}
void delay(uint z)
{
        uint x,y;                                               
        for(x=0;x<z;x++)
               
                        for(y=0;y<121;y++);
               
}
void main(void)
{
        uchar i;
        Init();
        PORT_Init();
        while(1)
        {        for(i=0;i<10;i++)
                {
                        P0=tab[i];
                        delay(5000);
                }
        }

}

相关帖子

沙发
calpyso|  楼主 | 2015-8-21 15:19 | 只看该作者
这是原理图

QQ截图20150821114928.jpg (36.65 KB )

QQ截图20150821114928.jpg

使用特权

评论回复
板凳
calpyso|  楼主 | 2015-8-21 15:21 | 只看该作者
刚才传错了。这是原理图

QQ截图20150821152011.jpg (345.29 KB )

QQ截图20150821152011.jpg

使用特权

评论回复
地板
ningling_21| | 2015-8-21 15:45 | 只看该作者
calpyso 发表于 2015-8-21 15:21
刚才传错了。这是原理图

复位端上下变化有可能是U17发出的复位信号,先断开U17试试

使用特权

评论回复
5
calpyso|  楼主 | 2015-8-21 16:20 | 只看该作者
ningling_21 发表于 2015-8-21 15:45
复位端上下变化有可能是U17发出的复位信号,先断开U17试试

断开u17,直接用电容和vcc相连接。还是出现反复复位的情况

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝