📄 isr.c
字号:
//[isr.c]中断处理函数------------------------------------------------------*
//功能: *
// (1)定义中断处理函数 *
//-------------------------------------------------------------------------*
//头文件
#include "isr.h" //中断处理函数头文件
#pragma CODE_SEG __NEAR_SEG NON_BANKED
//ISR_KBI:键盘中断处理函数-------------------------------------------------*
//功 能:获取键盘的键值和定义值并将它们通过串口发送出去 *
//参 数:无 *
//返 回:无 *
//-------------------------------------------------------------------------*
__interrupt 25 void ISR_KBI(void)
{
INT8U KB_valueN,KB_DefValue;
INT32U i;
DISABLE_INTERRUPTS; //关总中断
DISABLEIOint; //KB_P.7-4输入引脚禁止中断
for (i=0 ; i<20000; i++); //延迟
KB_valueN = KB_ScanN(10); //扫描键值,存于KB_valueN中
if (0xFF == KB_valueN)
goto KB_Exit;
KB_DefValue = KB_Def(KB_valueN); //键值转化为定义值并发送
SCISend1(KB_valueN); //发送键值
SCISend1(KB_DefValue);
for (i=0 ; i<25000; i++); //延迟
KB_Exit:
KB_Init(); //初始化键盘
EnableIOint; //KB_P.7-4输入引脚允许中断
ENABLE_INTERRUPTS; //开总中断
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -