水电电工知识
电工文库|AT89S52单片机的串行接口
2016-03-09  浏览:42
水电之家讯:本文主要学习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的地址)。

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

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

MOVA,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(D1):发送中断标志。由软件清0。

RI(D0):接收中断标志。由软件清0。

三、电源控制寄存器PCON

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

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

SMOD=1,波特率加倍;

SMOD=0,则不加倍。

水电之家为您提供最全面的管材,管件,水电,电线,电工,管材水电品牌的装修知识点和各种管材水电的导购与在线购买服务,拥有最便宜的管材水电价格和最优质的售后服务,每天都有秒杀的抢购活动哦!敬请登陆水电之家:http://shuidian.jc68.com/
更多»您可能感兴趣的文章:
更多»有关 管材 的产品:
  • 水电电工资讯
  • 发表评论 | 0评
  • 评论登陆
  • 移动社区 天花之家 木门之家 灯具之家 铁艺之家 幕墙之家 五金头条 楼梯头条 墙纸头条 壁纸头条 玻璃头条 老姚之家 灯饰之家 电气之家 全景头条 照明之家 防水之家 防盗之家 区快洞察 建材 枣庄建材 临沂建材 南昌建材 上饶建材 抚州建材 宜春建材 吉安建材 赣州建材 鹰潭建材 新余建材 九江建材 萍乡建材 景德镇陶瓷 石家庄建材 衡水建材 廊坊建材 沧州建材 承德建材 建材之家 企业之家 720全景
    (c)2015-2017 BYBC.CN SYSTEM All Rights Reserved