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

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

ID:27481000

大小:58.00 KB

页数:6页

时间:2018-12-04

51单片机复位的方法有哪些 浅谈51单片机复位.doc_第1页
51单片机复位的方法有哪些 浅谈51单片机复位.doc_第2页
51单片机复位的方法有哪些 浅谈51单片机复位.doc_第3页
51单片机复位的方法有哪些 浅谈51单片机复位.doc_第4页
51单片机复位的方法有哪些 浅谈51单片机复位.doc_第5页
资源描述:

《51单片机复位的方法有哪些 浅谈51单片机复位.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、51单片机复位的方法有哪些浅谈51单片机复位51单片机复位的方法有哪些浅谈51单片机复位  本文主要是关于51单片机复位的相关介绍,并着重对51单片机复位方法及其原理进行了详尽的阐述。  为什么需要单片机复位  这就好比开启了看门狗但没有喂狗  单元负载能力不足  电源不稳定  干扰  程序错误导致软件指令复位  还有最重要的:内存溢出,如下:  在只有128byte内存的单片机里面定义过多的全局变量并且其中有指针变量的话,非常容易出现干扰到堆栈指针SP,导致程序异常。  IO接口只能通过直接访问高128字节才能写入或读出数值,无法通过指针等其

2、他途径访问。  所以当前情况很有可能是内存溢出导致单片机不断在重启。  当内存超过128yte的情况下在编译的时候编译器会提示内存不足。  在256byte的单片机中可以通过idata使用高128byte内存,通常一些不常用的变量。  尽量使用局部变量提高内存使用效率。  51单片机复位电路详解  复位电路的工作原理  在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2us就可以实现,那这个过程是如何实现的呢?在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键

3、的断开和闭合在运行的系统中控制其复位。  开机的时候为什么为复位  在电路图中,电容的的大小是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的电压信号为低电平信号,而大于

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

5、3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。  总结:  1、复位电路的原理是单片机RST引脚接收到2US以上的电平信号,只要保证电容的充放电时间大于2US,即可实现复位,所以电路中的电容值是可以改变的。  2、按键按下系统复位,是电容处于一个短路电路中,释放了所有的电能,电阻两端的电压增加引起的。  51单片机复位的方法有哪些  51单片机有五种常用的复位方法:  1.上电制动复位,注意:只要电源的的上升时间不超过1ms,就可以实现自动上电复位。  2.软件复位,注意:复位信号保持时间是编程人员预定的时间。  3.按

6、键电平复位,注意:复位信号保持时间大于2个时钟周期。  4.外部脉冲复位,注意:复位信号保持时间大于2个时钟周期。  5.看门狗溢出复位,注意:复位信号保持时间也是编程人员预定的时间。  【MCS-51单片机地址指针程序设置方法】  下面以数据块传送子程序为例,说明R0和R1对外接RAM间接寻址的程序设计方法。假定数据块的源首地址为1000H,目的首地址为3045H,数据块长度为50H,程序清单如下所示:  程序1—用DPTR做地址指针  MOVR2,#00H  MOVR3,#10H  MOVR4,45H  MOVR5,#30H  MOVR7,

7、#50H  LOOP:MOVDPL,R2  MOVDPH,R3  MOVXA,@DPTR  INCDPTR  MOVR2,DPL  MOVR3,DPH  MOVDPL,R4  MOVDPH,R5  MOVX@DPTR,A  INCDPTR  MOVR4,DPL  MOVR5,DPH  DJNZR7,LOOP  RET  程序2—使用R0和R1做地址指针  MOVDPTR,#1000H  MOVP2,#30H  MOVR0,#45H  MOVR7,#50H  LOOP:MOVXA,@DPTR  MOVX@R0,A  INCDPTR  INCR0 

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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。