第11章人机交互接口技术 本章主要教学内容 键盘与鼠标的工作原理、与主机连接以及编 程方法 视频显示接口的基本工作原理及编程方法 打印机的基本结构、工作原理以及编程方法 >扫描仪、数码相机和触摸屏的工作原理及应 用
本章主要教学内容 Ø键盘与鼠标的工作原理、与主机连接以及编 程方法 Ø视频显示接口的基本工作原理及编程方法 Ø打印机的基本结构、工作原理以及编程方法 Ø扫描仪、数码相机和触摸屏的工作原理及应 用 第11章 人机交互接口技术
连接在计算机上的人机交互设备主要有键盘、鼠 标器、显示器(LCD显示器和CRT显示器等)打印机等 这些设备的输入输出是以计算机为中心,信息以二进 制、十六进制码或 ASCII码的形式进行传送。随着计 算机多媒体技术的发展,人机交互设备种类也越来越 多,如增加了图形数字化仪、图像扫描仪、声音输入 输出设备、数码相机、触摸屏等。这些设备使计算 机系统以更接近人类感知外部世界的方式输入或输出 信息,使计算机更加人性化
连接在计算机上的人机交互设备主要有键盘、鼠 标器、显示器(LCD显示器和CRT显示器等)打印机等。 这些设备的输入输出是以计算机为中心,信息以二进 制、十六进制码或ASCII码的形式进行传送。随着计 算机多媒体技术的发展,人机交互设备种类也越来越 多,如增加了图形数字化仪、图像扫描仪、声音输入 /输出设备、数码相机、触摸屏等。这些设备使计算 机系统以更接近人类感知外部世界的方式输入或输出 信息,使计算机更加人性化
11.1键盘与鼠标接口 11.1.1键盘及接口电路 微型计算机的键盘是从英文打字机演变而来的,它是微 型计算机不可缺少的标准输入设备。一个标准的通用键盘由 排列成矩阵形式的按键、按键架、编码器和接口电路等主要 部件组成,其基本功能就是将人击键的机械动作转换成计算 杋能够理解的编码,键盘输入的信息包括文本、数据等文字 信息和程序、指令等控制信息。键盘按键的数目从最早的83 键发展到后来的101、102、104键,随着 Windows版本的不断 升级,市场上还推出增加了键盘关机等一些特殊功能的108 键 Windows键盘
11.1 键盘与鼠标接口 11.1.1 键盘及接口电路 微型计算机的键盘是从英文打字机演变而来的,它是微 型计算机不可缺少的标准输入设备。一个标准的通用键盘由 排列成矩阵形式的按键、按键架、编码器和接口电路等主要 部件组成,其基本功能就是将人击键的机械动作转换成计算 机能够理解的编码,键盘输入的信息包括文本、数据等文字 信息和程序、指令等控制信息。键盘按键的数目从最早的83 键发展到后来的101、102、104键,随着Windows版本的不断 升级,市场上还推出增加了键盘关机等一些特殊功能的108 键Windows键盘
1.键盘的分类及其特点 蕌(1)键盘的分类 根据按键本身的结构方式可以分为机械触点式和电容式两类: 按照控制形态可分为编码键盘和非编码键盘两类: 按照键盘的用途还可分为通用键盘和专用键盘两类: (2)键盘的特点 对于通用PC系列微机采用的键盘来讲,它具有两个基本特点: 是按键开关为无触点的电容开关,通过按键的动作,使电 容量发生变化,来检测按键的断开与接通;二是键盘属于非 编码键盘,由单片机扫描程序并识别按键的当前位置,然后 再向键盘接口输出该键的扫描码
1. 键盘的分类及其特点 (1)键盘的分类 根据按键本身的结构方式可以分为机械触点式和电容式两类: 按照控制形态可分为编码键盘和非编码键盘两类: 按照键盘的用途还可分为通用键盘和专用键盘两类: (2)键盘的特点 对于通用PC系列微机采用的键盘来讲,它具有两个基本特点: 一是按键开关为无触点的电容开关,通过按键的动作,使电 容量发生变化,来检测按键的断开与接通;二是键盘属于非 编码键盘,由单片机扫描程序并识别按键的当前位置,然后 再向键盘接口输出该键的扫描码
2.键的识别 在键盘中通常用硬件或软硬件结合的方法来识别键盘中的闭 合键,常用的按键识别方法有:行扫描法、行反转法和行、 列扫描法。 (1)行扫描法 我们把PC系列键盘视为二维矩阵的行列结构,键盘的识别采 用行扫描法,如图11-2所示,为16行×8列的矩阵结构。键 盘扫描程序周期性地对行列结构的按键进行扫描,然后根据 回收的信息来确定当前的行、列位置码。 行扫描法的工作原理为:7位计数器处于定时工作方式,计 数器输出分别送至两个译码器(行译码和列译码),高4位 译码形成YO~Y15共16行扫描驱动线;低3位译码形成X0~Ⅹ7 共8列扫描驱动线。由于计数器的特点,列扫描驱动线随着 时钟而步进1列,行扫描驱动线经过8个时钟而步进1行
2. 键的识别 在键盘中通常用硬件或软硬件结合的方法来识别键盘中的闭 合键,常用的按键识别方法有:行扫描法、行反转法和行、 列扫描法。 (1)行扫描法 我们把PC系列键盘视为二维矩阵的行列结构,键盘的识别采 用行扫描法,如图11-2所示,为16行×8列的矩阵结构。键 盘扫描程序周期性地对行列结构的按键进行扫描,然后根据 回收的信息来确定当前的行、列位置码。 行扫描法的工作原理为:7位计数器处于定时工作方式,计 数器输出分别送至两个译码器(行译码和列译码),高4位 译码形成Y0~Y15共16行扫描驱动线;低3位译码形成X0~X7 共8列扫描驱动线。由于计数器的特点,列扫描驱动线随着 时钟而步进1列,行扫描驱动线经过8个时钟而步进1行
4/16 译码器 计数器 |38 检测器 译码器 键已按 图11-2行扫描法识别按键
Y15 … 检测器 4/16 译 码 器 Y1 Y0 X7 3/8 译 码 X0 器 计 数 器 键已按 … … … … … … 图11-2 行扫描法识别按键
(2)行反转法 行反转法是利用可编程并行接口(如8255A)来实现的, 在硬件上要求键盘的行、列线分别连接到两个双向并行接口 ,如图11-3所示 行反转法的工作原理为:将行线接一个并行口,先工 作在输出方式,将列线接到另一个并行口,先工作在输入方 式。经初始化编程使CPU通过输出端口往各行线全部送低电 平,然后读入列线的值。如果有某个键被按下,则必有一条 列线为低电平。然后进行线反转,通过编程对两个并行端口 进行方式设置,使连接行线的端口工作在输入方式,并将刚 才读到的列线值通过所连接的并行口再输出到列线,然后读 取行线的值,那么闭合键所对应的行线必为低电平,这样当 个键被按下时,就可以读到一对唯一的列值和行值
(2)行反转法 行反转法是利用可编程并行接口(如8255A)来实现的, 在硬件上要求键盘的行、列线分别连接到两个双向并行接口 ,如图11-3所示。 行反转法的工作原理为:将行线接一个并行口,先工 作在输出方式,将列线接到另一个并行口,先工作在输入方 式。经初始化编程使CPU通过输出端口往各行线全部送低电 平,然后读入列线的值。如果有某个键被按下,则必有一条 列线为低电平。然后进行线反转,通过编程对两个并行端口 进行方式设置,使连接行线的端口工作在输入方式,并将刚 才读到的列线值通过所连接的并行口再输出到列线,然后读 取行线的值,那么闭合键所对应的行线必为低电平,这样当 一个键被按下时,就可以读到一对唯一的列值和行值
PB2 PB 8255A 0|123 8255 PAO PAO K 4|567 PAl PAl 8 9AB 8 9AB PAD PA2 K CDEF CDIEF PA3 (a)行线输出 (b)列线输出 图11-3行反转法识别按键
PB0 PB1 PB2 PB3 PA0 PA1 PA2 PA3 8255A +5V +5V 0 1 2 3 4 5 6 7 8 9 A B C D E F PB0 PB1 PB2 PB3 PA0 PA1 PA2 PA3 8255A +5V +5V 0 1 2 3 4 5 6 7 8 9 A B C D E F (a)行线输出 (b)列线输出 图11-3 行反转法识别按键
在键盘设计时除了对键码的识别外,还需要解决抖动和 重键问题。 按键开关在开闭过程中不可避免地会出现瞬态抖动,其 时间长短约为5~10ms。在抖动时检测键盘状态是不可靠的, 因此要进行去抖动处理,去抖动可用硬件或软件实现。硬件 去抖动电路通常由一个R-S触发器或单稳态电路构成。软件 去抖动的方法是在检测到有键按下时,先延迟10ms再检测键 是否仍保持闭合状态。 重键是指在同一时刻有两个或多个键同时按下的情况, 此时存在着是否给予识别或识别哪一个键的问题。对重键的 处理,一般可以不予理睬,认为重键是一次错误的按键。通 常情况下则是只承认先识别出来的键,对同时按下的其它键 不作识别,直到所有键都释放以后,才读入下一个键。这种 方法称为“连锁法”。此外,还可采用“巡回法”,其基本 思想是等被识别的键释放以后,才对其它闭合键作识别,该 方法比较适合于快速键入操作
在键盘设计时除了对键码的识别外,还需要解决抖动和 重键问题。 按键开关在开闭过程中不可避免地会出现瞬态抖动,其 时间长短约为5~10ms。在抖动时检测键盘状态是不可靠的, 因此要进行去抖动处理,去抖动可用硬件或软件实现。硬件 去抖动电路通常由一个R-S触发器或单稳态电路构成。软件 去抖动的方法是在检测到有键按下时,先延迟10ms再检测键 是否仍保持闭合状态。 重键是指在同一时刻有两个或多个键同时按下的情况, 此时存在着是否给予识别或识别哪一个键的问题。对重键的 处理,一般可以不予理睬,认为重键是一次错误的按键。通 常情况下则是只承认先识别出来的键,对同时按下的其它键 不作识别,直到所有键都释放以后,才读入下一个键。这种 方法称为“连锁法” 。此外,还可采用“巡回法” ,其基本 思想是等被识别的键释放以后,才对其它闭合键作识别,该 方法比较适合于快速键入操作
3.PC机键盘接口 目前PC机常用的键盘接口有3种: (1)标准接口:一般用于早期的AT主板上,所以也叫 做AT接口。标准接口为圆形,比PS/2接口要大,习惯上称 之为大口 (2)PS/2接口:PS/2接口为具有6针的圆形插座,目 前PC机上一般都具有连接键盘的PS/2接口 (3)USB接口:由于USB设备具有即插即用,支持热插 拔等优点,很多设备都采用了USB接口,键盘也不例外。选 择USB接口的键盘先要考虑主机上是否具有空余的USB接口。 端相当于D/A转换器,而在接收端则相当于AD转换器 键盘接口的功能主要有:接收键盘送来的扫描码; 输出缓冲区满,产生键盘中断;接收并执行系统命令,对 键盘进行初始化、测试、复位等操作
3. PC机键盘接口 目前PC机常用的键盘接口有3种: (1)标准接口:一般用于早期的AT主板上,所以也叫 做AT接口。标准接口为圆形,比PS/2接口要大,习惯上称 之为大口。 (2)PS/2接口:PS/2接口为具有6针的圆形插座,目 前PC机上一般都具有连接键盘的PS/2接口。 (3)USB接口:由于USB设备具有即插即用,支持热插 拔等优点,很多设备都采用了USB接口,键盘也不例外。选 择USB接口的键盘先要考虑主机上是否具有空余的USB接口。 端相当于D/A转换器,而在接收端则相当于A/D转换器。 键盘接口的功能主要有:接收键盘送来的扫描码; 输出缓冲区满,产生键盘中断;接收并执行系统命令,对 键盘进行初始化、测试、复位等操作