ct_test/Keil_C/User/SC_it.c

219 lines
5.2 KiB
C

//************************************************************
// Copyright (c)
// FileName : SC_it.c
// Function : Interrupt Service Routine
// Instructions :
// Date : 2022/03/03
// Version : V1.0002
//*************************************************************
/********************Includes************************************************************************/
#include "SC_it.h"
#include "..\Drivers\SCDriver_list.h"
#include "HeadFiles\SC_itExtern.h"
#include "uart1.h"
#include "motor.h"
#include "adc.h"
#define IT_5S_CNT 5000 //计数5000
#define IT_2S_CNT 2000 //计数2000
#define IT_1S_CNT 1000 //计数1000
#define IT_100MS_CNT 100 //计数100
#define IT_10MS_CNT 10 //计数10
#define IT_1MS_CNT 1 //计数1
#define IT_2MS_CNT 2 //计数2
#define IT_3MS_CNT 3 //计数3
#define IT_4MS_CNT 4 //计数4
#define IT_5MS_CNT 5 //计数5
bit it_5s_flag = 0; //5s定时标志
unsigned int xdata it_5s_cnt = 0;
bit it_2s_flag = 0; //2s定时标志
unsigned int xdata it_2s_cnt = 0;
bit it_1s_flag = 0; //1s定时标志
unsigned int xdata it_1s_cnt = 0;
bit it_100ms_flag = 0; //100ms定时标志
unsigned int xdata it_100ms_cnt = 0;
bit it_10ms_flag = 0; //10ms定时标志
unsigned int xdata it_10ms_cnt = 0;
bit it_1ms_flag = 0; //1ms定时标志
unsigned int xdata it_1ms_cnt = 0;
bit it_2ms_flag = 0; //2ms定时标志
unsigned int xdata it_2ms_cnt = 0;
bit it_3ms_flag = 0; //3ms定时标志
unsigned int xdata it_3ms_cnt = 0;
bit it_4ms_flag = 0; //4ms定时标志
unsigned int xdata it_4ms_cnt = 0;
bit it_5ms_flag = 0; //5ms定时标志
unsigned int xdata it_5ms_cnt = 0;
/**************************************Generated by EasyCodeCube*************************************/
/*************************************.Generated by EasyCodeCube.************************************/
void Timer0Interrupt() interrupt 1
{
/*TIM0_it write here begin*/
TH0 = 0xFC;//高8位初值
TL0 = 0x17;//低8位初值
/*TIM0_it write here*/
/*<Generated by EasyCodeCube begin>*/
/*<UserCodeStart>*//*<SinOne-Tag><6>*/
//Timer0Interrupt
{
/*<UserCodeStart>*//*<SinOne-Tag><7>*/
//5秒
it_5s_cnt++;
if(it_5s_cnt >= IT_5S_CNT)
{
it_5s_flag = 1;
it_5s_cnt = 0;
}
//2秒
it_2s_cnt++;
if(it_2s_cnt >= IT_2S_CNT)
{
it_2s_flag = 1;
it_2s_cnt = 0;
}
//秒
it_1s_cnt++;
if(it_1s_cnt >= IT_1S_CNT)
{
it_1s_flag = 1;
it_1s_cnt = 0;
}
//100毫秒
it_100ms_cnt++;
if(it_100ms_cnt >= IT_100MS_CNT)
{
it_100ms_flag = 1;
it_100ms_cnt = 0;
}
//10毫秒
it_10ms_cnt++;
if(it_10ms_cnt >= IT_10MS_CNT)
{
it_10ms_flag = 1;
it_10ms_cnt = 0;
}
/*<UserCodeEnd>*//*<SinOne-Tag><7>*/
/*<Begin-Inserted by EasyCodeCube for Condition>*/
}
/*<UserCodeEnd>*//*<SinOne-Tag><6>*/
/*<Generated by EasyCodeCube end>*/
/*Timer0Interrupt Flag Clear begin*/
/*Timer0Interrupt Flag Clear end*/
}
void Timer1Interrupt() interrupt 3
{
/*TIM1_it write here begin*/
TIM1_Mode1SetReloadCounter(53536);
/*TIM1_it write here*/
/*<Generated by EasyCodeCube begin>*/
/*<Generated by EasyCodeCube end>*/
{
/*<UserCodeStart>*//*<SinOne-Tag><7>*/
//1毫秒
it_1ms_cnt++;
if(it_1ms_cnt >= IT_1MS_CNT)
{
it_1ms_flag = 1;
it_1ms_cnt = 0;
}
//2毫秒
it_2ms_cnt++;
if(it_2ms_cnt >= IT_2MS_CNT)
{
it_2ms_flag = 1;
it_2ms_cnt = 0;
}
//3毫秒
it_3ms_cnt++;
if(it_3ms_cnt >= IT_3MS_CNT)
{
it_3ms_flag = 1;
it_3ms_cnt = 0;
}
//4毫秒
it_4ms_cnt++;
if(it_4ms_cnt >= IT_4MS_CNT)
{
it_4ms_flag = 1;
it_4ms_cnt = 0;
}
//5毫秒
it_5ms_cnt++;
if(it_5ms_cnt >= IT_5MS_CNT)
{
it_5ms_flag = 1;
it_5ms_cnt = 0;
}
/*<UserCodeEnd>*//*<SinOne-Tag><7>*/
/*<Begin-Inserted by EasyCodeCube for Condition>*/
}
/*Timer1Interrupt Flag Clear begin*/
/*Timer1Interrupt Flag Clear end*/
}
void ADCInterrupt() interrupt 6
{
// /*ADC_it write here begin*/
// /*<Generated by EasyCodeCube begin>*/
// /*<Generated by EasyCodeCube end>*/
/*ADCInterrupt Flag Clear end*/
ADC_ClearFlag();
}
#if defined (SC92F854x) || defined (SC92F754x) ||defined (SC92F844xB) || defined (SC92F744xB)||defined (SC92F84Ax_2) || defined (SC92F74Ax_2)|| defined (SC92F846xB) \
|| defined (SC92F746xB) || defined (SC92F836xB) || defined (SC92F736xB) || defined (SC92F8003)||defined (SC92F84Ax) || defined (SC92F74Ax) || defined (SC92F83Ax) \
|| defined (SC92F73Ax) || defined (SC92F7003) || defined (SC92F740x) || defined (SC92FWxx) || defined (SC93F743x) || defined (SC93F833x) || defined (SC93F843x)\
|| defined (SC92F848x) || defined (SC92F748x)|| defined (SC92F859x) || defined (SC92F759x)
extern bit SSI_FLAG;
void SSIInterrupt() interrupt 7
{
/*SSI_it write here begin*/
if(SSI_GetFlagStatus(UART1_FLAG_TI) == SET) //UART1发送中断标志位TI
{
SSI_FLAG = 0;
SSI_ClearFlag(UART1_FLAG_TI);
}
if(SSI_GetFlagStatus(UART1_FLAG_RI) == SET)//UART1接收中断标志位RI
{
unsigned char ch = 0;
ch = SSI_UART1_ReceiveData8();
receive_ttl_data(ch);//放串口中断内,接收数据
SSI_ClearFlag(UART1_FLAG_RI);
}
/*SSIInterrupt Flag Clear end*/
}
#endif