单片机串行通讯口的工作方式详解

发布者:快乐旅途最新更新时间:2013-05-14 来源: 21IC关键字:单片机  串行通讯口  工作方式 手机看文章 扫描二维码
随时随地手机看文章

1.数据缓冲器SBUF

发送SBUF和接收SBUF共用一个地址99H 。

1)发送SBUF存放待发送的8位数据,写入SBUF将同时启动发送。

发送指令:MOV SBUF,A

2)接收SBUF存放已接收成功的8位数据,供CPU读取。

读取串行口接收数据指令:MOV A,SBUF

2.串行口控制/状态寄存器SCON(98H)

SM0,SM1:选择串行口4种工作方式。

SM2:多机控制位,用于多机通讯。

REN:允许接收控制位,REN=1,允许接收;REN=0,禁止接收。

TB8发送的第9位数据位,可用作校验位和地址/数据标识位

RB8:接收的第9位数据位或停止位

TI:发送中断标志,发送一帧结束,TI=1,必须软件清零

RI:接收中断标志,接收一帧结束,RI=1,必须软件清零

3.节电控制寄存器PCON

SMOD(PCON.7):波特率加倍控制位。

SMOD=1,波特率加倍, SMOD=0,则不加倍。

串行接口的工作方式

SM0,SM1选择四种工作方式。

(1) 方式0:同步移位寄存器方式。用于扩展并行I/O接口。

1.一帧8位,无起始位和停止位。

2.RXD:数据输入/输出端。TXD:同步脉冲输出端,每个脉冲对应一个数据位。

3.波特率B = fosc/12 如: fosc=12MHz, B=1MHz,每位数据占1ms。

4.发送过程:写入SBUF,启动发送,一帧发送结束,TI=1。接收过程:REN=1且RI=0,启动接收,一帧接收完毕,RI=1。

(2) 方式1:8位数据异步通讯方式。

1.一帧10位:8位数据位,1个起始位(0),1个停止位(1)。

2.RXD:接收数据端。 TXD:发送数据端。

3.波特率:用T1作为波特率发生器,B=(2SMOD/32)×T1溢出率。

4.发送:写入SBUF,同时启动发送,一帧发送结束,TI=1。接收:REN=1,允许接收。接收完一帧,若RI=0且停止位为1 (或SM2=0),将接收数据装入SBUF,停止位装入RB8,并使RI=1;否则丢弃接收数据,不置位RI。

(3) 方式2和方式3:9位数据异步通讯方式。

1.一帧为11位:9位数据位,1个起始位(0),1个停止位(1)。 第9位数据位在TB8/RB8中,常用作校验位和多机通讯标识位。

2.RXD:接收数据端,TXD:发送数据端。

3.波特率: 方式2:B=(2SMOD/64)×fosc 。

方式3:B=(2SMOD/32)×T1溢出率 。

4.发送:先装入TB8,写入SBUF并启动发送,发送结束,TI=1。接收:REN=1,允许接收。接收完一帧,若RI=0且第9位为1 (或SM2=0),将接收数据装入接收SBUF,第9位装入RB8,使RI=1;否则丢弃接收数据,不置位RI。

关键字:单片机  串行通讯口  工作方式 引用地址:单片机串行通讯口的工作方式详解

上一篇:单片机波特率的设置方法
下一篇:单片机串行通信基础:同步通信和异步通信

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

单片机入门的有效途径
对一个初学单片机的人来说,学习的方法和途径非常重要。如果按教科书式的学法,上来就是一大堆指令、名词,学了半天还搞不清这些指令起什么作用,能够产生什么实际效果,那么也许用不了几天就会觉得枯燥无味而半途而废。所以学习与实践结合是一个好方法,边学习,边演练,这样用不了几次就能将用到的指令理解、吃透、扎根于脑海,甚至“根深蒂固”。 之后所讲的采用边学习边练的循序渐进方式,逐步推进,直至掌握单片机的基本编程技术,进入单片机世界殿堂。 目前单片机品种很多,但最具代表性的当属Intel公司的MCS-51系列单片机。MCS-51系列单片机以其典型的结构、完善的总线、SFR(特殊功能寄存器)的集中管理模式、位操作系统和面向控制功能的丰富指令系统
[单片机]
<font color='red'>单片机</font>入门的有效途径
单片机学习之七:基本I/O口试验三-左右跑马灯
一、 试验现象: 二极管从左至右,然后从右至左作跑马灯变换,灯光变换的间隔时间是1s。 二、 试验目的 l 掌握带进位左、右环移指令rlc,rrc的应用 l 进一步熟悉延时程序的应用 三、 试验任务分析: 按照上一个试验的思路,该程序的编写思路如下:先作左跑马灯,然后再作右跑马灯,然后让程序不断循环即可。在这个试验里,我们给大家介绍另外两个左、右移指令,先看程序吧。 四、 试验程序如下: org 0000h clr p1.5 start: mov a,#0ffh ;(1) clr c ;(2) mov r2,#08h ;(3) loop1: rlc a ;(4) mov p0,a
[单片机]
<font color='red'>单片机</font>学习之七:基本I/O口试验三-左右跑马灯
51单片机之定时器/计数器应用实例(方式0、1、2、3)
硬件:STC89C52RC 开发工具:Keil uVision4 对于刚接触单片机的同学来说可能会对定时器/计数器的应用很蒙圈,特别是初值的计算和各种定时方式的选择。下面希望能给你带来一个清晰的思路。 定时器:一般用于软件计时,给定时器设置一个时间,时间到了系统停止当前的工作跳转到事先定义好的定时器中断函数里,函数里可以做一些周期性的事情。 计数器:一般用于检测外来脉冲信号,给计数器设置一个次数,次数到了系统停止当前的工作跳转到事先定义好的计数器中断函数里,函数里做相应的事情。 先说一下相关的寄存器,也可以直接跳过,看后面的实例分析。 配置定时器或者计数器就是对相应的寄存器进行赋值,下面是相关的寄存器描述:
[单片机]
51<font color='red'>单片机</font>之定时器/计数器应用实例(方式0、1、2、3)
基于单片机的漏电断路器漏电保护实现方法
0 引 言 漏电保护是低压用电保护中的一项重要保护技术,作为其载体之一的漏电断路器广泛用于低压供电电网中,以防止漏电火灾和人身触电伤亡 事故的发生⋯。当前市场上的漏电断路器主要是提供对地漏电保护,且均采用断路器控制器与漏电处理模块分立的形式。分立模块与断路器控 制器之问没有任何联系,控制器对断路器的状态不能完全掌控,这样既不适应基于现场总线的断路器的开发和应用,也不符合对断路器遥测、遥信、遥控、遥调的发展要求。鉴于上述现状,本文在分析现有漏电断路器漏电处理模块的基础上,设计出一种基于单片机实时采样漏电信号并可接收上一级控制系统的参数要求,自动设置漏电流动作参数的漏电断路器漏电保护方法。 1 工作原理 现有的漏电断路器漏电处理模
[单片机]
基于<font color='red'>单片机</font>的漏电断路器漏电保护实现方法
中国MCU市场重回增长轨道 汽车电子表现抢眼
未来三年中国MCU市场将呈两位数增长 在国际金融危机的影响下,电子整机制造的需求和投资都出现不同程度的下降。2009年,全球MCU(微控制器)销售额同比出现较大幅度下滑。出现这种现象主要是由于两个方面的原因:一方面,受购买力下降等因素的影响,汽车电子、计算机、消费电子等整机需求增长持续下降,导致市场对上游MCU产品需求增长减缓;另一方面,经济环境的不利影响,导致制造企业的投资力度明显减小,直接抑制了工业控制等领域电子整机需求的增长,因此也在一定程度上拉低了MCU市场的需求。 中国是全球电子制造大国,拥有全球最重要的电子产品制造基地,近几年中国市场对MCU的需求持续保持平稳增长的态势。从增长速度来看,随着规模基
[单片机]
中国<font color='red'>MCU</font>市场重回增长轨道 汽车电子表现抢眼
手把手教你使用PIC单片机驱动继电器
在现代自动控制设备中,都存在一个电子电路(弱电)与电气电路(强电)的互相连接问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件(如电动机、电磁铁、电灯等),另一方面又要为电子线路的电气电路提供良好的电隔离,以保护电子电路和人身的安全。继电器便能完成这一桥梁作用。 继电器的工作原理与分类 继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。在大多数的情况下,继电器就是一个电磁铁,这个电磁铁的衔铁可以闭合或断开一个或数个接触点。当电磁铁的绕组中有电流通过
[单片机]
手把手教你使用PIC<font color='red'>单片机</font>驱动继电器
51单片机点亮LED点阵
共阴极双色点阵 Led点阵就是很多led放在一起组成的矩阵灯。原理很简单,如果我们要点亮图中左上的绿灯。那么管脚5接高电平,管脚24接低电平,那么这个绿色led就会亮,其他的led亦是如此。我们要显示需要的内容,只要点亮相关内容即可。如:我们显示如图的“+”,和“-”。 红色“+”:将管脚18,17,16 设置成高电平,同时对应21,22,23 设置成低电平。 注意:管脚18为高时,只能22管脚为低, 17管脚为高时,22,23,24同时为低,16管脚为高时,智能22管脚为低。 就是说同一时刻只有这三种情况之一出现,换言之就是通过扫描实现显示”+”. 具体过程: 1.显示第一步: ,其他全灭 。一个短延时,保持
[单片机]
51<font color='red'>单片机</font>点亮LED点阵
51单片机-模拟倒车雷达报警
1.题目要求 我们在第九章第3讲的例程基础上,实现用超声波模块模拟倒车雷达报警的功能,当障碍物距离超声波模块小于等于10cm左右我们就用蜂鸣器鸣叫产生报警,大于10cm就不报警。代码上添加的程序量比较少,我们只是把定时时间改为200微秒好使蜂鸣器鸣叫的比较尖锐。 2.main.c测试代码 #include reg52.h #include function.h //详见第六章第8讲 #include timer.h //详见第八章第11讲 #include intrins.h sbit TRIG = P2^0; sbit ECHO = P2^1; u8 FLAG=0,BEEP_FLAG=0; void d
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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