单片机串行接口工作方式

时间:2023-03-15作者:佚名
AT89S52单片机的串行口有方式0、方式1、方式2、方式3四种工作方式。方式0主要用于扩展并行输入输出口,方式1、2、3用于串行通信。对这4中工作方式的学习,主要是通过分析各个方式下的发送和接收逻辑来掌握。单片机的串行通信方式包括单片机与单片机之间的双机或多机通信、单片机与PC机的通信等,需要留意。
一、串行口方式0:同步移位寄存器方式

串行口的工作方式0为移位寄存器输入输出方式,方式0发送或接收完8位数据后由硬件置位发送中断标志TI或接收中断标志RI。

1.方式0发送

串行数据从RXD引脚输出,TXD引脚输出移位脉冲。CPU将数据写入发送寄存器(SBUF)时,立即启动发送,将8位数据以fosc/12的固定波特率从RXD输出,低位在前,高位在后,直至最高位(D7位)数字移出后,停止发送数据和移位时钟脉冲。

MOV SCON, #10H ; 串行口方式0

MOV A, SBUF ; 接收数据

JNB RI, $ ; 等待数据接收完毕

2.方式0接收

方式0接收前,务必先置位REN=1,允许接收数据。此时,RXD为串行数据输入端,TXD仍为同步脉冲移位输出端。当RI=0和REN=1同时满足时,就会启动一次接收过程。接收器以fosc/12的固定波特率接收TXD端输入的数据。当接收到第8位数据时,将数据移入接收寄存器,并由硬件置位RI,向CPU申请中断。

MOV SCON, #00H ; 串行口方式0

MOV SBUF, A ; 将数据送出

JNB TI, $ ; 等待数据发送完毕

工作方式0一般用于对并行输入输出口的扩展,如图1所示。


单片机串行接口工作方式
图1 方式0的应用
二、方式1:8位UART方式

当SM0=0、SM1=l时,串行口选择方式1,单片机工作于8位数据异步通讯方式(UART)。在方式1时,传送一帧信息为10位,即1位起始位(0),8位数据位(低位在先)和1位停止位(1)。方式1的数据格式如图2所示。


单片机串行接口工作方式
图2 方式1的数据格式

1.方式1发送

当CPU执行MOV A,SBUF指令将数据写入发送缓冲SBUF,启动发送。先把起始位输出到TXD,然后把移位寄存器的输出位送到TXD。接着发出第一个移位脉冲(SHIFT),使数据右移一位,并从左端补入0。此后数据将逐位由TXD端送出,而其左面不断补入0。发送完一帧数据后,就由硬件置位TI。

单片机串行接口工作方式
图3 方式1发送

2.方式1接收

当REN=1且接收到起始位后,在移位脉冲的控制下,把接收到的数据移入接收缓冲寄存器(SBUF)中,停止位到来后,把停止位送入RB8中,并置位RI,通知CPU接收到一个字符。

单片机串行接口工作方式
图4 方式1接收

三、方式2和方式3:9位数据异步通讯方式

当SM0=1、SM1=0时,串行口选择方式2;当SM1=1、SM0=1时,串行口选择方式3。方式2和方式3的工作原理相似,定义为9位的异步通讯接口,发送(通过TXD)和接收(通过RXD)一帧信息都是11位,1位起始位(0)、8位数据位(低位在先)、1位可编程位(即第9位数据)和1位停止位(1)。其数据格式如图5所示。

单片机串行接口工作方式
图5 方式2和3的数据格式

方式2和方式3唯一的差别是方式2的波特率是固定的,方式3的波特率是可变的。

1.方式2和方式3发送

当CPU执行一条数据写入SUBF的指令时,启动发送器发送。把起始位(0)放到TXD端,经过一位时间后,数据由移位寄存器送到TXD端,通过第一位数据,出现第一个移位脉冲。当TB8的内容移到位寄存器的输出位置时,其左面一位是停止位“1”,再往左的所有位全为“0”。这种状态由零检测器检测到后,就通知发送控制器作最后一次移位,然后置TI=1,请求中断。发送过程如图6所示。

单片机串行接口工作方式
图6 方式2和3的发送

2.方式2和方式3接收

接收时,数据从右边移入输入移位寄存器,在起始位0移到最左边时,控制电路进行最后一次移位。当RI=0,且SM2=0(或接收到的第9位数据为1)时,接收到的数据装入接收缓冲器SBUF和RB8(接收数据的第9位),置RI=1,向CPU请求中断。如果条件不满足,则数据丢失,且不置位RI,继续搜索RXD引脚的负跳变。接收的过程如图7所示。

单片机串行接口工作方式
图7 方式2和3的接收

四、波特率的计算

波特率反映串行口传输数据的速率,它取决于振荡频率、PCON寄存器的SCON位以及定时器的设定。在串行通讯中,收发双方的数据传送率(波特率)要遵循一定的约定。(http://www.gdzrlj.com版权所有)AT89S52串行口的四种工作方式中,方式0和2的波特率是固定的,而方式1和3的波特率是可变的,由定时器的溢出率控制。

方式0为固定波特率:波特率=fosc/12

方式2可选两种波特率:波特率=(2SMOD/64)×fosc

当SMOD=1时,波特率=fosc/32;

当SMOD=0时,波特率=fosc/64。

方式1、3为可变波特率,用T1作波特率发生器。

波特率=(2SMOD/32)×T1溢出率,T1溢出率为T1溢出一次所需时间的倒数。

单片机串行接口工作方式

例如:计算波特率。要求用T1工作于方式2来产生波特率2400,已知晶振频率=12MHz。

解:求出T1的初值:

单片机串行接口工作方式

常用波特率和T1初值可参考教材中的表6-2。
五、多机通信

在集散式分布系统中,往往采用一台主机和多台从机。其中主机发送的信息可以被各个从机接收,而各从机的信息只能被主机接收,从机与从机之间不能互相直接通信。

图8为多机通信连线示意图,系统中左边为主机,其余的为1~n号从机,并保证每台从机在系统中的编号是惟一的。

单片机串行接口工作方式
图8 多通信示意图

相关阅读

电压和电位傻傻分不清?

电压和电位同一回事吗?不是的话,它们的区别又在哪里呢?很多电工都把电压和电位混为一谈,其实这是不对的,作为一名合格的电工,我们很有必要区分两者。 (更多电工课程免费...
2024-03-18
电压和电位傻傻分不清?

电工操作猛如虎,一看工资三千五,月入过万就这么难?

近给大家分享了很多知识,学再多的知识也是为了赚钱,俗话说:“不以赚钱为目的员工都不是好员工”,今天咱们就来说说比较现实的问题:钱! 很多人都觉得做电工不仅脏累苦,重...
2023-06-27
电工操作猛如虎,一看工资三千五,月入过万就这么难?

二极管 VS MOS管,你的防反接保护电路选择谁?

防反接保护电路 通常情况下直流电源输入防反接保护电路是利用二极管的单向导电性来实现防反接保护。如下图1所示: 图1是一只串联二极管保护系统不受反向极性影响,二极管有0....
2023-05-17
二极管 VS MOS管,你的防反接保护电路选择谁?

发电厂类型知多少?科普文来了

发电厂的类型 发电厂是把各种天然能源(一次能源),如煤炭、水能、核能等转换成电能的工厂。 根据所使用的一次能源的不同,发电厂可分为火力发电厂、水力发电厂、核能发电厂...
2023-06-25
发电厂类型知多少?科普文来了

LDO的类型及其工作原理

1、什么是LDO LDO(Low Dropout Regulator),是一种低压差线性稳压器,所谓低压差是一个相对的概念,相对于传统的线性稳压器来说输入输出压差小。传统的线性稳压器,如7805芯片都要求输...
2023-06-14
LDO的类型及其工作原理

热销商品

手术衣一次性防护服打农药防尘实验服参观服加厚透气无纺布隔离衣

手术衣一次性防护服,作为一种重要的医疗防护用品,广泛应用于医院、实验室等场所。它采用加厚透气无纺布制成,具有优良的防尘、防污、防病毒能力,能有效保护医护人员免...
14

欧普照明led灯泡e27/e14大小螺口超亮家用节能灯螺旋暖白光球泡

欧普照明LED灯泡,适用于E27和E14两种常见螺口,是您家用照明的理想选择。这款灯泡采用先进LED技术,亮度超群,瞬间点亮,无需等待,为您提供明亮舒适的光环境。同时,它节能环...
3.59

LED柜内照明灯 AC220V 4W 7W配电箱导轨式 LL10-W 高压柜内照明灯

LED柜内照明灯AC220V 4W/7W配电箱导轨式LL10-W是一款专为高压柜、配电箱等封闭电气设备设计的紧凑型照明产品。采用高效LED光源,功耗低(4W/7W可选),亮度高,寿命长,节能...
7

密封胶条包邮耐磨耐高温耐腐蚀圆柱棒丁晴/氟胶实心硅胶胶条红色

本品采用优质丁腈橡胶(NBR)或氟橡胶(FKM)及实心硅胶材质制成,呈红色圆柱棒状,具备卓越的耐磨、耐高温(-40℃至+200℃以上,氟胶可达250℃)、耐腐蚀性能,适用于酸、碱、油类等...
1

小木锤木锤子实木木榔头圆头木锤实木棰木头锤子木柄锤黄檀手工锤

小木锤采用优质黄檀木精心打造,通体实木结构,质地坚硬、纹理细腻,手感温润舒适。圆头设计兼顾敲击与整形功能,适用于木工、雕刻、家具组装及日常维修等场景。木柄经精...
3.4

网站栏目