随着嵌入式系统的飞速发展,嵌入式PC得到了广泛应用。标准的PC键盘由于体积大,按键多等原因在多数情况下不能满足要求。本文在介绍 PS/2通信协议的基础上,利用AT89C52实现了一种PC非标准键盘的设计。给出了其完整的硬件实现电路图和主要的软件开发方法。该键盘具有结构简单、工作稳定、便于扩展等特点,并已在某型航空图像回传系统中得到具体应用。
图1为该键盘电路原理图,由ATMEL公司的微控制器AT89C52、逻辑系统、矩阵键盘三部分组成。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,用来指示键盘的工作状态。
图1键盘电路原理图
AT89C52微控制器具有如下特点:(1)具有8K字节可编程闪存;(2)256×8字节内部RAM;(3)32根可编程 I/O线;(4)3个16位定时计数器; (5)8个中断源;(6)可编程串行UART通道。