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

发布者:eaff86最新更新时间:2016-07-11 来源: eefocus关键字: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内部的数据则不变。
关键字:stc51  冷启动  下载和复位 引用地址:关于stc51的冷启动下载和复位

上一篇:IO口输出模式理解
下一篇:12864点阵液晶显示器资料及程序

推荐阅读最新更新时间:2024-03-16 14:59

STC自动下载
用过STC公司的8051单片机的人都知道STC的芯片下载程序是需要断电才能下载的。连续下载一两次就觉得没所谓,但是我们有时需要连续下载几十、甚至几百次的时,那时只能说真烦啊!!! 于是就我们就要想办法改变这种现状,实现的办法分开两个方面。一、用软件实现,具体的方法请看《STC单片机不断电下载程序》。二、用硬件电路实现有下载信号就帮目标板自动断电。这两种方法各有优缺点,用软件实现不需要成本,但是会占用了单片机的串口。用硬件实现不需要占用目标板的任何资源,但是需要一定的成本,还要有一定的硬件基础。本文重点介绍用硬件实现。 下面请看一个演示视频 下载器制作完成后到的样子 这个自动下载器的制作资料可以从下面的链接下载
[单片机]
STC自动<font color='red'>下载</font>器
基于stc51单片机的PS\2键盘通信程序
PS2键盘通信(只写了接收部分因为按键码太多译码可以根据需要选择性翻译) #include //STC12C5AxxS2系列单片机头文件 #include//包函_nop_延时函数的头文件 #define uchar unsigned char//宏定义 #define uint unsigned int//宏定义 //------------------------------------------------------------------------------------- //全局声明部分 sbit CLK=P3^2; //时钟线 sbit DATA=P1^0; //数据线 sbit LED_zs=P0^0; //运
[单片机]
STC51入门笔记 第十一节:使用DS12C887时钟芯片设计高精度时钟
项目实现功能: 使 用开发板板扩展时钟芯片 DS12C887 设计一个时钟, 要求如下: ( 1 ) 在 1602 液晶上显示年、月、日、星期、时、分、秒, 并且按秒实时更新显示。 ( 2 ) 具有闹铃设定及到时报警功能, 报警响起时按任何键可取消报警。 ( 3 ) 能够使用板上的按键随时调节各个参数, 按键可设计 4 个有效键, 分别为功能选择键、数值增大键、数值减小键和闹钟查看键。 ( 4 ) 每次有键按下时, 蜂鸣器都以短“滴"声报警。 ( 5 ) 利用 DS12C887 自身掉电可继续走时的特性, 设计实现断电时间不停、再次上电时时间仍然准确显示在液晶上的功能。 读者可先根据项目实现功能自行尝试编写程序,当遇到困难时
[单片机]
<font color='red'>STC51</font>入门笔记 第十一节:使用DS12C887时钟芯片设计高精度时钟
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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