当前位置:首页 > 单片机 > 单片机
[导读]   一、矩阵式键盘    1.工作原理    矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上。一个4x4的行、列结构可以构成16只按键的键盘,在按键数量较多的场合,矩阵式键盘比独立式键盘

 

  一、矩阵式键盘

1.工作原理

矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上。一个4x4的行、列结构可以构成16只按键的键盘,在按键数量较多的场合,矩阵式键盘比独立式键盘,更节省I/0口。

如图1所示,每只按键在行列线交节点上,一端接行线,另一端按列线,列线通过上拉电阻RP1接到VCC上,设QO~Q3为低电平,在没有动作时行线处于低电平状态,列线处于高电平状态,而当有按键被接下时,该键所在的列线的电平由高变低,这也是识别矩阵式键盘是否有键被接下的关键所在。要将行与列线信号配合起来并作适当的处理才行。

2.按键识别方法

下面以下图中9号键被接下为例,来说明该按键是如何被识别出来的。当9号键被接下时,与之键相连的列线3的电平将由与此键相连的行线A的电平决定。由于在天键接下时列线处于高电平状态,如果让所有行线也处于高电平,那么将不会引起列线电平的变化,也就没法判断有无键被接下,更不用说是判断接下的是哪个键了。如果将所有行线置为低电平,则接下的键所在的列线将变成低电平,根据此变化能准确判定该列有按键接下,但仍不能确定是哪个键被按下,即被接下的键在哪一行。若某时刻让一条行线处于低电平,让其余所有行线处于高电平,如A行为低电平,其余行为高电平,因为是按键9被按下,所以列3立刻变为低电平,据此可确定是A行与列3交叉点的按键(即9号键)被按下。同理可以判断出矩阵键盘中每一个被接下的键所在的行、列,即知道被按下的键名。

  根据上面的分析,可以总结出用单片机控制和读取I/0的状态来识别矩阵键盘按键的方法:

第一步,单片机通过总线地址adr0、adr1、adr2、adr3,分别扫描矩阵键盘的四条行线,看是否有按健被接下;

第二步,单片机调用延时去抖程序排除干扰因素,确认有按键被接下,然后通过总线数据线ADO、AD1、AD2、AD3,读回列线电平状态再通过软件读出行线和列线的交叉点,即找出被接下的键。

以上识别按键的方法称为扫描法。

  二、液晶显示

液晶显示器微功耗、体积小、显示内容丰富、超薄轻巧,在袖珍式仪表和低功耗系统中得到越广泛的应用。字符型液晶模块采用5×7点阵图形显示字符,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等,下面以2行16个字的LMl602液晶模块来介绍其编程方法。

LMl602采用标准的(14)脚接口,其引脚定义及功能如下表所示。VSS为地,VDD按5V正电源;VO为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一只1Oka的电位器来调整对比度;RS为寄存器选择,为高电平时选择数据寄存器、低电平时选择指令寄存器;RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW均为低电平时可以写入指令或显示地址,当RS为低电平、RW为高电平时可以读忙信号;当RS为高电平、RW为低电平时可以写入数据。E为使能端,当E由高电平跳变成低电平时,液晶模块执行命令。DO~D7为8位双向数据线。

LMl602液晶模块内部的字符发生存储器CGROM内存储了160个不同的点阵字符图形,包括阿拉伯数字、英文字母的大小写、常用符号和日文假名等。每个字符都有一个固定的代码,如大写英文字母“A”的代码是O1OOOOO1B(41H),只要显示地址41H中的点阵字符图形,使用者就能看到字母“A”。

引脚 符号引脚说明1VSS电源地2VDD电源正3VL液晶显示偏压信号4RS数据 /命令选择端(H/L)5R/W读 /写选择端(H/L)6E使能信号7DOData I/08D1Data I/09D2Data I/010D3Data I/011D4Data I/012D5Data I/013D6Data I/014D7Data I/015BLA背光源正极16BLK背光源负极

  2.基本操作时序

读状态:输入RS=L、RW=H、E=H输出DO~D7=状态字

写指令:输入RS=L、RW=L、DO~D7=指令码、E=高脉冲输出无

读数据:输入RS=H、RW=H、E=H输出DO~D7=数据

写数据:输入RS=H、RW=L、DO~D7=数据、E=高脉冲输出无

3.初始化流程

初始化过程(复位过程)

延时15ms

写指令38H(不检测忙信号)

延时5ms写指令38H

(不检测忙信号)

延时5ms

写指令38H(不检测忙信号)

延时5ms

写指令38H(不检测忙信号)

  说明:以后每次写指令、读/写数据操作之前均需检测忙信号。

写指令38H:显示模式设置

写指令08H:显示关闭

写指令01H:显示清屏

写指令06H:显示光标移动设置

写指令0CH:显示开及光标设置

给出以上具体操作时序主要是为了帮助大家更好地理解LCD驱动程序,并按照基本初始化流程书写驱动程序。驱动程序没不需要每次都编写,需要使用时,只要把以前编写的驱动程序作为头文件调用即可。液晶驱动程序见后边附程序。

三、单片机总线模式键盘检测与液晶显示总体电路

下图中的总线键盘主要是用于制作大键盘。单片机通过74LS138与74LS573进行总线模式扩展,使键盘扫描和液晶显示共用数据口通过地址信号分别控制与二者间的数据传输,以充分地利用单片机的I/O口资源。

 

  四、按键程序流程图

按键程序流程如下图所示。

  本实验在已Proteus仿真软件上验证通过。通过Keil软件进行编程,然后将生成的Hex文件加载到51单片机中,就能观察到液晶屏显示的实验现象内容。在矩阵键盘上按下任意键,在液晶显示器上就会以移位显示的方式看到软件定义的键值。 

键盘和显示器是单片机应用系统经常使用的人机交互界面,此实验可以帮助单片机初学者了解总线模式,学会用总线模式实现键盘扫描与液晶显示的技术。

 

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭