论坛风格切换切换到宽版
  • 12176阅读
  • 26回复

STC单片机不能重复写入 [复制链接]

上一主题 下一主题
离线ba2ba
 
发帖
961
只看楼主 倒序阅读 0楼 发表于: 2013-01-16
手头有二片STC89C52RC单片机芯片,试着通过STC专用ISP下载软件向试验板下载程序,发现仅在芯片为空(新的)时可以写入程序,修改程序后在下载就不再向芯片里写程序了,总提示“给MCU上电”不知什么原因。
地址:黑龙江省伊春市伊美区美溪镇新兴小区12号楼一单元201室
姓名:陈铁石/BA2BA
邮编:153021
电话:18804585572
QQ:464826156
离线bd7rf
发帖
10148
只看该作者 1楼 发表于: 2013-01-16
串口速率对不对。

内容来自Android手机客户端

离线BH1MHI
发帖
43
只看该作者 2楼 发表于: 2013-01-17
是不是下载时,改编程参数了

内容来自Android手机客户端

离线BG9CNF
发帖
987
只看该作者 3楼 发表于: 2013-01-17

前辈请注意红框内的选项,如果是USB下载的话,第一个框内的串口必须选对,还有波特率最先选低的,而且上下一致,比如9600。这样实验。
您说的请给单片机上电,这个是STC单片机下载的一个程式,点“下载”后,先断电,再给单片机上电,这时候软件会和单片机握手下载。
QQ:  15910380
E-MAIL:  crasyboye@sohu.com
离线ba2ba
发帖
961
只看该作者 4楼 发表于: 2013-01-17
回 BG9CNF 的帖子
BG9CNF:[图片]
前辈请注意红框内的选项,如果是USB下载的话,第一个框内的串口必须选对,还有波特率最先选低的,而且上下一致,比如9600。这样实验。
您说的请给单片机上电,这个是STC单片机 .. (2013-01-17 11:20) 

谢谢你的和其他朋友的回复。根据你的提示,我修改了串口波特率,从最低1200开始增加,也都不行,我是用的USB转串口的转换线,转换线芯片是PL-2303。试验了串口号,证明COM3是正确的(电脑“资源管理器”硬件中显示为COM3)。现在可以看出,单片机与电脑可以产生握手信号,因为软件提示“电脑与单片机正在进行握手”,之后,让给单片机上电,上电后,电脑始终处于“给MCU上电”这个提示中,不在有进一步工作(下载程序)。
地址:黑龙江省伊春市伊美区美溪镇新兴小区12号楼一单元201室
姓名:陈铁石/BA2BA
邮编:153021
电话:18804585572
QQ:464826156
离线BG9CNF
发帖
987
只看该作者 5楼 发表于: 2013-01-17
没有见到实际电路和现场情况,没办法再帮你了。
不过你可以换个USB转RS232的线测试下

QQ:  15910380
E-MAIL:  crasyboye@sohu.com
离线ba2ba
发帖
961
只看该作者 6楼 发表于: 2013-01-17
回 BG9CNF 的帖子
BG9CNF:没有见到实际电路和现场情况,没办法再帮你了。
不过你可以换个USB转RS232的线测试下
 (2013-01-17 17:18) 

再次感谢你的帮助,现在只能怀疑USB转COM口线不兼容。看来最好用带COM口的电脑了。
地址:黑龙江省伊春市伊美区美溪镇新兴小区12号楼一单元201室
姓名:陈铁石/BA2BA
邮编:153021
电话:18804585572
QQ:464826156
离线BG4RFF
发帖
1581
只看该作者 7楼 发表于: 2013-01-19
是不是选了外振啊
BG4RFF
江苏如东、四川泸县
BG4RFF#163.com
QQ:4俩8拐拐勾4勾
手机:妖怪怪儿,五个妖狗动钩钩(防止恶意电话,先短信联系)
离线ba2ba
发帖
961
只看该作者 8楼 发表于: 2013-01-19
回 BG4RFF 的帖子
BG4RFF:是不是选了外振啊 (2013-01-19 16:34) 

目标板是我自制的简易51单片机试验板,使用的是外接晶体,因为原来使用AT89C51等芯片了。
地址:黑龙江省伊春市伊美区美溪镇新兴小区12号楼一单元201室
姓名:陈铁石/BA2BA
邮编:153021
电话:18804585572
QQ:464826156
离线xcf93
发帖
1330
只看该作者 9楼 发表于: 2013-01-24
瞎猜的,CPU工作电压低了,不在5V,用万用表量量看,不要猜。
只能爱护,不能吃的菜鸟回来了。 :113:
离线小比尔/5
发帖
2582
只看该作者 10楼 发表于: 2013-01-24
你的程序可能有串口操作。使劲重启几次吧。
BG5URY LTE: 152 6079 8739
曾用呼号:BG5-1-62178
疫情期间应急通信:14270,21450 对台湾方向:7060
中国之声DRM:(7360) 11695 (13810) 13825
武汉加油!
离线ba2ba
发帖
961
只看该作者 11楼 发表于: 2013-01-27
回 小比尔/5 的帖子
小比尔/5:你的程序可能有串口操作。使劲重启几次吧。 (2013-01-24 21:10) 

下面是汇编的程序:
               org 0000h
             ajmp main
             org 030h
main:       clr p2.7
                clr p3.7
xu:           mov p0,#055h
               acall del
               mov p0,#0aah
               acall del
              ajmp xu
del:        mov r1,#0ffh
l1:         mov r2,#0ffh
l2:         djnz r2,l2
            djnz r1,l1
            ret
            end

下面是C语言的:
#include<reg51.h>             //51单片机C语言专用,称:头文件
void delay(void);             //声明延时程序,(void)表示此程序不传递数值.
sbit led=P3^7;                //对单片机引脚进行控制必须先对引脚进行声明,即"led"代表P3.7脚
sbit ysq=P2^7;                //对引脚声明时,字母P必须用大写的P,不能用小写的p
void main(void)               //主程序开始
{
         led=0;               //P3.7低电平
         ysq=0;               //P2.7低电平
  loop:  P0=0xaa;             //P0口送数,同样字母P必须用大写.
         delay();             //调用延时子程序(函数)
         P0=0x55;             //P0口送数
            delay();             //
            goto loop;           //返回loop入口循环
}                             //主程序结束
void delay(void)              //延时子程序(函数)
{                            
unsigned int i,j;            //声明字母i,j数据类型为整型双字节
for(i=0;i<500;i++)           //循环语句,i,j构成的延时大约1秒(11.0592MHZ晶体)
  {
   for(j=0;j<121;j++)         //循环语句
    {;}
    }
}
地址:黑龙江省伊春市伊美区美溪镇新兴小区12号楼一单元201室
姓名:陈铁石/BA2BA
邮编:153021
电话:18804585572
QQ:464826156
离线小比尔/5
发帖
2582
只看该作者 12楼 发表于: 2013-01-28
换个串口线吧。可能有问题。
BG5URY LTE: 152 6079 8739
曾用呼号:BG5-1-62178
疫情期间应急通信:14270,21450 对台湾方向:7060
中国之声DRM:(7360) 11695 (13810) 13825
武汉加油!
离线bg4npj
发帖
411
只看该作者 13楼 发表于: 2013-01-28
有那个“请给MCU上电”的提示后,得把电源断开,再通电,就行了。记住只是断开电源线。就是电源正极那根线。其他的三根线TXD,RXD,GND都不要断开。千万不要把PL-2303转接线从电脑上拔下来。那就前功尽弃。如果你还是看不懂我说什么。找个视频网站。搜索“STC单片机怎样下载”这类的关键词。你就很快明白了。
离线ba2ba
发帖
961
只看该作者 14楼 发表于: 2013-01-29
回 bg4npj 的帖子
bg4npj:有那个“请给MCU上电”的提示后,得把电源断开,再通电,就行了。记住只是断开电源线。就是电源正极那根线。其他的三根线TXD,RXD,GND都不要断开。千万不要把PL-2303转接线从电脑上拔下来。那 .. (2013-01-28 20:08) 

谢谢你的提示,在试验过程中,在电脑提示“请给MCU上电.....”的情况下,我仅仅拔下了USB口(实验板的供电由USB口负责,也可以接外+5伏DC),COM口插的PL-2303转换头没动。
现在的问题是空芯片(新的没有用过的)可以写程序,仅仅这一次而已,要是修改了程序或改换其他程序再向芯片里写就不行了。就是说,我写程序的操作过程没有问题,如果说是PL-2303转换线不兼容也不一定,因为第一次可以写,说芯片本身的问题呢,二个芯片还都是这毛病,不能二个芯片同时都坏。百思不得其解。
地址:黑龙江省伊春市伊美区美溪镇新兴小区12号楼一单元201室
姓名:陈铁石/BA2BA
邮编:153021
电话:18804585572
QQ:464826156
离线BD8BT
发帖
275
只看该作者 15楼 发表于: 2013-02-09
我用STC89C52做了很多次试验都可写入,方法是,程序修改后重新编译,写入时重新打开HEX文件,关掉单片机电源,执行程序下载,提示给单片机上电时再打开单片机电源就行了.
离线ba2ba
发帖
961
只看该作者 16楼 发表于: 2013-02-11
回 BD8BT 的帖子
BD8BT:我用STC89C52做了很多次试验都可写入,方法是,程序修改后重新编译,写入时重新打开HEX文件,关掉单片机电源,执行程序下载,提示给单片机上电时再打开单片机电源就行了. (2013-02-09 19:53) 

谢谢提示,有时间再试试。另,我用的HEX文件是在Keil uv2 选AT89C51编译的,是否和必须选STC型号有关。
地址:黑龙江省伊春市伊美区美溪镇新兴小区12号楼一单元201室
姓名:陈铁石/BA2BA
邮编:153021
电话:18804585572
QQ:464826156
离线BG4ABH
发帖
489
只看该作者 17楼 发表于: 2013-02-11
我也有一片STC发生你说的情况(共购2片,其中一片不行),找STC解决吧。
我找了STC,他们让我免费申请样片,以这种形式解决问题。
bg4abh
李华夫 上海 浦东 博兴路465弄28号602室
邮编:200129
离线BG6IXM
发帖
775
只看该作者 18楼 发表于: 2013-02-11
1、楼主看3楼的图,第二个红框,“下次冷启动”这一项,如果你第一次烧写时选中了“等于0/0”,那你以后的烧写需要把P0、P1拉低才能烧写,试试吧;
2、PL2303可能会从TX口对单片机供电,虽然电流很小,但也足以让单片机不掉电。你试试不给单片机供电,插拔TX和RX来试试。
微博:http://weibo.com/bg6ixm
离线ba2ba
发帖
961
只看该作者 19楼 发表于: 2013-02-12
回 BG4ABH 的帖子
BG4ABH:我也有一片STC发生你说的情况(共购2片,其中一片不行),找STC解决吧。
我找了STC,他们让我免费申请样片,以这种形式解决问题。 (2013-02-11 16:53) 

看了不是我专有这个问题,过了节,我也给STC商家技术人员打电话联系看看。谢谢你。
地址:黑龙江省伊春市伊美区美溪镇新兴小区12号楼一单元201室
姓名:陈铁石/BA2BA
邮编:153021
电话:18804585572
QQ:464826156