第7章 并行接口 7.1 简单并行接口 7.2 可编程并行接口8255A 7.3 键盘接口 7.4 LED显示器接口.

Slides:



Advertisements
Similar presentations
第1章第1章 PC/AT 系統 1 Chapter 1 Chapter 1 PC/AT 系統 001.
Advertisements

(5)能根据具体要求绘制简单的电路图(不超过两个用电器) b
微型计算机原理及应用.
中國歷史人物—孫中山 姓名:黎昕晴 班別:五理.
输入输出程序设计 输入输出的基本概念 无条件方式输入输出 查询方式输入输出 中断方式输入输出.
微型计算机技术 教 学 指 导(七) 太原广播电视大学 郭建勇.
第10章 DOS功能调用与BIOS中断调用.
第十二章 DMA控制器 12.1 概述 A DMA控制器 A的应用.
大连理工大学软件学院 软件工程系 赖晓晨 计算机组成与结构 大连理工大学软件学院 软件工程系 赖晓晨
第一章 计算机基础知识 第一节 计算机概述 一、计算机的基本组成和工作原理 二、有关术语 三、计算机发展简史 四、微型计算机概述
第五章 微处理器总线操作与时序 三、总线时序 一、 8086/8088引脚 二、最小模式和最大模式.
输入/输出及接口 输入/输出的传送方式 中断技术 80x86/Pentium中断系统 8259A可编程中断控制器 中断程序设计
本周实验安排 实验内容:(P231)人名排序的例子。
第 6 章 I/O 接口和总线 中国科学技术大学 何克东.
得技通电子 问题 1 右何者非為假指令 (1) XRL (2) EQU (3) MACRO (4) ORG.
第7章 常用数字接口电路.
4.1 汇编语言 4.2 顺序结构程序 4.3 分支程序设计 4.4 循环程序设计 4.5 子程序设计
9.1 可编程并行输入/输出接口芯片8255A 9.2 可编程计数器/定时器 可编程串行输入/输出接口芯片8251A
3.3.5 程序控制指令 控制转移指令分为: 转移指令 循环控制指令 调用和返回指令 中断指令.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月26日.
第5章 循环与分支程序设计  循环程序设计  分支程序设计.
第三章 寻址方式与指令系统 3.1 寻址方式 一条指令通常由两大部分构成: 操作码 操作数
微机原理与接口技术 第3章 8086指令系统 朱华贵 2015年09月25日.
第6章 DMA传输 6.1 DMA传输原理 6.2 DMA控制器8237A A的编程使用 欢迎辞.
第2章 MCS-51单片机指令系统与汇编语言程序设计
第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第四节 Intel 8253在IBM PC机上的应用.
复 习 一. 计算机中的数和编码 1. 2,10,16进制数及其之间的转换(整数) 按权展开,除x取余 2
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月10日.
第5章 存储系统.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月05日.
输入输出与中断 主要内容 CPU与外设之间数据传送方式 中断技术 8086中断系统和中断处理.
第七章 MCS-51系统扩展 一、程序存储器扩展
单片机原理及应用 MCS-51系列单片机的基本硬件结构 MCS-51指令系统 MCS-51单片机的系统扩展与应用.
第八章 输入输出程序设计 总线 CPU MEM I/O接口 I/O设备.
第二部分 PC 微机异步通信适配器的分析和使用 一、PC中的UART 1.INS PC16450/PC16550
第七章 MCS-51并行口的扩展 MCS51单片机内部有4个并行口,当内部并行口不够用时可以外扩并行口芯片。可外扩的并行口芯片很多,分成2类:不可编程的并行口芯片(74LS3734和74LS245)和可编程的并行口芯片(8255)。 7.1 不可编程并行口芯片的扩展 7.2 可编程并行口芯片的扩展.
微机原理及应用 主讲:郑海春.
第一章 8086程序设计 第二章 MCS-51程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口
微机原理与接口技术 第9章 计时/计数接口.
第8章 PCH中的常规接口.
本 章 重 点 单片机的简单I/O扩展 8255A可编程并口芯片 8279可编程键盘/显示器接口芯片 单片机键盘接口技术
第7章 微型机接口技术 可编程定时/计数器 可编程并行接口 串行接口与串行通信(概念) DMA控制器接口(不做要求) 模拟量输入/输出接口.
第二章 8086/8088系统结构 主要内容 8086/8088微处理器的内部结构 8086/8088 CPU 的引脚与功能
微型计算机原理及应用.
第3章 微型计算机输入输出接口 3.1 输入/输出接口 3.2 输入输出数据传输的控制方式 3.3 开关量输入输出接口 欢迎辞.
第六章 子程序结构 §6.1 子程序的设计方法 §6.2 嵌套与递归子程序 §6.3 子程序举例 §6.4 DOS系统功能调用.
第 13 章 中断系统.
第二章 模拟量输出通道 本章要点 1.模拟量输出通道的结构组成与模板通用性; 2.8位D/A转换器DAC0832的原理组成及其接口电路
條件處理.
第九章 高级宏汇编语言 9.1 结构 结构就是将逻辑上有一定关系的一组数据,以某种方式组合在一起所形成的数据形式。
第5章 循环与分支程序设计 学习目标: 了解并掌握循环程序的构造方法,尤其是对循环控制条件的设置以及可能出现的边界情况的考虑。掌握起泡排序算法这种多重循环程序设计中的常用方法。交换标志位的设置在此算法中更能提高效率。学会在数组排序算法中采用折半查找法来提高查找效率。学会使用跳跃表法实现CASE结构。
4.1 汇编语言程序格式 4.2 MASM中的表达式 4.3 伪指令语句 4.4 DOS系统功能调用和BIOS中断调用
第7章 I/O接口和总线 7.1 I/O接口 7.2 总线.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月19日.
第五章:输入输出基本技术 主讲教师:范新民.
第二章 8086微处理器. 第二章 8086微处理器 微处理器的基本结构 8086微处理器的主要特性和内部结构 8086CPU的工作模式和引脚信号 8086的存储器管理 8086的总线操作和时序.
第九章 微处理器外部结构和总线操作时序.
第10章 可编程外围接口芯片8255A及其应用 10.1 概述 A的工作原理 A的应用举例.
习题3 1、 分别说明下列指令的原操作数和目的操作数各采用什么寻址方式。 设定如下: ①立即寻址 ② ① ②寄存器寻址
可编程定时计数器.
第九章 BIOS和DOS中断 在存储器系统中,从地址0FE000H开始的8K ROM(只读存储器)中装有BIOS(Basic Iuput /output System)例行程序。驻留在ROM中的BIOS给PC系列的不同微处理器提供了兼容的系统加电自检,引导装入,主要I/O设备的处理程序以及接口控制等功能模块来处理所有的系统中断。使用BIOS功能调用,给程序员编程带来很大方便,程序员不必了解硬件操作的具体细节,直接用指令设置参数,然后中断调用BIOS中的子功能,所以利用BIOS功能编写的程序简洁,可读性好,
《微型计算机原理与接口技术》 第4版 王良 宁德师范学院 吴宁 乔亚男 编著 清华大学出版社 出版
第5章 循环与分支程序设计  循环程序设计  分支程序设计.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月17日.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月06日.
简单芯片扩展I/O接口 8155可编程接口芯片及其使用 键盘及显示器接口设计 A/D和D/A转换接口技术
第6章 子程序结构 在程序设计中,我们会发现一些多次无规律重复的程序段或语句序列。解决此类问题一个行之有效的方法就是将它们设计成可供反复调用的独立的子程序结构,以便在需要时调用。在汇编语言中,子程序又称过程。 调用子程序的程序称为主调程序或主程序。 2019/7/20 ch6.
微机原理与接口技术 第5章 汇编语言程序设计 西安邮电大学计算机学院 王 钰.
第8章 并行接口芯片 并行接口一般具有两个或两个以上的8位I/O接口。各个口的工作方式可由程序分别确定或改变,使用灵活,便于和各种外部设备连接。因此,又称可编程的外部接口(PPI) 目前各主要微处理器厂商都有自己的PPI产品,但它们的功能基本类似.
第三章 8086的指令系统 8086指令特点 8086的寻址方式 8086的指令格式及数据类型 8086的指令集.
Presentation transcript:

第7章 并行接口 7.1 简单并行接口 7.2 可编程并行接口8255A 7.3 键盘接口 7.4 LED显示器接口

7.1 简单并行接口 采用通用的TTL芯片,是一种不可编程的接口芯片,它电路结构简单、功能单一,硬件接好后,功能固定,无法改变。 7.1.1 简单并行接口的种类 7.1.2 简单并行接口的应用

7.1.1 简单并行接口的种类 基本部件为三态缓冲器和数据锁存器。 通常包括上述两种部件之一或兼具这两种部件的接口电路都可作为简单的并行接口。

1.三态缓冲器接口 使用最多、最典型的是74LS244单向的8位缓冲器/驱动器和74LS245双向的8位总线收发器。 由于三态门具有“通断”控制能力的这个特点,故可利用其作输入接口。利用三态门作为输入信号接口时,要求信号源能够将信号保持足够长的时间直到被CPU读取,这是因为三态门本身没有对信号的保持或锁存能力。

2.数据锁存器接口 数据输出接口通常采用具有信息存储能力的双稳态触发器来实现。 数据锁存器接口主要是指带有一定控制端的触发器和数据锁存器,最简单的可用D触发器构成。例如,常用的8位触发器组成的74LS273芯片。 74LS273共有8个数据输入端(1D~8D)和8个数据输出端1Q~8Q。S为复位端,低电平有效,CP为脉冲输入端,在每个脉冲的上升沿将输入端D的状态锁存在Q输出端,并将此状态保持到下一个时钟脉冲的上升沿。 74LS273常作为并行输出接口。

74LS273的逻辑功能图和引脚图

3.兼具数据锁存器和三态缓冲器的接口 最典型的是74LS373芯片,它是具有三态缓冲功能的数据锁存器,由一个8位的锁存器和一个8位三态缓冲器构成。 功能类似的还有Intel公司的8212输入/输出接口芯片。

74LS373的逻辑功能图和引脚图 使能端G有效时,将D端数据锁存到触发器。 当输出允许端OE有效时,将锁存的数据送到输出端Q。

7.1.2 简单并行接口的应用 下图是使用三态缓冲器74LS244构成的开关接口电路。 由或门和译码器构成缓冲器74LS244的片选控制电路,74LS244的端口地址为80H。 试编写一段程序,实现每隔5分钟检测一次开关S1~S8的通断状态,检测100次结束,并把检测结果保存到以2000H开始的一段存储区域中。 5分钟的延迟子程序为DELAY5M。

7.1.2 简单并行接口的应用(续) MOV BX,2000H MOV CX,100 LOP: IN AL,80H;80H是I/O端口地址 MOV [BX],AL INC BX CALL DELAY5M;延时5分钟 DEC CX JNZ LOP

7.1.2 简单并行接口的应用(续) 下图是采用锁存器74LS373的发光二级管LED接口电路。 由或门和译码器构成锁存器74LS373的片选控制电路,74LS373的端口地址为40H。 试编写一段程序,控制8个LED发光管间隔发光,每隔5秒钟变换发光状态(亮变灭,灭变亮),工作10小时结束。 5秒钟的延迟子程序为DELAY5S。

7.1.2 简单并行接口的应用(续) 由图可看出,输出为0时,LED亮,为1时,LED灭,由于要求8个LED间隔发光,所以可输出初始值为01010101B=55H; 另外,每隔5秒变换发光状态,10小时结束,所以需变换的次数为10×60×60/5=7200。 程序段如下: MOV CX,7200 MOV AL,55H LOP: OUT 40H,AL;40H是I/O端口地址 CALL DELAY5S;延迟5秒钟 XOR AL,0FFH LOOP LOP

7.2 可编程并行接口8255A 7.2.1 8255A的内部结构和引脚特性 7.2.2 8255A的控制字

7.2.1 8255A的内部结构和引脚特性

1.8255A的内部结构 三个8位的数据端口PA、PB、PC,用户可以用软件将它们设置为输入或输出端口。。 端口A(PA口)有一个8位的数据输入锁存器和一个8位的数据输出锁存器/缓冲器。所以,端口A作为输入或输出时,数据均受到锁存。故端口A可以用在数据双向传输的场合。 端口B(PB口)和端口C(PC口)分别有一个8位的数据输入缓冲器和一个8位的数据输出锁存器/缓冲器。只有端口B和端口C用作输出端口时,数据才受到锁存。 8255A的三个数据端口分为两组来控制。端口A及端口C的高4位为A组,端口B及端口C的低4位为B组。

2.8255A的引脚特性 PA7~PA0:端口A的数据输入/输出引脚,和外设相连。 PB7~PB0:端口B的数据输入/输出引脚,和外设相连。 PC7~PC0:端口C的数据输入/输出引脚,和外设相连。 D7~D0:双向三态数据线,和系统数据总线相连。 A1、A0:端口选择信号。 当A1A0=00时,选中端口A; 当A1A0=01时,选中端口B; 当A1A0=10时,选中端口C; 当A1A0=11时,选中控制端口。 8255A的控制端口用来接收控制字,从而决定8255A的工作方式。

7.2.2 8255A的控制字 8255A的控制字有两种: 1.方式选择控制字 2.端口C置1/置0控制字

1.方式选择控制字

例子 在一个8086系统中,若8255A的控制端口地址为0046H,要求将该8255A的端口A工作在方式0,作输出口;端口B工作在方式1,作输入口;端口C 的高4位做输出,低4 位设置为输出。 方式选择控制字为86H。 初始化程序: MOV AL,86H OUT 46H,AL

2.端口C置1/置0控制字

例子 要求将端口C的PC6置0,PC3置1,则端口C置1/置0控制字分别为0CH和07H,若8255A的控制端口地址为B0F6H,则程序段如下: MOV DX,0B0F6H MOV AL,0CH OUT DX,AL MOV AL,07H

7.2.3 8255A的工作方式 有3种,分别为方式0、方式1和方式2。 端口A可以工作在这3种方式的任何一种。 端口B只能工作在方式0或方式1。 端口C除作为一般输入/输出口之外,常用作配合端口A和端口B工作的控制联络口。 工作方式可以通过向控制口写入方式控制字来设置。

1.方式0-基本的输入/输出方式 各端口工作的输入或输出状态可以任意定义。 端口A、B可以被定义为简单的并行输入或输出端口,端口C的高4位和低4位也可以定义为两个独立的4位输入或输出端口。 程序通过IN和OUT指令对各个端口进行读写。

方式0输入时序图

方式0输出时序图

方式0小结 在无条件传送或查询方式时,常使用方式0。 若工作在无条件传送方式下,可以对8255A的三个8位并行数据口直接进行读写操作。 若工作在查询式传送方式下,可以用端口C的某些数位作为状态信号的输入和控制信号的输出。这只需将端口C的低4位和高4位分别定义为输入和输出即可。

2.方式1-选通的输入/输出方式 当8255A的端口A或端口B有一个工作在方式1,而另一个工作在方式0时,端口C的3位固定地作为数据传送的控制联络信号。 若端口A和端口B都工作在方式1,则端口C的6位被占用作为数据传送的控制信号。 由于工作在方式1时,端口C的某些数位自动地转为数据传送的选通和应答信号,故称该方式为选通的输入/输出方式。

方式1输入端口对应控制信号 STB:选通信号,低电平有效。当外设端送给8255A的STB低电平时,8255A的输入缓冲器中得到一个由外设送来的8位数据。 IBF:输入缓冲器满信号,高电平有效。当8255A的输入缓冲器中有一个新数据后,输出此信号供CPU查询。 INTR:中断请求信号,高电平有效。当STB信号有效低电平结束并且IBF信号为有效高电平后,8255A向CPU发出该信号,作为请求CPU读取数据的中断请求信号。CPU发出的读信号有效后,INTR端降为低电平。 INTE:中断允许信号。该信号为高时,允许中断请求,为低时,则屏蔽中断请求。INTE的状态是由端口C置1/置0控制字来控制的,在A组中,对应PC4,B组中,对应PC2。

方式1的输入时序

方式1输出端口对应控制信号 OBF:输出缓冲器满信号,低电平有效。当CPU已经向8255A的端口中传送了数据后,8255A向外设端发出有效低电平,以通知外设将数据取走。 ACK:数据接收应答信号,低电平有效。当8255A 输出的数据到达外设后,外设向8255A传送有效的信号。 INTR:中断请求信号,高电平有效。当外设已经接收到8255A输出的数据,从而ACK恢复高电平,且OBF也为高电平,INTR端置为高电平,作为请求CPU进行下一次数据输出的中断请求信号。 INTE:中断允许信号。该信号为高时,允许中断请求,为低时,则屏蔽中断请求。INTE的状态是由端口C置1/置0控制字来控制的,在A组中,对应PC6,B组中,对应PC2。

方式1的输出时序

方式1小结 若8255A的某一个端口工作在方式1的输入或输出情况下,端口C中自动提供了相应的数位作为控制信号,尤其是提供了中断请求信号。 若外设能给8255A提供选通信号和数据接收应答信号,那么,在此场合下,利用端口C提供的信号和CPU联络而形成数据的中断传送方式,会比采用方式0的无条件传送和查询式传送要方便有效。

3.方式2-双向传输方式 8255A的数据端口中,只有端口A可以工作在此种方式下。 当端口A工作在方式2时,CPU通过8255A既可以向外设发送数据,又可以从外设接收数据,故称为双向传输方式。

方式2时序

方式2小结 由于方式2既可以工作在输入方式,又可以工作在输出方式,所以,若一个并行外设可以输入数据,又可以输出数据,当它和8255A的端口A连接时,可令8255A的端口A工作在方式2。

7.2.4 8255A的编程及应用 8255A作为连接打印机的接口。 现将端口A作为传送字符的通道,工作于方式0,输出;B端口未用;端口C也工作于方式0,PC3作为信号输入端,故PC3~PC0为输入方式,PC6作为信号输出,故PC7~PC4为输出方式。 设需打印的字符已放在CL寄存器中。 8255A的端口地址为: A端口:C000H C端口: C004H B端口:C002H 控制口:C006H

工作过程 当主机要往打印机输出字符时,先查询打印机忙信号。 如果打印机正在处理一个字符或正在打印一行字符,则忙信号为1,反之,则忙信号为0。因此,当查询到忙信号为0时,则可通过8255A往打印机输出一个字符。此时,要将选通信号STB置成低电平,然后再使STB为高电平,这相当于在STB端输出一个负脉冲。(初始状态,是高电平)

程序段 PRINT: MOV DX,0C006H MOV AL,81H;控制字 OUT DX,AL MOV AL,0DH  OUT DX,AL;STB端送高电平 LP: MOV DX,0C004H IN AL,DX;检测BUSY AND AL,08H JNZ LP;若打印机忙,则等待 MOV AL,CL MOV DX,0C000H OUT DX,AL; 若打印机不忙,将AL中字符送端口A MOV DX,0C006H MOV AL,0CH OUT DX,AL;使STB为低电平 MOV AL,0DH OUT DX,AL;使STB为高电平 … ;后续程序段

7.3 键盘接口 7.3.1 键盘的工作原理 7.3.2 键的识别

7.3.1 键盘的工作原理 简单键盘结构 矩阵式键盘结构 7.3.1 键盘的工作原理 简单键盘结构 矩阵式键盘结构 运用简单结构来设计键盘的缺点:当键盘上的键较多时,引线太多,占用的I/O端口也太多,只能用在仅有几个键的小键盘中。 通常使用的键盘结构是矩阵式的。设有m×n个键,则采用矩阵式结构只要m+n条引线。

7.3.2 键的识别 为了识别键盘上的闭合键,通常采用行扫描法。 矩阵式键盘的行线、列线分别接并行输出口和并行输入口。

7.3.2 键的识别(续) 行扫描法识别闭合键的原理: 7.3.2 键的识别(续) 行扫描法识别闭合键的原理: 先使第0行接地,其余行为高电平,如有某条列线变为低电平,则表示第0行和此列线相交位置上的键被按下;如列线全为高电平,则说明第0行上没有键被按下。 此后,再将第1行接地,然后检测列线中是否有变为低电平的线。 如此往下逐行扫描,直到最后一行。 在扫描过程中,当发现某行有键闭合时,也就是列线中有1位为0时,根据行线位置和列线位置,便能识别此刻闭合的到底是哪一个键。

7.3.2 键的识别(续) 实际上,一般先快速检查键盘是否有键按下,然后,再确定具体按下了哪一个键。 7.3.2 键的识别(续) 实际上,一般先快速检查键盘是否有键按下,然后,再确定具体按下了哪一个键。 可以先使所有行同时为低电平,再检查是否有列线也处在低电平。这时,如列线上有1位为0,则说明有键被按下,不过,还不能确定所闭合的键处在哪一行上,于是再用扫描法确定具体位置。 WAIT:MOV AL,00H MOV DX,OUTPORT OUT DX,AL MOV DX,INPORT IN AL,DX AND AL,0FFH CMP AL,0FFH JZ WAIT DONE:CALL DELAY;是,则延迟20ms去抖动

扫描法判断键闭合的流程

扫描法判断键闭合的程序段 PROG:MOV BL,0 MOV CL,0FEH MOV DL,8 ;计数值为行数 FROW:MOV AL,CL OUT ROWPORT,AL ROL AL,1 MOV CL,AL IN AL,COLPORTI CMP AL,0FFH JNZ FCOL MOV AL,BL ADD AL,08H MOV BL,AL DEC DL JNZ FROW JMP DONE FCOL: RCR AL,1 JNC PROCE INC BL JMP FCOL PROCE: … ;键命令处理程序 DONE: … ;后续处理程序

7.4 LED显示器接口 7.4.1 LED显示器的工作原理 7.4.2 静态显示与动态显示

7.4.1 LED显示器的工作原理 七段LED显示器 七段LED显示器内部电路

LED显示器和8255A之间的连接

采用专用芯片进行LED段译码 采用专用带驱动器的LED显示器段译码器,可以实现对BCD码的译码,但不能对大于9的二进制数译码。 7447有4位输入,7位输出。使用时,只要将7447的输入端与主机系统输出端口的某4位相连,而7447的7位输出直接与LED显示器的a~g相接,便可以实现对1位BCD码的显示。

软件译码法 下面的程序段用来实现1位数字的LED显示。设要显示数字放在DATA单元中,而LEDADD为代码表首址。 DISP: MOV BX,OFFSET DATA MOV AL,[BX] MOV BX,OFFSET LEDADD XLAT OUT DX,AL LEDADD:DB 40H;0的显示代码 DB 79H;1的显示代码 DB 24H;2的显示代码 …. DB 0EH;F的显示代码

7.4.2 静态显示与动态显示 所谓静态显示,就是当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止。 每个七段显示器都需要一个8位输出口控制。 静态显示的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统在运行过程中,仅仅在需要更新显示内容时,CPU才执行一次显示更新子程序,这样大大节省了CPU时间,提高CPU的工作效率;其缺点是位数较多时显示口随之增加。

动态显示 为了节省I/O口,常采用动态显示方式。 所谓动态显示方式就是一位一位的轮流点亮各位显示器,对于每一位显示器来说,每隔一段时间点亮一次。 若显示器的位数不大于8,则控制显示器公共极的电位只需要一个8位口(扫描口,又称位口)。 控制各位显示器所显示的字形也需要一个8位口(称为段口)。

动态显示的接口电路

例子 下面给出动态显示预存在显示缓冲器中的“01234567”的程序段。 设8255A的端口地址为: A端口:00C0H B端口:00C2H C端口:00C4H 控制口:00C6H 方式控制字为80H,A组和B组均工作于方式0,A、B端口为输出,C端口未用。

主要程序段 DISINT: MOV DX,00C6H MOV AL,80H;控制字,A、B端口工作于方式0,A、B口输出,  OUT DX,AL DIS: MOV BH,80H MOV BL,8 MOV SI,OFFSET DISBUF DISLOP:MOV AL,BH MOV DX,00C0H  OUT DX,AL;向A口送位码 MOV DX,00C2H MOV AL,[SI] ;向B口送段码 OUT DX,AL SHR BH,1 INC SI CALL DL1MS DEC BL JNZ DISLOP JMP DIS DL1MS:MOV CX,022BH WAT:LOOP WAT RET 显示缓冲器可预先定义如下: DISBUF:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H