㈠ 51单片机如何实现“复位”
首先需要明确,程序重头开始执行是指某一段程序(或者一个函数)重新开始执行,还是你所谓的“复位”让单片机重启?如果不是特殊需求,建议不要让单片机复位以使程序重新运行。
从你描述看,你所执行的程序肯定是长时间占有CPU导致不能实时监测红外信号,很明显不能用查询方式,改用中断即可,至于中断后如何停止原来运行的程序再重新开始运行就是你的事了。
那么我需求就是要检测到红外信号后“复位”单片机怎么办呢?直接将红外信号接到复位引脚上(假设你单片机是高电平复位),若是低电平复位,则取反。不过要注意:1、复位信号要持续一定时间才能复位;2、自然界中红外干扰很多,很有可能你单片机运行着运行着就复位了~~3、若红外接收器还肩负其他如信号传输任务,很明显这样不行!
㈡ 是单片机复位有几种方法 复位后机器初始状态
使程序计数器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内部的数据则不变
㈢ 5. 单片机的复位方式有2种,分别是 和
上电复位和软件复位
㈣ 51单片机常用的复位方法有几种应注意的事项有什么
单片机复位就两种方式,一个是硬件复位,一个是软件复位。硬件复位就是靠外部的硬件强行把复位管教置为低电平,例如上电的时候,还有按键。上电之所以要复位是因为在接通电源的一瞬间,给单片机的电压是不稳定的,电压不稳定就会导致程序跑飞,从而出现意想不到的情况。而常用的阻容复位(就是一个电阻和电容串联,电阻接VCC,电容接地,复位管教接中间的那种。),当上电的时候,电源经电阻向电容充电,电容看作短路,所以复位管教为低电平,使得单片机在这段时间内不停的复位。当电源稳定后,电容已经充电完成,相当于开路,复位管教为高电平,单片机正常运行程序。软件复位就是利用单片机内部的看门狗来防止程序跑飞,看门狗就是个定时器,每个机器周期,它就加一,当它记满时,就会让单片机复位。所以要要定时重装看门狗。正常情况下,不能让他溢出。这叫喂狗。当单片机受到外界的干扰,使得程序跑飞,跑出while(1)大循环的时候,由于无法执行喂狗的动作,单片机就会复位,从而不会出现单片机死机的情况。
㈤ 单片机的三种复位方式
一、高电平复位
复位电路的工作原理 在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2us就可以实现,那这个过程是如何实现的呢?在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。
(1)、上电复位
电容的的大小是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左右)。
(2) 按键复位
在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。
总结: 1、复位电路的原理是单片机RST引脚接收到2US以上的电平信号,只要保证电容的充放电时间大于2US,即可实现复位,所以电路中的电容值是可以改变的。 2、按键按下系统复位,是电容处于一个短路电路中,释放了所有的电能,电阻两端的电压增加引起的。
二、低电平复位
在使用STM32芯片时,常用的复位方式为按键复位,且为低电平复位。其原理与上述高电平复位相反,分析也挺简单,这里不在赘述,只给出按键复位原理
单片机的复位引脚RST(全称RESET)出现2个机器周期以上的复位电平时,单片机就执行复位操作。如果RST持续为复位电平,单片机就处于循环复位状态。当单片机处于正常电平时就正常转入执行程序。
当单片机上电瞬间由于电容电压不能突变会使电容两边的电位相同,此时RST为低电平,之后随着时间推移电源通过电阻对电容充电,充满电时RST为高电平。正常工作为高电平,低电平复位。即上电低电平,然后转向高电平。当单片机上电瞬间由于电容电压不能突变会使电容两边的电位相同,此时RST为高电平,之后随着时间推移电源负极通过电阻对电容放电,放完电时RST为低电平。正常工作为低电平,高电平复位。
㈥ 单片机的复位方法有几种
多数为零,自动指向工作寄存器0区
㈦ STC12C5A60S2单片机复位方式有哪些
STC12C5A60S2系列单片机有5种复位方式:
1、外部RST引脚复位。
2、外部低压检测复位。
3、软件复位
4、掉电复位/上电复位
5、看门狗复位
㈧ 单片机复位操作有什么和什么两总方式
单片机复位操作基本有手动复位、看门狗复位、电源电压异常复位、时钟失步复位。
方式主要有高电平复位、低电平复位两种。
㈨ 单片机的复位方式包括
2、上电复位
AT89C51的上电复位电路如图2所示,只要在RST复位输入引脚上接一电容至VCC端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1?F。上电复位的工作过程是在加电时,复位电路通过电 容加给RST端一个短暂的高电平信号,此高电平信号随着VCC对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。
为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,VCC的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。
在图2的复位电路中,当VCC掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。 单片机与上点复位电路如图1-2所示。
3、积分型上电复位
常用的上电或开关复位电路如图3所示。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。 积分电路如图1-3所示
4、参数设置
根据实际操作的经验,下面给出这种复位电路的电容、电阻参考值。C=1uF,R1=1k,R2=10k
5、proteus中仿真的现象
很多玩proteus的在仿真中都发现复位电路没法用,出现的问题确实和仿真器本身有关系,按键复位电路用的比较多,但是仿真却出现问题了。我弄来弄去发现一个有趣的问题:在4参数设置中说了参考典型值,但仿真中就有问题了见下面几幅图对比下可以看出问题。完全按照图1-1 按键复位电路仿真。结果如图1-4 按键复位电路仿真1所示。
㈩ 单片机的复位方式有俩种 是内部复位和外部复位,还是上电自动复位和按键手动复位
原先是指后面说的那样吧,老的8051没有内部复位的