1 / 57

第八章 MCS—51 串行通信

第八章 MCS—51 串行通信. 8-1 串行通信基础 8-1-1 串行通信. 通信种类: 串行通信 :数据各位一位一位传输。传输距离较远; 并行通信 :数据字符所有位同时传输。速度快、效率高, 距离短。. 串行通信有 同步 和 异步 两种方式. 同步方式 :有严格的同步时钟控制。较少使用。. 异步方式 :不需要严格的同步信号,也不需要数据流的 连续性。在串行通信中常用。. 数据帧 (一帧数据):包含起始位(“ 0” 电平)、数据位、 奇偶校验位、停止位(“ 1” 电平)等组成。. 异步通信中接收和发送双方必须(至少)有两项设定:

deion
Download Presentation

第八章 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. 第八章 MCS—51串行通信 8-1 串行通信基础 8-1-1 串行通信 通信种类: 串行通信:数据各位一位一位传输。传输距离较远; 并行通信:数据字符所有位同时传输。速度快、效率高, 距离短。

  2. 串行通信有同步和异步两种方式 同步方式:有严格的同步时钟控制。较少使用。 异步方式:不需要严格的同步信号,也不需要数据流的 连续性。在串行通信中常用。 数据帧(一帧数据):包含起始位(“0”电平)、数据位、 奇偶校验位、停止位(“1”电平)等组成。

  3. 异步通信中接收和发送双方必须(至少)有两项设定:异步通信中接收和发送双方必须(至少)有两项设定: (1)帧格式确定(帧字符长度) 如ASCII帧(字符)为10位。数据位7位,起始位、校验位、 停止位各一位。 (2)波特率的设定 波特率:每秒传输的位。 如120字符(帧)/秒,每帧数据10位,则传输速率为1200 波特率。

  4. 传输方向: 单工方式 半双工方式 全双工方式 所有串行接口电路都是以并行数据形式和CPU接口; 以串行数据形式和外部通信接口。

  5. 通用异步接收发送器UART

  6. UART主要功能 1)数据的串化、反串化 数据串化:将并行数据变为串行数据;(发送器) 数据反串化:将串行数据变为并行数据;(接收器) 2)格式信息的插入和滤除 格式信息:异步通信格式中,启始位、奇偶校验位、停止位等。 串化过程:将格式信息插入,和数据位一起构成完整数据帧。 反串化过程:滤除格式信息,保留数据位。 3)错误检验 检验数据通信过程是否正确。

  7. 8-2 MCS-51单片机串行通信 MCS-51单片机将一个全双工串行通信接口电路集成 在单片机内。 直观的感觉 向SBUF中写入一个字节是同时写入(并行),向外发送则是一位一位地进行(串行)。 同样由外界向SBUF接收是一位一位进行(串行),而CPU是以字节形式(并行)从SBUF中读入。

  8. 8-2-1 串行口寄存器结构

  9. 串行接收的双缓冲结构 移位寄存器 数据缓冲器SBUF 一帧数据接收完,由移位寄存器装入SBUF,立即接收下一帧。要求主机应立即(在该帧接收结束之前)将SBUF中数据取走。否则前一帧数据将丢失。 发送由CPU操纵,不会发生帧重叠错误。将数据写入SBUF,通过移位脉冲一位一位地发送出去。

  10. 8-2-2 串行通信控制寄存器 与串行通信有关的寄存器共有三个。 1)串行控制寄存器SCON 字节地址:98H

  11. 各位功能说明: 1)SM0、SM1—串行口工作方式选择位

  12. 2)REN—允许接收位 控制串行数据的接收。 REN=0:禁止接收; REN=1:允许接收 通过软件置位、复位 3)TB8 在方式2、方式3下,要发送的第9位数据(格式信息),在多机通信中,通过TB8状态,来表示主机发送的是地址帧(1)还是数据帧(0)。 通过软件置位、复位。

  13. 4)RB8 接收数据的第9位。 在方式2、方式3时,存放接收到的第9位数据,代表接收数据的某些特征。

  14. 5)SM2—多机通信控制位 当串行口在方式2或方式3下进行数据接收时,如果SM2=1(允许多机通信),REN=1,则从机处于只有接收到RB8=1(地址帧)时,激发中断请求标志位RI,否则将接收到的前8位数据丢弃。 被确认的从机,复位SM2=0,接收RB8=0的数据帧。 RB8=1:地址帧 RB8=0:数据帧 SM2=1:多机通信方式 SM2=0:直通方式

  15. 6)TI—发送中断标志 方式0时,发送第8位数据后,硬件置位; 其他方式下,于发送停止位之前硬件置位。 TI=1,表示帧发送结束。其状态可软件查询,也可 申请中断。软件清零。 7)RI—接收中断标志 方式0时,接收完第8位数据后,硬件置位; 其他方式下,接收到停止位时,硬件置位。 RI=1,表示帧接收结束。其状态可软件查询,也可 申请中断。软件清零。

  16. 2) 电源控制寄存器PCON (波特率倍增控制寄存器) 字节地址:87H SMOD=1,串行口波特率加倍; SMOD=0,波特率正常。 系统复位时,SMOD=0。 PCON不可以进行位寻址。

  17. 中断允许控制寄存器(IE) 字节地址A8H ES:串行口中断允许位 ES=0:禁止串行口中断; ES=1:允许串行口中断。

  18. 8-3 MCS-51串行通信工作方式 4种工作方式

  19. 8-3-1 串行工作方式0 移位寄存器方式 RXD(P3.0):数据移位的入口和出口; TXD(P3.1):移位脉冲输入端 移位数据:一帧8位。低位在前,高位在后,没有起始位、 停止位

  20. 使用方式0,进行数据移位输入、输出时, 是将串行口作为并行口使用 是一种并行口扩展应用 数据发送:实现数据发送,须有串进并出移位 寄存器配合使用。

  21. 数据接收:须有并进串出移位寄存器配合使用 数据发送:当8位数据全部移出后,TI被自动置位 数据接收:当REN=1(允许接收),接收到8位数据 时,RI被自动置位。

  22. 方式0时,移位操作的波特率固定,为单片机 晶振频率1/12。 晶振fosc=6MHz,波特率为500K/秒,2s移位一次; 晶振fosc=12MHz,波特率为1M/秒,1s移位一次;

  23. 应用举例:(P180) 使用CD4094的并行输出端接8只发光二极管,将二极管从左至右依次点亮,并反复循环。 发光二极管共阴极连接

  24. 程序清单: MOV SCON,#00 ;方式0 CLS ES ;禁止串行中断 MOV A,#80H ;发光管左边亮起 DELR: CLR P1.0;关闭并行输出 MOV SBUF,A ;串行输出 JNB TI,$ ;状态查询 SETB P1.0;启动并行输出 ACALL DELAY ;状态维持 CLR TI ;清标志 RR A ;发光管右移 AJMP DELR ;继续

  25. 数据帧10位,起始位1位(低)、停止位1位(高)、数据帧10位,起始位1位(低)、停止位1位(高)、 数据位8位。 8-3-2 串行工作方式1 数据发送:写SBUF开始,通过串行口自动加入起始位、停止位(格式信息),形成完整帧格式。在移位脉冲作用下,由TXD端串行输出。一个字符帧发送完后,TXD端维持“1”状态,TI置1。通知CPU。

  26. 数据接收:REN=1,串行口采样RXD端,当采样到由1到0跳变时,认定接收到起始位。在移位脉冲作用下,把接收到的数据位移入接收寄存器中,直至将停止位移入RB8中,置位RI,通知CPU从SBUF取走接收到的字符。数据接收:REN=1,串行口采样RXD端,当采样到由1到0跳变时,认定接收到起始位。在移位脉冲作用下,把接收到的数据位移入接收寄存器中,直至将停止位移入RB8中,置位RI,通知CPU从SBUF取走接收到的字符。

  27. 8-3-3 串行工作方式2、3 11位UART方式 字符帧11位:起始位(低)1位、数据位8位、可程控 第9位数据、停止位(高)1位。 发送时第9位数据由SCON中TB8位提供,软件设置。 SETB TB8 CLR TB8 接收时第9位数据装入SCON中RB8位,系统自动装入。

  28. 波特率设定 方式0:波特率固定 方式1:波特率可变; 方式2:波特率为 方式3:波特率可变

  29. 对于可变波特率(方式1、3),其计算公式: Smod为PCON寄存器最高位值 定时器溢出率:单位时间定时器溢出的次数; 溢出率为溢出周期的倒数。 溢出周期:定时器溢出一次所需要的时间。

  30. 当定时器1作为波特率发生器时,通常选用定时工作方式2(8位自动加载)。当定时器1作为波特率发生器时,通常选用定时工作方式2(8位自动加载)。 设X为计数初值,则:

  31. 通常,是知道波特率,求计数初值X 实际使用时, 首先确定波特率; 再计算定时器1的计数初值; 然后进行定时器的初始化。 SMOD值可以通过 MOV PCON,#00H或 MOV PCON,#80H 设定

  32. 例题:假设晶振6M,波特率1200,计算定时器1计数初值。串行口工作方式1,写出相应的初始化程序。Smod=0,波特率不倍增。例题:假设晶振6M,波特率1200,计算定时器1计数初值。串行口工作方式1,写出相应的初始化程序。Smod=0,波特率不倍增。 T1工作方式2(8位寄存器自动加载)

  33. 初始化程序: MOV TMOD,#20H ;设置T1工作方式2 MOV TL1,#F3H ;计数初值 MOV TH1,#F3H ; SETB EA ;中断允许 CLR ES ;禁止串行中断 MOV PCON,#00H ;波特率不倍增 MOV SCON,#50H ;串行方式1,REN=1 SETB TR1 ;启动定时器1

  34. 8-4 单片机多机通信 多机通信:一台主机和多台从机之间的通信。 主从式多机通信

  35. 8-4-1 MCS-51单片机多机通信机制 数据的传递 主机发送信息,可以传送到各个从机或指定从机,各从机发送的信息只能被主机接收。 多机通信: 主机发送:地址帧,数据帧通过第9位数据确定。 TB8=1,地址帧 TB8=0,数据帧

  36. 从机接收 串行口工作在方式2,方式3下; 多机通信标志SM2(SCON.5)=1 检查接收到的第9位RB8(SCON2),当: RB8=1:地址帧,将数据装入SBUF,置位RI,发出接收中断请求; RB8=0:数据帧,在SM2=1,RB8=0时,接收数据丢弃 SM2=0:直通方式,不论RB8是0还是1,都将接收到的数据送SBUF,并发出中断请求。

  37. 对于所有从机,由于SM2=1,RB8=1,各自发出 中断请求。判断主机发送地址是否与本机相符, 若相符,则将从机SM2清0(变成直通方式),准备接收其后传送来的数据。 地址相符,SM2清0 多机通信:关键是地址帧的识别

  38. 多机通信过程 1)全部从机串行口工作方式初始化为2或3,置位SM2,允许中断; 2)主机置位TB8,发送要寻址的从机地址; 3)所有从机均接收主机发送的地址,进入中断进行地址比较; 4)确认寻址从机,自身SM2清0,向主机返回地址供主机核对; 5)核对无误,主机向被寻址从机发送命令,通知从机进行一对一数据通信

  39. 8-4-2 RS232串行通信总线标准 美国电子工业协会公布的串行通信总线标准(EIA) RS232(电压型总线标准)电平逻辑:负逻辑 带负载时:逻辑1:-5V~-12V; 逻辑0:+5V~+12V 不带负载:输出电平,-25V~+25V 输入电压,-25V~+25V

  40. RS232串行信息格式 MCS-51串行通信采用TTL正逻辑 逻辑1:2.4V 逻辑0:0.4V

  41. MCS-51的串行口和RS-232接口时必须进行电平转换 电平转换常用芯片: 传输驱动器:MC1488 传输接收器:MC1489 MC1488: 供电电压:12V,输入TTL电平,输出RS-232电平 MC1489: 供电电压:+5V,输入RS-232电平,输出TTL 电平

  42. RS232接口常用信号:

  43. RS232总线连接短距离通信:15米以内

  44. RS-232总线连接长距离通信

  45. MCS-51与RS-232串行通信硬件接口 最简单RS-232连接

  46. 硬件接口

  47. 课程设计 某MCS-51单片机(8031)应用系统,实现如下功能: 16路开关量输入; 8路模拟量输入; 8路开关量输出; 1路D/A输出。 系统扩展8k*8位EPROM(2764),8k*8位RAM(6264),扩展一个4*8非编码键盘,用6位LED显示器进行显示,通过RS-232串行通信总线和PC机相连。 画出硬件原理图,给出ROM和RAM的地址范围以及各接口芯片的口地址。写出相应的初始化程序。

  48. 单片机系统可靠性技术 1、接地技术 接地类型 外壳接地:仪器外壳接地,和大地实实在在连接。接地电阻要尽可能小,也就是说:接地要完全、充分。 工作接地:通常是零电位参考点。

  49. 接地系统 在一个较大的单片机应用系统中,根据信号电压、电流的大小,以及电源的类别来设计接地系统。 通常有三种情况: 弱信号地(工作地):系统中小信号部分,以及相应的直流电源; 功率地:系统中继电器、电磁阀以及它们的驱动电路以及相应的驱动电源构成功率地;(功率大、易对弱信号产生干扰) 机壳地(安全地)。

  50. 相互独立的接地系统 伞状接地系统

More Related