STC12C5A60S2单片机实现ISP自动下载

发布者:翅膀小鹰最新更新时间:2017-08-16 来源: eefocus关键字:STC12C5A60S2  单片机  ISP  自动下载 手机看文章 扫描二维码
随时随地手机看文章

STC12C5A60S2自动下载程序

在我们使用STC系列单片机开发项目时,最烦人的就是每次点击Download之后的时候都要断电重新上电才能下载。相信很对朋友们都会遇到这样的问题;

如果仅仅是调试项目的过程无可厚非,就是按一下按钮的事情。但是,当我们要批量的下载写好的程序的时候,每点击一下Download就得多按一下按钮,这就有点麻烦了;

而且这样操作是每个玩单片机的人都会的,跟大多数人一样,未免显得有点low;/*虽说STC本身就low*/

最重要的是身为一个伪资深硬件工程师,这特么的怎么能忍;/*原谅我偷偷笑一下*/


俗话说的好,有问题问手册。抱着这个问题,我打开了落满灰尘的《STC12C5A60S2中文技术手册》,通过查找目录翻开了第385页;

然后,我看到了这个:






这张图是的意思就是说,在给单片机下载程序的时,我们在点击Download后,需要先将单片机彻底断电,然后给单片机上电复位;/*这就是所谓的冷启动*/

然后,冷启动后,单片机就会执行一个系统ISP监控程序,如果没有检测到合法的ISP的下载命令流,就会执行我们之前给他烧写上的程序;/*下载程序的时候,下载器会先发出一段ISP下载命令流*/

如果识别到了合法的ISP下载命令流,就会把我们写好的HEX程序下载到单片机的用户程序区,之后,按一下复位或者重新上电,或者设置一下软件复位。我们的新程序就开始跑了。

以上是一般的搞法,下面搞一搞二般的搞法;

/**************************************************别瞅了,我是分割线,有没有亮瞎***********************************************/

我们打开《STC12C5A60S2中文技术手册》第80页,就会看见一个介绍特殊功能寄存器的表,从这张表上我们找到跟程序下载相关的寄存器: 




没错,就是这个,IAP_CONTR,它是一个ISP/IAP控制寄存器;

IAP_CONTR寄存器的八个位的功能分别是:

IAPEN SWBS SWRST CMD_FALL -- WT2 WT1 WT0 0000X00 



第七位:IAPEN ISP/IAP功能允许位

第六位:SWBS 软复位的程序区:置0:从程序区启动,置1:从ISP监控器启动

第五位:SWRST 软件复位的控制:置0:不复位,置1:产生软件复位。

第四位:CMD_FALL ISP/IAP触发失败标志位

第三位:空位,没用

第二位:WT2 

第一位:WT1

第零位:WT0最后三位为CPU等待时间设定位,频率越高需要等待时间越长

它在"STC12C5A60S2.h"中,IAP_CONTR默认的赋值为0xc7(二进制就是1100
0111),如下图所示: 




如果我们想要单片机实现不断电自动下载程序,//要把程序装冰箱,总共分两步;

第一步:在串口中断函数中用软件将IAP_CONTR寄存器置为0110 0000,十六进制就是0x60;

程序如下:

void serial_event() interrupt 4//串口1中断服务函数

{

if(RI==1)//如果接收中断



RI=0; //接收中断标志位清零

Buffer_RX[count]=SBUF ;//将串口接收缓存器的数据存入数组 

if(Buffer_RX[count] ==0x5a)//你猜0x5a是个干啥的



delay_ms(1000);

IAP_CONTR=0x60;//开启ISP下载

}

}

if(TI==1)//如果接收到发送中断

{

;



}

第二步:设置STC-ISP下载器,我用的是从STC官网上下载的最新版本,(版本号为V6.85O);

如图所示:




事已至此,想必大家都知道咋搞了吧。实在不会的我也没有办法啦。

关键字:STC12C5A60S2  单片机  ISP  自动下载 引用地址:STC12C5A60S2单片机实现ISP自动下载

上一篇:浅谈单片机中C语言与汇编语言的转换
下一篇:每天一个单片机小实验—LED流水灯

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

恩智浦半导体推出全新LPC8N04 MCU 实现IoT应用的智能标签革新
电子网消息,全球领先的大众市场微控制器供应商恩智浦半导体公司今日宣布推出全新LPC8N04 MCU。LPC8N04 MCU是快速扩展的32位MCU LPC800系列(基于ARM® Cortex®-M0+)的最新产品。LPC8N04 MCU经过优化,集成具有能量收集功能的近场通信(NFC)接口,可满足市场对经济高效、短距离双向无线通信日益增长的需求。  随着NFC读卡器技术的飞速发展和当今智能手机丰富的图形显示能力,结合基于iOS和Android应用程序的开放式开发人员生态系统,NFC技术的使用已经超出了最初的点即付构想。LPC8N04 MCU使开发人员能够快速实施广泛的解决方案,利用系统诊断或环境条件实现更智能的标记体验。凭借
[半导体设计/制造]
51单片机(一)—— 51单片机简介
一、51单片机标识信息 通常我们所说的51单片机是指以51内核扩展出的单片机。生产51单片机的厂商很多,51单片机的型号也很多。下表列出了一些51单片机的厂商和型号。 以上提到的单片机都是51内核扩展出来的单片机,只要学会了51单片机的应用,这些单片机也就基本都能使用了。单片机都是相通的,不管是51单片机还是其它单片机,都是用户编程控制来实现一定的功能。 接下来的一个系列的文章中以STC89C516RD+单片机为基础进行讲解。下面我们对这个单片机的标识进行解释: STC—前缀,表示芯片为STC公司生成的产品。 8—表示该芯片为8051内核的芯片。 9—表示内部含FLAS
[单片机]
51<font color='red'>单片机</font>(一)—— 51<font color='red'>单片机</font>简介
基于51单片机可修改错误功能的计算器工作原理解析
utiliTIes.h #ifndefUTILITIES_H_INCLUDED #defineUTILITIES_H_INCLUDED typedefunsignedcharuchar,BYTE,uint8; typedefunsignedintuint,WORD,uint16; typedefunsignedlongulong,DWORD,uint32; typedefcharint8; typedefintint16; typedeflongint32; typedefunsignedchar*uchar_p; typedefunsignedint*uint_p; typedefunsignedlong*ulong_p;
[单片机]
基于51<font color='red'>单片机</font>可修改错误功能的计算器工作原理解析
用AT89S51单片机来制作的手动计数器
  1. 实验任务   利用AT89S51单片机来制作一个手动计数器,在AT89S51单片机的P3.7管脚接一个轻触开关,作为手动计数的按钮,用单片机的P2.0-P2.7接一个共阴数码管,作为00-99计数的个位数显示,用单片机的P0.0-P0.7接一个共阴数码管,作为00-99计数的十位数显示。   2。 系统板上硬件连线   1.把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。   2.把“单片机系统”区域中的P2.0/A8-P2.7/A15
[单片机]
用AT89S51<font color='red'>单片机</font>来制作的手动计数器
单片机实验——8X8LED点阵显示技术(二)
利用8X8 点阵挨个显示数字0 到9 的数字,到9后从0重新开始,如此循环。 解决方式一:通过中断方式让所有行值始终为低电平(事实上,并不是一次性让所有行值为低电平,而是挨行设置,CPU的中断时间间隔较短,当挨行设置频率较快时,可近似认为所有行值都为低电平),而列值需要根据具体数字的列值来确定,每秒改一次列值的数字。 解决方式二:通过中断方式让所有列值始终为高电平(原理同上),而行值根据具体数字的行值来确定,每秒改变一次行值的数字 以下我采用了方法一来实现。 编译环境:KEIL C51 V3 电路仿真软件:proteus 7.4 单片机类型:AT89C52 LED类型:MATRIX-8X8-RED 单片机上
[单片机]
<font color='red'>单片机</font>实验——8X8LED点阵显示技术(二)
基于RlTOS和ISP功能的数字仪表系统设计与实现
摘要:以Atmel公司的AT89S52型单片微控制器为对象,介绍基于RTOS(多任务实时操作系统)和ISP(在系统可编程)功能的数字仪表系统的软硬件设计,同时给出硬件系统的组成和相关软件编程的实现代码。经某武器系统的调试试验表明,该仪表系统具有显示直观、准确、可靠的优点。 关键词:RTOS;ISP;单片微控制器;液晶显示模块 引言 Atmel公司的控制器以其集成度高、在线调试方便等特点广泛应用于工程实践领域,文中以某武器系统的前期预研为背景,讨论了数字仪表系统的软硬件实现过程,其主要功能包含:实时采集配电箱系统的6路正负模拟电压值及作战环境温度,并通过MSl2232B型液晶模块动态式显示。 1 软件特性 随着C语言在嵌
[应用]
单片机学习心得汇总(一)
为什么要掌握这些知识?   实际上,电子工程师就是将一堆器件搭在一起,注入思想(程序),完成原来的这些器件分离时无法完成的功能,做成一个成品。所需要的技能越高、功能越复杂、成本越低、市场上对相应的东东的需求越大,就越成功。这就是电子工程师的自身的价值。从成本到产品售出,之间的差价就是企业的追求。作为企业的老板,是在市场上去寻找这样的应用;对电子工程师而言,是将老板提出的需求或者应用按照一定的构思原则(成本最低、可靠性最高、电路板最小、功能最强大等)在最短的时间内完成。最短的时间,跟电子工程师的熟练程度、工作效率和工作时间直接有关。这就是电子工程师的价值。   将电子产品抽象成一个硬件的模型,大约有以下组成:   1) 输入   2)
[单片机]
8051单片机供水系统水位控制的硬件电路设计
供水系统水位控制原理 下图是水塔水位控制原理图。图中虚线表示允许水位变化的上下限。在正常情况下,应保持水位在虚线范围之内,为此,在水塔的不同高度安装固定不动的三根金属棒,以感知水位变化情况。其中A棒处于下限水位以下,C棒处于上限水位,B棒在下限水位处。A棒接+5V电源,B棒、C棒各通过一个电阻与模拟地相连。 水塔由电机带动水泵供水,单片机控制电机转动以达到对水位控制的目的。供水时,水位上升,当达到上限时,由于水的导电作用,B棒、C棒连通+5V电源,因此,b、c两端均为高电平“1”状态。这时,应停止电机和水泵的工作,不再给水塔供水。 当水位降到下限时,B棒、C棒都不能与A棒导通,因此,b、c两端均为“0”状态。这时,应启动电机,
[单片机]
8051<font color='red'>单片机</font>供水系统水位控制的硬件电路设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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