单片机串行接口工作方式

串行口的工作方式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申请中断。
movscon,#00h ;串行口方式0
movsbuf,a ;将数据送出
jnbti,$ ;等待数据发送完毕
工作方式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执行mova,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位以及定时器的设定。在串行通讯中,收发双方的数据传送率(波特率)要遵循一定的约定。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 多通信示意图

LG电子在韩国推出了一款新型消毒机器人
连接器的应用广泛,它都有些什么作用
良心配置!oppor11高性价比成今夏新宠
让过程品质控制SPC盈利
浅谈NB-IoT的eDRX模式,它的主要目的是什么
单片机串行接口工作方式
电源管理ic型号规格有哪些
氮化硅陶瓷轴承——电驱时代轴承材料最优解
电路分析:工业触摸屏上电就短路元凶-TVS管
华为P10热销势不可挡!顾客排队抢购很疯狂
temi机器人亮相高交会 备受观众和媒体的喜爱
派恩杰半导体650V-1700V碳化硅器件满足车规级要求
2014年锂电池新技术发展迅猛 市场产值望破千亿
有源音响电路图
三星为占据印度市场推众多廉价手机
Java语言怎样变得精通
铅酸蓄电池充电方法_铅酸蓄电池充电禁忌
基于LabVIEW开发环境实现SOE事件顺序记录系统的设计
变音信号发生器
2023年是多芯片系统的转折点?