单片机复位5问

以下是自己关于单片机复位电路的一些认识:

>1、单片机为什么要复位?

使单片机回复初始状态,从PC指针的0地址开始执行程序

>2、如何复位单片机?(怎样操作确保单片机复位)

要求:51单片机要复位只需要在第9引脚接个高电平持续2个机器周期 (2*12=24个时钟周期)就可以实现;即在2个机器周期内将单片机锁定在 复位状态 。(因为两个机器周期单片机才能执行完复位命令)

>3、上电后就立即复位吗?(即上电和复位时同时的吗)

>3.1、复位具体是怎么执行的?

复位的2个前提是:1)CPU正常工作 [要知道复位命令的的执行是需要CPU执行的] 而CPU正常工作需要

(a:VCC电源稳定  b:晶振起振)

2)  CPU检测到复位信号(即RST引脚为高电平)

>3.2:晶振起振&电源稳定 是需要时间的,因此上电后并不是立即复位,但可以肯定的是(复位信号确实上电就有,并且是一个回落的过程,有5V到1.5V,持续约0.1s的高电平);但单有复位信号也没用,要执行复位操作还需等待3.1中的的第一个条件实现,CPU不正常工作是执行不了复位命令的

而(上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms);

  综上可知单片机RST复位信号的持续时间(约0.1s)是远远长于必要的复位的2个机器周期的(去除上电前的10几ms的等待时间,其余时间 0.1s-10ms  单片机都被锁定在复位状态,单片机一直执行复位命令)  ,这样也确保单片机能可靠的实现复位操作

>4、复位的2个机器周期内单片机做了些什么?

主要做的就是初始化每个寄存器,包括最重要的PC指针,不包括RAM,然后单片机从复位地址开始执行程序。

>5、复位过程分析

开机的时候为什么会复位

在电路图中,电容的的大小是10uf,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。也就是说在电脑启动的0.1S内,电容两端的电压时在0~3.5V增加。这个时候10K电阻两端的电压为从5~1.5V减少(串联电路各处电压之和为总电压)。所以在0.1S内,RST引脚所接收到的电压是5V~1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间持续0.1S左右)。

按键按下的时候为什么会复位

在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。

时间: 2024-10-19 06:27:57

单片机复位5问的相关文章

单片机复位后高电平输出问题(收集别人的)

有些电路我需要使用高电平输出有效,但是通电自动复位时单片机IO口会有短时间输出高电平导致继电器误动作怎么办?程序中要求高电平输出有效的我已经将它置位低电平. 解决方案51单片机复位期间,IO口呈高电平状态,万一IO口控制的设备是使用高电平触发的话,在复位的瞬间会造成设备触发.解决方法: 1.把MCU换成别的体系的,譬如AVR.PIC等,这些单片机复位时IO口呈浮空高阻状态,不会造成触发. 2.使用反相驱动,MCU输出低电平反相成高电平再去控制设备.复位时的高电平反相后变成低电平,不会触发.这是比

单片机最小零碎[配图][超具体]

为什么称之为单片机最小零碎呢?单片机最小零碎,也叫做单片机最小使用零碎,是指用起码的原件构成单片机可以任务的零碎.单片机最小零碎的三要素就是电源.晶振.复位电路,如图 2-1 所示. 图 2-1  单片机最小零碎电路 这张最小零碎的电路图节选自我们的 KST-51 开辟板道理图,下面我们就照这张电路图来详细剖析最小零碎的三要素. 1) 电源 这个很好了解,电子装备都需求供电,就连我们的家用电器(手电筒^_^)也不破例.今朝主流单片机的电源分为 5V 和 3.3V 这两个规范,当然如今还有对电压请

[每日电路图] 1、基于AT89C52单片机最小系统接口电路【转】

:http://www.21ic.com/dianlu/ :http://www.elecfans.com/soft/49/ :http://www.wuyazi.com/ come from:http://www.21ic.com/dianlu/basis/interface/2015-04-21/621607.htm AT89C52是美国Atmel公司生产的低电压.高性能CMOS 8位单片机,片内含8KB的可反复擦写的程序存储器和256B的随机存取数据存储器(RAM),器件采用Atmel公司

【转】看看什么叫51单片机最小系统

单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机.晶振电路.复位电路.下面给出一个51单片机的最小系统电路图. 说明 复位电路:由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐

【转】什么叫51单片机最小系统

单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统. 对51系列单片机来说,最小系统一般应该包括:单片机.晶振电路.复位电路. 下面给出一个51单片机的最小系统电路图. 说明 复位电路:由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书

单片机C语言探究--为什么变量最好要赋初值

有许多书上说,变量最好要赋初值.但是为什么要初值呢?不赋初值可能会出现什么样的意外呢?以下就我在以51单片机为MCU,Keil为编译器看到的实现现象作分析.众所周知,变量是存储在RAM中,掉电后即丢失,上电后默认全为0.那么这样的话没赋初值的变量值全为0,这也应该是大家认为理所当然的.但是,当单片机复位的时候(包括硬件复位即按下复位按钮,看门狗复位,以及其它软件程序复位),单片机只是重新跳回到main函数开始执行,而并没有清空RAM!所以,那些只是定义而没有赋初值的变量(尤其是全局变量)依然会使

复位电路工作原理

复位电路的作用 在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令.执行错误操作,也可以提高电磁兼容性能.无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计.而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性.许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”.“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的. 基本的复位方式单片机在启动时都需要复位,以使CPU及系

[学习笔记]15个QA让你快速入门51单片机开发

一.C语言相关... 1 Q1:sbit与sfr代表是什么?有什么作用?... 1 Q2:#define OSC_FREQ  22118400L这句宏命令里的“L”是什么意思?... 1 Q3:我粘贴了别人的代码,怎么发现没有unit这个类型?... 1 Q4:为什么好多变量都是char类型?它不是字符类型吗?怎么可以用来计数?    1 Q4.1:51单片机中的char,int,long,float,double各占多少个字节,取值范围多大?    1 Q5:unsigned char dat

单片机reg51.h头文件详解(1)

51单片机头文件reg51.h详解 我们在用c语言编程时往往第一行就是头文件,51单片机为reg51.h或reg52.h,51单片机相对来说比较简单,头文件里面内容不多,像飞思卡尔.ARM系列的单片机头文件往往内容就非常多,尽管如此,对一些初次接触单片机的朋友来说,51的头文件还是搞不太清楚,今天具体来说明一下.       1)"文件包含"处理概念 所谓"文件包含"是指在一个文件内将另外一个文件的内容全部包含进来.因为被包含的文件中的一些定义和命令使用的频率很高,