微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机的状态迁移与复位操作

51单片机的状态迁移与复位操作

时间:01-18 来源:互联网 点击:

归纳如下:

  ① 程序计数器PC返回到原始状态0000H;
  ② 所有特殊功能寄存器SFR全部还原为复位值(可以查阅技术手册);
  ③ 所有通用并行端口(P0、P1、P2和P3)的引脚全部被设置为输入状态;
  ④ 清除各级中断优先级的激活触发器,以便受理各级中断请求(在标准80C51中只设置了2个中断优先级别,而在有些新型兼容产品中设置了4个级别)。

2.3 复位状态的具体表现

  单片机一旦进入复位状态并且停留在复位状态下(即外接引脚RST被锁定在有效的高电平上),就会表现出如下一些具体特征:

  ◇ CPU不再执行程序而保持静止(冻结)状态;
  ◇ 各种片内外围模块(定时器、串行口、总线接口、中断系统等)均停止工作;
  ◇ 各个并口(P0~P3)的所有口线均对外呈现高阻状态;
  ◇ 各SFR的内容均恢复到复位值(即返回到知情范围);
  ◇ 内部RAM内容维持记忆,只要电源电压不低于最低维持电压(一般为2 V)就能够保持原有内容;
  ◇ 内部时钟源振荡器仍然会维持振荡,只要电源电压还在1 V(甚至略低于1 V),振荡器就能够维持工作;
  ◇ 各种片外电路(如扩展存储器、扩展I/O端口或锁存器等)都应该维持原有内容和状态。

2.4 补充说明

  格外值得关注的是,经历了复位操作之后的各个并行端口的状态。因为端口引脚是单片机联系外部世界的、最多的一类引脚,其复位状态(即初始化状态)将直接影响外部电路,甚至还会对外部电路构成威胁或造成损坏。为了避免这种影响或威胁,总是把各条端口引脚复位成“输入方式”。理由是,输入方式对外呈现出很高的阻抗,从而有效地防止了可能发生的过流损坏。

  任何方式或任何复位源引起的复位操作,都不会改变RAM区的用户数据。甚至就连欠压复位事件的发生,只要电源电压VDD还没有跌落到连RAM内容都不能维持的地步(一般以2 V为门限),就不会丢失RAM中的用户数据。

3 几点新启示

  单片机系统一旦进入PD模式(即停机模式,或掉电模式,有时也称“掉电保护模式”),系统时钟源就会停止工作,CPU以及所有的片载硬件模块一起退出运行状态,从而使功耗大幅度降低(可以到达μA级,甚至以下)。

  单片机应用项目开发人员利用停机模式可以达到两种目的: ①降低单片机应用系统的总体耗能;② 抵御电源电压跌落时可能带来的CPU失控,就是一旦发现电源电压跌落、欠压或故障,则强行把单片机推入停机模式,以免发生程序混乱。停机期间,即使电源电压降低到2 V,仍然能够维持RAM内容不丢失。

  通过仔细分析图1可以发现,当初Intel公司为80C51设置停机模式的主要初衷,应该是基于上述第二种目的。理由是,从图1中可以看出,常规唤醒方式可以令单片机从PD模式直接返回到NORMAL模式,一般利用特定的中断源作为唤醒源。不过对标准80C51来说,Intel公司没有设计利用中断源作为唤醒源的途径,不能不说是一种遗憾。

  为了弥补这个遗憾,一些新型兼容产品(例如Atmel公司的AT89S51/52/53/8252/8253、Philips公司的 P89V51RB2/RC2/RD2以及P89LPC900系列等)添加了利用被使能且被设置为用电平触发的外部中断源INT0和INT1来作为唤醒源,唤醒后的单片机能够从设置PD=1指令之后的下一条指令恢复运行。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top