第八章 串行通讯_第1页
第八章 串行通讯_第2页
第八章 串行通讯_第3页
第八章 串行通讯_第4页
第八章 串行通讯_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第九章 串行通信接口 一、串行传送的特点:一、串行传送的特点: 1、数据在一根数据线上传送。、数据在一根数据线上传送。 2、数据格式又要求。、数据格式又要求。 3、对信号的逻辑定义与、对信号的逻辑定义与TTL电平不同。电平不同。 4、数据传送速率需要控制。、数据传送速率需要控制。 9.1、串行通信的基本概念 二、串行数据传送方向 全双工方式全双工方式 站站A站站B 站站A站站B 站站A站站B 半双工方式半双工方式 单工方式单工方式 三.波特率与收/发时钟 n串行传输速率也称串行传输速率也称波特率波特率(Baud Rate) n每秒传输的二进制位数每秒传输的二进制位数bps n字符中每个二进制

2、位持续的时间长度都一样,为数据字符中每个二进制位持续的时间长度都一样,为数据 传输速率的倒数传输速率的倒数 n过去,串行异步通信的数据传输速率限制在过去,串行异步通信的数据传输速率限制在50 bps到到9600 bps之间。现在,可以达到之间。现在,可以达到115200 bps 或更高或更高 (1)串行传输速率)串行传输速率 字符速率与波特率两者关系字符速率与波特率两者关系 字符速率:每秒钟传输的字符数。字符速率:每秒钟传输的字符数。 波特率:指单位时间内传送二进制数据的波特率:指单位时间内传送二进制数据的 位数。单位为:位数。单位为:b/s 例例: : 异步传输过程异步传输过程 设每个字符对

3、应设每个字符对应1 1个起始位、个起始位、7 7个信息位、个信息位、1 1个个 奇偶校验位和奇偶校验位和1 1个停止位,如果波特率为个停止位,如果波特率为1200bps1200bps, 那么,每秒钟能传输的最大字符数为那么,每秒钟能传输的最大字符数为1200/101200/10 120120个个 例例2:2:同步传输同步传输 用用1200bps1200bps的波特率工作,用的波特率工作,用4 4个同步字个同步字 符作为信息帧头部,但不用奇偶校验,那符作为信息帧头部,但不用奇偶校验,那 么 , 传 输么 , 传 输 1 0 01 0 0 个 字 符 所 用 的 时 间 为个 字 符 所 用 的

4、时 间 为 7(100+4)/12007(100+4)/12000.6067s0.6067s,这就是说,每,这就是说,每 秒钟能传输的字符数可达到秒钟能传输的字符数可达到100/0.6067100/0.6067 165165个。个。 可见,可见,在同样的传输率下,同步传输时在同样的传输率下,同步传输时 实际字符传输率要比异步传输时高实际字符传输率要比异步传输时高。 (2) 发送发送/接收时钟接收时钟 发送发送/接收时钟频率与接收时钟频率与波特率之间的关系为:波特率之间的关系为: 发送发送/接收时钟频率接收时钟频率=n 发送发送/接收接收波特率波特率 例:要求传输速率为例:要求传输速率为1200

5、 bps 当选择当选择n=16时,时,表明一位数字信号中有表明一位数字信号中有16个时个时 钟脉冲,故发送钟脉冲,故发送/接收时钟频率为:接收时钟频率为: 1200 16=19.2kHz 其中其中n称为波特因子,一般称为波特因子,一般n=1,16,32,64 四四.串行通信的两种基本方式串行通信的两种基本方式 在串行通信中,有两种最基本的通信在串行通信中,有两种最基本的通信 方式:方式: 同步通信(同步通信(Synchronous Data Communication) 异步通信(异步通信(Asynchronous Data Communication) 异步通信以一个字符为传输单位,用起始位

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

7、起止式异步通信协议 (2)同步通信及其协议)同步通信及其协议 同步通信是以数据块(字符块)为单位传送同步通信是以数据块(字符块)为单位传送 的,每个数据块经过格式化之后,形成一帧数的,每个数据块经过格式化之后,形成一帧数 据,作为一个整体进行发送与接收,因此,传据,作为一个整体进行发送与接收,因此,传 送一旦开始,要求每帧数据内部的每一位都要送一旦开始,要求每帧数据内部的每一位都要 同步同步 二、可编程串行通信接口芯片8251A 1.1.8251A8251A基本性能基本性能 (1)(1)两种传送方式:同步和异步传送两种传送方式:同步和异步传送 (2)(2)同步传送:同步传送:5858位位/ /

8、字符,内部或外部同步可字符,内部或外部同步可 自动插人同步字符自动插人同步字符 (3)(3)异步传送:异步传送:5858位位/ /字符,时钟速率为通信波字符,时钟速率为通信波 特率的特率的1 1、1616或或6464倍倍 (4)(4)可自动产生、检测和处理终止字符,可自动产生、检测和处理终止字符, 可产生可产生1 1、1.51.5或或2 2位的停止位位的停止位 (5)(5)波特率在同步方式时为波特率在同步方式时为0 064Kbps64Kbps, 异步方式时为异步方式时为0 019.2Kbps19.2Kbps (6)(6)全双工、双缓冲器发送器和接收器全双工、双缓冲器发送器和接收器 (7)(7)

9、出错检测:具有奇偶、溢出和帧错出错检测:具有奇偶、溢出和帧错 误等检测电路误等检测电路 2.8251A2.8251A的内部结构的内部结构 3.8251A3.8251A的接口信号的接口信号 (1) 8251A与与CPU接口信号接口信号 片选信号片选信号 CSCS* *为低电平时,为低电平时,8251A8251A被选中被选中 数据信号数据信号 D7D7D0D0与系统的数据总线相连与系统的数据总线相连 读写控制信号读写控制信号 RDRD* *为读信号为读信号 WRWR* *为写信号为写信号 C/DC/D* *为控制为控制/ /数据信号数据信号 收发联络信号收发联络信号 T TX XRDYRDY为发送

10、器准备好信号为发送器准备好信号 T TX XE E 发送器空信号发送器空信号 R RX XRDY RDY 接收器准备好信号接收器准备好信号 SYNDET/BD SYNDET/BD 同步检测信号同步检测信号 (2)8251A与外部设备之间的连接信号与外部设备之间的连接信号 收发联络信号收发联络信号 DTRDTR* * 数据终端准备好信号数据终端准备好信号 DSRDSR* *数据设备准备好信号数据设备准备好信号 RTSRTS* *请求发送信号请求发送信号 CTSCTS* * 清除请求发送信号清除请求发送信号 数据信号数据信号 T TX XD D 发送器数据输出信号发送器数据输出信号 R RX XD

11、 D 接收器数据输入信号接收器数据输入信号 (3)时钟、电源和地)时钟、电源和地 CLKCLK:工作时钟,由外部时钟源提供。为:工作时钟,由外部时钟源提供。为 芯片内部电路提供定时,它不等于发送和芯片内部电路提供定时,它不等于发送和 接收数据的时钟。接收数据的时钟。 VccVcc:电源输入:电源输入 GNDGND:地:地 4.8251A的编程的编程 8251A的初始化流程图的初始化流程图 8251A8251A的编程包括两个方面的内容:的编程包括两个方面的内容: 由由CPU发出控制字,即方式命令字和发出控制字,即方式命令字和 操作命令控制字操作命令控制字 由由8251A向向CPU送出的状态字送出

12、的状态字 (1 1)方式命令字)方式命令字 (2 2)操作命令字)操作命令字( (用于控制发用于控制发/ /收即数据传送方向收即数据传送方向) ) (3 3)状态寄存器格式)状态寄存器格式 ( (用于确定用于确定8251A8251A的工作方式的工作方式) ) 例:若要查询例:若要查询8251A8251A接收器是否准备好,可用接收器是否准备好,可用 下列程序实现:下列程序实现: MOV DX,3F9H ;状态口;状态口 NEXT: IN AL,DX ;读状态口;读状态口 AND AL,02H ;查询;查询D D1 1=1=1? JZ NEXT ;未准备好,;未准备好, ;转;转NEXTNEXT等

13、待等待 MOV DX,3F8H ;数据口地址;数据口地址 ;送;送DXDX IN AL,DX 三、8251A应用举例 1.异步方式下初始化程序 例【例【8-88-8】设】设8251A8251A工作于异步方式,波特率系工作于异步方式,波特率系 数为数为1616,具有,具有7 7位数据位,位数据位,1 1 位停止位,偶校位停止位,偶校 验,发送、接收允许,设端口地址为验,发送、接收允许,设端口地址为3F8H3F8H和和 3F9H3F9H,试编程初始化。,试编程初始化。 分析:根据题目要求,可以确定方式命令字为:分析:根据题目要求,可以确定方式命令字为: 01111010B01111010B,即,即

14、7AH7AH。而操作命令字为。而操作命令字为 00110111B00110111B,即,即37H37H 初始化程序如下:初始化程序如下: MOV DXMOV DX,3F9H 3F9H MOV ALMOV AL,7AH7AH;送方式命令字;送方式命令字 OUT DXOUT DX,ALAL MOV ALMOV AL,37H37H ;设操作命令字;设操作命令字 OUT DXOUT DX,ALAL 2.同步方式下初始化程序 例【例【8-98-9】设】设8251A8251A工作于同步方式,控制口的端口工作于同步方式,控制口的端口 地址为地址为3F9H3F9H,采用双同步字符,奇校验,采用双同步字符,奇校

15、验,7 7 位数据位数据 位,试编程初始化。位,试编程初始化。 分析:根据题目要求,可以确定方式命令字为分析:根据题目要求,可以确定方式命令字为 00011000B,即,即18H。而操作命令字为。而操作命令字为 10110111B即即B7H。它使。它使8251A对同步字符进行对同步字符进行 检索;同时使状态寄存器中检索;同时使状态寄存器中3个出错标志复位;此外,个出错标志复位;此外, 使使8251A的发送器启动,接收器也启动;控制字还的发送器启动,接收器也启动;控制字还 通知通知8251A,CPU当前已经准备好进行数据传输。当前已经准备好进行数据传输。 MOV DX,3F9H ;命令端口地址给

16、命令端口地址给DXDX MOV AL,00011000B ;方式命令字;方式命令字 OUT DX,AL MOV AL,16H OUT DX,AL ;送第一个同步字符;送第一个同步字符16H16H OUT DX,AL ;送第二个同步字符;送第二个同步字符16H16H MOV AL,B7H ;设置操作命令字;设置操作命令字 OUT DX,AL 3.3.两台微机之间进行双机串行通信的举例两台微机之间进行双机串行通信的举例 例【例【8-108-10】通过】通过8251A实现两台微机相实现两台微机相 互通信的硬件连接图如图互通信的硬件连接图如图8-25所示。利所示。利 用两片用两片8251A通过标准串行

17、接口通过标准串行接口RS- 232C实现两台实现两台8086微机之间的异步串微机之间的异步串 行通信。设两台微机中行通信。设两台微机中8251A的命令端的命令端 口地址为均口地址为均3F9H,数据端口地址均为,数据端口地址均为 3F8H。 分析:设系统采用查询方式控制串行通信的分析:设系统采用查询方式控制串行通信的 过程。过程。 初始化程序由两部分组成:初始化程序由两部分组成: 将一方定义为发送方,发送方将一方定义为发送方,发送方CPUCPU查询查询 到到TxRDYTxRDY有效时,则有效时,则CPUCPU向向8251A8251A并行输并行输 出一个待发送的字节数据;出一个待发送的字节数据;

18、将对方定义为接收方,接收方将对方定义为接收方,接收方CPUCPU查询查询 到到RxRDYRxRDY有效时,则从有效时,则从8251A8251A输入一个已输入一个已 接收到的字节数据,直到全部数据传送完毕接收到的字节数据,直到全部数据传送完毕 为止。为止。 发送程序如下:发送程序如下: STARTSTART:MOV MOV DXDX,3F9H3F9H MOV MOV ALAL,7FH7FH;异步方式,;异步方式,8 8位数据,位数据, ;一位停止位,偶校验;一位停止位,偶校验 OUT OUT DXDX,ALAL ;波特率因子为;波特率因子为6464,允许,允许 ;发送;发送 MOV MOV AL

19、AL,11H11H;操作命令字;操作命令字 OUTOUT DXDX,ALAL MOV MOV DIDI,1000H1000H ;设置地址指针;设置地址指针 MOV MOV CXCX,40H40H ;设置计数器初值;设置计数器初值 L1L1: MOVMOV DXDX,3F9H3F9H ININ ALAL,DXDX AND ALAND AL,01H 01H ;查询;查询TxRDYTxRDY是否有效是否有效 JZ L1 JZ L1 ;无效则等待;无效则等待 MOV MOV DXDX,3F8H3F8H MOVMOV ALAL,DIDI ;向;向8251A8251A输出一个字节数据输出一个字节数据 OU

20、TOUT DXDX,ALAL INCINC DI DI ;修改地址指针;修改地址指针 LOOP L1LOOP L1 ;未传送完,则继续下一个;未传送完,则继续下一个 HLTHLT 接收程序如下:接收程序如下: BEGINBEGIN:MOVMOV DXDX,3F9H3F9H MOV MOV ALAL,7FH7FH ;异步方式,;异步方式,8 8位数据,位数据,1 1位停止位位停止位 OUTOUT DXDX,AL AL ;偶校验,波特率因子;偶校验,波特率因子6464,允许接收,允许接收 MOV MOV ALAL,14H14H ;操作命令字(置;操作命令字(置ERER,RxE RxE 为为1 1)

21、 MOVMOV DXDX,AL AL MOV MOV SISI, 2000H2000H;设置地址指针;设置地址指针 MOVMOV CXCX,40H40H;设置计数器初值;设置计数器初值 L2L2:MOV MOV DXDX,3F9H3F9H ININ ALAL,DX DX ;读取状态字;读取状态字 TESTTEST ALAL,38H 38H ;查询接收器是否有错。;查询接收器是否有错。 JNZ JNZ ERR ERR ;有错则转错误处理;有错则转错误处理 AND AND ALAL,02H 02H ;无误则查状态位;无误则查状态位D D1 1(RxRDYRxRDY) JZ JZ L2 L2 ;接收

22、未准备好则等待;接收未准备好则等待 MOVMOV DXDX,3F8H3F8H IN IN ALAL,DX DX ;接受准备好,则接收;接受准备好,则接收1 1个字个字 ;节数据;节数据 MOVMOVSISI,ALAL INCINC SI SI ;修改接收数据区地址;修改接收数据区地址 LOOP L2LOOP L2 JMP JMP L3L3 ERRERR:CALL CALL ERR-OUTERR-OUT(略)(略) L3L3:MOV MOV AXAX,4C00H4C00H;已接收完,返回;已接收完,返回DOSDOS INTINT21H21H 8.4通用的异步接收发送芯片8250 8250是一种可

23、编程的串行异步通信接是一种可编程的串行异步通信接 口芯片,它支持异步通信规程;芯片内口芯片,它支持异步通信规程;芯片内 设置时钟发生电路,可通过编程改变传设置时钟发生电路,可通过编程改变传 送数据的波特率;它提供送数据的波特率;它提供MODEM的状态的状态 信息,极易通过信息,极易通过MODEM实现远程通信;实现远程通信; 它具有数据回送功能,为调试自检提供它具有数据回送功能,为调试自检提供 方便方便 1. 8250的寄存器及编程方法 n8250内部有内部有10个个可访问的寄存器,除数可访问的寄存器,除数 寄存器是寄存器是16位的,占用两个连续的位的,占用两个连续的8位端位端 口口 n内部寄存

24、器用引脚内部寄存器用引脚A0A2来寻址;同时还来寻址;同时还 要利用通信线路控制寄存器的最高位,即要利用通信线路控制寄存器的最高位,即 除数寄存器访问位除数寄存器访问位DLAB的的0和和1两种状态,两种状态, 来区别公用来区别公用1个端口地址所访问的两个寄个端口地址所访问的两个寄 存器存器 8250内部寄存器端口地址 适配器地址适配器地址DLAB A2A1A0访问寄存器名称访问寄存器名称 3F8H00 0 0 接收数据寄存器(读)接收数据寄存器(读) 发送保持寄存器(写)发送保持寄存器(写) 3F9H 00 0 1 中断允许寄存器中断允许寄存器 3F8H 10 0 0 波特率除数锁存寄存器(低

25、字节)波特率除数锁存寄存器(低字节) 3F9H 10 0 1 波特率除数锁存寄存器(高字节)波特率除数锁存寄存器(高字节) 3FAH 0 1 0中断识别寄存器中断识别寄存器 3FBH 0 1 1线路控制寄存器线路控制寄存器 3FCH 1 0 0MODEM控制寄存器控制寄存器 3FDH 1 0 1线路状态寄存器线路状态寄存器 3FEH 1 1 0MODEM状态寄存器状态寄存器 (1) 发送保持寄存器THR(3F8H) :“写写” 包含将要串行发送的并行数据包含将要串行发送的并行数据 CPU 发送保持寄存器发送保持寄存器 发送移位寄存器发送移位寄存器 同步控制同步控制 8250 SOUT (1)

26、接收缓冲寄存器RBR (3F8H) :“读读” 存放串行接收后转换成并行的数据存放串行接收后转换成并行的数据 CPU 接收缓冲寄存器接收缓冲寄存器 接收移位寄存器接收移位寄存器 同步控制同步控制 8250 SIN (2)波特率除数寄存器BRD(3F8H,3F9H) 除数寄存器保存设定的分频系数除数寄存器保存设定的分频系数 BRD基准时钟频率基准时钟频率(16波特率)波特率) 起起 始始 位位 时钟时钟 (RCLK) 数据线数据线 (SIN) T 16 T 16 T8 T 例【例【8-118-11】计算波特率为】计算波特率为1200bps1200bps的波的波 特率除数。特率除数。 当使用当使用

27、UARTUART的内部时钟为的内部时钟为1.8432MHz1.8432MHz 时(或由外部通过时(或由外部通过XTALXTAL1 1引脚输入),引脚输入), BRD=1843200/BRD=1843200/(161612001200)=0060H=0060H (3) 通信线路控制寄存器LCR(3FBH) DLABD6 D5 D4 D3D2D1 D0 寄存器选择寄存器选择 0 正常值正常值 1 除数寄存器除数寄存器 中止字符中止字符 0 无作用无作用 1 发送中止字发送中止字 符符 校验位设置校验位设置 0 无校验无校验 位位 001 设置奇校设置奇校 验验 011 设置偶校验设置偶校验 101

28、 校验位为校验位为1 111 校验位为校验位为0 停止位个数停止位个数 0 1位位 1 1.5位(数据位为位(数据位为5位时)位时) 1 2位(数据位为位(数据位为68位时)位时) 数据位个数数据位个数 00 5位位 01 6位位 10 7位位 11 8位位 指定串行异步通信的字符格式指定串行异步通信的字符格式 例【例【8-138-13】通信线路控制寄存器(】通信线路控制寄存器(LCRLCR)的)的 编程,设置发送数据字长为编程,设置发送数据字长为8 8位,位,2 2位停止位,位停止位, 偶校验,其程序段为:偶校验,其程序段为: MOV DXMOV DX,3FBH 3FBH ;LCRLCR的地

29、址的地址 MOV ALMOV AL, 00011111B 00011111B ;LCRLCR内容数内容数 ;据格式参数;据格式参数 OUT DXOUT DX,ALAL (4)通信线路状态寄存器LSR(3FDH) 0D6 D5 D4 D3D2D1 D0 为为1,表示发送移位寄存器空;,表示发送移位寄存器空; 当数据由发送保持寄存器移入当数据由发送保持寄存器移入 发送移位寄存器时,该位为发送移位寄存器时,该位为0 提供串行异步通信的当前状态提供串行异步通信的当前状态 供供CPU读取和处理读取和处理 为为1,表示发送保持寄存器空,表示发送保持寄存器空, 当当CPU将字符写入发送保持将字符写入发送保持

30、 寄存器后,该位为寄存器后,该位为0 为为1,表示正在传输中止字符,表示正在传输中止字符为为1,表示出现帧错误,表示出现帧错误为为1,表示出现奇偶错,表示出现奇偶错为为1,表示出现溢出错,表示出现溢出错为为1,表示接收数据缓冲器收到,表示接收数据缓冲器收到 一个数据,既接收数据准备好;一个数据,既接收数据准备好; 当当CPU读走数据后,该位为读走数据后,该位为0 为为1使使DTR*引脚为低引脚为低 否则为高否则为高 (5)MODEM控制寄存器MCR(3FCH) 设置设置8250与数据通信设备之间与数据通信设备之间 联络应答的输出信号联络应答的输出信号 0 0 0LOOP OUT2OUT1RTS

31、 DTR 为为1使使RTS*引脚为低引脚为低 否则为高否则为高 为为1使使OUT1*引脚为低引脚为低 否则为高否则为高 为为1使使OUT2*引脚为低引脚为低 否则为高否则为高 为为1使使8250为循环工作方式为循环工作方式 否则为正常工作方式否则为正常工作方式 例【例【8-148-14】要使】要使MCRMCR的的DTRDTR,RTSRTS有效,有效, OUTOUT1 1,OUTOUT2 2以及以及LOOPLOOP无效,则编程如下:无效,则编程如下: MOV DX,3FCH ;MCR的地址,的地址, MOV AL,00000011B ;MCR的控制字的控制字 OUT DX,AL 例【例【8-15

32、8-15】要对】要对82508250通过自发自收进行诊断,通过自发自收进行诊断, 则程序为则程序为: : MOV DX ,3FCH ;MCR的地址的地址 MOV AL,00010011B ;LOOP位置位置“1” OUT DX,AL (6)MODEM状态寄存器MSR(3FEH) n反映反映4个控制输入信号的当前状态及其变化个控制输入信号的当前状态及其变化 nMSR高高4位中某位为位中某位为1,说明相应输入信号当前,说明相应输入信号当前 为低有效,否则为高电平为低有效,否则为高电平 nMSR低低4位中某位为位中某位为1,则说明从上次,则说明从上次CPU读取读取 该状态字后,相应输入信号已发生改变

33、,从高变该状态字后,相应输入信号已发生改变,从高变 低或反之低或反之 nMCR低低4位任一位置位任一位置1,均产生调制解调器状态,均产生调制解调器状态 中断,当中断,当CPU读取该寄存器或复位后,低读取该寄存器或复位后,低4位被位被 清零清零 (7)中断允许寄存器IER (3F9H) n8250设计有设计有2个中断寄存器和个中断寄存器和4级中断级中断 n4级中断的优先权,是按照串行通信过程级中断的优先权,是按照串行通信过程 中事件的紧迫程度安排的、是固定不变的中事件的紧迫程度安排的、是固定不变的 n用户可利用中断允许或禁止进行控制用户可利用中断允许或禁止进行控制 n中断允许寄存器的低中断允许寄

34、存器的低4位控制位控制8250这这4级中级中 断是否被允许断是否被允许 n某位为某位为1,则对应的中断被允许,则对应的中断被允许 n否则,被禁止否则,被禁止 8. 中断识别IIR(3FAH) 保存正在请求中断的优先权最高保存正在请求中断的优先权最高 的中断级别编码的中断级别编码 0 0 0 0 0ID1 ID0IP 0 有中断有中断 1 无中断无中断 ID1ID0优先权优先权中断类型中断类型 1 1 1 0 0 1 0 0 1 2 3 4 接收线路状态接收线路状态 接收数据准备好接收数据准备好 发送保持寄存器空发送保持寄存器空 调制解调器状态调制解调器状态 2. 8250的内部结构 3. 82

35、50芯片引脚定义与功能 (1)面向CPU一侧的引脚(1) n数据线数据线D7 D0 :在:在CPU与与8250之间交换信息之间交换信息 n地址线地址线A0A2:寻址:寻址8250内部寄存器内部寄存器 n片选线:片选线:8250设计了设计了3个片选输入信号个片选输入信号CS0、 CS1、CS2*和一个片选输出信号和一个片选输出信号CSOUT。3个片个片 选输入都有效时,才选中选输入都有效时,才选中8250芯片,同时芯片,同时 CSOUT输出高电平有效。输出高电平有效。 n地址选通信号地址选通信号ADS*:当该信号低有效时,锁存:当该信号低有效时,锁存 上述地址线和片选线的输入状态,保证读写期间上

36、述地址线和片选线的输入状态,保证读写期间 的地址稳定的地址稳定 (1)处理器接口引脚(2) n读控制线读控制线 n数据输入选通数据输入选通DISTR(高有效)和(高有效)和DISTR*(低有效)(低有效) 有一个信号有效,有一个信号有效,CPU从从8250内部寄存器读出数据内部寄存器读出数据 n相当于相当于I/O读信号读信号 n写控制线写控制线 n数据输出选通数据输出选通DOSTR(高有效)和(高有效)和DOSTR*(低有(低有 效)有一个有效,效)有一个有效,CPU就将数据写入就将数据写入8250内部寄存器内部寄存器 n相当于相当于I/O写信号写信号 n8250读写控制信号有两对,每对信号作

37、用完全相读写控制信号有两对,每对信号作用完全相 同,只不过有效电平不同而己同,只不过有效电平不同而己 (1)处理器接口引脚(3) n驱动器禁止信号驱动器禁止信号DDIS:CPU从从8250读取数读取数 据时,据时,DDIS引脚输出低电平,用来禁止外引脚输出低电平,用来禁止外 部收发器对系统总线的驱动;其它时间,部收发器对系统总线的驱动;其它时间, DDIS为高电平为高电平 n主复位线主复位线MR:硬件复位信号:硬件复位信号RESET n中断请求线中断请求线INTRPT:8250有有4级共级共10个中个中 断源,当任一个未被屏蔽的中断源有请求断源,当任一个未被屏蔽的中断源有请求 时,时,INTR

38、PT输出高电平向输出高电平向CPU请求中断请求中断 (1) 输出线(4) nOUT1*和和OUT2*: n两个一般用途的输出信号两个一般用途的输出信号 n由调制解调器控制寄存器的由调制解调器控制寄存器的D2和和D3使其输出使其输出 低电平有效信号低电平有效信号 n复位使其恢复为高复位使其恢复为高 (2)面向外设引脚信号 8250 数据装置准备好数据装置准备好DSR* 数据终端准备好数据终端准备好DTR* 发送数据发送数据SOUT 接收数据接收数据SIN 请求发送请求发送RTS* 允许发送允许发送CTS* 信号地信号地GND 载波检测载波检测RLSD* 振铃指示振铃指示RI* (3)时钟信号 n

39、时钟输入引脚时钟输入引脚XTAL1:8250的基准工作时钟的基准工作时钟 n时钟输出引脚时钟输出引脚XTAL2:基准时钟信号的输出端基准时钟信号的输出端 n波特率输出引脚波特率输出引脚BAUDOUT*:基准时钟经:基准时钟经8250 内部波特率发生器分频后产生发送时钟内部波特率发生器分频后产生发送时钟 n接收时钟引脚接收时钟引脚RCLK:接收外部提供的接收时钟接收外部提供的接收时钟 信号;若采用发送时钟作为接收时钟,则只要将信号;若采用发送时钟作为接收时钟,则只要将 RCLK引脚和引脚和BAUDOUT*引脚直接相连引脚直接相连 3. 8250应用举例 写通信控制字写通信控制字D7=1 写除数低

40、写除数低8位位 写通信控制字写通信控制字 写除数高写除数高8位位 写写MODE控制字控制字 写中断允许字写中断允许字 结束结束 8250的初始化过程的初始化过程 例【例【8-178-17】82508250端口地址为端口地址为3F8H3F8H3FFH3FFH,若,若82508250以波特率以波特率 9600bps9600bps,进行异步通信,每字符,进行异步通信,每字符8 8位,位,1 1位停止位,采用奇位停止位,采用奇 校验,允许所有中断,试编程初始化。校验,允许所有中断,试编程初始化。 解:解:MOVMOV DXDX,3FBH3FBH;82508250控制寄存器地址送控制寄存器地址送DXDX

41、 MOV ALMOV AL,80H80H;置;置DLAB=1DLAB=1,设置除数寄存器,设置除数寄存器 OUT DXOUT DX,ALAL MOV DXMOV DX,3F8H 3F8H ;除数寄存器地址送;除数寄存器地址送DXDX MOV AL MOV AL,0CH0CH ;波特率为;波特率为9600bps 9600bps OUT DX OUT DX,ALAL ;送除数低;送除数低8 8位位 INC DXINC DX MOV ALMOV AL,00H00H ;送除数高;送除数高8 8位位 OUT DXOUT DX,ALAL MOVMOV DXDX,3FBH 3FBH ;82508250控制寄

42、存器地址送控制寄存器地址送DXDX MOV ALMOV AL,0BH 0BH ;8 8位数据,奇校验,位数据,奇校验,1 1位停止位位停止位 OUT DXOUT DX,AL AL MOVMOV DXDX,3F9H 3F9H ;中断允许寄存器地址送;中断允许寄存器地址送DXDX MOV ALMOV AL,0FH 0FH ;设置中断允许控制字,允许所有中断;设置中断允许控制字,允许所有中断 OUT DXOUT DX,AL AL MOVMOV DXDX,3FCH 3FCH ;设置;设置MODEMMODEM控制字控制字 MOV ALMOV AL,0FH0FH OUT DXOUT DX,AL AL ;O

43、UT1OUT1* *,OUT2,OUT2* *均为均为0 0 例【例【8-188-18】两台】两台PCPC机用机用RS-232CRS-232C串口采用零串口采用零MODEMMODEM方式方式 实现近距离串行通信。数据传送波特率为实现近距离串行通信。数据传送波特率为9600bps9600bps,数,数 据格式为据格式为8 8位位/ /每字符,每字符,1 1位停止位,奇校验,双机位停止位,奇校验,双机82508250 端口地址均为端口地址均为2F8H2F8H2FFH2FFH。试编写发送和接收程序,。试编写发送和接收程序, 其功能如下:其功能如下: 通信双方执行程序后,均等待键盘输入字符通信双方执行程序后,均等待键盘输入字符 双方只要按下一个键,键值在本机当前光标处显示,双方只要按下一个键,键值在本机当前光标处显示, 而且传送到对方,在对方当前光标处显示出来而且传送到对方,在对方当前光标处显示出来 双方只要按下双方只要按下ESCESC键,则停止程序的执行,返回到键,则停止程序的执行,返回到 DOSDOS状态状态 通信双方如果出现通信错误,则屏幕显示通信双方如果出现通信错误,则屏幕显

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论