1.98k likes | 2.19k Vues
第 3 章 人机交互接口技术 . 前言 3.1 键盘接口技术 3.2 红外遥控键盘接口技术 3.3 LED 显示接口技术 3.4 LED 电子显示屏技术 3.5 LCD 显示接口技术. 第 3 章 人机交互接口技术 . ① 一个安全可靠的控制系统必须具有方便的交互功 能。 是系统与操作人员之间交互的窗口。 建立联系、交换信息的 I/O 设备的接口。 ② 包括 : 键盘、显示、打印等。 ③ 操作人员通过显示的内容,及时掌握生产情况。 对应用系统进行人工干预,以使其随时能按照操作人员的意图工作。. 微机控制技术.
E N D
第3章 人机交互接口技术 • 前言 • 3.1 键盘接口技术 • 3.2 红外遥控键盘接口技术 • 3.3 LED显示接口技术 • 3.4 LED电子显示屏技术 • 3.5 LCD显示接口技术
第3章 人机交互接口技术 ①一个安全可靠的控制系统必须具有方便的交互功 能。 • 是系统与操作人员之间交互的窗口。 • 建立联系、交换信息的 I/O 设备的接口。 ② 包括: 键盘、显示、打印等。 ③ 操作人员通过显示的内容,及时掌握生产情况。 对应用系统进行人工干预,以使其随时能按照操作人员的意图工作。 微机控制技术
3.1 键盘接口技术 若干按键的集合构成键盘, 是操作人员向系统提供干预命令的接口设备。 键盘分类: (1) 编码键盘 ·能自动识别按下的键并产生相应代码, 以并行/串行方式送给 CPU。 ·使用方便,接口简单,响应速度快,但较贵。 (2) 非编码键盘 ·通过软件来确定按键并计算键值。 价格便宜,因此得到了广泛的应用。 微机控制技术
3.1 键盘接口技术 3.1.1 键盘设计需解决的几个问题 3.1.2 少量功能键的接口技术 3.1.3 矩阵键盘的接口技术 3.1.4 触模式电子开关接口技术 3.1.5 键盘特殊功能的处理
3.1.1 键盘设计需解决的几个问题 1.按键的确认 ·键盘实际上是一组按键的集合。 ·每一个按键即一个开关量输入装置。 ·通过电平状态检测确定键的闭合与否。 微机控制技术
3.1.1 键盘设计需解决的几个问题 说明: 1.连击、重键客观存。 2. 按甚么原则进行确认由设计者确定 2.重键与连击的处理 按键的确定方法: (1) 按下时间最长的为当前按键 (2) 最先按下的键为当前按键, (3) 最后释放的键看成是输入键。 (4) 采用单键按下有效,多键同时按下无效。 (若系统设有复合键,另论)。 微机控制技术
3.1.1 键盘设计需解决的几个问题 3.按键防抖动技术 对于采用机械弹性开关的键盘: (1)由于机械触点的弹性作用,一个按键开关在闭合 及断开的瞬间必然伴随有一连串的抖动。 (2)其波形如 图3-1 所示。抖动过程的长短由按键的 机械特性决定,一般为 10~20ms。 微机控制技术
3.1.1 键盘设计需解决的几个问题 图3—1 按键抖动信号波形 微机控制技术
3.1.1 键盘设计需解决的几个问题 可以从硬件及软件两方面排除抖动的影响解决。 (1)硬件防抖技术 ① 滤波防抖电路 ·利用 RC 积分电路对于干扰脉冲的吸收作用。 ·只要选择好时间常数,就能在按键抖动信号 通过此滤波电路时,消除抖动的影响。 滤波防抖电路图,如图3 - 2所示。 微机控制技术
3.1.1 键盘设计需解决的几个问题 图3—2 滤波防抖电路 微机控制技术
3.1.1 键盘设计需解决的几个问题 分析: K 未按下,电容两端电压为 0,非门输出为1。 K 刚按下时: C 两端电压不可能产生突变, (尽管在触点接触过程中可能出现抖动) 适当选取 R1、R2、C 值,可保证电容 C 两 端的充电电压波动不超过非门的开启电压 ( TTL 为 0.8 V ),非门的输出将维持高电平。 同理,K 断开时,由于电容 C 经过电阻 R2 放电, C 两端的放电电压波动不会超过门的关闭电 压,因此,门的输出也不会改变。 微机控制技术
3.1.1 键盘设计需解决的几个问题 总之: 只要 R1、R2 和 C 的时间常数选取得当, 确保电容 C 由稳态电压充电到开启电压, 或放电到关闭电压的延迟时间 等于 或 大于 10ms, 该电路就能消除抖动的影响。 微机控制技术
3.1.1 键盘设计需解决的几个问题 ② 双稳态防抖电路 用两个与非门构成一个 RS 触发器 即形成双稳态防抖电路。 图3—3 双稳态防抖电路图 微机控制技术
3.1.1 键盘设计需解决的几个问题 (2)软件防抖方法 ·当第一次检测到有键按下时,先用软件延时 (10ms~20ms),而后再确认该键电平是否仍维持 闭合状态电平。若保持闭合状态电平;则确认此 键确已按下,从而消除了抖动的影响。 (3) 两种方法的比较 ·采用硬件防抖: N个键就必须配有 N个防抖电路。 ·采用硬件防抖: 费机时。 微机控制技术
3.1.2少量功能键接口技术 设计思路·对于具有少量功能键的系统, 多采用相互独立的接口方法, 即每个按键接一根输入线, 各键的工作状态互不影响。 ·采用硬件中断或 软件查询方法均可实现其键盘 接口。 采用中断方式接口的硬件电路图,如图3.4所示。 微机控制技术
采用中断方式接口的硬件电路图 图3.4 操作功能键硬件接线图 微机控制技术
3.1.2少量功能键接口技术 分析: ·按键 SB7~SB0 各具一种功能。 ·全开时,对应的各条列线全部为高电平, 使 74LS30 输出 0,反向后为 1,不产生中断。 ·其中某键被按下, 端变作高电平,申请中断。 · CPU 响应后, 用查询的方法找出被按下的功能键。 再通过软件查找出功能键服务程序的入口地址。 ·查询的过程决定了键功能的优先权。 微机控制技术
3. 1.3矩阵键盘接口技术 ① 键数量比较多的系统之中常采用矩阵式键盘。 ② 矩阵式键盘 : 由行线和列线组成, 按键设置在行、列结构的交叉点上, 行列线分别连在按键开关的两端。 列线通过上拉电阻接至正电源,以使无键按下时列线处于高 电平状态。 ③ 键盘与微型机的连接方法是采用 I/0 接口芯片/锁存器 ( 8155、8255等)/(74LS273、74LS244,74LS373等) 微机控制技术
3. 1.3矩阵键盘接口技术 键盘处理程序的关键是如何识别键码 ·微型机对按键识别的办法是“扫描”。 ·两种扫描法: 程控扫描法 中断扫描法。 微机控制技术
1. 程控扫描法 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 图3—5 采用8255A 接口的4×8 键盘矩阵 微机控制技术
3. 1.3矩阵键盘接口技术 (1)电路分析 ① 8255A 端口C 行扫描 端口A 读入列值 ② 8255A 控制口、端口A、端口B、端口C的地址: 8003H,8000H,8001H、8002H。 • 4×8 = 32个键。 键编号依次为:0、1、2、3…1E、1F,称其为键值。 ④ 通过键译码程序找出每个键的键值, 根据键值确定其是功能键还是数字键,并分别进行处理。 微机控制技术
3. 1.3矩阵键盘接口技术 (2)程控扫描方法 ① 判断是否有键按下。 ·通过 PC口 使所有的行输出均为低电平, ·从端口A 读入列值。 如果读人值为 FFH, 无键按下。 如果读人值不为 FFH, 有键按下。 ② 去除键抖动。 ·若有键按下,延时 10~20ms,再一次判断有无键按下, ·如果此时仍有键按下,则认为键盘上确有一个键被按下。 微机控制技术
3. 1.3矩阵键盘接口技术 ③ 求闭合键的键值。 ·对键盘逐行扫描。 使 PC0=0,读入列值,若等于FFH,说明该行无键按下。 再对下一行进行扫描(即令PC1=0)…… ·直至发现列值不等于FFH,则说明该行有键按下。 求出其键值。 ·求键值。 键值= 8键×行值 +列值 例如,X2 行 Y3列键被按下,求其键值。 微机控制技术
键值计算过程 (1) 求行值: · X0行,(PC0=0),行值=FFH,无键按下,行值=00H十08H; · Xl行,(PC1=0),行值=FFH,无键按下,行值=08H+08H=10H · X2行,(PC2=0),行值≠FFH),则行值寄存器=10H, (2) 求列值。 将列值读数逐位右移, ·第一次移位,移出位=1,列值=00H十01H=01H; ·第二次移位,移出位=1,列值=00H十01H+1=02H; ·第三次移位, 移出位=1,列值=01H十01H十01H=03H; ·第四次移位,移出位=0,列值=03H,不变。 (3) 将行值与列值相加 键值=行值+列值=10H十03H=13H,故该键值为13H=19D
3. 1.3矩阵键盘接口技术 ④ 为保证键每闭合一次,CPU只作一次处理, 程序中需等闭合键释放后才对其进行处理。 完成上述任务的程控扫描程序流程图, 如图3-6所示。 微机控制技术
图3—6 程控扫描法程序流程图 微机控制技术
ORG 0200H • KEYPRO:ACALL DISUP ;调用显示子程序 • ACALL KEXAM ;检查是否有键按下 • JZ KEYPRO ;若无键按下,则转KEYPRO,继续等待并检查 • ACALL D10ms ;若有键按下,延时10ms,以防止抖动 • ACALL KEXAM ;再次检查是否有键按下 • JZ KEYPRO ;若无键按下,则转KEYPRO • KEY1: MOV R2,#0FEH ;输出使X0行为低电平 • MOV R3,#00H ;列值寄存器清零 • MOV R4,#00H ;行值寄存器清零 • KEY2: MOV DPTR,#8200H ;指向8255A C口 • MOV A,R2 ;扫描第一 • MOVX @DPTR,A • MOV DPTR,#8000H ;指向8255A A口 • MOVX A,@DPTR ;读入列值 • CPL A • ANL A,#0FFH • JNZ KEY3 ;有键按下,转求列值
MOV A,R4 ;无键按下,行值寄存器加8H • ADD A,08H • MOV R4,A • MOV A,R2 ;求下一行为低电平模型 • RL A • MOV R2,A • JB ACC.4,KEY2 ;判断各行是否全部扫描完毕,未完,继续 • AJMP KEYPRO ;若全部扫描完毕,等待下一次按键 • KEY3:CPLA ;恢复列值模型 • KEY4:INC R3 ;求列值 • RRC A • JC KEY4 • KEY5:ACALL D10ms • ACALL KEXAM • JNZ KEY5 ;若有键按下,转KEY5,等待键释放
MOV A,R4 ;计算键值 • ADD A,R3 • MOV BUFF,A ;存键值 • AJMP KEYADR ;转查找功能键入口地址子程序 • D10ms:MOV R5,#14H ;延时10ms子程序 • DL: MOV R6,#10FFH • DL0: DJNZ R6,DL0 • DJNZ R5,DL • RET • BUFF EQU 30H • KEXAM:MOV DPTR,#8200H ;指向C口 • MOV A,#00H ;输出使所有行均为低电平 • MOV @DPTR,A • MOV DPTR,#8000H ;指向A口 • MOV A,@DPTR ;读入列值数据 • CPL A • ANL A,0FFH • RET
求功能键地址转移程序 • 图3.7 求功能键地址转移程序的流程图
ORG 8000H • KEYADR: MOV A,BUFF • CJNE A,#0FH,KYARD1 • AJMP DIGPRO ;等于F,转数字键处理 • KYARD1: JC DIGPRO ;小于F,转功能键处理 • KEYTBL: MOV DPTR,#JMPTBL ;建立功能键地址表指针 • CLR C ;清进位 • SUBB A,#10H • RL A • JMP @A+DPTR ;转相应的功能键处理程序 • BUFF EQU 30H
JMPTBL AJMP AAA ;转到16个功能键的相应入口地址 • AJMP BBB • AJMP CCC • AJMP DDD • AJMP EEE • AJMP FFF • AJMP GGG • AJMP HHH • AJMP III • AJMP JJJ • AJMP KKK • AJMP LLL • AJMP MMM • AJMP NNN • AJMP OOO • AJMP PPP
3. 1.3矩阵键盘接口技术 2. 定时扫描法 ①CPU 每隔一定的时间(如10ms)对键盘扫描 一遍。 ② 发现有键被按下时,读入键盘操作,以求出键值。③ 分别进行处理。 ④ 定时时间间隔: ·由单片机内部定时/计数器产生。 ·每隔一定长度的程序设置一次键盘查询程序。 微机控制技术
3. 1.3矩阵键盘接口技术 3.中断扫描法 ① 无键按下时,键盘与 CPU 并行工作。 ② 键盘中任何键按下都会向CPU申请中断。 ③CPU 响应中断后,即转到相应的中断服务程序: ·对键进行扫描,判别键盘上闭合键的键号。 ·作相应的处理。 图3-8所示为中断扫描法硬件接线图。 微机控制技术
中断扫描方式 图3-8 中断扫描方式 原理图 微机控制技术
3. 1.3矩阵键盘接口技术 分析: ① 无键键按下时,所有列线均为 1,经 74LS30 输出一低 电平到 中断申请线,没有中断申请。 ② 某一个键按下,使 74LS30 输出为高电平,从而使 发生跳变,向 CPU申请中断。 ③CPU响应后,即转到中断扫描程序,查出键号,且作相 应处理。 ④ 与程控法比较: ·其扫描方法与程控法相同, ·只在有键按下时,才进行扫描, 提高了计算机的工作效率 微机控制技术
3.1.4 电子薄膜开关的应用 1.薄膜开关的特点 (1)色彩靓丽 (2)文字使人一目了然 (3)形意图案更加方便使用 (4)键体清秀美观 (5)透明视窗画龙点睛
3.1.4 电子薄膜开关的应用 图3.9 形意图案示例
3.1.4 电子薄膜开关的应用 2.薄膜开关的设计 (1)开关的选择 ①迷宫式
3.1.4 电子薄膜开关的应用 ②触点式 这种薄膜式键盘的结构是分成上下两个导通的触点,触点的形式可以是圆形,也可以是矩形,通常依键的形状而定。
3.1.4 电子薄膜开关的应用 (2)电路设计 ------公共总线法
3. 1.5 键盘特殊功能处理 1.键盘锁定技术 (1) 为了防止无意按键给系统带来破坏性的影响, 常常在键盘上加锁。 (2)常用的键盘锁定的方法: ① 通过标志状态位进行控制。 ② 将“锁”加在键值锁存器的控制信号上, 通过改变控制信号的状态,来控制键盘的 “锁定” 及“打开”。 微机控制技术
1.键盘锁定技术 图3—13 键盘 锁定 技术 原理图 (a) 微机控制技术
1.键盘锁定技术 图3—13 键盘 锁定 技术 原理图 (b) 微机控制技术
1.键盘锁定技术 (1)状态“锁定”方法 ① 当“锁”处于水平位置时,8031的 P1.0 位被置于 “0”状态。 ② 当“锁”为竖直位置时,P1.0 位为“1”状态。 ③ 需要进行键译码时,首先检查 P1.0 位的状态, 若其为“0”(锁定),则不进行译码(键盘不起作用)。 需要用键盘时,先将“锁”打开 (即竖直位置,P1.0 为1)。 CPU 查到 P1.0 = 1, 则扫描键盘,进而处理。 微机控制技术
1.键盘锁定技术 (2)控制键值输入法 ① 当“锁”处于锁定(垂直)位置时,与非门右输入为l, 其输出端为1,故列值不能读出,因此键盘被锁定; ② 若将“锁”打开,则与非门输出 0,从而打开 74LS244 的使能控制端 1 = 0。 CPU 可以通过 74LS244 读人键盘列值,进而对键盘的现状进行分析。 微机控制技术
2.双功能键和多功能键的设计 2.双功能键和多功能键的设计 采用双功能键或多功能键可节省键的数量。 (1)双功能键 用设置上/下档开关实现。 图 3 - 10 所示为双功能键设计原理图。 图中; 上/下档判断信号由 8255 的 PA.7 位采样。 微机控制技术
(1)双功能键 图3—14 双功能键 原理图 微机控制技术
(1)双功能键 在双档键程序设计中有两种处理方法。 ① 一种是根据上、下档的位置(PA.7的状态),赋予同一个键两个不同的键值,以便根据不同的键值转到相应的功能键入口子程序; ② 另一种处理方法是每个功能键只赋予一个键值,但在转到功能键处理程序之前,需根据上/下档键标志进行判断,分别转到相当的处理程序。 图中的发光二极管作为指示灯,用来区别当前键盘是处于上档键状态还是在下档键状态。 微机控制技术
(2)多功能键 (2)多功能键 ① 根据一个键按下的次数,同时配合一个启动键,可 使一个键具有多种功能。 ② 作法: 选择一个 RAM 单元,对按下次数进行计数, 按下启动键后,当前计数值有效, 不同的计数值转入相应的功能程序。 微机控制技术