STC单片机免断电下载程序的更简单的方法

发布者:数字翻飞最新更新时间:2018-03-07 来源: eefocus关键字:STC单片机  免断电  下载程序 手机看文章 扫描二维码
随时随地手机看文章

    看到网上有一些STC单片机免断电下载程序的例子。但是都是要用串口中断来完成。以下是一个程序片断

    拿来说明

    在调试程序中加入串口初始化代码,串口中断代码即可实现不断电下载程序

    TMOD|=0x20;

    SCON=0x50;

    TH1=0xfd;      //12T时钟9600bps

    TL1=0xfd;

    TR1=1;

    ES=1;

    EA=1;

    AUXR=AUXR|0x40; //定时器1使用1T时钟  9600*12=115200bps

    void UART(void) interrupt 4

    {

    uchar cdd;

    if(RI)

    {

    RI=0;

    cdd=SBUF;

    if(cdd==0xaa)

    {

    ISP_CONTR=0x60;//软复位,从ISP监控区启动

    }

    else if(cdd==0x55)

    {

    ISP_CONTR=0x20; //软复位,从用户程序区启动

    }

    else

    {

    senddata(cdd);

    }

    }

    else

    {

    TI=0;

    }

    }

    另外还要在stc下载软件中进行自定义下载设置才能完成面是一个操作视频

    http://v.youku.com/v_show/id_XMTk2MTE5MTgw.html

    从上面可以看出比较麻烦,那么有没有一种更为简单的方法呢,从上面的视频得知只要对0xe7这个地址赋予0x60就可以完成下载程序的功能了,那么我就想,stc下载软件用的是串口,用串口就必然用要发送数据到单片机,而单片机接收引脚是P3^0,那么我们只要检测这个引脚有没有电平的变化,如果有变化那么就对0xe7这个地址赋予0x60,就会完成自动下载的命令了,有了思路就开始验证。经过调试结果成功,说明本人只是对STC89C52RC做过测试,其它芯片能否可行请自行测试,以下为完整的程序,在stc下载软件中不需要做任何的设置,就像平常下载程序一样就行。

 

    /***  STC单片机免断电下载程序的另一种更简单的方法*******************************************************************

    **程序功能:STC单片机免断电下载程序

    **芯片型号:STC89C52RC

    **晶振频率:11.0592M

    **编写日期:2010年11月23日

    **编写人员:wang      QQ:349259818    Email:hongfadg@163.com

    **备注说明:

    *******************************************************************/

    //以下为所需的头文件

    //#includeCC.h>

    //#include

    //#include

    //#include

    #include

    //定义关键字方便使用

    #define uchar unsigned char

    #define uint unsigned int

    #define ulong unsigned long

    sfr iap=0xe7; //定义下载命令

    sbit p30=P3^0; //串口接收引脚

    /*                主函数

    *******************************************************************

    **函数原型:main()

    **函数功能:

    **输入参数:无

    **输出参数:无

    **备注说明:完成程序的主要功能

    *******************************************************************/

    main()

    {

    while(1)  //主循环

    {

    if(!p30) //判断串口是不是有数据

    {

    iap=0x60; //执行自动下载的命令

    }

    }

    }


关键字:STC单片机  免断电  下载程序 引用地址:STC单片机免断电下载程序的更简单的方法

上一篇:通信程序的通用写法
下一篇:C语言在应用程序设计上的优点

推荐阅读最新更新时间:2024-03-16 15:56

STC单片机PWM的实现方法与原理参考实例
/*============================================================== at12c2052所带的PWM功能演示,内部公用了一个定时器,当启动PWM时PCA 定时器只工作在8位模式,匹配比较器也是按8位的。本程序演示了PWM启动 的设置和调节。 改用在tasking c51下面编译,并尝试了tasking 方便的在线汇编方式 ------- 晓奇 2006.01.12 ===============================================================*/ #include STC12C2052AD.h /*#inc
[单片机]
STC单片机学习】第四课:了解你的开发板(STC51)
1.4.1.开发板完全介绍 1.4.1.1、版本 (1)咱们的课程以普中科技STC89C51开发板套件V3.0(高配)为准,兼容V2.2(详细可以去第一节课看一下) (2)代码以V3.0为准,若V2.2有发现问题可以联系我 (3)单开发板售价168元(V3.0高配),如果需要可以去淘宝购买,这里不打广告。 而且普中科技在B站也有开发板配套课程,和本课程所用开发板是一样的。 链接:https://www.bilibili.com/video/av32132894/ 反响不咋滴。 1.4.1.2、配件 (1)连同开发板主板共12件,分别是:主板1个、杜邦线1卷、晶振和跳线帽1包、USB线(Android手机线)1条、步
[单片机]
【<font color='red'>STC单片机</font>学习】第四课:了解你的开发板(STC51)
STC单片机用户应用程序区和ISP监控程序区的区别
用户应用程序区(AP区): 是指用户自己编写的程序区 ISP监控程序区: ISP区是指芯片出厂时就已经固化在单片机内部的一段程序,STC单片机可以进行ISP串行下载程序,这就是因为芯片在出厂时已经在单片机内部固化了ISP引导码,程序首次上电时先会从ISP区开始执行代码,体现在实际实验中时,就是我们在下载程序时,先要点击下载软件界面上的下载,然后再开启单片机电源,当单片机检测到上位机有下载程序的需要时,便启用ISP下载功能给单片机下载程序。若经过短暂的时间没有检测到上位机有下载程序的需求,单片机便会从用户应用程序区(AP区)开始执行代码。
[单片机]
STC单片机PCA捕获中断函数
/***************************************************/ **函数名称:void PCA_Capture_Int(); **功能描述:PCA捕获中断函数,扩展32位计数 **说 明:中断发生后,计数器将32计数结果高位写入 /***************************************************/ void PCA_Capture_Int() {//PCA捕获中断 if(CR) {//如果计数器溢出 PCA_0.Dou_L++; //模块0高位临时变量自加 PCA_1.Dou_L++; //模
[单片机]
Windows上使用 OpenOCD 给 STM32 下载程序
之前有写过如何在Linux上使用openOCD给STM32下载程序的文章,今天给大家介绍一下如何在Windows上使用openOCD。 Linux下开发stm32(二) | 使用openocd下载程序 一、OpenOCD介绍 openocd 全名叫做Open On-Chip Debugger,是一个自由开放的片上调试工具和编程工具,目前已经发布到0.11.0版本,目前主流调试器几乎都支持,具体可以查看Open On-Chip Debugger:OpenOCD User’s Guide。 支持下载器列表(部分): CMSIS-DAP v2 (USB bulk based) adapter driver Nuvoton N
[单片机]
Windows上使用 OpenOCD 给 STM32 <font color='red'>下载程序</font>
STC系列单片机不断电下载程序应用技术
随着单片机技术的发展,单片机片内存储器的容量越来越大,可以容纳越来越大的程序。由于程序越来越复杂,在程序调试过程中需要不断进行硬件复位来下载程序,虽然在线下载程序的方法已经普遍应用,但在现实调试实现中还是比较繁琐,因此人们在寻求一种用软件代替硬件的复位方法来调试下载程序,近而在工程实际中更加快捷方便地进行程序实现。因此,文中提出了一种软件复位单片机的方法,即利用STC单片机独有的ISP引导区,用特殊的指令使调试好的程序从ISP引导区执行,避免频繁地硬件复位,而且简单实用。 1 软件复位单片机的工作原理 1.1 STC单片机复位方法简介 STC单片机的复位方法分为热启动和冷启动两种:冷启动是系统断电后再上电的硬件复位;热启动
[单片机]
STC系列单片机不<font color='red'>断电</font><font color='red'>下载程序</font>应用技术
stm32单片机进入休眠模式后无法下载程序等问题的解决
利用stm32单片机的休眠模式,使单片机间歇的休眠从而实现低功耗的目的。往往会出现进入休眠后无法唤醒,导致下一次程序烧不进去。通常的解决办法是:一般的开发板或单片机最小系统都会有复位键,按住复位键,点下载,然后松开复位键即可。 我遇到的问题是:误入了stm32(STM32L051C6T6)的STOP模式,又没有写入相应的唤醒方法,导致后续的程序不能下载。使用MDK5 点击load时总会出现No target connected。自己设计的最小系统又没有加入复位键。。。 有以下几种解决办法: 1、可以将单片机的NRST引脚引出来,外接复位键。(关于引脚查看可用ST官方软件STM32cubeMX,很方便) 2、通过IS
[单片机]
stm32单片机进入休眠模式后无法<font color='red'>下载程序</font>等问题的解决
基于STC单片机的LED智能照明系统
 1 引言   LED被称为第四代照明光源或绿色光源,LED的发光器件是冷光源,具有节能、环保、寿命长、体积小等特点。白炽灯,卤钨灯的光效为12~24lm/W,荧光灯50~70lm/W,钠灯90~140lm/W,而且大部分的耗电变成了热耗。LED可达到50~200lm/W,而且单光的单色性好,光谱窄,无需过滤,可直接发出有色可见光。在相同照明效果的情况下,耗电量约为白炽灯的十分之一,荧光灯的二分之一。同样效果的一支日光灯40多瓦,而采用LED每支的功率只有8瓦。LED的平均寿命达10万小时,安全可靠性强,不含汞,钠元素等可能危害健康的物质,有利于环保,被称为“绿色照明光源”。   2 智能照明控制方案设计   
[工业控制]
基于<font color='red'>STC单片机</font>的LED智能照明系统
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved