Helloeveryon 发表于 2011-7-6 17:35:53

对STC自动下载的疑惑,困扰很久了

前一阵子,看到一篇"STC89单片机自动下载(免断电)的方法",详细就不说了,文件已经上传了
STC89单片机自动下载(免断电)的方法ourdev_655160Y3QMYP.pdf(文件大小:696K) (原文件名:STC89单片机自动下载(免断电)的方法.pdf)
PDF 如是说:
在STC单片机中有两个程序区,用户程序区与ISP程序区。单片机上电后(冷启动,

并非外部手动复位或看门狗复位),先会运行ISP程序,检测是否有合法的下载命令流,占

时几十毫秒到几百毫秒,如果没有合法的下载命令流,则立即运行用户程序。如果有合法的

下载命令流,则ISP监控程序开始与ISP下载软件通信,软件也会进入编程模式,向监控程

序发送程序码,监控程序接收程序码,并将其写入用户程序区中。在编程完毕,对程序校验

成功后,用户程序立即生效,开始运行用户程序。
我用了虚拟串口软件(Configure Virtual Serial Port Driver)观察了发送的码流确实是,图片如下:
图1ourdev_655169TC8DCW.jpg(文件大小:1.61M,只有400K以内的图片才能直接显示) (原文件名:图1.jpg)
于是我照着里面的方法写了一个C文件和一个H文件,程序如下:
C文件:
#include "ados.h"
#include<reg52.h>

void Init_Isp_Download(void)
{
TMOD=0X20;
SM0=0;
SM1=1;
REN=1;
TH1=0XFD;
TL1=0XFD;// 波特率9600
TR1=1;
EA=1;
ES=1;
}

void Receive(void) interrupt 4
{
uchar i;
uint j,k;
if(TI==1)
TI=0;
else
        {
                RI=0;
                i=SBUF;
                if(i==FLAG)
               {
               for(j=1000;j>0;j--)
                  for(k=112;k>0;k--); //经过试验,此处为延时,程序不能正常工作
               ISP_CONTR=0x60;
               }
        }
}
H文件:
#ifndef _ADOS_H_
#define _ADOS_H_
#include<reg52.h>
#define FLAG 0x7f//启动标志

sfr ISP_CONTR = 0xe7;

void Init_Isp_Download(void);

#endif

然后打开STC的软件右侧有个自定义下载窗口,“自定义下载命令HEX”窗口里面,填写“7f”发送,程序可以实现不断电下载,之后我换了其他的十六进制
命令,点击发送烧写都不成功,但当我用虚拟串口软件观察,发现无论我用什么命令,串口发送出来的都是“7f 7f .... ”码流,图片如下:
http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_655180UVK0PY.jpg
下载命令是7f,串口的数据流 (原文件名:图2.jpg)

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_655181VXOF5V.jpg
下载命令是:f1(随意选择的),串口的数据流 (原文件名:图3.jpg)
这是何解?

little_Monkey 发表于 2011-7-6 18:02:28

7F 7F的数据是供探测波特率用的,你的进入ISP的第一条指令在最开始的时候发送

Helloeveryon 发表于 2011-7-6 18:12:20

回复【1楼】little Monkey
-----------------------------------------------------------------------

太感谢了,一语中的!!
我自己截得图居然没有观察到,
狂汗......

blackhorse21 发表于 2011-7-25 10:32:56

mark研究

liao1989 发表于 2011-7-29 22:05:56

了解一下

wxty 发表于 2011-7-29 23:00:53

文章说到:第一次下载进去以后就不用冷启动开始下载了。。。那么以后的程序还需要嵌入自动下载那段代码吗?
想研究研究!!

little_Monkey 发表于 2011-7-29 23:03:48

当然要了!不然谁来复位进入ISP程序?

CHENXIAOTIAN 发表于 2011-7-29 23:40:31

mark

BXAK 发表于 2011-12-12 19:42:16

STC免手动断电下载器,使用STC15F104E模拟串口   http://bbs.mydigit.cn/read.php?tid=318226&page=1

fzujiangjiahui 发表于 2011-12-12 19:46:51

mark

weifeng99 发表于 2011-12-16 12:19:50

学习!

nanhuayipang 发表于 2011-12-17 18:26:09

这个问题确实是提的不错!

风飞扬 发表于 2019-11-27 12:21:34

不断电不行吧?
页: [1]
查看完整版本: 对STC自动下载的疑惑,困扰很久了