- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章单片机应用系统接口技术精要.ppt
单片机常用的键盘结构形式有独立式和矩阵式两种,单片机实现键盘接口的常用方法和接口芯片有: ①使用单片机本身的并行口; ②使用单片机本身的串行口; ③使用通用接口芯片 例如8255、8155等 ; ④使用专用接口芯片 例如8279 、ZLG7289A等 。 3.单片机常用的键盘结构形式. 第七章 7 --- * ? 1)检测是否有键按下; 2)若有键按下,判定是哪一个键; 3)确定被按键的含义; 4)反弹跳 去抖动 ; 5)不管一次按键持续的时间有多长,仅采用一个数据; 6)防止串键,对多健按下时有三种处理办法: “n键同时按下”的情况: ①只认为最后一个键按下为为有效; ②将按键的信息存入键盘输入缓冲器,逐个处理。 4.键的确认及接口硬件、软件任务 “两键同时按下”的情况: ①只有一个键按下时才读取键盘的输出,最后仍被按下的键有效; ②当第一个键未松开时,按第二个键不起作用 硬件实现 。 “n键锁定”技术——只处理一个健。 第七章 7 --- * 二、简易键盘接口 1.简单开关接口 ——开关主要用于向单片机输入一个固定不变的电平信号,开关信号可通过机械式开关、电子式开关等产生。 开关输入电路 光电传感器开关接口电路 P1.0 8031 VCC2 R1 R2 T D VCC1 第七章 7 --- * 独立式按键是指直接用I/O口线构成的单个按键电路。每根I/O口线上按键的工作状态不会影响其他I/O口线的工作状态。 2.独立式按键结构 第七章 7 --- * 独立式按键可直接由单片机的I/O口接入,也可由扩展I/O口接入。 第七章 7 --- * 可编程I/O接口输入 第七章 7 --- * 三、矩阵式键盘接口 ①使所有列为低电平,检查各行线电平是否有变化,有变化则有健按下; ②使某列为低电平,其余各列为高电平,再依次检查各行线电平的变化,某行线电平变低,则此行、列交点处按键按下。 矩阵式键盘用于按键数目较多的场合,它由行线和列线组成。 1. 矩阵式键盘的工作原理 无健按下时,行线处于高电平状态;当有健按下时行线电平由将由与此行线相连的列线的电平确定。 +5V 8 R R R R 0 1 2 0 1 2 0 1 2 3 4 5 6 7 I/O 口 2. 矩阵式键盘按键的识别方法 —— 采用扫描法 第七章 7 --- * 例1.由8255和单片机组成矩阵式键盘接口 (1)键盘扫描程序功能 1)判断键盘上有无键按下 2)去键的机械抖动影响。 3)求按下键的键号。 4)等待键释放 5)转相应的键处理子程序 健号的确定 通常都以键的排列顺序安排键号。这样,各行的首号依次是00H、04H、08H、0CH,如列号按0~3顺序 则键号的计算为:键码 行首号+列号。 +5V R×4 0 4 2 0列 00H 01H 0FH PA0 PA1 PA2 PA3 8255 PB0 CS PB1 PB2 PB3 1 06H 02H 03H 1列 2列 3列 04H 05H 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 200H~203H D0~D7 第七章 7 --- * (2 键扫描子程序设计 开 始 健扫描 有健按下? 健号计算 去抖动 等待健释放 JMP @A+DPTR 00H 健 处理程序 01H 健 处理程序 n 健 处理程序 Y N 第七章 7 --- * 设8255的A口地址为200H,B口地址为201H。 1)判定有无闭合键的子程序 设子程序为KS1,程序段如下: KS1: MOV DPTR, #201H ;指向B口 MOV A,#00H ;B口送00H MOVX @DPTR,A DEC DPL ;指向A口 MOVX A,@DPTR ;读A口 CPL A ;A取反,无键按下则全“0” ANL A,0FH ;屏蔽A高半字节 RET 执行KS1子程序的出口参数是: 有闭合键则 A ≠0, 无闭合键则 A 0。 第七章 7 --- * 2)键盘扫描程序 单片机应用系统中键盘和显示器一般同时存在,把显示程序作为键盘扫描的延时子程序,实现软件去抖动 。 KEY1: ACALL KS1 ;检查是否有键闭合 JNZ LK1 ;A非“0”则有健按下,转移LK1 ACALL DIR ;显示一次 延时10 ms AJMP KEY1 LK1: ACALL DIR ;有键闭合二次软件去抖动延时,共20 ms ACALL DIR ACALL KS1 ;再检查有键闭合否 JNZ LK2 ;有键闭合,转LK2 ACALL DIR AJMP KEY1 ;去抖动确认无键闭合,延时后转KEY1在查健 LK2: MOV R2,#0EH ;确定
文档评论(0)