【MCS-51单片机汇编语言】期末复习总结④——求定时器初值(题型四)

在这里插入图片描述

关于定时器的常考题目为已知晶振 ∫定时时间,求定时器初值

重要公式

  • T机器 = 12 / ∫晶振

  • (2n - X) * T机器 = T定时

    • 其中n为定时器位数,定时器不同的工作方式对应不同的n,见下文;
    • X为定时器初值;

工作方式寄存器TMOD

D7 D6 D5 D4 D3 D2 D1 D0
GATE C/T M1 M0 IGATE C/T M1 M0
  • [注]:TMOD高4位T1相关,低4位T0相关。

  • GATE

    • 0:定时器/计数器的运行由TRX决定;
    • 1: 定时器/计数器的运行由TRX外中断引脚共同决定;
  • C/T

    • 0:定时器模式;
    • 1:计数器模式;
  • M1/M0

M1 M0 方式 n
0 0 方式0 13位 (重要)
0 1 方式1 16位 (重要)
1 0 方式2 8位
1 1 方式3 2个8位 (仅适用于T0)

常考题型

例题1

  • 单片机采用6MHZ的晶振,定时1ms,用定时器方式0/1的初值(即求TH0TL0)分别是多少?

题解

我们将分别采用方式0与方式1进行演示。

方式0

  1. 晶振 = 6MHZ得 T机器 = 12 / ∫晶振 = 2微秒
  2. 设方式0地初值为 X,则由
    • (2n - X) * T机器 = T定时 带入数值得:
    • (213 - X)* 2 = 1000微秒
    • 解得 X = 7029,将之转化为16进制为 1E0CH = 1 1110 0000 1100
  3. X前8位TH0后5位TL0(由于方式0只有13位,所以TL0高位补0);
    • TH0 = 1111 0000 = 0F0H
    • TL0 = 0000 1100 = 0CH

如何将10进制转化为16进制
在这里插入图片描述

方式1

  1. 由(2n - X) * T机器 = T定时 (方式1时n为16)得
    • (216 - X)* 2 = 1000
    • 解得 X = 65036 = FEOCH
  2. 方式1为16位所以X的高8位为TH1 = 0FEH,低8位为TL1 = 0CH;
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/gllll_yu/article/details/131031725
今日推荐