键盘接收主机命令和参数
主机首先将时钟线置为低电平,随后将数据线置为低电平,延时大约200μs后,将时钟线置为高电平。当键盘检测到这一状态后,开始接收主机命令,接收数据格式与发送的一样。键盘依次接收1个起始位、8个数据位、1个校验位、1个停止位。特别值得注意的是,在接收键盘命令或参数时,虽然数据是由主机发向键盘的,但是时钟脉冲是由键盘产生的。主机在时钟线上每接收一个脉冲的下降沿,就在数据线上输出一位数据。如果接收正确,在时钟线和数据线都成为高电平后,键盘将向主机发一个应答信号(0FAH),否则向主机发一个0FEH信号,要求重发。主机收到0FEH信号后,把刚才输出过的数据重新发送一次。如果这一过程持续三次后,键盘仍然不能正确接收,主机就放弃传送这个数据,转去执行下面的程序或显示错误信息。主机命令和参数也采用奇校验方式。
系统硬件电路设计
本系统采用89C51单片机与PC键盘接口相连,图2给出了系统硬件电路原理。其中P3.0和P3.1分别与主机键盘接口的时钟线CLK和数据线 DATA相连,P2口与4×4键盘矩阵相连,P0口经过驱动后与输入输出报警设备相连接。为保证键盘可靠工作,系统配置了看门狗电路MAX813L,另外,系统还配置了蜂鸣器,每次按键均有声音提示。
图 系统硬件电路原理