"景先生毕设|www.jxszl.com

自制键盘WinCE驱动程序设计与实现

2020-04-06 15:40编辑: www.jxszl.com景先生毕设
自制键盘WinCE驱动程序设计与实现[20200406130411]
摘 要
WinCE系统是一种经典的嵌入式系统,它得到了很广泛的应用。由于自身的限制,而不能使用通用的键盘,但是矩阵键盘可以很好地适应嵌入式设备。在本次的论文中,我们探究了矩阵键盘在WinCE系统的工作环境下的驱动开发。其中,最主要的是,矩阵键盘驱动程序的设计和实现。最终,我们得到了矩阵键盘驱动程序,它能够实现简单功能。在使用矩阵键盘的时候,人们只需要通过对键盘上相对应的数字或者符号按键进行操作,就可以实现对于设备的操作,简化了人机的交互。
这次论文着重研究了WinCE操作系统下设计矩阵键盘驱动程序。分别编写了外部按键中断模块以及按键标识读取模块等模块,能够准确的检测确定按下按键位置,并且能够读取该按键所对应的信息。能够对其自定义设置。包括可以自定义键位的布局,按键的个数以及相关功能的配置。
 *查看完整论文请 +Q: 3 5 1 9 1 6 0 7 2 
关键字:WinCE系统矩阵键盘驱动程序Homemadekeyboard'designandimplementationofWinCEdriver
Key Words: WinCE system; Matrix keyboard; The driver目 录
1. 绪论1
1.1 嵌入式矩阵键盘的相关发展现状1
1.2 课题的来源以及预期目的和意义2
2. 开发驱动程序需要了解的知识4
3. WinCE矩阵键盘的驱动原理6
3.1 WinCE驱动程序设计概述6
3.2嵌入式矩阵键盘驱动原理6
4. 系统的程序设计9
4.1矩阵键盘驱动程序的设计方案9
4.1.1矩阵键盘驱动程序模型9
4.1.2矩阵键盘驱动接口函数9
4.1.3矩阵键盘驱动加载过程9
4.2矩阵键盘驱动开发所需软硬件10
4.3矩阵键盘的按键驱动电路12
4.4矩阵键盘的驱动程序编写12
4.4.1配置外部中断引脚13
4.4.2获取相关寄存器的虚拟地址13
4.4.3检测按键是否按下14
4.4.4获取按键标识14
4.4.5中断服务线程(IST)15
4.4.6初始化程序16
4.4.7矩阵键盘驱动程序所使用的相关子程序16
5. 存在的问题和分析18
结语19
参考文献20
致谢21
一 绪论
1.1嵌入式矩阵键盘的相关发展现状
现在这个时代,技术领域的发展可谓日新月异,计算机技术方面的发展理所当然也是如此。在整个大环境下,随着技术的革新和科技的进步,它所带动的通信技术和软硬件技术也取得了长足的发展。随着以此为核心的信息技术的迅速发展,嵌入式系统也因其具有多种多样的形式及应用等特点,而渐渐的融入到了大家的生活与工作之中。
在整个系统中,核心部分是操作系统。作为整个嵌入式系统的核心,主要用来对整个系统进行操作和调试,这些功能通过连接嵌入式设备和应用程序以及软件来实现。嵌入式操作系统的种类有很多,在众多的嵌入式操作系统之中,Windows CE操作系统是一款功能强大的32位嵌入式实时操作系统,对于它来说,相比于其它嵌入式操作系统,它有着广泛的应用。它是由Microsoft推出的。为了满足日益苛刻的软硬件要求,开发者在设计开发时就为这款操作系统赋予了很多的优点,比如说多任务、多线程、完全抢占式等等特点,这些方面都是专门为了应对各种受到严格资源限制的硬件系统所设计的。
因此,嵌入式系统在现今的技术领域中拥有不小的用武之地,这使得嵌入式系统成为了当今最热门的概念之一。操作系统虽然有很多种,但是通过操作系统需要达到的目的却是相同的,那就是作为一种处在用户和图形之间的系统,用户的交互体验成为了衡量嵌入式系统优劣的重要标准 。Windows CE操作系统有很强的环境硬件适用性,而矩阵键盘又能够通过用户进行自定义,所以,在开发的时候,我们可以根据需要的功能来设计合适的键盘,然后用自己设计的合适键盘去实现相应的功能。例如如图1-1所示的8×8矩阵键盘,开发者就可以根据自己的需要来设计每个按键的具体功能。
图1-1 8×8矩阵键盘
随着相关技术的发展 ,矩阵键盘的发展是大家有目共睹的,现在矩阵键盘的应用范围已经十分广泛了,相比于其余的Windows操作系统广泛应用于PC设备和大型计算机设备,和这些所不同的是,WinCE操作系统和矩阵键盘是在掌机以及手持产品中的运用尤为广泛。
1.2课题的来源以及预期目的和意义
通过对操作系统的了解,最终发现,相比于其他的操作系统,WinCE操作系统拥有其余系统所不具有的高自由度,用户可以根据自己的需要来设计程序的功能,这样就使得WinCE系统广泛应用在嵌入式设备的开发领域。而对于键盘来说,普通的键盘实用性差,功能单一,不能通过用户来自定义,并且对于嵌入式设备来说,普通键盘的大小和功能也不适用于嵌入式设备。但是相比于其余种类的键盘,矩阵键盘对于嵌入式系统来说,更加的适合嵌入式设备,所以在WinCE系统下的矩阵键盘的驱动程序开发这个课题顺应今后的发展方向。
通过对WinCE操作系统下矩阵键盘驱动程序的研究能够让我们更加熟悉WinCE操作系统的特性以及矩阵键盘的功能。能够对今后的相关研究内容提供一个良好的平台。
在这里,通过对上述内容的分析和研究后,对于这个课题,我们做了较深入的研究,其中所涉及的内容很多。在具体设计矩阵键盘的驱动程序时需要进行细致的规划,对其构成和原理充分了解后,分步骤的进行程序的编写,最终达成对驱动程序的设计。
最终所得到的驱动程序,需要达到能够让用户对键盘自定义的功能,需要让矩阵键盘能够准确并且快速的对用户的操作做出反应和准确的分析。
二 开发驱动程序需要了解的知识
通过驱动程序,用户可以实现机器和用户之间操作的连接。对于硬件来说,驱动程序就相当于各种硬件的接口部分。在用户对设备进行操作的时候,是通过操作系统来对设备中的软件来进行操控,而操作系统则是通过驱动程序,也就是硬件接口部分来实现对硬件的控制。如果在工作过程中,驱动程序出现了问题,那么对应的程序和设备也不能正常的工作了。
众所周知,从理论上来说,几乎所有的硬件设备如果想正常的工作,那么都需要有相对应的驱动程序。但是在现实中,我们知道,往往像显示器和主板等等硬件在工作的时候并不需要驱动程序。
驱动程序作为用户操作和设备运行这两者之间的连接者,通过把硬件自身的运行情况分析和对用户操作动作的检测来达到这个功能,那么如果驱动程序的作用和功能能够足够的完善和强大的话,对应的软件和程序的功能也能得到最好的体现[1]。
一个合格并且功能强大的驱动程序能够使得相关软件正常的工作,对于开发者而言,通过对驱动程序的开发也能更加的了解相关的软硬件。在开发驱动程序的时候,开发者必须要了解相关的软硬件机制。因为这些硬件设备的组成结构和运行原理是和驱动程序的程序结构组成和工作原理息息相关的。和大多数驱动程序的开发相比,比如在PC机上开发驱动程序。当在PC上开发驱动程序的时候,开发人员需要了解在该设备上安装的操作程序以及该设备的硬件构成,但是对于嵌入式设备,因为有些嵌入式设备上根本就没有安装相应的操作系统,也没有复杂的硬件构成,有的仅仅是一个简单的操控监测系统,这时候,若想要顺利的开发出驱动程序,就需要掌握整块板子的硬件构成和工作机制,这其中涉及的知识很广泛,包括:电子电路基础,模电,数电以及编程知识等等。
对于驱动来说,驱动程序的长度一般不会太长,结构组成也不会太复杂,但是它所包括的东西的浓缩性质都是很强的,所以说,驱动程序是小而精的程序,它需要用简短的篇幅来完成复杂而繁琐的功能[2]。驱动程序要求开发者对数据结构,编译语言,编译原理,算法结构等方面都要有深入的了解。并且,除此之外,开发者还需要对所适用的操作程序和硬件设备的内存管理,硬件机制,线程调度等方面有深入的了解。对于PC机来说,在这方面,已经有了许多现成的程序和模块,并且也能很好地实现优化,但是,对于嵌入式设备来说,由于嵌入式设备和PC设备在系统和硬件上都有着很多的不同,所以这些模块和方面不能直接的用在嵌入式设备上的驱动程序开发。嵌入式设备所提供给我们的内存空间很小,不能适应这些程序的长度,并且在功能上也不是非常的符合要求。所以,当开发者在对嵌入式设备开发驱动程序的时候,必须精确的掌握其长度。需要开发者有审查入微的能力。

原文链接:http://www.jxszl.com/dzxx/gdxx/5852.html