1 / 28

第 6 章 MCS-51 串行接口

第 6 章 MCS-51 串行接口. 6.1 串行通信的基本概念 6.2 MCS-51 串行口的结构 6.3 串行口的工作方式 6.4 应用举例 6.5 串行通信接口设计. 退出. 6.1 串行通信的基本概念. 6.1.1 并行通信与串行通信 计算机的 CPU 与外部设备之间的信息交换,以及计算机与计算机之间的信息交换过程称为通信。 1 .并行通信 数据字节的各位同时传送的通信方式。并行通信的优点是数据传送速度快,缺点是占用的传输线条数多,适用于近距离通信。. 2 .串行通信

Download Presentation

第 6 章 MCS-51 串行接口

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第6章 MCS-51串行接口 • 6.1 串行通信的基本概念 • 6.2 MCS-51串行口的结构 • 6.3 串行口的工作方式 • 6.4 应用举例 • 6.5 串行通信接口设计 退出

  2. 6.1 串行通信的基本概念 • 6.1.1 并行通信与串行通信 • 计算机的CPU与外部设备之间的信息交换,以及计算机与计算机之间的信息交换过程称为通信。 • 1.并行通信 • 数据字节的各位同时传送的通信方式。并行通信的优点是数据传送速度快,缺点是占用的传输线条数多,适用于近距离通信。

  3. 2.串行通信 • 数据字节的各位一位一位地依次传送的通信方式。串行通信的速度慢,但占用的传输线条数少,适用于远距离的数据传送。 • 3. 波特率 • 每秒钟传送的二进制数据的位数。 • 4. 异步通信格式

  4. 6.2 MCS-51串行口的结构 • 62.1 串行口的构成 发送/接收缓冲器:SBUF 物理上是独立的两个缓冲器。 MOV SBUF, A; 数据由TXD(P3.1 即第11引脚)送出 MOV A,SBUF;数据由RXD(P3.0 即第10引脚)接收 特殊功能寄存器SCON(98H), PCON(87H) 可以用软件改变两者的内容来控制工作方式和波特率。

  5. 6.2.2 串行口控制寄存器SCON 1.串行口的方式选择位SM0、SMl

  6. 2.允许方式2和方式3进行多机通信控制位SM2 • 在方式2或方式3中,若SM2=0,而接收到的第9位数据为0,1,接收。 • 若SM2=1,而接收到的第9位数据为0,则不接收,为1,则接收。 • 在方式0时,SM2必须是0。 • 在方式1时,若SM2=1,则只有收到有效的停止位时才会接收。 • 3.允许串行接收位REN • REN=1允许串行接收,REN=0则禁止串行接收。 • 4.TB8 • 是工作在方式2和方式3时,要发送的第9位数据。 • 5.RB8 • 当工作在方式2和方式3时,为接收到的第9位数据。

  7. 6.发送结束标志位TI • 每当发送完一帧串行信息,就由硬件置1。 • 7.接收结束标志位RI • 串行接收到停止位的中间点时由硬件置1。 • 6.2.3 特殊功能寄存器PCON • 特殊功能寄存器PCON,格式如下: • SMOD为波特率系数选择位。其作用是使波特率加倍。

  8. 波特率 一. 工作方式2时,波特率取决于PCON中的 SMOD位的值,当SMOD=0时,波特率为fosc的1/64;当SMOD=1时,波特率为fosc的1/32,用公式表示为: 工作方式2波特率=(2SMOD/64)×fosc

  9. 二 . 方式1与方式3的波特率 波特率=定时器T1的溢出率/n;而溢出率=1/溢出周期; 溢出周期=12/fosc *(终值-初值)。因此,当定时器/计数器T1作于自动重装初值方式2时,终值为256。 若波特率已给定,就可以确定定时器T!的初值TLl和THl。

  10. 6.3 串行口的工作方式6.3.2 工作方式1 串行口方式1的时序 (a)发送时序;(b)接收时序

  11. 6.3.2 工作方式2,3 串行口方式2、3的时序

  12. 6.4 串行口的应用举例 【例5-1】方式1。有两台8031单片机相距很近,直接将它们的串行口相连,1#机的TXD接2#机的RXD,2#机的TXD接1#机的RXD,二机的GND相连。 二机的晶振频率均为11.0592MHZ,通信的波特率为4500bps。现将第一台8031单片机片内RAM40H~5FH单元内的数据,串行发送到第二台8031单片机片内RAM60H~7FH单元中。

  13. 1#单片机发送程序: TX: MOV TMOD , #20H • MOV TH1 , #0FAH • MOV TL1 , #0FAH • SETB TR1 ;波特率的设定 • MOV SCON , #40H ;设定工作方式1发送 • MOV R0 , #40H;设发送数据的地址指针 • MOV R2 , #20H;设发送数据长度 LOOP: MOV A , @R0;取发送数据送A MOV SBUF , A;启动发送 WAIT: JNB TI , WAIT;判发送中断标志 • CLR TI • INC R0 • DJNZ R2 , LOOP • RET

  14. 2#单片机接收程序: RX: MOV TMOD , #20H • MOV TH1 , #0FAH • MOV TL1 , #0FAH • SETB TR1 • MOV SCON , #50H;设定工作方式1接收 • MOV R0 , #60H • MOV R2 , #20H LOOP: JNB RI , LOOP;等待接收数据 • CLR RI MOV A , SBUF;读入一帧数据 MOV @R0 , A;接收正确 INC R0 • DJNZ R2 , LOOP • RET

  15. 【例5-2】附加的第9位----奇偶校验位。 • 有两台8031单片机相距很近,直接将它们的串行口相连,1#机的TXD接2#机的RXD,2#机的TXD接1#机的RXD,二机的GND相连。二机的晶振频率均为11.0592MHZ。 • 现将第一台8031单片机片内RAM40H~5FH单元内的数据,串行发送到第二台8031单片机片内RAM60H~7FH单元中。

  16. 方式2:波特率为fosc/64 • 1#单片机发送程序: TX: MOV SCON , #80H ;设定工作方式2发送 • MOV R0 , #40H;设发送数据的地址指针 • MOV R2 , #20H;设发送数据长度 LOOP: MOV A , @R0;取发送数据送A MOV C , PSW.0 MOV TB8 , C;奇偶位送TB8 • MOV SBUF , A;启动发送 WAIT: JNB TI , WAIT;判发送中断标志 • CLR TI • INC R0 • DJNZ R2 , LOOP • RET

  17. 2#单片机接收程序:出错时,F0=1 RX: MOV SCON , #90H;设定工作方式2接收 • MOV R0 , #60H • MOV R2 , #20H LOOP: JNB RI , LOOP;等待接收数据 • CLR RI MOV A , SBUF;读入一帧数据 JB PSW.0 , PP1;判接收端奇偶 • JB RB8 , ERROR ;判发送端奇偶 • SJMP RIGHT PP1: JNB RB8 , ERROR;接收出错 RIGHT: MOV @R0 , A;接收正确 INC R0 • DJNZ R2 , LOOP • RET ERROR: SETB PSW.5;置出错标志 • RET

  18. 方式3:波特率为4500bps • 在上述方式2的程序开始,加上波特率设定指令: MOV TMOD , #20H • MOV TH1 , #0FAH • MOV TL1 , #0FAH • SETB TR1 • 其它同。

  19. 【例5-3】附加的第9位----多机通信。 • 设计一个主从方式的多机通信系统,其中有一个8031系统为主机,n个8031应用系统为从机。不考虑口驱动问题。 • 一、硬件组成:如图所示。主机的RXD端与所有从机的TXD端相连,主机的TXD端与所有从机的BXD端相连。

  20. 二、软件设计依据: • SM2=1 RB8=1, 接收。 RB8=0,不接收 • SM2=0 RB8=1, RB8=0, 均接收。 • (1)主机向从机发送地址信息时,其附加的第9个数据位规定为1;主机向从机发送的数据信息(包括向从机下达的命令),其第9位规定为0。 • (2)从机在建立与主机通信之前,随时处于对通信线路的监听状态(SM2=1),因此只能收到主机发送的地址信息(第9位为1),非地址信息被丢失。 • (3)从机收到地址后应进行识别。是否主机呼叫本站,如果地址符号,即可确认是呼叫本站。这时从机应解除监听状态,令SM2=0;其它从机由于地址不符,仍处于监听状态,继续保持SM2=1,所以无法接收主机的数据。

  21. 主机程序:(设呼叫#1号从机) MASTR:MOV PCON,#80H • MOV SCON,#98H ;设串行口为方式2,TB8=1 • MOV R0,#30H ;发送数据块地址指针 • MOV R2,#10H ;块长度计数初值 • MOV A,#01H ;从机地址#01 MOV SBUF,A ;发呼叫地址 WAIT1: JBC TI,PP1 • SJMP WAIT1 PP1: CLR TB8 ;清地址标志,发送数据 • MOV A,@R0 • MOV SBUF,A WAIT2: JBC TI,PP2 SJMP WAIT2 PP2: INC R0 DJNZ R2,PP1 RET

  22. #1从机响应呼叫的联络程序: SLAVE:MOV PCON,#80H MOV SCON,#0B0H;设串行口方式2,SM2=1,REN=1 MOV R0,#30H MOV R2, #10H SRR1: JBC RI,SRR2 ; 等待主机发送(监听) SJMP SRR1 SRR2: MOV A, SBUF; 取出呼叫地址 XRL A, #01H JNZ SRR1; 不是本机地址,继续监听 CLR SM2; 是本机地址,解除监听,可以取其它数据 SRR3: JBC RI, PP3; 等待主机数据 SJMP SRR3 PP3: MOV A, SBUF MOV @R0,A INC R0 DJNZ R2, SRR3 RET

  23. 5.5 串行通信接口设计 • 5.5.1 通信双方的硬件设计:如果通信双方的通信距离很近,可以将单片机的串行口直接相连,以实现全双工的双机通信,如图所示。

  24. 如果通信距离比较远,将TTL电平转换成RS—232C或423或422电平,以提高传输可靠性。如果通信距离再增加,必须在系统中配置调制—解调器或采取其它措施。如果通信距离比较远,将TTL电平转换成RS—232C或423或422电平,以提高传输可靠性。如果通信距离再增加,必须在系统中配置调制—解调器或采取其它措施。 • 如:MCl488发送器将TTL电平转换成RS-232C电平,MCl489接收器将RS-232C电平转换成TTL电平电路:

  25. 5.5.2 RS-232C接口电平调整 • RS-232C逻辑与TIL、MOS逻辑电平不同。逻辑0: +5至+15V之间; 逻辑1:-5至-15V之间。抗干扰性能好。 • 目前RS-232C与TTL的电平转换最常用的芯片是1488、1489,其内部结构与管脚如图所示。

  26. TTL和RS-232C的电平调整电路连接如图所示。

  27. 5.5.3 RS—423接口电平调整 • RS—423标准提供最高传输速率为100kB/s,最大传送距离为12m的单向单端数据传输。 逻辑1:4V至6V; 逻辑0:-6V 至-4V • TTL和RS-232C的电平调整电路连接如图所示。电路中采用的驱动器和接收器分别为3691和26L32。

  28. 5.5.4 RS—422接口电平调整 • RS—422标准提供单向平衡传输线路传送数据。传输率最大为10MB/s,最大传输距离可达120m,如果采用较低传输速率,则可在最大距离为1200m之间传送数据,这个标准允许驱动器输出为土2V到6V。 • 接口信号电平转换调整电路如图。电路中采用的驱动器和接收器分别为3691和26L32

More Related