STC单片机“完全自动下载”,无需再手动重新上电启动!(程序版)

修改:

2014/03/21  整理上传

2014/10/30  修改错误:在串口函数中有UartInit(),但是在主函数中调用了InitUart(),书写错误导致无法编译通过

对于stc单片机下载程序时,每次都需要冷启动,即需要给开发板断电然后重新上电,才能供完成下载,这里介绍用过的两种“全自动下载”方式:

(1)使用STC自动下载器,此模块在我们点击STC-ISP的“下载”时,会自动完成断电,上电,下载功能。需要购买。

(2)软件复位法,即IAP下载方式(本文中的重点,注意有的芯片无此功能,需要较新出来的芯片,这里以STC12C5A60S2为例)

步骤如下:

1.添加stc公司的mcu到keil软件

(

这一步不是必须的,但进行了这一步之后,keil软件就会有stc公司的mcu的头文件,可以直接调用了,但如果没有这一步在主函数中头文件就要注意,对于IAP_CONTR的特殊功能寄存器就不能直接调用,这时候就必须用户自己定义:

sft IAP_CONTR=0xc7;

)

这里以目前最新 STC-ISP下载软件为例:

选择keil安装目录xxxxxxxxxxx\keil , 点击确定,就会出现:

(2)打开keil,新建工程后,出现MCU选择:

选择STC MCU Database后,选择STC12C5A60S2,后创建并加载.c文件,设置生成hex文件:

技巧:为了防止意外操作导致stc的mcu头文件被修改,设置其为“只读”模式,这时候工程文件就会有如下的“钥匙”标记

(3)程序代码如下:

主函数0000.c:

#include "./STC/stc12c5a60s2.h"
#include "uart.h"void main(void)
{UartInit();P1=0x01;/*第一次,leds*/while(1);
}

uart.h文件:

#ifndef __UART_H__
#define __UART_H__#define selfDownLodCmd 0x01extern void UartInit(void) ;#endif 

uart.c文件:

#include "./stc/stc12c5a60s2.h"
#include "uart.h"  void UartInit(void)
{  IP   |= 0x10 ;/*建议设置串口中断为高优先级*/SCON |= 0x50 ;  TMOD |= 0X20 ;  TH1  =  0xfd ;  //11.0592MHZ , 9600kps  TL1  =  0xfd ;  TR1= 1 ;  ES = 1 ;  EA = 1 ;
}  void UART_IRQ(void) interrupt 4  using 3
{  unsigned char k ;  if(RI)  {  RI=0;  k=SBUF;  if(k==selfDownLodCmd)  {  IAP_CONTR |=0x60 ;  }  else  { /*其他操作,等待补充*/  }  }  else  {  TI =0;  /*其他操作,等待补充*/ }
}  

(4)这里第一次先手动启动下载一次,然后发现led0被点亮。保持上电状态

(5)修改下载设置:

(6)自动下载实验准备:修改main函数中的:

P1=0x01;/*第一次,leds*/

修改为:

P1=0x0f;

(7)编译程序后,等待3s,发现led灯变化了,说明STC-ISP软件已经自动下载了程序,而没有经过手动的重新上电。并且,以上的程序,只需要手动下载一次,以后无论你下载多少次都不用手动去启动开关下载了(但是main函数中的UartInit不能删除)。

stc单片机“全自动下载”(程序版)相关推荐

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

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

  2. 串口 单片机 文件_STC单片机ISP下载编程软件下载|STC单片机ISP下载编程软件 6.87 官方版...

    别看了,这款软件免费!没有额外的收费,如果你囊肿羞涩,这一款软件一定是你可以选择的比较重要的软件之一.小编亲测,在多个功能上都有着自己比较鲜明的特点,首先第一眼就是界面了,不知道你有什么感受. STC ...

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

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

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

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

  5. 制作新版STC单片机WiFi下载器

    简 介: 基于WiFi的STC单片机下载器可以方便对STC的8A,8G,8H,15系列的单片机完成程序下载,方便了程序的开发与调试.特别适应于需要强磁隔离.运动平台的单片机开发,做到程序的快速更新与测 ...

  6. STC单片机按键扫描程序

    STC单片机按键扫描程序 最近在做一个电子秤相关项目,使用STC系列单片机作为主控芯片,项目第一阶段直接使用IAP15W4K58S4驱动两个矩阵键盘,一切调试顺利,在项目即将结束时老板要求使用另一块单 ...

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

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

  8. STC15W104 8脚单片机串口下载程序

    单片机串口下载是一种常见的单片机程序下载方式,它通过串口线连接单片机的串口引脚和电脑的串口接口实现.下面是单片机串口下载的基本原理和操作方法: 原理 确定下载模式:大多数单片机芯片都支持串口下载模式, ...

  9. STM32系列单片机USB下载程序(ISP编程)

    一. 准备 1. FlyMcu 软件,选择DTR高电平复位,RTS低电平进入BootLoader 2. 原理图增加USB转串口芯片(CH340G) 二.说明 STM32三种启动模式对应的存储介质均是芯 ...

  10. 全自动洗衣机matlab仿真,单片机全自动洗衣机程序+仿真+原理图设计调试与分析...

    #include #define uchar unsigned char #define uint unsigned int uchar num=0,num1=0,num2=0,num3=0,num4 ...

最新文章

  1. 雷军旗下金山云冲刺IPO:3年营收74亿,小米系贡献23%,CEO王育林仅持股2.1%
  2. 代码审查工具StyleCop
  3. Pyramid Scene Parsing Network
  4. jsoncpp在linux和windows下的编译及使用详解
  5. 解决-bash: make: command not found安装提示错误
  6. 多迪技术总监揭秘:PHP为什么是世界上最好的语言?
  7. 2017.9.6 礼物 思考记录
  8. MySQL建表的限定于巨_Linux入门笔记(4/1/2016修改)
  9. 苹果回应iPhone12用5G耗电快;央行:微信支付宝和数字人民币不存在竞争关系;Win10X 将于年底签署 RTM|极客头条
  10. 苹果 MacBook如何取消开盖自动开机功能?
  11. ajax后台重定向会返回什么_处理jquery ajax重定向
  12. 毕业设计记录-增加瑞利衰落信道
  13. 苹果电脑如何双开微信
  14. Gerrit新建用户登录时显示Forbidden
  15. Cocoa Touch框架浅析
  16. 如何用Web Scraper抓取巨潮资讯网全站乐视相关pdf文件
  17. 企业网站网络营销的第一印象
  18. b树与b 树的区别 mysql,B树和B+树
  19. 游戏服务器引擎的设计(一)介绍游戏服务器部署框架
  20. html添加外链图片代码,web 外链图片 403 解决方案(http referrer)

热门文章

  1. Windows文件名太长无法删除
  2. 华为公司大数据中台架构分享
  3. 如何让搜索引擎收录我的站点
  4. Cannot truncate table 'xxx' because there are one or more isolation level 0 scans, or REO
  5. 安卓开发指南!程序员如何自我学习和成长?终获offer
  6. LQR:Linear Quadratic Regulator 线性二次型调节器
  7. 反甩锅成功后思考——RST 报文
  8. 群控源码(可二次开发)最新版(勿盗图)
  9. cibersortx怎么用_如何使用Xbrowser
  10. 层次低的人复杂,境界高的人简单,总结得真深刻!