0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

51单片机复位的方法有哪些 浅谈51单片机复位

ss 作者:工程师谭军 2018-09-10 15:25 次阅读

本文主要是关于51单片机复位的相关介绍,并着重对51单片机复位方法及其原理进行了详尽的阐述。

为什么需要单片机复位

这就好比开启了看门狗但没有喂狗

单元负载能力不足

电源不稳定

干扰

程序错误导致软件指令复位

还有最重要的:内存溢出,如下:

在只有128byte内存的单片机里面定义过多的全局变量并且其中有指针变量的话,非常容易出现干扰到堆栈指针SP,导致程序异常。

IO接口只能通过直接访问高128字节才能写入或读出数值,无法通过指针等其他途径访问。

所以当前情况很有可能是内存溢出导致单片机不断在重启。

当内存超过128yte的情况下在编译的时候编译器会提示内存不足。

在256byte的单片机中可以通过idata使用高128byte内存,通常一些不常用的变量。

尽量使用局部变量提高内存使用效率。

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、按键按下系统复位,是电容处于一个短路电路中,释放了所有的电能,电阻两端的电压增加引起的。

51单片机复位的方法有哪些

51单片机有五种常用的复位方法:

1.上电制动复位,注意:只要电源的的上升时间不超过1ms,就可以实现自动上电复位。

2.软件复位,注意:复位信号保持时间是编程人员预定的时间。

3.按键电平复位,注意:复位信号保持时间大于2个时钟周期。

4.外部脉冲复位,注意:复位信号保持时间大于2个时钟周期。

5.看门狗溢出复位,注意:复位信号保持时间也是编程人员预定的时间。

【MCS-51单片机地址指针程序设置方法】

下面以数据块传送子程序为例,说明R0和R1对外接RAM间接寻址的程序设计方法。假定数据块的源首地址为1000H,目的首地址为3045H,数据块长度为50H,程序清单如下所示:

程序1—用DPTR做地址指针

MOV R2,#00H

MOV R3,#10H

MOV R4,45H

MOV R5,#30H

MOV R7,#50H

LOOP: MOV DPL,R2

MOV DPH,R3

MOVX A,@DPTR

INC DPTR

MOV R2,DPL

MOV R3,DPH

MOV DPL,R4

MOV DPH,R5

MOVX @DPTR,A

INC DPTR

MOV R4,DPL

MOV R5,DPH

DJNZ R7,LOOP

RET

程序2—使用R0和R1做地址指针

MOV DPTR,#1000H

MOV P2,#30H

MOV R0,#45H

MOV R7,#50H

LOOP: MOVX A,@DPTR

MOVX @R0,A

INC DPTR

INC R0

DJNZ R7,LOOP

RET

程序1用了19条指令,程序2用了10条指令。适当应用R0和R1地址指针,可以大大提高程序运行效率。

51单片机复位的方法有哪些 浅谈51单片机复位

结语

关于51单片机复位的相关介绍就到这了,如有不足之处欢迎指正。

相关阅读推荐:单片机复位电路分类

相关阅读推荐:单片机按键复位程序

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44513

    浏览量

    632738
  • 复位电路
    +关注

    关注

    13

    文章

    322

    浏览量

    44535
收藏 人收藏

    评论

    相关推荐

    解决51单片机复位触发的4种方法

    51内核的单片机个比较恼人的特性就是复位期间,IO口呈高电平状态,万一IO口控制的设备是使用高电平触发的话,在复位的瞬间会造成设备触发。
    的头像 发表于 04-18 08:38 1.2w次阅读
    解决<b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>复位</b>触发的4种<b class='flag-5'>方法</b>

    51单片机实现复位方法

    51单片机复位方法:在第9引脚接个持续2us的高电平就可以实现。何时复位51
    发表于 11-18 08:52

    MCS51系列单片机软件控制复位的可靠方法

    MCS51系列单片机软件控制复位的可靠方法:文章指出了一种广泛流传的误解:在MCS-51系列单片机
    发表于 04-28 11:31 40次下载

    avr单片机复位电路

    avr单片机复位电路 AVR复位电路的设计  与传统的51单片机相比,AVR单片机内置
    发表于 10-26 10:54 1.3w次阅读
    avr<b class='flag-5'>单片机</b><b class='flag-5'>复位</b>电路

    51单片机几种实用的复位电路设计

    51单片机几种实用的复位电路设计,有利于51单片初学者进行开发。本文结合作者多年的工程应用,根据使用环境的不同,由浅入深的讲解了几种实用的
    发表于 03-14 15:40 5次下载

    51单片机复位电路原理是什么?为什么为复位

    51单片机复位只需要在第9引脚接个高电平持续2us就可以实现,那这个过程是如何实现的呢?在单片机系统中,系统上电启动的时候复位一次,当按键
    的头像 发表于 07-29 11:08 7.2w次阅读
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>复位</b>电路原理是什么?为什么为<b class='flag-5'>复位</b>?

    8051单片机哪些复位方法

    问题:8051单片机复位后,各寄存器的初始状态如何?复位方法几种? 解答:8051单片机
    发表于 12-19 15:09 1.2w次阅读

    51单片机复位方式及原理

    51单片机采用高电平复位。以当前使用较多的AT89系列单片机来说,电路图如下。在复位脚加高电平2个机器周期可使
    发表于 12-25 14:51 5.6w次阅读
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>的<b class='flag-5'>复位</b>方式及原理

    51单片机软件复位的汇编代码免费下载

    本文档的主要内容详细介绍的是51单片机软件复位的汇编代码免费下载。
    发表于 08-27 17:30 2次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>软件<b class='flag-5'>复位</b>的汇编代码免费下载

    51单片机进行高电平复位方法说明

    51单片机高电平复位。以当前使用较多的AT89系列单片机来说,在复位脚加高电平2个机器周期(即24个振荡周期)可使
    发表于 06-25 17:43 0次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>进行高电平<b class='flag-5'>复位</b>的<b class='flag-5'>方法</b>说明

    51单片机中的复位电路的原理

    51单片机中的复位电路的原理
    发表于 11-10 20:51 19次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>中的<b class='flag-5'>复位</b>电路的原理

    基础——再看51单片机复位电路

    51单片机复位方法:在第9引脚接个持续2us的高电平就可以实现。何时复位51
    发表于 11-11 11:21 6次下载
    基础——再看<b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>复位</b>电路

    51单片机复位电路

    单片机复位方式采用高电平还是低电平复位是在芯片生产的时候确定下来的,我们使用单片机的时候可以从对应的数据手册中找到,51
    发表于 11-11 18:06 14次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>复位</b>电路

    51单片机(十二)—— 单片机复位

    复位、看门狗复位等。 我们实验对应的硬件复位电路,如下图所示。 这个图中集成了51单片机和AVR
    发表于 11-15 13:21 59次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>(十二)—— <b class='flag-5'>单片机</b><b class='flag-5'>复位</b>

    51单片机复位电路电容怎么放电

    51单片机复位电路中,电容的放电过程是实现复位功能的关键环节之一。以下是关于51单片机
    的头像 发表于 08-06 10:52 541次阅读