当前位置:首页 > 单片机 > 单片机
[导读]TMOD 的地址是 89H ,它不能位寻址 ,它里面的内容被称为方式字,设置时一次写入,其各位的定义如图 6.2 所示。高 4 位用于定时器 T1 ,低 4 位用于定时器 T0 。

定时器/计数器有 4 种工作方式 ,由 TMOD 设置,并由 TCON 控制。TMOD 和 TCON 都属于特殊功能寄存器。

1. 定时器/计数器的方式寄存器 TMOD

TMOD 的地址是 89H ,它不能位寻址 ,它里面的内容被称为方式字,设置时一次写入,其各位的定义如图 6.2 所示。高 4 位用于定时器 T1 ,低 4 位用于定时器 T0 。

下面介绍 TMOD 各位功能。

1) M1M0 工作方式控制位

两位可组合成 4 种编码,分别对应 4 种工作方式,见表 6.1 所示。

2) C/T珚 定时器方式或计数器方式选择位

当 C/T珚 =1 时,为计数器方式;当 C/T珚 = 0 时,为定时器方式。

3) GATE 定时器/计数器运行门控标志位

当 GATE=1 时,只有 INT0(或 INT1) 引脚为高电平且 TR0(或 TR1) 置 1 时,相应的

定时器/计数器才被选通工作 ,这时可用于测量在 INTx 端出现的正脉冲的宽度 。若GATE=0 ,则只要 TR0 (或 TR1) 置 1 ,定时器/计数器就被选通,而不管 INT0(或 INT1) 的电平是高还是低。

2.定时器/计数器控制寄存器 TCON

特殊功能寄存器 TCON 用于控制定时器的操作及对定时器中断的控制。

TF0 、TF1 分别是定时器/计数器 T0 、T1 的溢出标志位,加法计数器计满溢出时置 1,申请中断,在中断响应后自动复 0。TF 产生的中断申请是否被接受,还需要由中断是否开放来决定。

TR1、TR0 分别是定时器/计数器 T1 、T0 的运行控制位,通过软件置 1 后,定时器/计数器才开始工作,在系统复位时被清 0。

工作方式

定时器/计数器的工作方式有 4 种,由 TMOD 中的 M1 和 M0 位选择,工作方式不同,计数长度(即最大值 M)和计数方式也不同。

方式 0:

当 M1M0 设置为 00 时,定时器选定为方式 0 工作。在这种方式下,16 位寄存器只用了 13 位,加法计数器由 TL 的低 5 位和 TH 的高 8 位组成,而 TL 的高 3 位弃之不用。工作方式 0 的逻辑图如图 6.3 所示。

当 GATE=0 时,只要 TCON 中的 TR0 为 1 ,TL0 及 TH0 组成的 13 位计数器就开 始计数 ;当 GATE=1 时,此时仅 TR0=1 仍不能使计数器计数,还需要 INT0引脚为高电 平才能使计数器工作 。当 GATE=1 和 TR0=1 时,TH0+TL0 是否计数取决于 INT0引脚的信号,当 INT0由低电平变为高电平时,开始计数;当 INT0由高电平变为低电平时,停止计数,这样就可以用来测量在 INT0 引脚上出现的正脉冲宽度。

图 6.3 方式 0(13 位计数器)

当 13 位计数器加 1 到全“1”以后,再加 1 就产生溢出,这时置 TCON 的 TF0 为 1 ,同 时把计数器全变为“0”。这种方式的计数长度 M 为 2 的 13 次方。由于加法计数器是 13 位的,故赋的初值也应是 13 位二进制数。但应注意,13 位初值的高 8 位赋值给 TH0 ,低 5 位数前面加 3 个 0 凑成 8 位之后赋给 TL0 。如要求计数值 N 为 1000 ,则初值 X 为

X=M-1000=8192-1000=7192=1110000011000B

其二进制数前 8 位是 11100000 ,后 5 位是 11000 ,因此赋初值时 TH=0E0H ,TL=18H 。

方式 1 :

方式 1 和方式 0 的工作相同,唯一的不同是加法计数器是由 16 位计数器组成的,高 8 位为 TH ,低 8 位为 TL 。其控制逻辑图如图 6.4 所示。给它赋初值时,16 位二进制数的高 8 位赋给 TH ,低 8 位赋给 TL,最大计数值 M 为 2 的 16 次方。

图 6.4 方式 1(16 位计数器)

方式 2:

方式 2 使定时器/计数器作为能自动重置初值连续工作 的 8 位计数器,TL 作 8 位加 法计数器,TH 用于重置初值的常数缓冲器,如图 6.5 所示。TH 由软件预置初值 ,当 TL 产生溢出时,一方面使溢出标志 TF 置 1 ,同时把 TH 中的 8 位数据重新装入 TL 中。

方式 0 、1 在计数器计满溢出后由软件重新赋初值,方式 2 就省去了这种麻烦,所以它常用于定时控制或串行口的波特率发生器。如希望每隔 250 μs 产生一个定时控制脉冲,若晶振频率为 12 MHz ,则此时计数初值 X= M-N= (256-250)/1=6 ,故 只要在 TH0,TL0 中预置初始值 6 ,将定时器/计时器 T0 设置成定时工作方式 2,则就能很方便地实现上述功能。

图 6.5 方式 2(初始常数自动重装载)

方式 3:

方式 3 对 T0 和 T1 是不相同的,若 T1 设置为方式 3 ,则停止工作(其效果与 TR1=0 相同), 所以方式 3 只适用于 T0。

在工作方式 3 ,定时器/计数器 T0 被分成两个独立的 8 位计数器 TL0 和 TH0 。如 图 6.6 所 示 。 由 图 可 见 ,TL0 利用 T0 本身的一些控制(C/T ,GATE ,TR0 ,INT0 和 TF0), 它的操作与方式 0 和方式 1 类似,只不过是一个 8 位计数器,而 TH0 借用 了 T1 的控制位 TR1 和 TF1 ,并规定只能用作定时器功能,对机器周期计数。在这种方式中,TH0 控制了 T1 的中断,T1 可以设置为方式 0~2 ,主要用于任何不需要中断控制的场合,或用作串行口的波特率发生器。

图 6.6 方式 3(两个 8 位独立计数器)

通常 ,当 T1 用作串行口波特率发生器时,T0 才定义为方式 3,以增加一个 8 位计数器

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

74LS192是一款广泛应用在数字电子系统中的同步十进制可逆计数器集成电路,属于美国德州仪器(TI)早期推出的7400系列TTL逻辑家族的一员。该芯片设计为四位二进制计数器,并因其特殊的十进制计数特性以及双向计数能力而广...

关键字: 74ls192 计数器

Holtek隆重推出全新一代32-bit Arm® Cortex®-M0+ 5V CAN MCU - HT32F53231/HT32F53241/HT32F53242/HT32F53252。这一系列单片机带有来自Bosc...

关键字: MCU 工业自动化 单片机

Holtek精益求精,宣布推出全新5V宽电压Arm® Cortex®-M0+ 32-bit MCU系列HT32F50431/HT32F50441/HT32F50442/HT32F50452。此系列MCU经多方位升级能满...

关键字: 单片机 智能家居 工业控制

Holtek新推出BS67F2432具备触控按键、高精准度HIRC与LCD驱动器Flash MCU。主要特色为内建高精准度4MHz HIRC振荡电路、8路触控按键及最大支持4COM×15SEG LCD驱动器。适用于触控接...

关键字: MCU LCD驱动器 定时器

单片机小精灵是一款针对单片机开发者的辅助工具,它集成了代码编辑、编译、调试等多项功能,旨在帮助开发者更加高效地进行单片机项目的开发。本文将详细介绍单片机小精灵的使用方法,帮助读者快速掌握这款工具,提高开发效率。

关键字: 单片机 代码编辑 辅助工具

单片机和PLC将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对二者的相关情况以及信息有所认识和了解,详细内容如下。

关键字: PLC 单片机

在这篇文章中,小编将对单片机的相关内容和情况加以介绍以帮助大家增进对单片机的了解程度,和小编一起来阅读以下内容吧。

关键字: 单片机 芯片 集成电路

一直以来,单片机都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来单片机的相关介绍,详细内容请看下文。

关键字: 单片机 控制器

今天,小编将在这篇文章中为大家带来STM32单片机最小系统的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: 单片机 单片机最小系统 STM32

51单片机将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对51单片机的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 单片机 51单片机
关闭