微机原理与接口技术第9章.ppt

上传人:hyn****60 文档编号:88412111 上传时间:2023-04-26 格式:PPT 页数:30 大小:363.50KB
返回 下载 相关 举报
微机原理与接口技术第9章.ppt_第1页
第1页 / 共30页
微机原理与接口技术第9章.ppt_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《微机原理与接口技术第9章.ppt》由会员分享,可在线阅读,更多相关《微机原理与接口技术第9章.ppt(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第九章第九章串行通信与串行接口串行通信与串行接口【本章重点】【本章重点】本章重点介绍有关串行通信的基本概本章重点介绍有关串行通信的基本概念和串行通信接口的工作原理,并且进一念和串行通信接口的工作原理,并且进一步介绍了可编程通信接口步介绍了可编程通信接口Intel8251AIntel8251A的结的结构、特性、引脚及应用。构、特性、引脚及应用。【本章难点】【本章难点】本章难点在于对可编程串行接口芯片本章难点在于对可编程串行接口芯片82518251A A的特性、初始化和应用的掌握。的特性、初始化和应用的掌握。9.1 串行通信与串行接口基础串行通信与串行接口基础9.1.1串行通信串行通信是指数据一位

2、接一位的顺序传送,与并行通信相比它所需的传输线少,传送距离远,而且可以利用现有的通信线路。9.1.2串行接口1.串行接口的输入过程(1)数据通过串行数据输入端输入,串行接口接收到外设的串行数据后,通过控制寄存器和串行输入/并行输出移位寄存器变换为并行数据,同时送入数据输入寄存器暂存。图91 典型串行接口电路框图1.串行接口的输入过程(1)数据通过串行数据输入端输入,串行接口接收到外设的串行数据后,通过控制寄存器和串行输入/并行输出移位寄存器变换为并行数据,同时送入数据输入寄存器暂存。(2)接口向CPU发输入请求或CPU查询输入请求的状态允许后,CPU向接口发送读命令,通过控制逻辑读取数据输入寄

3、存器中的数据。数据传送到CPU内部寄存器后,完成一次串行输入。2.串行接口的输出过程(1)CPU向并行接口输出并行数据,当串行接口收到后,暂存至数据输出寄存器中。(2)通过控制寄存器和并行输入/串行输出移位寄存器变换为串行数据,通过发送串行数据端发送数据。外设收到此数据后完成一次串行输出。9.1.3串行通信线路的工作方式1.单工方式2.2.半双工方式3.3.全双工方式图92串行通信的连接方式9.1.4串行通信的数据收发方式 在串行通信中有两种基本的通信方式:即异步通信ASYNC和同步通信SYNC。1.串行异步通信ASYNC通信的双方进行异步串行通信时必须遵守异步串行通信控制规程,也称异步通信协

4、议,他的特点是通信双方以一个字符(包括特定附加位)作为数据传输单位。图9.3是异步通信时一个字符的标准数据格式。图93 异步通信的数据格式2.串行同步通信SYNC 串行同步通信是靠同步字符来完成收发双方同步的,与异步通信相比一个显著的特点是同步通信方式所用的数据格式没有起始位和停止位,一次传送的字符个数是可变的,但字符与字符间不允许有空隙。它的传输格式如图94所示。图94 同步通信数据格式 9.1.5 RS-232C串行接口标准串行接口标准 1.RS-232C接口概述RS-232C是美国电子工业协会在1969年公布的数据通信标准,应用于串行通信中,是计算机与计算机之间(或数据终端设备之间)、计

5、算机与调制解调器之间(或数据终端设备与数据通信设备之间)的串行二进制交换的标准接口。调制解调器(MODEM)是调制器和解调器的总称。图9-5 RS-232C电平和TTL电平的转换示意图2控制信号的定义RS-232C接口采用D型25针连接器,而微机中的两个串行接口COM1和COM2,使用的是D型9针连接器(9针引脚为IBM公司对RS-232C标准的缩减,且符合RS-232C标准)。表9-1给出了计算机通信中常用的RS-232C信号标准的引脚定义。25针引脚号9针引脚号名称传送方向表示方法功能23发送数据输出TXD数据送到调制解调器32接收数据输入RXD从调制解调器接收数据47请求发送输出半双工时

6、控制发送器的开关58允许发送输入调制解调器准备就绪66数据设备准备好输入调制解调器进入数据传送状态75信号地信号公共地GND接地81载波检测输入DCD调制解调器准备接收另一端的信号204数据终端准备好输出调制解调器准备发送数据229振铃指示输入RI测试到响铃信号表91 计算机串行通信中RS-232C信号的引脚定义9.2 可编程串行接口可编程串行接口Intel8251A 9.2.18251A芯片外部引脚和内部结构1Intel8251A芯片外部引脚图9-6 8251A芯片引脚 (1)8251A与CPU相连的引脚(如图控制线和数据线)(2)与外部设备/调制解调器连接的引脚(如图外设/调制解调器控制部

7、分)2.8251A的内部结构 8251A内部由5个主要部分组成:接收器、发送器、调制解调控制、读/写控制和系统数据总线缓冲器。图9-7 8251A的内部结构 数据总线缓冲器 数据总线缓冲器是CPU与8251A之间交换信息的通道。包括三个三态双向8位缓冲器,即状态缓冲器、接收数据缓冲器和发送数据缓冲器。接收器 8251A的接收器包括接收缓冲器和接收控制电路。串行数据通过RXD引脚输入,并按规定的格式把它转换为并行数据,存放到数据总线缓冲器中。发送器 8251A的发送器包括发送缓冲器和发送控制电路,CPU输出的并行数据,通过规定的格式各式转换成串行数据,从TXD引脚输出。调制控制 调制控制实现对M

8、ODEM的控制,8255A实现远距离串行通信时,数据输出端要经过调制器将数字信号转换成模拟信号,而数据接收端收到的是经过解调器传来的数字信号。读写控制逻辑用来控制整个8251A芯片的工作过程,以完成对数据信息、状态信息和控制信息的传输。9.2.28251A的控制字8251A的控制字命令包括:方式选择命令字和工作命令字(CPU发来的控制命令);工作状态字(向CPU送去的控制命令)。1.方式选择命令字图9-8 8251A的通信方式选择命令字格式 2.工作命令字图9-9 8251A的工作命令字 3.工作状态字 8251A工作过程中执行命令进行数据传输的工作状态字放在状态寄存器中,CPU通过IN指令读

9、控制/状态口操作工作状态字。图9-10 8251A的工作状态字9.3 8251A初始化编程及应用举例初始化编程及应用举例 9.3.18251A的初始化编程1.初始化编程步骤步骤一:8251A系统复位后,用OUT指令写入控制/状态端口方式选择命令字。规定双方的通信方式(同步/异步),数据格式(数据位和停止位长度、校验特征、同步字符特征)及传输速率(波特率系数)等参数。步骤二:如果8251A工作在同步方式,应由CPU执行OUT指令向控制/状态端口写入规定的1个或2个字节的同步字符。步骤三:不论同步方式还是异步方式(复位命令除外),均再由CPU执行OUT指令向控制/状态端口再写入工作命令字,控制82

10、51A允许发送/接收或复位。步骤四:CPU就可通过查询8251A的工作状态字内容或采用中断方式,进行正常的串行通信发送/接收工作。8251A初始化编程的操作过程可用流程图来描述,如图初始化编程的操作过程可用流程图来描述,如图9-11所示。所示。图9-11 8251A初始化流程图2初始化编程举例 【例91】8251A芯片工作在异步方式下,波特率系数为64,字符长度为8位,奇校验,1个停止位,清除出错标志位、请求发送、数据准备就绪,接受允许、发送允许、内部不用复位。设8251A的数据和控制/状态两个端口地址分别为020H和021H。初始化程序如下:MOVAL,01011111BOUT021H,AL

11、;设置方式选择命令字MOVAL,00110111BOUT021H,AL;设置工作命令字 【例92】8251A芯片工作在同步方式下,一个同步字符(外同步)、偶校验、字符长度8位,清除出错标志,允许发送和接收、使CPU已准备好且请求发送,要求内部复位,启动搜索同步字符,设同步字符为0CCH,8251A端口地址同上例。初始化程序段如下:MOVAL,01000000HOUT021H,AL;复位8251AMOVAL,11111100BOUT021H,AL;设置方式选择命令字MOVAL,0CCHOUT021H,AL;写入同步字符MOVAL,10110111BOUT021H,AL;设置工作命令字9.3.28

12、251A应用举例 利用8251A和RS232C实现两台微机之间的双机串行通信的结构框图如图9-12所示,这种双机通信在实际中应用得非常广泛。试编写完整的程序完成利用8251A双机通信将一组数据从发送机传送到接收机。(要求通过发送器A把数据09传送到接收机B中,采用异步方式,字符长度为8位,波特系数为16,偶校验,一位停止位)图9-12 8251A双机通讯结构框初始化程序由初始化发送器A和初始化接收器B两部分组成。使用查询方式,双方采用半双工通信,所以发送器A的初始化程序中CPU每查询到TXRDY有效(高电平),便向8251A并行输出一个字节数据;接收器B的初始化程序中CPU每查询到RXRDY有

13、效(高电平),则从8251A并行输入一个字节数据。设8251A端口地址为0FF80H、0FF81H,具体程序如下:STACKSEGMENTSTACKDW64DUP(?)STACKENDSDATASEGMENTDATAXDB0123456789DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,STACK;段寄存器的装入MOVSS,AXMOVAX,DATAMOVDS,AXLEASI,DATAX;设置发送区的首址1.发送器A的初始化程序MOVDX,0FF81H;8251A控制器端口地址MOVAL,00HOUTDX,AL;输出空操

14、作MOVAL,40HOUTDX,AL;8251A内部复位NOP;空操作NOPMOVAL,7EH;定义发送器为异步方式,8位数据,OUTDX,AL;波特系数为16,偶校验,1位停止位MOVAL,11H;允许发送,清除错误标志OUTDX,AL;设置计数值为10MOVCX,000AHA1:MOVDX,0FF81H;读8251A的状态字INAL,DXHANDAL,01H;查询TXRDY是否有效JZA1;无效,继续查询MOVAL,DI;有效,向数据端口输出一个字符MOVDX,0FF80HOUTDX,ALINCSI;SI指向下一个发送字符LOOPA1;CX0,继续发送MOVAH,4CH;发送完毕,返回DO

15、SINT21HCODEENDSENDSTART2.接收器B的初始化程序STACKSEGMENTSTACKDW64DUP(?)STACKENDSDATASEGMENTDATAYDB10DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASS:STACK2START:MOVAX,STACK;段寄存器的装入MOVSS,AXMOVAX,DATAMOVDS,AXLEADI,DATAY;设置接收区首址MOVDX,0FF81H;8251A控制器端口地址MOVAL,00HOUTDX,AL;输出空操作MOVAL,40HOUTDX,AL;8251A内部复位NOP;空操作NOPMOVAL,7EH;定义接收器为异步方式,8位数据OUTDX,AL;波特系数为16,偶校验,1位停止位MOVAL,14H;允许接收,清除错误标志OUTDX,ALMOVCX,000AH;设置计数值为10A2:MOVDX,0FF81H;读8251A的状态字INAL,DXANDAL,02H;查询RXRDY是否有效JZA2;无效,继续查询MOVDX,0FF80H;有效,向数据端口输入一个字符INAL,DXMOVDI,ALINCDI;DI指向下一个接收字符区LOOPA2;CX0,继续发送MOVAH,4CH;接收完毕,返回DOSINT21HCODEENDSENDSTART本章到此结束本章到此结束

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁