- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十五章 键盘与显示
15.0 键盘控制的小例子 15.1 单片机的人机接口 拨码盘与单片机的接口 BCD拨码盘的结构及工作原理 程序说明 拨码盘的数据存放在8031片内RAM的30H~33H单元中,某个单元的高4位为0,低4位为BCD码。 R0为存放数据的地址指针; R2为P1输出的控制字; R3为BCD拨码盘的个数 由于按键是机械触点,当机械触点断开、闭合时,会有抖动,P1.0输入端的波形如下图所示。这种抖动对于人来说是感觉不到的,但对计算机来说,则是完全可以感应到的,因为计算机处理的速度是在微秒级,而机械抖动的时间至少是毫秒级,对计算机而言,这已是一个“漫长”的时间了。 为使CPU能正确地读出P1口的状态,对每一次按键只作一次响应,就必须考虑如何去除抖动,常用的去抖动的方法有两种:硬件方法和软件方法。单片机中常用软件法。 对于硬件方法有双稳态方法等,同学请参考教材。 软件法其实很简单,就是在单片机获得P1.0口为低的信息后,不是立即认定S1已被按下,而是延时10毫秒或更长一些时间后再次检测P1.0口,如果仍为低,说明S1的确按下了,这实际上是避开了按键按下时的抖动时间。 而在检测到按键释放后(P1.0为高)再延时5-10个毫秒,消除后沿的抖动,然后再对键值处理。 15.3 键盘(独立按键)与单片机的连接方式 15.4 键盘(矩阵式)与单片机的连接方式 矩阵式键盘的结构: 每一水平线(行线)与每一垂直线(列线)的交叉处不相通,而当某一键按下,则该键对应的行线和列线被短路,即行线电平状态由与此行线相连的列线电平确定。利用N个行线和M个列线即可组成N×M个键的键盘。 单片机对非编码键盘扫描的控制方式 扫描方式有三种: 1.程序控制扫描方式,即查询方式 2.定时扫描方式, 利用单片机内部定时器产生中断, CPU响应中断对键盘进行一次扫描,定时扫描方式的硬件电路与查询扫描方式相同. 3.中断扫描方式,引起外部中断后, CPU响应中断对键盘进行扫描. 采用哪种方式是根据应用系统的CPU的“忙”,“闲”以及键数目的多少来确定. 矩阵式键盘的工作原理 1)识别是否有键按下:扫描 2)去抖: 延时 3)闭合键的键值确定:根据行线和列线的状态求得。 4)键的闭合与否:可通过高低电平状态的检测来确认 5)扫描方法:把全部列线置为低电平,然后将行线的电平状态读入A中,如有键按下,则至少有一根行线为低电平,从而使行输入不全为1。 键盘中哪一个键被按下是逐列置低电平后,检查行输入状态来判断的,所按下的键必在与0电平行线相交的那个键。 键值:键盘上的每个键都有一个键值,以代表键按下的特征信号。 键值赋值的最直接办法是将行线数据和列线数据按二进制顺序排列组合成键值。 15.5 键输入程序设计方法 8031外接一片8155 8155的RAM地址7E00~7EFFH(P2.7=0、P2.0=0); I/O口的地址:7F00H~7F05H(P2.7=0、P2.0=1); PA口为输出口(即键盘扫描口)、PC口为输入口(即PC0~PC3为键输入口)。 键输入程序应具有以下三个功能: 判断是否有键按下: MOV DPTR, #7F01H; 指向PA口 MOV A, #00H; 全扫描字送入PA口 MOVX @DPTR, A; INC DPTR; INC DPTR; 指向PC口 MOVX A, @DPTR; 读入PC口的状态 CPL A; 变正逻辑,以高电平表示有键按下 ANL A, #0FH; 屏蔽高4位 RET 消除键的抖动(软件消抖) 抖动时间的长短与开关的机械特性有关,一般为5~10ms,故可利用延时12ms子程序消抖。Fosc=12MHz Tcy=1us TM12S: MOV R7, #18H;一个机器周期 TM: MOV R6, #0FFH TM1: DJNZ R6, TM1; 2×256us DJNZ R7, TM; 2×256×24=12.288ms 判别闭合键并计算其键值 对键盘的列线进行扫描,扫描口PA0~PA7依次输出(见表1),同时按顺序读入PC口的可能状态,对每一个扫描字,PC0~PC3有四种可能状态(见表2) ,32个键共有64种组合(见表3): 表1 表2
文档评论(0)