isp1016实现机载导航系统的键盘控制

上传人:pu****.1 文档编号:559617072 上传时间:2023-06-05 格式:DOCX 页数:6 大小:10.44KB
返回 下载 相关 举报
isp1016实现机载导航系统的键盘控制_第1页
第1页 / 共6页
isp1016实现机载导航系统的键盘控制_第2页
第2页 / 共6页
isp1016实现机载导航系统的键盘控制_第3页
第3页 / 共6页
isp1016实现机载导航系统的键盘控制_第4页
第4页 / 共6页
isp1016实现机载导航系统的键盘控制_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《isp1016实现机载导航系统的键盘控制》由会员分享,可在线阅读,更多相关《isp1016实现机载导航系统的键盘控制(6页珍藏版)》请在金锄头文库上搜索。

1、isp1016实现机载导航系统的键盘控制摘要介绍了用可编程逻辑芯片设计机载导航系统键盘控制器的设计 要点,给出了接口信号及驱动程序的核心代码。该设计具有典型性、通用性和实用性,并可用到各种键盘控制器中。关键词键盘控制器在线可编程扫描线10161键盘控制器的外部接口信号无论在任何计算机系统中,键盘都是最重要的输入设备,但是普通键 盘不能满足机载要求。笔者在新一代电子航空图导航系统中,用公司的1016设计了一个4x5 键盘控制器以下简称,经实际应用,该键盘控制器通用性较强。图1是其键盘和显示器外观示意图。一航情况下,应该是的一个外部设备,它一方面监测各按钮状态,另 一方面接受的查询并主动向请求中断

2、。因此,外部接口信号分接口信号和键盘按钮矩阵状态信号。图2为通用外部接口信号示意图,其定义如下*复位,低有效。该信号有效时将异步复位内部所有寄存器,以对进行初始化;*工作时钟,频率为100;*片选,低有效;*读信号,低有效;*0片内地址,用于区分片内寄存器;*中断请求,高有效。当键盘控制器检测到有效按键时,该脚为高,当读走按键编码时,自 动撤销中断请求;*40三态数据线;*3-0扫描输出,按键盘矩阵的列线;*40回复线,接键盘矩阵的行线。实际上,大部分矩阵键盘的行列是可对换的。2接口寄存器定义及驱动程序针对接口设计有2个只读寄存器,即数据寄存器和状态寄存器。数据寄存器用于保持有效按键的编码值,

3、该编码值就是按键所在的行 列;而状态寄存器则用于保持按键的状态信息,以供查询。当访问时即和同时有效,0=0则访问数据寄存器,否则访问状态寄存 器。表1、表2分别是数据寄存器和状态寄存器的定义。表1数据寄存器定义76543210列值行值表2状态寄存器定义765432100000显然,的编程可以有2种模式,一种是软件查询,另一种是中断驱动。由于本系统采用为运行环境,对应用程序透明,所以,将请求直接和的某一空闲中断9相连接,以便使驱动程序能将作为一个设备打开。在初始化加载时,应将对应中断触发设置为电平敏感。其核心代码如下#0401键盘状态寄存器地址#0400键盘数据寄存器地址.,;=&01;读数据寄

4、存器,低6位有效=3;右移3位,提取按键列值=&007 ;提取按键行值至此,就可根据和的值将它翻译为某一标准键,并存入键盘缓冲区。3内部逻辑设计内部控制逻辑设计的关键是掌握按键识别原理。图3所示是其键盘识别原理图。设计时,可将按键设置在行线、列线的交点上。行线通过上拉电阻接到+5,无按键时处于高电平。有按键时行线电平状态由列线决定。所有列线均为高则行线高,任一列线为低则行线低。处理的核心就在于确认某一行线为低时,能定位出对应的列线。31输出扫描线30在设计输出扫描线时,可以使用一个2状态机510来依次轮流使扫 描线输出为低电平。驱动时钟的周期为640,亦即每即扫描线持续640的低电平。将状态机

5、的状态编码值和当前周期为低电平的扫描线序号对应起来, 即可简化后续处理。图4是扫描线输出波形。注意,无论何种按键组合,在任一状态,有且仅有一个扫描线为低电 平,否则后续处理将无法正确识别。32键盘编码处理回复线40时,应该对其中为低电平的行线进行编码。5个行线需要3寄存器,记为50其真值表如下40-20,-0,0,0;0,-0,0,1;1,-0,1,0;2,-0,1,1;3,-1,0,0;4当确认是有效按键后,应把行列编码值放入缓冲,以供读取,其逻辑表达如下式中,1,0是记录有效按键的扫描线编码,即当时的10状态。33的读操作读状态寄存器时,系统把中断请求寄存器的值送出,而读数据寄存器时,它将

6、把缓冲的按键值送出,处理读操作的表达式如下40 = !&!寄存器由三态控制40 = !0&40#0=0送按键数据0&,;0=1 ;送状态二!#!&!&! 0 读数据寄存器时应撤销中断34键盘处理状态机该状态处理机是处理的核心。图5是其状态转移图,其驱动时钟应该比扫描周期快而且应该是它的 整数倍。此处采用的80时钟周期是扫描周期的8倍。下面讨论其状态转移条件。0复位状态1记录当前扫描周期2若有低电平的回复线10;11启动延时去抖计数器,延时10242无条件进入下一状态22去抖状态去抖正确303确认状态1将有效键值打入缓冲2设置4改进建议上述完全可以满足一般系统对键盘的要求,但仍然可以改进以使之更 加智能化。例如使能够对的读操作和写入控制字进行适当控制、使可处理组合按 键和按键连击、增加多字节的缓冲等。上述功能完全可以根据设计者系统和应用程序的要求进行改进。本设计源代码使用的是硬件描述语言,对此感兴趣的同志可以和作者 进行联系。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号