/* * Timer0.c * * Created on: 2022年03月15日 * Author: User */ /* Includes ------------------------------------------------------------------*/ #include /* Private define-------------------------------------------------------------*/ /* Private variables----------------------------------------------------------*/ /* Private function prototypes------------------------------------------------*/ static void Timer2_Init(void); //定时器2初始化 /* Public variables-----------------------------------------------------------*/ Timer2_t Timer2 = { 0, Timer2_Init}; /* * @name Timer0_Init * @brief 定时器0初始化 * @param None * @retval None */ static void Timer2_Init() // 20毫秒@20.000MHz { AUXR &= 0xFB; //定时器时钟12T模式 T2L = 0xCB; //设置定时初始值 T2H = 0x7D; //设置定时初始值 AUXR |= 0x10; //定时器2开始计时 IE2 |= 0x04; //打开定时器2中断 EA = 1; } /* * @name Timer2_isr() * @brief 定时器2中断函数(20ms中断一次) * @param None * @retval None */ /***********定时器2中断函数***********/ void Timer2_isr() interrupt 12 { if (Heating_SET_PIN == HIGH) //判断加热是否使能 { PTC_Fan_PIN = HIGH; //加热使能打开风扇 } else { if (++Timer2.Heating_Run_Timer >= TIMER2_20S) { Timer2.Heating_Run_Timer = 0; if (Heating_SET_PIN != HIGH) { PTC_Fan_PIN = LOW; //关闭风扇 } } } } /******************************************************** End Of File ********************************************************/