STC单片机程序软下载

  • 前言
  • 寄存器说明
  • 寄存器声明
  • 下载检测程序
  • 主函数伪程序
  • 说明

前言

STC单片机下载程序,使用ISP工具默认每次下载程序都需要冷启动,实现软件下载。在实际产品设计调试中,冷启动下载可能因为MCU的IO灌电流、不方便断电等下载就会变得非常麻烦。针对这一痛点,在单片机中加入软件启动功能,模拟硬件上电状态。

寄存器说明

官方描述:
此功能主要是实现不需要给目标芯片重新上电就可以下载程序,用户也可以自行定义一个按键或者其它外部触发,然后将代码软复位到ISP监控程序区,也可实现此功能从用户程序软复位到ISP的参考代码如下:C语言代码: IAP_CONTR = 0x60;汇编代码 : MOV IAP_CONTR,#60H。IAP_CONTR的SFR地址为 0C7H(注:STC89/STC90/STC12C54xx/STC2052系列的SFR地址为 0E7H )

寄存器声明

当使用的头文件为reg52或者没有声明IAP_CONTR 寄存器时,用户需要自定义声明该寄存器。
sfr IAP_CONTR   =   0xc7;
sfr IAP_CONTR   =   0xe7 //STC89系类单片机

下载检测程序

头文件

#ifndef __DOWNLOAD_H
#define __DOWNLOAD_H
void down_load_push( unsigned char dat );//串口接收
unsigned char down_load(void);
#endif

函数实现

#include "download.h"//sfr IAP_CONTR   =   0xe7;//STC89/STC90/STC12C54xx/STC2052系列
sfr IAP_CONTR   =   0xc7;unsigned char xdata doenload_buff[10] = {0x01,0x02,0x03};//
unsigned char xdata index = 0;
void down_load_push( unsigned char dat ){doenload_buff[index] = dat;if(index>=9){index = 0;}index++;
}
unsigned char down_load(void){unsigned char tem = 0,i =0 ,sta =0;tem = doenload_buff[0];for(i =0;i<10;i++){if(tem != doenload_buff[i]){return 0;}}IAP_CONTR = 0x60;return 1;
}

主函数伪程序

//______________      主程序        ______________________________
// 用户头文件
#include "download.h"
void main(void){........
//串口初始化
while(1){down_load(); //核心程序,必须存在
//用户其它程序
}
}//______________       串口接收       ______________________________
void UartIsr() interrupt 4
{unsigned char dat =0;if (TI){TI = 0;busy = 0;}if (RI){RI = 0;dat = SBUF;down_load_push(dat);  //关键代码}
}

说明

这个框架自动下载程序,基本支持全部STC单片机系列,开发者只需要实现串口初始化,跟按照要求进行寄存器声明,便可实现。
现象
程序编写好后,第一次需要冷启动下载到单片机中,第二次直接点击下载按钮,就可以现在程序自动下载了。

STC单片机程自动序软下载(软下载)实现相关推荐

  1. stc单片机自动下载程序原理和代码实现

    1/stc单片机下载程序的原理 首先我们要理解stc单片机下载程序的原理.在stc单片机中有两个程序区:用户程序区和ISP监控程序区. 这是stc89c52单片机数据手册中的内容. 根据数据手册,我们 ...

  2. STC单片机自动下载调试器设计

    目录 简介 改进方案 1. 解决思路 2. 电路设计 3. 软件 测试结果 参考文献 简介 在推文<全自动STC下载电路设计>中给出了利用STC单片机的ISP程序自动下载调试板的是设计.使 ...

  3. 【开源】STC单片机免冷启动自动下载器

    [开源]STC单片机免冷启动自动下载器 首版效果图 实物打板图 手动焊接完成的PCBA,并且上电测试bug修复后的实物图 烧录器的验证对象 在烧录STC15F408AS最小系统板上进行实测. 实物连接 ...

  4. 通过WiFi对STC单片机程序下载和调试

    简 介: 设计了基于WiFi-UART的STC单片机下载调试模块,这样便于对嵌入式系统进行远程调试开发,特别是在一些具有移动功能的平台,强电平台以及需要实时监视和修改程序的应用场合. 关键词: STC ...

  5. stc8g1k08程序范例_通过WiFi对STC单片机程序下载和调试

    简介 本文设计了基于WiFi-UART的STC单片机下载调试模块,这样便于对嵌入式系统进行远程调试开发,特别是在一些具有移动功能的平台,强电平台以及需要实时监视和修改程序的应用场合. 本文相关的下载资 ...

  6. STC单片机蓝牙无线下载-烧写程序ISP(STC8 STC15 STC12 STC11 STC89)

    前一阵子用单片机开发一个小东西,其应用在一个非常潮湿的环境,以至于电脑和人员没发接近,但是又需要很长时间来调整参数,才能将设备设定好.另外设备一直在转动,这又导致不能通过电缆下载程序.在此时,我想到了 ...

  7. STC单片机功率控制下载板

    作者:卓晴博士,清华大学自动化系 更新时间:2020-09-06 Sunday 01为什么制作下载功率板? 在调试中,使用 STC8单片机下载电路 调试电路开发板的时候,如果电路板的功率比较大,直接使 ...

  8. STC单片机高速下载电路改进

    01改进的思路 在2020年5月20日,收到了来自STC公司发送过来更新后的STC8H技术手册,其中对于原来连接在UART-TTL转换RS232芯片与STC8H下载端口的二极管和电阻可以去掉了. 这两 ...

  9. STC 纯硬件自动下载电路 - 三极管负脉冲电路

    或者叫它延时上升电路.利用USB - TTL 芯片的RTS# 或者DTR# 信号让单片机自动断电复位.比较完整的串口电路参见:STC 串口下载电路 - CH340G USB转串口以及漏电隔离 原理 开 ...

最新文章

  1. 【python】组合搜索
  2. java int越界_用位运算判断int类型变量越界
  3. POJ1125 Floyd
  4. linux 管道和重定向
  5. Android快捷键
  6. tensorflow中的Session方法解释
  7. SPT20 协议_过户协议书模板五篇
  8. 邻居子系统:地址解析协议
  9. 声学计算机软件,常用声学仿真软件汇总
  10. windows打流工具IxChariot使用教程
  11. 在dw中它只能对html文件进行编辑,DreamWeaver期末考试试卷
  12. PowerDesigner的使用
  13. The7主题安装教程Wordpress
  14. final 的三种用法是什么?
  15. Shapefile属性操作之增
  16. 运营商精准大数据外呼系统
  17. Ubuntu18.04局域网共享文件夹,实现win7和Ubuntu本地访问
  18. win7 声卡安装失败修复方法
  19. cocos creator如何实现微信好友自定义转发分享功能
  20. Mybatis03-封装MybatisUtil实体类

热门文章

  1. 旅游行业如何利用抖音短视频营销推广
  2. 牛客算法周周练8 「金」点石成金 暴力
  3. 重学前端,万字入门 HTML+CSS+响应式网页设计
  4. Android Manager之SensorManager(传感器)—方向传感器(Orientation sensor)
  5. 不要温和地走进那个良夜!
  6. 调剂北京邮电大学计算机专业,2018年北京邮电大学考研调剂信息
  7. 面试题之this的指向
  8. seaborn几种图的解释
  9. Windows远程桌面连接操作另一电脑上的PyCharm无法编缉的解决办法
  10. 数据结构栈的基本操作(C语言)