历史上的今天
返回首页

历史上的今天

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

正在发生

2020年01月18日 | 单片机成长之路(51基础篇) - 002 STC冷启动和复位区别

2020-01-18 来源:eefocus

  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内部的数据则不变。

推荐阅读

史海拾趣

BRIGHT公司的发展小趣事

近年来,BRIGHT公司积极投身于太阳能领域的发展。他们推出了一种创新的商业模式,即帮助用户免费安装太阳能面板,并随后收取服务费。这一模式类似于有线电视的收费方式,有效降低了用户安装太阳能系统的门槛。通过与私人投资者的合作,BRIGHT公司成功承担了安装成本,并致力于向全球提供优质的屋顶太阳能解决方案。这一突破性的举措使得BRIGHT公司在太阳能领域取得了显著的成绩。

Capax Technologies Inc公司的发展小趣事

Capax Technologies Inc在市场定位和产品策略上表现出色。公司深入调研市场需求,发现高端电子设备市场对于高性能、高可靠性的组件有着旺盛的需求。于是,Capax Technologies Inc将产品定位为高端市场,专注于研发和生产高品质的电子组件。通过精准的市场定位和优质的产品,Capax Technologies Inc迅速在高端市场中占据了一席之地。

Eink公司的发展小趣事
随着电子纸技术的广泛应用,E-Ink公司的商业地位也逐渐上升。其电子纸产品不仅在全球范围内销售,还赢得了众多合作伙伴的青睐。同时,E-Ink公司并没有停止技术创新的步伐,继续投入大量资源进行研发,以推动电子纸技术的进一步发展。这种持续的创新精神使得E-Ink公司在电子行业中保持了领先地位。
华润微(CRMICRO)公司的发展小趣事

2001年,华润微成立矽科公司,开始涉足芯片设计业务。这一举措使公司能够为客户提供更加完整的解决方案,并进一步提升其市场竞争力。同时,华润微也意识到封装测试在半导体产业链中的重要性,于是在2003年成立安盛公司,开始进入封装测试领域。通过建立6英寸产线,华润微进一步巩固了其在半导体产业链中的地位。

Chiplus Semiconductor Corp公司的发展小趣事

在21世纪初,全球半导体行业蓬勃发展,台湾地区的IC设计领域也呈现出勃勃生机。在这样的背景下,晶发半导体的创始人蒲文豪怀揣着对低功率SRAM领域的深厚热情,于2002年创立了Chiplus Semiconductor Corp.(晶发半导体)。蒲文豪曾在一家专攻低功率SRAM的公司工作,深知这一领域的潜力和市场需求。他立志要做低功率SRAM领域的领军者,为全球客户提供卓越的产品和服务。

B&B Electronics Manufacturing Company公司的发展小趣事

近年来,电子行业面临着技术更新迅速、市场需求多变等挑战。B&B公司积极应对这些挑战,不断调整和优化产品结构,加强技术创新和人才培养。同时,公司也密切关注行业动态和市场需求变化,为未来的发展做好充分准备。

这些故事虽然无法涵盖B&B公司发展的全部细节,但可以从不同侧面反映出公司在电子行业中的成长轨迹和发展脉络。作为一家在电子行业中具有一定影响力的公司,B&B公司的发展历程无疑是一个充满挑战和机遇的过程。

问答坊 | AI 解惑

2.4G天线信号传输损耗

损耗是指在传输过程中因传输介质等因素引起的能力损失。…

查看全部问答>

二极管her307能不能用her308代替

望高手解答一下,在此先谢谢了!!!…

查看全部问答>

pdu usc-2 中文编码

我在linux下开发短信,使用开源的smstools来开发。 使用pdu模式时,发现对英语与数字可以很简单地实现。 但使用中文信息时,发现移动发过来的pdu报文解不正确。 如报文:测试 =“6D4B8BD5” 将两位一组转换为16进制数值,再转换为无符号字符。 ...…

查看全部问答>

寻求指引:不知如何问起的问题,关于和PC通讯方面(软硬驱动都需要)

(我一直做软件,虽然对Windows核心也有所了解,但却从未真正写过驱动,也未写过单片机软件,提的问题可能很不专业,请多包涵,多给点指引) 简单的说,可能这样:公司安排我项任务,改进一些旧的仪器。以前所有的仪器都是用RS232跟电脑连接的,我 ...…

查看全部问答>

各位大哥,你们好,我的朋友想学习plc但不知道用什么开发工具,希望你们能提供一些信息!谢谢

各位大哥,你们好,我的朋友想学习plc但不知道用什么开发工具,希望你们能提供一些信息!谢谢…

查看全部问答>

wince驱动开发的朋友

wince驱动开发,学了快半年了,想结交同样做wince驱动开发的朋友, QQ:181822723 …

查看全部问答>

想应聘嵌入式软件开发工程师,不知道看些什么书好

对嵌入式系统几乎知道很少知识     但是想应聘嵌入式软件开发工程师,不知道临时补充些什么知识,并且希望大家能推荐出书目来,谢谢 …

查看全部问答>

LM3S9997 J-LINK KEIL

LM3S9997 J-LINK KEIL 这几天做了个LM3S9997的最小系统。。。。 JTAG已经连接上了。。。读到的IDCODE是 0X4BA00477。。。然后用打开LM3S8662的一个LED例程。。。   有个错误。无法下载程序:error :flash DOWNLOAD FAILED - CORTEX-M3 好 ...…

查看全部问答>

STM8S常见问题大杂烩

最近再使用STM8S207RB进行开发,以下是自己使用cosmic时遇到的一些常见问题: 1.printf/sprintf入口参数必须是u16类型,否则打印结果不正确,很奇怪 2.u32位类型的判断if ((val%0x1000) == 0)此判断前必须强制转换,即     if ((u ...…

查看全部问答>

变压器制作知识

本帖最后由 paulhyde 于 2014-9-15 04:02 编辑 变压器制作大家一起学  …

查看全部问答>