收藏 分销(赏)

第09章思考题及习题解答.doc

上传人:仙人****88 文档编号:7731865 上传时间:2025-01-14 格式:DOC 页数:8 大小:100KB
下载 相关 举报
第09章思考题及习题解答.doc_第1页
第1页 / 共8页
第09章思考题及习题解答.doc_第2页
第2页 / 共8页
第09章思考题及习题解答.doc_第3页
第3页 / 共8页
第09章思考题及习题解答.doc_第4页
第4页 / 共8页
第09章思考题及习题解答.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、第9章 思考题和习题解答9.1 异步通信和同步通信的主要区别是什么?MCS-51串行口有没有同步通信功能?答:所谓同步通信是指在约定的通信速率下,发送端和接收端的时钟信号频率和相信始终保持一致(同步),保证了通信双方在发送和接收数据时具有完全一致的定时关系。异步通信是指通信中两个字符之间的时间间隔是不固定的,而在一个字符内各位的时间间隔是固定的。MCS-51串行口使用的都是异步通信,没有同步通信功能。9.2 串行通信有按照数据传送方向可分为哪几种方式,各自有什么特点?答:按照数据传送方向和UART的工作方式,串行通信可分为单工方式、半双工和全双工三种方式。1)单工方式:在单工方式下,通讯线的一

2、端连接发送器,另一端连接接收器,只允许数据按照一个固定的方向传送,即一方只能发送,而另一方只能接收,这种方式现在较少使用。2)半双工方式:在半双工方式下,系统中的每个通讯设备都由一个发送器和一个接收器组成,通过开关接到通讯线路上,双方(A,B)之间只有一个通信回路,数据要么由A发送到B,要么由B发送到A,不能同时在两个方向上传送。半双工方式比单工方式灵活,但是它的效率依然不高。3)全双工方式:在全双工方式下,A、B两站间有两个独立的通信回路,两站都可以同时发送和接收数据。一回路用于发送,另一回路用于接收,因此,全双工方式通信效率较高。9.3 通信波特率的定义是什么?它和字符的传送率之间有何区别

3、?答:波特率的定义为每秒钟传送二进制数码的位数(也称比特数),单位通常为bps(bit per second),即位/秒。波特率是串行通信的重要指标,用于表征数据传输的速度。波特率越高,数据传输速度越快,与字符的传输速率不同。字符的传输速率是指每秒钟内所传字符帧的帧数,它与字符帧格式有关。而波特率则与字符帧格式无关9.4 串行通信中为什么要用modem?按数字信号的调制技术,modem可分为哪三类?答:计算机通信要传送的是数字信号,而在远程数据通信时,通信线路往往是借用现成的电话网,但是,电话网是为3003400Hz间的音频模拟信号设计的,不合适对二进制数据的传输。二进制数据信号在电话网上远距

4、离传输必然会导致信号衰减和畸变,以致传送到接收端后无法辨认。为了使数据能在远程通信中,使用电话网进行传输,必须利用调制的手段,将数字信号变换成能在通讯线上传输而不受影响的模拟信号,在发送时需要采用调制器(Modulator)把数字信号转换成模拟信号,送到通信链路上去,而在接收时,需要用解调器(Demodulator)再把从通信链路上收到的模拟信号还原成数字信号。按对数字信号的调制技术,MODEM可分为频移键控(FSK)、相移键控(PSK)和相幅调制(PAM)三种类型。9.5简述MCS-51串行口在四种工作方式下的字符格式。答:MCS-51串行口口可设置4种工作方式,可有8位、10位或11位帧格

5、式。方式0以8位数据为一帧,不设起始位和停止位,先发送或接收最低位。其帧格式如下:D0D1D2D3D4D5D6D7方式1以10位为一帧传输,设有1个起始位(0),8个数据位和1个停止位(1)。其帧格式为:起始D0D1D2D3D4D5D6D7停止方式2和方式3以11位为1帧传输,设有1个起始位(0),8个数据位,1个附加第9位和1个停止位(1)。其帧格式为:起始D0D1D2D3D4D5D6D7D8停止附加第9位(D8)由软件置1或清0。发送时在TB8中,接收时送RB8中。9.6 MCS-51串行口控制寄存器SCON中的SM2的含义是什么?主要在什么方式下使用?答:在方式2 和3 中,若SM21

6、且接收到的第九位数据(RB8)为1,才将接收到的前8 位数据送入接收SBUF中,并置位RI产生中断请求;否则丢弃前8 位数据。若SM20,则不论第九位数据(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波特率=2SMOD/64fosc方式1和方式3的波特率的产生如下图所示。方式

7、1、方式39.9 简述MCS-5l串行口发送和接收数据的过程。答:MCS-51串行口的发送过程由指令MOV SBUF,A启动,即CPU由一条写发送缓冲器的指令把数据(字符)写入串行口的发送缓冲器SBUF(发)中,再由硬件电路自动在字符的始、末加上起始位(低电平)、停止位(高电平)及其它控制位(如奇偶位等),然后在移位脉冲的控制下,低位在前,高位在后,从TXD端(方式0除外)一位一位地向外发送。串行口的接收与否受制于允许接收位REN的状态,当REN被软件置“1”后,允许接收器接收。接收端RXD一位位地接收数据,直到收到一个完整的字符数据后,控制电路进行最后一次移位,自动去掉启始位,使接收中断标志

8、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位

9、起始位和停止位,发送完一帧信息后,发送中断标志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。如果条件不满足,则接收无效。

10、9.11请用中断法编出串行口方式1下的发送程序。设8031单片机主频为11.0592MHz,波特率为 9600bps,发送数据缓冲区在外部 RAM,起始地址为 TBLOCK,数据均为7位的ASCII字符,数据块长度为30,采用偶校验,放在发送数据第8位,数据块长度首先发送。解:参考程序如下:ORG0000HLJMPMAINORG0023HLJMPTXSVETBUFFEQUTBLOCKLENEQU30;主程序MAIN:MOVTMOD,#20H;设置T1为定时器工作方式2MOVTH1,#0FDH;波特率9600bpsMOVTL1,#0FDHMOVPCON,#00H;SMOD=0SETBTR1;启动

11、T1MOVSCON,#40H;串行口为方式1SETBEA;开CPU中断SETBES;开串行口中断MOVDPTR,#TBUFF;DPTR指向数据块首址MOVA,#LEN;数据块长度送ACLRACC.7CPLP;偶校验MOVC,PMOVACC.7,C;设置偶校验位MOVSBUF,A;发送长度数据MOVR2,AWAIT:CJNER2,#00H,WAIT;未发送完循环等待中断发送CLREA;关CPU中断SJMP$;暂停;中断服务程序TXSVE:CLRES;关串行口中断CLRTI;清串行口发送中断请求标志MOVXA,DPTR;数据送AINCDPTR;调整数据指针CLRACC.7CPLP;偶校验MOVC,

12、PMOVACC.7,C;设置偶校验位MOVSBUF,A;发送字符数据DECR2;数据长度减1SETBES;开串行口中断RETI;中断返回END9.12请用中断法编写出串行口在方式1下的接收程序。设单片机主频为11.0592MHz,波特率为19200bps,接收数据缓冲区在外部RAM,起始地址为BLOCK,接收数据区长度为100,采用奇校验,假设数据块长度要发送。解:参考程序如下:ORG0000HLJMPMainORG0023HLJMPRXSVETBUFFEQUBLOCKMAXLENEQU100;主程序MAIN:MOVTMOD,#20H;设置T1为定时器工作方式2MOVTH1,#0FDH;波特率

13、19200bpsMOVTL1,#0FDHMOVPCON,#10H;SMOD=1SETBTR1;启动T1MOVSCON,#80H;串行口为方式1SETBEA;开CPU中断CLRF0;设置出错标志,F0=1接收出错SETBREN;允许接收JNBRI,$;等待接收数据长度MOVA,SBUF;接收数据长度ACALLVERIFY;奇校验CJNEA,#0FFH, CHKLEN;奇校验正确转REVSETBF0SJMPERRO;奇校验出错CHKLEN:MOVR2,ACLRCMOVA,#MAXLENSUBBA,R2;检查数据长度JCERRO;数据长度大于数据缓冲区长度出错MOVDPTR,#TBUFF;DPTR指

14、向字符块首址SETBES;开串行口中断RECEIVE:JBF0,ERRO;接收校验错转ERROCJNER2,#00H, RECEIVE;未接收完循环等待中断接收CLREA;接收完成,关CPU中断SJMP$;暂停ERRO:SJMPERRO;数据块长度送A;中断服务程序RXSVE:CLRES;关串行口中断CLRRI;清串行口接收中断请求标志MOVA,SBUF;数据送AACALLVERIFY;奇校验CJNEA,#0FFH,SAVE;奇校验正确转SAVESETBF0SJMPINTRET;奇校验出错SAVE:MOVXDPTR,A;保存数据INCDPTR;调整数据指针DECR2INTRET:SETBES;

15、开串行口中断RETI;中断返回;奇校验子程序;入口参数:A=收到数据,ACC.7奇校验;出口参数:校验正确A=校验数据,ACC.7=0去除校验位。校验错误A=0FFH;占用寄存器:R7VERIFY:MOVR7,A;保存数据到R7CLRACC.7;清原校验位MOVC,P;取奇校验位MOVACC.7,C;加上新校验位XRLA,R7;校验CJNEA,#00H,VERRO;校验错转VERROMOVA,R7;校验正确,取回原数据CLRACC.7;清校验位SJMPEXITVERRO:MOVA,#0FFH;设置校验错EXIT:RETEND9.13 请用查询法编出 8031串行口在方式 2下的接收程序。设:波

16、特率为 fosc/32,接收数据块在外部RAM,起始地址为RBLOCK,数据块长度为50,采用奇校验,放在接收数据的第9位上,接收数据块长度首先被发送。解:参考程序如下:ORG0000HTBUFFEQUBLOCKMAXLENEQU50;主程序MAIN:MOVPCON,#10H;SMOD=1MOVSCON,#40H;串行口为方式2CLRES;关串行口中断CLRF0;设置出错标志,F0=1接收出错SETBREN;允许接收JNBRI,$;等待接收数据长度MOVA,SBUF;接收数据长度ACALLVERIFY;奇校验JNBF0, CHKLEN;奇校验正确转REVSJMPERRO;奇校验出错CHKLEN

17、:MOVR2,AMOVA, #MAXLENCLRCSUBBA, R2;检查数据长度JCERRO;数据长度大于数据缓冲区长度出错MOVDPTR,#TBUFF;DPTR指向字符块首址RECEIVE:JNBRI, RECEIVE;查询等待接收一个数据结束CLRRIMOVA,SBUF;读接收数据ACALLVERIFY;奇校验JNBF0,SAVE;奇校验正确转SAVESJMPERRO;奇校验出错SAVE:MOVXDPTR,A;保存数据INCDPTR;调整数据指针DJNZR2, RECEIVESJMP$;接收完成暂停ERRO:SJMPERRO;校验出错暂停;奇校验子程序;入口参数:P=接到数据奇校验位,R

18、B8=收到奇校验位;出口参数:校验正确F0=0,校验错误F0=1VERIFY:JBRB8, VERIFY1JNBP,VERROSJMPRIGHTVERIFY1:JBP, VERRORIGHT:CLRF0SJMPEXITVERRO:SETBF0;设置校验错EXIT:RETEND9.14 设8031单片机的发送缓冲区和接收缓冲区皆在内部RAM,起始地址分别为TBLOCK和RBLOCK,数据块长度皆为20。试编写主机既能发送又能接收的全双工通信程序。解:无校验,使用方式1。假设8031单片机主频为11.0592MHz,波特率选 9600bps。采用中断编程。参考程序如下:ORG0000HLJMPMA

19、INORG0023HLJMPRTXSVETBUFFEQUTBLOCKRBUFFEQURBLOCKLENEQU20;主程序MAIN:MOVTMOD,#20H;设置T1为定时器工作方式2MOVTH1,#0FDH;波特率9600bpsMOVTL1,#0FDHMOVPCON,#00H;SMOD=0SETBTR1;启动T1MOVSCON,#40H;串行口为方式1SETBEA;开CPU中断SETBES;开串行口中断MOVR0,#TBUFF;DPTR指向发送数据块首址MOVR1,#TBUFF;DPTR指向接收数据块首址MOVR2,#LEN;发送数据长度送R2MOVR3,#LEN;接收数据长度送R3CLRTI

20、CLRRIMOVA,R0MOVSBUF,A;启动发送过程WAIT:MOVA,R2ORA,R3JNZWAIT;等待发送和接收完成CLRES;关串行口中断SJMP$;暂停;中断服务程序RTXSVE:CLRES;关串行口中断JNBTI,RX;不是发送中断,转接收中断处理CLRTI;清发送中断请求标志MOVA,R2JZINTRET;已发送完转中断返回DECR2TX:INCR0;调整接收数据指针MOVA,R0;数据送AMOVSBUF,A;发送数据SJMPINTRETRX:CLRRI;清接收中断请求标志MOVA,R3JZINTRET;已接收完转中断返回MOVA,SBUFMOVR1,A;保存接收数据INCR1;调整接收数据指针DECR3INTRET:SETBES;开串行口中断RETI;中断返回END9-8

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服