第7章中断调用程序设计 7.2键盘输入中断调用 72.1ASCI与扫描码 72.2BIOS键盘中断 72.3DOS中断调用
第7章 中断调用程序设计 7.2 键盘输入中断调用 7.2.1 ASCII与扫描码 7.2.2 BIOS键盘中断 7.2.3 DOS中断调用
第7章中断调用程序设计 7.2.1ASCI与扫描码 键盘是计算机最基本的一种输入设备 用来输入信息,以达到人机对话的目的。键 盘主要由3种基本类型的键组成: (1)字符数字键: (2)扩展功能键:如Home、End、 Backspace、 Delete、 Insert、PgUp、PgD以及功能键F1l F10 (3)和其他键组合使用的控制键:如Alt,Crl, Shift等
第7章 中断调用程序设计 7.2.1 ASCII与扫描码 键盘是计算机最基本的一种输入设备, 用来输入信息,以达到人机对话的目的。键 盘主要由3种基本类型的键组成: (1)字符数字键: (2)扩展功能键:如Home、End、Backspace、 Delete、Insert、PgUp、PgD以及功能键F1~ F10 (3)和其他键组合使用的控制键:如Alt,Ctrl, Shift等
第7章中断调用程序设计 键盘和主机通过5芯电缆相连,这5根线 分别是电源线、地线、复位线以及键盘数据 线和键盘时钟线。PC机系列的键盘触点电路 按16行×8列的矩阵来排列,用单片机 Intel8048来控制对键盘的扫描。按键的识别 采用行列扫描法,即根据对行线和列线的扫 描结果来确定闭合键的位置,这个位置值称 为按键的扫描码,通过数据线将8位扫描码送 往主机。当在键盘上“按下”或“放开” 个键时,如果键盘中断是允许的(21H端口 的第一位等于0),就会产生一个类型9的中 断,并转入到BIOS的键盘中断处理程序
第7章 中断调用程序设计 键盘和主机通过5芯电缆相连,这5根线 分别是电源线、地线、复位线以及键盘数据 线和键盘时钟线。PC机系列的键盘触点电路 按16行×8列的矩阵来排列,用单片机 Intel8048来控制对键盘的扫描。按键的识别 采用行列扫描法,即根据对行线和列线的扫 描结果来确定闭合键的位置,这个位置值称 为按键的扫描码,通过数据线将8位扫描码送 往主机。当在键盘上“按下”或“放开”一 个键时,如果键盘中断是允许的(21H端口 的第一位等于0),就会产生一个类型9的中 断,并转入到BIOS的键盘中断处理程序
第7章中断调用程序设计 该处理程序从8255可编程外围接口芯片的输 入端口读取一个字节,这个字节的低7位是按键 的扫描码。最高位为0或者为1,分别表示键是 “按下”状态还是“放开”状态。按下时,取得 的字节称为通码,放开时取得的字节称为断码。 如ESC键按下取得的通码为01H(00001B), 放开ESC键时会产生一个断码81H (1000000B)。BIOS键盘处理程序将取得的扫 描码转换成相应的字符码,大部分的字符码是 个标准的ASCⅡ码;没有相应ASCⅢ的键,如Alt 和功能键(F1~F10),字符码为0;还有一些非 ASCⅡ码键产生一个指定的操作
第7章 中断调用程序设计 该处理程序从8255可编程外围接口芯片的输 入端口读取一个字节,这个字节的低7位是按键 的扫描码。最高位为0或者为1,分别表示键是 “按下”状态还是“放开”状态。按下时,取得 的字节称为通码,放开时取得的字节称为断码。 如ESC键按下取得的通码为01H(00000001B), 放开ESC键时会产生一个断码81H (10000001B)。BIOS键盘处理程序将取得的扫 描码转换成相应的字符码,大部分的字符码是一 个标准的ASCII码;没有相应ASCII的键,如Alt 和功能键(F1~F10),字符码为0;还有一些非 ASCII码键产生一个指定的操作
第7章中断调用程序设计 7.2.2BIOS键盘中断 类型16H的中断提供了基本的键盘操作,它的 中断处理程序包括3个不同的功能,分别根据AH寄 存器中的子功能号来确定 (1)AH=0本功能为从键盘读字符到AL寄存器中 (2)AH=1本功能为读键盘缓冲区字符到AL寄存器 中,并置ZF标志位。 (3)AH=2本功能为读取特殊功能键的状态
第7章 中断调用程序设计 7.2.2 BIOS键盘中断 类型16H的中断提供了基本的键盘操作,它的 中断处理程序包括3个不同的功能,分别根据AH寄 存器中的子功能号来确定。 (1)AH=0 本功能为从键盘读字符到AL寄存器中。 (2)AH=1 本功能为读键盘缓冲区字符到AL寄存器 中,并置ZF标志位。 (3)AH=2 本功能为读取特殊功能键的状态