碧波液压网 欢迎你,游客。 登录 注册

一种嵌入式PC非标准键盘的设计

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  随着嵌入式系统的飞速发展,嵌入式PC 在工业控制、测量仪器等领域得到了广泛应用,如ADVANTECH 公司的PC/104、 AMD 公司的E86 等。它们除了具有PC 的功能外,还提供了功能强大的各种标准接口,如:平板/VGA 显示器控制接口、光驱接口、以太网接口、RS-232/422/485 接口、PC/AT 键盘接口等。这就为新产品开发的标准化、模块化提供了方便,可大大缩小研发周期,降低研制成本。由于嵌入式PC 具有标准PC 键盘接口,也就是说,可以用标准的PC/AT 键盘来对嵌入式PC 进行操作与控制。然而,在很多实际应用中,需要用到键的数量和类型有很大的差异,并希望键盘具有体积小巧、便于布放等特点。因此,希望能够设计一种小巧、灵活的PC 非标准键盘,来满足用户需求。

  本文根据课题要求,设计了一种由AT89C52 实现的PC 非标准键盘。下面对其硬件设计、软件实现及PS/2 键盘通信协议分别进行介绍。

  1 硬件设计

  图1 为该键盘电路原理图,由ATMEL 公司的微控制器AT89C52 、逻辑系统(包括看门狗复位电路X25045 和晶体振荡电路)、矩阵键盘三部分组成。AT89C52 单片机主要完成键盘扫描,确定键盘闭合断开的信息,并发送键码和同步时钟到工控机;逻辑系统提供起振信号及看门狗定时复位功能,防止出现死机;矩阵键盘为4×4 的行列式键盘,当有键按下时产生低电平触发信号,便于单片机检测有效的按键操作。该键盘由4×4=16 个按键组成,其中行线为P0.4~P0.7,列线为P0.3~P0.0。P3.0 为键码数据输出,P3.1 为同步时钟,分别输出到嵌入式PC 的PS/2 端口;+5V 电源由主机提供。

  由于AT89C52 的IO 端口为32 个,除看门狗电路的输入输出端CS、SI、SO、SCK、以及键码数据输出端Data 和时钟输出端Clock 外,还剩26 个可用端口,这样,其最大可独立响应13× 13=169 个键的输入,不仅可满足标准键盘的多键需求,也可满足工控机常用控制键的要求。X25045 为看门狗电路,它实时接收来自AT89C52 的CS 信号,并自动判断两次信号的间隔时间。当时间间隔到达设定时间时,其RST 输出端保持低电平;反之,其RST 输出端输出高电平,AT89C52 被复位。此外增加了发光二极管LED,用来指示键盘的工作状态。

  AT89C52 微控制器具有如下特点[1]:

  (1)具有8K 字节可编程闪存;

  (2)256×8 字节内部RAM;

  (3)32 根可编程I/O 线;

  (4)3 个16 位定时计数器;

  (5)8 个中断源;

  (6)可编程串行UART 通道

  2 PS/2协议

  标准键盘和工控机或者嵌入式PC之间是按照PS/2协议进行通信的,因此设计的非标准键盘也必须严格按照该协议,这样才能为系统正确识别和作出响应。PS/2键盘接口标准由IBM公司于1987 年推出,该标准采用了6脚mini—DIN连接器(见图2)。该连接器在封装上更加小巧,仍然用双向串行通信协议,并且提供有可选择的第三套键盘扫描码集,同时支持l7个主机到键盘的命令。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论