新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 清除键盘缓冲区原理

清除键盘缓冲区原理

作者:时间:2012-04-16来源:网络收藏
有时用户的按键响应可能导致数据丢失或破坏了数据而不能挽回。在这种情况下,消除可以消除不恰当或意外的击键,这种击键或许在中正等待处理,或许可能发出错误的响应。在其他情况下,清理不是好办法,因为这样做会损害超前键入的特性。并不能再使用宏指令。缓冲区可存放15个键入码,为每个键入码在存储器中提供两个字节。包括转换码、单字节的ASCII码和双字节的扩展码。
对单字节码,第一字节放ASCII码,第二字节 放扫描码;对扩展码,第一字节存放ASCII 0, 第二字节通常放扩展码的扫描码。但并不是绝对的因为功能键与换挡键组合后可产生一个扩展码。
缓冲区设计成一个环行队列,称为先进先出的(FIFO)算法缓冲区。实际是两个指针跟踪计数器记录着当前在缓冲器中代码串的“头”和“尾”。
缓冲区设在BIOS数据区,BIOS数据区的开始地址:0040:2000。
32字节缓冲区:0040:001E开始
头指针:0040:001A
尾指针:0040:001C
中断21h功能6的子功能FFh返回键入码,如果不存在有效代码将不等待。没有键入 码时,设0标志。不断调用中断直到没有键入码返回为止。
P223例8-1 清理键盘缓冲区
KEY-FOUND:
MOV AH , 6h
MOV DL , 0FFh
INT 21h
JNZ KEY-FOUND

DIY机械键盘相关社区:机械键盘DIY




关键词: 清除 键盘 缓冲区

评论


相关推荐

技术专区

关闭