程序是用KEIL编写的,然后写到PROTEUS中AT89C52中,仿真后,...

2019-07-18 10:18发布

这是源程序:
#include "reg52.h"
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66};
unsigned char keyscan()
{unsigned char keyv,temp;
keyv=0;
P2=0xff;
temp=P2;
if(~(P2&temp))
{switch(temp)
{case 0xfe:
  keyv=1;break;
case 0xfd:
  keyv=2;break;
case 0xfb:
  keyv=3;break;
case 0xf7:
  keyv=4;break;
default:
  keyv=0;break;
}
}
return keyv;
}
void main ()
{
unsigned char ledshow;
while(1)
{ledshow=keyscan();
P1=table[ledshow];
}
}

本人初学者,希望各位指点下,在线等待中......
这是仿真电路图 这是仿真电路图
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
skyzwb123
2019-07-18 13:00
是开关状态 检测电路。功能是按下几号开关,数码管就应该现实几,没键按下或者有多个键同时按下时显示0.可是无论怎么俺键数目管始终不亮,请各位大神指导下,

一周热门 更多>