单片机总线模式的键盘检测与液晶显示电路设计

发布者:shtlsw最新更新时间:2018-04-06 来源: eefocus关键字:单片机  总线模式  键盘检测  液晶显示 手机看文章 扫描二维码
随时随地手机看文章

  一、矩阵式键盘
  
  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/0
8D1Data I/0
9D2Data I/0
10D3Data I/0
11D4Data I/0
12D5Data I/0
13D6Data I/0
14D7Data I/0
15BLA背光源正极
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单片机中,就能观察到液晶屏显示的实验现象内容。在矩阵键盘上按下任意键,在液晶显示器上就会以移位显示的方式看到软件定义的键值。 
  
  键盘和显示器是单片机应用系统经常使用的人机交互界面,此实验可以帮助单片机初学者了解总线模式,学会用总线模式实现键盘扫描与液晶显示的技术。


关键字:单片机  总线模式  键盘检测  液晶显示 引用地址:单片机总线模式的键盘检测与液晶显示电路设计

上一篇:ISP程序下载方式
下一篇:基于MT8816AE的语音系统设计

推荐阅读最新更新时间:2024-03-16 15:59

51单片机入门经验分享9-定时器模拟实现PWM呼吸灯效果
众所周知,PWM的应用是及其广泛的,现在很多高速的单片机内部都集成了硬件PWM,使用起来也很简单,配置好频率和装入计数值就可以工作了,但是在一些低成本的场合,我们选择的单片机没有硬件PWM功能模块,但是我们还存在这个需求怎么办呢?这个时候,我们需要用PWM来模拟实现他,但实现PWM必须要了解PWM的原理,这里我们先了解下。 PWM全称是脉冲宽度调制解调,比如1个小灯,按照500MS亮一次,500MS灭一次,周期是1S,频率是1HZ,在这里,1个周期说明白了就是2个方波,有高电平和低电平组成,在周期固定的情况下,我们通过不断的调整高电平所占的整个周期比例,即所谓的占空比,就可以实现小灯”不是那么亮“的效果,如果连续起来,就可以实
[单片机]
51<font color='red'>单片机</font>入门经验分享9-定时器模拟实现PWM呼吸灯效果
湿度传感器和单片机构成的智能湿度测量仪电路图
由HM1500/1520型湿度传感器和单片机构成的智能湿度测量仪电路如图所示。该仪表采用+5V电源,配4只共阴极LED数码管。电路*使用了3片IC:IC1为HM1500/1520型湿度传感器,IC2是由美国微芯片(Microchip)公司生产的带10位ADC的单片机PIC16F874,IC3为7达林顿反相驱动器阵列MC1413。PIC16F874是一种高性价比的8位单片机,内含8路逐次逼近式10位A/D转换器,最多可对8路湿度信号进行模数转换,现仅用其中一路。JT为4MHz石英晶体,配上振荡器电容C1、C2之后可为单片机提供4MHz时钟频率。PIC16F874的电源电压范围较宽(+2.5~+5V),适合低压供电,静态电流小于2mA
[单片机]
湿度传感器和<font color='red'>单片机</font>构成的智能湿度测量仪电路图
灵动微如何做中国最好用的MCU
MCU作为电子产业的重要“粮食”,产业版图正在发生改变。在中国庞大的市场需求驱动下,随着大陆半导体产业的不断发展以及arm核的开放生态,本土MCU厂商有望对专有核心的MCU厂商产生一定的市场冲击。 与此同时,市场对MCU的需求等级不断提升,32位MCU正成为主流应用,基于arm的生态优势,本土厂商可以快速切入32位MCU市场,加之中国政府对半导体产业的支持,本土MCU厂商也逐渐具备与海外MCU大厂竞争的底气和实力,并将在物联网的浪潮中大显身手。而这其中正有本土MCU厂商——灵动微电子的身影。 做中国最好用的MCU,跻身10亿元俱乐部 日前,在“2017灵动MM32协作大会”上,灵动微电子MCU事业部总经理娄方超表示,大陆半导体
[手机便携]
MCU助推居家移动医疗微型化
    随着行动装置的快速普及,近几年行动医疗成为热门话题,市场成长迅速,也引发了不少新的商业模式。根据美通社一份市场调查报告指出,行动医疗市场在2018年将达到234.9亿美元的规模,2013至2018年期间复合年增长率达到30.5%。     此外,据BCC Research预测,全球家用医疗设备规模将从2011年190亿美金成长到2016年262亿美金,其中辅助復健设备、监控装置等都会是成长的主要动力,可携式医疗设备也将会有大幅度的成长。经济部技术处科技专家赖建勋表示:「整个医疗趋势正在转变,未来会卖、会赚钱的都是微小化的医疗设备。」     当医疗设备走入家庭,医疗电子也有了不一样的发展趋势。有别于传统医疗设备大型
[医疗电子]
MSP430教程16:MSP430单片机的框架程序
MSP430单片机的框架程序(转)下面给出MSP430的程序框架,我们可以在此基础上修改以及添加自己所需的程序。 /***************************************************************************** 文件名:main.c 描述:MSP430框架程序。适用于MSP430F149,其他型号需要适当改变。 不使用的中断函数保留或者删除都可以,但保留时应确保不要打开不需要的中断。 保留中断函数,编译器将会为BSL密码填充所有的字节。 版本:1.0 2005-1-13 *******************************************
[单片机]
数模转换器DAC7724与51单片机的接口及程序设计
0 引言 在微计算机电机控制的机电设备中,常常需要把数字信号变成模拟信号,以驱动机电设备的运行。在这个过程中,D/A转换是一个十分重要的环节,同时也是微计算机电机控制系统重要的组成部分。 1 DAC7724的主要特点 DAC7724是TI公司生产的12位并行输入4通道D/A转换器,该转换器具有以下特征: ◇±15V以内的双电源工作; ◇输出电压:VREFL~VREFH,VREF:-10~+10V; ◇采用12位并口输入和4通道隔离输出方式; ◇可以上电自动复位; ◇转换速率快,更新率为1 MHz; ◇工作温度范围在-40~85℃的范围内。 2 内部结构及引脚说明 2.1 结构原理 DAC7724的
[单片机]
数模转换器DAC7724与51<font color='red'>单片机</font>的接口及程序设计
基于51单片机、EDA技术的波形发生器的设计
  该波形发生器以单片机(MCS8031)为中心控制单元,由键盘输入模块、数码管显示模块、D/A波形发生模块、幅值调整模块组成。采用DDFS技术,先将要求的波形数据存储于EEPROM中,这样可以保证掉电以后波形数据不丢失。   为了达到所要求的高速度,采用FPGA(ALTEAR 公司的 EPF10K10LC84-4, 晶振频率可达 40MHz)来实现波形的发生,通过DDFS技术(直接数字频率合成技术)、VHDL语言和单片机汇编语言编程技术的完美结合实现了对正弦波、方波和三角波三种波形的频率、幅值的设置和发生。   随着深亚微米半导体技术的进步,可编程逻辑器件及EDA技术的应用已经相当普及。基于可编程逻辑器件的高频性质和单片机
[单片机]
基于51<font color='red'>单片机</font>、EDA技术的波形发生器的设计
ST牵手飞思卡尔,将32位MCU带入汽车应用
飞思卡尔与意法半导体将携手开展一项广泛的联合创新计划,加强各自在汽车应用领域的实力。两家公司将联合组建一支微控制器设计团队,共同利用处理工艺技术,共享知识产权,其中包括大功率MOS技术。 两家公司的协议涉及到高性能、经济高效的32位微控制器(基于PowerPC内核)、汽车和导航应用的基本知识产权(IP)、90nm嵌入式闪存处理技术、高压Power MOSFET(金属氧化物半导体场效应晶体管)和IGBT(绝缘栅双极晶体管)技术。 联合设计的产品将使用经过市场验证的PowerPC体系结构,并利用ST和飞思卡尔在嵌入式闪存领域的广泛专业技能,向客户提供强大而经济高效的解决方案。同时,飞思卡尔将在一些应用(如混合电动汽车)中使用ST的
[焦点新闻]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved