关于键盘的简单使用

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp;
uchar key();
void main()
{
 while(1)
 {
   key();
 }
}
uchar key()
{
 P1=0xfe;
 temp=P1;
 temp=temp&0xf0;
 while(temp!=0xf0)
 {
  temp=P1;
  temp=temp&0xf0;
  while(temp!=0xf0)
  {
   temp=P1;
   switch(temp)
   {
    case 0xee:P0=0xfe;
     break;
    case 0xde:P0=0xfd;
     break;
    case 0xbe:P0=0xfb;
     break;
    case 0x7e:P0=0xf7;
     break;
   }
   temp=temp&0xf0;
  }
 }
 P1=0xfd;
 temp=P1;
 temp=temp&0xf0;
 while(temp!=0xf0)
 {
  temp=P1;
  temp=temp&0xf0;
  while(temp!=0xf0)
  {
   temp=P1;
   switch(temp)
   {
    case 0xed:P0=0xef;
     break;
    case 0xdd:P0=0xdf;
     break;
    case 0xbd:P0=0xbf;
     break;
    case 0x7d:P0=0x7f;
     break;
   }
   temp=temp&0xf0;
  }
 }
 P1=0xfb;
 temp=P1;
 temp=temp&0xf0;
 while(temp!=0xf0)
 {
  temp=P1;
  temp=temp&0xf0;
  while(temp!=0xf0)
  {
   temp=P1;
   switch(temp)
   {
    case 0xeb:P3=0xfe;
     break;
    case 0xdb:P3=0xfd;
     break;
    case 0xbb:P3=0xfb;
     break;
    case 0x7b:P3=0xf7;
     break;
   }
   temp=temp&0xf0;
  }
 }
 P1=0xf7;
 temp=P1;
 temp=temp&0xf0;
 while(temp!=0xf0)
 {
  temp=P1;
  temp=temp&0xf0;
  while(temp!=0xf0)
  {
   temp=P1;
   switch(temp)
   {
    case 0xe7:P3=0xef;
     break;
    case 0xd7:P3=0xdf;
     break;
    case 0xb7:P3=0xbf;
     break;
    case 0x77:P3=0x7f;
     break;
   }
   temp=temp&0xf0;
  }
 }
}

阅读更多
个人分类: 单片机代码
想对作者说点什么? 我来说一句

java 使用KeyListener监听键盘

2010年06月21日 59KB 下载

msp430f5529实验指导

2013年09月09日 5.73MB 下载

shape 标签

2016年12月12日 45KB 下载

Dev控件研究gridcontrol简单使用

2011年03月21日 71KB 下载

nutz学习文档

2011年09月29日 362KB 下载

Informatica PowerCenter 8.1.1学习笔记

2008年01月17日 2.82MB 下载

ViewPager的简单使用

2013年11月24日 12.52MB 下载

vs2003入门简介

2009年10月20日 161KB 下载

没有更多推荐了,返回首页

不良信息举报

关于键盘的简单使用

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭