实验原理

本次实验要编写一个能实现PS/2端口功能的程序。PS/2 键盘履行一种双向同
步串行协议。换句话说每次数据线上发送一位数据,并且每在时钟线上发一个脉冲
就被读入,键盘可以发送数据到主机,而主机也可以发送数据到设备。但主机总是
在总线上有优先权,它可以在任何时候抑制来自于键盘的通讯,只要把时钟拉低即
可。本次实验主要实现由键盘到主机的数据传输。首先我们要了解PS/2 端口的结
构与管脚功能:

 

实验步骤

读数据的具体过程为:
1) 等待Clock = high
2) 延时 50 微秒
3) Clock s 仍旧为 high?
No—到第1 步
4) Data 是否为 high ?
No—放弃 (并且从主机读取字节)
5) 延迟 20 毫秒 (=40 微秒 to the time Clock is pulled low in sending the
start bit.)
6) 输出起始位 (0) \ 在发送所有这些位的每一位后
7) 输出 8 个数据位 > 测试时钟确认主机是否把它拉低了
8) 输出校验位 / 这说明主机要放弃这次传送
9) 输出停止位 (1)
10) 延迟30 毫秒 (=50 微秒 from the time Clock is released in sending the
stop bit)

实验内容

本次实验通过编程在开发板上面实现对键盘,LCD,RS232等接口或者器件进行控
制,将有键盘输入的数据在LCD 上面显示出来,或者通过RS232 在PC 机上的超级终
端上显示出来。