矩阵键盘检测

合集下载

实验6 矩阵键盘的检测

实验6 矩阵键盘的检测

实验6 矩阵键盘的检测一、实验目的1、掌握七段数码管显示的软件译码方法;2、掌握矩阵键盘的使用。

二、实验内容矩阵键盘来控制数码管显示:实验板上电时,数码管不显示,顺序按下4*4矩阵键盘后,在数码管上依次显示0-F,6个数码管同时静态显示即可。

三、实验方法和手段多媒体教学、演示、讲练结合、软件仿真、实物焊接四、实验条件实验指导书、计算机、Proteus软件、Keil C51软件、耗材、电烙铁五、实验学时2学时六、实验步骤1、Proteus设计电路原理图(1)按照图6-1,在Proteus软件中绘制好电路原理图。

图6-1 电路原理图说明:矩阵键盘行线接P3口低4位(第一行P3.0),列线接P3口高4位(第一列接P3.4)。

(2)电路原理图中所需要的元件见表6-1。

表6-1 元件列表元件名称型号数量Proteus中的名称单片机芯片AT89C51 1个AT89C51 晶振12MHz 1个CRYSTAL电容22PF 2个CAP电解电容22uF/16V 1个CAP-ELEC电阻1K 1个RES排阻1K 1个RESPACK_8 六位一体共阴极数码管1个7SEG-MPX6_CC 锁存芯片74HC573 2个74HC573按键开关16个BUTTON 2、编程控制在Keil软件中进行程序编制,完成目标:顺序按下4*4矩阵键盘后,6个数码管同时静态依次显示0-F。

将下面的参考程序补充完整,也可自行编写新程序。

参考程序代码如下:3、仿真调试将生成的HEX文件加载到Proteus中,进行软件仿真,查看效果。

4、实物调试(1)程序烧制(2)使用焊接成功的电路板,通电调试,查看效果。

七、思考题1、如果采用双数码管显示按键值(0-15),应如何修改程序代码?2、如果行线接P3口低4位,列线接P2口低4位,程序代码如何修改?。

矩阵键盘检测

矩阵键盘检测

实验报告九课程名称:微机原理与接口技术指导老师:李素敏学生姓名:向春霞学号:1243013 专业:通信工程日期:5月地点:理工603实验九矩阵键盘检测1. 实验目的和要求①学会使用编写关于矩阵按键的查询和显示的程序2. 主要仪器设备电脑,Keil软件3.实验内容实验内容:对实验板上4*4矩阵键盘的16个按键S6---S21进行按键次数统计。

键号06、07……21用最左边2位数码管显示,按键次数用右侧4位数码管显示。

有键按下时,显示相应键号和该键累计按键次数,没键按下时,数码管不亮。

(无论键号还是按键次数都用其十进制数显示。

)(1)设计思路:①利用反转法查询按键的键码②把按键键码的十位和各位分别表示出来。

③用30H到3FH单元记按键次数(2)源程序:ORG 0000HAJMP MAINORG 0030HMAIN: MOV R2,#10H ;给30H-3FH单元清零MOV R1,#30HMOV A,#00HXH: MOV @R1,AINC R1DJNZ R2,XHLOOP: LCALL KEYLCALL XSLJMP LOOPXS: MOV A,60HMOV P0,#0FFHMOV DPTR,#DUANMOVC A,@A+DPTR ;把十位给最左边的数码管MOV P0,ACLR P2.6SETB P2.7MOV P0,#0FEHCLR P2.7LCALL DEL0MOV A,61HMOVC A,@A+DPTR ;把个位数用数码管表示SETB P2.6MOV P0,#0FFHMOV P0,ACLR P2.6SETB P2.7MOV P0,#0FDHCLR P2.7LCALL DEL0MOV A,62HMOV P0,#0FFHMOVC A,@A+DPTRSETB P2.6MOV P0,ACLR P2.6SETB P2.7MOV P0,#0FBHCLR P2.7LCALL DEL0MOV A,63HMOVC A,@A+DPTR ;把个位数用数码管表示SETB P2.6MOV P0,ACLR P2.6SETB P2.7MOV P0,#0F7HCLR P2.7LCALL DEL0RETKEY : MOV P3,#0FH ;将P3的高四位给"0"MOV A,P3 ;读P3ANL A,#0FH ;判断p3的高4位有没有变化,给AMOV B,A ;将变换后的信息放入b暂存MOV P3,#0F0H ;给P3的低四位赋0ANL A,#0F0H ;判断p3的低4位有没有变化,给AORL A,B ;合成特征码CJNE A,#0FFH,KEY1AJMP RETNKEY1: MOV B,A ; 存特征码MOV DPTR,#TABLE ;取表头地址MOV R3,#0FFH ;给初值,也是空键的代码KEY2: INC R3MOV A,R3MOVC A,@A+DPTR ;查找键值CJNE A,B,KEY2 ;判断是否查完MOV A,R3 ;找到键值存入AADD A,#06MOV R6,A ;把A暂存到30H单元MOV B,#10DIV AB ;A/B=A.....BMOV 60H,AMOV 61H,BCOUNT: MOV A,R6ADD A,#2AHMOV R0,A ;按键计数INC @R0MOV A,@R0MOV B,#10DIV AB ;A/B=A.....BMOV 62H,AMOV 63H,BAG: MOV P3,#0FH ;将P3的高四位给"0"MOV A,P3 ;读P3CJNE A,#0FH,AG ;判断p3的高4位有没有变化,给A RETN: RETTABLE:DB 0EEH,0DEH,0BEH,7EH ;6-9DB 0EDH,0DDH,0BDH,7DH ;10-13DB 0EBH,0DBH,0BBH,7BH ;14-17DB 0E7H,0D7H,0B7H,77H ;18-21DB 0FFH ;空键DUAN:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;段选地址表DEL0: MOV R4,#2 ;延时1ms DEL1: MOV R5,#248NOPDEL2: DJNZ R5,DEL2DJNZ R4,DEL1RETEND。

矩阵式键盘的按键识别方法

矩阵式键盘的按键识别方法

矩阵式键盘的按键识别方法确定矩阵式键盘上何键被按下介绍一种“行扫描法”。

行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。

1、判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。

只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。

若所有列线均为高电平,则键盘中无键按下。

2、判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。

其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。

在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。

若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。

下面给出一个具体的例子:图仍如上所示。

8031单片机的P1口用作键盘I/O口,键盘的列线接到P1口的低4位,键盘的行线接到P1口的高4位。

列线P1.0-P1.3分别接有4个上拉电阻到正电源+5V,并把列线P1.0-P1.3设置为输入线,行线P1. 4-P.17设置为输出线。

4根行线和4根列线形成16个相交点。

1、检测当前是否有键被按下。

检测的方法是P1.4-P1.7输出全“0”,读取P1.0-P1.3的状态,若P1.0-P1.3为全“1”,则无键闭合,否则有键闭合。

2、去除键抖动。

当检测到有键按下后,延时一段时间再做下一步的检测判断。

3、若有键被按下,应识别出是哪一个键闭合。

方法是对键盘的行线进行扫描。

P1.4-P1.7按下述4种组合依次输出:P1.7 1 1 1 0P1.6 1 1 0 1P1.5 1 0 1 1P1.4 0 1 1 1在每组行输出时读取P1.0-P1.3,若全为“1”,则表示为“0”这一行没有键闭合,否则有键闭合。

由此得到闭合键的行值和列值,然后可采用计算法或查表法将闭合键的行值和列值转换成所定义的键值。

矩阵键盘键信号检测电路设计-EDA课程设计说明书

矩阵键盘键信号检测电路设计-EDA课程设计说明书

课程设计说明书题目EDA技术与应用系(部)专业(班级)姓名学号指导教师起止日期EDA技术课程设计任务书系(部):专业:指导教师:目录引言 (5)一、绪论 (5)1.1 FPGA概况 (5)1.2 此课题的研究意义 (6)二、矩阵键盘接口电路的原理与总体设计 (6)2.1 矩阵键盘接口电路的原理 (6)2.2 总体设计 (8)三、各模块的设计及仿真 (8)3.1 键盘扫描电路 (8)3.2 键盘译码电路和按键标志位产生电路 (11)3.3 时钟产生模块 (16)3.4 键盘接口电路顶层电路实现 (18)四、硬件测试 (19)五、实验设备 (19)六、总结 (20)参考文献 (20)矩阵键盘键信号检测电路设计引言人类文明已进入到高度发达的信息化社会。

信息化社会的发展离不开电子信息产品开发技术、产品品质的提高和进步。

电子信息产品随着科学技术的进步,其电子器件和设计方法更新换代的速度日新月异。

实现这种进步的主要原因就是电子设计技术和电子制造技术的发展,其核心就是电子设计自动化(EDA,Electronic Design Automation)技术,EDA技术的发展和推广应用又极大地推动了电子信息产业的发展。

为保证电子系统设计的速度和质量,适应“第一时间推出产品”的设计要求,EDA技术正逐渐成为不可缺少的一项先进技术和重要工具。

目前,在国内电子技术教学和产业界的技术推广中已形成“EDA热”,完全可以说,掌握EDA技术是电子信息类专业学生、工程技术人员所必备的基本能力和技能。

此设计主要利用VHDL硬件描述语言在EDA平台Quartus II上设计一个4×4阵列键盘扫描电路,将行扫描信号输入阵列键盘,读取列信号的值,输出按键编码,从而判断出按键按下的位置。

并且进行模拟仿真,下载到EDA实验箱进行硬件验证。

一、绪论1.1 FPGA概况早期的可编程逻辑器件只有可编程只读存储器(PROM)、紫外线可擦除只读存储器(EPROM)和电可擦除只读存储器(E2PROM)三种。

矩阵键盘检测

矩阵键盘检测

很多盘检4*46个也就较好时,低电键按标,独立键盘多按键时就检测。

这里4键盘实现IO 口控无论是独就是检测与好检测,而,先送一列电平,若有按下,送下,然后对其盘与单片机就会浪费里以4*4现了用8控制9个按独立按键还与该键对而矩阵键盘列低电平有低电平则下一列低其编码后矩阵键盘机相连时,很多的IO 矩阵键盘个IO 口控按键,5*5还是矩阵键对应的IO 盘就需要,其余为则证明该电平,通编程扫描盘检测及,每个按键O 口,鉴于盘为例,下控制16个实现10键盘,单口是否为要人为控制高电平,该列有键按过这种方描了。

及其运用键都要占用于对IO 口下面是其与个按键,当个IO 口控片机检测为低电平。

制端口电平立即轮流按下,若无方法,我们用一个IO 口的节省,与单片机连当然也可以控制25个测的依据都独立按键平变化来检流检测一下无低电平证们便可以确O 口,当用引入矩阵连接电路以以3*3实个按键。

都是一样的键一端固定检测了。

检下各行是否证明该列没确定按键的用到阵键图:实现。

的,定比检测否有没有的坐以下是软件流程图:NYNNY N扫描四行按键程序会很长,下面我编程实现扫描出第一行按键,其他各行可用相同方法进行扫描:开始寄存器初始化IO口初始化检测是否有键按下延时10ms 检测是否真有键按下检测按键是否释放执行相应代码/*******************************************************// ////‐‐‐函数功能:扫描矩阵键盘,返回相应按键代表的值 ////‐‐‐主函数中可以利用这一返回值选择执行相关代码 ////‐‐‐这样就实现了矩阵按键对器件的操作 //// //*******************************************************/ unsigned char Matrixkeyscan(){unsigned char temp,key;P3=0xfe; //送一列低电平其余为高确定该列temp=P3; //将P3口的值读回来temp=temp&0xf0; //if(temp!=0xf0) //看是否有IO口为低电平{Delayms(10); //延时去抖temp=P3; //重新读回P3口的值temp=temp&0xf0;if(temp!=0xf0) //看是否真有键按下{temp=P3; //temp的值发生变化需重新读回switch(temp) //判断是哪一行按键被按下,确定按键位置{case 0xee:key=1;break;case 0xde:key=2;break;case 0xbe:key=3;break;case 0x7e:key=4;break;}while(temp!=0xf0)//松手检测 {temp=P3;temp=temp&0xf0;}}}//P3=0xfd; //扫描下一行//。

矩阵键盘扫描原理

矩阵键盘扫描原理

矩阵键盘扫描原理矩阵键盘是一种常见的输入设备,广泛应用于各种电子产品中,如计算机、手机、电视遥控器等。

它的原理是通过矩阵扫描技术来实现按键的检测和识别。

下面我们将详细介绍矩阵键盘的扫描原理。

首先,我们来了解一下矩阵键盘的结构。

矩阵键盘由若干行和若干列按键组成,每个按键都与一个行线和一个列线相连接。

当按下某个按键时,对应的行线和列线会发生连接,从而形成一个按键闭合的电路。

在正常情况下,行线和列线是断开的,不会导通。

为了检测按键的状态,需要通过矩阵扫描的方式来逐个检测每个按键。

扫描的原理是通过逐行逐列地扫描按键,从而确定哪些按键被按下。

具体来说,扫描的过程是这样的,首先,将所有的列线拉低,然后逐行地扫描每一行,检测每一行上的按键是否被按下。

如果某一行上有按键被按下,那么对应的列线和行线就会连接,从而形成一个闭合的电路。

通过这种方式,可以逐个检测每一个按键的状态。

在实际应用中,为了提高扫描的效率,通常会采用按键去抖技术和扫描周期的优化。

按键去抖技术是为了解决按键在按下和松开的过程中会产生抖动现象的问题,通过软件或硬件的方式来滤除抖动信号,从而确保按键状态的稳定性。

扫描周期的优化则是为了减少扫描的时间,提高系统的响应速度。

总的来说,矩阵键盘的扫描原理是通过逐行逐列地扫描按键,从而确定按键的状态。

通过合理的设计和优化,可以实现稳定、高效的按键检测和识别,从而为用户提供良好的输入体验。

总结一下,矩阵键盘扫描原理是通过逐行逐列地扫描按键,从而确定按键的状态。

通过合理的设计和优化,可以实现稳定、高效的按键检测和识别,为用户提供良好的输入体验。

希望本文能够帮助大家更好地理解矩阵键盘的工作原理。

(实验四)单片机矩阵键盘检测和液晶仿真实验

(实验四)单片机矩阵键盘检测和液晶仿真实验

实验四单片机矩阵键盘检测和液晶仿真实验(4学时)一、实验任务利用51单片机实现4X4矩阵键盘和LCD1602液晶显示人机交互系统,编程实现:(1)按键扫描(1、2、……9、A、B、C、D、E、F)和LCD1602显示按键的键号,格式为:KEYNUM+按键号;(2)LCD1602的第一行显示加1功能,初始数字为980,显示位置自己确定,每次按下某一个按键,数字加1,范围为15---20;二、实验目的1、掌握仿真软件Proteus和单片机联调的方法;2、掌握矩阵键盘扫描检测的原理,并且编程实现键盘按键的检测;3、掌握LCD1602液晶显示的原理,并且编程实现LCD1602的显示功能;4、掌握利用单片机实现键盘检测和液晶显示的功能组合,并掌握独立编程控制的能力。

三、实验设备电脑、Proteus软件、Keil软件四、实验原理(一)矩阵键盘扫描检测原理按照按键结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点开关按键,如电气式按键、磁感应按键等。

在单片机应用系统中,通过按键实现控制功能和数据输入是非常普遍的。

在所需按键数量不多时,系统常采用独立式按键。

独立式按键是指每个按键单独占有一根I/O口线,且其工作状态不会影响其他I/O口线的工作状态。

这种按键的电路配置灵活,软件结构简单。

不过在实际应用中,由于不同的系统对按键的要求不同,因此,对按键程序的设计要考虑全面,以便更好地完成按键所设定的功能。

在按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图4.1所示。

在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。

这样一个端口(如P1口)就可以构成4×4=16个按键,比直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出1键(共9键)。

由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。

矩阵键盘的按键识别原理

矩阵键盘的按键识别原理

矩阵键盘的按键识别原理嘿,朋友们!今天咱来唠唠矩阵键盘的按键识别原理。

你看啊,这矩阵键盘就像是一个小小的战场,每个按键都是一名勇敢的战士呢!想象一下,这些按键整齐地排列在那里,等待着我们去“召唤”它们。

那它到底是怎么识别我们按的是哪个键呢?其实啊,就像是一场巧妙的游戏。

矩阵键盘是通过行列交叉的方式来工作的哦!比如说,它有好多行和列,就像一个方格网。

当我们按下一个键时,就相当于在这个方格网上点亮了一个特定的点。

这就好像是在一群人中,你一下子就找到了你要找的那个人一样神奇!每个按键都有它自己独特的位置,通过行和列的组合,矩阵键盘就能准确地知道是哪个键被按下啦。

那它怎么知道这个键被按下了呢?这就得说到它的检测机制啦。

它会不停地去“巡逻”这些行列,一旦发现有某个地方的信号有变化,嘿嘿,那就说明有键被按下去啦!这多有意思呀!而且哦,矩阵键盘还很聪明呢!它不会因为你不小心碰到了别的键就乱了套,它能准确地识别出你真正想要按的那个键。

这就好像一个经验丰富的侦探,能从一堆线索中找到真正的关键信息。

你说这矩阵键盘是不是很厉害?它就静静地待在那里,随时准备为我们服务,只要我们一伸手,它就能快速响应。

想想我们日常生活中的各种电子设备,好多都有矩阵键盘的身影呢!从小小的遥控器到复杂的电脑键盘,它们都在默默地工作着。

我们每天都在和它们打交道,却很少有人真正去了解它们背后的原理。

现在你知道了矩阵键盘的按键识别原理,是不是对这些常见的东西又多了一份好奇和敬意呢?下次再使用有矩阵键盘的设备时,你可以在心里默默感叹一下它的神奇哦!反正我是觉得挺有意思的,它就像是一个隐藏在电子世界里的小秘密,等着我们去发现和探索。

这不就是科技的魅力所在嘛!所以呀,别小看了这些看似普通的东西,它们背后可都有着不简单的原理和故事呢!原创不易,请尊重原创,谢谢!。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

//根据列线的值来判断是哪一个按键按下了
{
case 0x0E:
//P20
K5
P0 = 0xEF;
break;
case 0x0D:
//P21 K6
P0 = 0xDF;
break;
case 0x0B:
//P22 K4
P0 = 0xF7;
break;
case 0x07:
//P23 K2
P0 = 0xFD;
ucKeyValue = (P2 & 0x0F); //读取端口值
if(ucKeyValue != 0x0F) //读取列线,并判断是否有按键按下
{
Delayms(10);
//延时去抖
ucKeyValue = (P2 & 0x0F); if(ucKeyValue != 0x0F) //确定有按键按下
采用行列式键盘的优点在于:在行列键盘中,每条水平线和垂直线在交叉处不直接连通, 而是通过一个按键加以连接,这样,一个端口就可以构成 4X4 个按键,比直接接独立按键 的时候多了一倍,而且线越多,区别越明显。因此,当需要的按键比较多的时候,采用矩阵 键盘来做事比较合理的。
矩阵键盘的结构要比独立按键复杂一些,在检测的时候也要相对复杂。一般情况,将行 线所接的 IO 作为输出端,列线所接的 IO 作为输入端。当没有按键按下的时候,所有的输 出都是高电平。扫描的时候,输出端(即行线)输出低电平,一旦有按键按下了,输入线就 会被拉低,这样,通过读取输入线的状态就可以得知是否有按键按下了。
//P23 K1
P0 = 0xFE;
break;
default:
break;
}
}
}
- 专业电子技术交流社区 电子工程师网上家园 -
电子
第 4页
行扫描法矩阵键盘检测
电子园
P2 = 0xFF;
//先置位端口
Row2 = 0;
//拉低第二行检测
/forum-116-1.html
**********************************************************************/
#include <REG52.H>
sbit Row1 = P2^4; //矩阵键盘第一行 sbit Row2 = P2^5; //矩阵键盘第二行
GUI开发学习网

STM32 开发学习网

EDA软件学习网

DSP开发学习网

PIC单片机学习网
51 单片机学习网

USB开发学习网

CAN总线学习网

AVR单片机学习网
ARM开发学习网

FTPA开发学习网
ucKeyValue = (P2 & 0x0F); //读取端口值
if(ucKeyValue != 0x0F)
//读取列线,并判断是否有按键按下
{
Delayms(10);
//延时去抖
ucKeyValue = (P2 & 0x0F);
if(ucKeyValue != 0x0F)
//确定有按键按下
{
switch (ucKeyValue)
- 专业电子技术交流社区 电子工程师网上家园 -
电子
第 7页
{
switch (ucKeyValue)
//根据列线的值来判断是哪一个按键按下了
{
case 0x0E:
//P20 K7
P0 = 0xBF;
break;
case 0x0D:
//P21 K8
P0 = 0x7F;
break;
case 0x0B:
//P22 K3
P0 = 0xFB;
break;
case 0x07:
void Delayms(unsigned char); void Key_Scan(void);
//延时函数,参数每增加 1,大概延时增加 1 毫秒 //矩阵键盘扫描函数
//main 函数
- 专业电子技术交流社区 电子工程师网上家园 -
电子
第 3页
行扫描法矩阵键盘检测
行扫描法矩阵键盘检测
电子园
51 单片机进阶篇
---矩阵键盘扫描
本文作者:Cepark 更新时间:2010/07/28 作者博客:
- 专业电子技术交流社区 电子工程师网上家园 -
电子
第 1页
行扫描法矩阵键盘检测
CEPARK51 实验板上的矩阵键盘是 2X4=8 的矩阵键盘,行线接在了 P2.4 和 P2.5 口,列 线接在了 P2.0-P2.3 口。
我们的扫面思路是:先将行线 P2.4 口拉低(主动拉低),然后去检测列线 P2.0-P2.3 的 状态,如果其都为高电平,说明没有按键按下,如果都一个为低电平,那么可以通过查询 P2.0-P2.3 的状态来确定是哪一个被按下了,同理再检测 P2.5 口对应的列。在程序中我们使 用 8 个 LED 作为 8 个矩阵键盘的指示。
电源技术专区
htt疗电子专区

汽车电子专区

消费电子专区

更多子站建设中,敬请关注!
break;
default:
break;
}
}
}
}
//延时函数,ucDelay 参数每增加 1,大概延时增加 1 毫秒 //延时函数的编写可以使用软件仿真来测试 void Delayms(unsigned char ucDelay) //延时函数 {
unsigned int i; for(;ucDelay > 0;ucDelay--)
常用的矩阵按键识别方法有:行扫描法、线翻转法和利用专门的 IC 的键盘接口(如 8279)。另外,基于状态机的按键扫描方法也是一种不错的选择。行扫描法和线翻转法需要 反复查询按键的状态,会占用大量的 CPU 时间,使用专门的 IC 会提高按键的查询效率,但 是会大大提高硬件的成本。
本节将以 CEPARK51 实验板为例介绍行扫描法。

DIY开发学习网

GPS开发学习网

- 专业电子技术交流社区 电子工程师网上家园 -
电子
第 6页
行扫描法矩阵键盘检测
电子园
for(i = 112;i > 0;i--); }
- 专业电子技术交流社区 电子工程师网上家园 -
电子
第 5页
行扫描法矩阵键盘检测
电子园
1、 电子园网站简介
CEPARK 电子园是一个以讨论电源、单片机、MCU、DSP、嵌入式软件、电子 DIY 等电子 技术的开放社区网站。CEPARK 电子园的宗旨是给所有爱好电子的朋友提供一个自由、开放、 免费的交流空间,并通过零利润的公益助学活动,让爱好电子的朋友能用相当低廉的价格开 始学习电子,而 CEPARK 电子园的论坛、“家园”、资源中心、博客、群组等功能,又为您 提供了开放的学习、讨论、请教求助的空间和渠道。
CEPARK 电子园的目标是建成中国最好的电子技术开放共享社区,为推动中国电子工程 师终生学习以及电子产品研发作出贡献。为广大网友提供一个自由、开放、专业的技术交流 空间,并努力与广大 CEPARK 电子园的朋友们一起建设一个更轻松的、更惬意、更完善的技 术、生活交流家园!
CEPARK 电子园创办于 2008 年。在短短的时间里,因其便利的学习方式和货真价实的助 学产品,获得了广大电子爱好者的支持和帮助,并对网站的内容建设提出了建设性的意见和 建议。CEPARK 电子网今天已经成为获得了 Alexa 排名 15 万以内、论坛每天的平均在线交流 人数超过 300 多人、每天平均 PaveView 超过 5 万次、访问独立 IP 数超过 1 万的活跃社区。
电子园
在键盘中按键数量较多时,为了减少 IO 口的占用,通常将按键排列成矩阵形式,也就 是常说的矩阵键盘。行列式键盘的按键实际上就是一个机械开关,该开关位于行线和列线的 交点处。如下图所示就是一个 4X4 矩阵键盘的图示和实物。
当有按键按下时,其交点的行线和列线接通,相应行线活列线上的电平发生变化,从而 确定被按下的功能键。
- 专业电子技术交流社区 电子工程师网上家园 -
电子
第 2页
行扫描法矩阵键盘检测
电子园
/********************************************************************** * 文件名称: main.c/矩阵按键检测 * 程序作者: kidcao1987 * 程序版本: V1.0 * 编制日期: 2010/07/28 * 功能描述: 矩阵按键检测 * 编译器:KEIL C51 * 芯片:STC89C52,外部 11.0592MHZ 晶振 * 技术支持: * Cepark 暑期 51 在线免费培训用程序:
void main(void) {
while(1) //程序循环 {
Key_Scan(); }
电子园
}
//矩阵键盘扫描程序
void Key_Scan(void)
{
unsigned char ucKeyValue;
P2 = 0xFF; //先置位端口
Row1 = 0;
//拉低第一行
2、 电子园分站点
电子园论坛

电子园百科
电子园商城
电子园家园
电子园网址
3、 电子园子站点
相关文档
最新文档