在STC单片机中有两个程序区,用户程序区与ISP程序区。
单片机上电后(冷启动,并非外部手动复位或看门狗复位),先会运行ISP程序,检测是否有合法的下载命令流,占时几十毫秒到几百毫秒,
如果没有合法的下载命令流,则立即运行用户程序。
如果有合法的下载命令流,则ISP监控程序开始与ISP下载软件通信,软件也会进入编程模式,向监控程序发送程序码,监控程序接收程序码,并将其写入用户程序区中。
在编程完毕,对程序校验成功后,用户程序立即生效,开始运行用户程序。
若没有在软件通过串口配合上位机对IAP_CONTR寄存器进行设置(比如下面的程序),那么STC-ISP尝试与MCU握手连接的时候,是以“最低波特率”设置项中的波特率不断的从串口发送“0x7F”信号,直到上电冷启(或者软复位至ISP)经几十毫秒到几百毫秒检测下载命令流后,才停止发送“0x7F”信号。
若有进行IAP_CONTR的设置,便进行相应的设置相关命令进行。
#include
unsigned char RevData;
//void UartInit()
//{
// PCON &= 0x7F;
// SCON = 0x50;
// AUXR &= 0xBF;
// AUXR &= 0xFE;
// TMOD &= 0x0F;
// TMOD |= 0x20;
// TL1 = 0xFD;
// TH1 = 0xFD;
// ET1 = 0;
// TR1 = 1;
//}
void UartInit()
{
AUXR &= 0xF7;
S2CON = 0x50;
AUXR &= 0xFB;
BRT = 0xFD;
AUXR |= 0x10;
}
void main()
{
UartInit();
EA = 1;
ES = 1;
P0 = 0;
while(1);
}
void Uart() interrupt 4
{
if(RI)
{
RI = 0;
RevData = SBUF;
if(RevData == 0x0a)
{
IAP_CONTR=0x60;
}
}
if(TI)
{}
}
关键字:STC12 单片机 自动下载
引用地址:
STC12单片机实现自动下载程序
推荐阅读最新更新时间:2024-11-06 10:19
单片机实现接触式的IC卡读写控制
从上高中开始,我们学校用的餐卡就为接触式的IC卡,在校园里还分布着很多的IC卡电话,上大学以后学校使用的校园一卡通,为非接触式是射频式IC卡,因此对IC卡有了兴趣,在学习单片机的过程中,了解到单片机可以实现IC卡的读写控制,在参考有关资料的基础上,学习的利用单片机实现接触式的IC卡读写控制。 主要器件: 1、 AT89S8252单片机芯片,此芯片具有SPI接口,可以用来读写IC卡芯片。 2、 使用与SPI接口兼容的串行数据接口的IC卡芯片AT45D041A,支持在系统重编程,可用于数字语音、图像和数据的存储。 试验流程图: 试验电路图: 试验程序代码: //ICRdWr.h程序 #ifnd
[单片机]
STM32单片机接收不定长度字节数据的方法解析
今天说一下STM32单片机的接收不定长度字节数据的方法。由于STM32单片机带IDLE中断,所以利用这个中断,可以接收不定长字节的数据,由于STM32属于ARM单片机,所以这篇文章的方法也适合其他的ARM单片机。 IDLE中断什么时候发生? IDLE就是串口收到一帧数据后,发生的中断。什么是一帧数据呢?比如说给单片机一次发来1个字节,或者一次发来8个字节,这些一次发来的数据,就称为一帧数据,也可以叫做一包数据。 如何判断一帧数据结束,就是我们今天讨论的问题。因为很多项目中都要用到这个,因为只有接收到一帧数据以后,你才可以判断这次收了几个字节和每个字节的内容是否符合协议要求。 看了前面IDLE中断的定义,你就会明白了,一帧数据结
[单片机]
LCD+PIC单片机12864串行显示程序
程序代码: #include pic.h #define uchar unsigned char #define uint unsigned int __CONFIG(HS&WDTDIS); #include Drive_Serial.h uchar line1_data = { 顶顶电子欢迎您! }; uchar line2_data = { www*ddmcu*com }; uchar line3_data = { DD-900实验开发板 }; uchar line4_data = { TEL: 15853209853 }; /********端口设置函数********/ void port_init(
[单片机]
基于AVR单片机和EM4094射频卡读写基站的多协议读写器的设计
引言 射频识别(RFID)是利用无线方式对电子数据载体(电子标签)进行识别的一种新兴技术。与接触式IC卡和条形码识别等系统比较,它有着巨大的优势。利用射频识别技术,能有效实现对数量大、分布区域广的信息进行智能化管理,达到高效快捷运作的目的,特别是在第二代身份证、物流、交通航运、自动收费、超市、门禁系统管理、服务领域等方面有着广泛的应用前景。随着我国国民经济的快速发展,国内RFID行业也正经历着深刻的变革。 RFID系统一般是由读写器、射频卡、应用软件来组成。其中读写器的设计是至关重要的,它决定了系统的稳定性和准确性。 除了要求其能支持一系列协议、标准和收发器外,对读写器可能还有其它功能性方面的要求,如高性能、防冲突、远/近感应距离
[单片机]
AVR单片机教程——开发环境配置
今天去交大密院参观了设计展,无外乎两个主题:Arduino、Python。 关于Python,我印象最深的是一位Python程序员的话:你要硬核的话,可以去那边看Java。 拜托,都9102年了,Java已经算得上硬核了?是Python太好用,还是Java版本更新太快了?真正的硬核,绝对BrainFuck莫属,如果要实际一点,也是C++、Haskell之辈,当Java在他们口中称得上硬核的时候,我觉得我可以换一个展台了。 于是我来到了全是Arduino的楼层。看到那么多Arduino,我不禁疑惑,虽然Arduino是最常见的开发板,但也不至于完全没有STM32的踪影吧?问了才知道,是教授要求他们用Arduino的,我也就无
[单片机]
戴维仍然会站立在并行计算的潮头
并行计算是电子学的重大挑战之一,几乎没人能比戴维•梅更好地抓住其理论背景和软件含意。这位英国布里司托大学的计算机科学教授,同时还是总部位于英格兰布里司托的采用fabless模式的初创公司XMOS的CTO。 戴维•梅在1979~1980年年中时是Inmos公司Transputer 架构的首席架构师,Transputer是支持并行计算的单片机的先锋,虽然现在不存在了,但这项设计在当时却比时代提前了25年。 XMOS公司现在是包括Intel在内的研究在一个独立的IC上利用大量晶体管来实现并行计算的众多公司之一,戴维•梅是这家公司以软件定义的硅产品架构的开发者,随着时间的推移,很显然他仍然会站立在并行计算的潮头。
[焦点新闻]
基于AT89S52单片机的汽车尾灯控制器设计
0 引言 随着现代社会的不断进步,人们愈来愈离不开汽车。然而,随着汽车数量的急剧增加,道路安全就愈发引起人们的关注。现在认识到,仅仅依靠汽车本身的结构因素保证行车安全,已经是不现实的事情,因而必须强化对车辆上涉及安全的主要部位,进行定期的检查,并按一定的技术标准对它们的技术状况加以考核,通过具有一定精度的各种检验台测试取得的数据,科学而又定量地判断车辆安全装置的技术状况,给出恰当的评价。而汽车车灯故障率在汽车行驶过程中是比较高的,车灯故障时,不能正确反应汽车驾驶员的行车意识而给安全行车埋下事故隐患。 而随着电子系统能够在汽车产品中的广泛应用,大大保证了控制系统的自动化,而且汽车造型日趋流线型,汽车尾灯对于汽车整体造
[单片机]
单片机是由哪几部分组成的?
单片机是由哪几部分组成的? 答:单片机是在一块集成电路芯片上装有CPU和程序存储器、数据存储器、输入/输出接口电路、定时/计数器、中断控制器、模/数转换器、数/模转换器、调制解调器以及其他部件等的系统。视其型号不同,其组成部分各异。
[单片机]