📄 interrupt.c
字号:
#include "Global.H"
#include "ClockTask.H"
//INT0_InterruptService
//=====================
void INT0_InterruptService(void) interrupt 0 using 1
{
//请求切换任务
//============
TaskChangeFlag = 1;
}
//INT1_InterruptService
//=====================
void INT1_InterruptService(void) interrupt 2 using 1
{
}
//Timer0_InterruptService
//=======================
void Timer0_InterruptService(void) interrupt 1 using 1
{
TH0 = 0x00;//重置定时器0计数初值
TL0 = 0x00;
}
//Timer1_InterruptService
//=======================
void Timer1_InterruptService(void) interrupt 3 using 1
{
}
UNINT Counter_1s = 0;//产生1秒信号的计数器
UNINT Counter_Flash = 0;//控制闪烁计数器
//Timer2_InterruptService
//=======================
void Timer2_InterruptService(void) interrupt 5 using 3
{
if(TF2)
{
//秒信号控制
//==========
Counter_1s++;
if(Counter_1s>=400)
{//1秒时间到
Counter_1s = 0;
SecondFlag = 1;//设置时钟秒信号标志
}
//字符闪烁频率控制
//================
Counter_Flash++;
if(Counter_Flash == 200)
{
FlashControl = 2;//让闪烁字符消隐
}
else if(Counter_Flash>300)
{
FlashControl = 1;//让闪烁字符显示
Counter_Flash = 0;
}
//显示键盘控制
//============
DisplayKeyboardControl();
TF2 = 0;//清TF2中断标志
}//End of TF2
if(EXF2)
{//处理外部中断INT2
EXF2 = 0;//清EXF2中断标志
}
}
//SerialPort_InterruptService
//===========================
void SerialPort_InterruptService(void) interrupt 4 using 2
{
if(RI)
{//处理接收缓冲区满中断
RI = 0;//清RI中断标志
}
if(TI)
{//处理发送缓冲区空中断
TI = 0;//清TI中断标志
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -