分享

再次搬运原作—STC冷启动下载器

 昵称11763061 2017-05-28
这个玩意其实很简单的。就是靠监控MCU检测到STCISP开启时发送的0x7F,然后重启。

我的设计是接到10个连续的0x7F然后重启MCU。因为在别的波特率下可能会有不连续,类似0X7F的波形出现。为了避免误重启。所以需要连续的。

上代码:http://www./f/1stc2.zip

先上电路图。

然后就是艰苦(?)的制作过程了。

先在Eagle里面Layout……

然后拿起洞洞板……裁出一小块……飞线……

反面

上正面,监控芯片STC15F104E,调整到11.0592M RC 振荡器

上面的灯作为电源指示。收到信号后将断开链接,也就是闪下。

插在板子上的效果:

hwconfig的代码是:

#include //设置#define BAUD_RELOAD 0xFD //9600Baud#define START_CMD_NUMBER 10 //接受到连续X个7F就重启STC单片机#define PW_SWITCH P3_4 //P3_4控制8550电源开关#define CRYSTAL_12M 1#define RXD P3_0 //没有串口要靠模拟#define RXB P3_0 //没有串口要靠模拟#define TXB P3_1 //没有串口要靠模拟//BAUD = 256 - SYSclk/3/BAUDRATE/M (1T:M=1; 12T:M=12)//NOTE: (SYSclk/3/BAUDRATE) must be greater than 98, (RECOMMEND GREATER THAN 110)//串口模拟部分抄STC官方程序//另外SDCC的库要使用修改板本的。否则MCU会因为MOVX,MOVP2指令不停复位!(BUG)//#define BAUD 0xF400 // 2400bps @ 22.1184MHz#define BAUD 0xFA00 // 2400bps @ 11.0592MHz//#define BAUD 0xFD00 // 4800bps @ 11.0592MHz__sfr __at 0x8E AUXR;

万致远原创。这里是这个东东的第二版http://www./mcu/1576.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多