}
/*******************************************************************************
-
函 数 名 : main
-
函数功能 : 主函数
-
输 入 : 无
-
输 出 : 无
*******************************************************************************/
void main()
{
led=0;
while(1)
{
keypros(); //按键处理函数
}
}
矩阵键盘代码
/**************************************************************************************
-
矩阵按键实验 *
实现现象:下载程序后数码管显示0,按下矩阵按键上的按键显示对应的数字
S1-S4:0-3
S5-S8:4-7
S9-S12:8-B
S13-S16:C-F。
注意事项:
***************************************************************************************/
#include “reg52.h” //此文件中定义了单片机的一些特殊功能寄存器
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
#define GPIO_DIG P0
#define GPIO_KEY P1
u8 KeyValue; //用来存放读取到的键值
u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//显示0~F的值
/*******************************************************************************
-
函 数 名 : delay
-
函数功能 : 延时函数,i=1时,大约延时10us
*******************************************************************************/
void delay(u16 i)
{
while(i–);
}
/*******************************************************************************
-
函 数 名 : KeyDown
-
函数功能 : 检测有按键按下并读取键值
-
输 入 : 无
-
输 出 : 无
*******************************************************************************/
void KeyDown(void)
{
char a=0;
GPIO_KEY=0x0f;
if(GPIO_KEY!=0x0f)//读取按键是否按下
{
delay(1000);//延时10ms进行消抖
if(GPIO_KEY!=0x0f)//再次检测键盘是否按下
{
//测试列
GPIO_KEY=0X0F;
switch(GPIO_KEY)
{
case(0X07): KeyValue=0;break; // 第一列 有按键按下
case(0X0b): KeyValue=1;break; // 第二列 有按键按下
case(0X0d): KeyValue=2;break; // 第三列 有按键按下
case(0X0e): KeyValue=3;break; // 第四列 有按键按下
}
//测试行
GPIO_KEY=0XF0;
switch(GPIO_KEY)
{
case(0X70): KeyValue=KeyValue;break; // 第一行 有按键按下
case(0Xb0): KeyValue=KeyValue+4;break; // 第二行 有按键按下
case(0Xd0): KeyValue=KeyValue+8;break; // 第三行 有按键按下
case(0Xe0): KeyValue=KeyValue+12;break; // 第四行 有按键按下
}
while((a<50)&&(GPIO_KEY!=0xf0)) //检测按键松手检测
{
delay(1000);
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频文章来源:https://www.toymoban.com/news/detail-847170.html
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
10867557137)]
[外链图片转存中…(img-TuUuzBQj-1710867557138)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
[外链图片转存中…(img-APjbkXef-1710867557138)]文章来源地址https://www.toymoban.com/news/detail-847170.html
到了这里,关于51单片机实现按键、键盘的功能,五面拿下阿里飞猪offer的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!