基于单片机的串行通信

上传人:wm****3 文档编号:46979524 上传时间:2018-06-28 格式:PDF 页数:9 大小:179.47KB
返回 下载 相关 举报
基于单片机的串行通信_第1页
第1页 / 共9页
基于单片机的串行通信_第2页
第2页 / 共9页
基于单片机的串行通信_第3页
第3页 / 共9页
基于单片机的串行通信_第4页
第4页 / 共9页
基于单片机的串行通信_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《基于单片机的串行通信》由会员分享,可在线阅读,更多相关《基于单片机的串行通信(9页珍藏版)》请在金锄头文库上搜索。

1、 25实验四实验四 基于单片机的串行通信基于单片机的串行通信 一、 实验目的一、 实验目的 1 了解串行通信的基本知识; 2 掌握用单片机串行口实现串行通信的方法。 二、 实验器材二、 实验器材 微机、示波器、万用表、电源、AEDK 仿真开发系统,面包板一块,MAX202C 芯片一块, 电容、电阻、导线若干。 三、 实验原理三、 实验原理 此处仅介绍与本实验内容密切相关的串行通信基本知识,其它有关基本知识介绍请见 本讲义实验七。 11 串行通信的异步和同步传送方式 CPU 与其外部设备之间的信息交换或计算机之间的信息交换均可被称为“通信” 。 通信的基本方式可分为并行通信和串行通信两类。并行通

2、信是指数据各位同时并行传 送的通信方式,而串行通信是指数据逐位顺序串行传送的通信方式(如图 4.1 所示) 。 在并行通信中,由于有多根传输线并行传送数据,因此传送速度快、通信速率高。但 当多位数据远程传输时, 传输线路的开销就成为突出问题。 由于串行通信只需一对传输线, 并且可以利用电话线等现有通信信道作为传输介质,因而可以大大降低传输线路的成本。 一般而言,串行通信的传送速度明显低于并行通信。 D0 数据 D1 D2 D3 D4 D5 D6 D7 控制线 信号地 (a)并行通信 (b)串行通信 图 4.1 通信方式示意图 计 算 机 计 算 机 或 外 设计 算 机 或 外 设 计算机26

3、 串行通信分为异步传送和同步传送两类。异步通信是一种字符再同步的通信方式,而 同步通信是靠识别同步字符来实现数据的发送和接收的。 (1) 异步传送方式 异步传送的特点是:数据以字符方式随机且断续地在线路上传送(但在同一字符的 内部的传送是同步的) 。各字符的传送依发送方的需要可连续,也可间断。通信双方用 各自的时钟源来控制发送和接收。通信双方按异步通信协议传输字符。 异步通信格式如图 4.2 所示,每个字符由起始位、数据位、奇偶校验位和停止位四个 部分顺序组成。这四个部分组成异步传输中的一个传输单元,即字符帧。 ? 起始位:为“0”信号,占 1 位。起始位的作用有两个:表示一个新字符帧的开始。

4、 即线路上不传送字符时,应保持为“1” 。接收端检测线路状态连续为“1”后或在停 止位后有一个“0” ,就知道将发来一个新的字符帧。用以同步接收端的时钟,以保 证后续的接收能正确进行。 ? 数据位:紧接于起始位后面,它可以占 5、6、7 或 8 位不等,数据的位数依最佳传送 速率来确定。如所传数据为ASCII码字符,则常取 7 位。数据位传输的顺序,总是最 低位(LSB)DB0B在先。 ? 奇偶校验位:在数据位之后,占 1 位。它用来检验信息传送否有错。它的状态常由发 送端的奇偶校验电路确定。奇偶位的值取决于校验类型,若为偶校验,则数据位和校 验位中逻辑“1”的个数必须是偶数;若为奇校验,则数

5、据位和校验位中逻辑“1”的 个数必须是奇数。也可以规定不用奇偶校验位,或用其它的校验方法来检验信息传送 过程是否有错。 ? 停止位:用“1”来表征一个字符帧的结束。停止位可以占 1 位、1.5 位或 2 位不等。 接收端收到停止位时,表明这一字符已接收完毕,也表明下一个字符帧可能到来。若 停止位以后不是紧接着传送下一个字符帧, 则让线路上保持为 “1” , 即空闲等待状态。 图 4.2 既表示一个字符紧接一个字符传送的情况, 又表示两个字符间有空闲位的情况。 串行通信的一个重要指标是波特率。它定义为每秒钟传送二进制数码的位数(亦称波 特率) ,以“位秒” (bps)为单位。在异步通信中, 波待

6、率(每个字符帧的位数)(每秒传送的字符数) 常用的波特率有 600、1200、2400、4800、9600、19200(bps)等。 由于异步通信双方各用自己的时钟源,若时钟频率等于波特率,则频率稍有偏差就会 产生接收错误。时钟频率应比波特率高,时钟频率与波特率的比一般选 16:1 或者 64:1。 采用较高频率的时钟,在一位数据内就有 16 或 64 个时钟,就可以保证捕捉正确的信号。 1 1 0 D0 D1 D2 D3 D4 D5 D6 D7 C 1 0 DO D1 D2 D3 D4 D5 D6 D7 C 1 1 1 空闲位 数据位 起 始 位 校 验 位停 止 位起 始 位数据位 校 验

7、 位 停 止 位 空闲位 第 n 个字符帧 第 n1 个字符帧 图 4.2 异步通信的字符帧格式 27因此,在异步通信中,收发双方必须事先约定两件事:一是规定字符帧格式,即规定 字符各部分所占的位数,是否采用校验,以及校验的方式等;二是规定所采用的波特率以 及时钟频率和波特率间的比例关系。异步传送由于不传送同步时钟脉冲,所以设备比较简 单,实现起来方便,它还可根据需要连续地或有间隙地传送数据,对各字符间的间隙长度 没有限制。缺点是在数据字符串中要加上起同步作用的起始位和停止位,降低了有效数据 位的传送速率,仅适合于低速通信的场合。 (2) 同步传送方式 同步传送方式以许多字符或许多位组成的数据

8、块为传输单位连续地传送数据。在通信 开始以后,发送端连续发送字符,接收端也连续接收字符,直到一个数据块传送结束。同 步传送时,字符与字符之间没有间隙,也不用起始位和停止位,仅在数据块开始时用同步 字符 SYNC 来指示,这就提高了数据传送的效率,其符号格式如图 4.3 所示。同步通信可 以分为单同步字符方式和双同步字符方式,图 4.3(a)为双同步字符方式,图 4.3(b)为 单同步字符方式,同步字符之后是连续的数据块。同步字符可以由用户约定,当然也可以 采用 ASCII 码中规定的 SYN 代码,即 16H。按同步方式通信时,在发送时要插入同步字 符,接收方检测到同步字符时,即准备开始接收,

9、因此,硬件设备需有插入同步字符和相 应的检测手段,设备较复杂。在同步传送时,无论接收或发送,都要求统一时钟。为了保 证接收正确无误,发送方除了传送数据外还要把时钟信号同时传送出去。同步传送的优点 是传送速率较高,可达 56K 波特或更高。 (a) (b) 图 4.3 同步传送符号格式 22 MCS-51系列单片机的串行通信接口 MCS-51系列单片机的串行通信接口 MCS 一 51 系列单片机内部有一个可编程的全双工串行通信口,可作为通用异步接收 和发送器,也可作为同步移位寄存器用。该串行口有 4 种工作模式(详见下文 2.6) 。片内 的定时器计数器可用作波特率发生器。接收、发送均可工作在查

10、询方式或中断方式。 2.12.1 串行通信接口结构 串行通信接口结构 MCS 一 51 系列单片机内部的串行通信口,有二个物理上相互独立的接收、发送缓冲 器 SBUF,对外也有两条独立的收、发信号线 RxD(P3.0)和 TxD(P3.1) 。可以同时发送、 接收数据,实现全双工传送。发送缓冲器和接收缓冲器不能互换,发送缓冲器只能写入不 能读出,接收缓冲器只能读出不能写入。两个缓冲器占用同一个端口地址(99H) 。具体对 哪一个缓冲器进行操作,取决于所用的指令是发送还是接收。 接收是双缓存的,以避免在接收下一帧数据之前,CPU 未能及时响应接收中断, 未把同步字符同步字符 1 同步字符同步字符

11、 2同步字符数据数据同步字符数据数据28 上一帧数据取走而产生两帧数据重叠的问题。而对于发送器,,因为发送时 CPU 是主动的, 不会产生写重叠的问题,所以不需要双缓存。 与串行通信口有关的寄存器有多个,除 SBUF 之外,还有 SCON、PCON、IE 和定时 器/计数器,用校验方式进行通信,有时也会用到程序状态字寄存器 PSW。 2.22.2 串行口控制寄存器 SCON 串行口控制寄存器 SCON SCON 用于控制和监视串行口的工作状态,定义如下: 表 4.2 SCON 寄存器 表 4.2 SCON 寄存器 (MSB) (LSB) SM0 SM1 SM2 RENTB8 RB8 TI RI

12、 ? SM0 和 SM1:串行口工作模式选择位,对应四种模式,见表 4.3。 ? SM2: 在模式模式 0 时,SM2 不用,应设置为 0。 在模式模式 1 时,SM2 一般也应设置为 0。若 SM2,则只有收到有效停止位才会激活 RI,并自动发出串行口中断请求(设中断是开放的) ,若没有接收到有效停止位,则 RI 清零。 在模式模式 2 或模式或模式 3 下,SM2 的设置与字符帧第九位的作用有关。 在第九位用作奇 偶位的情形,应置 SM2=0。 在第九位用于表示是地址帧还是数据帧的多机通信情 形,若 SM2和 RB81 时,RI 不仅被激活,而且可以向 CPU 请求中断;若 SM2 0,串

13、行口以单机发送或接收方式工作,TI 和 RI 以正常方式被激活。SM2 在多机 通信中的使用方法,详见本讲义 P.34 的有关主从式多机通信过程的说明。 表 4.3 串行口工作模式选择 表 4.3 串行口工作模式选择 SM0 SM1 模 式 功 能 波 特 率 0 0 0 1 1 0 1 1 0 1 2 3 同步移位寄存器 8 位 UART 9 位 UART 9 位 UART fBOSCB/12 可变 fBOSCB/64 或fBOSCB/32 可变 ? REN:允许接收控制位,由软件置位或清除。REN=1 则允许接收, REN=0, 禁止接收。 ? TB8:该位是模式 2 和 3 中要发送的第

14、九位数据。在许多通信协议中, 该位是奇偶位, 可以按需要由软件置位或清除。在多机通信中, 该位用于表示是地址帧还是数据帧。 ? RB8:该位是模式 2 和 3 中已接收的第九位数据 (可能是奇偶位, 或是地址帧/数据帧 标识位)。在模式 1 中, 若 SM2=0, RB8 是已接收的停止位。在模式 0 中, RB8 未用。 ? TI:发送中断标志。在模式 0 中, 在发送完第 8 位数据时, 由硬件置位;在其他模式 中, 在发送停止位之初, 由硬件置位,申请中断, CPU 响应中断后, 发送下一帧数据。 在任何模式中, 都必须由软件清除 TI. ? RI:接收中断标志。在模式 0 中, 接收第

15、 8 位数据结束时, 由硬件置位;在其他模式 中, 在接收停止位的半中间, 由硬件置位,申请中断, 要求 CPU 取走数据。但在模式291 中, SM2=1 时, 若未接收到有效的停止位, 则不会对 RI 置位。在任何模式中,都必 须由软件清除 RI. 2.32.3 电源控制寄存器 PCON 中的波特率倍增控制位 SMOD 电源控制寄存器 PCON 中的波特率倍增控制位 SMOD PCON 中有与串行口通信波特率有关的控制位 SMOD,SMOD1 时波特率加倍。 2.42.4 允许中断寄存器 IE 的串行口中断控制位 ES 允许中断寄存器 IE 的串行口中断控制位 ES IE 中的 ES 位为

16、串行口中断控制位, ES=1 且总中断允许位 EA=1 时, 允许串行口中断。 2.52.5 定时器/计数器 1 作波特率发生器 定时器/计数器 1 作波特率发生器 在模式 1 和模式 3 下, 其中fBoscB为晶振频率, TH1 为定时器 1 的重装载值., 定时器/计数器 1 工作于自动重装载 模式, 即模式 2。定时器 1 中断应禁止。 2.62.6 串行口的工作模式 串行口的工作模式 串行口的四种工作模式中,模式 1、2、3 用于通信,模式 0 主要用于 I/O 口扩展。 模式 0 模式 0 在模式 0 状态下, 串行口为同步移位寄存器方式, 其波特率固定为fBoscB12。 RxD (P3.0) 端输入输出数据,而TxD(P3.1)线专用于输出时钟脉冲给外部

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号