68 lines
1.6 KiB
C
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
|
|
********************************************************/ |