219 lines
5.2 KiB
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
|
|
|