标题:
按键数码显示实现
[打印本页]
作者:
去也66
时间:
2020-7-1 19:42
标题:
按键数码显示实现
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
//共阳数码管编码表
uchar code table[] =
{0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e};
void delay(uint x)
{
uint i,j;
for(i = 0; i < x; i++)
{
for(j = 0; j < 110; j++);
}
}
uchar getKey()
{
uchar x = 0;
uchar y = 0;
uchar result = 0;
P2 = 0x0f;
if (P2 != 0x0f)
{
delay(20);
switch(P2)
{
case 0x0e: x = 0; break;
case 0x0d: x = 1; break;
case 0x0b: x = 2; break;
case 0x07: x = 3; break;
default: break;
}
delay(10);
P2 = 0xf0;
if (P2 != 0xf0)
{
delay(20);
switch(P2)
{
case 0xe0: y = 0; break;
case 0xd0: y = 1; break;
case 0xb0: y = 2; break;
case 0x70: y = 3; break;
default: break;
}
}
}
return x*4 + y;
}
void display(uchar num)
{
P0 = table[num];
}
void main()
{
uchar keyValue;
while(1)
{
keyValue = getKey();
display(keyValue);
}
}
复制代码
{B66523C3-535F-41E3-A5B8-8798D7981DBA}.png.jpg
(219.68 KB, 下载次数: 36)
下载附件
2020-7-1 19:41 上传
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1