依然也是熟烂的PS/2键盘。相较《建模篇》的PS/2键盘实验,实验七实除了实现基本的驱动以外,我们还要深入解 PS/2时序,还有PS/2键盘的行为。不过,为了节省珍贵的页数,怒笔者不再重复有关PS/2的基础内容,那些不晓得的读者请复习《建模篇》或者自行谷歌一下。
市场上常见的键盘都是应用第二套扫描码,各种扫描码如图7.2所示。《建模篇》之际,笔者也只是擦边一下PS/2键盘,简单读取单字节通码与断码而已。所谓单字节通码,就是有效的按下内容,例如 键被按下的时候会输出 1C。所谓单字节断码,就是有效的释放内容,例如 键被释放的时候会输出 F0 1C。
除了单字节的通码以外,PS/2键盘也有双字节通码与断码。所谓双字节通码,例如 键被按下时候会输出 E0 14;反之,所谓双字节断码,例如 键被释放时候会输出 E0 F0 14。不管是单字节还是双字节,断码都包含F0。
除了上述的要求以外,笔者还要实现双组合键,例如 + 。不仅而已,笔者也要实现三组合键,例如 + + 。常识上,这些任性的要求都是软件的工作,然而这种认识也仅局限小气的脑袋而已。换做笔者,笔者就算霸王硬上弓,笔者也要使用Verilog实现这些任性的要求。
未进入实验之前,笔者需要强调一下!Verilog究竟如何驱动PS/2设备,然后又如何实现软件的工作,这一切Verilog自有方法。不管C语言还有单片机这对活宝,驱动PS/2设备再怎么神,它们也没有资格在旁指指点点。读者千万也别尝试用借用它们的思路去思考Verilog,否则后果只有撞墙而已。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !