当前位置:文档之家› 第七章 串行通信与8051串行口

第七章 串行通信与8051串行口


计量技术工程学院
7.2 8051串行口及其应用
7.2.1 8051串行口 8051具有一个可编程的全双工串行通 信接口,它可用作UART,也可用作同步 移位寄存器。其帧格式可以有8位、10位 或11位,并能对波特率进行设置,使用 方便灵活。
计量技术工程学院
1、8051串行口的结构
计量技术工程学院
计量技术工程学院




CLR TI ;清发送中断标志 LCALL DELAY ;调用延时子程序,使显示持续一段时间 RR A ;准备右边一位显示 SJMP LOOP 上述程序中,省略了延时子程序DELAY,应用中,可根据实际需 要进行编写。用方式0外加移位寄存器来扩展8位输出口时,应尽 量在移位寄存器后面带输出锁存器,以免串行移位过程反映到并 行输出口上。 另外,应用串口工作方式0,通过加上并入串出移位寄存器可扩 展一个8位并行输入口。移位寄存器必须带有预置/移位的控制端, 由单片机的一个输出端子加以控制,以实现先由8位输入口置数 到移位寄存器的输入端,然后再串行移位至8051单片机的RXD, 经内部移位接收电路送到串行数据接收缓冲器SBUF中,最后再由 CPU对其读取。
计量技术工程学院
3.串行口方式2和方式3 串行口工作在方式2和方式3均为每帧11位的异步 通信格式,由TXD发送、RXD接收。帧格式中包含1位 起始位(0),8位数据位(低位在前),1位可编程的 第9数据位和1位停止位(1)。发送时,第9数据位 (TB8)可以设置为1或0,也可将奇偶位装入TB8,从 而进行奇偶校验;接收时第9数据位进入SCON的RB8。 方式2和方式3的不同在于其波特率,方式2中波特 率可程控为振荡频率的1/32或1/64,而在方式3中可任 意变化,由定时器T1的溢出率决定。
计量技术工程学院


二、串行口方式1的发送和接收 例7-3:8031串行口按双工方式收发字符,要求传送 的波特率为1200bps。设fosc为6MHz,编写有关的通 信程序。 解:双工通信要求收、发能同时进行。实际上,收、 发操作主要是由串行接口电路实现,CPU只是把数据 从接收缓冲器读出或把数据写入发送缓冲器。数据传 送采用中断方式进行,响应中断以后,通过检测是RI 置位还是TI置位来决定CPU是进行发送操作还是接收操 作。发送和接收都通过调用子程序来完成,设发送数 据区的首地址为20H,接收数据区的首地址为40H,且 发送和接收的字符小于32个。
计量技术工程学院



由硬件置位RI,CPU可查询RI的状态,当RI为1时结束 查询,从中读入接收到的一个字节的数据;也可以利 用RI引起的中断,在中断服务程序中将SBUF中接收到 的一个字节的数据取出。 由于TI和RI均能引起串行口中断,因此在该中断服务 程序中应该用软件判别到底是发送完成中断还是接收 完成中断;另外,标志位TI和RI在中断响应后不Байду номын сангаас自 动清零,因此必须由软件清零。 例7-2:用8051串行口外接一片74HC164串入并出移 位寄存器扩展8位并行口,8位并行口的每位都接一个 发光二极管,要求发光二极管从左到右轮流循环显示。 设发光二极管为共阴极接法,如图7-5所示。
(2)REN:允许接收控制位。由软件置1或清 0,只有当REN=l时才允许接收RXD上的串行数 据,它相当于串行接收的开关;若REN=0,则 禁止接收。 (3)TB8:发送数据的第9位(D8)放入TB8 中。在方式2或方式3中,根据发送数据的需要 由软件对TB8置位或清0。 (4)RB8:接收数据的第9位。在方式2或方 式3中,接收到的第9位数据放在RB8位。它或 是约定的奇/偶校验位
计量技术工程学院


7.2.3 8051串行口的应用 8051串行口的工作主要受串行口控制寄存器 SCON和电源控制寄存器PCON中的SMOD位的 控制。MCS-51单片机串行口有四种工作方式 实现数据的串行传送。 (1)方式0:移位寄存器输入/输出方式。串 行数据通过RXD线输入或输出,而TXD线专用 于输出时钟脉冲给外部移位寄存器。方式0可 用来同步输出或接收8位数据(低位在先), 波特率固定为fosc/12,其中,fosc为单片机的 振荡频率。
计量技术工程学院
解2:由于选用定时器Tl工作模式2作为 波特率发生器,串口工作为方式1,设定 时器初值为X,则有: X=256﹣2SMOD×fosc/384/波特率 =256﹣20×11.0592×10 6 /384/4800=250=0FAH 所以,定时器T1的初值为: (TH1)=(TL1)=0FAH
(1)SM0和SM1:串行口工作方式选择位。 表7-1串行口的工作方式
SM0 SM1 工作方式 说明 波特率
0
0
方式0
同步移位寄存器
fosc / 12
0
1
方式1
10位异步收发
由定时器T1溢出率控制
1
0
方式2
11位异步收发
fosc/32或fosc/64
1
1
方式3
11位异步收发
由定时器T1溢出率控制
计量技术工程学院
计量技术工程学院
计量技术工程学院
7.1.2、串行通信的传送方式
计量技术工程学院
7.1.3、异步通信和同步通信 串行通信有两种基本通信方式。 1.异步通信 数据是一帧一帧传送的。
图7-3异步通信的帧数据格式
计量技术工程学院
在帧格式中,一个字符由四个部分组成:起始位、 数据位、奇偶校验位和停止位。首先是一个起始位 (0),然后是5~8位数据(规定低位在前,高位在 后),接下来是奇偶校验位(可略),最后是停止位 (1)。 2.同步通信 在数据开始传送前用同步字符来指示(通常约定 1~2个字符),并由时钟来实现发送端和接收端同步, 即检测到规定的同步字符后,下面就连续按顺序传送 数据,直到通信告一段落。同步传送时,字符与字符 之间没有间隙,也不用起始位和停止位,仅在数据块 开始时用同步字符SYNC来指示。
计量技术工程学院
解:采用查询方式,显示的延迟时间通过调用延迟程序DELAY来实现 程序清单: MAIN: MOV SCON , # 00H ;串行口初始化,工作方式0 MOV A, # 80H ;置初值(最左一位发光二极管亮) LOOP: MOV SBUF , A ;开始串行输出 WAIT: JNB TI,WAIT ;TI=0,等待
计量技术工程学院




一、串行口方式0的应用 8051单片机串行口工作方式0为同步工作方式,也称为移位寄存 器工作方式,利用外接串入并出或并入串出器件,可实现I/O的扩 展。 串行口方式0应用时,应先对串行口控制寄存器SCON进行初始化。 将SM0和SM1位均设为0,同时SM2也应设为0,清零标志位TI和 RI,若仅用作输出则应清零REN,若用于输入则置REN为1。 数据的发送和接收可以采用查询方式也可以采用中断方式来处理。 在串行口发送时,只要将需要发送的数据写入发送数据缓冲器 SBUF中即可,一个字节发送完成后自动置位TI,CPU可程序查询 TI的状态,当TI为1时结束查询,进入下一个字节内容的发送;也 可以利用TI引起的中断,在中断服务程序中发送下一个数据。在 串行口接收时,一个字节数据接收完成后,
计量技术工程学院
(5)SM2:多机通信控制位,主要用于方式2和方式3。 若SM2=1,则允许多机通信。多机通信协议规定, 第9位数据(D8)为1,说明本帧为地址帧;若第9位 为0,则本帧为数据帧。 (6)TI:发送中断标志。 (7)RI:接收中断标志。 2.PCON(87H) PCON中的最高位SMOD位与串行口工作有关。 SMOD:波特率倍增位。
计量技术工程学院
7.2.2 波特率设计 1.方式0的波特率 波特率固定为振荡频率的1/12,不受PCON 寄存器中SMOD位的影响。 方式0波特率=fosc/12 2.方式2的波特率 方式2波特率取决于PCON中SMOD位的值。 当SMOD=0时,波特率为fosc的1/64;若 SMOD=1,则波特率为fosc的1/32。即: 方式2波特率=fosc×2SMOD/64
计量技术工程学院
第七章 串行通信与8051串行口
8051是一个8位的单片机,在处理8位 数据时,若以并行传送方式一次传送一 个字节的数据,至少需要8条数据线。当 8051与打印机等设备连接时,除8条数据 线外,还需要状态、应答等控制线。但 是,当计算机之间、计算机与其终端之 间的距离较远时,电缆线过多将会带来 很大的负担。
2、串行口控制寄存器 1).SCON(98H) 8051串行通信的方式选择、接收和发送 控制以及串行口的状态标志等均由特殊功 能寄存器SCON控制和指示,其控制字格式 如图下。
位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H
位功能
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
计量技术工程学院
计量技术工程学院



(2)方式1:10位异步接收/发送方式。一帧数据包括 1位起始位(0),8位数据位和1位停止位(1)。串行接 口电路在发送时能自动插入起始位和停止位;在接收 时,停止位进入特殊功能寄存器SCON的RB8位。方式 1的传送波特率是可变的,可通过改变内部定时器T1的 定时值来改变波特率。 (3)方式2:11位异步接收/发送方式。除了1位起始 位、8位数据位、1位停止位之外,还插入第9位数据位, 波特率固定为fosc/32或fosc/64。 (4)方式3:同方式2,只是波特率可变。
计量技术工程学院
7.1 串行通信概述
7.1.1 数据通信 计算机的CPU与外部设备之间常常要进行信息交换, 一台计算机与其他计算机之间也往往要交换信息,所 有这些信息交换均可称为通信。 并行通信:数据的各位同时进行传送的通信方式。 其优点是传送速度快,缺点是数据传输线多。 串行通信:数据是一位一位按顺序传送的通信方式。 它的突出优点是只需一对传输线,这样可大大降低传 送成本,特别适用于远距离通信;其缺点是传送速度 较低。
相关主题