#include<reg51.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,0xff};
uchar num,temp,num1;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
uchar keyscan();
void main()
{
num=17;
P2=0x0a;
//P0=0xff;
while(1)
{
num1=keyscan();
P0=table[num1-1];
}
}
/*void display(uchar aa)
{
P0=table[aa-1];
}*/
uchar keyscan()
{
P3=0x7f;
temp=P3;
temp=temp&0x0f;
while(temp!=0x0f)
{
delay(5);
temp=P3;
temp=temp&0x0f;
while(temp!=0x0f)
{
temp=P3;
switch(temp)
{
case 0x77:num=4;
break;
case 0x7b:num=8;
break;
}
while(temp!=0x0f)
{
temp=P3;
temp=temp&0x0f;
}
}
}
P3=0xbf;
temp=P3;
temp=temp&0x0f;
while(temp!=0x0f)
{
delay(5);
temp=P3;
temp=temp&0x0f;
while(temp!=0x0f)
{
temp=P3;
switch(temp)
{
case 0xb7:num=3;
break;
case 0xbb:num=7;
break;
}
while(temp!=0x0f)
{
temp=P3;
temp=temp&0x0f;
}
}
}
P3=0xdf;
temp=P3;
temp=temp&0x0f;
while(temp!=0x0f)
{
delay(5);
temp=P3;
temp=temp&0x0f;
while(temp!=0x0f)
{
temp=P3;
switch(temp)
{
case 0xd7:num=2;
break;
case 0xdb:num=6;
break;
}
while(temp!=0x0f)
{
temp=P3;
temp=temp&0x0f;
}
}
}
P3=0xef;
temp=P3;
temp=temp&0x0f;
while(temp!=0x0f)//修改了的地方*******************************************************
{
delay(5);
temp=P3;
temp=temp&0x0f;
while(temp!=0x0f)
{
temp=P3;
switch(temp)
{
case 0xe7:num=1;
break;
case 0xeb:num=5;
break;
}
while(temp!=0x0f)
{
temp=P3;
temp=temp&0x0f;
}
}
}
return num;
}
键盘扫描控制数码管显示程序
需积分: 15 58 浏览量
2009-11-23
17:48:34
上传
评论
收藏 17KB RAR 举报
spray123
- 粉丝: 0
- 资源: 1
最新资源
- 部署yolov9模型ncnn模型到树莓派4或5嵌入式C++源码.zip
- 2024年上半年三星评定题库(客运) (1).xlsx
- 大学院校基础信息表(3237所大学)
- docker-compose-linux-x86-64
- 基于深度学习的常用显示接口及触摸屏液晶屏测试方法,适合FPGA初学者
- YOLOv9 QT+NCNN实现安卓端部署源码+部署步骤+演示apk.zip
- 【计算机毕业设计】基于SSM+Vue的网上花店系统【源码+lw+部署文档+讲解】
- 使用NCNN在安卓平台上部署YOLOv8实现实时目标检测分割旋转框源码.zip
- C# 调用ComfyUI 接口小案例,可以生成任务,可以获取图片,可以显示图片
- opencv-基于c++实现的opencv图像处理算法之直方图均衡算法.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈