《串行通信及接口电路精选PPT.ppt》由会员分享,可在线阅读,更多相关《串行通信及接口电路精选PPT.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、串行通信及接口电路串行通信及接口电路第1页,此课件共49页哦 串行通信串行通信11.1 Intel 8251A Intel 8251A可编程通信接口可编程通信接口11.2第2页,此课件共49页哦11.1 11.1 串行通信串行通信11.1.1 11.1.1 概述概述CPUCPU和外设之间通信形式:和外设之间通信形式:CPUCPU与外部的信息交换称为通信与外部的信息交换称为通信(Communication)(Communication)。基本的通信方式有两种基本的通信方式有两种:并行通信并行通信数据的各位同时传送;数据的各位同时传送;串行通信串行通信数据一位一位顺序传送。数据一位一位顺序传送。异
2、步通信异步通信 同步通信同步通信 第3页,此课件共49页哦并行通信与串行通信方式并行通信与串行通信方式第4页,此课件共49页哦1 1 1 1、串行通信中使用的术语:、串行通信中使用的术语:、串行通信中使用的术语:、串行通信中使用的术语:(1 1)发送时钟和接收时钟:)发送时钟和接收时钟:二进制数据序列在传输线上是以二进制数据序列在传输线上是以数数字信号字信号形式出现,即高电平表示二进制数形式出现,即高电平表示二进制数1 1,低电平表示二,低电平表示二进制数进制数0 0。而且。而且每一位持续的时间是固定每一位持续的时间是固定的。的。在发送时是以发送时钟作为数据位的划分界限。在发送时是以发送时钟作
3、为数据位的划分界限。在接收时是以接收时钟作为数据位的检测。在接收时是以接收时钟作为数据位的检测。发送时钟发送时钟:并行的数据序列送到移位寄存器,由发送时钟触发进:并行的数据序列送到移位寄存器,由发送时钟触发进行移位输出,数据位的时间间隔由发送时钟周期划分。行移位输出,数据位的时间间隔由发送时钟周期划分。接收时钟:接收时钟:接收时钟作为移位寄存器的触发脉冲将串行数据接收时钟作为移位寄存器的触发脉冲将串行数据逐位打入移位寄存器,转换成并行数据。逐位打入移位寄存器,转换成并行数据。第5页,此课件共49页哦(2 2)DTEDTE和和DSEDSE 数据终端设备(数据终端设备(DTEDTE):是对属于用户
4、所有联网设备和工作站的是对属于用户所有联网设备和工作站的统称。统称。数据装置(数据装置(DSEDSE):是对网络设备的统称,该设备为用户设是对网络设备的统称,该设备为用户设备提供人网的连接点。备提供人网的连接点。自动呼叫应答设备,调制解调和其自动呼叫应答设备,调制解调和其他一些中间设备均属他一些中间设备均属DSEDSE。信道:信道:是传输信息所经过的路径,是连接是传输信息所经过的路径,是连接2个个DTEDTE的线路的线路。它包括传输介质和有关的中间设备。它包括传输介质和有关的中间设备。DTE数据终数据终端设备端设备DTE数据终数据终端设备端设备DSEDSE信道信道第6页,此课件共49页哦 2.
5、2.同步通信与异步通信同步通信与异步通信(1 1)非同步非同步(异步异步)通信通信ASYNC(Asynchronous DataASYNC(Asynchronous DataCommunication)Communication)用用一个起始位一个起始位表示字符的开始,用表示字符的开始,用停止位停止位表示字符的结束。表示字符的结束。一帧:一帧:从起始位开始到停止位结束的时间。从起始位开始到停止位结束的时间。异步帧格式:异步帧格式:起始位(起始位(1 1位)位)+数据位(数据位(5858位)位)+奇偶校验位(无奇偶校验位(无/1/1位)位)+停止位(停止位(1 1、1.51.5或或2 2位)位)
6、一个字符:一个字符:一帧。一帧。如:一位起始位,如:一位起始位,7 7位数据位,位数据位,1 1位奇偶校验位,一位停止位;则一位奇偶校验位,一位停止位;则一个字符(一帧)由个字符(一帧)由1010个二进制位组成。个二进制位组成。第7页,此课件共49页哦 异步通信格式异步通信格式第8页,此课件共49页哦 在异步通信时,在在异步通信时,在CPUCPU与外设之间必须有三项规定:与外设之间必须有三项规定:字符格式:字符格式:字符的编码形式、奇偶校验形式、起始位和停止位的字符的编码形式、奇偶校验形式、起始位和停止位的规定。规定。例如:例如:用用ASCIIASCII编码,字符为编码,字符为7 7位,加一位
7、奇偶校验位,一位起始位,加一位奇偶校验位,一位起始位,以及一位停止位,共位,以及一位停止位,共1010位。位。数据信号传送速率:数据信号传送速率:每秒传送的每秒传送的字符个数字符个数。波特率:波特率:每秒传送的每秒传送的二进制位数二进制位数。(单位:。(单位:bpsbps)波特率标准系列:波特率标准系列:110110,300300,600600,12001200,18001800,24002400,48004800,96009600,14.4K,19.2K,28.8K,33.6K,56Kbps14.4K,19.2K,28.8K,33.6K,56Kbps第9页,此课件共49页哦 异步通信特点:异
8、步通信特点:传送速度慢,发送端和接收端的时钟传送速度慢,发送端和接收端的时钟可以独立,发送和接收同步处理简单,适合远距离传输。可以独立,发送和接收同步处理简单,适合远距离传输。波特率和信号传送速率的关系:波特率和信号传送速率的关系:例如:数据信号传送的速率是例如:数据信号传送的速率是120120字符字符/秒,而每一字符包含秒,而每一字符包含1010个数据个数据位,则每秒传送的二进制位数位,则每秒传送的二进制位数(常称为常称为bpsbps,波特率波特率)为:为:波特率:波特率:10120=1200(10120=1200(位位/秒秒)=1200(bps)=1200(bps)每一位的传送时间即为:每
9、一位的传送时间即为:Td=1/1200=0.833(ms)Td=1/1200=0.833(ms)波特率和收、发时钟的关系:波特率因子波特率和收、发时钟的关系:波特率因子b/s/s =收收/发时钟发时钟nn:叫波特率因子叫波特率因子(可取可取 1,16,64)第10页,此课件共49页哦波特率因子波特率因子n=16时,对数据的采样时,对数据的采样在异步通信方式进行通信时,在异步通信方式进行通信时,在异步通信方式进行通信时,在异步通信方式进行通信时,发送端发送端发送端发送端需要用时钟来决定每需要用时钟来决定每需要用时钟来决定每需要用时钟来决定每1 1位对应的时间长度,位对应的时间长度,位对应的时间长
10、度,位对应的时间长度,接收端接收端接收端接收端也需要用一个时钟来测定每也需要用一个时钟来测定每也需要用一个时钟来测定每也需要用一个时钟来测定每1 1位的时间长度,前一个时钟叫位的时间长度,前一个时钟叫位的时间长度,前一个时钟叫位的时间长度,前一个时钟叫发送时钟发送时钟发送时钟发送时钟,后一个时钟叫后一个时钟叫后一个时钟叫后一个时钟叫接收时钟接收时钟接收时钟接收时钟。这两个时钟的频率可以是波特率的数倍,一般取这两个时钟的频率可以是波特率的数倍,一般取这两个时钟的频率可以是波特率的数倍,一般取这两个时钟的频率可以是波特率的数倍,一般取1616倍、倍、倍、倍、3232倍或倍或倍或倍或6464倍。这个
11、倍。这个倍。这个倍。这个倍数就称为倍数就称为倍数就称为倍数就称为波特率因子波特率因子波特率因子波特率因子。第11页,此课件共49页哦同步通信特点:同步通信特点:传送速度快,发送端和接收端传送速度快,发送端和接收端必须使用同一个必须使用同一个同步时钟信号同步时钟信号,发送和接收同步处理复杂。适合近距离传输。,发送和接收同步处理复杂。适合近距离传输。计算机到计算机之间的通信。计算机到计算机之间的通信。计算机到计算机到CRT/外设之间的通信等。外设之间的通信等。(2)同步通信同步通信在数据块开始处用同步字符来指示开始传送数据。在数据块开始处用同步字符来指示开始传送数据。同步帧格式:同步帧格式:同步字
12、符同步字符+【同步字符】【同步字符】+字符块字符块+校验符串校验符串第12页,此课件共49页哦 3.3.异步通信时数据传送方向异步通信时数据传送方向单工通信:单工通信:两个设备之间只有两个设备之间只有一条通信通道一条通信通道,一个设备固定,一个设备固定发送,一个设备固定接收。发送,一个设备固定接收。半双工通信:半双工通信:两个设备之间只有两个设备之间只有一条通信通道一条通信通道,可以由,可以由A设设备发送备发送B设备接收,也可以由设备接收,也可以由B设备发送,设备发送,A设备接收。设备接收。全双工通信:全双工通信:两个设备之间有两个设备之间有两条通信通道两条通信通道,可以同时双向通信。,可以同
13、时双向通信。第13页,此课件共49页哦 4.4.信号的调制和解调信号的调制和解调计算机通信是一种数字信号的通信,如图计算机通信是一种数字信号的通信,如图11-7所示。所示。RS 232C接口接口RS 232C接口接口第14页,此课件共49页哦 FSK(频移键控)调制法原理(频移键控)调制法原理第15页,此课件共49页哦 5.5.串行串行I/OI/O的实现的实现并行转串行:并行转串行:当数据由计算机送当数据由计算机送至数据终端时,先要把并行的数至数据终端时,先要把并行的数据转换为串行的再传送;据转换为串行的再传送;串行转并行:串行转并行:在计算机接收在计算机接收由终端送来的数据时,先要由终端送来
14、的数据时,先要把串行的数据转换为并行的把串行的数据转换为并行的数据。数据。这样的转换可以这样的转换可以用软件用软件也可也可以以用硬件用硬件实现。实现。第16页,此课件共49页哦 6.6.串行通信的校验方法串行通信的校验方法 串行通信主要适用于远距离通信,因而噪声和干扰较大,需串行通信主要适用于远距离通信,因而噪声和干扰较大,需要由校验环节。要由校验环节。常用的校验方法有:常用的校验方法有:奇偶校验,循环冗余校验奇偶校验,循环冗余校验CRC(Cyclic CRC(Cyclic Redundancy Check)Redundancy Check)等。等。(1)(1)奇偶校验奇偶校验奇偶校验这种校验
15、方法主要用于奇偶校验这种校验方法主要用于对一个字符的传送过程对一个字符的传送过程进行校验。进行校验。在发送时,在每一个字符的最高位之后在发送时,在每一个字符的最高位之后(发送总是最低有发送总是最低有效位效位D0D0先发送先发送)都附加一个奇偶校验位,这个校验位本身有可都附加一个奇偶校验位,这个校验位本身有可能是能是“1”“1”或或“0”“0”,加上这个校验位,使所发送的任何字符中,加上这个校验位,使所发送的任何字符中的的“1”“1”的个数始终为奇数的个数始终为奇数奇校验,或偶数奇校验,或偶数偶校验。偶校验。第17页,此课件共49页哦接收时,检查所接收的字符连同这个奇偶校验位,其为接收时,检查所
16、接收的字符连同这个奇偶校验位,其为“1”“1”的的个数是否符合规定,若不符合规定就置出错标志,供个数是否符合规定,若不符合规定就置出错标志,供CPUCPU查询及查询及处理。处理。奇偶校验位的产生和检验,可用奇偶校验位的产生和检验,可用软件软件或或硬件硬件的方法实现。的方法实现。(2)(2)循环冗余校验(循环冗余校验(CRCCRC校验)校验)发送方利用编码理论,对传送的串行二进制码序列,发送方利用编码理论,对传送的串行二进制码序列,以一定规则产生一些校验码,并将校验码放在二进制码之以一定规则产生一些校验码,并将校验码放在二进制码之后,形成符合一定规则的新的二进制码序列(编码),并后,形成符合一定
17、规则的新的二进制码序列(编码),并将新的二进制码序列发送出去;将新的二进制码序列发送出去;接受方根据信息与校验码之间所符合的规则进行检测接受方根据信息与校验码之间所符合的规则进行检测(译码),从而检测出传送过程中是否有错。(译码),从而检测出传送过程中是否有错。第18页,此课件共49页哦11.1.2 11.1.2 串行接口标准串行接口标准EIA RS-232CEIA RS-232C接口接口EIA(Electronics Industries EIA(Electronics Industries Association)RS(Recommended Standard)-232CAssociati
18、on)RS(Recommended Standard)-232C是目前最常用是目前最常用的一种串行通信接口。的一种串行通信接口。第19页,此课件共49页哦现在的台式现在的台式现在的台式现在的台式PCPCPCPC机一般有两个机一般有两个机一般有两个机一般有两个RSRSRSRS232232232232串行口串行口串行口串行口COM1COM1COM1COM1和和和和COM2COM2COM2COM2,通常通常通常通常COM1COM1COM1COM1使用的是使用的是使用的是使用的是9 9 9 9针针针针D D D D形连接器,而形连接器,而形连接器,而形连接器,而COM2COM2COM2COM2使用的是
19、老式使用的是老式使用的是老式使用的是老式的的的的DB25DB25DB25DB25针连接器针连接器针连接器针连接器第20页,此课件共49页哦 数据线:发送数据:数据线:发送数据:TxDTxD 接受数据:接受数据:RxDRxD地线:地线:联络控制线:联络控制线:请求发送请求发送RTS#(Request To Send)RTS#(Request To Send)准许发送准许发送CTS#(Clear To SendCTS#(Clear To Send)数据终端准备好数据终端准备好DTR#(Data TerminalDTR#(Data Terminal ReadyReady)数据装置准备好数据装置准备好
20、DST#(Data Set ReadyDST#(Data Set Ready)载波检测载波检测CD#CD#(Carried DetectCarried Detect)振铃信号振铃信号RIRI1、RS-232C常用引脚:常用引脚:第21页,此课件共49页哦 RS-232CRS-232C对各种信号的规定如下:对各种信号的规定如下:(1)(1)在在TxDTxD和和RxDRxD线上线上MARK(MARK(即表示为逻辑即表示为逻辑1)=-3V-25V1)=-3V-25VSPACE(SPACE(即表示为逻辑即表示为逻辑0)=+3V+25V0)=+3V+25V(2)(2)在在RTS#RTS#、CTS#CTS
21、#、DSR#DSR#、DTR#DTR#、CD#CD#等线上:等线上:ON=+3V ON=+3V+25V+25VOFF=-3VOFF=-3V-25V-25V2、RS-232C信号的电气性能:信号的电气性能:第22页,此课件共49页哦 (3 3)TTLTTL电平和电平和RS-232CRS-232C电平转换电平转换MC1488:MC1488:能实现从能实现从TTLRS-232C(TTLRS-232C(发送器发送器)MC1489:MC1489:能实现从能实现从RS-232CTTL(RS-232CTTL(接收器接收器)的器件,的器件,第23页,此课件共49页哦 计算机与远程终端和当地终端连接示意图计算机
22、与远程终端和当地终端连接示意图第24页,此课件共49页哦11.2 Intel 8251A11.2 Intel 8251A可编程通信接口可编程通信接口 11.2.1 825111.2.1 8251的基本功能的基本功能 (1)(1)可用于同步和异步传送。可用于同步和异步传送。(2)(2)同步传送:同步传送:5 58 8位位/字符,内部或外部同步,可自动插字符,内部或外部同步,可自动插入同步字符。入同步字符。(3)(3)异步传送:异步传送:5 58 8位位/字符,时钟速率为通信波特率的字符,时钟速率为通信波特率的1 1、1616或或6464倍。倍。(4)(4)可产生中止字符可产生中止字符(Break
23、 Character)(Break Character);可产生可产生1 1、1.51.5或或2 2位的停止位。可检查假启动位,自动检测位的停止位。可检查假启动位,自动检测和处理中止字符。和处理中止字符。(5)(5)波特率:波特率:DC19.2K(DC19.2K(异步异步);DC64K(DC64K(同步同步)。(6)(6)完全双工,双缓冲器发送器和接收器。完全双工,双缓冲器发送器和接收器。(7)(7)出错检测:具有奇偶、溢出和帧错误等检测电路出错检测:具有奇偶、溢出和帧错误等检测电路。第25页,此课件共49页哦 11.2.2 8251 11.2.2 8251的方框图的方框图整个整个825182
24、51可以分成可以分成5 5个主要部分:个主要部分:接收器:接收器:接受移位寄存器和接收数据寄存器接受移位寄存器和接收数据寄存器发送器:发送器:发送数据寄存器和发送移位寄存器发送数据寄存器和发送移位寄存器调制控制:调制控制:与与MODEMMODEM连接部分连接部分读写控制读写控制:C/D#C/D#、RD#RD#、WR#WR#、CS#CS#等等I/OI/O缓冲器:缓冲器:状态缓冲器、发送数据状态缓冲器、发送数据/命令缓冲器和接收数命令缓冲器和接收数据缓冲器。据缓冲器。82518251的内部由内部数据总线实现相互之间的通信。的内部由内部数据总线实现相互之间的通信。第26页,此课件共49页哦8251方
25、框图方框图第27页,此课件共49页哦 发送缓冲器发送缓冲器接收缓冲器接收缓冲器并串变换寄存器并串变换寄存器串并变换寄存器串并变换寄存器.通信线路通信线路C P U发送数据发送数据C P U接收数据接收数据.发送发送时钟时钟接收接收时钟时钟接收接收控制控制接收接收控制控制发送器发送器接收器接收器第28页,此课件共49页哦1 1发送器发送器 a.数据输出线数据输出线TxD b.发送时钟发送时钟 TxC c.发送器准备好发送器准备好 TxRDY d.发送器空信号发送器空信号 TxEMPY 过程:过程:TxRDY有效有效CPU写数据到写数据到82518251发数据发数据 发送完毕,发送完毕,TxEMP
26、Y有效有效2 2接收器接收器 a.数据输入线数据输入线RxD b.接收时钟接收时钟 RxC c.接收器准备好接收器准备好 RxRDY 过程过程 8251收数据收数据 RxRDY有效有效 CPU读读8251第29页,此课件共49页哦3 3调制解调控制电路调制解调控制电路DTR#DTR#数据数据终端准端准备好信号。是由好信号。是由825IA825IA送往外送往外设的,表示的,表示CPUCPU当前已当前已经准准备就就绪。DSR#DSR#数据数据设备准准备好。是外好。是外设送往送往825lA825lA的,表示当前外的,表示当前外设已已经准准备好数据。好数据。8251ModemDTR#DTR#DSR#D
27、SR#RTS#RTS#请求发送信号。请求发送信号。是是8251A8251A送往外设的,表送往外设的,表示示CPUCPU已经准备好发送。已经准备好发送。CTS#CTS#清除请求发送信清除请求发送信号。由外设送往号。由外设送往825lA825lA的,的,当为低电平时,允许当为低电平时,允许825lA825lA执行发送操作。执行发送操作。RTS#RTS#CTS#CTS#第30页,此课件共49页哦第31页,此课件共49页哦 3.I/O3.I/O控制控制 读读/写控制逻辑对写控制逻辑对CPUCPU输出的控制信号进行译码以实现读输出的控制信号进行译码以实现读/写功能。写功能。CS#=0,C/D#=0:CS
28、#=0,C/D#=0:实现从实现从82518251读、写数据。读、写数据。(数据端口地址数据端口地址A0=0A0=0)CS#=0,C/D#=1:CS#=0,C/D#=1:实现读实现读82518251的状态字的状态字,向向82518251写入方式控制字和写入方式控制字和命令控制字。命令控制字。(控制端口地址控制端口地址A0=1)A0=1)第32页,此课件共49页哦 11.2.3 8251 11.2.3 8251的接口信号的接口信号 82518251是用来作为是用来作为CPUCPU与外设或调制解调器之间的接口,所以与外设或调制解调器之间的接口,所以它的接口信号可以分为两组:它的接口信号可以分为两组
29、:一组为一组为与与CPUCPU接口接口的信号的信号:DB7:DB7DB0DB0、CLKCLK、CS#CS#、C/D#C/D#、TxRDYTxRDY、TxETxE、RxRDYRxRDY、SYNDETSYNDET一组为一组为与外设与外设(或调制解调器或调制解调器)接口接口的信号的信号:DTR#DTR#、DSR#DSR#、RTS#RTS#、CTS#CTS#、RxC#RxC#、RxD#RxD#、TxC#TxC#、TxD#TxD#第33页,此课件共49页哦第34页,此课件共49页哦 11.2.4 8251 11.2.4 8251的编程的编程初始化编程初始化编程读读82518251的状态寄存器的状态寄存器
30、 82518251是一个可编程的多功能通信接口。在具体使用时必须是一个可编程的多功能通信接口。在具体使用时必须对它进行初始化编程,以确定它的具体工作方式。对它进行初始化编程,以确定它的具体工作方式。初始化编程包括:设置方式选择字初始化编程包括:设置方式选择字 (设置同步字符)(设置同步字符)设置命令字设置命令字例如:例如:规定工作于同步还是异步方式;传送的波特率;规定工作于同步还是异步方式;传送的波特率;字符格式等。字符格式等。注:写方式选择字和命令字时,注:写方式选择字和命令字时,C/D#C/D#端为端为“1”“1”第35页,此课件共49页哦 第36页,此课件共49页哦 1.1.方式选择字(
31、写入控制口方式选择字(写入控制口C/D#=1)C/D#=1)时钟频率波特率因子时钟频率波特率因子波特率波特率第37页,此课件共49页哦 2.2.命令字:命令字:在输入同步字符后在输入同步字符后,或在异步方式时,在方式选择指令后或在异步方式时,在方式选择指令后应由应由CPUCPU输出命令字。输出命令字。(写入控制口(写入控制口C/D#=1)C/D#=1)第38页,此课件共49页哦方式选择指令方式选择指令是规定是规定82518251的工作方式;的工作方式;命令字直接命令字直接使使82518251处于规定的工作状态,准备接收或发送数据。处于规定的工作状态,准备接收或发送数据。3.3.状态寄存器状态寄
32、存器(读控制口,读控制口,C/D#=1 C/D#=1)82518251上还有状态寄存器,上还有状态寄存器,CPUCPU可通过可通过I/OI/O读操作把读操作把82518251的状的状态字读入态字读入CPUCPU,用以控制,用以控制CPUCPU与与8251 8251 之间的数据交换。之间的数据交换。注:读状态字时,注:读状态字时,C/D#C/D#端为端为“1”“1”第39页,此课件共49页哦第40页,此课件共49页哦例:例:例:例:8251A8251A8251A8251A接收数据,异步传送,波特率因子接收数据,异步传送,波特率因子接收数据,异步传送,波特率因子接收数据,异步传送,波特率因子646
33、46464,采用偶校验,采用偶校验,采用偶校验,采用偶校验,2 2 2 2位停止位,位停止位,位停止位,位停止位,6 6 6 6位数据(数据端口地址位数据(数据端口地址位数据(数据端口地址位数据(数据端口地址880H880H880H880H,控制端口地址,控制端口地址,控制端口地址,控制端口地址881H)881H)881H)881H)方式控制字:方式控制字:11110111B命令字:命令字:00010100BMOVDX,881HMOVAL,0F7HOUTDX,ALMOVAL,14HOUTDX,ALNEXT:INAL,DX ANDAL,02H JZNEXT MOVDX,880H INAL,DX第
34、41页,此课件共49页哦例:例:例:例:8251A8251A8251A8251A发送数据,异步传送,波特率因子发送数据,异步传送,波特率因子发送数据,异步传送,波特率因子发送数据,异步传送,波特率因子64646464,采用偶校验,采用偶校验,采用偶校验,采用偶校验,2 2 2 2位停止位,位停止位,位停止位,位停止位,6 6 6 6位数据(数据端口地址位数据(数据端口地址位数据(数据端口地址位数据(数据端口地址880H880H880H880H,控制端口地址,控制端口地址,控制端口地址,控制端口地址881H)881H)881H)881H)方式控制字:方式控制字:11110111B命令字:命令字:
35、00110001BMOVDX,881HMOVAL,0F7HOUTDX,ALMOVAL,31HOUTDX,ALNEXT:INAL,DX ANDAL,01H JZNEXT MOVDX,880H MOVAL,SI OUTAL,DX第42页,此课件共49页哦 11.2.5 8251 11.2.5 8251应用举例应用举例1.1.要求要求在在A A、B B两台微机之间进行串行通信,两台微机之间进行串行通信,A A机发送,机发送,B B机接收。机接收。要求把要求把A A机上开发的应用程序机上开发的应用程序(其长度为其长度为2DH)2DH)传送到传送到B B机中去。机中去。采用异步方式采用异步方式,字符长度
36、为,字符长度为8 8位,位,2 2个停止位,波特率因子为个停止位,波特率因子为6464,无校验,波特率为无校验,波特率为48004800。CPUCPU与与82518251之间采用之间采用查询方式交换数据查询方式交换数据。端口地址分配端口地址分配是:是:命令命令/状态口为状态口为309H309H,数据口为,数据口为308H308H。2.2.分析分析:近距离传输,可以不用近距离传输,可以不用MODEMMODEM,而,而直接互连直接互连。采用查询方式,接收采用查询方式,接收/发送程序中发送程序中只需要检查发送只需要检查发送/接收的准备好状接收的准备好状态位态位是否置位,在准备好时就发送或者接收一个字
37、节。是否置位,在准备好时就发送或者接收一个字节。第43页,此课件共49页哦 3.3.设计设计(1)(1)硬件连接硬件连接 第44页,此课件共49页哦 (2)(2)软件编程软件编程接收程序和发送程序分开编写,每个程序段中包括接收程序和发送程序分开编写,每个程序段中包括8251A8251A初始初始化、命令字、状态查询和输入输出几部分。化、命令字、状态查询和输入输出几部分。第45页,此课件共49页哦 发送程序发送程序(略去堆栈略去堆栈STACKSTACK和数据和数据DATADATA段段)CSEGCSEG SEGMENT SEGMENTASSUMEASSUME CS CS:CSEGCSEGTRATRA
38、 PROC PROCFARFARSTARTSTART:MOV MOVDXDX,309H 309H ;控制口地址;控制口地址 MOV MOVALAL,00H00H OUT OUTDXDX,ALAL MOV MOVALAL,40H 40H ;内部复位;内部复位 OUT OUTDXDX,ALAL NOP NOP MOV MOVALAL,0CFH 0CFH ;方式字;方式字(异步、异步、2 2个停止位、字符长度个停止位、字符长度 OUT OUTDXDX,AL AL ;为;为8 8位,无校验,波特率因子为位,无校验,波特率因子为64)64)MOV MOVALAL,37H 37H ;命令字;命令字(RTS
39、#(RTS#、RRRR、RxERxE、DTR#DTR#和和TxENTxEN置置“1”)“1”)OUT OUTDXDX,AL AL 第46页,此课件共49页哦 MOVMOVCXCX,2DH 2DH ;传送字节数;传送字节数 MOVMOVSISI,300H 300H ;发送区首地址;发送区首地址L1L1:MOVMOVDXDX,309H 309H ;状态口地址;状态口地址ININALAL,DX DX ;输入状态;输入状态TESTTESTALAL,38H 38H ;检查三个出错标志位;检查三个出错标志位JNZJNZERR ERR ;有错,转出错处理;有错,转出错处理ANDANDALAL,01H01HJ
40、ZJZL1 L1 ;发送未准备好,则等待;发送未准备好,则等待MOVMOVDXDX,308H 308H ;数据口地址;数据口地址MOVMOVALAL,SISI ;取发送数据;取发送数据OUTOUTDXDX,AL AL ;输出;输出INCINCSISIDECDECCXCXJNZJNZL1 L1 ;未发送完,循环;未发送完,循环ERRERR:(略略)MOVMOVAXAX,4C00H4C00HINTINT21H 21H ;发送完则返回;发送完则返回DOSDOS TRA TRAENDPENDP CSEG CSEGENDSENDSENDENDSTART START 第47页,此课件共49页哦 接收程序接
41、收程序(略去堆栈略去堆栈STACK和数据和数据DATA段段)CSEG CSEG SEGMENT SEGMENT ASSUME ASSUME CS CS:CSEGCSEGRECREC PROC PROCFARFARBEGINBEGIN:MOV MOVDXDX,309H309H MOV MOV ALAL,00H 00H ;空操作;空操作 OUT OUTDXDX,ALAL MOV MOVALAL,50H 50H ;内部复位;内部复位 OUT OUTDXDX,ALAL NOP NOP MOV MOVALAL,0CFH 0CFH ;方式控制字;方式控制字 OUT OUTDXDX,ALAL MOV MOV
42、ALAL,16H 16H ;命令字;命令字(ER(ER、RxERxE、DTRDTR置位置位)OUT OUTDXDX,AL AL 第48页,此课件共49页哦MOVMOVCXCX,2DH 2DH ;置字节数;置字节数MOVMOVDIDI,400H 400H ;接收区首地址;接收区首地址L2L2:MOVMOVDXDX,309H 309H ;状态口地址;状态口地址ININALAL,DX DX ;输入状态;输入状态TESTTESTALAL,38H 38H ;有错误吗;有错误吗JNZJNZERR ERR ;有错,转至出错处理程序;有错,转至出错处理程序ANDANDALAL,02H 02H ;接收准备好吗;接收准备好吗JZJZL2 L2 ;未准备好则等待;未准备好则等待MOVMOVDXDX,308H 308H ;数据口地址;数据口地址ININALAL,DX DX ;输入数据;输入数据MOVMOVDIDI,AL AL ;存入接收缓冲区;存入接收缓冲区INCINCDIDIDECDECCXCXLOOPLOOPL2 L2 ;未接收完,循环;未接收完,循环ERRERR:(略略)MOVMOVAXAX,4C00H4C00HINTINT21H 21H ;接收完则返回;接收完则返回DOSDOSRECRECNDPNDPCSEGCSEGENDSENDSENDENDBEGINBEGIN第49页,此课件共49页哦