STC15单片机拥有5个定时器,分别为定时器0、1、2、3、4。本文章将记录定时器0、1所使用的寄存器,以及注意事项。
由于STC15单片机定时器的使用于传统51单片机类似,这里仅标出应用所需的寄存器,以及对陌生位的相关说明,其他不作过多赘述。
目录
定时器0、1
相关寄存器
寄存器说明
定时器0、1 相关寄存器
寄存器 | 地址 |
TL0 | 8aH |
TL1 | 8bH |
TH0 | 8cH |
TL1 | 8dH |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 地址 |
TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 | 88H |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 地址 |
GATE | C/T | M1 | M0 | GATE | C/T | M1 | M0 | 89H |
定时/计数器1 | 定时/计数器0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 地址 |
T0x12 | T1x12 | UART_M0x6 | T2R | T2_C/T | T2x12 | EXTRAM | S1ST2 | 8eH |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 地址 |
EX4 | EX3 | EX2 | MCKO_S2 | T2CLKO | T1CLKO | T0CLKO | 8fH |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 地址 |
EA | ELVD | EADC | ES | ET1 | EX1 | ET0 | EX0 | a8H |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 地址 |
PPCA | PLVD | PADC | PS | PT1 | PX1 | PT0 | PX0 | b8H |
寄存器说明
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 地址 |
TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 | 88H |
TFx:定时器x中断溢出标志位。响应中断后由硬件清零,也可读取该位清零。
TRx:定时器x控制运行位。
0:停止计数
1:当TMOD中GATE为0时,开始计数;当TMOD中GATE为0时,INTx输入高电平时开始计数
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 地址 |
GATE | C/T | M1 | M0 | GATE | C/T | M1 | M0 | 89H |
定时/计数器1 | 定时/计数器0 |
GATE:门控位
0:定时器x不受INTx影响
1:当TRx为1且INTx引脚输入高电平时,定时/计数器开始工作
C/T:模式选择位
0:定时器
1:计数器
M1、M0:工作方式选择位
M1 | M0 | 工作方式 |
0 | 0 | 16位自动重装载模式。溢出时将RL_THx和RL_TLx重装载进THx和TLx |
0 | 1 | 16位不可重装载模式 |
1 | 0 | 8位自动重装载模式。溢出时将THx重装载进TLx |
1 | 1 | 定时/计数器0为不可屏蔽中断的16位自动重装载模式 |
定时/计数器1无效 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 地址 |
T0x12 | T1x12 | UART_M0x6 | T2R | T2_C/T | T2x12 | EXTRAM | S1ST2 | 8eH |
Txx12:定时器x速度控制位
0:12分频
1:不分频
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 地址 |
EX4 | EX3 | EX2 | MCKO_S2 | T2CLKO | T1CLKO | T0CLKO | 8fH |
T0CLKO:T0输出时钟允许位
0:不允许T0时钟输出
1:将P3.5/T1引脚配置为T0的时钟输出,输出频率为(T0溢出率/2)
T1CLKO:T1输出时钟允许位
0:不允许T1时钟输出
1:将P3.4/T0引脚配置为T1的时钟输出,输出频率为(T1溢出率/2)
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 地址 |
EA | ELVD | EADC | ES | ET1 | EX1 | ET0 | EX0 | a8H |
注:定时/计数器0在工作模式3时,中断允许与EA无关,只需允许ET0即可打开定时/计数器0的中断,且打开后其中断优先级最高,并且打开之后不受EA和ET0控制,将EA和ET0置0都不可关闭此中断。
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 地址 |
PPCA | PLVD | PADC | PS | PT1 | PX1 | PT0 | PX0 | b8H |
PTx:定时器中断优先级控制位
0:低优先级
1:高优先级
以上为个人学习笔记,由于本人才疏学浅,如有错误,欢迎指正,谢谢!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)