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

📄 ps2key.c

📁 键盘的控制的运用
💻 C
字号:
//ps2 keyboard
//clk=pd2,dat=pb3
#include<io8515v.h>
#include<macros.h>
#define uchar unsigned char
#define uint  unsigned int
unsigned char KeyCode;          //键盘键值
void data()
{
 uchar num;                     //位数
 DDRD=0X00;
 while((PIND|0XFB)==0XFF);      // 等待键盘把时钟第一次拉低
 for(num=8;num!=0;num--)        // 把起始位算入
   {DDRD=0X00;
    while((PIND|0XFB)!=0XFF);   // 等待一个有效的下跳沿
	while((PIND|0XFB)==0XFF);
    KeyCode>>=1;                // 按照PS2格式,数据低位在前
    if((PINB|0XF7)==0XFF)
    {
      KeyCode|=0x80;          // 得到有效的数据位
    }
  }
  DDRD=0X00; 
  while((PIND|0XFB)!=0XFF);   
  while((PIND|0XFB)==0XFF);  
  while((PIND|0XFB)!=0XFF);   
  while((PIND|0XFB)==0XFF);
  while((PIND|0XFB)!=0XFF);
}
void m8515_init()
{
 DDRA=0XFF;
 PORTA=0X00;
 DDRB=0X00;
 PORTB=0XFF;
 DDRC=0X00;
 PORTC=0XFF;
 DDRD=0X04;  //clk=1
 PORTD=0XFF;
}
void main()
{
 m8515_init();
 while(1)
  { 
   data();
   if(KeyCode==0xe0) 
   {data();}
   PORTA=KeyCode;
  } 	
}

⌨️ 快捷键说明

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