首页 > 资讯 > 问答 > 矩阵键盘,矩阵键盘在Protus里是什么

矩阵键盘,矩阵键盘在Protus里是什么

来源:整理 时间:2024-11-07 10:18:02 编辑:智能门户 手机版

1,矩阵键盘在Protus里是什么

在protus界面点击P 搜索key就可以了 列表中有你要的。
你这是4*4键盘扫描。 key和key1分别对应行和列。 如果(key+1 && key1+1) 为真的话,则说明有按键按下。 为什么要+1呢?这和你设定的键盘扫描编码有关。 如果没有按键,则二者至少有一个为-1,表达式(key+1 && key1+1)为假,反之则为真。

矩阵键盘在Protus里是什么

2,矩阵式键盘的工作原理是什么

如图所示矩阵式键盘列线通过上拉电阻连接到电源,因此无键按下时各列线均为高电平。当某一行线输出低电平,且此时正好在此行线上有键按下时,相应列线变成低电平。单片机就是利用这种方法对整个键盘进行扫描。所谓扫描,就是CPU不断对行线逐行置低电平,然后检查列线输入状态确定按键情况。若无键按下,行线与列线没有相连,列线上全是高电平或说全为“1”。当有键按下时,总有键把某行某列线短接,使列线端口不全为高电平,即不全为“1”。

矩阵式键盘的工作原理是什么

3,矩阵键盘能做什么

主要是控制矩阵用的,一般用来切换显示器和视频信号输入点。当然可以进行部分矩阵功能的设置了。
矩阵键盘是单片机编程中所使用的键盘. 矩阵式键盘的结构与工作原理 在键盘中按键数量较多时,为了减少i/o口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。

矩阵键盘能做什么

4,用STC12C5A60S2单片机做矩阵键盘

当然可以,与其他51单片机一样,没有区别,你的问题不是出在IO,出在延时上,最好数码管显示用定时器控制,这样才不会受延时程序的影响。
矩阵键盘最好在IO口跟IO口之间加一个小电阻数码管不亮很有可能是按键检测的时候进行了延时,延时时间过长导致数码管不亮。或者存在检测按下或松手的语句,导致一直在处于检测按键的状况矩阵键盘可以参考下面的代码获取一次按键扫描的值 ,如果是255代表没有按键按下,否则返回按键的值。#define KEY P3#define K1 P3_4#define K2 P3_5#define K3 P3_6#define K4 P3_7unsigned char GetKey(void)KEY=0xff;K1=0;swithc(KEY&0x0f)case 0x0E:return 0;case 0x0D:return 1;case 0x0B:return 2;case 0x07:return 3;}KEY=0xff;K2=0;swithc(KEY&0x0f)case 0x0E:return 4;case 0x0D:return 5;case 0x0B:return 6;case 0x07:return 7;}KEY=0xff;K3=0;swithc(KEY&0x0f)case 0x0E:return 8;case 0x0D:return 9;case 0x0B:return 10;case 0x07:return 11;}KEY=0xff;K4=0;swithc(KEY&0x0f)case 0x0E:return 12;case 0x0D:return 13;case 0x0B:return 14;case 0x07:return 15;}return 255;}放在整个程序的循环中 只要检测到按键做相应的动作即可。如果要用到延时的地方可以把显示函数当做延时函数来用,或者把显示函数放到中断里面。这样都不会影响到正常的显示。
stc12c5a60s2与51单片机区别: 1、同样晶振的情况下,stc12c5a60s2速度是普通51的8~12倍 对于at89c51,1个机器周期=12个震荡周期,对于stc12c5a60s2,1个机器周期=1个震荡周期; 2、stc12c5a60s2有8路10位ad; 3、stc12c5a60s2多了两个定时器,带pwm功能; 4、stc12c5a60s2有spi接口; 5、stc12c5a60s2有eeprom; 6、stc12c5a60s2有1k内部扩展ram; 7、stc12c5a60s2有watch_dog; 8、stc12c5a60s2多一个串口; 9、stc12c5a60s2的io口可以定义,有四种状态; 10、stc12c5a60s2中断优先级有四种状态可定义。

5,独立式按键和矩阵式按键的使用特点

独立式按键:直接由I / O线组成的单个按钮电路,其特征在于每个按钮分别占用一条I / O线,适用于八个按键。矩阵式键盘:它由行和列线组成,按钮位于行和列线的交点处。当按钮数量很大时,矩阵式键盘较之独立式按键键盘要节省很多I/O口,适合于八个键以上使用。扩展资料:矩阵式键盘的按键识别方法:线扫描线扫描方法,也称为渐进式(或列)扫描查询方法,是最常用的键识别方法之一。流程如下:1、确定键盘上是否有按键:将所有线设置为低电平,然后检查列线的状态。只要一列的电平为低,就表示键盘上有按下的键,并且闭合键在与低电平线和四行线交叉的四个键之中。如果所有列线都高,则键盘上没有按键。2、确定关闭按钮的位置:确认按下按钮后,可以进入确定特定关闭按钮的过程。该方法是:依次将行线设置为低电平,即当某行线为低电平时,其他线为高电平。在确定某个行线位置低之后,逐行检测每个列线的电平状态。如果列为低,则列线和行线的交点处设置为低的按钮为关闭按钮。参考资料来源:百度百科-矩阵键盘参考资料来源:百度百科-QWERTY独立键盘
独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,适合于八键以下使用;矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口,适合于八个键以上使用。扩展资料:矩阵式键盘的按键识别方法:行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,其过程如下:1、判断键盘中有无键按下:将全部行线置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。2、判断闭合键所在的位置:在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。参考资料来源:百度百科-矩阵键盘
独立键盘:编程简单,但是浪费IO口,毕竟单片机系统的IO资源很有限。矩阵键盘:编程复杂,但是节省IO口。不过,目前该方面资料很好查找,所以超过6个以上按键推荐用矩阵方式。 按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点式开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。目前,微机系统中最常见的是触点式开关按键。 按键按照接口原理可分为编码键盘与非编码键盘两类,这两类键盘的主要区别是识别键符及给出相应键码的方法。编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实现键盘的定义与识别。 全编码键盘能够由硬件逻辑自动提供与键对应的编码,此外,一般还具有去抖动和多键、窜键保护电路。这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用。非编码键盘只简单地提供行和列的矩阵,其它工作均由软件完成。由于其经济实用,较多地应用于单片机系统中。
独立式的,一个io口对应一个按键

6,我想要一份矩阵键盘的操作说明书

其实矩阵键盘的扫面处理特别简单,不需要逐行扫描,给你提个思路,希望对你有帮助,最好是自己写代码,在实践中学习。举一个例子,如图所示,P1口接矩阵按键,低四位接行,高四位接列。矩阵键盘的扫描就是三个步骤:1:判断是否有按键按下,同时要注意去抖动。明白一个道理:矩阵键盘的任何一个按键按下所产生的效果就是把P1的两个IO口连接起来,也就是P1口低四位中的某一个口跟P1口高四位中的某一个口连接起来了。同时要知道,低电平的IO口会把高电平的IO口电平拉低,如果他们相连接的话。简单给你写几句程序吧,你参考一下:P1 = 0x0f;while(P1 == 0x0f);等待按键,如果有键盘按下,P1的值就不是0x0f了,就退出while循环。delay(10ms); 按键去抖动,延时10ms,在判断是否有按键。P1 = 0x0f; 10ms后重新判断是否有按键按下。if(P1 != 0x0f) P1 = 0x0f; 矩阵键盘的行都是1,列都是0,如果按下的按键是第一行的话,P10会变成0; a = P1; a的值就可以判断键盘是哪一行(就看P10~P13的值哪个变成0)。 P1 = 0xf0; b = P1; b的值就可以判断按键式那一列,(就看P14~P17哪个值变成0) c = a | b; 由c的值就可以判断是哪个按键按下了,因为行列都知道了。}如果c=01111110,就表示能使P17跟P10连同的那个按键按下了。不懂得地方可以问我。 在网上又给你找了一个程序,但是有的地方需要修改uchar keyscan() uchar com,com1,com2,i; P1=0xf0; while(P1!=0xf0) P1=0xf0; while(P1!=0xf0) P1=0xf0; if(P1!=0xf0) com1=P1; P1=0x0f; com2=P1; } com=com1|com2; if(com==0xee)i=0; if(com==0xde)i=1; if(com==0xbe)i=2; if(com==0x7e)i=3; if(com==0xed)i=4; if(com==0xdd)i=5; if(com==0xbd)i=6; if(com==0x7d)i=7; if(com==0xeb)i=8; if(com==0xdb)i=9; if(com==0xbb)i=10; if(com==0x7b)i=11; if(com==0xe7)i=12; if(com==0xd7)i=13; if(com==0xb7)i=14; if(com==0x77)i=15;其实矩阵键盘的扫面处理特别简单,不需要逐行扫描,给你提个思路,希望对你有帮助,最好是自己写代码,在实践中学习。举一个例子,如图所示,P1口接矩阵按键,低四位接行,高四位接列。矩阵键盘的扫描就是三个步骤:1:判断是否有按键按下,同时要注意去抖动。明白一个道理:矩阵键盘的任何一个按键按下所产生的效果就是把P1的两个IO口连接起来,也就是P1口低四位中的某一个口跟P1口高四位中的某一个口连接起来了。同时要知道,低电平的IO口会把高电平的IO口电平拉低,如果他们相连接的话。简单给你写几句程序吧,你参考一下:P1 = 0x0f;while(P1 == 0x0f);等待按键,如果有键盘按下,P1的值就不是0x0f了,就退出while循环。delay(10ms); 按键去抖动,延时10ms,在判断是否有按键。P1 = 0x0f; 10ms后重新判断是否有按键按下。if(P1 != 0x0f) P1 = 0x0f; 矩阵键盘的行都是1,列都是0,如果按下的按键是第一行的话,P10会变成0; a = P1; a的值就可以判断键盘是哪一行(就看P10~P13的值哪个变成0)。 P1 = 0xf0; b = P1; b的值就可以判断按键式那一列,(就看P14~P17哪个值变成0) c = a | b; 由c的值就可以判断是哪个按键按下了,因为行列都知道了。}如果c=01111110,就表示能使P17跟P10连同的那个按键按下了。不懂得地方可以问我。 在网上又给你找了一个程序,但是有的地方需要修改uchar keyscan() uchar com,com1,com2,i; P1=0xf0; while(P1!=0xf0) P1=0xf0; while(P1!=0xf0) P1=0xf0; if(P1!=0xf0) com1=P1; P1=0x0f; com2=P1; } com=com1|com2; if(com==0xee)i=0; if(com==0xde)i=1; if(com==0xbe)i=2; if(com==0x7e)i=3; if(com==0xed)i=4; if(com==0xdd)i=5; if(com==0xbd)i=6; if(com==0x7d)i=7; if(com==0xeb)i=8; if(com==0xdb)i=9; if(com==0xbb)i=10; if(com==0x7b)i=11; if(com==0xe7)i=12; if(com==0xd7)i=13; if(com==0xb7)i=14; if(com==0x77)i=15;} } return(i); } } } return(i); }
给你提个思路,希望对你有帮助,最好是自己写代码,在实践中学习。举一个例子,如图所示,P1口接矩阵按键,低四位接行,高四位接列。矩阵键盘的扫描就是三个步骤:1:判断是否有按键按下,同时要注意去抖动。明白一个道理:矩阵键盘的任何一个按键按下所产生的效果就是把P1的两个IO口连接起来,也就是P1口低四位中的某一个口跟P1口高四位中的某一个口连接起来了。同时要知道,低电平的IO口会把高电平的IO口电平拉低,如果他们相连接的话。简单给你写几句程序吧,你参考一下:P1 = 0x0f;while(P1 == 0x0f);等待按键,如果有键盘按下,P1的值就不是0x0f了,就退出while循环。delay(10ms); 按键去抖动,延时10ms,在判断是否有按键。P1 = 0x0f; 10ms后重新判断是否有按键按下。if(P1 != 0x0f) P1 = 0x0f; 矩阵键盘的行都是1,列都是0,如果按下的按键是第一行的话,P10会变成0; a = P1; a的值就可以判断键盘是哪一行(就看P10~P13的值哪个变成0)。 P1 = 0xf0; b = P1; b的值就可以判断按键式那一列,(就看P14~P17哪个值变成0) c = a | b; 由c的值就可以判断是哪个按键按下了,因为行列都知道了。}如果c=01111110,就表示能使P17跟P10连同的那个按键按下了。不懂得地方可以问我。 在网上又给你找了一个程序,但是有的地方需要修改uchar keyscan() uchar com,com1,com2,i; P1=0xf0; while(P1!=0xf0) P1=0xf0; while(P1!=0xf0) P1=0xf0; if(P1!=0xf0) com1=P1; P1=0x0f; com2=P1; } com=com1|com2; if(com==0xee)i=0; if(com==0xde)i=1; if(com==0xbe)i=2; if(com==0x7e)i=3; if(com==0xed)i=4; if(com==0xdd)i=5; if(com==0xbd)i=6; if(com==0x7d)i=7; if(com==0xeb)i=8; if(com==0xdb)i=9; if(com==0xbb)i=10; if(com==0x7b)i=11; if(com==0xe7)i=12; if(com==0xd7)i=13; if(com==0xb7)i=14; if(com==0x77)i=15;} } return(i); }
百畜服宁药,宠用药是信元牌子的好还是佑达牌子的好? 帮你找到了 国内正品商城都汇聚在这里了 网址:www.aafanli.com 答案采纳率为95%!
文章TAG:矩阵矩阵键盘键盘是什么矩阵键盘

最近更新

  • 凡亿pcb,凡亿pcb培训好不好凡亿pcb,凡亿pcb培训好不好

    凡亿pcb培训好不好2,凡亿PCB好不3,深圳市凡亿技术开发有限公司PCB设计水平怎么样4,凡亿pcb教程好不5,凡亿PCB教程怎么样6,哪里可以学pcb设计1,凡亿pcb培训好不好实话说真不好,里面就讲些软件.....

    问答 日期:2024-11-07

  • 苹果6s数据线真伪鉴别,苹果12拿6s数据线充电一样吗苹果6s数据线真伪鉴别,苹果12拿6s数据线充电一样吗

    如何辨别一部手机的苹果-4/line真伪?苹果设备数据如何识别线路真伪?那么如何区分苹果-4/linear真伪?苹果数据辨别真假线的方法和秘诀现在市面上充斥着山寨苹果数据线,甚至100多元买的数据.....

    问答 日期:2024-11-07

  • 龙门飞甲票房,电影龙门飞甲票房龙门飞甲票房,电影龙门飞甲票房

    如果没有-2飞甲-1/?战争之花票房我估计截至27日下线十三柴人数高达7亿,战争之花票房总人数超过3.26亿元,总人数-2飞甲。合计票房过百亿,徐克是一位优秀的电影导演,作品有:西游记,降魔,向外取.....

    问答 日期:2024-11-07

  • 红米note7,红米note7红米note7,红米note7

    红米note7屏幕占比81.37%其他屏幕参数全面屏19.5:9对比度:1500:1NTSC:84%支持阳光屏夜光屏护眼模式无级色温调节标准模式数据来源——中关村在线2,红米note7这个手机怎么样啊谢谢红米note7这.....

    问答 日期:2024-11-07

  • 徐州华为数据中心,华为在吴川市的项目叫什么华为云数据中心徐州华为数据中心,华为在吴川市的项目叫什么华为云数据中心

    华为在吴川的项目叫什么?华为在吴川的项目叫“华为云数据中心”。大名鼎鼎的华为七星湖数据中心,在贵州几乎掏空了一座山,华为之所以在贵州挖空大山建数据中心,是考虑到贵州特殊的气候,华为.....

    问答 日期:2024-11-07

  • 创维电视说明书,创维液晶电视说明书创维电视说明书,创维液晶电视说明书

    创维液晶电视说明书2,创维49e360e电视说明书3,创维电视说明书4,谁知道创维酷K液晶电视的使用说明5,创维液晶电视使用说明书6,创维智能电视怎么用遥控器输入文字1,创维液晶电视说明书这个情况.....

    问答 日期:2024-11-07

  • 蜂窝煤全自动化设备有哪些蜂窝煤全自动化设备有哪些

    如何制作黏液蜂窝煤!如果要把煤做成蜂窝煤,就必须加上这种泥浆,蜂窝煤类技术数据。现在常见的取暖方式有哪些?蜂窝煤灶具的烟囱如何安装?蜂窝煤加热炉工作原理蜂窝煤加热炉工作原理是水滴原.....

    问答 日期:2024-11-07

  • 电表的倍率怎么看,智能电表的倍率怎么看电表的倍率怎么看,智能电表的倍率怎么看

    智能电表的倍率怎么看2,电表倍率怎么看3,怎样确定电表的倍率数4,我怎么查我工厂电表的倍率是多少啊5,电表互感器的倍率如何看6,怎么看电表倍率1,智能电表的倍率怎么看呵呵,电表本身没有倍率,电.....

    问答 日期:2024-11-07