AT89S52单片机的串行接口

发布者:快乐的小鸟最新更新时间:2015-03-23 来源: diangon关键字:AT89S52  单片机  串行接口 手机看文章 扫描二维码
随时随地手机看文章
本文主要学习AT89S52单片机的串行接口结构以及相关的寄存器。要求在掌握串行口结构的基础上,学会合理的设置控制寄存器来控制串行口的工作。AT89S52单片机内部的串行接口能同时发送和接收数据。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入。串行口还有接收缓冲作用,即从接收寄存器中读出前一个已收到的字节之前就能开始接收第二字节。
一、AT89S52单片机串行口的结构

AT89S52单片机的串行接口主要由两个物理上独立的串行数据缓冲器SBUF、发送控制器、接收控制器、输入移位寄存器和输出控制门组成。

对外表现为两个引脚:RXD(P3.0)串行输入线和TXD(P3.1)串行输出线,串行口的结构如图1所示。

 


图1 串行口的结构

1.波特率发生器

主要由T1、T2及内部的一些控制开关和分频器所组成。它提供串行口的时钟信号TXCLOCK(发送时钟)和 RXCLOCK(接收时钟)。相应的控制波特率发生器的特殊功能寄存器有TMOD、TCON、T2CON、PCON、TL1、TH1、TL2、TH2等。

2.串行数据缓冲寄存器SBUF

串行口数据缓冲器(实际上是两个寄存器)通过特殊功能寄存器SBUF来访问。两个缓冲器在物理上是隔离的,共用一个地址99H(特殊功能寄存器SBUF的地址)。[page]

写入SBUF的数据储存在发送缓冲器,用于串行发送;从SBUF读出的数据来自接收缓冲器。串行发送时,从片内总线向发送缓冲器SBUF写入数据;串行接收时,从接收缓冲器SBUF中读出数据。因此可通过两条指令来表示:

MOV   SBUF, A   ; 启动一次数据发送,可向SBUF再发送下一个数据

MOV   A, SBUF    ; 完成一次数据接收,SBUF可再接收下一个数据

3.串行数据输入/输出引脚

接收方式:串行数据从RXD(P3.0)引脚输入

发送方式下:串行数据通过TXD(P3.1)引脚输出。

4.串行口控制逻辑

发送控制器在波特率作用下,将发送SBUF中的数据由并行转换成串行,逐位地传输到发送端口;同理接收控制器将接收端口的数据由串行转换成并行,存入接收SBUF。如图2。



图2 串行口的控制逻辑

 

二、串行口控制寄存器SCON

特殊功能寄存器SCON可以位寻址,用于定义串行口的操作方式和控制它的某些功能,字节地址为98H。其各位的定义如图3所示。


图3 SCON

 

SM0,SM1(D7,D6):串行口操作方式选择位

SM2(D5):串行口多机通信控制位。

SM2=1:如果接收的一帧数据的第九位为1,且原RI=0,则硬件置RI=1,接收数据有效;如果第九位为0,则RI不置1,接收数据无效。

SM2=0:只要接收完一帧数据,不管第九位为1还是0,硬件都置RI=1,接收数据有效。多机通信时,SM2必须置1;双机通信,SM2通常置0。

REN(D4):串行口接收允许控制位。REN = 1 表示允许接收;REN = 0 禁止接收。

TB8(D3):方式2和方式3中要发送的第9位数据。

RB8(D2):是方式2和3中已接收到的第9位数据。

TI(D

1):发送中断标志。由软件清0。

RI(D0):接收中断标志。由软件清0。
三、电源控制寄存器PCON 

电源控制寄存器PCON中,仅有最高位SMOD与串行口控制有关,PCON的地址为87H,只能字节寻址。

SMOD(D7):波特率加倍控制位。

SMOD=1,波特率加倍;

SMOD=0,则不加倍。

关键字:AT89S52  单片机  串行接口 引用地址:AT89S52单片机的串行接口

上一篇:单片机串行接口工作方式
下一篇:AT89S52单片机定时器/计数器的工作方式

推荐阅读最新更新时间:2024-03-16 13:55

技术文章—如何保证MCU与隔离收发器的可靠通信?
摘要:在总线通信中,总线设备中的MCU需要连接一个总线收发器接入到总线网络中,如果MCU的供电电压与收发器电压不匹配时,会出现什么情况?本文将以CAN总线为例从接口电平的角度为你解析电平匹配的重要性。 一、CMOS电平 现大部分数字集成电路采用的是CMOS工艺,其接口的电平大致符合如下定义: VIL VOL 以常见的5V、3.3V系统为例,相应的接口参数如表1。 表1 不同供电下的电平要求 注:表中数据仅为计算参考值,器件实际参数需参考相应的数据手册。 二、电平不匹配 为了确保两个器件的信号可靠传输,必须保证: 驱动器输出的VOH(MIN) 必须高于接收器输入的VIH(MIN);
[半导体设计/制造]
技术文章—如何保证<font color='red'>MCU</font>与隔离收发器的可靠通信?
飞思卡尔推出基于ARM Cortex-M技术的业界最安全的微控制器
新的Kinetis K8x MCU系列旨在应对IoT安全挑战,集先进的安全性、功率效率、大容量存储器及功能可扩展性于一身,打造安全的未来互联网 飞思卡尔半导体日前推出新的Kinetis K8x多应用微控制器(MCU)系列,使ARM Cortex -M级平台获得最高水平的集成安全性。 过去创建安全的嵌入式应用需要3个IC,包括主处理器、执行加密功能的安全协处理器,有时还需要用于物理防篡改保护的 IC。Kinetis K8x MCU系列只需要一个MCU便能执行上述所有功能,可降低成本、缩小尺寸、降低功耗。飞思卡尔将卓越的安全性集成至这个面向普通市场的MCU系列中,使物联网(IoT)应用(如销售点设备、智能能源网
[单片机]
单片机原理的详细介绍
8051单片机包含中央处理器、数据存储器(RAM)、定时/计数器、程序存储器(ROM)、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别对其原理加以说明: ·数据存储器(RAM): 8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。 ·中央处理器: 中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统
[单片机]
<font color='red'>单片机</font>原理的详细介绍
液晶显示模块MGLS-12864的接口技术及其应用
随着液晶显示技术的发展和仪表智能化程度的提高,人们对信息显示方式的要求也在不断提高,传统的数字显示已经不能表达复杂的信息。而液晶显示器(LCD)则以其重量轻、电压低、功耗小、显示内容丰富等优点逐渐在单片机控制的智能仪器仪表、工业控制等领域得到广泛应用。 矿用隔爆馈电开关是煤矿井下配电系统的关键设备,其性能好坏直接影响煤矿井下的生产安全和生产效率。目前大部分矿井馈电开关保护器的显示通常是发光二极管或LED数字显示,并且大部分用灯来显示故障。 为了改进馈电开关的显示功能,利用单片机8031和液晶显示器设计了一种具有汉字显示功能的显示系统,该系统能够通过液晶显示器实时显示开关的工作参数(电压、电流等)、工作状态、供电线路的故
[单片机]
液晶显示模块MGLS-12864的接口技术及其应用
飞思卡尔16位单片机(十五)—— 如何批量烧写芯片
我们在进行飞思卡尔单片机开发时,一般使用CodeWarrior软件和usbdm调试器进行。但是在实际生产过程中,采用这种方式烧写芯片效率比较低,而且很多情况下,程序的源码不希望对生产人员开放,本文就是为了这个目的,给大家讲解一下,如何进行芯片的批量烧写。 在进行批量烧写之前,我们默认大家已经安装了飞思卡尔单片机的开发环境,包括软件、调试器驱动。下面我们就进行批量烧写的实现。 首先我们先要找到工程的二进制文件,CodeWarrior中,二进制文件的扩展名为.s19,在工程的bin文件夹下,如下图所示。 将这个文件复制到英文路径下,这一步很关键,因为烧写软件不认中文路径。 接下来将下载器、单片机与计算机连接好。 然
[单片机]
飞思卡尔16位<font color='red'>单片机</font>(十五)—— 如何批量烧写芯片
嵌入式C、标准C、单片机C区别
一、嵌入式C/单片机C/标准C知识点 知识点1:嵌入式C、标准C、单片机C区别 知识点2:程序组成和程序原则 知识点3:变量类型(函数、数组、指针、结构体等类型) 知识点4:常用的运算符和关系表达式,例如: | || ^ ~等 知识点5: 9条基本语句和32个关键字 知识点6:函数组成和函数关键两句话 知识点7:数组组成和数组典型应用 知识点8:指针(指针组成、指针含义、指针典型应用、指针4要素) 知识点9:模块化编程、编程规范、编程优化。 -------------------------------------------- 知识点10:结构体 知识点11:链表和文件(LINUX)
[单片机]
51单片机利用锁存器控制数码管显示年月日时分秒
数码管模块中的两片74hc573,一片锁存段码,一片锁存位码,这样才能驱动8位数码管。74hc573是锁存器,用于数码管显示时通常是采用段选、片选共用同一组并口的驱动方式。 驱动数码管需要两个信号,一个是段选信号,另一个是片选信号。段选信号是固定的8个(对于普通7段数码管),而片选信号数量是与数码管位数相同的。 对于8位数码管的动态扫描来说,片选信号要8根线,这样仅仅驱动数码管就占用了16个IO口,非常浪费。 原理 使用573锁存器后,只占用10个IO口,其中2个用于控制锁存器使能,另外8个用于输出信号。先关闭控制片选信号的573芯片的锁存功能,然后单片机输出片选信号。随后再开启锁存,此时无论573的输入端如何变化,输
[单片机]
51<font color='red'>单片机</font>利用锁存器控制数码管显示年月日时分秒
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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