导航:首页 > 操作系统 > 单片机复位

单片机复位

发布时间:2022-01-18 14:12:46

单片机复位是什么概念

1 单片机的工作状态及其状态迁移 单片机的各种活动,可以描述成多个不同的工作状态或工作模式。
①把单片机经历的所有生存状态归纳和描绘成5个状态——1个非工作状态(即无电状态)和4个工作状态。
②只有复位状态是一个暂态,其他均为稳态;并且每次单片机进入正常运行状态时,都要经历一次复位状态。
③只有在正常运行状态(这里记作NORMAL)下,单片机才按照程序存储器中同化的用户程序按部就班地一步一步执行,从而完成开发者设计的各项任务。
④停机状态(或PD模式)和待机状态(或IDL模式),主要是为节能降耗而规划的节电状态(或称“睡眠状态”)。
⑤从无电状态离开的唯一条件就是上电,并且唯一能够到达的是一个暂态——复位状态。
⑥复位状态以外的4个状态都有迁移到复位状态的途径,只是导致迁移的条件不尽相同。
⑦无电状态之外的4个工作状态,都可能因为随时断电而导致单片机进入“无电状态”。
⑧从另外3个工作状态迁移到复位状态,基本都是依靠外部引脚RST上的复位信号。原始复位源比较单
一,这是因为传统80C5l的复位逻辑相对简单。如果想增加“电源欠压复位”和“看门狗复位”等其他复位源,则需要片外扩充独立电路来实现。
⑨标准80C51没有设计“软件复位”功能,如果需要该功能,可以通过用户程序自行实现。不同的是,软件复位不会令CPU经历一次复位状态。

2 复位源、复位操作和复位状态
像数字电路中的时序逻辑电路器件需要具备复位功能一样,各种类型的单片机也都需要具备复位功能(RESET)。复位功能按其英文原意是重新设置的意思,也就是从头开始执行程序,或者重新从头执行程序(Restart)的意思。复位是单片机的一项重要操作内容,其目标是确保单片机运行过程有一个良好的开端,确保单片机运行过程中有一个良好的状态。
需要强调的是:关于“复位”一词,它既包含复位活动的意思,又包含复位状态的意思。或者说,复位既是一个动态的概念(指复位活动、复位操作、复位处理或复位过程等),又是一个静态的概念(指复位状态或复位模式等)。
2.1 常规复位源和扩充复位源
从现今的技术高度来看,标准80C5l单片机的复位功能设计得不够完善,不仅没有设置复位标志位寄存器,而且复位源的种类也很少。
所谓“复位源”,就是导致或者引起单片机内部复位的源泉。对于当前市场上出现的种类比较齐全的单片机,其典型复位源大致可以归纳为以下6种:上电复位、人工复位、电源欠压复位、看门狗复位、非法地址复位和软件复位。这些复位源的特点是:
①上电复位这一种复位源是必不可少的。因为每次给单片机加电时,其电源电压的稳定,以及时钟振荡器的起振和振幅稳定,都需要一定的延迟时间。
②只有上电复位和人工复位这两种复位源,是讲解80C51单片机的教科书、技术文章和文献资料中比较常见的。
③对于电源欠压复位、看门狗复位和非法地址复位3种复位源,标准80C5l是不具备的,不过可以额外扩充,可由单片机用户根据实际需要通过附加一些软件或硬件的手段来实现。
④虽然电源欠压复位、看门狗复位、非法地址复位3种复位源可以额外扩充,但是都必须借助于复位引脚RST来实施复位操作或复位锁定。
⑤标准80C51本来不具备软件复位功能,但是可以通过纯软件方式以及虚拟手段,来实现或者部分实现其他单片机的软件复位。这种方法扩充的软件复位是一种比较特殊的复位源,一是不通过RST引脚实现复位,二是复位操作的内容与众不同。软件复位作为一种新技术,目前有越来越多的新型单片机配备了该功能。例如Phililps公司的P87LPC700和P89LPC900系列、TI-BB公司的MSC1200系列、SunPlus公司的SPMC65系列等,内部都设计了专门用于实现软件复位的控制寄存器或者控制位。
2.2 复位操作的具体内容
单片机复位功能的实现过程实质上就是在单片机内部进行一系列的复位操作。在复位期间,单片机内部的复位操作究竟完成了哪些内容,是程序设计人员应该搞清的问题,因为单片机复位操作完成之后的内部状态,就是运行用户程序和进行软件处理的背景、基础和起点。
对80C51单片机来说,只有软件复位的具体内容和影响范围,是可以由用户自由定制的;而凡是直接作用于复位引脚RST上的复位源(如上电复位等),所实现的复位操作的具体内容和影响范围都应该是一样的。现在归纳如下:
①程序计数器PC返同到原始状态0000H;
②所有特殊功能寄存器SFR全部还原为复位值(可以查阅技术手册);
③所有通用并行端口(PO、Pl、P2和P3)的引脚全部被设置为输入状态;
④清除各级中断优先级的激活触发器,以便受理各级中断请求(在标准80C5l中只设置了2个中断优先级别,而在有些新型兼容产品中设置了4个级别)。
2.3 复位状态的具体表现
单片机一旦进入复位状态并且停留在复位状态下(即外接引脚RST被锁定在有效的高电平上),就会表现出如下一些具体特征:
◇CPU不再执行程序而保持静止(冻结)状态;
◇各种片内外围模块(定时器、串行口、总线接口、中断系统等)均停止工作;
◇各个并口(P0~P3)的所有口线均对外呈现高阻状态;
◇各SFR的内容均恢复到复位值(即返回到知情范围);
◇内部RAM内容维持记忆,只要电源电压不低于最低维持电压(一般为2 V)就能够保持原有内容;
◇内部时钟源振荡器仍然会维持振荡,只要电源电压还在lV(甚至略低于1 V),振荡器就能够维持工作;
◇各种片外电路(如扩展存储器、扩展I/O端口或锁存器等)都应该维持原有内容和状态。

② 关于单片机上电复位

首先要清楚,在高中是学过:电容是通交流阻直流——所以说在通电的瞬间(注意是瞬间,ms级),电容两端电压由0跳变到VCC,由于这个过程时间很短,可认为此时电压是个频率很高的交流电,所以此时电容相当于短路。。。在此之后由于VCC电压不变(直流),电阻就发挥它的阻直流的作用啦,VCC就对电容充电啦,电容两端电压就会逐渐升高。由于电容C1与电阻R2是串联分压,RST引脚接在R2和地之间,所以RST引脚的电压就是R2两端的电压(RST的电压=RST电势-GND的电势)。由于C1在充电过程电压逐渐升高,所以R2两端电压就逐渐降低(分压原理),即RST的电压逐渐降低。

其实你这个复位电路设计的不好,没有手动复位按键,下面也是一个单片机的复位电路,原理都一样,R21一端引脚接单片机的RST。

③ 单片机如何用C程序复位

可以使用下面的程序跳到0000H实现软复位,下面的程序实际上是一个函数指针,指针指向了0000H地址。
((void (code *) (void)) 0x0000) ();

下面的例子将实现软件自复位void reset (void)
{
((void (code *) (void)) 0x0000) ();
}

void main (void)
{
reset ();
}

你可能注意到以上的软复位程序并不能清除8051的中断系统和某些8051的外围设备,当您在中断程序中调用上面的软件复位程序后,中断将再不能触发。因此,以上的软复位程序不能在中断子程序中调用。

下面的小段汇编函数可以在中断程序或主程序中调用,该函数将0x0000压栈,然后通过“RETI”出栈,这将清除中断环境并让程序从0000H重新开始运行。

?PR?RESET SEGMENT CODE
RSEG ?PR?RESET

; C prototype: void reset (void);

PUBLIC reset
reset: POP ACC ; pop return address
POP ACC
CLR A ; push 0 as new
PUSH ACC ; return address to stack
PUSH ACC
RETI ; execute return of interrupt

END

以上程序在选择bank 0寄存器组时工作良好,假如选择的不是bank0寄存器组,那么可能无法获得预料的结果。你应该在以上的程序或启动代码中加上“MOV PSW, #0”来选择bank 0寄存器组。

以上文章由龙啸九天翻译自KEIL FAQ,可能有疏漏,欢迎提出。

④ 单片机如何自动复位

1、结构:C1R1为上电复位电路;C2、R2、T1、T2与某一IO口构成复位控制电路

2、原理:只讲复位的IO控制原理,控制IO为零时,T2饱和导通,T1饱和导通,同时C2通过T2快速放电,RST被拉低,此时IO口变高(复位后为高电平),但是R2C2的作用使T1仍然饱和导通致RST达到有效复位时间(一般十几个时间同期,可以延时长点时间使复位正常)。当C2上充电电压上升到一定时,T1截止。

呵呵,画个图挺辛苦,希望对楼主有所帮助,具体参数就不说了…………

对不起,以上没有注意到51单片机是高电平复位的事实,另附一图,结构相似,原理相同,只是T1饱和导通时RST为高电平,持续十几个时钟周期或更长时间可以使51单片机可靠复位。

C1R1都可以省略,一样可以实现上电复位和IO控制复位双重功能。

⑤ 51单片机如何实现“复位”

首先需要明确,程序重头开始执行是指某一段程序(或者一个函数)重新开始执行,还是你所谓的“复位”让单片机重启?如果不是特殊需求,建议不要让单片机复位以使程序重新运行。

从你描述看,你所执行的程序肯定是长时间占有CPU导致不能实时监测红外信号,很明显不能用查询方式,改用中断即可,至于中断后如何停止原来运行的程序再重新开始运行就是你的事了。

那么我需求就是要检测到红外信号后“复位”单片机怎么办呢?直接将红外信号接到复位引脚上(假设你单片机是高电平复位),若是低电平复位,则取反。不过要注意:1、复位信号要持续一定时间才能复位;2、自然界中红外干扰很多,很有可能你单片机运行着运行着就复位了~~3、若红外接收器还肩负其他如信号传输任务,很明显这样不行!

⑥ 单片机的复位方法有几种

多数为零,自动指向工作寄存器0区

⑦ 单片机复位电路原理

51单片机复位电路工作原理之我理解
一、复位电路的用途
单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。
二、复位电路的工作原理
在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2US就可以实现,那这个过程是如何实现的呢?
在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。
开机的时候为什么为复位
在电路图中,电容的的大小是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引脚又接收到高电平。单片机系统自动复位。
总结:
1、复位电路的原理是单片机RST引脚接收到2US以上的电平信号,只要保证电容的充放电时间大于2US,即可实现复位,所以电路中的电容值是可以改变的。
2、按键按下系统复位,是电容处于一个短路电路中,释放了所有的电能,电阻两端的电压增加引起的。

⑧ 单片机如何复位

单片机复位就两种方式,一个是硬件复位,一个是软件复位。
硬件复位就是靠外部的硬件强行把复位管教置为低电平,例如上电的时候,还有按键。
上电之所以要复位是因为在接通电源的一瞬间,给单片机的电压是不稳定的,电压不稳定就会导致程序跑飞,从而出现意想不到的情况。而常用的阻容复位(就是一个电阻和电容串联,电阻接VCC,电容接地,复位管教接中间的那种。),当上电的时候,电源经电阻向电容充电,电容看作短路,所以复位管教为低电平,使得单片机在这段时间内不停的复位。当电源稳定后,电容已经充电完成,相当于开路,复位管教为高电平,单片机正常运行程序。
软件复位就是利用单片机内部的看门狗来防止程序跑飞,看门狗就是个定时器,每个机器周期,它就加一,当它记满时,就会让单片机复位。所以要要定时重装看门狗。正常情况下,不能让他溢出。这叫喂狗。当单片机受到外界的干扰,使得程序跑飞,跑出while(1)大循环的时候,由于无法执行喂狗的动作,单片机就会复位,从而不会出现单片机死机的情况。

⑨ 单片机运行 复位是什么情况

单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

单片机运行时复位,常见的原因有:
1,掉电或电压过低(我用STC单片机的时候遇到过因为电源电压过低而导致自动复位的情况)。
2,程序跑飞或者死机后,由看门狗引发的复位。
3,复位引脚接收到复位信号(人工产生或者外部看门狗等电路产生)。
4,STC89C52RC单片机在使用汇编语言编程时,出现类似C语言中函数递归的语句时,可以自动复位。这个我在实验时看到过这个现象,但具体原因不明,我没有使用看门狗。
5,有些单片机可以在程序控制下自动复位。

⑩ 单片机复位是什么意思有什么作用

单片机复位是单片机上的复位电路的复位操作,作用是使电路恢复到起始状态。

单片机复位电路主要有四种类型:微分型复位电路;积分型复位电路;比较器型复位电路;看门狗型复位电路。

为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。

由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才会撤除,微机电路开始正常工作。

(10)单片机复位扩展阅读:

复位方式:

1、手动按钮复位

手动按钮复位需要人为在复位输入端RST上加入高电平。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。

2、上电复位

对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1uF。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。

3、积分型上电复位

常用的上电或开关复位电路如图3所示。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。

阅读全文

与单片机复位相关的资料

热点内容
求aaa的和python 浏览:187
python因子分析代码 浏览:640
python启动时提示没有入口 浏览:678
linux中oracle监听 浏览:618
程序员高价值朋友圈 浏览:486
云服务器做淘宝店 浏览:802
程序员判3年缓3年 浏览:909
服务器云监控系统 浏览:651
ios暴力解压软件 浏览:430
可以搜简便算法的软件 浏览:200
各种的解压小玩具 浏览:933
百度云服务器bcc域名绑定 浏览:486
android网络mp3格式 浏览:321
程序员抱怨it气氛 浏览:698
改apk服务器地址 浏览:414
原理图中的编译 浏览:924
缤智怎么给车机安装app 浏览:728
服务器的证件是什么 浏览:538
linuxgraphics 浏览:137
ACPI编译工具MaciASL 浏览:895