当前位置:首页 >> 信息与通信 >>

第五讲(4)数字量输入输出-串行通信


串行通信接口

教学重点
异步串行通信协议和RS232C接口 接口 异步串行通信协议和 8250的内部结构和编程 的内部结构和编程 异步通信编程举例

串行通信基础
串行通信:将数据分解成二进制位用一条信号线,一位一位顺序传 串行通信:将数据分解成二进制位用一条信号线,一位一位顺序传 一条信号线 送的方式 串行通信的优势 用于通信的线路少, 优势: 串行通信的优势:用于通信的线路少,因而在远距离通信时可以极 大地降低成本 串行通信适合于远距离数据传送 也常用于速度要求不高的近距离 远距离数据传送, 串行通信适合于远距离数据传送,也常用于速度要求不高的近距离 数据传送 PC系列机上有两个串行异步通信接口、键盘、鼠标器与主机间采用 系列机上有两个串行异步通信接口、 系列机上有两个串行异步通信接口 键盘、 串行数据传送
串行I/O:逐位串行方式(先低后高) 串行I/O:逐位串行方式(先低后高) I/O

0 1

0 0

1 0 1 1 (4BH)

源 TxD
RxD GND

RxD
TxD GND

目 的

异步通信

串行通信时的数据、控制和状态信息都使用同一 串行通信时的数据、控制和状态信息都使用同一 根信号线传送 根信号线传送 收发双方必须遵守共同的通信协议(通信规程), 收发双方必须遵守共同的通信协议(通信规程), 通信协议 才能解决传送速率、信息格式、位同步、 才能解决传送速率、信息格式、位同步、字符同 步、数据校验等问题 串行异步通信以字符为单位进行传输, 字符为单位进行传输 串行异步通信以字符为单位进行传输,其通信协 议是起止式异步通信协议

起止式异步通信协议
字符
起始位 数据位 校验位 停止位 空闲位

1

0

0/1 0/1



0/1 0/1 1 1

1

低位

高位

起始位——每个字符开始传送的标志,起始位采用逻辑 电平 每个字符开始传送的标志,起始位采用逻辑0电平 起始位 每个字符开始传送的标志 逻辑 数据位——数据位紧跟着起始位传送。由5~8个二进制位组成,低位先传送 数据位紧跟着起始位传送。 ~ 个二进制位组成 个二进制位组成, 数据位 数据位紧跟着起始位传送 校验位——用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位 用于校验是否传送正确;可选择奇检验、 校验位 用于校验是否传送正确 停止位——表示该字符传送结束。停止位采用逻辑 电平,可选择 、1.5或2位 表示该字符传送结束。停止位采用逻辑1电平 可选择1、 或 位 停止位 表示该字符传送结束 逻辑 电平, 空闲位——传送字符之间的逻辑1电平,表示没有进行传送 传送字符之间的逻辑 电平 空闲位 传送字符之间的逻辑 电平,

数据传输速率
数据传输速率也称比特率( 数据传输速率也称比特率(Bit Rate) 比特率 )
每秒传输的二进制位数bps 每秒传输的二进制位数 字符中每个二进制位持续的时间长度都一样, 字符中每个二进制位持续的时间长度都一样,为数据 传输速率的倒数

当进行二进制数码传输,且每位时间长度相等时, 当进行二进制数码传输,且每位时间长度相等时, 比特率还等于波特率( 比特率还等于波特率(Baud Rate) ) 过去,串行异步通信的数据传输速率限制在 的数据传输速率限制在50 过去,串行异步通信的数据传输速率限制在 bps到9600 bps之间。现在,可以达到 之间。 到 之间 现在,可以达到115200 bps 或更高

同步通信
以一个数据块( 以一个数据块(帧)为传输单位,每个数据块附加1 为传输单位,每个数据块附加 个或2个同步字符 个同步字符, 个或 个同步字符,最后以校验字符结束 同步通信的数据传输效率和传输速率较高, 同步通信的数据传输效率和传输速率较高,但硬件 电路比较复杂 串行同步通信主要应用在网络当中 最常使用高级数据链路控制协议HDLC 最常使用高级数据链路控制协议

~ ~

同步字符

数据

数据 ~ ~

数据

校验字符

传输制式

站A

站B

全双工
站A 站B

半双工

单工

站A

站B

调制解调器

调制( 调制(Modulating) )
把数字信号转换为电话线路传送的模拟信号

解调( 解调(Demodulating) )
将电话线路的模拟信号转换为数字信号

调制解调器MODEM 调制解调器
具有调制和解调功能的器件合制的一个装置

串行接口标准RS-232-C 串行接口标准

美国电子工业协会EIA制定的通用标准串 制定的通用标准串 美国电子工业协会 行接口
1962年公布,1969年修订 年公布, 年公布 年修订 1987年1月正式改名为 月正式改名为EIA-232D 年 月正式改名为

RS-232-C标准对下述两个方面作了规定: 标准对下述两个方面作了规定: 标准对下述两个方面作了规定
1、信号电平标准 、 2、控制信号的定义 、

RS-232-C的电气特性 的电气特性
RS-232C规定的信号电平标准 规定的信号电平标准
逻辑” 为 逻辑”1”为-3V~-15V ~ 逻辑” 为 逻辑”0”为+3V~+15V ~ 实际常用±12V 实际常用±

相互转换

标准TTL电平(输出) 电平(输出) 标准 电平
逻辑”1”:+ 逻辑” :+2.4V~+ ~+5V :+ ~+ 逻辑” : ~ 逻辑”0”:0V~0.4V

MC1489长线接收器 长线接收器(RS232=>TTL) 长线接收器 Quad line receivers
RS232电平 电平 TTL电平 电平 +5V

MC1488 长线驱动器 长线驱动器(TTL => RS232) Quad Line Driver(+12V/-12V)
-12V TTL电平 电平 RS232电平 电平 +12V

长线收发器Tranceiver 长线收发器
ICL232 MAX232

单5V电源 电源 SN75176: RS485/422

TTL

RS232

RS-232-C的信号定义 的信号定义

232C接口标准使用一个 针连接器 接口标准使用一个25针连接器(DB25) 接口标准使用一个 绝大多数设备只使用其中9个信号,所以 绝大多数设备只使用其中 个信号, 个信号 就有了9针连接器 针连接器(DB9) 就有了 针连接器

RS-232-C的主要信号定义(1) 的主要信号定义( ) 的主要信号定义 TxD:发送数据 :
串行数据的发送端

RxD:接收数据 :
串行数据的接收端

RS-232-C的主要信号定义(2) 的主要信号定义( ) 的主要信号定义
RTS:请求发送(出) :请求发送( 当数据终端设备准备好送出数据时,就发出有效的RTS信号,用 信号, 当数据终端设备准备好送出数据时,就发出有效的 信号 于通知数据通信设备准备接收数据 CTS:清除发送(允许发送)(入) )(入 :清除发送(允许发送)( 当数据通信设备已准备好接收数据终端设备的传送数据时, 当数据通信设备已准备好接收数据终端设备的传送数据时,发 有效信号来响应 出CTS有效信号来响应 有效信号来响应RTS信号 信号 RTS和CTS是数据终端设备与数据通信设备间一对用于数据发送的 和 是数据终端设备与数据通信设备间一对用于数据发送的 联络信号 DTR:数据终端准备好(出) :数据终端准备好( DSR:数据装置准备好(入) :数据装置准备好( DTR和DSR也可用做数据终端设备与数据通信设备间的联络信号,例 也可用做数据终端设备与数据通信设备间的联络信号, 和 也可用做数据终端设备与数据通信设备间的联络信号 如应答数据接收

RS-232-C的主要信号定义(3) 的主要信号定义( ) 的主要信号定义
GND:信号地 : 为所有的信号提供一个公共的参考电平 为所有的信号提供一个公共的参考电平 DCD:载波信号检测(入) :载波信号检测( 当本地调制解调器接收到来自对方的载波信号时, 当本地调制解调器接收到来自对方的载波信号时,该引脚向数 据终端设备提供有效信号 RI:振铃指示(入) :振铃指示( 当调制解调器接收到对方的拨号信号期间, 当调制解调器接收到对方的拨号信号期间,该引脚信号作为电 话铃响的指示、 话铃响的指示、保持有效 保护地(机壳地) 保护地(机壳地) 起屏蔽保护作用的接地端,一般应参照设备的使用规定, 起屏蔽保护作用的接地端,一般应参照设备的使用规定,连接 到设备的外壳或大地 TxC:发送器时钟 : 控制数据终端发送串行数据的时钟信号 RxC:接收器时钟 : 控制数据终端接收串行数据的时钟信号

RS-232C的连接 的连接

微机利用232C接口连接调制解调器,用于 接口连接调制解调器, 微机利用 接口连接调制解调器 实现通过电话线路 通过电话线路的 实现通过电话线路的远距离通信 微机利用232C接口直接连接进行短距离通 接口直接连接进行短距离通 微机利用 接口直接连接进行 这种连接不使用调制解调器, 信。这种连接不使用调制解调器,所以被 称为零调制解调器( 称为零调制解调器(Null Modem)连接 )

连接调制解调器
MODEM MODEM 微机(DB25) 微机(DB25) 发送数据TxD 发送数据TxD 2 2 2 接收数据RxD 接收数据RxD 3 3 3 请求发送RTS 请求发送RTS 4 4 4 电话线 允许发送CTS 允许发送CTS 5 5 5 数据装置准备好DSR 数据装置准备好DSR 6 6 6 信号地GND 信号地GND 7 7 7 载波检测DCD 载波检测DCD 8 8 8 数据终端准备好DTR 数据终端准备好DTR 20 20 20 振铃指示RI 振铃指示RI 22 22 22

微机 2 3 4 5 6 7 8 20 22

不使用联络信号的3线相连方式 不使用联络信号的 线相连方式

微机 TxD RxD GND

微机

为了交换信息, 应当交叉连接 为了交换信息,TxD和RxD应当交叉连接 和 应当 程序中不必使RTS和DTR有效,也不检测 有效, 程序中不必使 和 有效 CTS和DSR是否有效 和 是否有效

“伪”使用联络信号的3线相连方式 伪 使用联络信号的 线相连方式
微机 TxD RxD RTS CTS GND DSR DTR 微机

RTS和CTS各自互接,DTR和DSR各自互接 和 各自互接, 各自互接 和 各自互接 表明请求传送总是允许、 表明请求传送总是允许、数据装置总准备好

使用联络信号的多线相连方式
微机 TxD RxD RTS CTS GND DSR DTR 微机

通信比较可靠,所用连线较多,不如前者经济 通信比较可靠,所用连线较多, 可靠 连线较多

异步串行通信控制器接口芯片Ins8250 异步串行通信控制器接口芯片
1M~10M时钟频率 时钟频率 PC/XT机: 外接 机 外接1.8432MHZ

8250的内部结构 的内部结构 8250实现了起止式串行异步通信协议,支 实现了起止式串行异步通信协议, 实现了起止式串行异步通信协议 持全双工通信
通信字符可选择数据位为 ~ 位 通信字符可选择数据位为5~8位 数据位 停止位1、 或 位 停止位 、1.5或2位 可进行奇偶校验 可进行奇偶校验 具有奇偶、帧和溢出错误检测电路 具有奇偶、帧和溢出错误检测电路

Ins8250内部结构 内部结构
数 据 总 线 缓 冲
发送保持寄存器 接收缓冲寄存器 发送移位寄存器

UART
Sout Sin

接收移位寄存器
RCLK

D0~D7

线路控制寄存器
XTAL1 XTAL2

线路状态寄存器 除数寄存器高位

1M~10M

/BAUDOUT

CS0 CS1 CS2 A2 A1 A0 /ADS DISTR /DISTR DOSTR /DOSTR DDIS MR

波特率发生器

寻 址 及 控 制 逻 辑

除数寄存器低位

MODEM 内 部 数 据 总 线
MODEM控制寄存器 控制寄存器 MODEM状态寄存器 状态寄存器

/RTS /CTS

控制逻辑

握 /RI /DSR手 /RLSD /DTR 线
/OUT1 /OUT2

中断允许寄存器 控制逻辑 中断识别寄存器
INTRPT

中断

UART内部结构示意 内部结构示意
UART 接收时钟 RxC 接 收数 据 缓冲器 DATA_BUS RDA 溢出错误 OVRN 帧格式错误 FRERR 校验错误PE 校验错误
/RESET /WR /RD CS

接 收位 移 寄存器

RxD

/RxC

控制逻辑 TBE

/TxC

发送时钟 TxC

发 送数 据 缓冲器 发 送位 移 寄存器 TxD

8250的引脚信号介绍 的引脚信号介绍

连接CPU的部分和连接外设的部分 的部分和 分成连接 的部分 分成连接 注意: 不是Intel公司的产品,所以该 公司的产品, 注意:8250不是 不是 公司的产品 芯片引脚名称与前面学习的8253、8255等 芯片引脚名称与前面学习的 、 等 Intel产品有所不同,但是引脚功能却是类 产品有所不同, 产品有所不同 似的

1.与外设连接的信号 与外设连接的信号

8250

发送数据SOUT 发送数据 接收数据SIN 接收数据 请求发送/ 请求发送/RTS 允许发送/ 允许发送/CTS 数据装置准备好/ 数据装置准备好/DSR 数据终端准备好/ 数据终端准备好/DTR 信号地GND 信号地 载波检测/ 载波检测/DCD 振铃指示/ 振铃指示/RI

2.与处理器连接的信号引脚 与处理器连接的信号引脚
D0~D7 数据线 ~ A0~A2 地址线 ~ CS0、CS1、/CS2 片选线 、 、 CSOUT 片选输出信号 /ADS 地址选通信号 DISTR /DISTR 数据输入选通, CPU从8250内部寄存器读出数据 数据输入选通 从 内部寄存器读出数据, 内部寄存器读出数据 相当于I/O读信号 相当于 读信号 DOSTR /DOSTR 数据输出选通,CPU将数据写入 数据输出选通, 将数据写入8250内部寄存器 内部寄存器, 将数据写入 内部寄存器 相当于I/O写信号 相当于 写信号

MR INTRPT

复位信号线 中断请求信号输出: 中断请求信号输出:8250有4级共10个中断源,当任一个 有 级 个中断源, 未被屏蔽的中断源有请求时, 输出高电平向CPU 未被屏蔽的中断源有请求时,INTRPT输出高电平向 输出高电平向 请求中断 XTAL1 XTAL2 时钟输入引脚和时钟输出引脚: 时钟输入引脚和时钟输出引脚: /BAUDOUT 波特率输出引脚,其频率是发送波特率的 其频率是发送波特率的16倍 波特率输出引脚 其频率是发送波特率的 倍 RCLK 接收时钟引脚, 接收外部提供的接收时钟信号; 接收时钟引脚 接收外部提供的接收时钟信号;若采用发 送时钟作为接收时钟,则只要将RCLK引脚和 引脚和/BAUDOUT 送时钟作为接收时钟,则只要将 引脚和 引脚直接相连 /OUT1和/OUT2 两个一般用途的输出信号 由芯片内部调制控制寄存器的 两个一般用途的输出信号,由芯片内部调制控制寄存器的 和 D2和D3使其输出低电平有效信号 复位使其恢复为高 使其输出低电平有效信号,复位使其恢复为高 和 使其输出低电平有效信号 DDIS 驱动器禁止信号输出, 读取数据时, 驱动器禁止信号输出 CPU从8250读取数据时,DDIS引 从 读取数据时 引 脚输出低电平, 脚输出低电平,用来禁止外部收发器对系统总线的驱 其他时间, 为高电平,PC/XT中未用 动;其他时间,DDIS为高电平 为高电平 中未用

异步通信适配器接口电路介绍 IBM PC/XT机的串行异步通信适配器 机的串行异步通信 机的串行异步通信适配器
以8250为核心 为核心 完成发送时的并转串和接收时的串转并以及相 应的控制工作 配置了TTL电平与 电平与EIA电平转换电路等 配置了 电平与 电平转换电路等

异步通信适配器的部分接口电路

注意: ~ 注意:J9~J12跨接器 跨接器 和OUT2*的作用 的作用
8250 D 0~D 7 DISTR DOSTR A 0~A 2 RCLK CS2 +5V BAUDOUT CS0 CS1 ADS DISTR DOSTR +5V

D 0~D 7 IOR IOW A 0~A 2 AEN A 3~A 7A 9

LS245 DIR

A8

J9 J10 J11 J12

OUT1 OUT2 INTRPT MR 1.8432MHz XTAL1

IRQ4 IRQ3 RESET

适配器端口地址译码: 适配器端口地址译码
A9 A8
J12通 通

A7 A6 A5 A4

A3 A2 A1 A0 I/O地址 地址

1 1 1 1 1 0 1 0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 0 0 0 3F8H 1 1 1 1 3FFH 1 0 0 0 2F8H 1 1 1 1 2FFH

J10通 J10通

8250的寄存器 的寄存器

8250内部有 种可访问的寄存器,除数寄存 内部有9种可访问的寄存器, 内部有 器是16位的 占用两个连续的8位端口 位的, 器是 位的,占用两个连续的 位端口 内部寄存器用引脚A0~ 来寻址 来寻址; 内部寄存器用引脚 ~A2来寻址;同时还 要利用通信线路控制寄存器的最高位, 要利用通信线路控制寄存器的最高位,即 除数寄存器访问位DLAB,来区别共用两 除数寄存器访问位 , 个端口地址的不同寄存器(P336表5.10) 个端口地址的不同寄存器( 表 )

INS8250内部寄存器地址 内部寄存器地址
A2 A1 A0 000 000 001 001 010 011 100 101 110 111 DLAB 0 1 1 0 x x x x x x COM1 3F8 3F8 3F9 3F9 3FA 3FB 3FC 3FD 3FE 3FF 寄存器 写发送寄存器/读接收寄存器 写发送寄存器 读接收寄存器 除数寄存器低字节 除数寄存器高字节 中断允许 中断识别 线路控制 MODEM控制 控制 线路状态 MODEM 状态 不用

1.接收缓冲寄存器 接收缓冲寄存器RBR 接收缓冲寄存器
CPU 并行数据

接收缓冲寄存器 串行数据 接收移位寄存器 同步控制 8250 SIN
0/1 0/1 0/1 0/1

检测接收错误 去除起始位、 去除起始位、 校验位、 校验位、停止位

双缓冲寄存器结构保证数 据的连续接收

2.发送保持寄存器 发送保持寄存器THR 发送保持寄存器
CPU 并行数据

发送保持寄存器 串行数据 发送移位寄存器 同步控制 8250 加入起始位、 加入起始位、 校验位、 校验位、停止位 SOUT
0/1 0/1 0/1 0/1

双缓冲寄存器结构保证 数据的连续发送

3.除数寄存器 除数寄存器
16 T 数据线 (SIN) ) 时钟 (RCLK) ) 起始位 T

8T

16 T

除数寄存器保存设定的分频系数 分频系数(除数)=外部时钟频率÷ )=外部时钟频率 分频系数(除数)=外部时钟频率÷(16×波特率) ×波特率)

4.通信线路控制寄存器 通信线路控制寄存器LCR 通信线路控制寄存器
DLAB D6 D5 D4 D3
校验位设置 ××0 ×× 无校验位 001 设置奇校验 011 设置偶校验 101 校验位为 校验位为1 111 校验位为 校验位为0

D2

D1 D0
数据位个数 00 5位 位 01 6位 位 10 7位 位 11 8位 位

寄存器选择 0 正常值 1 除数寄存器 中止字符 0 无作用 1 发送中止字符

指定串行异步 通信的字符格式

停止位个数 0 1位 位 1 1.5位(数据位为 位时) 位时) 位 数据位为5位时 1 2位(数据位为 ~8位时) 位时) 位 数据位为6~ 位时

5.通信线路状态寄存器 通信线路状态寄存器LSR(P338图5.58) 通信线路状态寄存器 ( 图 )
0 D6 D5 D4
为1, , 表示 正在 传输 中止 字符

D3
为1, , 表示 出现 帧错 误

D2
为1, , 表示 出现 奇偶 错

D1
为1, , 表示 出现 溢出 错

D0
为1,表示 , 接收数据缓 冲器收到一 个数据, 个数据,即 接收数据准 备好; 备好;当 CPU读走数 读走数 据后, 据后,该位 为0

为1,表示 , 发送移位寄 存器空; 存器空;当 数据由发送 保持寄存器 移入发送移 位寄存器时, 位寄存器时, 该位为0 该位为

为1,表 , 示发送保 持寄存器 空,当 CPU将字 将字 符写入发 送保持寄 存器后, 存器后, 该位为0 该位为

提供串行异步通信的 当前状态供CPU读取 当前状态供 读取 和处理

6.调制解调器控制寄存器 调制解调器控制寄存器MCR(P339图5.59) 调制解调器控制寄存器 ( 图 )
0 0 0 LOOP OUT2
为1使 使 /OUT2引 引 脚为低否 则为高 为1使 使 /OUT1引 引 脚为低否 则为高

OUT1

RTS

DTR

为1使8250为 使 为 自诊断工作 自诊断工作 方式否则为 正常工作方 式

为1使 使 /RTS引脚 引脚 为低否则 为高 为1使 使 /DTR引脚 引脚 为低否则 为高

设置8250与数据通信 与数据通信 设置 设备之间联络应答的 输出信号

7.调制解调器状态寄存器 调制解调器状态寄存器MSR(P339图5.60) 调制解调器状态寄存器 ( 图 )
RLSD RI DSR CTS RLSD RI DSR CTS

反映4个控制输入信号的当前状态及其变化 反映 个控制输入信号的当前状态及其变化 个控制输入信号的 MSR高4位中某位为 ,说明相应输入信号当前为低有 高 位中某位为1, 效,否则为高电平 MSR低4位中某位为 ,则说明从上次 低 位中某位为1,则说明从上次CPU读取该状态 读取该状态 相应输入信号已发生改变, 后,相应输入信号已发生改变,从高变低或反之 MCR低4位任一位置 ,可产生调制解调器状态中断 低 位任一位置1, 读取该状态寄存器或复位后, 位被清零 当CPU读取该状态寄存器或复位后,低4位被清零 读取该状态寄存器或复位后

8.中断允许寄存器 中断允许寄存器IER 中断允许寄存器
D7 D4 D3
MODEM 状态变化

D2
接收数据 错

D1
发送寄存 器空

D0
接收数据 就绪

0000

中断允许寄存器的低 位控制 中断允许寄存器的低4位控制 的低 位控制8250这4级中断是否被 这 级中断是否被 允许 某位为1, 某位为 ,则对应的中断被允许 某位为0, 某位为 ,则对应的中断被屏蔽 8250设计有 个中断寄存器和4级中断 设计有2个中断寄存器 级中断 设计有 个中断寄存器和 4级中断的优先权,是按照串行通信过程中事件的 级中断的优先权, 级中断的优先权 紧迫程度安排的、 紧迫程度安排的、是固定不变的 用户可利用中断允许或禁止进行控制

4级中断 级中断
接收线路状态中断
奇偶错、溢出错、帧错和 奇偶错、溢出错、帧错和中止字符 优先权高

接收器数据准备好中断 接收器数据准备好中断 发送保持寄存器空中断 发送保持寄存器空中断 调制解调器状态中断
清除发送状态改变 清除发送状态改变 数据终端准备好状态改变 数据终端准备好状态改变 振铃接通变成断开 振铃接通变成断开 接收线路信号检测状态改变 接收线路信号检测状态改变

优先权低

4级10种中断源 级 种中断源

9.中断识别寄存器 中断识别寄存器IIR 中断识别寄存器
00000
ID1ID0 1 1 0 0 1 0 1 0 优先权 1 2 3 4

ID1 ID0

IP 0 有中断 1 无中断

中断类型 接收线路状态 接收数据准备好 发送保持寄存器空 调制解调器状态

*保存正在请求中断的优先权最高的中断 保存正在请求中断的优先权最高的中断 级别编码 *IRR寄存器的内容仅可以读出 寄存器的内容仅可以读出 *复位后 复位后D0=1,其余位为 其余位为0 复位后 其余位为

异步通信适配器的初始化编程 对8250的内部控制寄存器进行编程写入 的内部控制寄存器进行编程写入 ⑴ 写入除数寄存器
⑵ 设置波特率 设置波特率 写入通信线路控制寄存器 设置字符格式 设置字符格式 写入调制解调器控制寄存器 设置工作方式 设置工作方式 写入中断允许寄存器 设置中断允许或屏蔽位 设置中断允许或屏蔽位





异步通信编程举例 (P340) ) ;初始化编程 设置波特率为2400 (P338表5.11) ;设置波特率为 表 ) MOV DX, 3FBH ;线路控制寄存器地址 线路控制寄存器地址 MOV AL, 80H OUT DX, AL ;DLAB=1, 设置写除数标志 MOV DX, 3F9H ;高位除数寄存器 MOV AL, 0 OUT DX, AL MOV DX, 3F8H ;低位除数寄存器 MOV AL, 30H OUT DX, AL

;设置数据格式 数据长7位 个停止位, ;数据长 位,1个停止位,偶校验 个停止位 MOV DX, 3FBH 注意DLAB=0 ;注意 MOV AL, 00011010B OUT DX, AL ;设置操作方式,不用中断 设置操作方式, 设置操作方式 ;/OUT2=1,/DTR=0,/RTS=0 MOV DX, 3FCH ;MODEM控制寄存器 控制寄存器 MOV AL, 00000011B ;设置 设置/RTS、 /DTR有效 设置 、 有效 OUT DX, AL MOV DX, 3F9H ;中断允许寄存器 MOV AL, 0 ;屏蔽全部中断 OUT DX, AL

;查询式通信 发送字符在CL中 若收到字符,暂存于AL ;发送字符在 中,若收到字符,暂存于 KEEP_TRY:MOV DX,3FDH ;读线路状态寄存器端口 读线路状态寄存器端口 IN AL,DX TEST AL,00011110B ;检查出错否 JNZ ERROR_ROUTINE ;转出错处理 TEST AL, 00000001B ;检查收到新数否 JNZ RECEIVE ;转接收 TEST AL,00100000B ; 检查可否发送数据 JZ KEEP_TRY ;重新检查 MOV DX,3F8H MOV AL,CL ;发送数据 OUT DX,AL JMP SHORT KEEP_TRY RECEIVE: MOV DX,3F8H ;接收数据 接收数据 IN AL,DX ….

INS8250内部寄存器地址 内部寄存器地址
A2 A1 A0 000 000 001 001 010 011 100 101 110 111 DLAB 0 1 1 0 x x x x x x COM1 3F8 3F8 3F9 3F9 3FA 3FB 3FC 3FD 3FE 3FF 寄存器 写发送寄存器/读接收寄存器 写发送寄存器 读接收寄存器 除数寄存器低字节 除数寄存器高字节 中断允许 中断识别 线路控制 MODEM控制 控制 线路状态 MODEM 状态 不用

4.通信线路控制寄存器 通信线路控制寄存器LCR 通信线路控制寄存器
DLAB D6 D5 D4 D3
校验位设置 ××0 ×× 无校验位 001 设置奇校验 011 设置偶校验 101 校验位为 校验位为1 111 校验位为 校验位为0

D2

D1 D0
数据位个数 00 5位 位 01 6位 位 10 7位 位 11 8位 位

寄存器选择 0 正常值 1 除数寄存器 中止字符 0 无作用 1 发送中止字符

指定串行异步 通信的字符格式

停止位个数 0 1位 位 1 1.5位(数据位为 位时) 位时) 位 数据位为5位时 1 2位(数据位为 ~8位时) 位时) 位 数据位为6~ 位时

6.调制解调器控制寄存器 调制解调器控制寄存器MCR(P339图5.59) 调制解调器控制寄存器 ( 图 )
0 0 0 LOOP OUT2
为1使 使 /OUT2引 引 脚为低否 则为高 为1使 使 /OUT1引 引 脚为低否 则为高

OUT1

RTS

DTR

为1使8250为 使 为 自诊断工作 自诊断工作 方式否则为 正常工作方 式

为1使 使 /RTS引脚 引脚 为低否则 为高 为1使 使 /DTR引脚 引脚 为低否则 为高

设置8250与数据通信 与数据通信 设置 设备之间联络应答的 输出信号

8.中断允许寄存器 中断允许寄存器IER 中断允许寄存器
D7 D4 D3
MODEM 状态变化

D2
接收数据 错

D1
发送寄存 器空

D0
接收数据 就绪

0000

中断允许寄存器的低 位控制 中断允许寄存器的低4位控制 的低 位控制8250这4级中断是否被 这 级中断是否被 允许 某位为1, 某位为 ,则对应的中断被允许 某位为0, 某位为 ,则对应的中断被屏蔽 8250设计有 个中断寄存器和4级中断 设计有2个中断寄存器 级中断 设计有 个中断寄存器和 4级中断的优先权,是按照串行通信过程中事件的 级中断的优先权, 级中断的优先权 紧迫程度安排的、 紧迫程度安排的、是固定不变的 用户可利用中断允许或禁止进行控制

5.通信线路状态寄存器 通信线路状态寄存器LSR(P338图5.58) 通信线路状态寄存器 ( 图 )
0 D6 D5 D4
为1, , 表示 正在 传输 中止 字符

D3
为1, , 表示 出现 帧错 误

D2
为1, , 表示 出现 奇偶 错

D1
为1, , 表示 出现 溢出 错

D0
为1,表示 , 接收数据缓 冲器收到一 个数据, 个数据,即 接收数据准 备好; 备好;当 CPU读走数 读走数 据后, 据后,该位 为0

为1,表示 , 发送移位寄 存器空; 存器空;当 数据由发送 保持寄存器 移入发送移 位寄存器时, 位寄存器时, 该位为0 该位为

为1,表 , 示发送保 持寄存器 空,当 CPU将字 将字 符写入发 送保持寄 存器后, 存器后, 该位为0 该位为

提供串行异步通信的 当前状态供CPU读取 当前状态供 读取 和处理

异步通信适配器的部分接口电路

注意: ~ 注意:J9~J12跨接器 跨接器 和OUT2*的作用 的作用
8250 D 0~D 7 DISTR DOSTR A 0~A 2 RCLK CS2 +5V BAUDOUT CS0 CS1 ADS DISTR DOSTR +5V

D 0~D 7 IOR IOW A 0~A 2 AEN A 3~A 7A 9

LS245 DIR

A8

J9 J10 J11 J12

OUT1 OUT2 INTRPT MR 1.8432MHz XTAL1

IRQ4 IRQ3 RESET

中断通信方式的编程注意

关键
解决主程序与中断服务程序的数据传递 解决主程序与中断服务程序的数据传递

注意
处理好8250的4级10种中断源 处理好8250的4级10种中断源

简便方法
例:只允许接收数据准备好中断


相关文章:
...Modbus串行通信(Modbus通信给定速度、数字量输出控...
数字量输出控制启停)_完全通信指导_信息与通信_工程...M340 与 ATV71 的 Modbus 串行通信向导 4 施耐德...通信控制命令 2C-输入控制运行或停车的打开、闭合...
第五六章(正)
3) 数字量扩展单元: 8bit 的数字量输入和 8bit 的数字量输出 4) 音频接口单元: CODEC 编解码串行通信技术; 语音输入放大及其接口,由三种接口方式; 语音输出放大...
电子技术课程设计,双机通信
(4)波特率发生器 波特率发生器用来控制串行通信的...端输入一个高电平, 才能打开输出三态门,输出数字量...11 五、设计小结经过繁忙而又紧张的课程设计, 终于...
2--S7-200 PLC数字量通用IO接口模块_图文
2--S7-200 PLC数字量通用IO接口模块_信息与通信_...但是,由于 410Ω 串行电 阻的存在,会有额外的压降...双向二极管 VL 用来指示输入状态。 4.数字量输出...
MM440-变频器外部端子控制
MM440-变频器外部端子控制_信息与通信_工程科技_专业...S7-200 PLC 三、实验内容 MM440 的输入输出电路图...数字量输入 4 数字量输入 5 数字量输入 6 数字量...
西门子200数字量接线图
西门子200数字量接线图_信息与通信_工程科技_专业资料...输入 漏型/源型(IEC 类型 1 漏型) 24VDC,4mA ...但是,由于 410 欧姆串行电阻的存在会有额外的压 降...
单片机串行通信课程设计报告
51 单片机用 4 个接口与外界进行数据输入与数据输出...波特率时用来表示串行通信数据 传输快慢程度的物理量,...电平转换芯片 MAX232 3.DS18B20 温度传感器 数字...
串行通信电路的设计
控制寄存器的脉冲实现数据的输出数字电子技术的...输出数据 加密的串行数据 3 串行通信电路 4 各部分...电子技术基础(数字部分) (第五版) .高等教育出版...
第二章 过程通道与输入输出接口
数字量输出通道是将计算机 输出的数字信号变换成所...第 4 页共 39 页 信号类型 电压娈送器 输入通道...串行通信一、并行通信 并行通信:把一个字符的各数...
...Modbus串行通信(Modbus通信给定速度、数字量输出控...
串行通信向导 向导<二——Modbus 通信给定速度、数字量输出控制启停 通信给定...用户根据需要可设置逻辑输入反转为 故障复位 LI2/LI3/LI4/LI5/LI6。 Unity...
更多相关标签: