📄 vectors08.c
字号:
/*-----------------------------------------------------*
*文件名:vectors08.c *
*功 能:用于定义中断矢量表 *
*-----------------------------------------------------*/
//[头文件]
#include "GP32C.H" //包含头文件
#include "lcd.h" //包含Lcd头文件
/*[定时器相应寄存器定义]*/
#define TOFBit 7 //定时器溢出标志位
//变量声明
//得到焦点的行号
//extern unsigned char FLine;
//[外部定义64个字节的Lcd显示缓冲区]
extern unsigned char LcdShowBuff[];
extern const INT16U BigNumCode[10][32];
extern INT8U Num;
extern unsigned char YNo,XNo;
extern unsigned int Data;
//定时器1中断处理函数
#pragma interrupt_handler isrTIMER1
void isrTIMER1(void)
{
asm("SEI"); //关总中断
//通过实验,把刷新时间间隔置为1/2秒
//定时刷新Lcd显示缓冲中的数据
LcdShCh(LcdShowBuff);
//在Lcd上显示自定义32*16点阵的字符
LcdShBigNum(YNo,XNo,(INT16U *)BigNumCode,Data);
//在指定位置显示点
//LcdShGr1P(31,64);
//清除定时器溢出标志位
T1SC&=~(1<<TOFBit);
asm("CLI"); //开总中断
}
//未定义的中断处理函数,本函数不能删除
#pragma interrupt_handler isrDummy
void isrDummy(void)
{
}
//中断矢量表,需定义中断函数,可修改下表中的相应项目
//(interrupt service routine,isr 中断处理程序)
#pragma abs_address:0xffdc //中断向量表起始地址
void (* const _vectab[])(void) = {
isrDummy, //时基中断
isrDummy, //AD转换中断
isrDummy, //键盘中断
isrDummy, //SCI TC/TE
isrDummy, //SCI RF/IDLE
isrDummy, //SCI PE/FE/NF/OR
isrDummy, //SPI TE
isrDummy, //SPI MOD/OVR/RF
isrDummy, //TIM2溢出中断
isrDummy, //TIM2通道1
isrDummy, //TIM2通道0
isrTIMER1, //TIM1溢出中断
isrDummy, //TIM1通道1
isrDummy, //TIM1通道0
isrDummy, //CGM
isrDummy, //IRQ
isrDummy //SWI
//RESET也是中断,定义在 crt08.o中
};
#pragma end_abs_address
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -