打印
[ZLG-MCU]

怎么来解救我的P89V51?请高手支招!

[复制链接]
2283|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hduzyf|  楼主 | 2008-7-26 17:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
新买了块P89V51,用Flash magic烧了一次程序后就再也烧不进了。原以为是因为烧了是UART通信程序(pc机与单机通信,用Comdebug模拟串口),把单片机的通信口烧坏了,同学也说UART通信很容易烧单片机。后来偶然想到,是不是因为通信口复用了,即在用Flash magic烧程序是也是用了TX和RX口,因此单片机以为是在通信,程序烧不进了。因此我再用Comdebug模拟,串口还能通信,说明串口是好的。在看看是不是我的程序的原因,使串口“冲突“了。
程序说明:单片机先接收从PC发来的一个数据并在数码管高位显示,然后单片机将收到的数据回发给PC机。
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
uchar code ledw[4]={0x07,0x0b,0x0d,0x0e};//数码管位选高位在前
uchar code ledD[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//数码管段码
uchar rdata[4]={0x30,0x30,0x30,0x30};
/*****串行初始化函数****/
void serial_init()
{
    TMOD=0x20;
    TH1=0xFD;//比特率9600
    TL1=0XFD;
    TR1=1;
    EA=1;
    ES=1;
}
/***延时k毫秒***/
void delay(uint k)
{
    uint m,n;
    for(m=0;m<k;m++)
        for(n=0;n<121;n++);
}
/****单片机以中断方式接收从pc传来的数据****/
void serial() interrupt 4
{
    RI=0;
    rdata[0]=SBUF;
    EA=0;
   
}
/******单片机以查询的方式传数据给pc*****/
void TI_FIND()
{
    SBUF=rdata[0];
    while(!TI);
    TI=0;
    EA=1;
}
/******数码管显示函数*******/
void display()
{
    uchar p;
    for(p=0;p<4;p++){
        P2=ledw[p];
        if(rdata[p]>0x39)
            P1=ledD[(rdata[p]-0X40)+10];//显示字母
        else
            P1=ledD[(rdata[p]-0x30)];//显示数字
        delay(1);
    }
}

void main()
{
    serial_init();
    while(1){
        display();
        if(EA==0)
            TI_FIND();            
    }
}
在用Flash magic 时提醒Erasing block 0,并且数码管高位乱码显示,估计是单片机在接收数据并显示了(我程序设定即是受到一个字节并在数码管高位显示)。
所以现在想的办法是用什么方法能不通过UART通信口烧程序,把原先的通信程序覆盖了。
各位高手帮忙支支招……

相关帖子

沙发
hduzyf|  楼主 | 2008-7-29 23:46 | 只看该作者

其它人没有遇到过这问题吗??

使用特权

评论回复
板凳
小熊猫| | 2008-8-6 08:50 | 只看该作者

试一试先点下载,再给单片机上电,FLASHMAIGC用3.12版本的

使用特权

评论回复
地板
hyhmh| | 2008-8-6 15:50 | 只看该作者

应该有V4.xx版本的Flash Magic

可以肯定的是P89V51 用户程序与串口下载的引导程序是不同物理区域的。
MCU上电后要么运行 下载引导程序,要么运行 用户程序。

使用特权

评论回复
5
zlgmcu| | 2008-8-7 09:07 | 只看该作者

V4.xx的flashmagic不支持,建议用低版本软件。

另,您可以到www.zlgmcu.com搜索,"isp",
您可以找到很多范例。

使用特权

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

本版积分规则

9

主题

32

帖子

0

粉丝