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

📄 ps2.c

📁 此文件是在blackfin533下实现的ps2键盘程序
💻 C
字号:
#include "bf5xx.h"
#include "types.h"
#include "scancodes.h"
#include <sys/exception.h>
/****************************************************************************
* 功能 :外部声明的变量
****************************************************************************/
extern volatile uint8_t key_up;	  	
extern volatile uint8_t key;	 
extern volatile uint8_t key2;
extern volatile uint8_t key3; 
/****************************************************************************
* 名称 : PS2_select
* 功能 : 选通PS2 键盘 245
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
void PS_Clk_In()
{
  *pCtrIner_Flag_OE =~KEY_SW_OE;//KEY_SW_OE=0
  mdelay(500);
  *pCtrOut_Flag_C   = KEY_SW;//KEY_SW=1
  mdelay(500);
}
/****************************************************************************
* 名称 : PS2_DAT_DIR
* 功能 : 接到PS2键盘数据口的 PF 口设置为输入
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
void PS2_KEYDAT_DIR()
{
*pFIO_DIR = (*pFIO_DIR)&(~SCL); // 输入允许
*pFIO_INEN |= SCL;
*pCtrOut_Flag_A = PS_DAT_DIR;
mdelay(500);

}
/****************************************************************************
* 名称 : Decode
* 功能 : 键盘查表并打印函数
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
extern volatile uint8_t key;
void Decode(void)
{
	int i;
	
 	if(key_up == 1)
    {
    	if(key==key3)
    	{
	        for(i=0;i<59;i++)
	        {
	             if(key == UnShifted[i][0])
	             {
	                  printf("THE KEY  is %c!\r\n",UnShifted[i][1]);
	                  key_up = 0;
	                  key = 0;key2 = 0;key3 = 0;
	             }
	        }  
    	}
    	else
    	{
    	key_up = 0;	
    	key = 0;key2 = 0;key3 = 0;
    	}
   
    } 
}

⌨️ 快捷键说明

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