IAP15F2K61S2的T0和T1均有四种工作模式:
- 模式0:13位定时器/计数器
- 模式1:16位定时器/计数器(常用)
- 模式2:8位自动重装模式
- 模式3:两个8位计数器工作模式1框图:
-
SYSclk:系统时钟,即晶振周期,本开发板上的晶振为12MHz -
定时器和中断系统
定时器编程参考
//函数参数:定时器1初始化
//入口参数:无
//返回值:无
//函数功能:设置系统频率为 12.000MHz,设置定时时长为 1ms, \
选择定时器 1,选择定时器模式为 16 位自动重载(模式0),\
选择定时器时钟为 12T( FOSC/12)
void Timer1_Init(void) //1毫秒@12.000MHz
{
AUXR &= 0xBF; //定时器时钟12T模式(分频选择)
TMOD &= 0x0F; //设置定时器模式(定时器工作模式)
TL1 = 0x18; //设置定时初始值
TH1 = 0xFC; //设置定时初始值
TF1 = 0; //清除TF1标志
TR1 = 1; //定时器1开始计时
ET1 = 1; //使能定时器1中断
}
//函数参数:定时器0初始化(计数器模式,不自动重装载)
//入口参数:无
//返回值:无
//函数功能:用于测量555频率输出
void Timer0_Init(void) //10毫秒@12.000MHz
{
TMOD &= 0xF0; //设置定时器模式
TMOD |= 0x05; //设置定时器模式(计数模式)
TL0 = 0; //设置定时初始值
TH0 = 0; //设置定时初始值
TR0=1;
}
如有不妥之处,还请指出,如有补充,洗耳恭听。此笔记仅供参考,如若对你有所帮助,点个赞呗谢谢,最后祝愿你旗开得胜,金榜题名。