一种嵌入式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个主机到键盘的命令。
相关文章
- 2023-08-16基于PIC16F877的红外测距系统
- 2024-02-27超声检测中双孔法调节扫描速度的应用
- 2022-11-15智能型红外遥控器的设计应用
- 2024-11-05Z箍缩实验装置高压低抖动Marx发生器
- 2024-09-19双制冷温度双工质吸收制冷系统Ⅱ的模拟
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。