☺定时器中断是单片机最重要的一个功能,一开始学的时候遇到了不少的问题,通过不断地学习解决了不少问题,其实学会之后也没有什么。在这里我整理了一下定时器的使用,就用51单片机来举例。像别的STC15等系列的单片机其实原理上差不多的,分享给大家希望能帮助大家。
定时器小练习: 《51单片机定时器小练习》—利用定时器实现方波发生器
.
定时器相关寄存器
- 中断允许寄存器IE
1.EA:cpu总中断允许控制位。EA=1,cpu开放中断。
2.ET0/ET1:定时器T0和定时器T1溢出中断允许位。ET0/ET1=1;允许中断。
3.EX0/EX1:外部中断0和外部中断1中断允许位。EX0/ET1=1;允许中断。
- 控制寄存器TCON
TF1:定时器/计数器T1溢出标志。T1被允许计数以后,从初值开始加1计数。当最高位产生溢出时由硬件置‘1’,此时向CPU请求中断,一直保持到CPU响应中断时,才由硬件清‘0’。(TF1也可以由程序查询清“0”)
TR1:定时器T1的运行控制位,该位是由软件置位和清零。当GATE=0,TR1=1时就允许T1开始计数,TR1=0时禁止T1计数。当GATE=1,TR1=1且外部中断1输入位高电平时,才允许T1计数。
TF0:定时器/计数器T0溢出标志。T0被允许计数以后,从初值开始加1计数。当最高位产生溢出时由硬件置‘1’,此时向CPU请求中断,一直保持到CPU响应中断时,才由硬件清‘0’。(TF0也可以由程序查询清“0”)
TR0:定时器T0的运行控制位,该位是由软件置位和清零。当GATE=0,TR0=0时就允许T0开始计数,TR0=0时禁止T0计数。当GATE=1,TR0=1且外部中断0输入位高电平时,才允许T0计数。