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

📄 keyboard.c

📁 DSP键盘实验
💻 C
字号:
//*****************************************************************************
//  文件名:	 keyboard.c
//  功能:	 键盘模块驱动
//           keyboard_initialize():键盘初始化
//           keyboard_ISR1()      :INT1中断服务程序,执行键盘扫描功能
//*****************************************************************************
#include <csl.h>
#include <csl_hpi.h>
#include <csl_irq.h>

unsigned short key_num;       //全局变量,存放键值,键值与按键的对应关系见keyboard.h


void keyboard_delay(unsigned short delay_time)
{
   while(delay_time--);
}


void keyboard_initialize()
{
   
   IRQ_clear(IRQ_EVT_INT1);
   IRQ_enable(IRQ_EVT_INT1);   //开放INT1
   
   key_num = 0xFFFF;
   
   HPI_RSET(GPIOCR,0xF0);      //HD0-HD3为输入,HD4-HD7输出
   HPI_RSET(GPIOSR,0x0F);      //HD4-HD7输出0
   
   keyboard_delay(0xFFF);      
   
}


interrupt void keyboard_ISR1()
{  
   unsigned short temp;
  
   
   //if(key_num == 0xFFFF)
      {
         temp = HPI_RGET(GPIOSR) + 0xF0 ;
   
         HPI_RSET(GPIOCR,0x0F);
         HPI_RSET(GPIOSR,temp);
   
         keyboard_delay(0xFFF);
   
         key_num = HPI_RGET(GPIOSR);
   
         HPI_RSET(GPIOCR,0xF0);
         HPI_RSET(GPIOSR,0x0F);
   
         keyboard_delay(0xFFF);
      }
   
}







		

            
		   















⌨️ 快捷键说明

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