⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 isr.c

📁 凌阳条码扫描程序
💻 C
字号:
#include "SPCE061A.h"

extern IntNum,KeyV,BF,u;
extern rundy();
void IRQ3(void) __attribute__ ((ISR));
void IRQ3(void)
{
   __asm("INT OFF");
   if(*P_INT_Ctrl&C_IRQ3_EXT1)
      {
      
      if ((IntNum > 0) && (IntNum < 9))
        {
                KeyV = KeyV >> 1;//因键盘数据是低>>高,结合上一句所以右移一位
                if (*P_IOA_Data & 0x01) KeyV = KeyV | 0x80;//当键盘数据线为1时为1到最高位
        }
        IntNum++;
        while (!P_IOB_Data & 0x04);//等待PS/2CLK拉高
        
        if (IntNum > 10)
        {
                IntNum = 0;//当中断10次后表示一帧数据收完,清变量准备下一次接收
                BF = 1;//标识有字符输入完了
                __asm("INT OFF");;//关中断等显示完后再开中断 (注:如这里不用BF和关中断直接调Decode()则所Decode中所调用的所有函数要声明为再入函数)
                *P_Watchdog_Clear=0x01;u=0;
        }
	
      }
  *P_INT_Clear=0x0100;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -