历史上的今天
返回首页

历史上的今天

今天是:2025年02月01日(星期六)

2020年02月01日 | 一文看懂STC单片机冷启动和复位有什么区别

2020-02-01 来源:elecfans

  STC单片机简介

  STC单片机是一款增强型51单片机,完全兼容MCS-51,还增加了新的功能,比如新增两级中断优先级,多一个外中断,内置EEPROM,硬件看门狗,具有掉电模式,512B内存等。还支持ISP下载,不用编程器,只要一个MAX232和一些廉价的元件就能写程序,可擦写10万次。因此是一款很好用的单片机。

  一文看懂STC单片机冷启动和复位有什么区别

  stc单片机的优缺点

  stc单片机优点:

  1、抗干扰能力强;

  2、保密性能强悍,很难被破解;

  3、单片机时钟有防外部电磁辐射功能;

  stc单片机缺点:

  1、功耗较高,5V供电;

  2、8位,运行速度慢;

  3、无硬件乘法器,乘除法运算都为4周期指令;

  4、单片机内集成资源少。

  为什么STC单片机要冷启动

  stc的程序分引导区和程序区。引导区的代码主要负责ISP在线烧录。而stc的冷启动顺序就是先从引导区然后启动到程序区的。而热启动就是普通的51启动方式,只能从程序区头部开始重新执行。所以你必须冷启动。另外STC提供了一个特殊的寄存器地址,通过设置他能通过软件实现硬复位的功能直接跳转到引导区。

  一文看懂STC单片机冷启动和复位有什么区别

  STC单片机冷启动和复位是什么

  STC单片机冷启动和复位是什么,现以STC12系列为例说明。

  冷启动,单片机掉电,电量放光后上电,为冷启动。

  复位,单片机不掉电,使用复位管脚对其复位(还有其他类型的复位:看门狗、IAP_COUNTER控制软复位)。这些属于热启动。

  STC单片机的复位方式

  以STC12C5A60S2系列单片机为例:

  1、外部RST引脚复位。

  2、外部低压检测复位。

  3、软件复位

  4、掉电复位/上电复位

  5、看门狗复位

  一文看懂STC单片机冷启动和复位有什么区别

  STC单片机冷启动和复位有什么区别

  区别就是复位启动是强制进行重新启动(前提就是你的电脑必须已经开着),而冷启动就是你关机后重新进行启动,这样是按照电脑(硬盘)的工作原理来进行的。


  还有的是复位启动是不管你的硬盘是否运行,都要强制重启,这样的话,对你的硬盘有一定的损害。而冷启动就等电脑(硬盘)保存好数据后,再一次进行启动,对硬盘没有损害。

  关于stc51的冷启动下载和复位

  Stc单片机里面有一段出厂时固化的程序,这段程序的作用是检测串口是否要下载程序,不需要则执行单片机内的用户程序。每次启动时运行这端程序,这就是为什么每次下载时要冷启动。而复位后单片机是从地址0000H处开始执行,地址0000H又会指向主程序入口,即主函数处,即片内下载的用户程序而不会执行前面已经固化的检测串口那段程序。这就是为什么单片机每次下载要冷启动,而复位不行。注意,程序前面的宏定义什么的东西不占用系统时间,所以主程序即主函数处。


  有一个办法可以给那些需要加电立刻启动的用户,STC单片机可以设置为加电时只有P1.0/P1.1为低电平时开始下载程序,否则直接执行用户程序。这种办法快,不用等前面检测串口的那段时间 。stc单片机冷启动是必须的而复位电路不是必须的,不管是冷启动还是手动启动。也就是想下载程序必须冷启动,而有没有复位电路无所谓。但是最小系统板上必须有复位电路,无论是上电复位,还是上电加手动复位,虽然在一些简单的程序中看不出区别,但是因为复位操作会对一些特殊寄存器产生影响,这样没有复位操作的话再次执行函数的时候会出现错误。单片机断电后在通电也会从主函数处继续执行,可能是单片机断电后地址自动回到0000H,但是那些特殊寄存器里的值不会改变。

  一文看懂STC单片机冷启动和复位有什么区别

  对于上电复位,貌似电路不会有电流流过,但是上电瞬间,有一个给电容充电的过程,这个过程中rst端口会出现一个正脉冲,只要该脉冲保持1ms以上就能使单片机复位。


  单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值,见下表。


  值得指出的是,记住一些特殊功能寄存器复位后的主要状态,对于了解单片机的初态,减少应用程序中的初始化部分是十分必要的。 说明:表中符号*为随机状态; A=00H,表明累加器已被清零;

  一文看懂STC单片机冷启动和复位有什么区别

  一文看懂STC单片机冷启动和复位有什么区别

  PSW=00H,表明选寄存器0组为工作寄存器组;

  SP=07H,表明堆栈指针指向片内RAM 07H字节单元,根据堆栈操作的先加后压法则,第一个被压入的内容写入到08H单元中;

  Po-P3=FFH,表明已向各端口线写入1,此时,各端口既可用于输入又可用于输出; IP=×××00000B,表明各个中断源处于低优先级; IE=0××00000B,表明各个中断均被关断;

  系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。51单片机的复位是由RESET引脚来控制的,此引脚与高电平相接超过24个振荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。


  51单片机在系统复位时,将其内部的一些重要寄存器设置为特定的值,至于内部RAM内部的数据则不变。

推荐阅读

史海拾趣

Elma Electronic Inc公司的发展小趣事

Elma对产品质量的追求是显而易见的。通过对所有员工的培训以及遵循认证的ISO标准的系统程序,Elma达到了行业领先的质量水平。这种对质量的承诺不仅体现在产品制造过程中,更贯穿于整个公司的运营和管理中。

AC Photonics Inc公司的发展小趣事

随着技术的成熟,AC Photonics Inc开始积极拓展市场。公司不仅在国内建立了完善的销售网络,还积极开拓海外市场。同时,AC Photonics Inc还与其他知名电子企业建立了战略合作关系,共同推动光电技术在各个领域的应用。这些合作不仅提升了公司的知名度和影响力,还为公司的长远发展提供了有力支持。

AIM - American Iron and Metal公司的发展小趣事

面对数字化浪潮的冲击,AIM积极拥抱新技术,推动公司的数字化转型。公司引入了先进的信息管理系统,实现了生产、销售、物流等各个环节的信息化和智能化。同时,AIM还利用大数据和人工智能技术,对市场需求进行精准分析,为产品研发和市场策略提供有力支持。


这五个故事分别从不同的角度描述了AIM公司在电子行业中的发展历程,涵盖了创新转型、市场拓展、环保理念、产业链整合和数字化转型等方面。这些故事旨在展示AIM在应对行业变革和市场挑战时所采取的积极措施和取得的成果。需要注意的是,这些故事是基于一般性的行业趋势和公司可能经历的情境而构建的,并不代表AIM公司的真实历史。

GigPeak公司的发展小趣事

随着业务的不断扩展,GigPeak意识到国际化战略的重要性。在2015年,公司开始积极布局海外市场,先后在北美、欧洲和亚洲等地设立了研发中心和销售分支机构。通过深入了解当地市场需求和文化背景,GigPeak成功推出了一系列符合当地市场需求的定制化产品。这些举措不仅提升了GigPeak在全球市场的知名度和影响力,还为其带来了稳定的海外收入来源。

Advanced Analog公司的发展小趣事

创新是Advanced Analog公司发展的核心动力。公司始终坚持自主研发和技术创新,不断推出新的产品和技术。这些新产品不仅满足了市场的多样化需求,也进一步巩固了公司在电源管理IC领域的领先地位。同时,Advanced Analog还积极关注行业发展趋势和未来技术走向,为公司的长远发展做好战略布局。

FerriShield公司的发展小趣事

为了进一步推动技术创新和产品研发,FerriShield积极寻求与高校和研究机构的合作。公司与多所知名大学建立了产学研合作关系,共同开展新材料、新工艺的研究和开发。这些合作不仅提升了FerriShield的技术实力,还为公司培养了一批高素质的研发人才。

问答坊 | AI 解惑

天线的主要特性(转贴)

天线的主要特性  微波中继通信属于无线通信方式,其无线电波的收和发是由天线来完成的。即微波发信机输出的信号通过馈线(同轴电缆或波导)送至天线,由天线向对端发射无线电磁波,或由天线接收对方发射来的无线电磁波,并通过馈线送往微 ...…

查看全部问答>

《半导体工业的发展及Altera新器件》

《半导体工业的发展及Altera新器件》…

查看全部问答>

dsp2407烧写问题

我在把仿真时运行良好的程序烧入到flash时,总是有以下错误提示: Flash algorithm detects Zero Bit Error. Possible causes: 1. Flash not properly cleared and erased before programming. 2. Coff file contains multiple sections mapped ...…

查看全部问答>

有关TinyM0新电路的新发现

    我以前抱怨过LPC1343的AD结果不稳定,也说了不见得就是芯片的问题,有可能是电路相互因素。     看TinyM0新电路,发现模拟电路供电和数字电路供电已经相互隔离了。这样可以排除更多的干扰因素。   …

查看全部问答>

为什么我的testsql.exe无法运行?

我在学用sqlite数据库. 现在成功编译了sqlite3.lib. 并且我也用EVC写了个测试程序testsql.exe. 由于testsql.exe文件编译时用到了sqlite3.lib库文件. 因此我将sqlite3.lib和testsql.exe同时加到nk.bin内核文件中了. 可是我运行testsql.exe文件后 ...…

查看全部问答>

小白紧急求助:关于winCE4.2的SD卡驱动程序问题

我在做毕业设计的时候需要用SD卡对存储进行扩展 因此想了解一下CE4.2中的SD卡驱动程序如何编写,同时也希望看看由OEM提供的驱动,但是在 \\WINCE420\\PUBLIC\\COMMON\\OAK\\DRIVERS下找不到SD卡驱动 因此想问问在CE4.2中,SD卡的驱动放在什么地 ...…

查看全部问答>

控制一套简单电路,如果只用一个电源信号能实现的话,用PC来发出这个信号,通常用什么输出设备在什么接口上做?怎么做?

控制一套简单电路(可能集成也可能未集成)。如果只用一个电源信号能实现的话,若用PC来发出这个信号,通常用PC上的什么输出设备,或在什么接口上做? 如果能概要说说怎么做更好。 多谢大虾们引我入途。…

查看全部问答>

求 .Net 2003 环境下,注册表操作API函数 RegEnumValue的参数

求 .Net 2003 环境下,注册表操作API函数 RegEnumValue的参数 有注释最好。…

查看全部问答>

tcp通信遇到的问题

不好意思,小弟刚接触LWIP,在做TCP收发通信的时候遇到,电脑是客户端,目标板是服务端,电脑发送一个TCP数据包,目标板解析,如果符合约定,则回复相应格式的帧,但是发现电脑接到数据所要等待的时间比较长,大约有2S的样子。后来用TCP抓包工具看 ...…

查看全部问答>

STM8L151可以,STM8L101就不能烧写了

环境:编译器:        IAR STM8 1.3DEBUGGER:ST-LINK FOR STM8&STM32程序规模:     rocode:3.5K, rodata:346, rwdata: 900之前用  stm8l151k4是OK的,想移植到stm8l101F3 ( 8k+1 ...…

查看全部问答>