位置:51电子网 » 技术资料 » 单 片 机

基于89C51的计算机可锁定加密键盘设计

发布时间:2008/5/27 0:00:00 访问次数:356

摘要:介绍pc键盘和键盘接口的ps/2通信协议,以及用89c51实现可锁定键盘的软件和硬件设计方法。具有安全可靠、容错能力强、可以直接采用标准键盘进行改装、便于实现等优点,并保留标准键盘的全部功能。

关键词:ps/2 89c51 c51 键盘

引 言

  在智能仪器、自动控制等领域,已大量使用嵌入式pc,如advantech公司的pc/104、amd公司的dimm-pc等。为适应开放式、模块化的要求,嵌入式pc具有标准的pc接口,如vga显示器控制接口、以太网接口、rs232接口、pc/at键盘接口等。所以,可以用标准的pc键盘对嵌入式pc进行操作与控制。键盘在输入指令之后,可能很长一段时间不用。为计算机安全和防止误触发,需要将键盘锁定,还要对某些键采取屏蔽措施,但是pc标准键盘不能满足这些要求。本文介绍一种用89c51设计实现的可锁定加密pc/at键盘。

1 键盘功能及工作原理

  pc键盘功能主要有按键识别、去抖、重键处理、发送扫描码、自动重发、接收键盘命令、处理命令等。键盘有编码键盘和非编码键盘。编码键盘程序设计简单,但硬件电路复杂,价格较高;非编码键盘用软件来实现识别键、编码转换、去抖等功能,硬件电路简单,价格便宜。现代微机系统中广泛采用非编码键盘。pc键盘多采用18行×8列的二维矩阵行列结构。采用行扫描法识别按下的按键。

2 ps/2协议

  ps/2协议是外设与主机之间通信的一种同步双向串行协议。在该协议中主机拥有较高的优先级,在一定条件下可以终止外设正在进行的发送过程。ps/2协议采用的传送数据帧的格式为:1位起始位(0)、8位数据位、1位奇偶校验位、1位停止位(1)。数据发送时低位在前,高位在后。外设每收到主机发来的1帧数据,都要紧随该帧的停止位发送一个握手位ack(0)应答主机。然后,外设还要发1帧应答数据(0xf0),表示外设已经完整地接收到了主机的命令;而主机则不需发送握手位,也不需要发送应答帧。

2.1 键盘到pc键盘接口的通信

   当时钟线和数据线均为高电平时,允许键盘发送数据,系统将接收数据;当时钟线被拉为低电平时,表明系统禁止数据传输。图1给出了发送时序,包含1个低电平触发的起始位、8位数据位、1个奇校验位和1个高电平的结束位。

2.2 pc系统到键盘的通信协议

   若时钟线出现高电平,数据线出现低电平,表明系统请求发送,键盘准备产生同步时钟脉冲串,并接收数据。包含了1个低电平触发的起始位、8位数据位、1个奇校验位、1个应答位、1个高电平的结束位。图2为时序图。

(1)键盘命令及执行过程

① ffh:复位键盘。系统通过此软件复位命令使键盘进入程序复位和内部自测试,称为基本保证测试(bat)。复位键盘的过程如下:

a. 键盘收到ffh后立即回送ack(fah)作答;

b. 键盘接口收到ack后,将键盘时钟和数据线置为高电平;

c. 键盘检测到此状态后开始bat操作;

d. 如果bat正确完成,键盘发送aah以表示结束,

否则以fdh(或其它任何值)表示诊断有误。

② feh:重新发送。当系统检测到从键盘送来的任何传输错误时,它便向键盘发送feh命令。键盘接收到此命令后,将重新送出原来的内容。

③ fdh~f7h:空操作(保留未用)。

④ f6h:设置缺省值。此命令使键盘所有条件复位到电源接通时的缺省状态,键盘继续扫描。

⑤ f5h:设置缺省值和停止键盘。此命令使键盘所有条件复位到电源接通时的缺省状态,并停止键盘扫描,等待下一个键盘命令。

⑥ f4h:启动键盘。键盘接收到此命令后,用ack(fah)作答,清除输出缓冲器,并启动键盘开始扫描

摘要:介绍pc键盘和键盘接口的ps/2通信协议,以及用89c51实现可锁定键盘的软件和硬件设计方法。具有安全可靠、容错能力强、可以直接采用标准键盘进行改装、便于实现等优点,并保留标准键盘的全部功能。

关键词:ps/2 89c51 c51 键盘

引 言

  在智能仪器、自动控制等领域,已大量使用嵌入式pc,如advantech公司的pc/104、amd公司的dimm-pc等。为适应开放式、模块化的要求,嵌入式pc具有标准的pc接口,如vga显示器控制接口、以太网接口、rs232接口、pc/at键盘接口等。所以,可以用标准的pc键盘对嵌入式pc进行操作与控制。键盘在输入指令之后,可能很长一段时间不用。为计算机安全和防止误触发,需要将键盘锁定,还要对某些键采取屏蔽措施,但是pc标准键盘不能满足这些要求。本文介绍一种用89c51设计实现的可锁定加密pc/at键盘。

1 键盘功能及工作原理

  pc键盘功能主要有按键识别、去抖、重键处理、发送扫描码、自动重发、接收键盘命令、处理命令等。键盘有编码键盘和非编码键盘。编码键盘程序设计简单,但硬件电路复杂,价格较高;非编码键盘用软件来实现识别键、编码转换、去抖等功能,硬件电路简单,价格便宜。现代微机系统中广泛采用非编码键盘。pc键盘多采用18行×8列的二维矩阵行列结构。采用行扫描法识别按下的按键。

2 ps/2协议

  ps/2协议是外设与主机之间通信的一种同步双向串行协议。在该协议中主机拥有较高的优先级,在一定条件下可以终止外设正在进行的发送过程。ps/2协议采用的传送数据帧的格式为:1位起始位(0)、8位数据位、1位奇偶校验位、1位停止位(1)。数据发送时低位在前,高位在后。外设每收到主机发来的1帧数据,都要紧随该帧的停止位发送一个握手位ack(0)应答主机。然后,外设还要发1帧应答数据(0xf0),表示外设已经完整地接收到了主机的命令;而主机则不需发送握手位,也不需要发送应答帧。

2.1 键盘到pc键盘接口的通信

   当时钟线和数据线均为高电平时,允许键盘发送数据,系统将接收数据;当时钟线被拉为低电平时,表明系统禁止数据传输。图1给出了发送时序,包含1个低电平触发的起始位、8位数据位、1个奇校验位和1个高电平的结束位。

2.2 pc系统到键盘的通信协议

   若时钟线出现高电平,数据线出现低电平,表明系统请求发送,键盘准备产生同步时钟脉冲串,并接收数据。包含了1个低电平触发的起始位、8位数据位、1个奇校验位、1个应答位、1个高电平的结束位。图2为时序图。

(1)键盘命令及执行过程

① ffh:复位键盘。系统通过此软件复位命令使键盘进入程序复位和内部自测试,称为基本保证测试(bat)。复位键盘的过程如下:

a. 键盘收到ffh后立即回送ack(fah)作答;

b. 键盘接口收到ack后,将键盘时钟和数据线置为高电平;

c. 键盘检测到此状态后开始bat操作;

d. 如果bat正确完成,键盘发送aah以表示结束,

否则以fdh(或其它任何值)表示诊断有误。

② feh:重新发送。当系统检测到从键盘送来的任何传输错误时,它便向键盘发送feh命令。键盘接收到此命令后,将重新送出原来的内容。

③ fdh~f7h:空操作(保留未用)。

④ f6h:设置缺省值。此命令使键盘所有条件复位到电源接通时的缺省状态,键盘继续扫描。

⑤ f5h:设置缺省值和停止键盘。此命令使键盘所有条件复位到电源接通时的缺省状态,并停止键盘扫描,等待下一个键盘命令。

⑥ f4h:启动键盘。键盘接收到此命令后,用ack(fah)作答,清除输出缓冲器,并启动键盘开始扫描

相关IC型号
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!