9.1.3 中断控制寄存器TCON

寄存器TCON的功能是在定时器溢出时设定标志位,并控制定时器的运行、停止和中断请求。寄存器TCON的单元地址为88H。中断控制寄存器TCON的组成,如图9.3所示,包含3个部分,TF1和TR1位用于控制T1,TF0和TR0位用于控制T0,其他的为中断控制。下面分别介绍各种控制位的含义。

9.1.3 中断控制寄存器TCON - 图1

图 9.3 控制寄存器TCON

❑TF1(D7):定时器/计数器T1的溢出标志位。当定时器/计数器T1产生溢出时,单片机将自动置TF1=1,并申请中断。此时,CPU响应中断,转向相应的中断服务程序,并自动置TF1=0。

❑TR1(D6):定时器/计数器T1的启/停控制位。当GATE为0时,TR1置位为1时T1开始计数,TR1复位为0时T1停止计数;当GATE为1时,TR1为1且INT1输入高电平时,T1开始计数。

❑TF0(D5):定时器/计数器T0的溢出标志位。当定时器/计数器T0产生溢出时,单片机将自动置TF0=1,并申请中断。此时,CPU响应中断,转向相应的中断服务程序,并自动置TF0=0。

❑TR0(D4):定时器/计数器T0的启/停控制位。当GATE为0时,TR0置位为1时T0开始计数,TR0复位为0时T0停止计数;当GATE为1时,TR0为1且INT0输入高电平时,T0开始计数。

❑IE1(D3):外部中断1请求标志位。当单片机INT1端口的中断信号有效的时候,单片机将自动置IE1=1请求中断。CPU响应中断请求,转向对应的中断服务程序,并自动置IE1=0。

❑IT1(D2):外部中断1的中断触发方式控制位。当IT1=0的时候,为低电平触发方式;当IT1=1的时候,为下降沿触发方式。

❑IE0(D1):外部中断0请求标志位。当单片机INT0端口的中断信号有效的时候,单片机将自动置IE0=1请求中断。CPU响应中断请求,转向对应的中断服务程序,并自动置IE0=0。

❑IT0(D0):外部中断0的中断触发方式控制位。当IT0=0的时候,为低电平触发方式;当IT0=1的时候,为下降沿触发方式。

提示TCON可支持位寻址,TMOD不支持位寻址。

寄存器TCON可以进行位寻址,位地址为88H~8FH。在KeilµVision3集成开发环境中,头文件reg51.h中包含了对特殊功能寄存器TCON的声明,示例如下。


sbit TF1=0x8F;//溢出标志位TF1

sbit TR1=0x8E;//启/停控制位TR1

sbit TF0=0x8D;//溢出标志位TF0

sbit TR0=0x8C;//启/停控制位TR0

sbit IE1=0x8B;//外部中断1请求标志位

sbit IT1=0x8A;//外部中断1的中断触发方式控制位

sbit IE0=0x89;//外部中断0请求标志位

sbit IT0=0x88;//外部中断0的中断触发方式控制位


注意在reg52.h头文件中,按以下方式定义TCON寄存器中的各位。


sbit TF1=TCON^7;//溢出标志位TF1

sbit TR1=TCON^6;//启/停控制位TR1

sbit TF0=TCON^5;//溢出标志位TF0

sbit TR0=TCON^4;//启/停控制位TR0

sbit IE1=TCON^3;//外部中断1请求标志位

sbit IT1=TCON^2;//外部中断1的中断触发方式控制位

sbit IE0=TCON^1;//外部中断0请求标志位

sbit IT0=TCON^0;//外部中断0的中断触发方式控制位


因此,在程序中加入该头文件后,便可以在C51程序中直接对这些位进行操作,示例如下。


TR1=1//启动定时器/计数器T1


该语句直接置位TR1,用于启动定时器/计数器T1。