使用8051计时器延迟

在这个项目中,我将讨论一点关于8051单片机的定时器,以及如何使用8051定时器产生延迟。亚博彩票下载

时延的产生是嵌入式系统中最重要的概念。大多数时候,我们需要在任何微控制器应用程序的两个动作之间产生精确的时间延迟。我们可以使用像循环这样的技术或使用内建延迟函数来生成时间延迟。

但是,这些不是用于产生时间延迟的精确方法,以便我们将用于定时器以产生准确的时间延迟。这个概念类似于时间延迟中继概念。

项目背后的原则

大多数控制器都有内置的计时器。这些计时器不仅用于产生时间延迟,也用于计数目的。当操作或事件发生时,计数器的值增加1。

另一方面的定时器用于生成延迟。微控制器中的定时器由SFR(特殊功能寄存器)控制。不同操作模式的定时器由特殊功能寄存器配置。

该项目背后的主要原则是在其特殊功能寄存器的帮助下使用8051定时器生成延迟。

思考亚博彩票下载如何使用8051微控制器接口直流电机还是

使用8051定时器延迟
使用8051定时器延迟

电路图

尽管外部组件(振荡器除外)没有太大的产生延迟,但我已经制作了一个简单的电路,在那里我将闪烁一个延迟1秒的延迟延迟的LED,并且借助延迟8051定时器。

使用8051定时器电路图延迟需要组件

  • AT89C51微控制器
  • 8051程序员
  • 编程电缆
  • 领导
  • 330Ω电阻
  • 2 - 10kΩ电阻
  • 10μF/ 16V电容器
  • 2 - 33PF电容器
  • 11.0592 mhz的水晶
  • 按钮

电路设计

该电路的主要组成部分是AT89C51控制器。8051单片机的复位电路由按键、10KΩ电阻器和10μF电容组成。

一个11.0592MHz Uartz晶体和两个33PF陶瓷电容器形成8051微控制器的振荡器电路,并连接到销18和19。

最后,一个LED通过330Ω电阻连接到P2.0,以表示时间延迟。

8051定时器寄存器

TMOD注册

TMOD注册

上部啃(tmod.7至tmod.4)用于配置Timer1,较低的啃(tmod.3至tmod.0)用于配置Timer0。

门:如果此引脚很高,则当微控制器的相应INT引脚上存在中断时,启用相应的定时器。

C / T:该引脚用于选择计时器或计数器。如果此引脚高,则用作计数器以计算外部事件。如果该引脚低,则用作计时器以产生时间延迟。

M1和M0:这些位用于选择不同的定时器模式。

m1和m0位

13位计时器:该模式使用高字节的8位,其余5位来自低字节。该模式定时器的取值范围是0000H ~ 1FFFH

16位计时器:这种模式最常用于产生时间延迟。在这种模式下,所有16位都用于定时器,值从0000H到FFFFH不等。

如果将值XXXXH加载到定时器寄存器中,则产生的时间延迟等于[(ffffh - xxxxh + 1)*(一个时钟脉冲的周期)]。

一个时钟脉冲的时间段等于1.085μ11.0592MHz频率。

8位自动重新加载:在此模式下,初始值加载到高字节,并且将相同的值加载到低字节中。定时器值是从00h到ffh。此模式用于设置串行通信的波特率。

分割模式:在这种模式下,定时器被分为两个8位定时器。这些8位定时器可以从00H计数到FFH。这种模式用于需要额外的8位计时器或计数器的应用程序。

TCON REGURRE.

它是一种用于控制定时器操作的特殊函数寄存器。在这个寄存器中,只有上比特用于控制定时器,其余比特用于中断控制。

TCON REGURRE.

  • TF1:定时器1溢出时,该位自动设置为1。
  • TR1:该位用于启用定时器1.该引脚必须高电平以启用Timer1。
  • TF0:当timer0溢出时自动设置为1。
  • TR0.:在此位放置1以启用计时器0。

使用8051定时器产生精确延迟的步骤

为了准确地生产时间延迟,

  1. 使用定时器时钟周期划分时间延迟。

nnnn =时间延迟/1.085μs

  1. 从65536中减去结果值。

嗯= 65536 - nnnn

  1. 将差值转换为十六进制小数形式。

MMMMd = XXYYh

  1. 将这个值加载到计时器寄存器中。

th = xxh.

TL = YYh

延迟函数生成1 ms延迟

为了产生1ms的延迟,使用上述步骤的计算如下。

  1. nnnn = 1ms /1.085μs≈922。
  2. MMMM = 65536-922 = 64614
  3. 64614在十六进制= FC66H
  4. 用0xFC和TL加载0x66

以下功能将使用8051计时器0生成1 ms的延迟。

使用定时器闪烁的代码

为了展示使用8051定时器的延迟的运行,我将闪烁,闪烁的LED为2秒,即LED将在1秒钟内,关闭1秒钟。

电路模拟视频

如何操作?

  1. 最初将程序刻录到AT89C51控制器
  2. 根据电路图给出连接
  3. 打开电源,现在您可以观察到LED的切换,随着时间的推移。
  4. 如果将输出连接到示波器,则可以观察方波。

电路应用

  • 用于嵌入式系统应用,我们想要精确的时间延迟。
  • 该系统用于生成方波。
  • 用于超声波模块应用。

输出视频

3反应

留下一个回复

您的电子邮件地址不会被公开。必需的地方已做标记*