单片机复位的概念:
单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内的程序从头开始执行。
单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。
也就是从头再来的意思,就像你把电脑重启一样
使时序逻辑电路处于一个确定的初始化状态,这样才能预知未来的状态。
单片机复位的原理:
单片机复位电路,与计算机的清零按键类似,却又存在不同。相同之处在于它们都用于使仪器回到起始状态;不同之处在于计算机清零按键的启动手段为手动式,而复位电路有三种启动手段可供选择:其一是在电路通电时刻立即进行复位操作,其二是在需要复位时手动操作,其三是根据程序或电路运行的需要自动进行操作。
对于单片机而言,复位功能是必须存在的,因为单片机的每一次启动都需要复位,以使CPU及系统各个部件都处于初始状态,并从初始状态开始进行工作。
单片机复位有多种形式,上电复位,看门狗复位,欠压复位,软件复位等,如果是带电复位的,一般对数据RAM的数据没有影响,但对特殊寄存器中的数据,是有影响的,一般会被初始化到默认值,具体看芯片的说明。
单片机复位如何操作,请参考:
http://wenku.baidu.com/link?url=dtT9cI7kMkOoIo2soAfPlS2_0k00AtVf8WN9SUBm0SYoXaDZGeYVBStzvXzLtPZ1pruRXZoo4p8H2MSAyV9leLb9I6348w8kHnM6an4yLu_
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端口或锁存器等)都应该维持原有内容和状态。