Files
Operating-System/8086/Exam/第9章 人机交互接口.md
2026-06-29 21:12:21 +08:00

25 KiB
Raw Permalink Blame History

第9章 人机交互接口(期末复习总结)

本章内容主要来源于课程 PPT第 337 页起,共 29 页PPT 重点讲述了键盘接口发光二极管LED七段显示器接口两部分。本总结在此基础上补充 LCD、打印机、鼠标、触摸屏等常见人机交互设备的知识以便期末复习。


一、详细内容分析

9.1 键盘接口

9.1.0 键盘基本分类

1. 按编码提供方式分(编码键盘 vs 非编码键盘)

  • 编码键盘:能够由硬件逻辑自动提供与被按键对应的 ASCII 码或其它编码。某一键按下后,能够直接提供与该键相对应的编码信息。硬件复杂,但使用简单、响应快。
  • 非编码键盘:仅仅提供被按键行和列的矩阵,其它工作都靠程序实现,为系统软件在定义键盘的某些操作上提供了更大的灵活性。本章 PPT 重点讲解非编码键盘。

2. 按按键连接方式分(线性键盘 vs 矩阵键盘)

  • 线性键盘:采用独立式按键,直接用 I/O 线构成单个按键电路。适用于按键数量少的场合。
  • 矩阵键盘:行列式键盘,用 I/O 口线组成行、列结构,按键设置在行列的交点上,可有效减少 I/O 口占用(如 4×4 矩阵只需 8 根线)。

9.1.1 消除抖动及重键处理

1. 抖动Key Bounce

  • 当机械开关的触点闭合时,达到稳定之前需要短暂抖动或弹跳几下,反复闭合、断开几次之后才能可靠地闭合。开关断开时也有同样现象。
  • 抖动时间:约 1020ms
  • 抖动会引起一次按键被读入多次(误识别)。

2. 消抖方法

  • 硬件消抖
    • 对每一个键加上 R-C 滤波电路
    • 或加上 RS 触发器(双稳态触发器)去抖电路
  • 软件消抖
    • 采用 20ms 左右延迟子程序,等待键的输出达到完全稳定后才去读取代码;
    • 两次读键比较(前沿消抖:第一次检测到按下 → 延时 20ms → 再读一次确认) 。

3. 重键处理(多键同时按下)

  • 定义:两个或两个以上的键同时按下,或者一个键按下后还未弹开,另一个键又按下的情况。
  • 三种解决方法:
    1. 不理会所有被按下的键,直至只剩下一个键按下时为止(最简单);
    2. 将所有按键的信息存入内部键盘输入缓冲器,逐个处理(成本高);
    3. n 键连锁技术:当一键被按下时,在此键未完全释放之前,其它的键虽然可被按下或松开,但并不产生任何代码(最常用)。

9.1.2 线性键盘

  • 采用独立式按键,每个按键接到独立的 I/O 口线。
  • PPT 例题8255A 的 A 口、B 口、C 口、控制口地址为 60H/61H/62H/63H4 个按键 K3K0 接 PA3PA0按下时为 "0",未按为 "1"。
  • 控制字归纳为 10010000B90HA 口方式 0 输入B/C 口方式 0 输出。
  • 编程步骤:
    1. 检测是否有键按下(全 1 无键按下,有 0 表示有键按下);
    2. 软件消抖(调用 20ms 延时);
    3. 再读一次确认;
    4. 逐位比较确定是哪个键K3K0 对应编码 30
    5. 若有多个键按下,则设 AH = 0FFH 作为标识。

9.1.3 矩阵键盘

1. 行扫描法

  • 步骤:
    1. 行全输出 0读列值:若列值全 1无键按下否则有键按下
    2. 依次只让一行输出 0其他行输出 1读列值
    3. 若列值全 1则按键不在此行转扫描下一行
    4. 否则按键在此行,并由此时的行、列构建位置码(高 4 位行号 + 低 4 位列号);
    5. 通过位置码查表确定按键。
  • PPT 例题4×4 键盘0F 共 16 个键):行输出端口 200H列输入端口 201H。
    • B 键位于第 2 行第 3 列:行号 = 1011B列号 = 0111B位置码 = 1011 0111B。
    • 查表法:将每个键的位置码按顺序存入 TABLE 表,下标即为键号。
  • 编程要点:
    • 初始化 → 行输出 00H 检查有无键按下 → 软件消抖 → 再次确认 → 循环扫描行(用 ROL AH, 1 移位产生扫描码)→ 列值与全 1 比较 → 形成位置码(用 SHL AH, 4 + OR AL, AH)→ 查表得键号 → 存 AH。
    • 4 行全扫完却未发现键按下(可能是干扰)时,以 80H 作为标志
    • 重键时以 0FFH 作为标志。

2. 线反转法

  • 步骤:
    1. 第一步:行输出,列输入。行设为输出D7D4列设为输入D3D0。输出行号 0000B读列数据若列数据为 1111B无键按下否则有键按下。
    2. 第二步:线反转。有键按下时把列转为输出D7D4行为输入D3D0并从列输出第一步读回的数据然后读回行数据。
    3. 由这两次读回的数据拼接成位置码(高 4 位 + 低 4 位)。
  • 优点:只需两步即可得到位置码,比行扫描法更快。

9.1.4 键盘工作方式

  1. 程序控制扫描方式:利用 CPU 工作的空闲时间,调用键盘扫描子程序,响应键盘的输入请求。
  2. 定时扫描方式利用定时器产生定时中断CPU 响应中断后对键盘进行扫描。属于中断方式,但不是实时响应,而是定时响应。
  3. 中断扫描方式当键盘上有键闭合时便产生中断请求CPU 响应中断后执行中断服务程序对闭合键进行识别。CPU 效率最高(无须空扫描)。

9.1.5 PC 键盘接口(补充)

  • PC 标准键盘采用 Intel 8042或者兼容芯片 8742作为键盘控制器,通过 5 芯 DIN 插座与主机相连。
  • 信号线KBDDATA双向数据线、KBDCLK时钟线、GND、+5V、KBDRESET复位
  • 键盘内部的单片机扫描键盘,得到扫描码(接通码/断开码),通过串行方式发送给键盘控制器。
  • 键盘控制器接收扫描码后产生中断请求 IRQ1,进入 INT 09H 中断处理。

9.1.6 BIOS 键盘中断及 DOS 键盘功能调用

1. 中断 09H 的处理过程

  • 从键盘接口的输出缓冲寄存器60H读取系统扫描码
  • 判断该键的分类:
    1. ASCII 码 0127 → 缓冲区写入 系统扫描码ASCII 码)
    2. ASCII 码 128255 → 缓冲区写入 0ASCII 码)
    3. 组合键和功能键 → 缓冲区写入 扩展码0,如 SHIFT+a
    4. 特殊命令组合键(如 Ctrl+Alt+Del→ 不形成代码,直接完成相应操作;
    5. 特殊键 → 设置"键盘状态字节"的状态(对应 D0D7 位R-Shift、L-Shift、Ctrl、Alt、Scroll Lock、Num Lock、Caps Lock、Insert

2. 键盘缓冲区

  • 建立在系统主存的 BIOS 数据区中;
  • 占用 32 个字节,可存放 16 次击键产生的 ASCII 码和扫描码(每次击键占 2 字节);
  • 以**先进先出FIFO**的方式工作,形成循环队列;
  • 地址范围40:1EH 40:3DH
  • 队首指针在 40:1AH队尾指针在 40:1CH
  • INT 09H 写入时指针总指向队尾INT 16H 读取时总指向队首。

3. INT 16H 的功能(读取键盘缓冲区)

  • 以 FIFO 工作,输出指针总指向队首;
  • 3 种子功能,由 AH 区分:
    • AH = 0:从键盘读入字符送 AL 寄存器无键按下时处于等待状态出口AL = 字符的 ASCII 码AH = 扫描码;
    • AH = 1:从键盘缓冲器中读入字符送 AL并设置 ZF 标志ZF = 0有键→ AL 中为字符 ASCII 码ZF = 1无键不等,常用来轮询;
    • AH = 2读取特殊功能键的状态出口AL 为各特殊功能键的状态(对应键盘状态字节)。

4. INT 21H 的功能DOS 键盘功能调用)

子功能 功能描述 入口参数 出口参数
AH=01H 从键盘输入一个字符并回显 AH=1 AL=字符
AH=06H 读键盘字符(直接控制台 I/O AH=6, DL=0FFH 有字符 AL=字符, ZF=0无 AL=0, ZF=1
AH=07H 从键盘输入一个字符,不回显 AH=7 AL=字符
AH=08H 从键盘输入一个字符,不回显,检测 Ctrl_Break AH=8 AL=字符
AH=0AH 输入字符到缓冲区 AH=0AH, DS:DX=缓冲区首址
AH=0BH 读键盘状态 AH=0BH AL=0FFH 有键AL=0 无键
AH=0CH 清除键盘缓冲区,并调用一种键盘功能 AH=0CH, AL=功能号 与调用功能有关

9.2 发光二极管LED显示器接口

9.2.1 发光二极管七段显示器结构

1. 结构

  • 由 7 段发光二极管a、b、c、d、e、f、g和小数点h 或 dp组成"8"字形;
  • 每段是一个发光二极管,通过点亮不同段显示 09、AF 等字符。

2. 共阴极 vs 共阳极(高频考点)

类型 共阴极 共阳极
公共端 接地GND 接高电平(+5V
段点亮条件 段输入"1"(高电平) 段输入"0"(低电平)
段码特征 0 = 3FH、1 = 06H …… 0 = C0H、1 = F9H ……
段码关系 共阴极段码 = 共阳极段码取反(按位)

3. 共阴极 LED 七段显示器段码表

字形 h g f e d c b a 段码H
0 0 0 1 1 1 1 1 1 3FH
1 0 0 0 0 0 1 1 0 06H
2 0 1 0 1 1 0 1 1 5BH
3 0 1 0 0 1 1 1 1 4FH
4 0 1 1 0 0 1 1 0 66H
5 0 1 1 0 1 1 0 1 6DH
6 0 1 1 1 1 1 0 1 7DH
7 0 0 0 0 0 1 1 1 07H
8 0 1 1 1 1 1 1 1 7FH
9 0 1 1 0 1 1 1 1 6FH
A 0 1 1 1 0 1 1 1 77H
B 0 1 1 1 1 1 0 0 7CH
C 0 0 1 1 1 0 0 1 39H
D 0 1 0 1 1 1 1 0 5EH
E 0 1 1 1 1 0 0 1 79H
F 0 1 1 1 0 0 0 1 71H
不显示 0 0 0 0 0 0 0 0 00H

例:共阴极 LED 显示"2"的七段码为 0101 1011B = 5BHa、b、d、e、g 段亮 → b111 1011注意 D7 不接,置 0

9.2.2 显示方式:静态显示 vs 动态显示(高频考点)

1. 静态显示

  • 当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止;
  • 每一显示位可独立显示,在同一时刻不同的显示位可以显示不同的字符;
  • 优点显示稳定无闪烁CPU 负担轻;编程简单;
  • 缺点:占用 I/O 口线多(每位需 8 根段码线 + 公共端),成本高,不适合多位显示;
  • 典型电路:通过 8255A 控制 3 位静态 LEDPA、PB、PC 各驱动一位)。

2. 动态显示(扫描显示)

  • 一位一位地轮流点亮各位显示器(扫描)。对于某一位显示器来说,每隔一段时间点亮一次。
  • 工作过程:
    1. 把在第 N 位要显示的字符七段码输出;
    2. 把这一位的选通信号置为有效(其他位选通信号都无效);
    3. 这一位显示相应字符,延时一定时间;
    4. 依同样方式显示下一位,依次轮询所有位;
    5. 利用视觉暂留,人眼看上去所有位同时点亮。
  • 段选信号:控制每位的段码(决定显示什么字符);
  • 位选信号:控制哪一位有效(每次只有 1 位有效,由译码器或 I/O 线实现);
  • 优点:占用 I/O 口线少(多位共享段码线),硬件成本低;
  • 缺点CPU 需不断扫描;显示亮度受扫描频率影响;编程较复杂。

9.2.3 接口及应用举例

  • 段码转换方法:硬件译码(专用译码器如 7447/7448、软件译码建表 XLAT 查表);
  • 例 9.2.1(软件译码静态显示):通过 8255A 控制共阳极 LED 显示 4 位开关对应的 1 位十六进制数0F
    • 8255A 端口地址A 口 C4HB 口 C5HC 口 C6H控制口 C7H
    • 控制字 90H方式 0A 口输入B 口输出;
    • 软件流程:输入 A 口 → 与 0FH 屏蔽高 4 位 → XLAT 查段码表 → 输出段码到 B 口 → 延时 → 循环;
    • 段码表LEDTAB存放 0F 的共阳极段码3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71H。

9.3 LCD 液晶显示器接口(补充)

9.3.1 LCD 简介

  • LCDLiquid Crystal Display利用液晶的电光效应显示字符或图形
  • 优点:功耗低、体积小、显示信息丰富(可显示任意图形);
  • 缺点:响应速度慢、对比度受视角影响、需背光。

9.3.2 字符型 LCD如 1602即 16×2

1. 1602 主要引脚16 脚)

引脚 符号 功能
1 VSS 电源地
2 VDD +5V 电源
3 VO 液晶对比度调整(接电位器)
4 RS 寄存器选择0=命令寄存器1=数据寄存器
5 R/W 读写选择0=写1=读
6 E 使能信号(下降沿触发写,高电平读)
714 D0D7 8 位双向数据线
15 ABL+ 背光正极
16 KBL- 背光负极

2. 常用控制指令(高频考点)

指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 功能
清屏 0 0 0 0 0 0 0 0 0 1 清 DDRAM光标归位AC=0
光标归位 0 0 0 0 0 0 0 0 1 x AC=0光标回到原点
输入模式设置 0 0 0 0 0 0 0 1 I/D S I/D=1 增量/0 减量S=1 整屏移动
显示开关控制 0 0 0 0 0 0 1 D C B D=显示0=关/1=开C=光标B=闪烁
光标/显示移位 0 0 0 0 0 1 S/C R/L x x S/C=1 整屏/0 光标R/L=1 右移/0 左移
功能设置 0 0 0 0 1 DL N F x x DL=8 位/4 位N=2 行/1 行F=5×10/5×7
设置 CGRAM 地址 0 0 0 1 A5 A4 A3 A2 A1 A0 设置自定义字符 RAM 地址
设置 DDRAM 地址 0 0 1 A6 A5 A4 A3 A2 A1 A0 设置显示数据 RAM 地址
读忙标志 BF 和地址 0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 BF=1 忙BF=0 空闲
写数据 1 0 写入数据到 DDRAM 或 CGRAM
读数据 1 1 从 DDRAM 或 CGRAM 读出数据

3. 初始化流程(高频考点)

  • 上电后等待 15ms 以上(电源稳定);
  • 写功能设置指令 38H8 位数据接口2 行显示5×7 点阵);
  • 写显示开关控制 0CH开显示关光标关闪烁
  • 写清屏指令 01H
  • 写输入模式设置 06H地址自动 +1光标右移
  • 之后即可向 DDRAM 写入要显示的字符 ASCII 码。

4. 编程示例(伪代码)

写命令子程序RS=0, R/W=0, E=下降沿, 数据→D0~D7
写数据子程序RS=1, R/W=0, E=下降沿, 数据→D0~D7
初始化38H → 0CH → 01H → 06H
显示字符:写 DDRAM 地址(如 80H 表示第一行首字符)→ 连续写数据ASCII 码)
读忙标志RS=0, R/W=1, 读 BF 位(每次写操作前最好先读 BF 判忙)

9.3.3 图形点阵 LCD

  • 常见型号12864128×64 点阵、19264 等;
  • 内部结构:显示控制器(如 KS0108、HD61202+ 显示屏;
  • 显示原理每个点对应显存中的一位1=亮0=灭);
  • 显示步骤:
    1. 设置显示起始行;
    2. 设置页地址Y 地址,每 8 行为一页);
    3. 设置列地址X 地址);
    4. 连续写入一字节8 个点)的显示数据;
    5. 列地址自动 +1直到写完一行。

9.4 打印机接口Centronics 标准)(补充)

9.4.1 概述

  • 打印机是常用的输出设备;
  • 接口标准:Centronics 并行接口标准(早期 36 脚 Amphenol 连接器,现多用 USB但 Centronics 信号线仍是基础);
  • 数据传输方式:8 位并行数据,单向传输(主机→打印机),采用应答式(握手)通信。

9.4.2 Centronics 接口主要信号线(高频考点)

信号线 方向 功能
DATA1DATA8 主机 → 打印机 8 位并行数据
STROBE(选通) 主机 → 打印机 低电平有效,数据选通信号,下降沿时打印机读取数据
BUSY(忙) 主机 ← 打印机 高电平表示打印机忙,不能接收数据
ACK(应答) 主机 ← 打印机 低电平脉冲,表示打印机已接收数据,可以接收下一个数据
PE缺纸 主机 ← 打印机 高电平表示缺纸
SLCT选择 主机 ← 打印机 高电平表示打印机处于联机状态
INIT(初始化) 主机 → 打印机 低电平使打印机复位
AUTO FEED XT 主机 → 打印机 低电平使打印机自动换行
SELECT IN 主机 → 打印机 低电平使打印机处于被选中状态
ERROR出错 主机 ← 打印机 低电平表示打印机处于错误、脱机或缺纸状态
GND 地线

9.4.3 打印机接口编程

1. 查询方式

发送数据流程:
1. 读 BUSY 信号:若 BUSY=1则等待若 BUSY=0则可发数据
2. 将数据送到数据线 DATA1DATA8
3. 产生 STROBE 选通信号(低电平脉冲),打印机读数据;
4. 等待 ACK 应答信号(下降沿表示接收完毕);
5. 准备发送下一字节。

2. 中断方式

  • 利用 ACK 信号(或 BUSY 下降沿触发中断在中断服务程序中发送下一字节CPU 效率高。

9.5 其他输入设备(补充)

9.5.1 鼠标

  • 机械式鼠标:通过底部滚球的转动带动光栅盘转动,光电传感器检测移动方向和距离;
  • 光电式鼠标:通过底部 LED 照射表面,光学传感器拍照比对,识别移动(精度高、不需滚球);
  • 接口PS/2、USB、蓝牙、无线2.4G
  • 数据格式(以 PS/2 鼠标为例):
    • 3 字节包:第 1 字节 = 按键状态 + 方向溢出;第 2、3 字节 = X、Y 方向位移量(带符号整数);
    • 通过 INT 33HDOS或 Windows 驱动访问。

9.5.2 触摸屏

  • 电阻式触摸屏
    • 由两层透明电阻薄膜组成,中间用绝缘点隔开;
    • 按压时两层导电接触,分时给 X、Y 方向加电压,测量接触点电压 → 计算坐标;
    • 优点:精度高、价格低、可戴手套触摸;缺点:透光率较低、多点触摸实现难。
  • 电容式触摸屏
    • 利用人体电流感应;
    • 表面电容式投射电容式(支持多点触摸,现代手机、平板多用);
    • 优点:透光率高、支持多点触摸;缺点:不能戴手套(表面电容)、需人体接触。
  • 红外/声表面波触摸屏:屏幕四周装红外发射/接收对管或声波传感器,触摸时遮挡或衰减,定位触摸点。

9.5.3 扫描仪

  • 通过光电耦合器件CCD/CMOS将图像转换为数字信号
  • 关键参数分辨率DPI、色彩深度、扫描幅面
  • 接口USB、SCSI早期

9.5.4 音频接口(补充)

  • 声卡通过 DAC(数模转换)输出模拟音频信号;
  • AC'97 / HD Audio 标准:定义音频控制器与编解码器之间的接口;
  • 输入设备麦克风MIC、线路输入Line In
  • 输出设备扬声器Speaker、耳机、线路输出Line Out

二、考点总结

高频考点

  • 【高频】共阴极 vs 共阳极数码管段码差异:共阴极点亮段=1公共端接地共阳极点亮段=0公共端接+5V共阴极段码按位取反=共阳极段码。必须牢记 0F 的段码表(最常考的是 0=3FH、1=06H、2=5BH、3=4FH、4=66H、5=6DH、6=7DH、7=07H、8=7FH、9=6FH
  • 【高频】动态扫描显示原理:段选信号(送段码)+ 位选信号(每次只有 1 位有效利用视觉暂留依次轮流点亮各位CPU 需周期性扫描。
  • 【高频】矩阵键盘扫描法
    • 行扫描法:行全 0 检测有无按键 → 延时消抖 → 逐行扫描ROL AH, 1 → 读列值 → 拼接位置码(高 4 位行号 + 低 4 位列号)→ 查表得键号;
    • 线反转法:行输出/列输入 → 读列值 → 反转为列输出/行输入 → 读行值 → 拼接位置码(只需两步)。
  • 【高频】按键消抖方法
    • 硬件R-C 滤波电路、RS 触发器;
    • 软件:检测到按下后延时 20ms再读一次确认。
  • 【高频】LCD 1602 常用控制指令:清屏 01H、光标归位 02H、显示开关 0CH、功能设置 38H8 位/2 行/5×7、输入模式 06H、读 BF 地址、写数据等。
  • 【高频】Centronics 接口关键信号STROBE选通主机→打印机、BUSY打印机→主机、ACK应答打印机→主机、DATA188 位数据、INIT初始化、ERROR出错

其他常考要点

  • 编码键盘 vs 非编码键盘的区别(硬件 vs 软件实现编码)。
  • 线性键盘 vs 矩阵键盘的适用场景(按键少 vs 按键多)。
  • 重键处理三种方法不理、缓冲、n 键连锁),n 键连锁最常用。
  • 键盘工作方式三种(程序控制、定时扫描、中断扫描),效率递增。
  • INT 09H 处理过程:读扫描码 → 判断分类 → 写入键盘缓冲区。
  • 键盘缓冲区32 字节,位于 40:1EH40:3DHFIFO 循环队列。
  • INT 16H 三个子功能AH=0读字符等待、AH=1读字符检 ZF、AH=2读特殊键状态
  • INT 21H 键盘调用AH=1输入回显、AH=6直接控制台、AH=7不回显、AH=0BH读状态
  • 8255A 控制字格式D7=1 特征位方式选择I/O 方向)。
  • 共阳极段码表共阴极段码按位取反0=C0H, 1=F9H, 2=A4H, 3=B0H, 4=99H, 5=92H, 6=82H, 7=F8H, 8=80H, 9=90H, A=88H, B=83H, C=C6H, D=A1H, E=86H, F=8EH。
  • 静态显示 vs 动态显示的优缺点I/O 口占用、CPU 负担、亮度)。
  • LCD 1602 引脚RS0=命令/1=数据、R/W0=写/1=读、E使能下降沿触发写
  • 打印机数据传输:查询方式(读 BUSY和中断方式ACK 触发)。

常见题型

  • 计算/设计题:数码管段码表推导

    • 例:给定字形(共阴极/共阳极),求段码(注意按 a 在 D0、b 在 D1 …… 的位序);
    • 例:给出共阴极段码表,求共阳极段码(按位取反);
    • 例:设计用 8255A 控制 LED 显示 0F 的硬件电路与软件流程。
  • 分析题:给出键盘扫描程序判断按下哪个键

    • 例:给定行扫描法程序片断,分析某次扫描得到的行号、列号,确定按键位置码和键号;
    • 例:给出 8255A 控制字,判断各端口的 I/O 方向。
  • 简答题:动态扫描 vs 静态显示优缺点

    • 静态:每位独立显示,稳定无闪烁,占用 I/O 多;
    • 动态:节省 I/O但需 CPU 持续扫描,可能闪烁。
  • 设计题LCD 初始化序列与字符显示程序

    • 例:用 8255A或 8155连接 LCD 1602写出初始化序列38H → 0CH → 01H → 06H以及在指定位置显示字符串的子程序。
  • 简答题:键盘消抖方法及优缺点

    • 硬件:电路复杂但实时性好;
    • 软件:简单灵活但占用 CPU 时间20ms
  • 简答题:行扫描法与线反转法的比较

    • 行扫描:循环扫描每行,速度慢但实现简单;
    • 线反转:两步即可,速度快但需双向 I/O 口。
  • 简答题Centronics 接口的工作流程STROBE/BUSY/ACK 三线握手)

      1. 主机检查 BUSY
      1. BUSY=0 时,主机送出数据;
      1. 主机产生 STROBE 下降沿;
      1. 打印机置 BUSY=1处理数据
      1. 打印机发出 ACK 脉冲,置 BUSY=0
      1. 主机准备发送下一字节。
  • 简答题:键盘缓冲区的作用

    • 解决 CPU 速度快、键盘输入慢的矛盾;允许按键暂时"堆积";实现 FIFO 顺序读取。

三、复习提示

  1. PPT 重点在 9.1 键盘接口9.2 LED 七段显示器,这两部分的例题和程序必须能看懂、能修改、能独立编写。
  2. 段码表(特别是 09必须能背下来尤其是共阴极的 3FH、06H、5BH、4FH、66H、6DH、7DH、07H、7FH、6FH。
  3. 键盘扫描程序 是本章最重要的综合题,要熟练掌握行扫描法(带查表)和线反转法。
  4. LCD、打印机、鼠标、触摸屏 部分 PPT 未涉及,需要根据教材补充,主要掌握 LCD 1602 控制指令Centronics 接口信号 即可应付考试。
  5. 8255A 的控制字、端口地址、工作方式(方式 0/1/2是贯穿全章的基础必须熟练。
  6. 复习时建议结合第 7、8 章的 8255A、74LS138、ADC0809 等芯片的应用,形成完整的"接口 + 外设"知识体系。