MCS-51单片机串行接口

第七章 MCS-51单片机串行接口
第一节串行通信的基本概念
()学习要求
1. 掌握串行通信的基本概念
2. 掌握异步通信和同步通信的区别。
(二)内容提要
一:基本概念及分类
串行通信是将数据的各位一位一位地依次传送。适合于计算机之间、计算机与外部设备之间的远距离通信。
串行通信从传输方式分为:
单工方式、半双工方式、全双工方式。
接收方式来说,串行通信有两种方式:
异步通信方式、同步通信方式。
二:串行口的功能
MCS51单片机中的异步通信串行接口能方便地与其他计算机或传送信息的外围设备(如串行打印机、CPU终端等)实现双机、多机通信。
串行口有4种工作方式,见表71。方式0并不用于通信,而是通过外接移位寄存器芯片实现扩展并行IO接口的功能。该方式又称为移位寄存器方式。方式1、方式2、方式3都是异步通信方式。方式18位异步通信接口。一帧信息由10位组成,其格式见图72a。方式1用于双机串行通信。方式2、方式3都是9位异步通信接口、一帧信息中包括9位数据,1位起始位,1位停止位,其格式见图7-2b。方式2、方式3的区别在于波特率不同,方式2、方式3主要用于多机通信,也可用于双机通信。
7-1
SM0
SM1
工作方式
功能
波特率
0
0
1
1
0
1
0
1
方式0
方式0
方式0
方式0
移位寄存器方式
8位通用异步接收器/发送
9位通用异步接收器/发送器
9位通用异步接收器/发送器
fosc/12
可变
fosc/32或fosc/64
可变
(三)习题与思考题
1、 什么是并行通信?什么是串行通信?各有何优缺点?
答:并行通信指数据的各位同时传输的通信方式,串行通信是指各位数据逐位顺序传输的通信方式。
2、 什么是异步通信?什么是同步通信?各有何优缺点?
3、 什么是波特率?某异步串行通信接口每分钟传送1800个字符,每个字符由11位组成,请计算出传送波特率。
第二节MCS-51串行接口的组成
()学习要求
(1) 了解串行接口的结构。
(2) 了解串行接口的控制与状态寄存器工作原理。
点头娃娃(二)内容提要
一:串行接口的结构
串行接口主要由发送数据缓冲器、发送控制器、输出控制门、接收数据缓冲器、接收控制器、输入移位寄存器、波特率发生器T1等组成。
串行口中还有两个特殊功能寄存器SCONPCON,特殊功能寄存器SCON用来存放串行口的控制和状态信息。定时器/计数器1(T1)与定时器/计数器2(T2)都可构成串行口的波特率发生器,其波特率是否增倍可由特殊功能寄存器PCON的最高位控制。
二:串行接口控制与状态寄存器
MCS51串行口的工作方式选择、中断标志、可编程位的设置、波特率的增倍均是通过两个特殊功能寄存器SCONPCON来控制的。
1. 电源和波特率控制寄存器PCON
电源控制寄存器PCON的格式如下:
冷却塔减震器
D7    D 6  D5    D4    D3    D 2    D 1    D0
SMOD
GF1
GF0
PD
IDL
电源和波特率控制寄存器PCON,其地址为87H,只能进行字节寻址,不能按位寻址。PCON的最高位D7位作肉模SMOD,是串行口波特率的增倍控制位。当SMOD1时,波特率加倍。例如在工作方式2下,若SMOD0时,则波特率为  fosc64;当SMOD1时,则波特率为  fosc32,恰好增大一倍。系统复位时,SMOD位为0。串行口控制寄存器SCON
SCON各位的含义如下:
D7
D6
D5
D4
D3
D2
D1
D0
真空床SCON
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
98H
9FH
9EH
9DH
9CH
9BH
9AH
99H
98H
1)串行口控制方式选择位SM0SM1,其SM0SM1由软件置位或清零,用于选择串行口的4种工作方式。
2)多机通信控制位SM2和接收中断标志位RI  SM21时,如果接收到的一帧信息中的第九位数据为1,且原有的接收中断标志位RI0,则硬件将RI1;如果第九位数据为0,则RI不置1,且所接收的数据无效。
SM20时,只要接收到一帧信息,不管第九位数据是0还是1,硬件都置RI0RI由软件清零。SM2由软件置位或清零。
多机通信时,SM2必须置1,双机通信时,通常使SM20。方式0SM2必须为0
3)发送中断标志位TI    在方式0中,发送完8位数据后,由硬件置位;在其它方式中,在发送停止位之初,由硬件使TI1TI置位后可向CPU申请中断,任何方式中TI位都必须由软件清除。
(4 ) 接收中断标志RI    在方式0中,接收完8位数据后,由硬件置位;在其它方式中,在接收停止位的一半时由硬件将RI置位(还应考虑SM2的设定)RI被置位后可允许CPU申请中断,任何方式中TI位都必须由软件来清除。
串行发送中断标志TI和接收中断标志RI共用一个中断源,CPU并不知道是TI还是RI产生的
中断请求,所以在全双工通信时,必须由软件来断别。
5)允许接收控制位REN    REN1时允许接收,REN0时禁止接收。REN由软件置位或清零。
6)发送数据D8TB8    TB8是方式2、方式3中要发送的第九位数据,事先用软件写入10。方式0、方式1不用。
7)接收数据D8RB8    方式2、方式3中,由硬件将接收到的第九位数据存入RB8 。方式1中,停止位存入 RB8
复位后SCON的所有位清零。
(三)习题与思考题
1MCS-51单片机的串行口由哪些功能部件组成?各有什么作用。
2、特殊功能寄存器SCON PCON的作用和工作过程是什么?
第三节串行口的工作方式
()学习要求
(1) 了解串行接口的工作方式。
(2) 掌握波特率的计算。
航空母舰模型(二)内容提要
一、 串行接口的工作方式0
SM0=0、SM1=0串行口工作于方式0,  即串行寄存器方式或称为同步移位寄存器输入/输出方式。CPU执行一条写SBUF的指令如MOV  SBUF ,A就启动了发送过程。发送的时序见图7-1。接收时序见图7-2
                     
图7-1  方式0发送时序
图7-2  方式0接收时序
串行口方式电脑控制板0不适用于两个8051之间的数据通信,但可通过外接移位寄存器来扩展单片机的接口。例如,可以采用74LS164可以扩展并行输出口,74LS165可以扩展输入口。
二、 串行口工作方式1
SM00SM11串行口接口工作于方式1,即将8位异步通信接口方式,结构示意图见图7-7RXD为接收端,TXD为发送端。一帧信息由10位组成,方式1的波特率可变,由定时器/计数器1或定时器/计数器2的溢出速率以及SMODPCON.7)决定,且发送波特率与接收波特率可以不同。
1. 发送
CPU执行一条写SBUF指令后便启动了串行口发送,数据从TXD输出,时序见图7-8a
在指令执行期间,CPU送来SBUF”信号,将并行数据送入SBUF,并启动发送控制器,经一个机器周期,发送控制器的SENDDATA相继有效,通过输出控制门从TXD上逐位输出一帧信号。一帧信号发送完毕后,SENDDATA失效,发送控制器硬件置发送中断标志TI1,向CPU申请中断。
2. 接收
方式1的接收时序见图7-8b。允许接收位REN被置1接收器就开始工作,跳变检测器以波特率16倍的速率采样RXD引脚上电平,当采样到从10的负跳变时,启动接收控制器接收数据,由于发送、接收双方各自使用自己的时钟,两者的频率总有少许差异。为了避免这种影响,控制器将1位送时间等分成16分、位检测器在789三个状态也就是在位信号中央采样RXD三次。 而且,三次采样中至少两次相同的值被确认为数据,这是为了减小干扰的影响。如果起始位接收到的值不是0,由起始位无效,复位接收电路。如果起始位为0,则开始开始接收本帧其他数据。控制器发出的内部移位脉冲将RXD上的数据逐位移入移位寄存器,当8位数据及停止位全移入后:
(1) 如果RI0SM20,接收控制器发出装载SBUF”信号,将8位数据装入接收数据缓冲器SBUF,停止装入RB8,并置RI1,向CPU申请中断。
(2) 如果RI0SM21,那么只有停止位为1时才发生上述动作。
(3) 如果RI0SM21且停止位为0,(通常由传输过程中的干扰所致)所接收的数据应会丢失,不再恢复。
(4) 如果RI1,则所接收的数据在任何情况下都会丢失。
无论出现哪一种情况,跳变检测器将继续采样RXD引脚的负跳变,以便接收下一帧信息。
接收器采用移位寄存器和SBUF双缓冲结构,以避免在接收后一帧数据之前,CPU尚未及时响应中断将前一帧数据取走,造成两帧数据重叠问题。采用双缓冲器后,前、后两帧数据进入SBUF的时间间隔至少有10个位传送周期。在后一帧数据送入SBUF之前,CPU有足够的时间将前一帧数据取走。
三、 串行接口工作方式2和与方式3
串行口工作在方式2、方式3时,为9位异步通信接口。发送或接收的一帧信息由11位组成,见图7-2b。方式2与方式3仅波特率不同,方式2的波特率为fosc/32SMOD1时)或fosc/64SMOD0时),而方式3的波特率由定时器/计数器具或定时器/计数器2SMOD决定。
1. 发送
方式2、方式3发送时,数据从TXD引脚输出,附加的第九位数据由SCON中的TB8提供。CPU执行一条写入SBUF的指令后立即启动发送器发送。发送完一帧信息后由硬件置TI=1
2. 接收
与方式1相似,REN1后,跳变检测器不断对RXD引脚采样。当采样到负跳变后就启动接收控制器。位检测器对每位数据采集3个值,用采32办法确定每位的数值。当第九位数据移入移位寄存器后,将8位数据装入SBUF,第九位数据装入RB8,并置RI=1,其时序见图2-26b
与方式1相同,方式2、方式3中也设置有数据辨别功能,即当RI1SM21且第九位数据为0时所接收的一帧信息被丢失。
四、各方式波特率的设计
在串行通信中,收发双方对发送或接收的数据速率(即波特率)要有一定的约定。可通过对串行口编程设定。各种工作方式下其波特率的设置均有所不同,其中方式0和方式2的波
特率是固定的,方式1和方式3的波特率是可变的,由定时器T1的溢出率确定。
(1) 方式0的波特率    方式0时,其波特率固定为振荡频率的1/12,并不受PCONSMOD位的影响。因而,方式0的波特率=fosc/12

本文发布于:2024-09-22 11:32:08,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/176413.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:方式   数据   接收   发送   寄存器   串行口   工作
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议