2022-07-23 18:08:23 +08:00

68 lines
1.6 KiB
C

/*
* Timer0.c
*
* Created on: 2022年03月15日
* Author: User
*/
/* Includes ------------------------------------------------------------------*/
#include <main.h>
/* 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
********************************************************/