51单片机的时钟电路与时序以及 复位电路和电源模式

51单片机的时钟电路与时序以及 复位电路和电源模式

本文主要涉及51单片机的时钟电路以及相关时序的知识,也讲解了了51单片机的复位电路以及电源模式。

一、时钟电路与时序

时钟电路产生AT89S51工作时所必需的控制信号,在时钟信号的控制下,严格按时序执行指令。
执行指令时,CPU首先到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号完成指令所规定的操作。
CPU发的时序信号两类,一类用对片内各个功能部件控制,用户无须了解;另一类用于对片外存储器或I/O端口的控制,这部分时序对于分析、设计硬件接口电路至关重要。

1、 时钟电路设计

时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。

1.1 内部时钟方式

AT89S51内部有一个用于构成振荡器的高增益反相放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器,图2-8是AT89S51内部时钟方式的电路。

在这里插入图片描述

电路中的电容 C1和 C2 的典型值通常选择为 30pF。晶体振荡频率的范围通常是在1.2~12MHz
AT89S51单片机常选择振荡频率6MHz或12MHz的石英晶体。

1.2 外部时钟方式

用现成的外部振荡器产生脉冲信号,常用于多片AT89S51同时工作,以便于多片AT89S51单片机之间的同步。
外部时钟源直接接到XTAL1端,XTAL2端悬空,见图2-9。
在这里插入图片描述

1.3 时钟信号的输出

当使用片内振荡器,XTAL1、XTAL2引脚还能为应用系统中的其他芯片提供时钟,但需增加驱动能力。其引出的方式有两种,如图2-10。
在这里插入图片描述

2、机器周期、指令周期与指令时序

各种指令时序与时钟周期相关。
1.时钟周期
时钟控制信号的基本时间单位。若晶振频率为fosc,则时钟周期Tosc=1/fosc
如fosc=6MHz,Tosc=166.7ns。

2.机器周期
CPU完成一个基本操作所需时间为机器周期。执行一条指令分为几个机器周期。每个机器周期完成一个基本操作,如取指令、读或写数据等。每12个时钟周期为1个机器周期

1个机器周期包括12个时钟周期,分6个状态:S1~S6。每个状态又分两拍P1和P2
因此,一个机器周期中的12个时钟周期表示为S1P1、S1P2、S2P1、S2P2、…、S6P2,如图2-11。
在这里插入图片描述

3.指令周期
执行一条指令所需的时间简单的单字节指令,取出指令立即执行,只需一个机器周期的时间。而有些复杂的指令,如转移指令则需两个或多个机器周期。

从指令执行时间看:

  • 单字节和双字节指令一般为单机器周期双机器周期;
  • 三字节指令都是双机器周期;
  • 乘、除指令占用4个机器周期

二、 复位电路和电源模式

1、 复位操作和复位电路

单片机的初始化操作,给复位脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就使AT89S51复位。

1.1 复位操作

复位时,PC初始化为0000H,程序从0000H单元开始执行。
除系统的正常初始化外,当程序出错(如程序跑飞)或操作错误使系统处于死锁状态时,需按复位键使RST脚高电平,使AT89S51摆脱“跑飞”或“死锁”状态而重新启动程序。

复位操作还对其他一些寄存器有影响,这些寄存器复位时的状态如表2-8。
在这里插入图片描述

1.2 复位电路设计

由复位电路实现。AT89S51片内复位电路结构见图2-12。
在这里插入图片描述

复位引脚RST通过一个施密特触发器与复位电路相连,施密特触发器用来抑制噪声,在每个机器周期的S5P2,施密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。

复位电路采用上电自动复位和按钮复位两种方式。最简单的上电自动复位电路如图2-13所示。
在这里插入图片描述

上电自动复位是给电容C充电加给RST引脚一个短的高电平信号,此信号随着VCC对电容C的充电过程而逐渐回落,即RST引脚上的高电平持续时间取决于电容C充电时间。为保证系统可靠复位,RST引脚上的高电平必须维持足够长的时间。
除了上电复位外,有时还需要按键手动复位。按键手动复位有电平脉冲两种方式。

2、低功耗节电模式

两种低功耗节电工作模式:空闲模式(idle mode)和掉电保持模式(power down mode)。
掉电保持模式下,Vcc可由后备电源供电。图2-17为两种节电模式的内部控制电路。
在这里插入图片描述

两种节电模式可通过PCON的位IDL和位PD的设置来实现。

格式如图2-18。
在这里插入图片描述

PCON寄存器各位定义:
SMOD:串行通信波特率选择。
━ :保留位。
GF1、GF0:通用标志位,两个标志位用户使用。
PD: 掉电保持模式控制位,PD=1,则进入掉电保持模式。
IDL:空闲模式控制位,若IDL=1,则进入空闲运行模式。

2.1 空闲模式
  1. 空闲模式进入
    如把PCON中的IDL位置“1”,通往CPU的时钟信号关断,便进入空闲模式。虽然振荡器运行,但是CPU进入空闲状态。所有外围电路(中断系统、串行口和定时器)仍继续工作,SP、PC、PSW、A、P0–P3端口等所有其他寄存器、内部RAM和SFR中内容均保持进入空闲模式前状态

  2. 空闲模式退出
    两种方法退出,响应中断方式,硬件复位方式。

空闲模式下,若任一个允许的中断请求被响应时,IDL位被片内硬件自动清“0”,从而退出空闲模式。当执行完中断服务程序返回时,将从设置空闲模式指令的下一条指令(断点处)继续执行程序。

当使用硬件复位退出空闲模式时,在复位逻辑电路发挥控制作用前,有长达两个机器周期时间,单片机要从断点处(IDL位置“1”指令的下一条指令处)继续执行程序。在这期间,片内硬件阻止CPU对片内RAM的访问,但不阻止对外部端口(或外部RAM)的访问。为了避免在硬件复位退出空闲模式时出现对端口(或外部RAM)的不希望的写入,在进入空闲模式时,紧随IDL位置1指令后的不应是写端口(或外部RAM)的指令。

2.2 掉电运行模式
  1. 掉电模式的进入
    用指令把PCON寄存器的PD位置1,便进入掉电模式。在掉电模式下,进入时钟振荡器的信号被封锁振荡器停止工作
    由于没有时钟信号,内部的所有功能部件均停止工作,但片内RAM和SFR的原来的内容都被保留,有关端口的输出状态值保存在对应的特殊功能寄存器中。

  2. 掉电模式的退出
    两种方法:硬件复位外部中断
    硬件复位时要重新初始化SFR,但不改变片内RAM的内容。只有当Vcc恢复到正常工作水平时,只要硬件复位信号维持10ms,便可使单片机退出掉电运行模式。

2.3 掉电和空闲模式下的WDT

掉电模式下振荡器停止,意味着WDT也就停止计数。用户在掉电模式下不需操作WDT。

当用硬件复位退出掉电模式时,对WDT的操作与正常情况一样。

在系统进入掉电模式前先对寄存器WDTRST复位。在中断服务程序中复位寄存器WDTRST。

在进入空闲模式前,应先设置AUXR中的WDIDLE位,以确认WDT是否继续计数。
当WDIDLE=0,空闲模式下的WDT保持继续计数。为防止复位单片机,用户可设计一定时器。该定时器使器件定时退出空闲模式,然后复位WDTRST,再重新进入空闲模式。
当WDIDLE=1,WDT在空闲模式下暂停计数,退出空闲模式后,方可恢复计数。

  • 28
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
51单片机复位电路有几种不同的原理。其中一种是微分型复位电路,它使用微分电路来检测电压的变化,并在检测到电压下降时触发复位。另一种是积分型复位电路,它使用积分电路来监测电压的变化,并在电压下降持续一定时间后触发复位。还有一种是比较器型复位电路,它使用比较器来比较电压,并在达到预设的阈值时触发复位。最后一种是看门狗型复位电路,它使用一个定时器来监视系统的运行状态,并在系统出现故障或停止响应时触发复位。 对于51单片机复位电路原理,一种常见的做法是在第九个引脚接入高电平,并持续2微秒。当单片机系统上电启动时会进行一次复位,当按下按键时系统会再次复位,如果按键释放后再次按下,系统还会复位。因此,可以通过按键的断开和闭合来控制系统的复位。 另一种常见的工作原理如下图所示:当VCC上电时,一个电容器开始充电,导致一个10K电阻上产生电压,从而触发单片机的复位。几毫秒后,电容器充满电,10K电阻上的电流降为0,电压也为0,此时单片机进入工作状态。在工作过程中,按下一个按钮,电容器会放电,导致10K电阻上产生电压,再次触发单片机的复位。松开按钮后,电容器再次开始充电,几毫秒后,单片机回到工作状态。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [51单片机中的复位电路的原理](https://blog.csdn.net/qq_41346444/article/details/78811194)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

写的什么石山代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值