资源简介
PS2键盘驱动程序全部代码都已经实现,学习PS2的参考代码
代码片段和文件信息
//在数码管上显示PS2的解码信息
//P3^2接CLK线,P1^6接数据线
#include
#include
#define led1 in_1=0;in_2=0;in_3=0 //选中第一个数码管
#define led2 in_1=0;in_2=0;in_3=1 //选中第二个数码管
#define led3 in_1=0;in_2=1;in_3=0 //选中第三个数码管
#define led4 in_1=0;in_2=1;in_3=1 //选中第四个数码管
#define led5 in_1=1;in_2=0;in_3=0 //选中第五个数码管
#define led6 in_1=1;in_2=0;in_3=1 //选中第六个数码管
#define led7 in_1=1;in_2=1;in_3=0 //选中第七个数码管
#define led8 in_1=1;in_2=1;in_3=1 //选中第八个数码管
sbit ps2_data=P1^6; //ps2的数据线
sbit ps2_clk=P3^2; //ps2的时钟线
sbit in_1=P2^2;//138译码器的三个输入端位定义
sbit in_2=P2^3;
sbit in_3=P2^4;
unsigned char table[]={0x3F0x060x5B0x4F0x660x6D0x7D0x07
0x7F0x6F0x770x7C0x390x5E0x790x71};//数码管上要显示的内容
unsigned char numbit;//存储接收的数据位数
unsigned char value; //通过移位来获取接收到的三个码
unsigned char key[3];//存储接收到的通码的断码
unsigned char keynum; //通过判断j.来确定是否以经完成接收
unsigned char nm;
void delay(void) //误差 0us
{
unsigned char ab;
for(b=19;b>0;b--)
for(a=130;a>0;a--);
}
void main()
{
EA=1; //打开总中断
EX0=1; //外部中断0允许
IT0=1; //用下降沿触发
while(1)
{
if(keynum==3)//证明以经完成接收,可以进行显示
{
keynum=0;
m=key[0]/16;
n=key[0]%16;
}
P0=table[m];
led1;
delay();
P0=table[n];
led2;
delay();
}
}
void int0() interrupt 0
{
if((numbit>0)&&(numbit<9))
{
value=value>>1;
if(ps2_data) //判断接收到的数据是否为1
value=value | 0x80;
}
numbit++;
if(numbit>10) //一共11位,只接收了八位数据
{
numbit=0;
key[keynum]=value;
keynum++;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-09-15 22:02 PS2键盘的驱动\
文件 1748 2011-09-15 21:58 PS2键盘的驱动\main.c
文件 4154 2011-09-15 21:58 PS2键盘的驱动\main.LST
文件 4140 2011-09-15 21:58 PS2键盘的驱动\main.OBJ
文件 4353 2011-09-15 21:58 PS2键盘的驱动\PS2
文件 923 2011-09-15 21:58 PS2键盘的驱动\PS2.hex
文件 55 2011-09-15 21:58 PS2键盘的驱动\PS2.lnp
文件 6729 2011-09-15 21:58 PS2键盘的驱动\PS2.M51
文件 6328 2011-09-15 22:02 PS2键盘的驱动\PS2.plg
文件 55649 2011-09-15 22:02 PS2键盘的驱动\PS2.uvopt
文件 13397 2011-09-15 20:59 PS2键盘的驱动\PS2.uvproj
文件 55653 2011-09-15 20:59 PS2键盘的驱动\PS2_uvopt.bak
文件 0 2011-09-15 20:29 PS2键盘的驱动\PS2_uvproj.bak
文件 6376 2009-05-07 14:37 PS2键盘的驱动\STARTUP.A51
文件 14048 2011-09-15 21:58 PS2键盘的驱动\STARTUP.LST
文件 758 2011-09-15 21:58 PS2键盘的驱动\STARTUP.OBJ
- 上一篇:物联网实习
- 下一篇:风力发电机齿轮箱故障诊断方法及信号仿真_武姣
评论
共有 条评论