×
嵌入式 > 集成电路 > 详情

键盘应用程序设计

发布时间:2020-06-22 发布时间:
|

键盘使用的编码系统不能只做简单的解释。这些码可能是一个字节或两个字节,在码中是字符码还是硬件控制码之间不存在简单的对应关系。甚至组合键入码并不都生成惟一的码,必须特别小心将它们区分。无论是ASCII码还是扩展码都不是以一种能优化测试和错检的方式加以一致地编号的。因此,键盘输入例程可能比较杂乱一些。
当程序同时接受鼠标和键盘控制时,键盘输入例程必须扩展成通用“事件循环”处理程序。程序不再只是等下一次击键且做出响应。而是当确定有一个键入码后才调用键盘输入例程。,否则它一直监视鼠标位置及按钮状态。

通用键盘输入例程
本例是使用一些标志判断例程在某一时刻是否接受某类输入。这些标志使一个程序可按手头任务的需要调用输入例程。
中断号16h 的功能0在缓冲区中无码时等待键入,鼠标软件不能以这种方式准止其运行,不须不断地查询鼠标驱动程序,寻找鼠标坐标和按钮状态变化。
例8-13 中调用键盘输入函数之前先调用中断16h的功能1(101键选用功能11h),查明是否有键入码,若没有,跳过功能0的调用控制转向鼠标输入码。在键盘缓冲区中有字符时,功能1和功能11h清除处理器的0标志。

例8-13的流程

Ctrl + Break例程                                                                                                                      
  在键盘中断探测到〈Ctrl + Break〉组合时,中断设置一个标志,指示需要启动〈Ctrl + Break〉例程。一般情况下,只有标准DOS输入输出功能能探测到Ctrl + Break(除功能6和功能7中断21h功能1至C)。
    例8-14是使用汇编语言说明一个Ctrl + Break例程。它使用中断21h的功能4Ch终止一个程序。




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
60V 低 IQ 同步降压型控制器