WinCE 下光电编码器的驱动程序设计
作者:武汉科技大学 杨振坤 甘朝晖 蒋旻 来源:单片机及嵌入式系统应用
摘要 光电编码器以其体积小、输入灵活等特点作为输入设备,广泛应用于各种嵌入式仪器
中。本文讨论光电编码器的原理及使用方法;以三星公司 ARM9 芯片 S3C2410 为 CPU 的
嵌入式系统开发板为平台,详细阐述嵌入式操作系统 WinCE 下光电编码器驱动程序的设计
方法。实验证明,该方法正确可行,程序运行稳定可靠。
关键词 嵌入式系统 WinCE 光电编码器 S3C2410
引 言
近年来,嵌入式技术发展迅速,嵌入式系统在各行各业得到了广泛的应用。然而,由于
嵌入式计算机的专用性,系统的硬件、软件结构千差万别,其输入设备也不再像通用计算机
那样单一。嵌入式计算机的输入没备一般有鼠标、键盘、触摸屏、按钮、旋钮等,而光电编
码器(俗称“单键飞梭”)作为一种输入设备,由于其具有输入灵活,简单可靠等特点,因此特
别适合应用在嵌入式仪器和手持式设备上,整个系统可以只用一个键作为输入。触摸屏由于
其方便灵活、节省空间、界面直观等特点也备受青睐,但存在寿命短,长时间使用容易产生
误差等缺点。如果用光电编码器辅助触摸屏作为输入设备,必将大大增强系统的可靠性,使
得人机接口更加人性化。但由于光电编码器并不是 WinCE 的标准输入设备,因此其驱动程
序在嵌入式操作系统 Windows CE Platform Builder 中并未给出。本文以三星公司
S3C2410(ARM9 芯片)为 CPU 的嵌入式系统开发板为平台,详细阐述了嵌入式操作系统
WinCE 下光电编码器驱动程序的设计方法,以供同行参考。
1 光电编码器的工作原理
光电编码器(Optical Encoder)俗称“单键飞梭”,其外观好像一个电位器,因其外部有一个
可以左右旋转同时又可按下的旋钮,很多设备(如显示器、示波器等)用它作为人机交互接口。
下面以美国 Greyhill 公司生产的光电编码器为例,介绍其工作原理及使用方法。光电编码器
的内部电路如图 1 所示,其内部有 1 个发光二极管和 2 个光敏三极管。当左右旋转旋钮时,
中间的遮光板会随旋钮一起转动,光敏三极管就会被遮光板有次序地遮挡,A、B 相就会输
出图 2 所示的波形;当按下旋钮时,2、3 两脚接通,其用法同一般按键。