📄 timer.h
字号:
位7-0:
RCAP2H:定时器2 捕捉寄存器的高字节
当定时器2 被配置为捕捉方式时,RCAP2H 寄存器捕捉定时器2 的高字节。当
定时器2 被配置为自动重装载方式时,它保存重载值的高字节。
TL2:定时器2 低字节
R/W R/W R/W R/W R/W R/W R/W R/W 复位值00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0xCC
位7-0:
TL2:定时器2 的低字节
TL2 寄存器保存16 位定时器2 的低字节。
TH2:定时器2 高字节
R/W R/W R/W R/W R/W R/W R/W R/W 复位值00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0xCD
位7-0:
TH2:定时器2 的高字节
TH2 寄存器保存16 位定时器2 的高字节。
*************************************************************************************/
// 常量定义:无
/************************************************************************************
TMR3CN:0x91,定时器3 控制寄存器
R/W R/W R/W R/W R/W R/W R/W R/W 复位值
TF3 - - - - TR3 T3M T3XCLK 00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0x91
位7: TF3:定时器3 溢出标志
当定时器3 从0xFFFF 到0x0000 溢出时由硬件置位。当定时器3 中断被允许时,
该位置‘1’使CPU 转向定时器3 的中断服务程序。该位不能由硬件自动清0,
必须用软件清0。
位6-3: 未用。读=0000b,写=忽略。
位2: TR3:定时器3 运行控制
该位允许/禁止定时器3
0:定时器3 禁止。
1:定时器3 允许。
位1: T3M:定时器3 时钟选择
该位控制提供给计数器/定时器3 的系统时钟的分频数。
0:计数器/定时器3 使用系统时钟的12 分频。
1:计数器/定时器3 使用系统时钟。
位0: T3XCLK:定时器3 外部时钟选择
该位选择外部振荡器输入的8 分频作为定时器3 的时钟源。当T3XCLK 为逻
辑‘1’时,T3M(TMR3CN.1)位被忽略。
0:定时器3 的时钟源由T3M(TMR3CN.1)位定义。
1:定时器3 的时钟源外部振荡器输入的8 分频。
*************************************************************************************/
// 常量定义:
#define TF3 0x80
#define TR3 0x04
#define T3M 0x02
#define T3XCLK 0x01
/************************************************************************************
T3定时器计数值寄存器
TMR3RLL:定时器3 重载寄存器低字节
R/W R/W R/W R/W R/W R/W R/W R/W 复位值00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0x92
位7-0:
TMR3RLL:定时器3 重载寄存器的低字节
定时器3 被配置为自动重装载定时器。该寄存器保存重载值的低字节。
TMR3RLH:定时器3 重载寄存器高字节
R/W R/W R/W R/W R/W R/W R/W R/W 复位值00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0x93
位7-0:
TMR3RLH:定时器3 重载寄存器的高字节
定时器3 配置为自动重装载定时器。该寄存器保存重载值的高字节。
TMR3L:定时器3 低字节
R/W R/W R/W R/W R/W R/W R/W R/W 复位值00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0x94
位7-0:
TMR3L:定时器3 的低字节
TMR3L 寄存器为定时器3 的低字节。
TMR3H:定时器3 高字节
R/W R/W R/W R/W R/W R/W R/W R/W 复位值00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0x95
位7-0:
TMR3H:定时器3 的高字节
TMR3H 寄存器为定时器3 的高字节。
*************************************************************************************/
// 常量定义:无
/************************************************************************************
T4CON:0xC9,定时器4 控制寄存器
R/W R/W R/W R/W R/W R/W R/W R/W 复位值
TF4 EXF4 RCLK1 TCLK1 EXEN4 TR4 C/T4 CP/RL4 00000000
位7 位6 位5 位4 位3 位2 位1 位0
SFR地址:0xC9
位7: TF4:定时器4 溢出标志
当定时器4 从0xFFFF 到0x0000 溢出时由硬件置位。当定时器4 中断被允许时,
该位置1 导致CPU 转向定时器4 的中断服务程序。该位不能由硬件自动清0,
必须用软件清0。当RCLK1 和/或TCLK1 为逻辑1 时,TF4 不会被置位。
位6: EXF4:定时器4 外部标志
当T4EX 输入引脚的负跳变导致发生捕捉或重载并且EXEN4 为逻辑1 时,该
位由硬件置位。在定时器4 中断被允许时,该位置‘1’使CPU 转向定时器4
的中断服务程序。该位不能由硬件自动清0,必须用软件清0。
位5: RCLK1:UART1 接收时钟标志
选择UART1 工作在方式1 或3 时接收时钟使用的定时器。
0:定时器1 溢出作为接收时钟。
1:定时器4 溢出作为接收时钟。
位4: TCLK1:UART1 发送时钟标志
选择UART1 工作在方式1 或3 时发送时钟使用的定时器。
0:定时器1 溢出作为发送时钟。
1:定时器4 溢出作为发送时钟。
位3: EXEN4:定时器4 外部允许
当定时器4 不是工作在波特率发生器方式时,允许T4EX 上的负跳变触发
捕捉或重载。
0:T4EX 上的负跳变被忽略。
1:T4EX 上的负跳变导致一次捕捉或重载。
位2: TR4:定时器4 运行控制
该位允许/禁止定时器4。
0:定时器4 禁止。
1:定时器4 允许。
位1: C/T4:计数器/定时器功能选择
0:定时器功能:定时器4 由T4M(CKCON.6)定义的时钟触发加1。
1:计数器功能:定时器4 由外部输入引脚(T4)的负跳边触发加1。
位0: CP/RL4:捕捉/重载选择
该位选择定时器4 为捕捉还是自动重装载方式。EXEN4 必须为逻辑1 才能使
T4EX 上的负跳变能够被识别并用于触发捕捉和重载。若RCLK1 或TCLK1 被
置位,该位将被忽略,定时器4 将工作在自动重装载方式。
0:当定时器4 溢出或T4EX 上发生负跳变时将自动重装载(EXEN4=1)。
1:在T4EX 发生负跳变时捕捉(EXEN4=1)。
*************************************************************************************/
// 常量定义:无
#define TF4 0x80
#define EXF4 0x40
#define RCLK1 0x20
#define TCLK1 0x10
#define EXEN4 0x08
#define TR4 0x04
#define C_T4 0x02
#define CP_RL4 0x01
/************************************************************************************
T4定时器计数值寄存器
RCAP4L:定时器4 捕捉寄存器低字节
R/W R/W R/W R/W R/W R/W R/W R/W 复位值00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0xE4
位7-0:
RCAP4L:定时器4 捕捉寄存器的低字节
当定时器4 被配置为捕捉方式时,RCAP4L 寄存器捕捉定时器4 的低字节。当
定时器4 被配置为自动重装载方式时,它保存重载值的低字节。
RCAP4H:定时器4 捕捉寄存器高字节
R/W R/W R/W R/W R/W R/W R/W R/W 复位值00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0xE5
位7-0:
RCAP4H:定时器4 捕捉寄存器的高字节
当定时器4 被配置为捕捉方式时,RCAP4H 寄存器捕捉定时器4 的高字节。当
定时器4 被配置为自动重装载方式时,它保存重载值的高字节。
TL4:定时器4 低字节
R/W R/W R/W R/W R/W R/W R/W R/W 复位值00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0xF4
位7-0:
TL4:定时器4 的低字节
TL4 寄存器保存16 位定时器4 的低字节。
TH4:定时器4 高字节
R/W R/W R/W R/W R/W R/W R/W R/W 复位值00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0xF5
位7-0:
TH4:定时器4 的高字节
TH4 寄存器保存16 位定时器4 的高字节。
*************************************************************************************/
// 常量定义:无
#define T_UART1 0 // UART1时钟
#define T_TIMER 1 // 定时器功能
#define T_COUNT 2
#define T_IDLE 3
/************************************************************************************
// Timer 应用说明
*************************************************************************************/
//Timer0:未用
//Timer1:UART0,UART1
//Timer2:AD0
//Timer3:DAC0
//Timer4:未用
/************************************************************************************/
// 函数外部引用声明
/************************************************************************************/
/*************************************************************************************/
//
// Timer0 参数及函数定义
//
/*************************************************************************************/
/*************************************************************************************
* Timer0工作模式定义, 在这里可以修改Timer0工作模式
*************************************************************************************/
#define T0_MODE (~GATE0)&(~C_T0)&T0M01
/***********************************************************************************
* 函数名称: Timer0_Init;
*
* 函数功能描述: Timer0 初始化函数;
*
* 输入参数: mode: Timer0工作模式定义,freq:定时或计数溢出频率
*
* 返回数据: 无
*
* 注意: 无
************************************************************************************/
void Timer0_Init(unsigned char mode,unsigned long freq);
/***********************************************************************************
* 函数名称: Timer0_Enable;
*
* 函数功能描述: Timer0使能函数,Timer0开始工作;
*
* 输入参数: 无
*
* 返回数据: 无
*
* 注意: 无
************************************************************************************/
void Timer0_Enable(void);
/***********************************************************************************
* 函数名称: Timer0_Disable;
*
* 函数功能描述: Timer0关闭函数,Timer0停止工作;
*
* 输入参数: 无
*
* 返回数据: 无
*
* 注意: 无
************************************************************************************/
void Timer0_Disable(void);
/***********************************************************************************
* 函数名称: Timer0_SetValue;
*
* 函数功能描述: 设置定时或计数寄存器值
*
* 输入参数: value:定时或计数寄存器值
*
* 返回数据: 无
*
* 注意: 无
************************************************************************************/
void Timer0_SetValue(unsigned int value);
/*************************************************************************************/
//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -