
- #include<reg51.h>
- #define uchar unsigned char
- uchar code tempt1[]={0xEE,0xDE,0xBE,0x7E,0xED,0xDD,0xBD,0x7D,
- 0xEB,0xDB,0xBB,0x7B,0xE7,0xD7,0xB7,0x77}; //扫描码
- uchar code tempt2[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
- 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //共阳数据
- main()
- {
- uchar i,a,b;
- while(1)
- {
- P2=0x0f0; //赋高四位扫描值
- a=P2; //读键值
- a=a&0x0f0; //屏蔽低四位
- P2=0x0f; //赋低四位扫描值
- b=P2; //读键值
- b=b&0x0f; //屏蔽高四位
- a=a|b; //合并
- if(a!=0x0ff) //判断是否有键按下
- for(i=0;i<16;i++)
- if(a==tempt1)
- P0=tempt2[ i];
- }
- }
复制代码
|