常用接口芯片及应用(4)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
⑴ 设定工作方式 ⑵ 设定计数初值 〔 ⑶ 硬件启动 〕 ⑷ 计数初值进入减1计数器 ⑸ 每输入一个时钟计数器减1的计数过程 ⑹ 计数过程结束
方式0:计数结束产生中断 ④
WR CLK GATE
OUT
① 方式0
②④ ⑤ ⑥ 4
4321 0
⑥⑤计②① 计数结束计数过程数值送入计数器设定计数初值设定工作方式
RS-232C的电气特性
232C接口采用EIA电平
高电平为+3V~+15V 低电平为-3V~-15V 实际常用±12V或±15V
相互转换
标准TTL电平
高电平:+2.4V~+5V 低电平:0V~0.4V
起止式异步通信协议
起始位
字符
数据位
校验位 停止位 空闲位
1 0 0/1 0/1 … 0/1 0/1 1 1 1
低位
高位
起 起数由校 选停位空表始始5据择验采止~示闲位位位奇位用8位没位采—个—检—逻—有—用—二—验—辑—进—逻进每、数1用行表传辑电制个偶据于传示送0平位字校电位校送字该,组符验平紧验符字可成开或跟是之符选,不始着否间传择低传传起传的送1位送送、始送逻结先校的1位正辑.传束5验标传或1确送。位电志2送;停位平,。可止,
除数选择位(DLAB) 0=寻址 RBR,TBR,IER 1=选除数锁存器
字符长 00=5 位 01=6 位 10=7 位 11=8 位
停止位的位数 0=1 位停止位 1=当字符长为 5 位时,1.5 位停止位;当字符长为 6~8 位时,2 位停止位。
有无奇偶校验 0=无奇偶校验 1=有奇偶校验
指定串行异步通信的字符格式
信号地GND 载波检测RLSD* (CD)
振铃指示RI*
波特率输出BAUDOUT*
接收时钟引脚RCLK
对应RS-232 TXD RXD RTS
MAX CTS 232 DSR
DTR GNG CD
RI TXC RXC
8250教学要求
1. 掌握起止式通信协议、RS-232C引 脚定义和连接 2. 了解8250的引脚和内部寄存器功能 3. 掌握8250的初始化编程
8250的引脚
D0
1
D1
2
D2
3
10
SIN
D3
4
D4
59
RCLK
D5
6
分成连接CPU的部分
D6
7
15
D7
8
BAUDOUT
和连接外设的部分
注意:8250不是 Intel公司的产品 (Intel 8251),所以 该芯片引脚名称与前 面学习的8253、 8255等Intel产品有
CS0 CS1 CS2
MOV DX,2FBH ;LCR的口地址
MOV AL,80H
;将DLAB位置1
OUT DX,AL
MOV DX,2FBH ;DLL的口地址
MOV AL,60H
;写入1200波特的 DLL值,通过查表可知1200
对应的 DLH DLL值分别为0060H
OUT DX,AL
MOV DX,2F9H ;DLH口地址
INTR
所不同,但是引脚功
MR XTAL1
35 40 16 20
+5V GND
能却是类似的
XTAL2
17
与处理器接口
串行接口(RS-232)
时钟信号
时钟输入引脚XTAL1:8250的基准工作时钟 时钟输出引脚XTAL2:基准时钟信号的输出端 波特率输出引脚BAUDOUT*:基准时钟经8250
2. RS-232C的连接
方法1:微机利用232C接口连接调制解调 器,用于实现通过电话线路的远距离通信
方法2:微机利用232C接口直接连接进行 短距离通信。不使用调制解调器。
分频次数锁存器DLH和DLL(除数锁存器) 分频系数=基准时钟频率÷(16×比特率)
传输线控制寄存器LCR(通信控制寄存器)
RCLK
CS2 +5V
OUT1 OUT2
BAUDOUT
+
CS0
CS1
ADS
DISTR
DOSTR
INTRPT
MR XTAL1
异步通信适配器的接口电路(书224页图5.35) (2)串行异步接口(RS-232)部分
8250
发送数据SOUT (TXD) 接收数据SIN (RXD)
请求发送RTS* 允许发送CTS* 数据装置准备好DSR* 数据终端准备好DTR*
0 0 0 LOOP OUT2 OUT1 RTS DTR
为1使为O为1使U为1T使O12使U8为*2T引R5110T使脚*为S引D为*循引脚T低R环脚为*工引为低作脚低方为式低 否则否为否则高否则为则为高否为正则高常为工高作方式
设置8250与数据通信设备之间 联络应答的输出信号
MODEM状态寄存器MSR
控制字 寄存器
与处理器接口
计数器0
内 部
数
计数器1
据
总
线
计数器2
计数器
CLK 0 GATE 0 OUT 0
CLK 1 GATE 1 OUT 1
CLK 2 GATE 2 OUT 2
计数器
CLK GATE
预置寄存器 减1计数器 输出锁存器
OUT
CLK时钟输入信号
在计数过程中,此引脚上每 输入一个时钟信号(下降 沿),计数器的计数值减1
设备DCE(例如调制解调器)的标准接口 RS-232C接口标准使用一个25针连接器,绝大多数设备
只使用其中9个信号,所以就有了9针连接器
TxD:发送数据 串行数据的发送端 RxD:接收数据 串行数据的接收端 TxC:发送器时钟 控制数据终端发送串行数据的时钟信号 RxC:接收器时钟 控制数据终端接收串行数据的时钟信号 GND:信号地 为所有的信号提供一个公共的参考电平
A0 A1 A2 ADS DISTR DISTR DOSTR DOSTR DDIS CSOUT
12 13 14 11 28 32 27 8250 36 26 33 25 37 22 38 21 39 19 34 18 31 23 30 24
SOUT RTS CTS DTR DSR RLSD RI OUT1 OUT2
D7 D6 D5 D4 D3 D2 D1 D0
奇偶校验的类型 0=奇校验 1=偶校验
附加奇偶标志位 0=不附加 1=附加 1 位 (D4=1,D3=1,偶校 验,奇偶校验位为 0; D4=0,D3=1,奇校验,奇偶校验位 为 1)。
设置间断 0=禁止间断 1=强迫 SOUT 引脚连续输出 空白状态 0
内部波特率发生器分频后产生发送时钟 接收时钟引脚RCLK:接收外部提供的接收时钟
信号;若采用发送时钟作为接收时钟,则只要将 RCLK引脚和BAUDOUT*引脚直接相连
8250的内部结构
8250实现了起止式串行异步通信协议,全双工通信 通信字符可选择数据位为5~8位 停止位1、1.5或2位 可进行奇偶校验 具有奇偶、帧和溢出错误检测电路
MOV AX,0
OUT DX,AX
;写入12000波特的 DLH值
MOV DX,2FBH ;设定 LCR的口地址
MOV AL,0EH
;7位字符,2位停止位,奇校验
OUT DX,AL
;写入 LCR控制字
MOV DX,2FCH ;设定 MCR口地址
MOV AL,03H
;置 MCR控制字
OUT DX,AL
起始位
字符
数据位
校验位 停止位 空闲位
1 0 0/1 0/1 … 0/1 0/1 1 1 1
低位
内部寄存器
8250内部有9种可访问的寄存器,除数寄存器是16位的, 占用两个连续的8位端口
内部寄存器用引脚A0~A2来寻址;同时还要利用通信线 路控制寄存器的最高位,即除数寄存器访问位DLAB, 来区别共用两个端口地址的不同寄存器
MOV DX,2F9H ;设定 IER口地址
MOV AL,0
;禁止一切中断
OUT DX,AL
;置 IER控制字
5. 异步通信适配器
IBM PC机的串行异步通信适配器
完成发送时的并转串和接收时的串转并以及相 应的控制工作
以8250为核心, 构成RS-232 配置了TTL电平与EIA电平转换电路等
8253的编程
8253加电后的工作方式不确定 8253必须初始化编程,才能正常工作
每个计数器须初始化 8253/8254的I/O地址
写入方式控制字 写入计数初值
D7 D6 D5 D4 D3 D2 D1 D0
写入方式控制字
D7 D6 D5 D4 D3 D2 D1 D0
计数器
读写格式
工作方式
图. 8250的连接
异步通信适配器的接口电路(书224页图5.35) (1)和CPU接口部分
D0~D7
IOR IOW A0~A2 AEN A3~A7A9
A8
IRQ4 IRQ3 RESET
LS245 DIR
J9 J10 J11 J12
1.8432MHz
D0~D7 8250
DISTR DOSTR A0~A2
GATE门控输入信号
控制计数器工作,可分成电 平控制和上升沿控制两种类 型
OUT计数器输出信号
当一次计数过程结束(计数 值减为0),OUT引脚上将产 生一个输出信号
8253的工作方式
8253有6种工作方式,由方式控制字确定 熟悉每种工作方式的特点才能根据实际应用
问题,选择正确的工作方式 每种工作方式的过程类似:
D7
D6
D5
D4
D3
电平 1=CTS 引脚为低电平 0=DSR 引脚为高电平 1=DSR 引脚为低电平 0=RI 引脚为高电平 1=RI 引脚为低电平
数制
00 计数器000 计数器锁存命00令0 方式0
01 计数器101 只读写低字节001 方式1
10 11
计数器2 10 非法 11
只读写高字节010 先后读读写写低高字字节节011100101
方式2 方式3 方式4 方式5
0 二进制 1 十进制
控制字写入控制字I/O地址(A1A0=11)
写入计数值
OUT0 GATA0
CLK0 8253
示波器 地
要求
在分析参考程序(方式0)基础上编出程序 (选做)8253计数器0工作在方式2
8253
•3个独立的16位计数器通道 •每个计数器有6种工作方式 •按二进制或十进制(BCD码)计数
D7~D0
RD WR
A0 A1
CS
数据总线 缓冲器
读写控制 逻辑
TABLE DW
DW
DW
101H,0102H,0104H,0108H,0110H,0120H,0140H,0180H 201H,0202H,0204H,0208H,0210H,0220H,0240H,0280H 0401H,0402H,0404H,0408H
作业
预习8253基本工作方式实验 8253 端口地址为300H~303H,观察计数器0工作 在方式0 时out0的波形及其受GATE信号的影响
选择二进制时
计数值范围:0000H~FFFFH 0000H是最大值,代表65536
选择十进制(BCD码)
计数值范围:0000~9999 0000代表最大值10000
计数值写入计数器各自的I/O地址
示例
串行通信总线(串行接口标准)RS-232C
美国电子工业协会EIA制定的通用标准串行接口 设计目的是用于连接调制解调器 现已成为数据终端设备DTE(例如计算机)与数据通信
本次课内容
可编程串行接口8250 1. 8250的内部结构 2. 8250的引脚 3. 内部寄存器 4. 8250的编程 5. 异步通信适配器
键盘接口 矩阵键盘结构 键盘接口硬件电路 键盘编程 键盘接口设计实例
本次课内容
4.可编程串行接口8250编程举例
例:设数据传输速率1200波特,通信格式 为7位/字符,2 位停止位,奇校验,数据传 输不采用中断方式,则其初始化程序段为:
传输线状态寄存器LSR(通信状态寄存器)
D7 D6 D5 D4 D3 D2 D1 D0
BI=1,检测到间断
TBRE=1,发送缓冲器空
TSRE=1,发送移位寄存 器空
DR=1 接收数据准备好 OE=1,重叠错 PE=1,奇偶错
恒为 0
FE=1,帧错
提供串行异步通信的当前状态 供CPU读取和处理
MODEM控制寄存器MCR
5.5 键盘接口
简单键盘接口---可用三态门(231页图5.39) 8255作为键盘接口(上次实验) 矩阵键盘结构(231页图5.40) 键盘编程---键盘扫描 查表法
去抖动
硬健去抖 软件延时
被按键的识别和键码的产生 查表法确定按下的键
键盘接口设计实例
8255与小键盘接口实验
8255 端口地址为318H~31BH,请编程实现在 PC上显示所按键
PA0~PA7
行矩阵
CPU
PB0~PB1
列矩阵
8255
键盘
硬件电路分析
软件分析---键盘扫描 查表法
键值表的产生 高8位(列值)低8位(行值)取反 8255的初始化编程 流程图
去抖动(软件延时) 被按键的识别和键码的产生 查表法确定按下的键
键值表的产生 高8位(列值)低8位(行值)取反
方式0:计数结束产生中断 ④
WR CLK GATE
OUT
① 方式0
②④ ⑤ ⑥ 4
4321 0
⑥⑤计②① 计数结束计数过程数值送入计数器设定计数初值设定工作方式
RS-232C的电气特性
232C接口采用EIA电平
高电平为+3V~+15V 低电平为-3V~-15V 实际常用±12V或±15V
相互转换
标准TTL电平
高电平:+2.4V~+5V 低电平:0V~0.4V
起止式异步通信协议
起始位
字符
数据位
校验位 停止位 空闲位
1 0 0/1 0/1 … 0/1 0/1 1 1 1
低位
高位
起 起数由校 选停位空表始始5据择验采止~示闲位位位奇位用8位没位采—个—检—逻—有—用—二—验—辑—进—逻进每、数1用行表传辑电制个偶据于传示送0平位字校电位校送字该,组符验平紧验符字可成开或跟是之符选,不始着否间传择低传传起传的送1位送送、始送逻结先校的1位正辑.传束5验标传或1确送。位电志2送;停位平,。可止,
除数选择位(DLAB) 0=寻址 RBR,TBR,IER 1=选除数锁存器
字符长 00=5 位 01=6 位 10=7 位 11=8 位
停止位的位数 0=1 位停止位 1=当字符长为 5 位时,1.5 位停止位;当字符长为 6~8 位时,2 位停止位。
有无奇偶校验 0=无奇偶校验 1=有奇偶校验
指定串行异步通信的字符格式
信号地GND 载波检测RLSD* (CD)
振铃指示RI*
波特率输出BAUDOUT*
接收时钟引脚RCLK
对应RS-232 TXD RXD RTS
MAX CTS 232 DSR
DTR GNG CD
RI TXC RXC
8250教学要求
1. 掌握起止式通信协议、RS-232C引 脚定义和连接 2. 了解8250的引脚和内部寄存器功能 3. 掌握8250的初始化编程
8250的引脚
D0
1
D1
2
D2
3
10
SIN
D3
4
D4
59
RCLK
D5
6
分成连接CPU的部分
D6
7
15
D7
8
BAUDOUT
和连接外设的部分
注意:8250不是 Intel公司的产品 (Intel 8251),所以 该芯片引脚名称与前 面学习的8253、 8255等Intel产品有
CS0 CS1 CS2
MOV DX,2FBH ;LCR的口地址
MOV AL,80H
;将DLAB位置1
OUT DX,AL
MOV DX,2FBH ;DLL的口地址
MOV AL,60H
;写入1200波特的 DLL值,通过查表可知1200
对应的 DLH DLL值分别为0060H
OUT DX,AL
MOV DX,2F9H ;DLH口地址
INTR
所不同,但是引脚功
MR XTAL1
35 40 16 20
+5V GND
能却是类似的
XTAL2
17
与处理器接口
串行接口(RS-232)
时钟信号
时钟输入引脚XTAL1:8250的基准工作时钟 时钟输出引脚XTAL2:基准时钟信号的输出端 波特率输出引脚BAUDOUT*:基准时钟经8250
2. RS-232C的连接
方法1:微机利用232C接口连接调制解调 器,用于实现通过电话线路的远距离通信
方法2:微机利用232C接口直接连接进行 短距离通信。不使用调制解调器。
分频次数锁存器DLH和DLL(除数锁存器) 分频系数=基准时钟频率÷(16×比特率)
传输线控制寄存器LCR(通信控制寄存器)
RCLK
CS2 +5V
OUT1 OUT2
BAUDOUT
+
CS0
CS1
ADS
DISTR
DOSTR
INTRPT
MR XTAL1
异步通信适配器的接口电路(书224页图5.35) (2)串行异步接口(RS-232)部分
8250
发送数据SOUT (TXD) 接收数据SIN (RXD)
请求发送RTS* 允许发送CTS* 数据装置准备好DSR* 数据终端准备好DTR*
0 0 0 LOOP OUT2 OUT1 RTS DTR
为1使为O为1使U为1T使O12使U8为*2T引R5110T使脚*为S引D为*循引脚T低R环脚为*工引为低作脚低方为式低 否则否为否则高否则为则为高否为正则高常为工高作方式
设置8250与数据通信设备之间 联络应答的输出信号
MODEM状态寄存器MSR
控制字 寄存器
与处理器接口
计数器0
内 部
数
计数器1
据
总
线
计数器2
计数器
CLK 0 GATE 0 OUT 0
CLK 1 GATE 1 OUT 1
CLK 2 GATE 2 OUT 2
计数器
CLK GATE
预置寄存器 减1计数器 输出锁存器
OUT
CLK时钟输入信号
在计数过程中,此引脚上每 输入一个时钟信号(下降 沿),计数器的计数值减1
设备DCE(例如调制解调器)的标准接口 RS-232C接口标准使用一个25针连接器,绝大多数设备
只使用其中9个信号,所以就有了9针连接器
TxD:发送数据 串行数据的发送端 RxD:接收数据 串行数据的接收端 TxC:发送器时钟 控制数据终端发送串行数据的时钟信号 RxC:接收器时钟 控制数据终端接收串行数据的时钟信号 GND:信号地 为所有的信号提供一个公共的参考电平
A0 A1 A2 ADS DISTR DISTR DOSTR DOSTR DDIS CSOUT
12 13 14 11 28 32 27 8250 36 26 33 25 37 22 38 21 39 19 34 18 31 23 30 24
SOUT RTS CTS DTR DSR RLSD RI OUT1 OUT2
D7 D6 D5 D4 D3 D2 D1 D0
奇偶校验的类型 0=奇校验 1=偶校验
附加奇偶标志位 0=不附加 1=附加 1 位 (D4=1,D3=1,偶校 验,奇偶校验位为 0; D4=0,D3=1,奇校验,奇偶校验位 为 1)。
设置间断 0=禁止间断 1=强迫 SOUT 引脚连续输出 空白状态 0
内部波特率发生器分频后产生发送时钟 接收时钟引脚RCLK:接收外部提供的接收时钟
信号;若采用发送时钟作为接收时钟,则只要将 RCLK引脚和BAUDOUT*引脚直接相连
8250的内部结构
8250实现了起止式串行异步通信协议,全双工通信 通信字符可选择数据位为5~8位 停止位1、1.5或2位 可进行奇偶校验 具有奇偶、帧和溢出错误检测电路
MOV AX,0
OUT DX,AX
;写入12000波特的 DLH值
MOV DX,2FBH ;设定 LCR的口地址
MOV AL,0EH
;7位字符,2位停止位,奇校验
OUT DX,AL
;写入 LCR控制字
MOV DX,2FCH ;设定 MCR口地址
MOV AL,03H
;置 MCR控制字
OUT DX,AL
起始位
字符
数据位
校验位 停止位 空闲位
1 0 0/1 0/1 … 0/1 0/1 1 1 1
低位
内部寄存器
8250内部有9种可访问的寄存器,除数寄存器是16位的, 占用两个连续的8位端口
内部寄存器用引脚A0~A2来寻址;同时还要利用通信线 路控制寄存器的最高位,即除数寄存器访问位DLAB, 来区别共用两个端口地址的不同寄存器
MOV DX,2F9H ;设定 IER口地址
MOV AL,0
;禁止一切中断
OUT DX,AL
;置 IER控制字
5. 异步通信适配器
IBM PC机的串行异步通信适配器
完成发送时的并转串和接收时的串转并以及相 应的控制工作
以8250为核心, 构成RS-232 配置了TTL电平与EIA电平转换电路等
8253的编程
8253加电后的工作方式不确定 8253必须初始化编程,才能正常工作
每个计数器须初始化 8253/8254的I/O地址
写入方式控制字 写入计数初值
D7 D6 D5 D4 D3 D2 D1 D0
写入方式控制字
D7 D6 D5 D4 D3 D2 D1 D0
计数器
读写格式
工作方式
图. 8250的连接
异步通信适配器的接口电路(书224页图5.35) (1)和CPU接口部分
D0~D7
IOR IOW A0~A2 AEN A3~A7A9
A8
IRQ4 IRQ3 RESET
LS245 DIR
J9 J10 J11 J12
1.8432MHz
D0~D7 8250
DISTR DOSTR A0~A2
GATE门控输入信号
控制计数器工作,可分成电 平控制和上升沿控制两种类 型
OUT计数器输出信号
当一次计数过程结束(计数 值减为0),OUT引脚上将产 生一个输出信号
8253的工作方式
8253有6种工作方式,由方式控制字确定 熟悉每种工作方式的特点才能根据实际应用
问题,选择正确的工作方式 每种工作方式的过程类似:
D7
D6
D5
D4
D3
电平 1=CTS 引脚为低电平 0=DSR 引脚为高电平 1=DSR 引脚为低电平 0=RI 引脚为高电平 1=RI 引脚为低电平
数制
00 计数器000 计数器锁存命00令0 方式0
01 计数器101 只读写低字节001 方式1
10 11
计数器2 10 非法 11
只读写高字节010 先后读读写写低高字字节节011100101
方式2 方式3 方式4 方式5
0 二进制 1 十进制
控制字写入控制字I/O地址(A1A0=11)
写入计数值
OUT0 GATA0
CLK0 8253
示波器 地
要求
在分析参考程序(方式0)基础上编出程序 (选做)8253计数器0工作在方式2
8253
•3个独立的16位计数器通道 •每个计数器有6种工作方式 •按二进制或十进制(BCD码)计数
D7~D0
RD WR
A0 A1
CS
数据总线 缓冲器
读写控制 逻辑
TABLE DW
DW
DW
101H,0102H,0104H,0108H,0110H,0120H,0140H,0180H 201H,0202H,0204H,0208H,0210H,0220H,0240H,0280H 0401H,0402H,0404H,0408H
作业
预习8253基本工作方式实验 8253 端口地址为300H~303H,观察计数器0工作 在方式0 时out0的波形及其受GATE信号的影响
选择二进制时
计数值范围:0000H~FFFFH 0000H是最大值,代表65536
选择十进制(BCD码)
计数值范围:0000~9999 0000代表最大值10000
计数值写入计数器各自的I/O地址
示例
串行通信总线(串行接口标准)RS-232C
美国电子工业协会EIA制定的通用标准串行接口 设计目的是用于连接调制解调器 现已成为数据终端设备DTE(例如计算机)与数据通信
本次课内容
可编程串行接口8250 1. 8250的内部结构 2. 8250的引脚 3. 内部寄存器 4. 8250的编程 5. 异步通信适配器
键盘接口 矩阵键盘结构 键盘接口硬件电路 键盘编程 键盘接口设计实例
本次课内容
4.可编程串行接口8250编程举例
例:设数据传输速率1200波特,通信格式 为7位/字符,2 位停止位,奇校验,数据传 输不采用中断方式,则其初始化程序段为:
传输线状态寄存器LSR(通信状态寄存器)
D7 D6 D5 D4 D3 D2 D1 D0
BI=1,检测到间断
TBRE=1,发送缓冲器空
TSRE=1,发送移位寄存 器空
DR=1 接收数据准备好 OE=1,重叠错 PE=1,奇偶错
恒为 0
FE=1,帧错
提供串行异步通信的当前状态 供CPU读取和处理
MODEM控制寄存器MCR
5.5 键盘接口
简单键盘接口---可用三态门(231页图5.39) 8255作为键盘接口(上次实验) 矩阵键盘结构(231页图5.40) 键盘编程---键盘扫描 查表法
去抖动
硬健去抖 软件延时
被按键的识别和键码的产生 查表法确定按下的键
键盘接口设计实例
8255与小键盘接口实验
8255 端口地址为318H~31BH,请编程实现在 PC上显示所按键
PA0~PA7
行矩阵
CPU
PB0~PB1
列矩阵
8255
键盘
硬件电路分析
软件分析---键盘扫描 查表法
键值表的产生 高8位(列值)低8位(行值)取反 8255的初始化编程 流程图
去抖动(软件延时) 被按键的识别和键码的产生 查表法确定按下的键
键值表的产生 高8位(列值)低8位(行值)取反