/* * Timer2.c * * Created on: 2022年03月12日 * Author: User */ /* Includes ------------------------------------------------------------------*/ #include /* Private function prototypes------------------------------------------------*/ static void Timer3_Init(void); //定时器0初始化 /* Public variables-----------------------------------------------------------*/ Timer3_t xdata Timer3 = { 0, //定时器计数标志位 Timer3_Init}; /* * @name Timer0_Init * @brief 定时器0初始化 * @param None * @retval None */ static void Timer3_Init() // 10毫秒@16.000MHz { T3CON = 0x20; // Timer3 使用时钟 Fosc/64 分频 TH3 = 0xF6; TL3 = 0x3C; ET3 = 1; //打开定时器3中断 EA = 1; //打开总中断 T3CON |= 0x04; //启动定时器3 } /* * @name Timer0_isr() * @brief 定时器3中断函数(10ms中断一次) * @param None * @retval None */ /***********定时器3中断函数***********/ void Timer3_isr() interrupt T3_VECTOR { if (++Timer3.mSDelay_Timer >= TIMER3_300mS) //数码管闪烁 { Timer3.mSDelay_Timer = 0; if (Public.Channel1_StatusFlag != FALSE) { PWM.PWM1_HeatingSetting(PID_Func.Realize(Temp1_CHANNEL, Public.Setting_Temp1)); } if (Public.Channel2_StatusFlag != FALSE) { PWM.PWM2_HeatingSetting(PID_Func.Realize(Temp2_CHANNEL, Public.Setting_Temp2)); } } } /******************************************************** End Of File ********************************************************/