实验八基于微机的串行通信口扩展 实验目的 1.了解微机串行通信的接口特点。 2.掌握可编程串行接口芯片8251A的工作原理和编程方法。 二、实验原理 关于串行通信的基本知识,在本讲义实验四的原理部分已略有叙述,下面就串行通信其 它方面的有关知识作简单介绍。 1.串行通信接口的扩展 为使所设计的计算机系统有更强的串行通信功能,可以采用通用同步/异步接收/发送器 ( Universal Synchronous Asynchronous Receiver/ Transmitter USART)或通用异步接收 /发送器( Universal Asynchronous Receiver/ Transmitter UART)进行通信口扩展。常用 的 USART有 Intel8251芯片,UART有8250芯片,这两种芯片都只有一对收/发器。此外, 也有带两对收/发器的接口芯片,如 Texas TL16C52A。这些芯片都是可编程的。 2.串行通信的制式 在串行通信中,数据在两个站之间是双向传送的。即可以A站作发送端和B站作为接 收端,也可以B站作为发送端和A站作接收端。串行通信又可分为半双工( Half Duplex) 和全双工( Full Duplex)两种制式。半双工只有一条传输线,尽管传输也可以双向进行 但同一时刻只能有一个站发送。全双工有两条传送线,每个站可同时进行发送和接收。 IXD RXD TXD RXD TXD RXD (a)全双工 ↓↑↓↑1 IXD RXD TXD RXD TXD RXD (b)半双工 图81多机通信的连接方式 图8.1示意MCS一51系列单片机用于主从式多机通信的全双工和半双工两种方式。 3.串行通信的调制和解调 在计算机中,二进制数据直接编码为电脉冲,数据信号电平是TTL型的,即信号电平 大于等于24V表示逻辑“1”,小于等于0.5V表示逻辑“0”。这种信号在远距离传输时由于 受到线路幅频特性和相频特性的影响,信号会发生衰减和畸变,信号误码率(传输错误的概 率)会大大上升。解决这个问题的方法是改变信号传输形式,即用调制和解调的方法 用一个信号控制另一个信号的某个参数使之随之变化的过程称为调制,这两个信号分别 叫做调制信号和被调制信号(也称为载波信号)。经调制后参数随调制信号变化的信号称为 已调制信号,从已调制信号中还原出原调制信号的过程称为解调
60 实验八 基于微机的串行通信口扩展 一、 实验目的 1. 了解微机串行通信的接口特点。 2. 掌握可编程串行接口芯片 8251A 的工作原理和编程方法。 二、 实验原理 关于串行通信的基本知识,在本讲义实验四的原理部分已略有叙述,下面就串行通信其 它方面的有关知识作简单介绍。 1. 串行通信接口的扩展. 为使所设计的计算机系统有更强的串行通信功能,可以采用通用同步/异步接收/发送器 (Universal Synchronous Asynchronous Receiver/Transmitter USART)或通用异步接收 /发送器(Universal Asynchronous Receiver/Transmitter UART)进行通信口扩展。常用 的 USART 有 Intel 8251 芯片,UART 有 8250 芯片,这两种芯片都只有一对收/发器。此外, 也有带两对收/发器的接口芯片,如 Texas TL16C552A。这些芯片都是可编程的。 2. 串行通信的制式 在串行通信中,数据在两个站之间是双向传送的。即可以 A 站作发送端和 B 站作为接 收端,也可以 B 站作为发送端和 A 站作接收端。串行通信又可分为半双工(Half Duplex) 和全双工(Full Duplex)两种制式。半双工只有一条传输线,尽管传输也可以双向进行, 但同一时刻只能有一个站发送。全双工有两条传送线,每个站可同时进行发送和接收。 图 8.1 示意 MCS 一 51 系列单片机用于主从式多机通信的全双工和半双工两种方式。 3. 串行通信的调制和解调 在计算机中,二进制数据直接编码为电脉冲,数据信号电平是 TTL 型的,即信号电平 大于等于 2.4V 表示逻辑“1”,小于等于 0.5V 表示逻辑“0”。这种信号在远距离传输时由于 受到线路幅频特性和相频特性的影响,信号会发生衰减和畸变,信号误码率(传输错误的概 率)会大大上升。解决这个问题的方法是改变信号传输形式,即用调制和解调的方法。 用一个信号控制另一个信号的某个参数使之随之变化的过程称为调制,这两个信号分别 叫做调制信号和被调制信号(也称为载波信号)。经调制后参数随调制信号变化的信号称为 已调制信号,从已调制信号中还原出原调制信号的过程称为解调。 TXD RXD TXD RXD TXD RXD (a) 全双工 TXD RXD TXD RXD TXD RXD (b) 半双工 图 8.1 多机通信的连接方式
数字信号 模拟信号 字信号 DTE 计算机 调制 计算机 终) 解调器 解调器 〔终鳊 通信信道 图82通过调制解调器的串行通信示意图 图8.2是使用调制器把数字信号变成交变模拟信号(例如把数码“0”调制成2400Hz 的正弦信号,把数码“1”调制成1200Hz的正弦信号)送到传输线路上,在接收端再通过 解调器把交变模拟信号还原成数字信号,送到数据处理设备的串行通信示意图。 般在通信系统的任一端都有接收和发送要求,也即要兼备调制和解调的功能,因此常 把调制器和解调器做在一起成为调制解调器,即 MODEM。使用 MODEM可以实现计算机 的远程通信。通信线路(信道)可以是各种不同的介质,而 MODEM的类型也可因信道而 异 图82中的DTE( Date terminal Equipment)代表数据终端设备,一般指最终用户所操 作的数据设备,如图中的计算机。DCE( Data Circuit-terminating Equipment)代表数据通信 设备,它是指在网络中传输和接收DTE数据的设备,如调制解调器等。一般情况下,DTE 的串行接口采用针式插座, 而DCE则采用孔式插座。 +12V 4.Rs-2320串行通 信接口标准简介 RS232RS232 MC1488 MC1489 串行通信接口标准有多 种。常用的标准之 -12V EIA-RS-232C是由美国电子 工业协会EA( Electronic Industry Association)F 1969 图8.3TTL与RS-232C电平转换1 年制定的。表8-1为标准9 5V INPUT 芯插座定义,这个定义是相 对于DTE说的,对于DCE 0.luF 1663V 来说,表中的输入输出方向 0.luF +5V TO+10v v+22 正好相反。例如2号引脚 CI-VOLTAGEDOUBLER RXD相对于DTE是输入, 0.luF +10VTO-10V 相对于DCE就是输出了 16V C2- VOLTAGE INVERTER 由于RS-232C是早期 为促进公用电话网络进行 tiIN LOUT 数据通信而制定的标准 TTL/COMS RS232 ToUT OUTPUTS 其逻辑电平对地是对称的。 与TL、MOS电平不同 RS-232C采用负逻辑,逻 12RIOUT RAIN TTL/COMS 辑0”电平规定为+5V OUTPUTS INPUTS +15V之间,逻辑”1”电平 9R2OUT 规定为-5V--15V之间,通 GND 常采用-10V左右为逻辑 图8.4TL与RS-232C电平转换 61
61 图 8.2 通过调制解调器的串行通信示意图 图 8.2 是使用调制器把数字信号变成交变模拟信号(例如把数码“0”调制成 2400Hz 的正弦信号,把数码“1”调制成 1200Hz 的正弦信号)送到传输线路上,在接收端再通过 解调器把交变模拟信号还原成数字信号,送到数据处理设备的串行通信示意图。 一般在通信系统的任一端都有接收和发送要求,也即要兼备调制和解调的功能,因此常 把调制器和解调器做在一起成为调制解调器,即 MODEM。使用 MODEM 可以实现计算机 的远程通信。通信线路(信道)可以是各种不同的介质,而 MODEM 的类型也可因信道而 异。 图 8.2 中的 DTE(Date terminal Equipment)代表数据终端设备,一般指最终用户所操 作的数据设备,如图中的计算机。DCE(Data Circuit-terminating Equipment)代表数据通信 设备,它是指在网络中传输和接收 DTE 数据的设备,如调制解调器等。一般情况下,DTE 的串行接口采用针式插座, 而 DCE 则采用孔式插座。 4. RS-232C 串行通 信接口标准简介 串行通信接口标准有多 种。常用的标准之一 EIA-RS-232C 是由美国电子 工业协会 EIA(Electronic Industry Association)于 1969 年制定的。表 8-1 为标准 9 芯插座定义,这个定义是相 对于 DTE 说的,对于 DCE 来说,表中的输入输出方向 正好相反。例如 2 号引脚 RXD 相对于 DTE 是输入, 相对于 DCE 就是输出了。 由于 RS-232C 是早期 为促进公用电话网络进行 数据通信而制定的标准, 其逻辑电平对地是对称的。 与 TTL、MOS 电平不同, RS-232C 采用负逻辑,逻 辑 ”0” 电平规定为 +5V― +15V 之间, 逻辑”1”电平 规定为-5V―-15V 之间, 通 常采用-10V 左右为逻辑 0 1 0 MC1488 MC1489 +12V -12V +5V TTL TTL RS-232 RS-232 图 8.3 TTL 与 RS-232C 电平转换 1 C2+ C2- 0.1uF 16V 0.1uF 0.1uF 16V T2 10 T2IN T2OUT 7 9 R2OUT R2IN 8 R2 +5V TO +10V VOLTAGE DOUBLER 3 0.1uF 6.3V 1 TTL/COMS INPUTS C1+ C1- 5V INPUT 0.1uF 6.3V TTL/COMS OUTPUTS 2 6 5 4 T1 11 T1IN T1OUT 14 V+ V- 12 R1OUT R1IN 13 R1 +10V TO -10V VOLTAGE INVERTER 16 RS232 OUTPUTS RS232 INPUTS 15 GND 图 8.4 TTL 与 RS-232C 电平转换
1,+10V左右为逻辑”0”。用于TTL与RS-232C电平转换的器件有多种,早期常用的有 MCl488、MC1489(MC1488要接负电源),目前较多采用的电平转换芯片有TC232C、 MAX232C、MAX202C等。这些新器件一般只需单一+5V供电,输出的RS-232C电平在(+/-) V左右。图8.3和8.4是上述两类TTL与RS232C电平转换示意图 表8.1 EIA-RS-232cDB-9信号定义(相对于DTE 引脚|输入输出|信号 明 DTR 输入 载波检测 RTS RXD 接收数据 DCD DSR 输出 TXD 发送数据 DB-9 输出 DTR 数据终端就绪 信号地 图85RS-232(DB-9)插头信号示意 输入 DSR数据通信设备准备好 678 RTS 请求发送 入 允许发送 输入 振铃指示 RS-232C获得广泛应用的原因仅在于其推出较早,在现代通信中已暴露出明显缺点 (1)数据传输率低。通常异步通信速率限制在19.2Kbps以下,对于某些同步通信系统 而言,也难以满足传送速率的要求 (2)传送距离短。RS-232C接口装置之间电缆长度一般限于15米以内 (3)接口处各信号间容易产生串扰,抗干扰能力差。 为克服RS-232C接口的上述缺点,EIA又相继推出了RS-499,RS-422A和RS-423A等标 准接口。关于这些标准接口的性能及使用方法可参阅有关资料 5.本实验所用串行通信接口芯片8251A使用方法说明 下文将说明串行通信接口芯片8251A的使用方法,其工作原理和主要技术特性请参考 王克义等编写的教材《微机原理与接口技术教程》第十五章有关内容, 1)TPC-H微机接口实验箱上环境下8251A的口地址(如表8.2所示) 表8.2TPCH实验箱8251A的口地址 C/D=AO (2B8H)0数据口地址 读数据 写数据 (2B9H)1控制口地址读状态字 按顺序写方式字、同步字符、操作命令字 2)8251A方式命令字、操作命令字、状态字 ①方式命令字 表8.3方式命令字结构 PEN L2 LI B2 BI 停止位数[注 奇偶校验 字长 波特率因子 00无校验 00 5 bits 00同步方式 01 I bit 01奇校验 o1 6 bits 01×1 clock 10 1.5 bits 10无校验 10 7 bits 10×16 clock 11 2 bits 11偶校验 注:表中给出在异步方式时S2、S1用于控制停止位数的含义;同步方式(即B2=0B1=0)时 S2、S1的含义是:S2=0为双同步,S2=1为单同步:S1=0为内同步,S1=1为外同步
62 “1”, +10V 左右为逻辑”0”。用于 TTL 与 RS-232C 电平转换的器件有多种,早期常用的有 MC1488、MC1489 (MC1488 要接负电源), 目前较多采用的电平转换芯片有 TC232C、 MAX232C、MAX202C 等。这些新器件一般只需单一+5V 供电,输出的 RS-232C 电平在(+/-) 9V 左右。图 8.3 和 8.4 是上述两类 TTL 与 RS-232C 电平转换示意图。 RS-232C 获得广泛应用的原因仅在于其推出较早,在现代通信中已暴露出明显缺点: (1)数据传输率低。通常异步通信速率限制在 19.2Kbps 以下,对于某些同步通信系统 而言,也难以满足传送速率的要求。 (2)传送距离短。RS-232C 接口装置之间电缆长度一般限于 15 米以内。 (3)接口处各信号间容易产生串扰,抗干扰能力差。 为克服 RS-232C 接口的上述缺点,EIA 又相继推出了 RS-499,RS-422A 和 RS-423A 等标 准接口。关于这些标准接口的性能及使用方法可参阅有关资料。 5. 本实验所用串行通信接口芯片 8251A 使用方法说明 下文将说明串行通信接口芯片 8251A 的使用方法,其工作原理和主要技术特性请参考 王克义等编写的教材《微机原理与接口技术教程》第十五章有关内容。 1) TPC-H 微机接口实验箱上环境下 8251A 的口地址(如表 8.2 所示) 表 8.2 TPC-H 实验箱 8251A 的口地址 C/ D=A0 /RD /WR (2B8H)0 数据口地址 读数据 写数据 (2B9H)1 控制口地址 读状态字 按顺序写方式字、同步字符、操作命令字 2) 8251A 方式命令字、操作命令字、状态字 ①方式命令字 表 8.3 方式命令字结构 S2 S1 EP PEN L2 L1 B2 B1 停止位数 [注] 奇偶校验 字长 波特率因子 00 无效, 01 1 bit 10 1.5 bits 11 2 bits 00 无校验 01 奇校验 10 无校验 11 偶校验 00 5 bits 01 6 bits 10 7 bits 11, 8 bits 00 同步方式 01 ×1 clock 10 ×16 clock 11 ×64 clock 注:表中给出在异步方式时 S2、S1 用于控制停止位数的含义;同步方式(即 B2=0 B1=0)时 S2、S1 的含义是:S2=0 为双同步,S2=1 为单同步;S1=0 为内同步,S1=1 为外同步。 表 8.1 EIA-RS-232C DB-9 信号定义(相对于 DTE) 引脚 输入/输出 信号 说 明 1 输入 DCD 载波检测 2 输入 RXD 接收数据 3 输出 TXD 发送数据 4 输出 DTR 数据终端就绪 5 GND 信号地 6 输入 DSR 数据通信设备准备好 7 输出 RTS 请求发送 8 输入 CTS 允许发送 9 输入 RI 振铃指示 图 8.5 RS-232(DB-9)插头信号示意 RI CTS GND DTR RTS DSR TXD RXD DCD DB-9
②操作命令字 表8.4操作命令字结构 RTS SBRK RXEN TxEN 搜索同内部 请求复位出发间断允许数据终允许 步字符 复位 发送错标志字符接收端就绪|发送 ③状态字 表8.5状态字结构 DSR SYNDET FI PE TxE RXRDY TXRDY 通信设同步 奇偶错/发送 接收发送缓 帧错 备就绪检测 空 就绪冲区空 3)编程提示 ①设数据传送波特率为1200bps,波特率因子为16,8253工作在分频器方式,CLK0 接1MHZ连续脉冲,则计数器0的初值为 n-1200×16 ②8251A初始化 8251A的工作方式及工作进程都是由初始化及实时控制实现的。初始化先写工作方式 字、再写操作命令字,工作方式字必须紧接在复位命令后写入;操作命令字用来指定芯片I 实际操作,发送操作命令字启动芯片处于允许发送、允许接收、请求发送、数据终端就绪等 状态才可以完成后面的自发自收或双机通讯。 8251A初始化有关程序如下 MOV DX. 2B9H 2B9H=控制口地址 MOV AL. 0 OUT DX AL OUT DX. AL OUT DX. AL ;见【注释】 MOV AL, 40H OUT DX. AL (操作命令字中D6=1即IR=1)内部复位 MOV AL. 4EH 方式字:异步方式,1位停止位,8位数据位 无奇偶校验位,波特率因子16 OUT DX. AL MOV AL. 27H 命令字:请求发送,允许发送和接收,数据终端准备好 OUT DX AL 【注释】 When power is first applied,the8251 A may come up in the Mode, Syne character or Command Format. To guarantee that the device is in the Command instruction format before the Reset command is issued. It is safest to execute the worst-case initialization sequence(syne mode with two syne characters). Loading three 00Hs consecutively into the device with C/D=l configures syne operation and writes two dummy 00H syne characters. An internal Reset command (40H) may then be issued to return the device to the“ide” state.(摘自 Intel8251A数据手册)
63 ②操作命令字 表 8.4 操作命令字结构 EH IR RTS ER SBRK RxEN DTR TxEN 搜索同 步字符 内部 复位 请求 发送 复位出 错标志 发间断 字符 允许 接收 数据终 端就绪 允许 发送 ③状态字 表 8.5 状态字结构 DSR SYNDET FE OE PE TxE RxRDY TxRDY 通信设 备就绪 同步 检测 帧错 溢出 奇偶错 发送 器空 接收 就绪 发送缓 冲区空 3) 编程提示 ①设数据传送波特率为 1200bps,波特率因子为 16,8253 工作在分频器方式,CLK0 接 1MHZ 连续脉冲,则计数器 0 的初值为: n = 1200 16 106 × = 52 ② 8251A 初始化 8251A 的工作方式及工作进程都是由初始化及实时控制实现的。初始化先写工作方式 字、再写操作命令字,工作方式字必须紧接在复位命令后写入;操作命令字用来指定芯片的 实际操作,发送操作命令字启动芯片处于允许发送、允许接收、请求发送、数据终端就绪等 状态才可以完成后面的自发自收或双机通讯。 8251A 初始化有关程序如下: MOV DX, 2B9H ;2B9H=控制口地址 MOV AL, 0 OUT DX, AL OUT DX, AL OUT DX, AL ;见【注释】 MOV AL, 40H OUT DX, AL ;(操作命令字中 D6=1 即 IR=1)内部复位 MOV AL, 4EH ;方式字:异步方式,1 位停止位,8 位数据位, ;无奇偶校验位,波特率因子 16 OUT DX, AL MOV AL, 27H ;命令字:请求发送,允许发送和接收,数据终端准备好 OUT DX, AL ——————————————————————————————————————— 【注释】When power is first applied ,the 8251A may come up in the Mode, Sync character or Command Format. To guarantee that the device is in the Command instruction format before the Reset command is issued. It is safest to execute the worst-case initialization sequence (sync mode with two sync characters). Loading three 00Hs consecutively into the device with C/D=1 configures sync operation and writes two dummy 00H sync characters. An internal Reset command (40H) may then be issued to return the device to the “idle” state. (摘自 Intel 8251A 数据手册)
③在用户中断处理程序中接收一个字符并显示该字符用下面的程序 MOV DX. 2B8H 2B8H=数据口地址 IN AL. DX MOV AH. OEH 显示字符的BI0S中断调用 ④调用BIOS中断显示字符串程序段示例 MES DB HAD RECIVED! ODH OAH LL EQU $-MES MOV AX. DATA MoV DS. AX MOV SI OFFSET MES ;CX,显示的字符串长度 DISP: LODSB (SI, SI=SI+1 INT 10H 逐个显示AL中字符到屏幕上 LOOP DISP 三、实验内容 以下实验内容1、2均按图8.6接线(自己考虑RxD和TxD的接线)。检查无误方可通电 BR吕接 DI OUT2 RXRDY IXRDY D7 GATEI 日品是物种 CLKI 5OP TCLKSYNDET WR OUTO GND 图8.6实验接线图 1.用8251A实现串行口异步通信,自发自收,波特率1200bps。采用查询方式发送与 接收。从键盘输入发送字符。发送与接收的字符均在屏幕上显示。按键返回 DOS 2.用8251A实现串行口异步通信,自发自收,波特率1200bps。采用查询方式发送、 中断方式接收。从键盘输入字符串(字符个数≤255)存入发送缓冲区并显示,启 动发送键由实验者自己定义,自收结果显示于屏幕。按键返回D0S。 3.结合图8.6,改接以下几根线: 甲机 乙机 TXD- - -RXD
64 ③ 在用户中断处理程序中接收一个字符并显示该字符用下面的程序: MOV DX, 2B8H ;2B8H=数据口地址 IN AL, DX MOV AH, 0EH ;显示字符的 BIOS 中断调用 INT 10H ④ 调用 BIOS 中断显示字符串程序段示例: MES DB 'HAD RECIVED!',0DH,0AH LL EQU $-MES ... MOV AX, DATA MOV DS, AX MOV SI, OFFSET MES MOV CX, LL ;CX,显示的字符串长度 MOV AH, 0EH DISP:LODSB ;AL=(SI), SI=SI+1 INT 10H ;逐个显示 AL 中字符到屏幕上 LOOP DISP 三、 实验内容 以下实验内容 1、2 均按图 8.6 接线(自己考虑 RxD 和 TxD 的接线)。检查无误方可通电。 GND 4 VCC 26 D0 27 TxD 19 D1 28 D2 1 TxRDY 15 D3 2 TxCLK 9 D4 5 TxEMPT 18 D5 6 D6 7 RxD 3 D7 8 RxRDY 14 CS 11 RxCLK 25 RD 13 SYNDET 16 WR 10 C/D 12 DSR 22 DTR 24 CLK 20 CTS 17 RESET 21 RTS 23 8251A D0 8 OUT0 10 D1 7 GATE0 11 D2 6 CLK0 9 D3 5 D4 4 D5 3 D6 2 OUT1 13 D7 1 GATE1 14 CLK1 15 CS 21 RD 22 WR 23 OUT2 17 A0 19 GATE2 16 A1 20 CLK2 18 8253 +5V 1MHZ 280H A0 2B8H D0 D1 D2 D3 D4 D5 D6 D7 IOW IOR IRQ CLK RESET +5V GND GND OUT0 系统时钟 中断方式时 接IRQ 图 8.6 实验接线图 1. 用 8251A 实现串行口异步通信,自发自收,波特率 1200bps。采用查询方式发送与 接收。从键盘输入发送字符。发送与接收的字符均在屏幕上显示。按键返回 DOS。 2. 用 8251A 实现串行口异步通信,自发自收,波特率 1200bps。采用查询方式发送、 中断方式接收。从键盘输入字符串(字符个数≤ 255)存入发送缓冲区并显示,启 动发送键由实验者自己定义,自收结果显示于屏幕。按键返回 DOS。 3. 结合图 8.6,改接以下几根线: 甲机 乙机 TXD--------------RXD
RXD-- GND-- --gND 用8251A实现串行口异步方式双机通信,波特率1200bps。采取查询方式发送、 中断方式接收。双方平时处在查询键盘、等待中断接收状态,并显示相关提示。其 它要求如下 从键盘输入字符串(字符个数≤255)存入发送缓冲区并显示,任一方(以下 称始发方为甲方、另一方为乙方)按<空格〉键便可发送键入字符串(字符数≤255)。 1)发送的第一个字节为该字符串的字符个数 2)甲方发完数据后显示发送结東提示,并转键盘查询状态 3)乙方接收到数据后显示所收数据,并转键盘查询状态 4)按ESC键返回D0S。 数据键入与发送局部程序参考流程,如图8.7。 设中断矢量,开放IRQ7中断 待发送数据存储区地址指针初始化 有键按下? 数据发送 是请求发送键? 是E 返回DOS 存储、显示键入数据 待发送字节计数器+1 调整待发送数据存储区地址指针 图8.7数据键入与发送局部程序流程图 四、实验报告附加要求 画出实验内容3的程序流程图,写出关键程序段并简要注释
65 RXD--------------TXD GND--------------GND 用 8251A 实现串行口异步方式双机通信,波特率 1200bps。采取查询方式发送、 中断方式接收。双方平时处在查询键盘、等待中断接收状态,并显示相关提示。其 它要求如下: 从键盘输入字符串(字符个数≤ 255)存入发送缓冲区并显示,任一方(以下 称始发方为甲方、另一方为乙方)按键便可发送键入字符串(字符数≤ 255)。 1) 发送的第一个字节为该字符串的字符个数。 2) 甲方发完数据后显示发送结束提示, 并转键盘查询状态。 3) 乙方接收到数据后显示所收数据, 并转键盘查询状态。 4) 按 ESC 键返回 DOS。 数据键入与发送局部程序参考流程,如图 8.7。 图 8.7 数据键入与发送局部程序流程图 四、 实验报告附加要求 画出实验内容 3 的程序流程图,写出关键程序段并简要注释。 N Y N Y Y N 设中断矢量,开放 IRQ7 中断 待发送数据存储区地址指针初始化 ………… 有键按下? 数据发送… 是请求发送键? 是 ESC 键? 存储、显示键入数据 待发送字节计数器+1 调整待发送数据存储区地址指针 返回 DOS