基于rs422-a的单片机双机通讯系统设计内容摘要:

SM2=0,不论接收到的第 9 位 RB8 为 0 还是为 1, TI、 RI 都以正常方式被激活。 在方式 1 处于接收时, 若 SM2=1,则只有收到有效的停止位后, RI 置 1。 在方式 0 中, SM2应为 0。 REN:允许串行接收位。 它由软件置位或清零。 REN=1 时,允许接收; REN=0时,禁止接收。 在 程序 中,由于乙机用于接收数据,因此使用位操作指令 SETB REN,允许乙机接收。 TB8:发送数据的第 9 位。 在方式 2 和方式 3 中,由软件置位或复位,可做奇偶校验位。 在多机通信中,可作为区别地址帧或数据帧的标识位,一般约定地址帧时, TB8 为 1,数据帧时, TB8 为 0。 RB8:接收数据的第 9 位。 功能同 TB8。 TI:发送中断标志位。 在方式 0 中,发送完 8 位数据后,由硬件置位;在其它方式中,在发送停止位之初由硬件置位。 因此, TI 是发送完一帧数据的标志,可以用指令 JBC TI, rel 来查询是否发送结束。 RI:接收中断标志位。 在方式 0 中,接收完 8 位数据后,由硬件置位;在其它方式中,在接收停止位的中间由硬件置位。 同 TI 一样,也可以通过 JBC RI,rel 来查询是否接收完一帧数据。 RI=1 时,也可申请中断,响应中断后,必须由软件清除 RI。 串行口的工作方式及其介绍 MCS51 系列 单片机 的串行口有 4 种工作方式,通过 SCON 中的 SM SM0SM0 SM1 工作方式 功 能 波特率 0 0 方式 0 8位同步移位寄存器 fosc/12 0 1 方式 1 10位 UART 可变 1 0 方式 2 11位 UART fosc/64或 fosc/32 1 1 方式 3 11位 UART 可变 沈阳航空工业学院课程设计论文 基于 RS422A 的单片机双机通讯系统设计 第 7 页 位来决定,如表 7 示。 本程序设计中只采用方式一因此在这里只对方式一加以介绍。 在程序设计中因为选定的工作方式为方式一,因此 串行口为波特率可调的 10 位通用异步接口 UART。 发送或接收一帧信息,包括 1 位起始位 0, 8 位数据位和 1位停止位 1。 其帧格式如图 8. 所示 图 8 帧格式 示意图 方式一的发送与接收 方式一的发送 ( 1)发送 发送时,数据从 TXD 端输出,当数据 写入发送缓冲器 SBUF 后,启动发送器发送。 当发送完一帧数据后,置中断标志 TI 为 1。 方式 1 所传送的波特率取决于定时器 1 的溢出率和 PCON 中的 SMOD 位。 ( 2)接收 接收时,由 REN 置 1,允许接收,串行口采样 RXD,当采样由 1 到 0 跳变时,确认是起始位 “0”,开始接收一帧数据。 当 RI=0,且停止位为 1 或 SM2=0 时,停止位进入 RB8 位,同时置中断标志 RI;否则信息将丢失。 所以,方式 1 接收时,应先用软件清除 RI 或 SM2 标志。 MCS51 串行口波特率的计算 在串行通信中,收发双方对传送的数 据速率,即波特率要有一定的约定。 通过 已学的单片机知识 ,我们知道, MCS51 单片机的串行口通过编程可以有 4 种工作方式。 其中,方式 0 和方式 2 的波特率是固定的,方式 1 和方式 3 的波特率可变,由定时器 1 的溢出率决定, 下面来简单介绍一下。 方式 0 和方式 2 波特率 的计算 在方式 0 中,波特率为时钟频率的 1/12,即 fosc/12,固定不变。 在方式 2 中,波特率取决于 PCON 中的 SMOD 值,当 SMOD=0 时,波特率为fosc/64;当 SMOD=1 时,波特率为 fosc/ =2smod* fosc/64 2. 方式 1 和方式 3 波特率 的计算 在方式 1 和方式 3 下,波特率由定时器 1 的溢出率和 SMOD 共同决定。 即:沈阳航空工业学院课程设计论文 基于 RS422A 的单片机双机通讯系统设计 第 8 页 方式 1 和方式 3 的波特率 =定时器 1 溢出率 其中,定时器 1 的溢出率取决于单片机定时器 1 的计数速率和定时器的预置值。 计数速率与 TMOD 寄存器中的 C/位有关。 当 C/=0 时,计数速率为 fosc/12;当 C/=1 时,计数速率为外部输入时钟频率。 实际上,当定时器 1 做波特率发生器使用时,通常是工作在模式 2,即自动重装载的 8 位定时器,此时 TL1 作计数用,自 动重装载的值在 TH1 内。 设计数的预置值(初始值)为 X,那么每过 256X 个机器周期,定时器溢出一次。 为了避免因溢出而产生不必要的中断,此时应禁止 T1 中断。 溢出周期为 12( 256x)/fosc, 溢出率为溢出周期的倒数,所以波特率 =2smod/32*fosc/12( 256x)。 下表为定时器 T1 产生的常用 波特率。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。