51单片机的简介——串行口、SCON

发布者:数据探险家最新更新时间:2016-01-20 来源: eefocus关键字:51单片机  串行口  SCON 手机看文章 扫描二维码
随时随地手机看文章
    51单片机有一个全双工串行通讯口,它即可作为UART(Universal Asynchronous Receiver/Transmitter),也可作为一个同步移位寄存器。而且作为UART时,其具有多机通讯能力。
    51单片机的串行口由发送控制、接收控制、波特率输入管理和发送/接收缓冲区SBUF(地址为99H)组成。SBUF作为发送和接收缓冲区其实际是分开的两个器件,数据不会相互覆盖,但在对其寻址时都是99H,51单片机会根据读或者写指令操作相应的器件。
    站在汇编角度来看,51单片机的串行口通讯操作体现为累加器Acc(地址E0H)和发送/接收缓冲区SBUF之间的数据传递。当我们要发送数据时,对串行口完成初始化设置后,数据由累加器A传入SBUF,然后在发送控制器的控制下组成帧结构,并自动从TXD端口发出,发送结束后置位TI(TI是特殊功能寄存器SCON的可独立寻址位,参见SCON介绍),如果要继续发送就在指令中将TI清0。接收数据时,相当于对串口完成初始化设置后,数据由SBUF传入累加器Acc,在置位允许位(即设置SCON的独立寻址位REN为1)后才开始进行串行接收操作,在接收控制器控制下,通过移位寄存器将串行数据输入SBUF,接收结束后将RI(SCON中可独立寻址位)置位,最后将数据送累加器Acc。
    特殊功能寄存器SCON是串行口控制寄存器,用于存放串行口的控制和状态信息,其地址为98H,具有位寻址功能,其各位的结构如下图所示:
51单片机的简介——串行口、SCON
    其中各个位的功能及含义如下:
    SM0、SM1:串行口工作方式选择位,其组合含义如下图所示:
51单片机的简介——串行口、SCON
    SM2:多机通讯控制位。在方式2和方式3中用于多机通讯控制,在方式2、方式3的接收状态中,若SM2=1,当接收到的第9位(同时系统将第9位值赋予RB8)为0时,舍弃接收到的数据,RI置0;若第9位为1时,将接收到的数据送入接收SBUF中,并将RI置1;而对于方式1,接收到有效的停止位时,将RI置1。对于方式0,SM2应该置0。
    REN:允许接收位。REN置1时允许接收数据,REN由指令置位或者复位。
    TB8:第9位发送的数据。多机通讯时(即方式2、方式3)TB8表示主机发送的是地址还是数据,TB8=0表示发送的是数据,TB8=1表示发送的是地址。TB8由指令置位或者复位。
    RB8:第9位接收的数据。用来存储接收到的第9位数据,用于标明接收到的数据特征或者用于校验。对于方式0,不使用RB8。
    TI:发送中断标志,由硬件设置,由软件清0。方式0串行发送完8位数据后置位,其它方式串行发送停止位后置位。
    RI:接收中断标志,由硬件设置,由软件清0。方式0接收完8位数据后置位,其它方式接收到停止位时置位。
    51单片机借用了PCON的D7位作为串行波特率系数SMOD控制位,PCON不可位寻址,其地址为87H,当SMOD=1时,波特率加倍。SMOD在PCON中的位置如下图所示:
51单片机的简介——串行口、SCON

关键字:51单片机  串行口  SCON 引用地址:51单片机的简介——串行口、SCON

上一篇:单片机--流水灯制作
下一篇:keil 51启动代码

推荐阅读最新更新时间:2024-03-16 14:44

51单片机基础之1602显示器
代码: main.c文件 #include public.h #include lcd1602.h /******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ void main() { int a=111; lcd160
[单片机]
<font color='red'>51单片机</font>基础之1602显示器
如何使用C语言实现51单片机模拟I2C总线
电路原理图 EEPROM为ATMEL公司的AT24C01A。单片机为ATMEL公司的AT89C51。 软件说明 C语言为Franklin C V3.2。将源程序另存为testi2c.c,用命令 C51 testi2c.c L51 TESTI2C.OBJ OHS51 TESTI2C 编译,连接,得到TESTI2C.HEX文件,即可由编程器读入并进行写片,实验。 3.源程序 #include 《reg51.h》 #include 《intrins.h》 #define uchar unsigned char #define uint unsigned int #define AddWr 0xa0 /*器件地址选择及写标志*/ #d
[单片机]
如何使用C语言实现<font color='red'>51单片机</font>模拟I2C总线
基于51单片机的日历时钟
1 引言 随着微电子技术与大规模集成电路的发展,单片机的串行通信应用正在不断的走向深入,由于它具有功能强、体积小、功耗低、价格便宜、工作可靠、使用方便等特点,广泛使用与我们生活的各个领域。单片机往往是作为一个核心部件来使用,再根据具体硬件结构,以及针对各种具体的要求使用相应的外部扩展,来实现具体的实际要求。 本文通过对一个基于单片机的能实现万年历功能电子时钟的设计,从而达到学习、了解单片机相关指令在各方面的应用。系统由主控制器AT89C52、时钟电路DS1302、显示电路、按键电路、和复合电路等部分构成,能实现时钟日历的显示的功能,能进行时、分、秒的显示。 2 硬件设计 2.1电路设计框图 2.2 电路原理图 2.
[单片机]
基于<font color='red'>51单片机</font>的日历时钟
51单片机系列知识12--串行通信(3)
二、 扩展引申 1、 多机通信 多机通信网络通常有5种网络形式:(a)星型网络结构 (b)树型网络结构(c)总线型网络结构(d)环型网络结构(e)分散型网络结构 它们各有优缺点 △ 有没有细想一下,各种网络结构有其优缺点的原因? 主从式总线型网路多机通信: 利用51单片机串行口工作方式2、3及SM2和RB8的配合完成主从式的多机通信 主机和系统中的某一从机通信时,先发出通信联络命令,与指定的从机相互确认后才进行正式的通信(具体的通信过程,见教材P137) △ 有时间,有机会将以上的主从机通过程的流程图画出来。 通信协议: 多机通信时,主、从机双方都应符合一定的规范,因此人为地制订了一些协议。这些
[单片机]
<font color='red'>51单片机</font>系列知识12--串行通信(3)
以累加器A为目的操作数类指令(4条)—mcs51单片机汇编语言
数据传送类 指令 的通用格式是:  MOV  目的操作数 , 源操作数 源操作数可以是:累加器A、通用寄存器Rn(n=0-7)、直接地址direct、间接地址和立即数; 目的操作数可以是:累加器A、通用寄存器Rn(n=0-7)、直接地址direct和间接地址; 数据传送指令共有29条,数据传送指令一般的操作是把源操作数传送到目的操作数,指令执行完成后,源操作数不变,目的操作数等于源操作数。如果要求在进行数据传送时,目的操作数不丢失,则不能用直接传送指令,而采用交换型的数据传送指令,数据传送指令不影响标志C,AC和OV,但可能会对奇偶标志P有影响。 . 以累加器A为目的操作数类指令(4条) 这4条指令的作用是把源操作
[单片机]
C51单片机LED灯的控制
1、一盏一盏的操作:即先令第一盏灯亮,延时,再令它熄灭,延时,再让下一盏灯重复操作即可;(略) 2、利用数组方法点亮:先定义一个数组,其中存入相应8盏灯亮的数字(即0xfe,0xfd,0xfb,0xf7,0xef,oxdf,0xbf,0x7f:依次代表只有第一盏灯,第二盏灯....亮),再利总线,按顺序点亮八盏灯;(后面对数码管的控制将用类似的方法) 3、利用移位方法点亮(这种方法,程序看起来简单些,但实质上还是一个一个的控制)。下面是位移方法的程序 共阳,P2端控制。 下面的代码是两种灯得控制: #include reg52.h typedef unsigned char uchar; typedef un
[单片机]
C<font color='red'>51单片机</font>LED灯的控制
51单片机的波特率
最近使用51单片机的时候,设置串口的波特率,需要多种,固先记下来,晶振更改的时候可以通过excel中的改动来调整(excel在126中email的网盘中《51单片机的波特率.et》) 下面列表是基于定时器2的方式2,自动重装的方式 晶振 11.0592 11059200 波特率 寄存器的值 1200 288 65248 FEE0 2400 144 6
[单片机]
51单片机采用模拟时序控制点阵图形液晶程序
;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ;连线图: ;//LCM---89C52// //LCM---89C52// //LCM-------89C52// //LCM----------89C52// // ;//DB0---P0.0// //DB4---P0.4// //D/I-------P2.6// //CS1----------P
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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