课设:基于单片机的rs-232c串行通讯接口设计内容摘要:

计 第 4 页 于 CPU 是主动的,不会发生帧重叠错误,因此发送电路不需要双重缓冲结构。 在逻辑上, SBUF 只有一个,它既表示发送寄存器,又表示接收寄存器,具有同一个单元地址99H。 但在物理结构上,则有两个完全独立的 SBUF,一个是发送缓冲寄存器 SBUF,另一个是接收缓冲寄存器 SBUF。 如果 CPU 写 SBUF,数据就会被送入发送寄存器准备发送;如果 CPU读 SBUF,则读入的数据一定来自接收缓冲器。 即 CPU 对 SBUF的读写,实际上是分别访问上述两个不同的寄存器。 ( 2)串行控制寄存器( PCON) 串行控制寄 存器 SCON 用于设置串行口的工作方式、监视串行口的工作状态、控制发送与接收的状态等。 它是一个既可以字节寻址又可以位寻址的 8 位特殊功能寄存器。 其格式如表 1所示: 表 1 串行口控制寄存器 SCON SM2:多机通信控制位。 REN:接收允许控制位。 软件置 1允许接收;软件置 0 禁止接收。 TB8:方式 2 或 3 时, TB8为要发送的 第 9位数据,根据需要由软件置 1或清 0。 RB9:在方式 2 或 3 时, RB8 位接收到的第 9 位数据,实际为主机发送的第 9 位数据TB8,使从机根据这一位来判断主机发送的时呼叫地址还是要传送的数据。 TI:发送中断标志。 发送完一帧数据后由硬件自动置位,并申请中断。 必须要软件清零后才能继续发送。 RI:接收中断标志。 接收完一帧数据后由硬件自动置位,并申请中断。 必须要软件清零后才能继续接收。 SM0,SM1:串行口工作方式选择位,这两位组合成 00, 01, 10, 11 对应于工作方式0、工作方式 工作方式 工作方式 3。 串行接 口工作方式如表 2: 表 2 串行工作方式 SM0 SM1 工作方式 功能 波特率 0 0 0 8位同步移位寄存器(用于 I/O扩展) fORC/12 0 1 1 10位异步串行通信( UART) 可变( T1溢出率 *2SMOD/32) 1 0 2 11位异步串行通信( UART) fORC/64或 fORC/32 1 1 3 11位异步串行通信( UART) 可变( T1溢出率 *2SMOD/32) ( 3)输入移位寄存器 位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H SCON SM0 SM1 SM2 REN TB8 RB8 T1 R1 沈阳航空航天大学课程设计论文 基于单片机的 RS232C 串行通讯接口设计 第 5 页 接收的数据先串行进入输入移位寄存器, 8 位数据全移入后,再并行送入接收 SBUF中。 ( 4)波特率发生器 波特率发生器用来控制串行通信的数据传输速率的, 51系列单片机用定时器 T1作为波特率发生器, T1 设置在定时方式。 波特率是用来表示串行通信数据传输快慢程度的物理量,定义为每秒钟传送的数据位数。 ( 5)电源控制寄存器 PCON 波特率系数控制寄存器 PCON的最高位为 Smod,仅仅是最高位与串行口有关。 在工作方式 1~工作方式 3 时,若 SMOD=1,则串行口波特率增加一倍。 若 SMOD=0,波特率不加倍。 系统复位时, SMOD=0。 PCON 字节地址为 87H,不能位寻址。 PCON 的格式如表 3 表 3 特殊功能寄存器 PCON的格式 ( 6)波特率计算 串行口每秒钟发送(或接收)的位数称为波特率。 设发送一位所需要的时间为 T,则波特率为 1/T。 对于不同方式,得到的波特率的范围是不一样的,这是由定时器 /计数器 T1在不同方式下计数位数的不同所决定的。 串行口工作在方式 1 或方式 3 时,常用定时器 T1 作为波特率发生器,关系式为: 波特率 =2SMOD (T1溢出率 )/32。 MAX232芯片 在电气特性上 RS232C 采用负逻辑,要求高、低两信号间有较大的幅度,标准规定为:逻辑‘ 1’: 5~ 15V ,逻辑‘ 0’ :+5~ +15V。 而单片机的信号电平与 TTL 电平兼容,逻辑 1大于 +,逻辑 0为 以下。 很显然, RS232C 信号电平与 TTL 电平不匹配,为了实现两者的连接,必须进行电平转换。 MAX232C 为单一 +5V 供电,内置自升压电平转换电路,一个芯片能同时完成发送转换和接收转换的双重功能。 其引脚如图 3: PCON D7 D6 D5 D4 D3 D2 D1 D0 位名称 SMOD - - - GF1 GF0 PD IDL 沈阳航空航天大学课程设计论文 基于单片机的 RS232C 串行通讯接口设计 第 6 页 图 3 电平转换芯片 MAX232 (1) C1+, C1, C2+, C2;外接电容端。 (2) R1IN, R2IN:两路 RS232C 电平信号输入端,可接传输线。 (3) R1OUT, R2OUT:两路转换后的 TTL 电平输出端,可接单片机的 RXD 端。 (4) T1OUT, T2OUT:两路转换后的 RS232C 电平信号输出端,可接传输线。 (5) T1IN, T2IN:两路 TTL 电平输入端,可接单片机的 TXD。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。