**1.作用:**是定时器/计数器T0、T1控制寄存器,同时锁存T0、T1溢出中断源和外部请求中断源等。
2.格式:
TF1:T1溢出中断标志。T1允许计数以后,从初始值开始计数,当产生溢出时由硬件置"1"TF1。直到CPU响应中断时,才由硬件清“0”
TR1:定时器T1的运算控制位。该位由软件置位和清零。当GATE(TMOD.7,TMOD高位设置定时器1,地位设置定时器0)=0,TR=1时就允许T1开始计数,TR=0时禁止T1计数。当GATE(TMOD.7)=1,TR=1且INT1输入高电平时,才允许T1开始计数。
IE1:外部中断1请求源(INT1/P3.3)标志。IE=1时,外部中断向CPU请求中断,当CPU响应该中断时硬件清“0”IE1。
IT1:外部中断源1触发控制位。IT1=0,上升沿或下降沿均可触发外部中断1。IT1=1,外部中断1控制为下降沿触发方式。
**1.作用:**设置定时和计数功能,以及操作模式的设置。
2.格式:
GATE:控制定时器,置1时只有INT1/0脚为高及TR1/0控制位置1时才可以打开定时器/计数器。
C/T~:控制定时器0/1作为定时器或计数器。0为定时器,1为计数器。
M1\M0:结合来进行模式选择,TMOD.5/TMOD.4为例:
1.作用:
STC15系列单片机是IT的8051单片机,为兼容传统8051,定时器0、定时器1,和定时器2复位后是传统8051的速度,即12分频,这是为了兼容传统8051。但也可不进行12分频,通过设置新增加的特殊功能寄存器AUXR,将TO,T1,T2设置为1T。
2.格式:
T0(1、2)x12:定时器0(1)速度控制位
0:定时器是传统8051速度,12分频
1:定时器是传统8051速度的12倍,不分频
注意:如果UART1/串口1用T1作为波特率发生器,则由T1x12决定UART1/串口1是12T还是1T
UART_M0x6:串口1模式0的通信速度设置位。
0:串口1模式0是传统8051单片机串口速度,12分频
1:串口1模式0是传统8051单片机串口速度的6倍,2分频
T2R:定时器2允许控制位。为1时,允许定时器工作。
T2_C/~T:控制定时器2作为定时器还是计数器。为1用作计数器。
注意:如果串口1/串口2用T2作为波特率发生器,则由T1x12决定串口1/串口2是12T还是1T
EXTRAM:内部/外部RAM存取控制位。
0,允许使用逻辑上在片外、物理上在片内的扩展RAM
1,禁止使用逻辑上在片外、物理上在片内的扩展RAM
SIST2:串口1(UART1)选择定时器2作波特率发生器的控制位
0.选择定时器1作为串口1(UART1)的波特率发生器;
1,选择定时器2作为串口1(UART1)的波特率发生器,此时定时器1得到释放,可以作为独立定时器使用
格式:
EX4:外部中断4(INT4)中断允许位。
EX4=1允许中断,EX4=0禁止中断。外部中断4(INT4)只能下降沿触发。
EX3:外部中断3(INT3)中断允许位。
EX3=1允许中断,EX3=0禁止中断。外部中断3(INT3)也只能下降沿触发。
EX2:外部中断2(INT2)中断允许位。
EX2=1允许中断,EX2=0禁止中断。外部中断2(NT2同样只能下降沿触发。
TOCLKO:是否允许将P3.5/T1脚配置为定时器0(TO)的时钟输出TOCLKO(1是,0否)
当为1时——输出时钟频率=TO溢出率/2
若定时器/计数器TO工作在定时器模式0(16位自动重装载模式)时,
如果C/T=0,定时器/计数器TO是对内部系统时钟计数,则:
TO工作在1T模式(AUXR.7/T0x12=1,不分频)时的输出频率=(SYSclk)(65536-[RL_THO,RL_TL0]/2
TO工作在12T模式(AUXR.7/T0x12=0,12分频)时的输出频率=(SYSclk)/12/(65536-[RL_ TH0,RL_TL0)/2
如果C/T=1,定时器/计数器TO是对外部脉冲输入(P3.4/TO)计数,则:
输出时钟频率=(TO Pin CLK)/(65536-[R_THO,RL_TLO])/2
若定时器/计数器TO工作在定时器模式2(8位自动重装模式),
如果CT=0,定时器/计数器T1是对内部系统时钟计数,则:
TO工作在1T模式(AUXR.7/T0x12=1)时的输出频率=(SYSclk)/(256-TH0)/2
TO工作在12T模式(AUXR.7/T0x12=0)时的输出频率=(SYSclk)/12/(256-THO)/2
如果C/T=1,定时器/计数器TO是对外部脉冲输入(P3.4/TO)计数,则:
输出时钟频率=(TO_Pin CLK)/(256-TH0)/2
TICLKO:是否允许将P3.4/T0脚配置为定时器1(T1)的时钟输出TICLKO(1是,0否)
当为1时——将P3.4/T0管脚配置为定时器1的时钟输出TICLKO,输出时钟频率=T1溢出率/2
若定时器/计数器T1工作在定时器模式0(16位自动重装载模式),
如果C/T=0,定时器/计数器T1是对内部系统时钟计数,则:
TI工作在IT模式(AUXR.6/T1x12=1)时的输出频率=(SYSclk)/(65536-[RL TH1,RL TL1])/2
T1工作在12T模式(AUXR.6/T1x12=0)时的输出频率=(SYSclk)/12/(65536-[RL_TH1,RL_TL1])/2
如果C/T=1,定时器/计数器T1是对外部脉冲输入(P3.5/T1)计数,则:
输出时钟频率=(T1_Pin CLK)/(65536-[RL_TH1,RL_TL1])/2
若定时器/计数器T1工作在模式2(8位自动重装模式),
如果C/T=0,定时器/计数器T1是对内部系统时钟计数,则:
T1工作在1T模式(AUXR.6/T1x12=1)时的输出频率=(SYSclk)/(256-TH1)/2
T1工作在12T模式(AUXR.6/T1x12=0)时的输出频率=(SYSclk)/12/(256-TH1)/2
如果CT=1,定时器/计数器T1是对外部脉冲输入(P3.5/T1)计数,则:
输出时钟频率=(T1 Pin CLK)/(256-TH1)/2
T2CLKO:是否允许将P3.0脚配置为定时器2(T2)的时钟输出T2CLKO
1:允许将P3.0脚配置为定时器2的时钟输出T2CLKO,输出时钟频率=12溢出率/2
如果T2 C/T=0,定时器/计数器T2是对内部系统时钟计数,则:
T2工作在1T模式(AUXR.2/T2x12=1)时的输出频率=(SYSclk)/(65536-[RL_TH2, RL_TL2]/2T2工作在12T模式(AUXR2/T2×12-0)时的输出频率=(SYSclk)/12/(65536-[RL_TH2,RL_TL2])/2
如果T2 CT=1,定时器/计数器T2是对外部脉冲输入(P3.1/T2)计数,则:
输出时钟频率=(T2 _Pin_CLK)/(65536-[RL_TH2,RL_TL2])/2
如果T2 CT=1,定时器/计数器T2是对外部脉冲输入(P3.1/T2)计数,则:
输出时钟频率=(T2 Pin CLK)/(65536-[RL TH2,RL_TL2])/2
0:不允许将P3.0脚配置为定时器2(T2)的时钟输出T2CLKO
1.格式
EA:CPU的总中断允许控制位。EA=1,CPU开放中断。EA=0,CPU屏蔽所有的中断申请。
ET1(0)=定时/计数器T1(0)的溢出中断允许位。ET1(0)=1,允许T1(0)中断。
1.格式:
PT1(0):定时器1(0)中断优先级控制位。
当PT1(0)=1,定时器1(0)为最高优先级中断。
格式:
ET3(4、2):定时器3(4、2)的中断允许位。(1允许,0禁止)
ES4(3、2):串行口4(3、2)中断允许位。(1允许,0禁止)
ESPI:SPI中断允许位。(1允许,0禁止)