MCS-51单片机串行口工作方式与波特率计算举例

发布者:自由探索者最新更新时间:2017-10-14 来源: eefocus关键字:MCS-51  单片机  串行口  工作方式  波特率 手机看文章 扫描二维码
随时随地手机看文章

1)方式0 

方式0是外接串行移位寄存器方式。工作时,数据从RXD串行地输入/输出,TXD输出移位脉冲,使外部的移位寄存器移位。波特率固定为fosc/12(即,TXD每机器周期输出一个同位脉冲时,RXD接收或发送一位数据)。每当发送或接收完一个字节,硬件置TI=1或RI=1,申请中断,但必须用软件清除中断标志。 

实际应用在串行I/O口与并行I/O口之间的转换。 



2)方式1 

方式1是点对点的通信方式。8位异步串行通信口,TXD为发送端,RXD为 

接收端。一帧为10位,1位起始位、8位数据位(先低后高)、1位停止位。波特率由T1或T2的溢出率确定。 

在发送或接收到一帧数据后,硬件置TI=1或RI=1,向CPU申请中断;但必须用软件清除中断标志,否则,下一帧数据无法发送或接收。 

(1)发送:CPU执行一条写SBUF指令,启动了串行口发送,同时将1写入 

输出移位寄存器的第9位。发送起始位后,在每个移位脉冲的作用下,输出移位寄存器右移一位,左边移入0,在数据最高位移到输出位时,原写入的第9位1的左边全是0,检测电路检测到这一条件后,使控制电路作最后一次移位,/SEND和DATA无效,发送停止位,一帧结束,置TI=1。 



(2)接收:REN=1后,允许接收。接收器以所选波特率的16倍速率采样RXD 

端电平,当检测到一个负跳变时,启动接收器,同时把1FFH写入输入移位寄存器(9位)。由于接、发双方时钟频率有少许误差,为此接收控制器把一位传送时间16等分采样RXD,以其中7、8、9三次采样中至少2次相同的值为接收值。接收位从移位寄存器右边进入,1左移出,当最左边是起始位0时,说明已接收8位数据,再作最后一次移位,接收停止位。此后: 

A、若RI=0、SM2=0,则8位数据装入SBUF,停止位入RB8,置RI=1。 

B、 若RI=0、SM2=1,则只有停止位为1时,才有上述结果。 

C、若RI=0、SM2=1,且停止位为0,则所接数据丢失。 

D、若RI=1,则所接收数据丢失。 

无论出现那种情况,检测器都重新检测RXD的负跳变,以便接收下一帧。 



3)方式2、方式3 

方式2和方式3是9位异步串行通信,一般用在多机通信系统中或奇偶校验的通信过程。在通讯中,TB8和RB8位作为数据的第9位,位SM2也起作用。方式2与方式3的区别只是波特率的设置方式不同。 

(1)发送 

向SBUF写入一个数据就启动串口发送,同时将TB8写入输出移位寄存器第9位。开始时,SEND和DATA都是低电平,把起始位输出到TXD。DATA为高,第一次移位时,将‘1’移入输出移位寄存器的第9位,以后每次移位,左边移入‘0’,当TB8移到输出位时,其左边是一个‘1’和全‘0’。检测到此条件,再进行最后一次移位,/SEND=1,DATA=0,输出停止位,置TI=1。 

(2)接收 

置REN=1,与方式1类似,接收器以波特率的16倍速率采样RXD端。。。在 

起始位0移到输入寄存器的最左边时,进行最后一次移位。在RI=0,SM2=0或接收到的第9位=1时,收到的一字节数据装入SBUF,第9位进入RB8,置RI=1;然后又开始检测RXD端负跳变。 



3、 多机通信 

在这里,多机系统是指‘一主多从’。51系列单片机中,利用第9位TB8/RB8 

来区分地址与数据信息,用位SM2确定接收方是否对地址或数据帧敏感。其原则是: 

1)发送方用第9位TB8=1标志地址帧,TB8=0标志数据帧。 

2)接收方若设置SM2=1,则只能接收到地址信息,若设SM2=0,则不管是地址还是数据帧,都能接收到。 



利用方式2、3的特点,在点对点的通讯中,在发送方可以用第9位TB8 

作为奇偶校验位。在接收方,SM2位必须清0。 



4、波特率 

1)方式0的波特率=fosc/12 

2)方式2的波特率=2^smod*fosc/64 

3)方式1、3的波特率由T1或T2的溢出率和SMOD位确定: 



(1)用T1:波特率=2^smod*T1定时器的溢出率/32,T1为方式2 

T1定时器溢出率=1/((12/fosc)*(256-X)) 

例:已知fosc=6MHz,SMOD=0,设置波特率为2400,求T1的计数初值X。 

波特率=1/((12/fosc)*(256-X))/32=fosc/12*32(256-X) 

(256-X)=fosc/2400/384=6M/2400/384;256-X~=6.5104 

X~=250=FAH 只能近似计算。 

若fosc=11.0592MHz, 则256-X=11.0592M/2400/384=4068/384=12 X=F4H;可精确算出,对其它常用的标准波特率也是能正确算出。所以这个晶振频率是最常用的。 

如果SMOD=1,则同样的X初值得出的波特率加倍。 

(3)用T2: 

在52型单片机中,串口方式1、3的波特率发生器选择由TCLK、RCLK位 

确定是T1还是T2。若TCLK=1,则发送器波特率来自T2,否则来自T1。若RCLK=1,则接收器波特率来自T2,否则来自T1。 

由T2产生的波特率与SMOD无关。T2定时的最小单元=2/fosc。T2的溢出脉冲16分频后作为串口的发送或接收脉冲。 

波特率=(1/((2/fosc)(65536-X)))/16=fosc/(32(65536-X)) 

例:已知fosc=11.0592MHz,求波特率=2400时的X 

2400=11059200/(32(65536-X)) 65536-X=144 X=65392=FF70H 

计数器初值寄存器:RCAP2H=0FFH,RCAP2L=70H。

关键字:MCS-51  单片机  串行口  工作方式  波特率 引用地址:MCS-51单片机串行口工作方式与波特率计算举例

上一篇:mcs-51单片机的中断源和中断向量
下一篇:MCS-51串行接口相关的功能寄存器

推荐阅读最新更新时间:2024-03-16 15:40

基于P87C591单片机的信号采集节点的设计
  1 引言   在工程机械液压系统状态监测与故障诊断中,传感器信号的调理、采集和信号的特征提取,以及把采集的数据发送给主机(中心处理单元)要由信号采集单元实现。本文介绍了基于P87C591的CAN总线系统信号采集节点的设计。   CAN是1986年2月在SAE (汽车工程人员协会)大会上, 由Rober Bosch公司提出的新总线系统,称之为“汽车串行控制局域网”(Automotive Se.rial Controller Area Network),它是最主要的总线协议之一。由于CAN总线采用了许多新技术及独特的设计,使得它与一般的通信总线相比具有突出的可靠性、实时性和灵活性,从而使其应用范围不断扩展。目前,CAN已经形成
[单片机]
基于P87C591<font color='red'>单片机</font>的信号采集节点的设计
51汇编学习-51单片机汇编写40%占空比pwm
LJMP MAIN; ORG 000BH; LJMP ITP0; ORG 0100H; MAIN: ACALL PT0M0; MOV A,#00; MOV 30H,#4; PT0M0: MOV TMOD,#02H;Initialize FANGSHI ER mode MOV TL0,#0CEH;Timing 50Us MOV TH0,#0CEH; SETB ET0; SETB EA; SETB TR0; RET ITP0: PUSH PSW; INC A; CJNE A ,30H,AAA; MOV A,#0; MOV
[单片机]
51汇编学习-51<font color='red'>单片机</font>汇编写40%占空比pwm
PIC16C64单片机所具有的外部功能特点
一、捕抓/比较/脉宽 调制 模块   P IC I6C64 单片机 的RC2/C CPI脚具有捕抓/比较/ PWM 输出的功能,对应于内部的捕抓/比较/PWM模块,简称 CC PI模块。该模块内有一16位寄存器。(CCPR1)可由软件设置而作为捕抓寄存器,比较寄存器或PWM输出寄存器。由图工中的CCP1控制寄存器(CCP1CON)来选择模式。   (一)捕抓功能   RC2/CCP 1脚作为捕抓功能时,应置为输入态。当有脉冲事件在CCP1脚上发生时,CCPR1即捕抓记录下此时TMR1(计数器1)的值,井产生捕抓发生中断请求.   例程1. BSF TRISC,2 ;CCP1脚置为输入   MOVLW,XXXX0101;选
[单片机]
PIC16C64<font color='red'>单片机</font>所具有的外部功能特点
e2v发布150°C 温度版本的高可靠性微控制器
领先的高可靠性半导体供应商 e2v 日前宣布发布 150°C 温度版本的高可靠性 PC5674F 微控制器,为暴露在极端环境下的航空电子和工业应用提供理想的集成解决方案。 分布式电子系统在汽车、工业和航空航天市场上的应用变得日益普遍。在更加靠近传感器和致动器的地方嵌入数字系统,是提高系统性能和可靠性的一种方式。例如,通过使用这种方法,商业航空电子系统能够减少很多电缆重量,从而提高航空器的燃料效率。但是,其中有一些电子元件暴露在恶劣环境下,从航空电子系统加电时的 -55°C 低温到引擎控制或工业系统中的 125°C,甚至更高的周边温度。 e2v 的新型嵌入式 PC5674F MCU 具有从 -55°C 到 +150°
[单片机]
基于51单片机的简单计算器
在上一篇中,我们已经说过了基于51单片机的简单拨号器,在下边,我们将写一个计算器程序,原理很简单,只需要在拨号器的基础上,算出拨号器所表示的数字,并进行计算即可。 代码如下; #include reg51.h #include intrins.h typedef unsigned char u8; //对数据类型进行声明定义 typedef unsigned int u16; sbit LSA=P2^2; //38译码器数码管位选 sbit LSB=P2^3; sbit LSC=P2^4; sbit k1=P3^1; sbit k2=P3^0; sbit k3=P3^2; sbit k4=P3^3;
[单片机]
单片机滤波
1、限幅滤波法(又称程序判断滤波法) A、方法:根据经验判断,确定两次采样允许的最大偏差值(设为A),每次检测到新值时判断:如果本次值与上次值之差<=A,则本次值有效。如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值 B、优点:能有效克服因偶然因素引起的脉冲干扰。 C、缺点:无法抑制那种周期性的干扰,平滑度差。 2、中位值滤波法 A、方法:连续采样N次(N取奇数),把N次采样值按大小排列,取中间值为本次有效值。 B、优点:能有效克服因偶然因素引起的波动干扰,对温度、液 位的变化缓慢的被测参数有良好的滤波效果。 C、缺点:对流量、速度等快速变化的参数不宜。 3、算术平均滤波
[单片机]
东芝基于Arm Cortex-M3且具备先进功能的低功耗微控制器
东京-- 东芝电子元件及存储装置株式会社(“东芝”)面向消费设备和工业设备推出“M3H族”微控制器,成功扩大其基于Arm® Cortex®-M的“TXZ™系列”微控制器的产品阵容。 该新微控制器目前已批量生产。 根据产品功能,M3H族分为两个产品组。“M3H族(1)”提供标准功能,而“M3H族(2)”提供更多封装和存储容量选项,并支持高速处理器(80MHz)。两个产品组共提供13种丰富的封装选项(32引脚至144引脚)和32KB-512KB的闪存。 M3H族基于全球标准的Arm Cortex-M3内核,专为电机控制而设计,可满足消费设备和工业设备的各种需求。M3H族(1)的工作频率高达40MHz;M3H族(2)的工作频率高达80
[工业控制]
东芝基于Arm Cortex-M3且具备先进功能的低功耗<font color='red'>微控制器</font>
MSP430FG461x MCU为便携式医疗设备与低功耗RF系统带来SoC优势
具备 Chipcon RF 收发器的 Zigbee 开发套件加速低功耗无线设计工作 2007 年 2 月 14 日,北京讯 日前,德州仪器 (TI) 宣布闪存高达 120KB 的 MSP430FG461x 系列超低功耗 MCU 现已开始批量供货。MSP430FG461x将为便携医疗设备与无线射频系统等深嵌入式高级应用带来高集成度与超低功耗等特性。作为采用 MSP430X 架构(具有 1MB 扩展内存模型)的首批器件,MSP430FG461x 系列产品设计可满足当今大型系统的内存要求,全面支持采用模块化 C 程序库开发的并可向后完全兼容的尖端实时应用。此外,该系列产品还可加速代码执行,从而使full co
[新品]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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