用的是MCF52259的板子
PS2键盘接口有6根线,但只用了其中的4根:一根时钟线,一根数据线,另外两根是电源,数据在时钟的下降沿后有效。现在只用键盘作为输入,而并不对键盘发控制命令所以就用52259的一个外部中断作为时钟信号的输入,并设置为下降沿触发。
键盘在有键按下或按住不放时发送通码,键放开时发送断码,每个键的这两个码都是不一样的,在接收到码值后进行查表就能知道按下的具体是哪个键了,在这里是建了个3列的数组,第一列放的是对应的码值,第二列是键的第一功能,第三列是键的第二功能。这一系列的操作都放在中断程序里。为了提高查表的效率可以把表里的数据按照键的使用的频率进行排列。
完整的工程在附件中,呵呵,有兴趣的可以看看。
|