单片机笔记——定时器与计数器的相关寄存器学习

一、TCON(定时器/计数器T0、T1控制寄存器)

**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开始计数。
单片机笔记——定时器与计数器的相关寄存器学习_第1张图片
IE1:外部中断1请求源(INT1/P3.3)标志。IE=1时,外部中断向CPU请求中断,当CPU响应该中断时硬件清“0”IE1。
IT1:外部中断源1触发控制位。IT1=0,上升沿或下降沿均可触发外部中断1。IT1=1,外部中断1控制为下降沿触发方式。

二、TMOD(定时器/计数器工作模式寄存器)

**1.作用:**设置定时和计数功能,以及操作模式的设置。
2.格式:
在这里插入图片描述
GATE:控制定时器,置1时只有INT1/0脚为高及TR1/0控制位置1时才可以打开定时器/计数器。
C/T~:控制定时器0/1作为定时器或计数器。0为定时器,1为计数器。
M1\M0:结合来进行模式选择,TMOD.5/TMOD.4为例:单片机笔记——定时器与计数器的相关寄存器学习_第2张图片

三、AUXR(辅助寄存器)

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得到释放,可以作为独立定时器使用

四、INT_CLKO(AUXR2)外部中断允许和时钟输出寄存器。

格式:
在这里插入图片描述
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同样只能下降沿触发。
单片机笔记——定时器与计数器的相关寄存器学习_第3张图片
单片机笔记——定时器与计数器的相关寄存器学习_第4张图片
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

五、IE(中断允许寄存器)

1.格式
在这里插入图片描述
EA:CPU的总中断允许控制位。EA=1,CPU开放中断。EA=0,CPU屏蔽所有的中断申请。
ET1(0)=定时/计数器T1(0)的溢出中断允许位。ET1(0)=1,允许T1(0)中断。

六、IP(中断优先级控制寄存器)

1.格式:
在这里插入图片描述
PT1(0):定时器1(0)中断优先级控制位。
当PT1(0)=1,定时器1(0)为最高优先级中断。

七、IE2(定时器T2\T3\T4的中断控制寄存器)

格式:
在这里插入图片描述
ET3(4、2):定时器3(4、2)的中断允许位。(1允许,0禁止)
ES4(3、2):串行口4(3、2)中断允许位。(1允许,0禁止)
ESPI:SPI中断允许位。(1允许,0禁止)

八、T4T3M(定时器T4和T3的控制寄存器)

格式:
在这里插入图片描述
各个位置与AUXR差不多,故参考上面

你可能感兴趣的:(单片机学习,寄存器,单片机,stm32,物联网)