📄 clockgenerator.c
字号:
#define __DEFINE_REGISTERS_STVD7_INCLUDE__
#include "ST72324BLK2.h"
#include "Head.h"
#include "Variables.h"
#include "Subroutine.h"
#undef __DEFINE_REGISTERS_STVD7_INCLUDE__
#define asm_nop() _asm ("nop\n")
#define DI() _asm ("sim\n")
#define EI() _asm ("rim\n")
/*-----------------------------------------------------------------------------------
// System and periphrieal clock generator
------------------------------------------------------------------------------------*/
extern enum outputmode OutputMode;
@interrupt void ClockGenerator (void) //25ms Generator
{
unsigned char i;
MCCSR;
/*=================================================================================*/
//125ms
Flag_12msClk^=0x01;
LampClk++; //25ms
TxLFClk++;
if(++BaseClk_125ms>=5)
{
BaseClk_125ms=0;
LEDClk++;
ShortAlarmClk++;
Flag_250msClk^=0X01;
//250ms
if(Flag_250msClk)
{
if(AutoLockTimer)
AutoLockTimer--;
Flag_500msClk^=0X01;
//500ms
if(Flag_500msClk)
{
WindowClk++;
if(++DiablePKETimer>16) //10s
{
if(DiablePKETimer>20)
Flag_DisablePKESetting=0;
ACCToggleTimes=0;
}
//1S
Flag_1sClk^=0x01;
if(Flag_1sClk)
{
if(~WrongUnlockCHeckingTimer)
WrongUnlockCHeckingTimer++;
if(~AlarmClk)
AlarmClk++;
if(~SystemTimer)
SystemTimer++;
if(~RecoveryFuelTimer)
{
RecoveryFuelTimer++;
if(Status&InGuard && RecoveryFuelTimer==15)
{
Port_Fuel_0;
}
}
//1 Minute
if(++BaseClk_1s>=60)
{
Flag_MonitorRAM=1;
BaseClk_1s=0;
if(~AutoDisablePKETimer)
{
if(++AutoDisablePKETimer > 60*48) //48 hours
Status|=DisablePKE;
}
}
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -