/********************************************************************
汇诚科技
网址:http://www.ourhc.cn
产品有售淘宝店:http://shop36330473.taobao.com
*********************************************************************/
#include<reg52.h> //库文件
#define uchar unsigned char//宏定义无符号字符型
#define uint unsigned int //宏定义无符号整型
/********************************************************************
初始定义
*********************************************************************/
unsigned char code seg7code[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e };
unsigned char k;
/********************************************************************
延时函数
*********************************************************************/
void delay10ms(void) //延时程序
{
unsigned char i,j;
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}
/********************************************************************
键盘函数
*********************************************************************/
void Getch ( ) //取键值函数
{
unsigned char X,Y,Z;
P1=0x0f; //先对P3 置数 行扫描
if(P1!=0x0f) //判断是否有键按下
{
delay10ms(); //延时,软件去干扰
if(P1!=0x0f) //确认按键按下
{
X=P1; //保存行扫描时有键按下时状态
P1=0xf0; //列扫描
Y=P1; //保存列扫描时有键按下时状态
Z=X|Y; //取出键值
/*********************************************************************/
switch ( Z ) //判断键值(那一个键按下)
{
case 0xee: k=0; break; //对键值赋值
case 0xed: k=1; break;
case 0xeb: k=2; break;
case 0xe7: k=3; break;
case 0xde: k=4; break;
case 0xdd: k=5; break;
case 0xdb: k=6; break;
case 0xd7: k=7; break;
case 0xbe: k=8; break;
case 0xbd: k=9; break;
case 0xbb: k=10;break;
case 0xb7: k=11;break;
case 0x7e: k=12;break;
case 0x7d: k=13;break;
case 0x7b: k=14;break;
case 0x77: k=15;break;
}
}
}
}
/********************************************************************
主函数
*********************************************************************/
void main()
{
while(1)
{
P1=0xff;
Getch(); //调用取键值函数
P0=seg7code[k]; //查表LED输出
P2=0X0F; //点亮数码管
}
}
/********************************************************************
结束
*********************************************************************/
没有合适的资源?快使用搜索试试~ 我知道了~
151.基于AT89C51单片机的4X4矩阵键盘的应用.zip
共19个文件
obj:2个
lst:2个
bak:2个
1 下载量 117 浏览量
2023-06-14
13:36:49
上传
评论 1
收藏 72KB ZIP 举报
温馨提示
C语言源代码+proteus仿真图
资源推荐
资源详情
资源评论
收起资源包目录
151.基于AT89C51单片机的4X4矩阵键盘的应用.zip (19个子文件)
151.基于AT89C51单片机的4X4矩阵键盘的应用
ourhc.PWI 768B
keil
chengxu.lnp 62B
chengxu.Uv2 2KB
STARTUP.LST 11KB
chengxu.M51 7KB
chengxu.plg 732B
STARTUP.A51 6KB
chengxu_Opt.Bak 1KB
chengxu.OBJ 3KB
chengxu 3KB
chengxu.c 3KB
chengxu.hex 784B
STARTUP.OBJ 750B
chengxu_Uv2.Bak 0B
chengxu.__i 37B
chengxu.LST 5KB
chengxu.Opt 1KB
ourhc.DSN 177KB
Last Loaded ourhc.DBK 177KB
共 19 条
- 1
资源评论
柒月玖.
- 粉丝: 1w+
- 资源: 201
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功