串口及串行通信技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

串行通信——数据一位一位顺序传送。 特点: 成本低,但速度慢; ② 计算机与远程终端或终端与终端之间的数据传送通常都 是串行的; ③ 串行数据传送的距离可以从几米到几千公里;
① 数据传送按位顺序进行,最少只需一根传输线即可完成,
④ 适用于长距离通信;
⑤ 在通信技术中,输出又称为发送(TXD),输入又称为 接收(RXD)。
一、并行通信和串行通信 单片机与外界的信息交换称为通信。基本的通信方 法有并行通信和串行通信两种。 并行通信——数据的各位同时传送。 特点: ① 各数据位同时传送,传送速度快、效率高。但有多少数 据位就需要有多少根数据线,因此传送成本高;
② 在集成电路芯片的内部、同一插件板上各部件之间、同
一机箱内各插件板之间等的数据传送都是并行的; ③ 并行数据传送距离通常小于30米,适用于近距离通信。
能读出接收的数据,不能写入。
4、内部还有发送控制器、接收控制器、输入移位寄存器 等不可访问寄存器共同实现串行数据的输入输出。
一、串行口控制寄存器SCON 串行口控制寄存器SCON的字节地址为98H,可位寻 址,系统复位时,SCON清零。包含串行口工作方式选择 位、接收和发送控制位以及串行口状态标志位。各位名称 及位地址如下:
异步通信的字符帧格式
2、同步通信方式
同步通信是一种连续串行传送数据的通信方式,一次通信只传
送一帧信息。这里的信息帧和异步通信中的字符帧不同,通常有若
干个数据字符。 同步字符帧由同步字符、数据字符和校验字符组成。其中:
同步字符位于帧结构开头,用于确认数据字符的开始(接收端不
断对传输线采样,并把采到的字符和双方约定的同步字符比较,只 有比较成功后才会把后面接收到的字符加以存储);
4、两种串行通信方式的优缺点 异步通信 优点:不需要传送同步脉冲,字符帧长度也不受限制, 故所需设备简单。 缺点:字符帧中因包含有起始位和停止位而降低了有效
数据的传输速率。
同步通信 优点:传输速率较高,通常可达56000bit/s或更高。 缺点:要求发送时钟和接收时钟保持严格同步,故发送 时钟除应和ห้องสมุดไป่ตู้送波特率保持一致外,还要求把它同时传 送到接收端去。
1、用方式0的发送过程 数据写入SBUF后,开始从RXD端发送,低位在前,
高位在后;
同时同步移位脉冲从TXD端输出; 一字节发送完后,TI标志置“1”,发出中断请求;
如果要继续发送下一字节,必须用软件清除TI中断标
志。
2、用方式0的接收过程 REN为“1”,且RI=0的条件下,将启动一个接收过程。
通过设置SM2,可以实现多机通信。
④ TB8——在方式2或方式3中,是发送数据的第9位。 根据发送数据的需要由软件置位或者复位。可作奇偶
校验位,也可在多机通信中作区别地址帧或数据帧的标志
位。方式0时不使用TB8。 ⑤ RB8——在方式2或方式3中,是接收到数据的第9位。 可作奇偶校验位或是约定的地址/数据标志位。在方式 1中,若SM2=0,则RB8存放的是已接收到的停止位。方 式0不使用RB8。 ⑥ TI——发送中断标志位,指示一帧数据发送是否完毕。 ⑦ RI——接收中断标志位,指示一帧数据接收是否完毕。
6、串-并转换 两个通信设备在串行线路上要成功地实现通信就必
须解决串-并转换的问题,即如何把要发送的并行数据
串行化,把接收的串行数据并行化。 串行通信是: 发送端将单片机内部的并行数据通过移位寄存器, 一位一位移出,转换成串行数据,并将其通过一根通信
线传送;
接收端将接收的串行数据一位一位送入移位寄存器, 满8位后,转换成并行数据送到单片机内部。
数据字符在同步字符之后,个数不受限制,由所需传输的数据块
长度决定; 校验字符有1~2个,位于帧结构末尾,用于接收端对接收到的数
据字符的正确性的校验。
在同步通信中,同步字符可以采用统一标准符式,也可由用户约定。 在单同步字符帧结构中,同步字符常采用ASCII码中规定的SYN(即
16H)代码;
第八章
串口及串行通信技术
教学目的
掌握串行通信基础知识 掌握MCS-51单片机的串行通信的基本原理
学习重点和难点
MCS-51单片机串行通信的基本原理 单片机串行通信的应用
本章主要内容
串行数据通信基础知识 串行口内部结构 串行口工作方式以及应用 单片机通信
第一节
串行数据通信基础知识
够实现双方向传送,但任何时刻只能由其中的一方发送
数据,另一方接收数据。
半双工
全双工方式:系统的每端都含有发送器和接收器,数 据可以同时在两个方向上传送。
全双工
注意:尽管许多串行通信接口电路具有全双工功能,但在实际应 用中,大多数情况下只工作于半双工方式,即两个工作站通常并不 同时收发。 这种用法并无害处,虽然没有充分发挥效率,但简单、实用!
RXD为串行输入端,TXD输出同步脉冲。
当接收完一帧数据后,各控制信号复位,RI变为高电平, 请求中断。 要再次接收,也必须用软件清零RI。
例:利用一片74LS165扩展1个8位并行输入端口,并编 制程序,将8位输入量读入累计器A中。 扩展电路如下图所示:
利用串行口扩展并行输入口电路
说明: 74LS165是8位并行输入—串行输出移位寄存器; RXD为串行输入引脚,与74LS165的串行输出端相连; TXD为移位脉冲输出端,与74LS165芯片移位脉冲输入
SETB P1.0;
S/L=0,并行置入数据
S/L=1,允许串行移位
MOV SCON,#10H;串行口方式0,启动接收
WAIT: JNB RI,WAIT;
CLR RI; MOV A,SBUF; RET;
查询RI
8位数据输入完成,清RI 取数据存入A中 子程序返回
例:用8031串行口和74LS164扩展8位并行口,8位并行 口每位接一个发光二极管,要求发光二极管从右到左以一
待CPU读入。
3、波特率 在串行通信中,对数据传送速率有一定要求。在一帧
信息中,每一位的传送时间(位宽)是固定的,用位传送
时间Td表示。Td的倒数称为波特率(Baud rate)。 波特率表示每秒传送的位数,单位b/s(记作波特)。
异步通信的传送速率一般在50~9600b/s之间。
例:电传打字机的传送速率每秒钟10个字符,若每个字 符的一帧为11位,则传送波特率为: 11位/字符×10字符/s=110b/s 位传送时间Td=9.1ms
基本通讯方式示意图
二、串行数据通信基本原理
串行通信有两种基本通信方式:异步通信和同步通信。
1、异步通信方式
在异步通信中,数据通常是以字符(或字节)为单位组成字符帧 传送的。字符帧由发送端一帧一帧地发送,通过传输线被接收设备 一帧一帧地接收。发送端和接收端可以有各自的时钟来控制数据的 发送和接收,这两个时钟源彼此独立,互不同步。 在异步通信中,接收端是依靠字符帧格式来判断发送端是何时 开始发送及何时结束发送。平时,发送线为高电平(逻辑“1”),
在双同步字符帧结构中,同步字符一般采用国际通用标准代码EB90H。
同步通信的字符帧格式
MCS-51单片机串行I/O端口的基本工作过程是按异步
通信方式进行的。
在发送时,将CPU送来的并行数据转换成一定格式的 串行数据,从引脚TXD上按规定的波特率逐位输出; 接收时,要监视引脚RXD,一旦出现起始位“0”,就 将外设送来的一定格式的串行数据转换成并行数据,等
第三节
串行口工作方式及应用
通过对SM0和SM1两个方式位的设置,串行口可工作
于4种不同工作方式。 一、方式0
同步移位寄存器输入输出方式; 数据由RXD(P3.0)引脚输入或输出,同步移位脉冲 由TXD(P3.1)引脚输出; 发送和接收均为8位数据,不设起始位、停止位和奇偶 校验位,低位在先,高位在后。 波特率固定为:fosc/12; 工作方式0可用于扩展并行输入/输出口。
二、特殊功能寄存器PCON PCON字节地址位87H,不能位寻址。
PCON中只有最高位SMOD位与串口工作有关: SMOD=1时,波特率加倍;
SMOD=0时,波特率不加倍。
SMOD称为波特率倍增位,复位时SMOD=0
三、串行口数据缓冲器SBUF 单片机内部,有两个物理上独立的缓冲器,分别负责 接收和发送数据,它们占用同一地址99H,编程时使用同 样的寄存器名称SBUF。 执行写SBUF指令——MOV SBUF ,A时,硬件自动 将数据送入发送缓冲器,开始串行发送。 执行读SBUF指令--MOV A ,SBUF时,硬件自动 将接收缓冲器的内容送入A累加器,完成串行接收。
① SM0、SM1——串行口4种工作方式的选择位 表 串行口的4种工作方式
SM0 SM1 工作方式
0 0 0 1 0 1
功能说明
8位同步移位寄存器 8位异步收发
波特率
fosc/12 由定时器控制
1
1
0
1
2
3
9位异步收发
9位异步收发
fosc/32或fosc/64
由定时器控制
② REN——允许串行接收位。 如果软件对REN置“1”,则启动串行口接收数据; 若清零REN位,则禁止接收。
SCON.4:REN=1,允许接收,1有效; SCON.3和SCON.2:TB8=0、RB8=0,与方式0无关, 此处可取为0; SCON.1:TI=0,与接收无关,取0; SCON.0:RI=0,接收中断标志,此处先清0。 所以有:SCON=00010000B=10H
程序如下:
START:CLR P1.0;
数据位:紧跟起始位之后,用户根据情况可取5位、6位、7位或8位,
低位在前高位在后。若所传数据为ASCII字符,则常取7位。 奇偶校验位:位于数据位后,仅占一位,用来表征串行通信中采用 奇校验还是偶校验,由用户根据需要决定。 停止位:位于字符帧末尾,为逻辑“1”(高电平),通常可取1位、 1.5位或2位,用于向接收端表示一帧字符信息已发送完毕,也为 发送下一帧字符作准备。
端相连;
用1根I/O线来控制并行置入数据和允许串行移位。
① S/L(shift/load)=0,并行置入数据;
② S/L(shift/load)=1,允许串行移位。
解:设串行口方式0接收,SCON设置如下所示: SCON.7和SCON.6:SM0 SM1=00,工作于方式0;
SCON.5:SM2=0,方式0时取0;
5、通信方向 在串行通信中,数据是在两个站之间传送的。按照数
据传送方向,串行通信可分为单工、半双工和全双工三种
传送方式。 单工方式:通信线的一端接发送器,另一端接接收器,它 们形成单向连接,只允许数据按照一个固定的方向传送。 数据只能单方向传送。
单工
半双工方式:系统中的每个通信设备都由一个发送器和 一个接收器组成,通过收发开关接到通信线上。数据能
第二节
串行口内部结构
MCS-51单片机串行接口是一个全双工串行通信接口。
÷2
÷16
串行口组成原理框图
说明: 1、单片机通过P3口的两个引脚与外部设备进行串行通讯: P3.1为串行数据发送端TXD
P3.0为串行数据接收端RXD
2、与串行口操作有关的特殊功能寄存器有SCON、PCON 和SBUF; 3、对于发送缓冲器(SBUF)CPU只能写如发送的 数据,不能读出;对于接收缓冲器(SBUF)CPU只
每当接收端检测到传输线上发送过来的低电平逻辑“0”(字符帧中
起始位)时,就知道发送端已开始发送,每当接收端接收到字符帧 中的停止位时,就知道一帧字符信息己发送完毕。
字符帧(Character Frame)
字符帧也叫数据帧,由起始位、数据位、奇偶校验位和停止
位四部分组成。各部分结构和功能分述如下:
起始位:位于字符帧开头,只占一位,始终为逻辑“0”(低电 平),用于向接收设备表示发送端开始发送一帧信息。
③ SM2——多机通信控制位,主要用于方式2和3 方式0时,则SM2=0;
方式1时,若SM2=1,则只有接收到有效停止位时,
RI才置1; 方式2、3时,如果接收机的SM2=1,当收到的RB8
位为“1”时,收到的数据进入SBUF,并激活RI,通知
CPU将数据从SBUF读走;反之则不激活RI,收到的 信息丢弃; 当SM2=0时,不论收到的RB8为“0”还是“1”,均 可以使收到的数据进入SBUF,并激活RI;
相关文档
最新文档