关于stc51的冷启动下载和复位
来源:互联网 发布:代运营淘宝 编辑:程序博客网 时间:2024/05/16 00:25
关于stc51的冷启动下载和复位
Stc单片机里面有一段出厂时固化的程序,这段程序的作用是检测串口是否要下载程序,不需要则执行单片机内的用户程序。每次启动时运行这端程序,这就是为什么每次下载时要冷启动。而复位后单片机是从地址0000H处开始执行,地址0000H又会指向主程序入口,即主函数处,即片内下载的用户程序而不会执行前面已经固化的检测串口那段程序。这就是为什么单片机每次下载要冷启动,而复位不行。注意,程序前面的宏定义什么的东西不占用系统时间,所以主程序即主函数处。有一个办法可以给那些需要加电立刻启动的用户,STC单片机可以设置为加电时只有P1.0/P1.1为低电平时开始下载程序,否则直接执行用户程序。这种办法快,不用等前面检测串口的那段时间 。stc单片机冷启动是必须的而复位电路不是必须的,不管是冷启动还是手动启动。也就是想下载程序必须冷启动,而有没有复位电路无所谓。但是最小系统板上必须有复位电路,无论是上电复位,还是上电加手动复位,虽然在一些简单的程序中看不出区别,但是因为复位操作会对一些特殊寄存器产生影响,这样没有复位操作的话再次执行函数的时候会出现错误。单片机断电后在通电也会从主函数处继续执行,可能是单片机断电后地址自动回到0000H,但是那些特殊寄存器里的值不会改变。
对于上电复位,貌似电路不会有电流流过,但是上电瞬间,有一个给电容充电的过程,这个过程中rst端口会出现一个正脉冲,只要该脉冲保持1ms以上就能使单片机复位。
单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值,见下表。
值得指出的是,记住一些特殊功能寄存器复位后的主要状态,对于了解单片机的初态,减少应用程序中的初始化部分是十分必要的。 说明:表中符号*为随机状态; A=00H,表明累加器已被清零;
特殊功能寄存器
初始状态 特殊功能寄存器
初始状态 A 00H TMOD 00H B 00H TCON 00H PSW 00H TH0 00H SP 07H TL0 00H DPL 00H TH1 00H DPH
00H
TL1
00H
P0~P3 FFH SBUF 不定 IP ***00000B SCON 00H IE
0**00000B
PCON
0*******B
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内部的数据则不变。
0 0
- 关于stc51的冷启动下载和复位
- 关于stc51的冷启动下载和复位
- STC51和STM32学习软件及资料整理下载
- 关于fpga的复位
- 同步复位和异步复位的比较
- 同步复位和异步复位的比较
- 异步复位和同步复位的区别
- 同步复位和异步复位的比较
- 同步复位和异步复位的对比
- 同步复位和异步复位的比较
- 关于西门子PLC300的置位和复位指令
- 计算机的启动方式(冷启动、热启动、复位启动)、注销、待机
- STM32 关于复位类型的判断及软件复位
- STM32 关于复位类型的判断及软件复位 bug
- 异步复位同步释放---关于复位的问题
- 异步复位同步释放---关于复位的问题
- 复位和复位流程
- FPGA的时钟和复位
- Remove Invalid Parentheses
- 【51Nod 1239】欧拉函数之和
- RMQ+二分 - CF 689D Friends and Subsequences
- JavaScript-Array 对象及方法(下)
- HDU 2825(Wireless Password-AC自动机+状压dp)
- 关于stc51的冷启动下载和复位
- AsyncHttp+gson解析
- 2016sdau课程练习专题三 1011
- Windows+Visual Studio下生成g2o库教程(结合Cholmod库)
- 分享弹出代码
- 集训第三天
- (3)WSDL文档深入分析
- hdu1848 Fibonacci again and again(博弈)
- win 10 和 CentOS 7 双系统安装总结