?? vectors08.c
字號:
/*-----------------------------------------------------*
*文件名:vectors08.c *
*功 能:用于定義中斷矢量表 *
*-----------------------------------------------------*/
//[頭文件]
#include "GP32C.H" //包含頭文件
#include "lcd.h" //包含Lcd頭文件
/*[定時器相應寄存器定義]*/
#define TOFBit 7 //定時器溢出標志位
//變量聲明
//得到焦點的行號
extern unsigned char FLine;
//[外部定義64個字節的Lcd顯示緩沖區]
extern unsigned char LcdShowBuff[64];
//定時器1中斷處理函數
#pragma interrupt_handler isrTIMER1
void isrTIMER1(void)
{
asm("SEI"); //關總中斷
//通過實驗,把刷新時間間隔置為1/2秒
//定時刷新Lcd顯示緩沖中的數據
LcdShCh(LcdShowBuff);
//FLine為行號;1表示有邊框;0為無邊框
//LcdShGrRe(FLine,GrEnable);
//在指定位置畫圓
//LcdShGrCil(31,64,10,4,GrEnable);
//LcdShGrCil(31,64,30,30,GrEnable);
//在指定位置顯示點
//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 + -