当前位置: 首页 > wzjs >正文

校园网站建设特色定陶区城乡和住房建设局网站

校园网站建设特色,定陶区城乡和住房建设局网站,建立健全安全生产责任制的根本目的是,自己做的网站 怎么在网上销售前言 上一节,我们说到了独立按键的检测以及使用,但是独立按键每一个按键都要对应一个IO口进行检测,在一些需要多按键的情况下,使用过多的独立按键会过多的占用单片机的IO资源,为了解决这个问题的出现,我们…

前言

上一节,我们说到了独立按键的检测以及使用,但是独立按键每一个按键都要对应一个IO口进行检测,在一些需要多按键的情况下,使用过多的独立按键会过多的占用单片机的IO资源,为了解决这个问题的出现,我们今天就来介绍一些矩阵按键。

矩阵按键

为了解决独立按键占用过多IO的问题,我们这里用到矩阵按键,这里我们要先搞懂,矩阵按键的工作原理,我们先看一下我们开发板上面的独立按键和矩阵按键部分的原理图
在这里插入图片描述
在这里插入图片描述
上面是独立按键的部分,下面则是矩阵按键部分的原理图,我们只看按键的样子,上下两种模式似乎是一样的,实际情况也确实如此,上下部分使用的按键是同样的,他们的区别是排列接线方式不同,我们来看,上面的独立按键是使用了4个IO来连接了4个按键,下面的矩阵按键则使用了8个IO连接了16个按键,这就会节省了IO的使用,提高单片机的运行效率。

原理

在该开发板我们用了8个IO来检测16个按键的状态检测,在该开发板中,,我们看到P0端口全部是用来做矩阵按键检测,8个IO检测16个按键,将16个按键以4*4的方式排摆开来,每行四个,每列四个,这样我们就可以通过8个IO来检测16个按键,每一个按键只对应一个行和一个列,所以我们可以将8个IO分为两组,一组检测行,一组检测列,每个按键只对应两个IO,但是每个IO可以对应四个按键。

在这里插入图片描述
在这里插入图片描述

检测&代码

该开发板中,矩阵按键为4*4排列,每一行(列)对应4个按键,共可以交叉出16个坐标,且每个坐标都是唯一存在的,所以我们可以通过逐行(列)的方式来判断按键的状态并检测,这样我们就可以定位到每一个按键,检测方式和独立按键相同,话不多说,直接上代码

unsigned char MatrixKey()
{unsigned char KeyNumber=0;P1=0xff;P1_3=0;if(P1_7==0){delay(20);while(P1_7==0);delay(20);KeyNumber=1;}if(P1_6==0){delay(20);while(P1_6==0);delay(20);KeyNumber=5;}if(P1_5==0){delay(20);while(P1_5==0);delay(20);KeyNumber=9;}if(P1_4==0){delay(20);while(P1_4==0);delay(20);KeyNumber=13;}P1=0xff;P1_2=0;if(P1_7==0){delay(20);while(P1_7==0);delay(20);KeyNumber=2;}if(P1_6==0){delay(20);while(P1_6==0);delay(20);KeyNumber=6;}if(P1_5==0){delay(20);while(P1_5==0);delay(20);KeyNumber=10;}if(P1_4==0){delay(20);while(P1_4==0);delay(20);KeyNumber=14;}P1=0xff;P1_1=0;if(P1_7==0){delay(20);while(P1_7==0);delay(20);KeyNumber=3;}if(P1_6==0){delay(20);while(P1_6==0);delay(20);KeyNumber=7;}if(P1_5==0){delay(20);while(P1_5==0);delay(20);KeyNumber=11;}if(P1_4==0){delay(20);while(P1_4==0);delay(20);KeyNumber=15;}P1=0xff;P1_0=0;if(P1_7==0){delay(20);while(P1_7==0);delay(20);KeyNumber=4;}if(P1_6==0){delay(20);while(P1_6==0);delay(20);KeyNumber=8;}if(P1_5==0){delay(20);while(P1_5==0);delay(20);KeyNumber=12;}if(P1_4==0){delay(20);while(P1_4==0);delay(20);KeyNumber=16;}return KeyNumber;
}

我们可以对KeyNumber进行判断,判断读取到了哪个按键有变化,然后做出相应的状态,写对应的代码;
大家可以尝试用矩阵按键在数码管做一个简易的计算器,在数码管显示,大家可以自己尝试写一下,后面会在其他文章更新

http://www.dtcms.com/wzjs/539023.html

相关文章:

  • 怎么把网站上传到空间江西省建设监督网站
  • j昆明网站制作公司wordpress模板
  • 丰都网站建设案例企业门户网站建设方案后台管理
  • 做网站的可以黑客户的网站吗绍兴网站建设做网站
  • 网站开发设计大赛六安杂谈
  • 免费网站认证制作网站的网址
  • 快站官方客户端下载企业文化心得体会总结
  • 十大网站管理系统怎么用本机做服务器发布网站
  • 朝阳淘宝网站建设网络服务器销售商
  • 济南网站制作定制公司长春广告公司网站建设
  • 长沙哪个网站建设最好wordpress 热门文章调用
  • 网站字体怎么修改央企门户网站哪家做的最好
  • 建材网站建设方案杭州建网站企业
  • 制定 网站改版优化方案西安百度关键词排名公司
  • 平顶山市住房和城乡建设局网站温州市住房和城乡建设网站
  • 商业网站的基本构成百度快照比网站上线时间早
  • 好大夫在线个人网站王建设富阳网站公司
  • 网站的管理跟新维护有哪些免费生成网站软件下载
  • 建设报名系统网站淘宝有WordPress网站搭建吗
  • wordpress单页网站在本页跳转什么网站可以接单做设计
  • 勾线外包网站公司网站开发费账务处理
  • 网站开发百度百科主页不是wordpress
  • 城乡建设部网站安全员证书查询软件开发者怎么赚钱
  • 高端全屋定制十大名牌排行榜seo人员工作内容
  • 网上商城网站开发需求说明书网站空间哪家做的好
  • 网站建设哪个平台好网页制作与设计实训
  • ppt免费模板大全网站wordpress edd 卡密
  • 汽车维修保养网站模板衡阳网站排名优化公司
  • 网站安全防护方案教做甜点的网站
  • 哪个网站做设计兼职不用压金甘肃省城乡建设局网站首页