📄 timer.h
字号:
位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
/************************************************************************************/
// 函数外部引用声明
/************************************************************************************/
/*************************************************************************************/
//
// 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);
/*************************************************************************************/
//
// Timer1 参数及函数定义
//
/*************************************************************************************/
/*************************************************************************************
* Timer1工作模式定义, 在这里可以修改Timer1工作模式
*************************************************************************************/
#define T1_MODE T1M10
/***********************************************************************************
* 函数名称: Timer1_Init;
*
* 函数功能描述: Timer1 初始化函数;
*
* 输入参数: mode: Timer1工作模式定义,freq:定时或计数溢出频率
*
* 返回数据: 无
*
* 注意: 无
************************************************************************************/
void Timer1_Init(unsigned char mode,unsigned long freq);
/***********************************************************************************
* 函数名称: Timer1_Enable;
*
* 函数功能描述: Timer1使能函数,Timer1开始工作;
*
* 输入参数: 无
*
* 返回数据: 无
*
* 注意: 无
************************************************************************************/
void Timer1_Enable(void);
/***********************************************************************************
* 函数名称: Timer1_Disable;
*
* 函数功能描述: Timer1关闭函数,Timer0停止工作;
*
* 输入参数: 无
*
* 返回数据: 无
*
* 注意: 无
************************************************************************************/
void Timer1_Disable(void);
/***********************************************************************************
* 函数名称: Timer1_SetValue;
*
* 函数功能描述: 设置定时或计数寄存器值
*
* 输入参数: value:定时或计数寄存器值
*
* 返回数据: 无
*
* 注意: 无
************************************************************************************/
void Timer1_SetValue(unsigned int value);
/*************************************************************************************/
//
// Timer2 参数及函数定义
//
/*************************************************************************************/
/*************************************************************************************
* Timer2工作模式定义, 在这里可以修改Timer2工作模式
*************************************************************************************/
#define T2_MODE (_RCLK0|_TCLK0)&(~_C_T2)&(~_CP_RL2)
/***********************************************************************************
* 函数名称: Timer2_Init;
*
* 函数功能描述: Timer2 初始化函数;
*
* 输入参数: mode: Timer2工作模式定义,freq:定时或计数溢出频率
*
* 返回数据: 无
*
* 注意: 无
************************************************************************************/
void Timer2_Init(unsigned char mode,unsigned long freq);
/***********************************************************************************
* 函数名称: Timer2_Enable;
*
* 函数功能描述: Timer2使能函数,Timer0开始工作;
*
* 输入参数: 无
*
* 返回数据: 无
*
* 注意: 无
************************************************************************************/
void Timer2_Enable(void);
/***********************************************************************************
* 函数名称: Timer2_Disable;
*
* 函数功能描述: Timer2关闭函数,Timer2停止工作;
*
* 输入参数: 无
*
* 返回数据: 无
*
* 注意: 无
************************************************************************************/
void Timer2_Disable(void);
/***********************************************************************************
* 函数名称: Timer2_SetValue;
*
* 函数功能描述: 设置定时或计数寄存器值
*
* 输入参数: value:定时或计数寄存器值
*
* 返回数据: 无
*
* 注意: 无
************************************************************************************/
void Timer2_SetValue(unsigned int value);
/*************************************************************************************/
//
// Timer3 参数及函数定义
//
/*************************************************************************************/
/*************************************************************************************
* Timer3工作模式定义, 在这里可以修改Timer3工作模式
*************************************************************************************/
#define T3_MODE 0//T_TIMER //(~TF3)&(~TR3)&(~T3XCLK)&T3M
/***********************************************************************************
* 函数名称: Timer3_Init;
*
* 函数功能描述: Timer3 初始化函数;
*
* 输入参数: mode: Timer3工作模式定义,freq:定时或计数溢出频率
*
* 返回数据: 无
*
* 注意: 无
************************************************************************************/
void Timer3_Init(unsigned char mode,unsigned long freq);
/***********************************************************************************
* 函数名称: Timer3_Enable;
*
* 函数功能描述: Timer3使能函数,Timer3开始工作;
*
* 输入参数: 无
*
* 返回数据: 无
*
* 注意: 无
************************************************************************************/
void Timer3_Enable(void);
/***********************************************************************************
* 函数名称: Timer3_Disable;
*
* 函数功能描述: Timer3关闭函数,Timer3停止工作;
*
* 输入参数: 无
*
* 返回数据: 无
*
* 注意: 无
************************************************************************************/
void Timer3_Disable(void);
/***********************************************************************************
* 函数名称: Timer3_SetValue;
*
* 函数功能描述: 设置定时或计数寄存器值
*
* 输入参数: value:定时或计数寄存器值
*
* 返回数据: 无
*
* 注意: 无
************************************************************************************/
void Timer3_SetValue(unsigned int value);
/*************************************************************************************/
//
// Timer4 参数及函数定义
//
/*************************************************************************************/
/*************************************************************************************
* Timer4工作模式定义, 在这里可以修改Timer4工作模式
*************************************************************************************/
#define T4_MODE T_TIMER
/***********************************************************************************
* 函数名称: Timer4_Init;
*
* 函数功能描述: Timer4 初始化函数;
*
* 输入参数: mode: Timer4工作模式定义,freq:定时或计数溢出频率
*
* 返回数据: 无
*
* 注意: 无
************************************************************************************/
void Timer4_Init(unsigned char mode,unsigned long freq);
/***********************************************************************************
* 函数名称: Timer4_Enable;
*
* 函数功能描述: Timer4使能函数,Timer4开始工作;
*
* 输入参数: 无
*
* 返回数据: 无
*
* 注意: 无
************************************************************************************/
void Timer4_Enable(void);
/***********************************************************************************
* 函数名称: Timer4_Disable;
*
* 函数功能描述: Timer4关闭函数,Timer4停止工作;
*
* 输入参数: 无
*
* 返回数据: 无
*
* 注意: 无
************************************************************************************/
void Timer4_Disable(void);
/***********************************************************************************
* 函数名称: Timer4_SetValue;
*
* 函数功能描述: 设置定时或计数寄存器值
*
* 输入参数: value:定时或计数寄存器值
*
* 返回数据: 无
*
* 注意: 无
************************************************************************************/
void Timer4_SetValue(unsigned int value);
/***********************************************************************************/
// 文件结束
/***********************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -