一、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开始计数。 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为例:
三、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同样只能下降沿触发。 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差不多,故参考上面
|