书签 分享 收藏 举报 版权申诉 / 82
上传文档赚钱

类型[计算机软件及应用]项目五、串行通信应用课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3369406
  • 上传时间:2022-08-24
  • 格式:PPT
  • 页数:82
  • 大小:1.32MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《[计算机软件及应用]项目五、串行通信应用课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    计算机软件及应用 计算机软件 应用 项目 串行 通信 课件
    资源描述:

    1、项目五、串行通信应用项目五、串行通信应用项目五、串行通信应用 任务任务1.1.双机通信双机通信 能力目标能力目标1.能用查询方式进行串口通信2.能用中断方式进行串口通信3.能进行双机通信电路综合调试学习内容学习内容1.串行通信的通信方式2.双机通信的实现一、任务要求系统中有甲、乙两个单片机系统,在每个单片机的P1.0和P1.1口均有两个按键,其中按下P1.0键时数字增加,按下P1.1键时数字减小,甲单片机的TXD引脚和乙单片机的RXD相连同时乙单片机的TXD引脚和甲单片机的RXD相接,甲、乙两个单片机的P2口均接了一个共阴数码管,设两个单片机采用方式1的异步通信方式进行通信,甲单片机上的两个按

    2、键可以控制乙单片机上数码管进行“0”到“9”之间的正反计数,同样乙单片机上的两个按键可以控制甲单片机上数码管进行“0”到“9”之间的正反计数,设初始状态两个数码管均显示“0”,通信波特率约定为9600bps。二、任务分析 通过任务要求可以得知,甲乙两个单片机系统均具有接收和发送功能,可通过查询的方式知道甲单片机系统的按钮按下的是“计数增加”还是“计数减少”的按钮。三、学习知识(一)串行通信的数据传送1、了解串行通信 计算机1计算机2或外设GNDGND计算机1计算机2或外设GNDGND发送接收(a)(b)图 5-1 两 种 通 信 方 式 的 示 意 图(a)并行通信;(b)串行通信 2、串行通

    3、信的数据传送(1)串行通信的传输方向 发送器A站接收器B站单工通信(a)发收A站发收B站发收A站发收A站(b)(c)图5-2 单工、半双工和全双工三种制式示意图(2)串行通信的数据传送速率(波特率)波特率为每秒钟传送二进制数码的位数,也叫比特数,单位为b/s,即位/秒。波特率越高,数据传输速度越快。但波特率和字符的实际传输速率不同,字符的实际传输速率是每秒内所传字符帧的帧数,和字符帧格式有关。与波特率相对应的是传送每位二进制数所用的时间(Td),它是波特率的倒数。在进行串行通信中的发送端和接收端进行波特率设置时,必须采用相同的波特率,才能保证串行通信的正确性。(二)串行通信的分类 1、异步通信

    4、(Asynchronous Communication)在异步通信中,数据通常是以字符为单位组成字符帧传送的。字符帧由发送端一帧一帧地发送,每一帧数据均是低位在前,高位在后,通过传输线被接收端一帧一帧地接收。发送端和接收端可以由各自独立的时钟来控制数据的发送和接收,这两个时钟彼此独立,互不同步。(1)字符帧字符帧也叫数据帧,由起始位、数据位、奇偶校验位和停止位等4部分组成,如图5-3所示。图5-3异步通信的字符帧格式(a)无空闲位字符帧;(b)有空闲位字符帧 D0D1D2D3D4D5D6D70/1D0D110/1100第n1字符帧第n字符帧8位数据起始位停止位奇偶校验(a)D0D1D2D3D4

    5、D5D6D70/1D0D111100第n1字符帧第n字符帧8位数据起始位停止位奇偶校验111空闲位 1)起始位:位于字符帧开头,只占一位,为逻辑0低电平,用于向接收设备表示发送端开始发送一帧信息。2)数据位:紧跟起始位之后,用户根据情况可取5位、6位、7位或8位,低位在前高位在后。3)奇偶校验位:位于数据位之后,仅占一位,用来表征串行通信中采用奇校验还是偶校验,由用户决定。4)停止位:位于字符帧最后,为逻辑1高电平。通常可取1位、1.5位或2位,用于向接收端表示一帧字符信息已经发送完,也为发送下一帧作准备。在串行通信中,两相邻字符帧之间可以没有空闲位,也可以有若干空闲位,这由用户来决定。2、同

    6、步通信(Synchronous Communication)同步通信是一种连续串行传送数据的通信方式,一次通信只传输一帧信息。这里的信息帧和异步通信的字符帧不同,通常有若干个数据字符,如图5-4所示。图5-4(a)为单同步字符帧结构,图5-4(b)为双同步字符帧结构,但它们均由同步字符、数据字符和校验字符CRC三部分组成。在同步通信中,同步字符可以采用统一的标准格式,也可以由用户约定。同步字符1数据字符1数据字符2数据字符3数据字符nCRC1CRC2(a)同步字符1数据字符1数据字符nCRC1CRC2同步字符2数据字符2(b)图5-4同步通信的字符帧格式 (a)单同步字符帧格式;(b)双同步字

    7、符帧格式(三)MCS-51串行口结构MCS-51内部有两个独立的接收、发送缓冲器SBUF。SBUF属于特殊功能寄存器。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入,二者共用一个字节地址(99H)。串行口的结构如图5-5所示。2、串行口控制寄存器SCON 表5-1 SCON的各位定义SCON9FH9EH9DH9CH9BH9AH99H98H SM0SM1SM2RENTB8RB8TIRI 表5-2 串行方式的定义SM0 SM1工作方式功能波特率0 0方式08位同步移位寄存器fosc/120 1方式110位UART可变1 0方式211位UARTfosc/64或fosc/321 1方式311位

    8、UART可变SM2:多机通信控制位,用于方式2和方式3中。在方式2和方式3处于接收方式时,若SM2=1,且接收到的第9位数据RB8为0时,不激活RI;若SM2=1,且RB8=1时,则置RI=1。在方式2、3处于接收或发送方式时,若SM2=0,不论接收到的第9位RB8为0还是为1,TI、RI都以正常方式被激活。在方式1处于接收时,若SM2=1,则只有收到有效的停止位后,RI置1。在方式0中,SM2应为0。REN:允许串行接收位。它由软件置位或清零。REN=1时,允许接收;REN=0时,禁止接收。TB8:发送数据的第9位。在方式2和方式3中,由软件置位或复位,可做奇偶校验位。在多机通信中,可作为区

    9、别地址帧或数据帧的标识位,一般约定地址帧时,TB8为1,数据帧时,TB8为0。RB8:接收数据的第9位。功能同TB8。TI:发送中断标志位。在方式0中,发送完8位数据后,由硬件置位;在其它方式中,在发送停止位之初由硬件置位。因此,TI是发送完一帧数据的标志,可以用指令JBC TI,rel来查询是否发送结束。TI=1时,也可向CPU申请中断,响应中断后,必须由软件清除TI。RI:接收中断标志位。在方式0中,接收完8位数据后,由硬件置位;在其它方式中,在接收停止位的中间由硬件置位。同TI一样,也可以通过JBC RI,rel来查询是否接收完一帧数据。RI=1时,也可申请中断,响应中断后,必须由软件清

    10、除RI。3、电源及波特率选择寄存器PCONPCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,不可以位寻址,字节地址为87H。表5-3 PCON的各位定义 D7 D6D0SMOD 当SMOD为1时使波特率加倍,SMOD为0时波特率不变。PCON的其它位为掉电方式控制位。(四)MCS-51串行的工作方式 1、方式0在方式0下,串行口作同步移位寄存器用,其波特率固定为fosc/12。串行数据从RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3.1)送出。这种方式常用于扩展I/O口。(1)发送 当一个数据写入串行口发送缓冲器SBUF时,串行口将8位数据以fosc/12的波特率从R

    11、XD引脚输出(低位在前),发送完置中断标志TI为1,请求中断。在再次发送数据之前,必须由软件清TI为0。具体接线图如图5-6所示。其中,74LS164为串入并出移位寄存器。图5-6 方式0用于扩展I/O口输出1283456 10 11 12 13数据输出移位脉冲RXDTXD805174LS164D7D6 D5 D4 D3 D2 D1 D0(2)接收 在满足REN=1和RI=0的条件下,串行口即开始从RXD端以fosc/12的波特率输入数据(低位在前),当接收完8位数据后,置中断标志RI为1,请求中断。在再次接收数据之前,必须由软件清RI为0。值得注意的是,每当发送或接收完8位数据后,硬件会自动

    12、置TI或RI为1,CPU响应TI或RI中断后,必须由用户用软件清0。方式0时,SM2必须为0。926543 14 13 12 11数据输入移位脉冲RXDTXD805174LS165D7D6D5D4D3D2D1D0图5-7 方式0用于扩展I/O口输入 2、方式1 如果收发双方都是工作在方式1下,此时,串行口为波特率可调的10位通用异步接口UART。发送或接收一帧信息,包括1位起始位0,8位数据位和1位停止位1。其帧格式如图5-8所示。D0D1D2D3D4D5D6D71D0D11D700第n1字符帧第n字符帧8位数据起始位停止位图5-8 10位的帧格式(1)发送 发送时,数据从TXD端输出,当数据

    13、写入发送缓冲器SBUF后,启动发送器发送。当发送完一帧数据后,置中断标志TI为1。方式1所传送的波特率取决于定时器1的溢出率和PCON中的SMOD位。(2)接收接收时,由REN置1,允许接收,串行口采样RXD,当采样由1到0跳变时,确认是起始位“0”,开始接收一帧数据。当RI=0,且停止位为1或SM2=0时,停止位进入RB8位,同时置中断标志RI;否则信息将丢失。所以,方式1接收时,应先用软件清除RI或SM2标志。3、方式2 方式2下,串行口为11位UART,传送波特率与SMOD有关。发送或接收一帧数据包括1位起始位0,8位数据位,1位可编程位(用于奇偶校验)和1位停止位1。其帧格式如图5-9

    14、所示。D0D1D2D3D4D5D6D70/1D0D110/1100第n1字符帧第n字符帧8位数据起始位停止位奇偶校验图5-9 11位的帧格式(1)发送 发送时,先根据通信协议由软件设置TB8,然后用指令将要发送的数据写入SBUF,启动发送器。写SBUF的指令,除了将8位数据送入SBUF外,同时还将TB8装入发送移位寄存器的第9位,并通知发送控制器进行一次发送。一帧信息即从TXD发送,在送完一帧信息后,TI被自动置1,在发送下一帧信息之前,TI必须由中断服务程序或查询程序清0。(2)接收 当REN=1时,允许串行口接收数据。数据由RXD端输入,接收11位的信息。当接收器采样到RXD端的负跳变,并

    15、判断起始位有效后,开始接收一帧信息。当接收器接收到第9位数据后,若同时满足以下两个条件:RI=0和SM2=0或接收到的第9位数据为1,则接收数据有效,8位数据送入SBUF,第9位送入RB8,并置RI=1。若不满足上述两个条件,则信息丢失。4、方式3 方式3为波特率可变的11位UART通信方式,除了波特率以外,方式3和方式2完全相同。(五)MCS-51串行口的波特率1、方式0和方式2在方式0中,波特率为时钟频率的1/12,即fosc/12,固定不变。在方式2中,波特率取决于PCON中的SMOD值,当SMOD=0时,波特率为fosc/64;oscSMODf642当SMOD=1时,波特率为fosc/

    16、32.即波特率=。2、方式1和方式3 在方式1和方式3下,波特率由定时器1的溢出率和SMOD共同决定。即:方式1和方式3的波特率=定时器1溢出率。实际上,当定时器1做波特率发生器使用时,通常是工作在模式2,即自动重装载的8位定时器,此时TL1作计数用,自动重装载的值在TH1内。设计数的预置值(初始值)为X,那么每过256-X个机器周期,定时器溢出一次。为了避免因溢出而产生不必要的中断,此时应禁止T1中断。溢出周期为)256(12Xfosc溢出率为溢出周期的倒数,所以波特率=)256(12322XfoscSMODT波特率/(b/s)fosc/MHzSMOD定时器1C/模式初始值方式0:1方式2:

    17、375 k方式1、3:62.5 k19.2 k9.6 k4.8 k2.4 k1.2 k137.5 k11011012121211.05911.05911.05911.05911.05911.9866121110000000000000000222222221FFHFDHFDHFAHF4HE8H1DH72HFEEBH表5-4 定时器1产生的常用波特(六)双机通信设计1、双机通信硬件电路RXDTXD8051应用系统(甲机)RXDTXD8051应用系统(乙机)图5-10 双机异步通信接口电路 为了增加通信距离,减少通道和电源干扰,可以在通信线路上采用光电隔离的方法,利用RS-422A标准进行双机通信

    18、,实用的接口电路见书图5-11所示。2、双机通信软件编程对于双机异步通信的程序通常采用两种方法:查询方式和中断方式。下面通过程序示例介绍这两种方法。(1)查询方式甲机发送编程将甲机片外1000H101FH单元的数据块从串行口输出。定义方式2发送,TB8为奇偶校验位。发送波特率375kb/s,晶振为12MHz,所以SMOD=1。参考发送子程序如下:MOVSCON,#80H;设置串行口为方式2 MOVPCON,#80H;SMOD=1 MOVDPTR,#1000H;设数据块指针 MOVR7,#20H;设数据块长度START:MOVXA,DPTR;取数据给A MOVC,P MOVTB8,C;奇偶位P送

    19、给TB8 MOVSBUF,A;数据送SBUF,启动发送WAIT:JBCTI,CONT;判断一帧是否发送完。若发送完,清TI,取下一个数据 AJMPWAIT;未完等待CONT:INCDPTR;更新数据单元 DJNZR7,START;循环发送至结束 RET 乙机接收 编程使乙机接收甲机发送过来的数据块,并存入片内50H6FH单元。接收过程要求判断RB8,若出错置F0标志为1,正确则置F0标志为0,然后返回。在进行双机通信时,两机应采用相同的工作方式和波特率。参考接收子程序如下:MOVSCON,#80H;设置串行口为方式2 MOVPCON,#80H;SMOD=1 MOVR0,#50H;设置数据块指针

    20、 MOVR7,#20H;设置数据块长度 SETBREN;启动接收WAIT:JBCRI,READ;判断是否接收完一帧。若完,清RI,读入数据 AJMP WAIT;未完等待READ:MOVA,SBUF;读入一帧数据 JNBPSW.0,PZ;奇偶位为0则转 JNBRB8,ERR;P=1,RB8=0,则出错 SJMPRIGHT;二者全为1,则正确PZ:JBRB8,ERR;P=0,RB8=1,则出错RIGHT:MOVR0,A;正确,存放数据 INCR0;更新地址指针 DJNZR7,WAIT;判断数据块是否接收完 CLRPSW.5;接收正确,且接收完清F0标志 RET;返回ERR:SETBPSW.5;出错

    21、,置F0标志为1 RET;返回(2)中断方式在很多应用中,双机通信的接收方都采用中断的方式来接收数据,以提高CPU的工作效率;发送方仍然采用查询方式发送。编程将甲机片内60H6FH单元的数据块从串行口发送,在发送之前将数据块长度发送给乙机,当发送完16个字节后,再发送一个累加校验和。定 义 双 机 串 行 口 按 方 式 1 工 作,晶 振 为11.059MHz,波特率为2400b/s,定时器1按方式2工作。经计算或查表5-4得到定时器预置值为0F4H,SMOD=0。参考发送子程序如下:MOVTMOD,#20H;设置定时器1为方式2 MOVTL1,#0F4H;设置预置值 MOVTH1,#0F4

    22、H SETBTR1;启动定时器1 MOVSCON,#50H;设置串行口为方式1,允许接收START:MOVR0,#60H;设置数据指针 MOVR5,#10H;设置数据长度 MOVR4,#00H;累加校验和初始化 MOVSBUF,R5;发送数据长度WAIT1:JBCTI,TRS;等待发送 AJMPWAIT1 TRS:MOVA,R0;读取数据 MOVSBUF,A;发送数据 ADDA,R4 MOVR4,A;形成累加和 INCR0;修改数据指针WAIT2:JBCTI,CONT;等待发送一帧数据 AJMPWAIT2 CONT:DJNZR5,TRS;判断数据块是否发送完 MOVSBUF,R4;发送累加校验

    23、和WAIT3:JBCTI,WAIT4;等待发送 AJMPWAIT3 WAIT4:JBCRI,READ;等待乙机回答 AJMPWAIT4 READ:MOVA,SBUF;接收乙机数据 JZRIGHT;00H,发送正确,返回 AJMPSTART;发送出错,重发RIGHT:RET 乙机接收乙机接收甲机发送的数据,并存入以2000H开始的片外数据存储器中。首先接收数据长度,接着接收数据,当接收完16个字节后,接收累加和校验码,进行校验。数据传送结束后,根据校验结果向甲机发送一个状态字,00H表示正确,0FFH表示出错,出错则甲机重发。接收采用中断方式。设置两个标志位(7FH,7EH位)来判断接收到的信息

    24、是数据块长度、数据还是累加校验和。参考接收程序如下:ORG0000H LJMPCSH;转初始化程序 ORG0023H LJMPINTS;转串行口中断程序 ORG0100H CSH:MOVTMOD,#20H;设置定时器1为方式2 MOVTL1,#0F4H;设置预置值 MOVTH1,#0F4H SETBTR1;启动定时器1 MOVSCON,#50H;串行口初始化 SETB7FH;置长度标志位为1 SETB7EH;置数据块标志位为1 MOV31H,#20H;规定外部RAM的起始地址 MOV30H,#00H MOV40H,#00H;清累加和寄存器 SETBEA;允许串行口中断 SETBES LJMPM

    25、AIN;MAIN为主程序,根据用户要求编写INTS:CLREA;关中断 CLRRI;清中断标志 PUSHA;保护现场 PUSHDPH PUSHDPL JB7FH,CHANG;判断是数据块长度吗?JB7EH,DATA;判断是数据块吗?SUM:MOVA,SBUF;接收校验和 CJNEA,40H,ERR;判断接收是否正确 MOVA,#00H;二者相等,正确,向甲机发送00H MOVSBUF,A WAIT1:JNBTI,WAIT1 CLRTI SJMPRETURN;发送完,转到返回ERR:MOVA,#0FFH;二者不相等,错误,向甲机发送FFH MOVSBUF,A WAIT2:JNBTI,WAIT2

    26、CLRTI SJMPAGAIN;发送完,转重新开始CHANG:MOVA,SBUF;接收长度 MOV41H,A;长度存入41H单元 CLR7FH;清长度标志位 SJMPRETURN;转返回DATA:MOVA,SBUF;接收数据 MOVDPH,31H;存入片外RAM MOVDPL,30H MOVXDPTR,A INCDPTR;修改片外RAM的地址 MOV31H,DPH MOV30H,DPL ADDA,40H;形成累加和,放在40H单元 MOV40H,A DJNZ41H,RETURN;判断数据块是否接收完 CLR7EH;接收完,清数据块标志位 SJMPRETURN AGAIN:SETB7FH;接收出

    27、错,恢复标志位,重新开始接收 SETB7EH MOV31H,#20H;恢复片外RAM起始地址 MOV30H,#00H MOV40H,#00H;累加和寄存器清零RETURN:POPDPL;恢复现场 POPDPH POPA SETBEA;开中断 RETI;返回四、任务实施1、硬件设计 图5-12 双机通信硬件连接图 2、软件设计 接收数字根据数字查表取段码将段码在P2口输出返回图5-13(a)双机通信流程图串行中断流程图 是是是是开始串口初始化,串口方式1设置波特率9600开总中断、开串行中断延时10msR1加1“+”键按下?数字清0“+”键按下?到“10”了吗?“-”键按下?延时10ms“-”键

    28、按下?R1减1到“0”了吗?数字设为9(A)=(30H)?R1送AA送30H清TI,启动发送送 完 了 吗?再次清TI是是是是否否否否否否否否图5-13(b)双机通信流程图串行中断流程图 程序如下:ORG0000H LJMPMAIN ORG0023H;串口中断地址 LJMPSSIO MAIN:MOVSCON,#50H;串口方式1,允许接收 MOVTMOD,#20H;定时器T1方式2,8位自动重装方式 MOVTH1,#0FDH MOVTL1,#0FDH;设 定 波 特 率 为9600bit/s ANLPCON,#7FH;将PCON.7即SMOD位清零 SETBTR1;启动波特率发生器 MOVIE

    29、,#90H;EA=1且ES=1 MOVR1,#00H MOV30H,#00H MOVDPTR,#TABLE MOVCA,A+DPTR MOVP2,A START:JBP1.0,NEXT1 LCALLDELAY10MS JBP1.0,NEXT1 JNBP1.0,$INCR1 CJNER1,#10,NEXT1 MOVR1,#00H NEXT1:JBP1.1,NEXT2 LCALLDELAY10MS JBP1.1,NEXT2 JNBP1.1,$DECR1 CJNER1,#0FFH,NEXT2 MOVR1,#09H NEXT2:MOVA,R1 CJNEA,30H,NEXT3 LJMPSTART NEX

    30、T3:MOV30H,A CLRTI;清除发送标志 JNBTI,$;等待发送完成时TI=1 CLRTI;再次清除发送标志 LJMPSTART DELAY10MS:MOVR5,#1 D2:MOVR6,#20 D1:MOVR7,#248 DJNZR7,$DJNZR6,D1 DJNZR5,D2 RET ORG0500H;串口中断服务程序的实际地址SSIO:PUSHACC CLRRI MOVA,SBUF MOVDPTR,#TABLE MOVCA,A+DPTR MOVP2,A POPACC RETI TABLE:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH E

    31、ND 3、仿真调试如图5-14所示。图5-14 双机通信仿真调试效果图 五、总结与提高 1、波特率问题:2、多机通信 项目五、串行通信应用项目五、串行通信应用 任务任务2.80512.8051与与PCPC机的通信机的通信 能力目标1.掌握8051与PC机的硬件连接2.能进行8051与PC机的通信的程序设计学习内容1.8051与PC机的硬件连接2.PC机与单片机之间常用接口电路一、任务要求AT89C51与单片机的串行口经MAX232电平转换后,与PC机串行口相连。使用虚拟终端,实现上位机与下位机的通信,通过虚拟终端窗口,在键盘上按键,在虚拟终端窗口中能显示相应的字符。二、任务分析单片机的串行口要

    32、经MAX232电平转换就必须将串口的引脚正确连接到MAX232,其次可以选用以查询法接收和发送数据,上位机发出指定字符,下位机收到后返回原字符。为此可以将虚拟终端设置如下:波特率-4800;数据位-8;奇偶检验-无;停止位-1,如图5-23所示。三、学习知识(一)接口电路常用的串行总线接口标准有以下三种:RS-232C、RS-422、RS-485。1、RS-232C接口(1)RS-232C的电气特性RS-232C电平不同于TTL电平的+5V和地。它采用负逻辑,逻辑0电平用+3V+15V表示,逻辑1电平用-3V-15V表示。因此,RS-232C不能直接与TTL电平相连,必须加上适当的接口电路进行

    33、信号电平转换。目前,最常用的芯片有集成电路电平转换器MAX232。(2)RS-232C的通信距离和速率 RS-232C标准规定的传送数据的波特率最大为19.2KbpS。驱动器允许有2500pF的电容负载,因此通信距离将受此电容大小所限,它的通信距离一般不超过15m。(3)RS-232C接口的物理结构 由于多数情况下RS-232C接口主要使用主通道,对于一般双工通信,通常只需使用串行输入RXD、串行输出TXD和地线GND,所以RS-232C常采用型号为DB-9的9芯插头座,传输线采用屏蔽双绞线。图5-16 RS-232C信号引脚排列图(4)常用RS-232接口芯片MAX232内部有一个电源电压变

    34、换器,可以把输入的+5V电压变换成为RS-232C输出电平所需的10V电压。所以,采用此芯片接口的串行通信系统只需单一的+5V电源就可以了。对于没有12V电源的场合,其适应性更强,因而被广泛使用。13451110129261615147138C1+C1-C2+C2-T1INT2INR1OUTR2OUTVs+Vs-VCCGNDT1OUTT2OUTR1INR2IN图5-17 MAX232引脚结构和典型连接图图5-18 单片机与MAX232的接口原理图2、RS-422接口 RS-422标准全称是“平衡电压数字接口电路的电气特性”。为改进RS-232通信距离短、传送速率低、接口处容易出现共模干扰的缺点

    35、,RS-422定义了一种平衡通信方式,即采用差分接收、差分发送的工作方式,不需要数字地线,可将传输速率提高到最大10Mbps,在此速率下传输距离延长到12m,如采用低速率传输,如在100kbps以下,最大传输距离可达到1200m。它使用双绞线传送信号,根据两条传输线之间的电位差值来决定逻辑状态。RS-422接口需要外接终接电阻,要求其阻值约等于传输电缆的特性阻抗。一般取100,接在传输电缆的最远端。通常情况下,短距离传输时(300米以下)可以不要终接电阻。3、RS-485接口1983年EIA在RS-422基础上制定了RS-485标准,它是一种多发送器的电路标准,增加了多点、双向通信能力,即允许

    36、多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,因此应用RS-485接口可以联网构成分布式系统,最多能支持32个发送/接收器对。RS-485接口采用半双工模式,任何时候只能有一点处于发送状态,所以一般在RS-485接口还有一“使能”端,用于控制发送驱动器与传输线的切断与连接,当“使能”端起作用时,发送驱动器处于高阻状态。(1)RS-485的电气特性:逻辑“1”以两线间的电压差为+(26)V表示;逻辑“0”以两线间的电压差为-(26)V表示。接口信号电平比RS-232C降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接。(2)RS-485的

    37、传输距离和速率 由于RS-485是从RS-422基础上发展而来的,所以RS-485许多规定与RS-422相仿。最大传输距离约为1219米,最大传输速率为10Mb/s。平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能使用规定最长的电缆长度。只有在很短的距离下才能获得最高速率传输。一般100米长双绞线最大传输速率仅为1Mb/s。(3)RS-485接口常用芯片MAX485图5-21 MAX485引脚图表5-5 MAX485功能表驱动器输入端DI使能端DE输出ABH HHLLHLHXLZZ接收器差分输入V1D=A-B使能端 输出ROV1D0.2VLHV1D-0.2VLLXHZH:高电

    38、平;L:低电平;?:不定;X:任意;Z:高阻图5-22 MCS-51单片机与MAX485的典型连接图(二)20mA电流环路串行接口 20 mA5 k10 k47 750 200 5 k500 300 10 k5 V12 V5 V11四、任务实施1、硬件设计如图5-25所示。图5-25 PC机和单片机串行通信接口硬件原理图 2、软件设计 开始设置串行口工作方式设置波特率接 收 完?数据送缓存发送数据发送完?清除发送标志图5-26 PC机和单片机串行通信接口程序流程图 2)源程序ORG30H START:MOVSP,#60H MOVSCON,#01010000B;设定串行方式:;8位异步,允许接收

    39、 MOVTMOD,#20H;设定计数器1为模式2 ORLPCON,#10000000B;波特率加倍 MOVTH1,#0F3H;设定波特率为4800 MOVTL1,#0F3H SETBTR1;计数器1开始计时AGAIN:JNBRI,$;等待接收完成 CLRRI;清接收标志 MOVA,SBUF;接收数据送缓冲区 MOVSBUF,A;发送收到的数据 JNBTI,$;等待发送完成 CLRTI;清发送标志 SJMPAGAIN END 3、仿真调试如图5-27所示。图5-27 PC机和单片机串行通信接口仿真调试结果 五、总结与提高 单片机通信是一种开放式控制系统,随着网络技术的发展而发展,由近程的(几米之内)发展至远程(几百米甚至上千米),控制的外设不同、要求不同,是一对一通信还是一对多通信,是近程通信还是远程通信,要根据具体情况具体分析,选择最佳的方案。具体从两方面考虑,一是选择相应的控制接口电路,制定最佳的硬件设施,二是编制能可靠实施的软件。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:[计算机软件及应用]项目五、串行通信应用课件.ppt
    链接地址:https://www.163wenku.com/p-3369406.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库