新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机定时器工作模式TMOD设置

单片机定时器工作模式TMOD设置

作者:时间:2013-06-08来源:网络收藏

TMOD:/计数器模式控制寄存器(TIMER/COUNTER MODE CONTROL REGISTER)

/计数器模式控制寄存器TMOD是一个逐位定义的8位寄存器,但只能使用字节寻址,其字节地址为89H。

其格式为:

单片机定时器工作模式TMOD设置

TMOD结构图

==============================================

其中低四位定义定时器/计数器T0,高四位定义定时器/计数器T1,各位的说明:

Ⅰ,GATE——门控制。

●GATE=1时,由外部中断引脚INT0、INT1来启动定时器T0、T1。

当INT0引脚为高电平时TR0置位,启动定时器T0;

当INT1引脚为高电平时TR1置位,启动定时器T1。

●GATE=0时,仅由TR0,TR1置位分别启动定时器T0、T1。

Ⅱ,C/T——功能选择位

C/T=0时为定时功能,C/T=1时为计数功能。

置位时选择计数功能,清零时选择定时功能。

Ⅲ,M0、M1——方式选择功能

由于有2位,因此有4种工作方式

==============================

M1M0 工作方式 计数器模式 TMOD(设置定时器模式)

0 0 方式0 13位计数器 TMOD=0x00

0 1 方式1 16位计数器 TMOD=0x01

1 0 方式2 自动重装8位计数器 TMOD=0x02

1 1 方式3 T0分为2个8位独立计数器,T1为无中断重装8位计数器 TMOD=0x03

定时器0设置为工作方式1为TMOD=0x01;定时器1设置工作方式1时TMOD=0x10

没有用到的定时器一般设置为0

=============================

初始化定时器0

TH0=(65535-50000)/256;Tl0=(65535-50000)%256;

在51中,如果你的定时器0选择的是“方式一”,则表示定时器0的计数器从0开始加到50000,其中每加一次的时间为你的晶振频率的倒数。如12MHz,则每加一个数的时间为 1*12/12000000 秒。你的公式中是加50000次,即 50000*1*12/12000000 = 50MS。注:数值只能从0加到65535,否则就会溢出。如果需要定时的时间长,可在定时器中断函数中,使用全局变量计数。如使用你的公式进行定时器初始化,想要实现1S的定时,则等到全局变量从0加至20时,即定时器0发生20次中断,就可以了。



评论


相关推荐

技术专区

关闭