第09章思考题和习题解答

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第9章思考题和习题解答

9.1 异步通信和同步通信的主要区别是什么?MCS-51串行口有没有同步通信功能?

答:所谓同步通信是指在约定的通信速率下,发送端和接收端的时钟信号频率和相信始终保持一致(同步),保证了通信双方在发送和接收数据时具有完全一致的定时关系。

异步通信是指通信中两个字符之间的时间间隔是不固定的,而在一个字符内各位的时间间隔是固定的。

MCS-51串行口使用的都是异步通信,没有同步通信功能。

9.2 串行通信有按照数据传送方向可分为哪几种方式,各自有什么特点?

答:按照数据传送方向和UART的工作方式,串行通信可分为单工方式、半双工和全双工三种方式。

1)单工方式:在单工方式下,通讯线的一端连接发送器,另一端连接接收器,只允许数据按照一个固定的方向传送,即一方只能发送,而另一方只能接收,这种方式现在较少使用。

2)半双工方式:在半双工方式下,系统中的每个通讯设备都由一个发送器和一个接收器组成,通过开关接到通讯线路上,双方(A,B)之间只有一个通信回路,数据要么由A发送到B,要么由B发送到A,不能同时在两个方向上传送。半双工方式比单工方式灵活,但是它的效率依然不高。

3)全双工方式:在全双工方式下,A、B两站间有两个独立的通信回路,两站都可以同时发送和接收数据。一回路用于发送,另一回路用于接收,因此,全双工方式通信效率较高。

9.3 通信波特率的定义是什么?它和字符的传送率之间有何区别?

答:波特率的定义为每秒钟传送二进制数码的位数(也称比特数),单位通常为bps(bit per second),即位/秒。波特率是串行通信的重要指标,用于表征数据传输的速度。波特率越高,数据传输速度越快,与字符的传输速率不同。字符的传输速率是指每秒钟内所传字符帧的帧数,它与字符帧格式有关。而波特率则与字符帧格式无关

9.4 串行通信中为什么要用modem?按数字信号的调制技术,modem可分为哪三类?

答:计算机通信要传送的是数字信号,而在远程数据通信时,通信线路往往是借用现成的电话网,但是,电话网是为300~3400Hz间的音频模拟信号设计的,不合适对二进制数据的传输。二进制数据信号在电话网上远距离传输必然会导致信号衰减和畸变,以致传送到接收端后无法辨认。为了使数据能在远程通信中,使用电话网进行传输,必须利用调制的手段,将数字信号变换成能在通讯线上传输而不受影响的模拟信号,在发送时需要采用调制器(Modulator)把数字信号转换成模拟信号,送到通信链路上去,而在接收时,需要用解调器(Demodulator)再把从通信链路上收到的模拟信号还原成数字信号。

按对数字信号的调制技术,MODEM可分为频移键控(FSK)、相移键控(PSK)和相幅调制(PAM)三种类型。

9.5简述MCS-51串行口在四种工作方式下的字符格式。

答:MCS-51串行口口可设置4种工作方式,可有8位、10位或11位帧格式。

方式0以8位数据为一帧,不设起始位和停止位,先发送或接收最低位。其帧格式如下:

方式1以10(1)。其帧格式为:

方式29位和1个停止位(1)。其帧格式为:

9.6 MCS-51串行口控制寄存器SCON 中的SM2的含义是什么?主要在什么方式下使用? 答:在方式2 和3 中,若SM2=1 且接收到的第九位数据(RB8)为1,才将接收到的前8 位数据送入接收SBUF 中,并置位RI 产生中断请求;否则丢弃前8 位数据。若SM2=0,则不论第九位数据(RB8)为1 还是为0,都将前8 位送入接收SBUF 中,并产生中断请求。方式1 时,SM2必须置0。SM2主要在多机通信时使用。

9.7 简述MCS-51串行口在4种工作方式下的字符格式。

9.8 简述MCS-5l 串行口在4种工作方式下波特率的产生方法。 答:串行口方式0波特率的产生如下图所示。

方式0波特率 = fosc / 12

串行口方式2波特率的产生如下图所示。

方式2波特率=2

SMOD

/64×fosc

方式1和方式3的波特率的产生如下图所示。

方式1、方式3的溢出率定时器波特率1SMOD

T 32

2⨯=

9.9 简述MCS-5l 串行口发送和接收数据的过程。

答:MCS-51串行口的发送过程由指令MOV SBUF ,A 启动,即CPU 由一条写发送缓冲器的指令把数据(字符)写入串行口的发送缓冲器SBUF(发)中,再由硬件电路自动在字符的始、末加上起

始位(低电平)、停止位(高电平)及其它控制位(如奇偶位等),然后在移位脉冲的控制下,低位在前,高位在后,从TXD端(方式0除外)一位一位地向外发送。

串行口的接收与否受制于允许接收位REN的状态,当REN被软件置“1”后,允许接收器接收。接收端RXD一位位地接收数据,直到收到一个完整的字符数据后,控制电路进行最后一次移位,自动去掉启始位,使接收中断标志RI置“1”,并向CPU申请中断。CPU响应中断,用一条指令(MOV A,SBUF)把接收缓冲器SBUF(收)的内容读入累加器。

TI和RI是由硬件置位的,但需要用软件复位。

9.10试比较和分析MCS-5串行口在4种工作方式下发送和接收数据的基本条件。

答:1.方式0(SM1=SM0=0)

方式0发送是以写SBUF寄存器的指令开始,8位数据输出结束时TI 被置位。

方式0接收是在REN=1和RI=0同时满足时开始,接收的8位数据装入SBUF中时结束,RI被置位。

2.方式1(SM0=0,SM1=1)

方式1发送以执行一条写SBUF的指令启动一次串行口发送过程,发送电路就自动在8位发送字符前后分别添加1位起始位和停止位,发送完一帧信息后,发送中断标志TI由硬件在发送停止位时置位,应由软件将它复位。

方式l接收的前提条件是REN=l,同时满足两个条件(1)RI=0;(2)SM2=0或接收到的停止位为1,本次接收有效,将其装入SBUF和RB8位。否则放弃接收结果。

3.方式2和方式3

方式2和方式3的发送起始于执行一条写SBUF的指令当第9位数据(TB8)输出之后,置位TI。

方式2和方式3的接收前提条件也是REN=1.在第9位数据接收到后,如果下列条件同时满足(1)RI=0;(2)SM2=0或接收到的第9位为1, 本次接收有效,将已接收的数据装入SBUF和RB8,并置位RI。如果条件不满足,则接收无效。

9.11请用中断法编出串行口方式1下的发送程序。设8031单片机主频为11.0592MHz,波特率为9600bps,发送数据缓冲区在外部RAM,起始地址为TBLOCK,数据均为7位的ASCII字符,数据块长度为30,采用偶校验,放在发送数据第8位,数据块长度首先发送。

解:参考程序如下:

ORG 0000H

LJMP MAIN

ORG 0023H

LJMP TXSVE

TBUFF EQU TBLOCK

LEN EQU 30

;主程序

MAIN:MOV TMOD,#20H ;设置T1为定时器工作方式2

MOV TH1,#0FDH ;波特率9600bps

MOV TL1,#0FDH

MOV PCON,#00H ;SMOD=0

SETB TR1 ;启动T1

MOV SCON,#40H ;串行口为方式1

SETB EA ;开CPU中断

相关文档
最新文档