//************************************************************ // Copyright (c) 深圳市赛元微电子有限公司 // 文件名称 : sc92f_timer1.h // 作者 : // 模块功能 : TIMER1固件库函数头文件 // 局部函数列表: // 最后更正日期: 2020/8/18 // 版本 : V1.0 // 说明 : //************************************************************* #ifndef _sc92f_TIMER1_H_ #define _sc92f_TIMER1_H_ #include "sc92f.h" typedef enum { TIM1_PRESSEL_FSYS_D12 = ((uint8_t)0x00), //TIMER1计数源来自系统时钟12分频 TIM1_PRESSEL_FSYS_D1 = ((uint8_t)0x01) //TIMER1计数源来自系统时钟 } TIM1_PresSel_TypeDef; typedef enum { TIM1_MODE_TIMER = ((uint8_t)0x01), //TIMER1做定时器 TIM1_MODE_COUNTER = ((uint8_t)0x02) //TIMER1做计数器 } TIM1_CountMode_TypeDef; typedef enum { TIM1_WORK_MODE0 = ((uint8_t)0x00), //TIMER1选择工作模式0 TIM1_WORK_MODE1 = ((uint8_t)0x01), //TIMER1选择工作模式1 TIM1_WORK_MODE2 = ((uint8_t)0x02), //TIMER1选择工作模式2 } TIM1_WorkMode_TypeDef; /************************宏函数************************/ /************************************************** *函数名称:void TIM1_Mode0SetReloadCounter(uint16_t TIM1_SetCounter) *函数功能:TIMER1工作模式0初值重载函数 *入口参数: uint16_t:TIM1_SetCounter:配置TIMER0重载值 *出口参数:void **************************************************/ #define TIM1_Mode0SetReloadCounter(TIM1_SetCounter) \ do{ \ TL1 = (uint8_t)TIM1_SetCounter; \ TH1 = (TIM1_SetCounter >> 5); \ }while(0) /************************************************** *函数名称:void TIM1_Mode1SetReloadCounter(uint16_t TIM1_SetCounter) *函数功能:TIMER0工作模式1初值重载函数 *入口参数: uint16_t:TIM1_SetCounter:配置TIMER0重载值 *出口参数:void **************************************************/ #define TIM1_Mode1SetReloadCounter(TIM1_SetCounter) \ do{ \ TL1 = (uint8_t)TIM1_SetCounter; \ TH1 = (TIM1_SetCounter >> 8); \ }while(0) /***************************************************** *函数名称:void TIM1_Cmd(FunctionalState NewState) *函数功能:TIMER1功能开关函数 *入口参数: FunctionalState:NewState:功能启动/关闭选择 *出口参数:void *****************************************************/ #define TIM1_Cmd(NewState) (TR1 = (bit)NewState) /***************************************************** *函数名称:void TIM1_ITConfig(FunctionalState NewState, PriorityStatus Priority) *函数功能:TIMER1中断初始化 *入口参数: FunctionalState:NewState:中断使能/关闭选择 PriorityStatus:Priority:中断优先级选择 *出口参数:void *****************************************************/ #define TIM1_ITConfig(NewState,Priority) \ do{ \ ET1 = (bit)NewState; \ IPT1 = (bit)Priority; \ }while(0) /***************************************************** *函数名称:FlagStatus TIM1_GetFlagStatus(void) *函数功能:获得TIMER1中断标志状态 *入口参数:void *出口参数: FlagStatus:TIMER1中断标志状态 *****************************************************/ #define TIM1_GetFlagStatus() (TF1) /***************************************************** *函数名称:void TIM1_ClearFlag(void) *函数功能:清除TIMER1中断标志状态 *入口参数:void *出口参数:void *****************************************************/ #define TIM1_ClearFlag() (TF1 = 0) void TIM1_DeInit(void); void TIM1_TimeBaseInit(TIM1_PresSel_TypeDef TIM1_PrescalerSelection, TIM1_CountMode_TypeDef TIM1_CountMode); void TIM1_WorkMode0Config(uint16_t TIM1_SetCounter); void TIM1_WorkMode1Config(uint16_t TIM1_SetCounter); void TIM1_WorkMode2Config(uint8_t TIM1_SetCounter); void TIM1_WorkModeConfig(TIM1_WorkMode_TypeDef TIM1_WorkMode, uint16_t TIM1_SetCounter); #endif /******************* (C) COPYRIGHT 2020 SinOne Microelectronics *****END OF FILE****/