51单片机的串行通信口原理解析

发布者:玄幻剑客最新更新时间:2023-07-18 来源: elecfans关键字:51单片机  串行通信口 手机看文章 扫描二维码
随时随地手机看文章

MCS-51单片机内部有一个全双工的串行通信口,即串行接收和发送缓冲器(SBUF),这两个在物理上独立的接收发送器,既可以接收数据也可以发送数据。但接收缓冲器只能读出不能写入,而发送缓冲器则只能写入不能读出,它们的地址为99H。这个通信口既可以用于网络通信,亦可实现串行异步通信,还可以构成同步移位寄存器使用。如果在传行口的输入输出引脚上加上电平转换器,就可方便地构成标准的RS-232接口。下面我们分别介绍。


[1]。 基本概念

数据通信的传输方式

常用于数据通信的传输方式有单工、半双工、全双工和多工方式。

单工方式:数据仅按一个固定方向传送。因而这种传输方式的用途有限,常用于串行口的打印数据传输与简单系统间的数据采集。

半双工方式:数据可实现双向传送,但不能同时进行,实际的应用采用某种协议实现收/发开关转换。

全双工方式:允许双方同时进行数据双向传送,但一般全双工传输方式的线路和设备较复杂。

多工方式:以上三种传输方式都是用同一线路传输一种频率信号,为了充分地利用线路资源,可通过使用多路复用器或多路集线器,采用频分、时分或码分复用技术,即可实现在同一线路上资源共享功能,我们盛之为多工传输方式。

串行数据通信两种形式

异步通信

在这种通信方式中,接收器和发送器有各自的时钟,它们的工作是非同步的,异步通信用一帧来表示一个字符,其内容如下:一个起始位,仅接着是若干个数据位,图2是传输45H的数据格式。

同步通信

同步通信格式中,发送器和接收器由同一个时钟源控制,为了克服在异步通信中,每传输一帧字符都必须加上起始位和停止位,占用了传输时间,在要求传送数据量较大的场合,速度就慢得多。同步传输方式去掉了这些起始位和停止位,只在传输数据块时先送出一个同步头(字符)标志即可。

同步传输方式比异步传输方式速度快,这是它的优势。但同步传输方式也有其缺点,即它必须要用一个时钟来协调收发器的工作,所以它的设备也较复杂。

51单片机的串行通信口原理解析

串行数据通信的传输速率

串行数据传输速率有两个概念,即每秒转送的位数bps(Bit per second)和每秒符号数—波特率(Band rate),在具有调制解调器的通信中,波特率与调制速率有关。

[2]。 MCS-51的串行口和控制寄存器

串行口控制寄存器

MCS-51单片机串行口寄存器结构如图3所示。SBUF为串行口的收发缓冲器,它是一个可寻址的专用寄存器,其中包含了接收器和发送器寄存器,可以实现全双工通信。但这两个寄存器具有同一地址(99H)。MCS-51的串行数据传输很简单,只要向发送缓冲器写入数据即可发送数据。而从接收缓冲器读出数据即可接收数据。

此外,从图中可看出,接收缓冲器前还加上一级输入移位寄存器,MCS-51这种结构目的在于接收数据时避免发生数据帧重叠现象,以免出错,部分文献称这种结构为双缓冲器结构。而发送数据时就不需要这样设置,因为发送时,CPU是主动的,不可能出现这种现象。

51单片机的串行通信口原理解析

串行通信控制寄存器

在上一节我们已经分析了SCON控制寄存器,它是一个可寻址的专用寄存器,用于串行数据的通信控制,单元地址是98H,其结构格式如下:

表1 SCON寄存器结构

SCOND7D6D5D4D3D2D1D0

SM0SM1SM2RENTB8RB8TIRI

位地址9FH9EH8DH9CH9BH9AH99H98H

下面我们对各控制位功能介绍如下:

(1).SM0、SM1:串行口工作方式控制位。

SM0,SM1 工作方式

00 方式0

01 方式1

10 方式2

11 方式3

(2).SM2:多机通信控制位。

多机通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。接收状态,当串行口工作于方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接受到的数据放弃。当SM2=0时,就不管第位数据是0还是1,都难得数据送入SBUF,并发出中断申请。

工作于方式0时,SM2必须为0。

(3).REN:允许接收位。

REN用于控制数据接收的允许和禁止,REN=1时,允许接收,REN=0时,禁止接收。

(4).TB8:发送接收数据位8。

在方式2和方式3中,TB8是要发送的——即第9位数据位。在多机通信中同样亦要传输这一位,并且它代表传输的地址还是数据,TB8=0为数据,TB8=1时为地址。

(5).RB8:接收数据位8。

在方式2和方式3中,RB8存放接收到的第9位数据,用以识别接收到的数据特征。

(6).TI:发送中断标志位。

可寻址标志位。方式0时,发送完第8位数据后,由硬件置位,其它方式下,在发送或停止位之前由硬件置位,因此,TI=1表示帧发送结束,TI可由软件清“0”。

(7).RI:接收中断标志位。

可寻址标志位。接收完第8位数据后,该位由硬件置位,在其他工作方式下,该位由硬件置位,RI=1表示帧接收完成。

电源管理寄存器PCON

PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,单元地址是87H,其结构格式如下:

表2 PCON电源管理寄存器结构

PCOND7D6D5D4D3D2D1D0

位符号SMOD---GF1GF0PDIDL

在CHMOS型单片机中,除SMOD位外,其他位均为虚设的,SMOD是串行口波特率倍增位,当SMOD=1时,串行口波特率加倍。系统复位默认为SMOD=0。

中断允许寄存器IE

中断允许寄存器在前一节中已阐述,这里重述一下对串行口有影响的位ES。ES为串行中断允许控制位,ES=1允许串行中断,ES=0,禁止串行中断。

表3 IE中断允许控制寄存器结构

位符号EA--ESET1EX1ET0EX0

位地址AFHAEHADHACHABHAAHA9HA8H


关键字:51单片机  串行通信口 引用地址:51单片机的串行通信口原理解析

上一篇:C51单片机对抽油机的智能功率控制电路设计
下一篇:基于51单片机实现无源蜂鸣器控制

推荐阅读最新更新时间:2024-11-08 11:47

51单片机延时函数
C程序中可使用不同类型的变量来进行延时设计。经实验测试,使用unsigned char类型具有比unsigned int更优化的代码,在使用时应该使用unsigned char作为延时变量。以某晶振为12MHz的单片机为例,晶振为12MHz即一个机器周期为1us。 一. 500ms延时子程序 程序: void delay500ms(void) { unsigned char i,j,k; for(i=15;i 0;i--) for(j=202;j 0;j--) for(k=81;k 0;k--); } 计算分析: 程序共有三层循环 一层循环n:R5*2 = 81*2 = 162us DJNZ 2us 二
[单片机]
基于51单片机的电话留言机设计
电话留言机的设计与开发主要经历了可行性分析、系统设计与系统调试三个阶段。 1.5.1 可行性分析 从当时国内电话机的发展状况来看,电话留言机在市场上品种很少,进口的电话留言机价格较昂贵,不能被一般电话用户接受,而国内对电话留言机已有较大的需求,因此,研制电话留言机势在必行。 从技术角度来看,技术人员已掌握电话留言机的关键技术,其核心器---单片机与语音芯片,市场上已有性能好、功能强、价格低的产品可供选择。因此,研制国产电话留言机是可行的。 1.5.2 系统设计 为了提出正确的设计方案,首先要对电话机内部电路作详细的分析与电话机的连接接口,为整个方案奠定良好的基础。 在选择单片机时,首选
[单片机]
基于51单片机的红外避障自动车的实现
最近学校放假三天,于是有了大段的时间,参考了自己学过的单片机,模电等知识,决定开始第一个正式电子制作——《基于51单片机的红外避障自动车的实现》。最终获得了成功,整车调试达到了理想效果,实现了红外避障功能。视频以上传到优酷网,视频地址http://v.youku.com/v_show/id_XMTYzNDc4MjA4.html欢迎大家观看,探讨,提出意见和建议。 下面是一些基本资料: —————————————————————小车参数—————————————————————————— 障碍检测方式:红外探测(探测模块功耗7mA) 车模几何尺寸:149 x 102 x 59 (mm) 车 模 轮 距:120 (mm) 测
[单片机]
用AT89S51单片机软件解码PT2262的C程序
编码芯片PT2262发出的编码由:地址码、数据码、同步码组成。地址码和数据码都用宽度不同的脉冲来表示,两个窄脉冲表示 0 ;两个宽脉冲表示 1 ;一个窄脉冲和一个宽脉冲表示 F ,也就是地址码的 悬空 ;同步码为时间较长的低电平间隔,下图为PT2262编码图: 从图中可以看出,发送码的周期是相等的,只是脉冲宽度不同(宽脉冲与窄脉冲之比为3:1)。而同步码的低电平时间约为这个周期的8倍. 解码的关键是识别同步码,然后对后面的字码的脉冲宽度进行识别,就可以解出这个编码。pt2262每次发射时至少发射4组字码,每组字码由25个脉冲组成,前24个脉冲为地址和数据,最后一个脉冲和一低电平间隔组成同步码。下面我
[单片机]
基于51单片机P0的片外数据存储器扩展
随着单片机运算速度和处理能力的不断提高,其在各个领域得到更广泛的应用。然而。随着其应用领域的不断扩大及集成化的不断提高,其内部资源已不能满足实际需求,往往需要对其内部资源进行扩展。经典的扩展方法主要是通过地址总线、数据总线即P0、P2口,以及控制线ALE、*****等来进行数据或程序存储器的扩展,最大寻址空间可达64KB,但这种方法占用端口较多,在有些情况下不能满足需求。这里以MCS-8051系列单片机为例,介绍一种新的片外数据存储器扩展方法,仅用单片机的P0口、P1.6及P1.7共10个端口便可实现256 KB数据存储器的扩展。 1 总体设计思路 MCS-8051单片机片内部存储空间为256 B,有P0、P1、P2、P
[单片机]
基于<font color='red'>51单片机</font>P0<font color='red'>口</font>的片外数据存储器扩展
51单片机汇编内部RAM数据传送类指令举例介绍
(1)以累加器A为目的地址 MOV A,Rn ;(A) (Rn)以下类似。 MOV A,direct MOV A,@Ri MOV A,#data (2)以寄存器Rn为目的地址 MOV Rn,A MOV Rn,direct MOV Rn,#data (3)以直接存储单元为目的地址 MOV direct,A MOV direct,Rn MOV direct,direct MOV direct,@Ri MOV direct,#data (4)以间接地址为目的地址 MOV @Ri,A MOV @Ri, direct MOV @Ri,#data (5)以DPTR为目的地址 MOV
[单片机]
51单片机STC89C52 AD模数转换
CSDA BIT P3.2 WRR BIT P3.6 RDD BIT P3.7 WELA BIT P2.7 DULA BIT P2.6 CSAD BIT P0.7 DIOLA BIT P2.5 ORG 0000H LOOP0: MOV P0,#0FFH ;关数码管显示 SETB WELA SETB RDD SETB WRR STARTAD: ;开始转换 CLR CSAD //NOP CLR WRR //NOP SETB WRR //NOP SETB CSAD LCALL DELAY ;延时,等待转换完成 READAD: ;读取转换结果
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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