大米饭 发表于 2013-7-19 09:52:03

改进STC单片机不断电不用按键自动下载

本帖最后由 大米饭 于 2013-7-19 10:51 编辑

这几天一直下载程序断电上电有些繁琐,就开始搜索怎么是单片机不用冷启动下载,看了之前论坛里的帖子http://www.amobbs.com/forum.php?mod=viewthread&tid=5509279&highlight=STC%2B%E4%B8%8D%E6%96%AD%E7%94%B5,
他的方法如下:
while(1)
        {
                display();
                if(key==0)
                ISP_contro=0xe0;       
        }
在主程序中放入复位命令,针对他的方法,测试了可以用,也如楼下的说这种方法等于阉割掉了串口的接收功能;
参考这位仁兄的,http://www.amobbs.com/thread-5375843-1-1.html,但是仍然要按下复位键,和按下电源键区别不大,依然不能最省力;
又网上看了不少,要么用定时器,要么用串口中断的,占用太多资源,代码也麻烦;
就思考怎么能不按下复位键,不冷启动,同时不影响串口发射接收,不占用定时器,最终设计代码如下:
void main()
{
        //相关变量定义

        //自动下载功能
        //第一次下载需要手动,之后不需要手动
        //程序测试完毕后务必记得屏蔽下面四行程序,否则进入不了主程序
        //同时注意STC系列单片机ISP_CONTR寄存器地址不同,复位值不同
        while(1)
        {
                if(RX==0)
                        break;       
        }       
        ISP_CONTR=0X60;
      
      //用户初始化程序
       while(1)
       {
                //用户程序
      }
}
此次测试用单片机型号STC11F01,用其他型号的要注意STC系列单片机ISP_CONTR寄存器地址不同,复位值不同,根据数据手册改成自己使用单片机的寄存器及值就可以了
第一次下载时手动下载,程序测试完毕后务必记得屏蔽下面四行程序,否则进入不了主程序
仅以此篇嫌给新手们啊,高手的飘过吧


hyghyg1234 发表于 2013-7-19 09:55:14

顶你,好久没用过STC了

大米饭 发表于 2013-7-19 10:15:32

hyghyg1234 发表于 2013-7-19 09:55 static/image/common/back.gif
顶你,好久没用过STC了

似乎有问题,继续修正思考中

little_Monkey 发表于 2013-7-19 10:26:38

STC手册有不断电下载的例子
另外,不是所有51都需要断电下载,所以标题应该加上STC

devcang 发表于 2013-7-19 14:28:42

用 CH341 + MAX232 + 15F104控制自动下载,路过

chuanping87 发表于 2013-7-20 12:41:26

不错学习学习

LBQ691477940 发表于 2013-7-20 22:11:02

买一个才15元

dz20062008 发表于 2013-7-20 23:50:53

STC有自定义下载
页: [1]
查看完整版本: 改进STC单片机不断电不用按键自动下载