单片机原理及应用第2版课后答案第6章习题答案.docx
- 文档编号:23762965
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:12
- 大小:40.04KB
单片机原理及应用第2版课后答案第6章习题答案.docx
《单片机原理及应用第2版课后答案第6章习题答案.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用第2版课后答案第6章习题答案.docx(12页珍藏版)》请在冰豆网上搜索。
单片机原理及应用第2版课后答案第6章习题答案
单片机原理及应用第2版课后答案第6章习题答案
第6章习题答案
1.异步通信和同步通信的主要区别是什么?
MCS-51串行口有没有同步通信功能?
答案:
异步通信因为每帧数据都有起始位和停止位,所以传送数据的速率受到限制。
但异步通信不需要传送同步脉冲,字符帧的长度不受限制,对硬件要求较低,因而在数据传送量不很大。
同步通信一次可以连续传送几个数据,每个数据不需起始位和停止位,数据之间不留间隙,因而数据传输速率高于异步通信。
但同步通信要求用准确的时钟来实现发送端与接收端之间的严格同步。
MCS-51串行口有同步通信功能。
2.解释下列概念:
(1)并行通信、串行通信。
(2)波特率。
(3)单工、半双工、全双工。
(4)奇偶校验。
答案:
(1)并行通信:
数据的各位同时进行传送。
其特点是传送速度快、效率高,数据有多少位,就需要有多少根传输线。
当数据位数较多和传送距离较远时,就会导致通信线路成本提高,因此它适合于短距离传输。
串行通信:
数据一位一位地按顺序进行传送。
其特点是只需一对传输线就可实现通信,当传输的数据较多、距离较远时,它可以显著减少传输线,降低通信成本,但是串行传送的速度慢。
(2)波特率:
每秒钟传送的二进制数码的位数称为波特率(也称比特数),单位是bps(bitpersecond),即位/秒。
(3)单工:
只允许数据向一个方向传送,即一方只能发送,另一方只能接收。
半双工:
允许数据双向传送,但由于只有一根传输线,在同一时刻只能一方发送,另一方接收。
全双工:
允许数据同时双向传送,由于有两根传输线,在A站将数据发送到B站的同时,也允许B站将数据发送到A站。
(4)奇偶校验:
为保证通信质量,需要对传送的数据进行校验。
对于异步通信,常用的校验方法是奇偶校验法。
采用奇偶校验法,发送时在每个字符(或字节)之后附加一位校验位,这个校验位可以是“0”或“1”,以便使校验位和所发送的字符(或字节)中“1”的个数为奇数——称为奇校验,或为偶数——称为偶校验。
接收时,检查所接收的字符(或字节)连同奇偶校验位中“1”的个数是否符合规定。
若不符合,就证明传送数据受到干扰发生了变化,CPU可进行相应处理。
3.MCS-51串行口控制寄存器SCON中SM2、TB8、RB8有何作用?
主要在哪几种方式下使用?
答案:
SM2:
多机通信控制位,主要在方式1、2、3下使用;
TB8:
存放发送数据的第9位,主要在方式2、3下使用;
RB8:
存放接收数据的第9位或停止位,主要在方式1、2、3下使用。
4.试分析比较MCS-51串行口在四种工作方式下发送和接收数据的基本条件和波特率的产生方法。
答案:
发送数据的基本条件:
方式0、1、2、3:
CPU执行一条将数据写入发送缓冲器SBUF的指令;
接收数据的基本条件:
方式0:
用软件使REN=1(同时RI=0);方式1:
用软件使REN=1,一帧数据接收完毕后,必须同时满足以下两个条件:
①RI=0;②SM2=0或接收到的停止位为1,这次接收才真正有效,将8位数据送入SBUF,停止位送RB8,置位RI。
否则,这次接收到的数据将因不能装入SBUF而丢失。
方式2、3:
软件使REN=1,同时满足以下两个条件:
①RI=0;②SM2=0或接收到的第9位数据为1(SM2=1),则这次接收有效,8位数据装入SBUF,第9位数据装入RB8,并由硬件置位RI。
否则,接收的这一帧数据将丢失。
波特率的产生方法:
在方式0下,串行口的波特率是固定的,即波特率=fosc/12;在方式1、3下,串行口波特率由定时器T1的溢出率和SMOD值同时决定。
相应公式为:
波特率=2SMOD×T1溢出率/32;在方式2下,串行口的波特率可由PCON中的SMOD位控制:
若使SMOD=0,则所选波特率为fosc/64;若使SMOD=1,则波特率为fosc/32。
即
5.为何T1用作串行口波特率发生器时常用模式2?
若fosc=6MHz,试求出T1在模式2下可能产生的波特率的变化范围。
答案:
定时器T1作为波特率发生器可工作于模式0、模式1和模式2。
其中模式2在T1溢出后可自动装入时间常数,避免了重装参数,因而在实际应用中除非波特率很低,一般都采用模式2。
若fosc=6MHz,T1在模式2下可能产生的波特率的变化范围为:
61.04bps~15625bps。
6.简述多机通信原理。
答案:
当主机选中与其通信的从机后,只有该从机能够与主机通信,其他从机不能与主机进行数据交换,而只能准备接收主机发来的地址帧。
上述要求是通过SCON寄存器中的SM2和TB8来实现的。
当主机发送地址帧时使TB8=1,发送数据帧时使TB8=0,TB8是发送的一帧数据的第9位,从机接收后将第9位数据作为RB8,这样就知道主机发来的这一帧数据是地址还是数据。
另外,当一台从机的SM2=0时,可以接收地址帧或数据帧,而当SM2=1时只能接收地址帧,这就能实现主机与所选从机之间的单独通信。
7.试用8051串行口扩展I/O口,控制16个发光二极管自右向左以一定速度轮流发光,画出电路并编写程序。
答案:
电路如下:
程序如下:
ORG0000H
AJMPMAIN
ORG0023H
AJMPSBS;转向串行口中断服务程序
ORG2000H
MAIN:
MOVSCON,#00H;串行口设置为方式0
MOVA,#01H;最右边一位发光二极管先亮
CLRP1.0;关闭并行输出,熄灭显示
CLRP1.1
MOVSBUF,A;开始串行输出
LOOP:
SJMPLOOP;等待中断
SBS:
INCR0
CJNER0,#11H,DSP
MOVR0,#01H
DSP:
CJNER0,#08H,DSPR
SETBP1.1;启动高8位并行输出
DSPR:
SETBP1.0;启动低8位并行输出
ACALLDELY;显示延迟1s
CLRTI;清发送中断标志
RLA;准备点亮下一位
CLRP1.0;关闭并行输出,熄灭显示
CLRP1.1
MOVSBUF,A;串行输出
ZDFH:
RETI
DELY:
MOVR2,#05H;延时1s子程序(fosc=6MHz)
DELY0:
MOVR3,#0C8H
DELY1:
MOVR4,#0F8H
NOP
DELY2:
DJNZR4,DELY2
DJNZR3,DELY1
DJNZR2,DELY0
RET
END
8.试设计一个8051单片机的双机通信系统,串行口工作在方式1,波特率为2400bps,编程将甲机片内RAM中40H~4FH的数据块通过串行口传送到乙机片内RAM的40H~4FH单元中。
答案:
双方约定的通信协议如下:
甲机先发送请求乙机接收信号“0AAH”,乙机收到该信号后,若为准备好状态,一个则发送数据“0BBH”作为应答信号,表示同意接收。
当甲机发送完16个字节后,再向乙机发送一个累加校验和。
校验和是针对数据块进行的,即在数据发送时,发送方对块中的数据简单求和,产生一个单字节校验字符(校验和),附加到数据块结尾。
在数据接收时,接收方每接收一个数据也计算一次校验和;接收完数据块后,再接收甲机发送的校验和,并将接收到的校验和与乙机求出的校验和进行比较,向甲机发送一个状态字,表示正确(00H)或出错(0FFH),出错则要求甲机重发。
甲机收到收到乙机发送的接收正确应答信号(00H)后,即结束发送,否则,就重发一次数据。
甲机采用查询方式进行数据发送,乙机采用中断方式进行数据接收。
双方约定传输波特率为2400bps,两机主频均为11.059MHz,双机串行口都工作于方式1,查表6-2可知SMOD=0,定时器T1采用工作模式2,初值为F4H。
甲机发送子程序:
ORG2000H
SEND:
MOVTMOD,#20H;定时器1设为模式2
MOVTL1,#0F4H
MOVTH1,#0F4H;置定时器初值
SETBTR1;启动T1
MOVSCON,#50H;设串行口为方式2
MOVPCON,#00H;SMOD=0
TLLS:
MOVSBUF,#0AAH;发送请求接收信号
WFS1:
JBCTI,RYD1;等待发送
SJMPWFS1
RYD1:
JBCRI,RYD2;等待乙机回答
SJMPRYD1
RYD2:
MOVA,SBUF;接收应答信号
XRLA,#0BBH
JNZTLLS;乙机未准备好,继续联络
SDD1:
MOVR0,#40H;首地址40H→R0
MOVR1,#10H;数据个数→R1
MOVR2,#00H;清校验和寄存器
SDD2:
MOVSBUF,@R0;发送一个数据
MOVA,R2
ADDA,@R0;求校验和
MOVR2,A;保存校验和
INCR0
WFS2:
JBCTI,SDD3;等待发送
SJMPWFS2
SDD3:
DJNZR1,SDD2;数据块是否发送完
MOVSBUF,R2;发送校验和
WFS3:
JBCTI,RYD3
SJMPWFS3
RYD3:
JBCRI,RYD4;等待乙机回答
SJMPRYD3
RYD4:
MOVA,SBUF
JNZSDD1;回答出错则重发
RET
乙机接收子程序:
ORG2000H
RECV:
MOVTMOD,#20H;定时器1设为模式2
MOVTL1,#0F4H
MOVTH1,#0F4H;置定时器初值
SETBTR1;启动T1
MOVSCON,#50H;设串行口为方式2
MOVPCON,#00H;SMOD=0
MOVR0,#40H;首地址40H→R0
MOVR1,#10H;数据个数→R1
MOV50H,#00H;清校验和寄存器
SETB7FH
SETB7EH;标志位初始置1
SETBES;允许接收中断
SETBEA;开中断
LOOP:
SJMPLOOP;等待中断
中断服务子程序:
CLREA
CLRRI;清中断
JB7FH,RCMD;是请求接收信号吗
JB7EH,DATA;是数据块吗
MOVA,SBUF;接收校验和
CJNEA,50H,ERR;判断发送是否正确
MOVA,#00H
MOVSBUF,A;正确,发00H
WFS1:
JNBTI,WFS1;等待发送
CLRTI
SJMPRETN
ERR:
MOVA,#0FFH
MOVSBUF,A;出错,发0FFH
WFS2:
JNBTI,WFS2;等待发送
CLRTI
SJMPAGAN
RCMD:
MOVA,SBUF;接收甲机请求信号
XRLA,#0AAH
JZTYDX
SJMPRETN
TYDX:
MOVSBUF,#0BBH;发送应答信号0BBH
WFS3:
JNBTI,WFS3;等待发送
CLRTI
CLR7FH
SJMPRETN
DATA:
MOVA,SBUF;接收数据
MOVR0,A
INCDPTR
ADDA,50H;求校验和
MOV50H,A;保存校验和
DJNZR1,RETN
CLR7EH;数据接收完后清数据标志位
SJMPRETN
AGAN:
SETB7FH
SETB7EH;恢复标志位
MOVDPTR,#2000H;首地址2000H→DPTR
MOVR1,#10;数据个数→R1
MOV50H,#00H;清校验和寄存器
RETN:
SETBEA;开中断
RETI
9.8051以方式2进行串行通信,假定波特率为1200bps,第9位作奇偶校验位,以中断方式发送。
请编写程序。
答案:
主程序:
ORG2000H
MAIN:
MOVSCON,#80H;将串行口设置为方式2,REN=1
MOVPCON,#00H;SMOD=0
MOVR0,#30H;发送数据区首地址→R0
MOVR1,#50H;接收数据区首地址→R1
MOVR2,#20;置发送数据个数→R2
SETBES
SETBEA;开中断
LOOP:
SJMPLOOP;等待中断
中断服务子程序:
ORG0023H
AJMPSOUT;转至中断服务程序
ORG0200H
SOUT:
CLRTI;清发送中断标志
DJNZR2,LOOP1;数据未发送完,继续发送
SJMPRR1;发送完返回
LOOP1:
MOVA,@R0;取发送数据到A
MOVC,PSW.0
MOVTB8,C
MOVSBUF,A;发送数据
INCR0;指向下一个数据
RR1:
RETI
10.8051以方式3进行串行通信,假定波特率为1200bps,第9位作奇偶验位,以查询方式接收。
请编写程序。
答案:
ORG2000H
RECV:
MOVTMOD,#20H;定时器1设为模式2
MOVTL1,#0E8H
MOVTH1,#0E8H;置定时器初值
SETBTR1;启动T1
MOVSCON,#0D0H;将串行口设置为方式3,REN=1
MOVPCON,#00H;SMOD=0
MOVR1,#20H;接收数据区首地址→R1
MOVR2,#16;置发送数据个数→R2
WAIT:
JBCRI,PRI;等待接收到数据
SJMPWAIT
PRI:
MOVA,SBUF;读接收数据
JNBPSW.0,PZEO;P=0则跳转
JNBRB8,ERR;P=1,RB8=0转至出错
SJMPRIGHT;P=1,RB8=1转至正确
PZEO:
JBRB8,ERR;P=0,RB8=1转至出错
RIGHT:
MOV@R1,A;存放数据
INCR1;指向下一个存储单元
DJNZR2,WAIT;未接收完则继续接收
CLRF0;F0=0
RET
ERR:
CLRREN
SETBF0;置F0=1
RET
11.RS-232C总线标准是如何定义其逻辑电平的?
实际应用中可以将MCS-51单片机串行口和PC机的串行口直接相连吗?
为什么?
答案:
RS-232C采用负逻辑,即逻辑1用-5V~-15V表示,逻辑0用+5V~+15V表示。
PC机配置的是RS-232C标准接口,与MCS-51单片机输入、输出电平不兼容。
因此实际应用中不能将MCS-51单片机串行口和PC机的串行口直接相连。
12.为什么RS-485总线比RS-232C总线具有更高的通信速率和更远的通信距离?
答案:
RS-232C由于发送器和接收器之间具有公共信号地,不可能使用双端信号,因此共模噪声会耦合到信号系统中,从而限制了RS-232C的信号传输速率和通信距离。
而RS-485总线无论发送还是接收数据,均用两条线传送双端(差分)信号,因而大大提高了通信速率和通信距离。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 课后 答案 习题