键盘显示器接口

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图10-2 其他各种字型的LED显示器
4
10.1.2 LED数码管工作原理 图10-3所示为显示4位字符的LED数码管的结构原理
图。N位位选线和8 N条段码线。段码线控制显示字型, 而位选线控制着该显示位的LED数码管的亮或暗。
图10-3 4位LED数码管的结构原理图
5
LED数码管有静态显示和动态显示两种显示方式。 1.LED静态显示方式
另一种是采用专用的键盘/显示器接口芯片,这类芯片 中都有自动去抖动的硬件电路。
12
10.2.2 键盘的工作原理 键盘可分为两类:非编码键盘和编码键盘。 非编码键盘是利用按键直接与单片机相连接而成,这种 键盘通常使用在按键数量较少的场合。使用这种键盘,系 统功能通常比较简单,需要处理的任务较少,但是可以降 低成本、简化电路设计。按键的信息通过软件来获取。 1.非编码键盘 常见的为两种结构:独立式键盘和矩阵式键盘。 (1)独立式键盘 特点是:一键一线,各键相互独立,每个键各接一条 I/O口线,通过检测I/O输入线的电平状态,可容易地判断 哪个按键被按下,如图10-8所示。
KEY1: MOV C,P1.1;读P1.1的按键状态 JC KEY2 ;P1.1为高,该键未按下,跳KEY2, ;判下一个键 LJMP PKEY1 ;P1.1的键按下,跳PKEY1处理
17
KEY2: MOV C,P1.2 JC KEY3
LJMP PKEY2 KEY3: MOV C,P1.3
…… …… KEY7: MOV C,P1.7 JC RETURN
一种软件延时,本思想是:在检测到有键按下时,该键 所对应的行线为低电平,执行一段延时10ms的子程序后, 确认该行线电平是否仍为低电平,如果仍为低电平,则确 认该行确实有键按下。当按键松开时,行线的低电平变为 高电平,执行一段延时10ms的子程序后,检测该行线为 高电平,说明按键确实已经松开。采取本措施,可消除两 个抖动期t1和t3的影响。
图10-4 4位LED静态显示电路
6
2.LED动态显示方式
图10-5 4位8段LED动态显示电路
7
图10-6 8位LED动态显示过程和结果
静态显示与动态显示的优点和缺点
8
10.2 键盘接口原理 键盘具有向单片机输入数据、命令等功能,是人与单片 机对话的主要手段。下面介绍键盘的工作原理和键盘的工 作方式。 10.2.1 键盘输入应解决的问题 1.键盘的任务 任务有三项: (1) 判别是否有键按下?若有,进入下一步工作。 (2)识别哪一个键被按下,并求出相应的键值。 (3)根据键值,找到相应键值的处理程序入口。
13
图10-8 独立式键盘接口电路
14
对于图10-8的键盘,图中的上拉电阻保证按键释放时, 输入检测线上有稳定的高电平。
当某一按键按下时,对应的检测线就变成了低电平,与 其他按键相连的检测线仍为高电平,只需读入I/O输入线 的状态,判别哪一条I/O输入线为低电平,很容易识别哪 个键被按下。
优点:电路简单,各条检测线独立,识别按下按键的软 件编写简单。适用于键盘按键数目较少的场合,不适用于 键盘按键数目较多的场合,因为将占用较多的I/O口线。
18
软件延时10ms子程序DELAY10的编写,参见第4章。 对应8个按键的键处理程序PKEY0~ PKEY7,根据按键功 能的要求来编写。注意,在进入键处理程序后,需要先等 待按键释放,再执行键处理功能。另外,在键处理程序完 成后,一定要跳向RETURN标号处返回。
9
2.键盘输入的特点 常见键盘:触摸式键盘、薄膜键盘和按键式键盘,最常 用的是按键式键盘。按键实质上就是一个开关。如图10-7 (a)所示,按键开关的两端分别连接在行线和列线上, 通过键盘开关机械触点的断开、闭合,其行线电压输出波 形如图10-7(b)所示。
图10-7 键盘开关及其行线波形
10
图10-7(b)所示的t1和t3分别为键的闭合和断开过程中 的抖动期(呈现一串负脉冲),抖动时间长短与开关的机 械特性有关,一般为5~10ms,t2为稳定的闭合期,其时 间由按键动作确定,一般为十分之几秒到几秒,t0、t4为 断开期。
LJMP PKEY7 RETURN: RET
;读P1.2的按键状态 ;P1.2为高,该键未按下,跳 ;KEY3,判下一个键 ;P1.2的键按下,跳PKEY2处理 ;读P1.3的按键状态
;读P1.7的按键状态 ;P1.7为高,该键未按下,跳 ;RETURN处 ;P1.7的键按下,跳PKEY7处理 ;子程序返回
15
识别某一键是否按下的子程序:
KEYIN: MOV P1,0FFH;P1口写入1,设置P1口为输入状态
MOV A,P1
;读入8个按键的状态
CJNE A,#0FFH,QUDOU;有键按下,跳去抖动
LJMP RETURN
;无键按下,返回
QUDOU:MOV R3,A
;8个按键的状态送R3保存
LCALL DELAБайду номын сангаас10
3.按键的识别
键的闭合与否,行线输出电压上就是呈现高电平或低电 平。高电平,表示键断开,低电平则表示键闭合,通过对 行线电平的高低状态的检测,可确认按键按下以及按键释 放与否。为了确保对一次按键动作只确认一次按键有效, 必须消除抖动期t1和t3的影响。
11
4.如何消除按键的抖动 按键去抖动的方法有两种:
;调用延时子程序,软件去键抖动
MOV A,P1
;再一次读入8个按键的状态
CJNE A,R3,RETURN;两次键值比较,不同, ;是抖动引起,转RETURN
16
KEY0: MOV C,P1.0;有键按下,读P1.0的按键状态 JC KEY1 ;P1.0为高,该键未按下,跳KEY1, ;判下一个键 LJMP PKEY0 ;P1.0的键按下,跳PKEY0处理
第10章 AT89S51单片机与输入/输 出
外设的接口
10.1 LED数码管的显示原理 LED(Light Emitting Diode)发光二极管缩写。LED
数码管是由发光二极管构成的。 10.1.1 LED数码管的结构
图10-1 8段LED数码管结构及外形
2
3
除 “8”字型的LED数码管外,市面上还有“±1” 型、“米”字型和“点阵”型LED显示器,如图10-2所示。 本章均以“8”字型的LED数码管为例。
相关文档
最新文档