/*MCU:AT89S52*/
#include
#include
#define uchar unsigned char
int key;
int del;
void Key_Scan(void);
/************主程序*************/
void main(void)
{
void Key_Scan(void);
void delay(int);
while(1)
{
Key_Scan();
delay(2000);
}
}
/********矩键查寻键值4*4程序******/
void Key_Scan(void)
{
uchar readkey;
uchar x_temp,y_temp;
P1=0x0f;
x_temp=P1&0x0f;
if(x_temp==0x0f) goto keyout;
P1=0xf0;
y_temp=P1&0xf0;
readkey=x_temp|y_temp;
readkey=~readkey;
switch(readkey)
{
case 0x11:key=0;P2=key; break;
case 0x21:key=1;P2=key; break;
case 0x41:key=2;P2=key; break;
case 0x81:key=3;P2=key; break;
case 0x12:key=4;P2=key; break;
case 0x22:key=5;P2=key; break;
case 0x42:key=6;P2=key; break;
case 0x82:key=7;P2=key; break;
case 0x14:key=8;P2=key; break;
case 0x24:key=9;P2=key; break;
case 0x44:key=10;P2=key;break;
case 0x84:key=11;P2=key;break;
case 0x18:key=12;P2=key;break;
case 0x28:key=13;P2=key;break;
case 0x48:key=14;P2=key;break;
case 0x88:key=15;P2=key;break;
default: key=16;P2=key;break;
}
keyout:_nop_();
}
/************延时程序*************/
void delay(del)
{
for(del;del>0;del--);
}
为了方便大家更好的学习,您还可以关注电子发烧友的公众号,每天推送相关知识,希望能对你的学习有所帮助!
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
51单片机
+关注
关注
273文章
5696浏览量
122957 -
4×4行列式键盘
+关注
关注
0文章
3浏览量
8881
原文标题:4×4键盘C51单片机程序
文章出处:【微信号:changxuemcu,微信公众号:畅学单片机】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
C51单片机开发工具Keil.UV4应用程序免费下载
本文档的主要内容详细介绍的是C51单片机开发工具Keil.UV4 Keil.C51.V9.01应用程序免费下载。
发表于 10-31 08:00
•42次下载
使用C51单片机设计的4按键4种花样流水灯的资料和程序免费下载
本文档的主要内容详细介绍的是使用C51单片机设计的4按键4种花样流水灯的资料和程序免费下载。
发表于 11-09 08:00
•43次下载
单片机C51语言程序设计基础的资料合集免费下载
本文档的主要内容详细介绍的是单片机C51语言程序设计基础的资料合集免费下载包括了:单片机开发概述,构建C51集成开发环境,
发表于 03-16 08:00
•18次下载
评论