?? ps2key.c
字號(hào):
//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; //位數(shù)
DDRD=0X00;
while((PIND|0XFB)==0XFF); // 等待鍵盤把時(shí)鐘第一次拉低
for(num=8;num!=0;num--) // 把起始位算入
{DDRD=0X00;
while((PIND|0XFB)!=0XFF); // 等待一個(gè)有效的下跳沿
while((PIND|0XFB)==0XFF);
KeyCode>>=1; // 按照PS2格式,數(shù)據(jù)低位在前
if((PINB|0XF7)==0XFF)
{
KeyCode|=0x80; // 得到有效的數(shù)據(jù)位
}
}
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;
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -