基于AT89C51单片机的矩阵键盘

发布时间:2024-08-15  

/* Main.c file generated by New Project wizard
*
* Created: ?? 5? 18 2017
* Processor: AT89C51
* Compiler: Keil for 8051
*/

#include
#include
#define uchar unsigned char
void delay()
{

uchar j = 1000;
while(j--);
}
void liushuideng(void)
{
uchar duan[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar kkk = 0;
uchar i = 0;
P2 = 0xfe;
i = P2;
i = i&0xf0;
if(i!=0xf0)
{
delay();
i = P2;
i = i&0xf0;
if(i!=0xf0)
{
i = P2;
switch(i)
{
case 0xee:kkk = 0;break;
case 0xde:kkk = 4;break;
case 0xbe:kkk = 8;break;
case 0x7e:kkk = 12;break;
}
P1 = duan[kkk];
while(i!=0xf0)
{
i = P2;
i = i&0xf0;
}
}

}
P2 = 0xfd;
i = P2;
i = i&0xf0;
if(i!=0xf0)
{
delay();
i = P2;
i = i&0xf0;
if(i!=0xf0)
{
i = P2;
switch(i)
{
case 0xed:kkk = 1;break;
case 0xdd:kkk = 5;break;
case 0xbd:kkk = 9;break;
case 0x7d:kkk = 13;break;
}
P1 = duan[kkk];
while(i!=0xf0)
{
i = P2;
i = i&0xf0;
}
}

}
P2 = 0xfb;
i = P2;
i = i&0xf0;
if(i!=0xf0)
{
delay();
i = P2;
i = i&0xf0;
if(i!=0xf0)
{
i = P2;
switch(i)
{
case 0xeb:kkk = 2;break;
case 0xdb:kkk = 6;break;
case 0xbb:kkk = 10;break;
case 0x7b:kkk = 14;break;
}
P1 = duan[kkk];
while(i!=0xf0)
{
i = P2;
i = i&0xf0;
}
}

}
P2 = 0xf7;
i = P2;
i = i&0xf0;
if(i!=0xf0)
{
delay();
i = P2;
i = i&0xf0;
if(i!=0xf0)
{
i = P2;
switch(i)
{
case 0xe7:kkk = 3;break;
case 0xd7:kkk = 7;break;
case 0xb7:kkk = 11;break;
case 0x77:kkk = 15;break;
}
P1 = duan[kkk];
while(i!=0xf0)
{
i = P2;
i = i&0xf0;
}
}

}
}
void main(void)
{
while(1)
{
liushuideng();
}

}


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    基于51单片机的简易电子琴设计;一.系统概述 系统使用的模块有AT89C51单片机+8位共阳数码管+矩阵键盘+小灯+按键+蜂鸣器。 本次设计的电子琴系统以AT89C51单片机为控制核心,使用......
    确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序。 (2)矩阵键盘 单片机系统中,若使用按键较多时如电子密码锁、电话机键盘等一般都至少有12到16个按键,通常采用矩阵键盘矩阵键盘又称行列键盘......
    上相应的显示结果。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51 单片机,输入采用4×4 矩阵键盘。显示采用4 位7 段共阳极LED 动态显示。软件方面从分析计算器功能、流程图设计,再到程序......
    51单片机矩阵键盘线反转法实验仿真;前言 在上篇文章【51单片机】〈C语言+Keil5+Proteus仿真〉矩阵键盘逐行扫描法-20210414中,提到了矩阵键盘的线反转法,但是......
    口相连, 其中矩阵键盘的4行分别与单片机的P3.0~P3.3相连,矩阵键盘的4列分别与单片机的P3.4~P3.7相连。 程序设计详解 1. 用数码管的前两位显示一个十进制数,变化范围为00-59......
    就可检测9个键。 无论独立键盘还是矩阵键盘单片机检测其是否被按下的原理都是一样的,也就是检测与该键对应的I/O口是否为低电平。独立按键有一端固定为低电平,单片机写程序检测时比较方便。而矩阵键盘两端都与单片机......
    将当前营养数据上传到手机端实时显示,并给出营养建议。 2.3 系统模块设计 【1】系统硬件设计 采用了51单片机作为主控芯片,重力传感器用于称重,矩阵键盘用于输入食材编号,液晶屏用于显示数据。同时,为了......
    开关和电位器的工作原理,以及其与单片机连接的硬件电路及软件编程的实现。按键部分采用的键盘程序设计方法,给出了键码匹配子程序流程图。 监控程序负责系统中全部硬件和软件资源的分配、调度工作,它提......
    图4的接法只需要8个I/O. 图3 独立键盘 图4 4X4矩阵键盘 由于在单片机在应用系统中,更多的会用到独立键盘,加之两者的检测原理基本相似,所以这一节里我主要讲解独立键盘的检测原理及程序......
    51单片机】七段数码管显示实验+详细讲解;前言 继上次仿真实验——【51单片机矩阵键盘线反转法实验仿真之后,尽管也对点阵LED进行了学习,但是,点阵LED的显示效果不佳(仿真时的色彩、明亮......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>