计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

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

2017-09-27 01:05
导读:理工论文论文,isp1016实现机载导航系统的键盘控制样式参考,免费教你怎么写,格式要求,科教论文网提供的这篇文章不错:摘要:介绍了用isp可编程逻辑芯片设计机载导航系统键盘控制器的设计要点,给
摘要:介绍了用isp可编程逻辑芯片设计机载导航系统键盘控制器的设计要点,给出了接口信号及驱动程序的核心代码。该设计具有典型性、通用性和实用性,并可用到各种键盘控制器中。

1 键盘控制器的外部接口信号

无论在任何计算机系统中,键盘都是最重要的输入设备,但是普通键盘不能满足机载要求。笔者在新一代电子航空图导航系统中,用Lattice公司的ispLSI1016设计了一个4×5键盘控制器(以下简称KBC),经实际应用,该键盘控制器通用性较强。图1是其键盘和显示器外观示意图。

一航情况下,KBC应该是CPU的一个外部I/O设备,它一方面监测各按钮状态,另一方面接受CPU的查询并主动向CPU请求中断。因此,外部接口信号分CPU接口信号和键盘按钮矩阵状态信号。图2为通用KBC外部接口信号示意图,其定义如下:

*Reset:复位,低有效。该信号有效时将异步复位内部所有寄存器,以对KBC进行初始化;

*CLK:工作时钟,频率为100kHz;

*CS:片选,低有效;

*RD:读信号,低有效;

*A0:片内地址,用于区分片内寄存器;

*INT:中断请求,高有效。当键盘控制器检测到有效按键时,该脚为高,当CPU读走按键编码时,KBC自动撤销中断请求;

*D4~D0:三态数据线;

*SL3~SL0:扫描输出,按键盘矩阵的列线;

*RL4~RL0:回复线,接键盘矩阵的行线。

实际上,大部分矩阵键盘的行列是可对换的。

2 KBC接口寄存器定义及驱动程序

KBC针对CPU接口设计有2个只读寄存器,即数据寄存器(Dreg)和状态寄存器(Sreg)。数据寄存器用于保持有效按键的编码值,该编码值就是按键所在的行列;而状态寄存器则用于保持按键的状态信息,以供CPU查询。当CPU访问KBC时(即CS和RD同时有效),adk A0=0,则访问数据寄存器,否则访问状态寄存器。表1、表2分别是数据寄存器和状态寄存器的定义。

(科教作文网http://zw.ΝsΕAc.com发布)


表1 数据寄存器定义

D7 D6 D5D4 D3D2 D1 D0X X XCol(列值)Row(行值)

表2 状态寄存器定义

D7 D6 D5D4 D3 D2 D1D0X X X0 0 0 0 

显然,KBC的编程可以有2种模式,一种是软件查询,另一种是中断驱动。由于本系统采用WindowNT为运行环境,KBC对应用程序透明,所以,将INT请求直接和CPU的某一空闲中断(IRQ9)相连接,以便使驱动程序能将KBC作为一个设备打开。在初始化加载时,应将对应中断触发设置为电平敏感。其VC核心代码如下:

#define SReg 0x401 //键盘状态寄存器地址

#define DReg 0x400 //键盘数据寄存器地址

BYTE SR,Key,Row,Col;

SR=inp(SReg)

    上一篇:利用工业固体废物制成上点火型煤 下一篇:没有了