21课:单片机串行口介绍

发布者:EtherealLight最新更新时间:2020-07-03 来源: eefocus关键字:单片机  串行口 手机看文章 扫描二维码
随时随地手机看文章

介绍:串行口是单片机与外界进行信息交换的工具。


8051单片机的通信方式有两种:

并行通信:数据的各位同时发送或接收。  串行通信:数据一位一位次序发送或接收。参看下图:

串行通信的方式:

异步通信:它用一个起始位表示字符的开始,用停止位表示字符的结束。其每帧的格式如下:

在一帧格式中,先是一个起始位0,然后是8个数据位,规定低位在前,高位在后,接下来是奇偶校验位(能省略),最后是停止位1。用这种格式表示字符,则字符能一个接一个地传送。


在异步通信中,CPU与外设之间必须有两项规定,即字符格式和波特率。字符格式的规定是双方能够在对同一种0和1的串理解成同一种意义。原则上字符格式能由通信的双方自由制定,但从通用、方便的角度出发,一般还是使用一些标准为好,如采用ASCII标准。


波特率即数据传送的速率,其定义是每秒钟传送的二进制数的位数。例如,数据传送的速率是120字符/s,而每个字符如上述规定包含10数位,则传送波特率为1200波特。


同步通信:在同步通信中,每个字符要用起始位和停止位作为字符开始和结束的标志,占用了时间;所以在数据块传递时,为了提高速度,常去掉这些标志,采用同步传送。由于数据块传递开始要用同步字符来指示,同时要求由时钟来实现发送端与接收端之间的同步,故硬件较复杂。


通信方向:在串行通信中,把通信接口只能发送或接收的单向传送办法叫单工传送;而把数据在甲乙两机之间的双向传递,称之为双工传送。在双工传送方式中又分为半双工传送和全双工传送。半双工传送是两机之间不能同时进行发送和接收,任一时该,只能发或者只能收信息。


2.8051单片机的串行接口结构

8051单片机串行接口是一个可编程的全双工串行通信接口。它可用作异步通信方式(UART),与串行传送信息的外部设备相连接,或用于通过标准异步通信协议进行全双工的8051多机系统也能通过同步方式,使用TTL或CMOS移位寄存器来扩充I/O口。


8051单片机通过管脚RXD(P3.0,串行数据接收端)和管脚TXD(P3.1,串行数据发送端)与外界通信。SBUF是串行口缓冲寄存器,包括发送寄存器和接收寄存器。它们有相同名字和地址空间,但不会出现冲突,因为它们两个一个只能被CPU读出数据,一个只能被CPU写入数据。


串行口的控制与状态寄存器

串行口控制寄存器SCON

它用于定义串行口的工作方式及实施接收和发送控制。字节地址为98H,其各位定义如下表:

D7

D6

D5

D4

D3

D2

D1

D0

SM0

SM1

SM2

REN

TB8

RB8

TI

RI


SM0、SM1:串行口工作方式选择位,其定义如下:

SM0、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

可变


其中fosc为晶体震荡器频率


SM2:多机通信控制位。在方式0时,SM2一定要等于0。在方式1中,当(SM2)=1则只有接收到有效停止位时,RI才置1。在方式2或方式3当(SM2)=1且接收到的第九位数据RB8=0时,RI才置1。


REN:接收允许控制位。由软件置位以允许接收,又由软件清0来禁止接收。


TB8: 是要发送数据的第9位。在方式2或方式3中,要发送的第9位数据,根据需要由软件置1或清0。例如,可约定作为奇偶校验位,或在多机通信中作为区别地址帧或数据帧的标志位。


RB8:接收到的数据的第9位。在方式0中不使用RB8。在方式1中,若(SM2)=0,RB8为接收到的停止位。在方式2或方式3中,RB8为接收到的第9位数据。


TI:发送中断标志。在方式0中,第8位发送结束时,由硬件置位。在其它方式的发送停止位前,由硬件置位。TI置位既表示一帧信息发送结束,同时也是申请中断,可根据需要,用软件查询的办法获得数据已发送完毕的信息,或用中断的方式来发送下一个数据。TI必须用软件清0。


RI:接收中断标志位。在方式0,当接收完第8位数据后,由硬件置位。在其它方式中,在接收到停止位的中间时刻由硬件置位(例外情况见于SM2的说明)。RI置位表示一帧数据接收完毕,可用查询的办法获知或者用中断的办法获知。RI也必须用软件清0。


特殊功能寄存器PCON

PCON是为了在CHMOS的80C51单片机上实现电源控制而附加的。其中最高位是SMOD。

串行口的工作方式

8051单片机的全双工串行口可编程为4种工作方式,现分述如下:

方式0为移位寄存器输入/输出方式。可外接移位寄存器以扩展I/O口,也能外接同步输入/输出设备。8位串行数据者是从RXD输入或输出,TXD用来输出同步脉冲。


输出 串行数据从RXD管脚输出,TXD管脚输出移位脉冲。CPU将数据写入发送寄存器时,立即启动发送,将8位数据以fos/12的固定波特率从RXD输出,低位在前,高位在后。发送完一帧数据后,发送中断标志TI由硬件置位。


输入 当串行口以方式0接收时,先置位允许接收控制位REN。此时,RXD为串行数据输入端,TXD仍为同步脉冲移位输出端。当(RI)=0和(REN)=1同时满足时,开始接收。当接收到第8位数据时,将数据移入接收寄存器,并由硬件置位RI。


下面两图分别是方式0扩展输出和输入的接线图。


<单片机串行口接线图>

方式1为波特率可变的10位异步通信接口方式。发送或接收一帧信息,包括1个起始位0,8个数据位和1个停止位1。


输出 当CPU执行一条指令将数据写入发送缓冲SBUF时,就启动发送。串行数据从TXD管脚输出,发送完一帧数据后,就由硬件置位TI。


输入 在(REN)=1时,串行口采样RXD管脚,当采样到1至0的跳变时,确认是开始位0,就开始接收一帧数据。只有当(RI)=0且停止位为1或者(SM2)=0时,停止位才进入RB8,8位数据才能进入接收寄存器,并由硬件置位中断标志RI;不然信息丢失。所以在方式1接收时,应先用软件清零RI和SM2标志。


方式2

方式月为固定波特率的11位UART方式。它比方式1增加了一位可程控为1或0的第9位数据。

输出: 发送的串行数据由TXD端输出一帧信息为11位,附加的第9位来自SCON寄存器的TB8位,用软件置位或复位。它可作为多机通信中地址/数据信息的标志位,也能作为数据的奇偶校验位。当CPU执行一条数据写入SUBF的指令时,就启动发送器发送。发送一帧信息后,置位中断标志TI。


输入: 在(REN)=1时,串行口采样RXD管脚,当采样到1至0的跳变时,确认是开始位0,就开始接收一帧数据。在接收到附加的第9位数据后,当(RI)=0或者(SM2)=0时,第9位数据才进入RB8,8位数据才能进入接收寄存器,并由硬件置位中断标志RI;不然信息丢失。且不置位RI。再过一位时间后,不管上述条件时否满足,接收电路即行复位,并重新检测RXD上从1到0的跳变。


工作方式3

方式3为波特率可变的11位UART方式。除波特率外,其余与方式2相同。

波特率选择

如前所述,在串行通信中,收发双方的数据传送率(波特率)要有一定的约定。在8051串行口的四种工作方式中,方式0和2的波特率是固定的,而方式1和3的波特率是可变的,由定时器T1的溢出率控制。


方式0

方式0的波特率固定为主振频率的1/12。

方式2

方式2的波特率由PCON中的选择位SMOD来决定,可由下式表示:

波特率=2的SMOD次方除以64再乘一个fosc,也就是当SMOD=1时,波特率为1/32fosc,当SMOD=0时,波特率为1/64fosc


3.方式1和方式3

定时器T1作为波特率发生器,其公式如下:

波特率=定时器T1溢出率

T1溢出率= T1计数率/产生溢出所需的周期数

式中T1计数率取决于它工作在定时器状态还是计数器状态。当工作于定时器状态时,T1计数率为fosc/12;当工作于计数器状态时,T1计数率为外部输入频率,此频率应小于fosc/24。产生溢出所需周期与定时器T1的工作方式、T1的预置值有关。


定时器T1工作于方式0:溢出所需周期数=8192-x

定时器T1工作于方式1:溢出所需周期数=65536-x

定时器T1工作于方式2:溢出所需周期数=256-x

因为方式2为自动重装入初值的8位定时器/计数器模式,所以用它来做波特率发生器最恰当。


当时钟频率选用11.0592MHZ时,取易获得标准的波特率,所以很多单片机系统选用这个看起来“怪”的晶体震荡器就是这个道理。


下表列出了定时器T1工作于方式2常用波特率及初值。


常用波特率

Fosc(MHZ)

SMOD

TH1初值

19200

11.0592

1

FDH

9600

11.0592

0

FDH

4800

11.0592

0

FAH

2400

11.0592

0

F4h

1200

11.0592

0

E8h


关键字:单片机  串行口 引用地址:21课:单片机串行口介绍

上一篇:20课:单片机定时/计数器实验
下一篇:22课:单片机串行口通信程序设计

推荐阅读最新更新时间:2024-11-04 17:39

用MSP430单片机实现微波成像系统的扫描控制与数据采集
引言 ----在无源微波遥感中,微波辐射计是一种获取场景微波特征的重要手段。微波辐射计通常是一部超外差接收机,通过接收被测场景在一定频带内的电磁辐射,转换为输出的低频信号,来表征被测场景的地物信息。利用微波辐射计来探测、接收被测目标、背景在微波波段的电磁辐射,并把接收到的辐射信号按比例用伪彩色图像直观地显现出来的系统称为微波辐射成像系统。 ----微波辐射成像系统要求在恶劣的环境和天气下长期稳定地进行天线扫描成像,所以要求系统设备用于天线扫描控制及数据采集的电路尽量简单、稳定。基于以上的要求,采用了TI公司所生产的MSP430F149型超低功耗FLASH单片机作为这套系统的从机部分,该单片机有60KB的FLASH存储器和2KB
[单片机]
用MSP430<font color='red'>单片机</font>实现微波成像系统的扫描控制与数据采集
winavr atmega16 单片机 教程 软件用法
1建立工程 桌面建立空文件夹 开这个软件 新建工程 选个路径,填工程名字led 关掉new。右键。 弄个c文件到test文件夹,记住c文件的文件名字 右键然后点add 找到,打开 有了: 写点程序 打开软件: 打开这2个选: 自己改也行,重要配置就这三个: 另存 保存 加入 打开 得到 2 编译 可以翻一翻 3 程序 调用 #include avr/io.h #include avr/interrupt.h #include util/delay.h #include stdio.h 中断写法: ISR(TIMER0_OVF_vect) {
[单片机]
winavr atmega16 <font color='red'>单片机</font> 教程 软件用法
专家视点:MCU用户面临三大挑战
在日益全球化和竞争激烈的环境中,微控制器的用户(OEM厂商)正在努力求得生存与发展。美国经济萎靡不振,使得他们的生存环境变得更加严峻。这些用户面临三种挑战:首先,他们正在努力通过功能特点、性能或价格使其终端产品实现差异化。其次,他们正在努力加快产品上市速度,以收回在复杂的设计上面所耗费的越来越多的投资。第三,他们试图在不增加成本的情况下实现上述两个目标。MCU用户面临的这些挑战为MCU的下一步发展奠定了基础。 为了使终端产品实现差异化,OEM厂商更加热衷于增加额外的功能特点,比如用户界面与连接性。用户界面正在迅速从按键型向触摸感应型转变。尤其是在家电产业,触摸感应用户界面在外观和功能性方面都具有优势。比如煤气灶表面可
[单片机]
专家视点:<font color='red'>MCU</font>用户面临三大挑战
51单片机P0口上拉电阻的深入研究
如果是驱动led,那么用1K左右的就行了。如果希望亮度大一些,电阻可减小,最小不要小于200欧姆,否则电流太大;如果希望亮度小一些,电阻可增大,增加到多少呢,主要看亮度情况,以亮度合适为准,一般来说超过3K以上时,亮度就很弱了,但是对于超高亮度的LED,有时候电阻为10K时觉得亮度还能够用。通常就用1k的。 对于驱动光耦合器,如果是高电位有效,即耦合器输入端接端口和地之间,那么和LED的情况是一样的;如果是低电位有效,即耦合器输入端接端口和VCC之间,那么除了要串接一个1 4.7k之间的电阻以外,同时上拉电阻的阻值就可以用的特别大,用100k 500K之间的都行,当然用10K的也可以,但是考虑到省电问题,没有必要用那么小的。 对
[单片机]
单片机数码管码段
之前高了段时间的单片机,感觉玩着挺嗨的.... 这篇文章就将数码管的对应码段列举出来,以便大家参考 从0--9,从A--F最后一个是无显示 共阴极码段为:0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71, 0x00 从1--9,从A--F最后一个是0 共阳极码段为: 0xf9, 0xa4, 0xb0, 0x93, 0x92, 0x82, 0xf8, 0x00, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e, 0xc0 从0--
[单片机]
STM32F3 MCU最小BOM表及元器件参数选型
STM32F3xx系列是高集成和易于开发的32位MCU,具有实时功能、数字信号处理、低功耗与低电压操作特性,可广泛用于消费、医疗、便携式健身、系统监控与测量的实际应用。 STM32F3xx系列整合了带有DSP与FPU指令、工作频率为72MHz的32位ARM Cortex-M4内核、高级模拟外设以及嵌入式Flash和SRAM存储器。由于集成了高效的电源结构和多种功耗模式,STM32F3xx降低了应用级功耗并简化了应用设计。 1. 电源方案 STM32F3xxxx器件集实时功能、数字信号处理和低电压操作、高度集成的模拟外设于一身,具有优化的电源结构和多种供电方案。 图1. STM32F3xxxx器件供电方案 •
[单片机]
STM32F3 <font color='red'>MCU</font>最小BOM表及元器件参数选型
找回失去的青春,单片机是玩出来的
你以为我要说离开IT业?常被人说成 IT刁丝 , IT民工 ,我却不以为然。不仅如此,我为做IT而骄傲。看看我们身边的产品,无不与IT有着密切的关系。你说你平时不用电脑。OK,你平时可以不用手机么?你知道手机是 IT刁丝 搞出来的么?再退一步,你说你也不用手机。OK,超市你去不?收银员用的收银机是 IT刁丝 搞出来的。你说你是搞金融的,不是碰IT,错,金融业的后台服务器,同样是 IT刁丝 搞出来的。 言归正传,我说的 青春 ,是我在大学错过的一段的经历,就是 玩 单片机。注意我用的文字 玩 。下次不要说你在 学习 单片机,要说玩单片机。单片机,其实我8年的手机行业工作经历一直都在用,可是手机芯片的单片机,太复杂。学的费劲,玩不起来。
[单片机]
找回失去的青春,<font color='red'>单片机</font>是玩出来的
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved