您好、欢迎来到现金彩票网!
当前位置:大赢家 > 复位脉冲 >

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

发布时间:2019-06-18 12:22 来源:未知 编辑:admin

  80C51单片机的各种活动,可以描述成多个不同的工作状态或工作模式。这里利用笔者构思的一个单片机工作状态

  ① 把单片机经历的所有生存状态归纳和描绘成5个状态--1个非工作状态(即无电状态)和4个工作状态。

  ② 只有复位状态是一个暂态,其他均为稳态;并且每次单片机进入正常运行状态时,都要经历一次复位状态。

  ③ 只有在正常运行状态(这里记作NORMAL)下,单片机才按照程序存储器中固化的用户程序按部就班地一步一步执行,从而完成开发者设计的各项任务。

  ④ 停机状态(或PD模式)和待机状态(或IDL模式),主要是为节能降耗而规划的节电状态(或称睡眠状态)。

  ⑥ 复位状态以外的4个状态都有迁移到复位状态的途径,只是导致迁移的条件不尽相同。

  ⑦ 无电状态之外的4个工作状态,都可能因为随时断电而导致单片机进入无电状态。

  ⑧ 从另外3个工作状态迁移到复位状态,基本都是依靠外部引脚RST上的复位信号。原始复位源比较单一,这是因为传统80C51的复位逻辑相对简单。如果想增加电源欠压复位和看门狗复位等其他复位源,则需要片外扩充独立电路来实现。

  ⑨ 标准80C51没有设计软件复位功能,如果需要该功能,可以通过用户程序自行实现。不同的是,软件复位不会令CPU经历一次复位状态。

  像数字电路中的时序逻辑电路器件需要具备复位功能一样,各种类型的单片机也都需要具备复位功能(RESET)。复位功能按其英文原意是重新设置的意思,也就是从头开始执行程序,或者重新从头执行程序(Restart)的意思。复位是单片机的一项重要操作内容,其目标是确保单片机运行过程有一个良好的开端,确保单片机运行过程中有一个良好的状态。

  需要强调的是:关于复位一词,它既包含复位活动的意思,又包含复位状态的意思。或者说,复位既是一个动态的概念(指复位活动、复位操作、复位处理或复位过程等),又是一个静态的概念(指复位状态或复位模式等)。

  从现今的技术高度来看,标准80C51单片机的复位功能设计得不够完善,不仅没有设置复位标志位寄存器,而且复位源的种类也很少。

  所谓复位源,就是导致或者引起单片机内部复位的源泉。对于当前市场上出现的种类比较齐全的单片机,其典型复位源大致可以归纳为以下6种:上电复位、人工复位、电源欠压复位、看门狗复位、非法地址复位和软件复位。这些复位源的特点是:

  ① 上电复位这一种复位源是必不可少的。因为每次给单片机加电时,其电源电压的稳定,以及时钟振荡器的起振和振幅稳定,都需要一定的延迟时间。

  ② 只有上电复位和人工复位这两种复位源,是讲解80C51单片机的教科书、技术文章和文献资料巾比较常见的。

  ③ 对于电源欠压复位、看门狗复位和非法地址复位3种复位源,标准80C51是不具备的,不过可以额外扩充,可由单片机用户根据实际需要通过附加一些软件或硬件的手段来实现。

  ④ 虽然电源欠压复位、看门狗复位、非法地址复位3种复位源可以额外扩充,但是都必须借助于复位引脚RST来实施复位操作或复位锁定。

  ⑤ 标准80C51本来不具备软件复位功能,但是可以通过纯软件方式以及虚拟手段,来实现或者部分实现其他单片机的软件复位。这种方法扩充的软件复位是一种比较特殊的复位源,一是不通过RST引脚实现复位,二是复位操作的内容与众不同。软件复位作为一种新技术,目前有越来越多的新型单片机配备了该功能。例如Philips公司的P87LPC700和P89LPC900系列、TI-BB公司的MSC1200系列、SunPlus公司的SPMC65系列等,内部都设计了专门用于实现软件复位的控制寄存器或者控制位。

  单片机复位功能的实现过程实质上就是在单片机内部进行一系列的复位操作。在复位期间,单片机内部的复位操作究竟完成了哪些内容,是程序设计人员应该搞清的问题,因为单片机复位操作完成之后的内部状态,就是运行用户程序和进行软件处理的背景、基础和起点。 对80C51单片机来说,只有软件复位的具体内容和影响范围,是可以由用户自由定制的;而凡是直接作用于复位引脚RST上的复位源(如上电复位等),所实现的复位操作的具体内容和影响范围都应该是一样的。现在归纳如下:

  ③ 所有通用并行端口(P0、P1、P2和P3)的引脚全部被设置为输入状态;

  ④ 清除各级中断优先级的激活触发器,以便受理各级中断请求(在标准80C51中只设置了2个中断优先级别,而在有些新型兼容产品中设置了4个级别)。

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

  内部RAM内容维持记忆,只要电源电压不低于最低维持电压(一般为2 V)就能够保持原有内容;

  内部时钟源振荡器仍然会维持振荡,只要电源电压还在1 V(甚至略低于1 V),振荡器就能够维持工作;

  各种片外电路(如扩展存储器、扩展I/O端口或锁存器等)都应该维持原有内容和状态。

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

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

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

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

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

http://ccsagresso.com/fuweimaichong/572.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有