77范文网 - 专业文章范例文档资料分享平台

单片机原理及应用教程第3版习题课后答案(6)

来源:网络收集 时间:2019-01-07 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

的校验方法是奇偶校验法。

采用奇偶校验法,发送时在每个字符(或字节)之后附加一位校验位,这个校验位可以是“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,第

26

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.04 bps ~ 15625 bps。 6.简述多机通信原理。

答案:当主机选中与其通信的从机后,只有该从机能够与主机通信,其他从机不能与主机进行数据交换, 而只能准备接收主机发来的地址帧。上述要求是通过SCON寄存器中的SM2和TB8来实现的。当主机发送地址帧时使TB8=1,发送数据帧时使TB8=0,TB8是发送的一帧数据的第9位,从机接收后将第9位数据作为RB8,这样就知道主机发来的这一帧数据是地址还是数据。另外,当一台从机的SM2=0时,可以接收地址帧或数据帧,而当SM2=1时只能接收地址帧,这就能实现主机与所选从机之间的单独通信。

7.试用8051串行口扩展I/O口,控制16个发光二极管自右向左以一定速度轮流发光,画出电路并编写程序。

27

波特率=

2SMOD 64

×fosc

答案:电路如下:

程序如下:

ORG 0000H

AJMP MAIN

ORG 0023H

AJMP SBS ; 转向串行口中断服务程序 ORG 2000H

MAIN: MOV SCON, #00H ; 串行口设置为方式0

MOV A, #01H ; 最右边一位发光二极管先亮 CLR P1.0 ; 关闭并行输出,熄灭显示 CLR P1.1

MOV SBUF,A ; 开始串行输出 LOOP: SJMP LOOP ; 等待中断 SBS: INC R0

CJNE R0, #11H, DSP MOV R0, #01H

DSP : CJNE R0, #08H, DSPR SETB P1.1 DSPR: SETB P1.0

ACALL DELY CLR TI RL A CLR P1.0 CLR P1.1 MOV SBUF, A ZDFH: RETI

DELY: MOV R2, #05H DELY0: MOV R3, #0C8H DELY1: MOV R4, #0F8H

NOP

28

; 启动高8位并行输出 ; 启动低8位并行输出 ; 显示延迟1s ; 清发送中断标志 ; 准备点亮下一位

; 关闭并行输出,熄灭显示

; 串行输出

; 延时1s子程序(fosc=6MHz)

DELY2: DJNZ R4, DELY2

DJNZ R3, DELY1 DJNZ R2, 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。

甲机发送子程序:

ORG 2000H

SEND: MOV TMOD, #20H ; 定时器1设为模式2

MOV TL1, #0F4H

MOV TH1, #0F4H ; 置定时器初值 SETB TR1 ; 启动T1

MOV SCON, #50H ; 设串行口为方式2 MOV PCON, #00H ; SMOD=0

TLLS: MOV SBUF, #0AAH ; 发送请求接收信号

29

WFS1: JBC TI, RYD1 ; 等待发送

SJMP WFS1

RYD1: JBC RI, RYD2 ; 等待乙机回答

SJMP RYD1

RYD2: MOV A, SBUF ; 接收应答信号

XRL A, #0BBH

JNZ TLLS ; 乙机未准备好,继续联络 SDD1: MOV R0, #40H ; 首地址40H→R0

MOV R1, #10H ; 数据个数→R1 MOV R2, #00H ; 清校验和寄存器 SDD2: MOV SBUF, @R0 ; 发送一个数据

MOV A, R2

ADD A, @R0 ; 求校验和 MOV R2, A ; 保存校验和 INC R0

WFS2: JBC TI, SDD3 ; 等待发送

SJMP WFS2

SDD3: DJNZ R1, SDD2 ; 数据块是否发送完

MOV SBUF, R2 ; 发送校验和 WFS3: JBC TI, RYD3

SJMP WFS3

RYD3: JBC RI, RYD4 ; 等待乙机回答

SJMP RYD3

RYD4: MOV A, SBUF

JNZ SDD1 ; 回答出错则重发 RET 乙机接收子程序:

ORG 2000H

RECV: MOV TMOD, #20H ; 定时器1设为模式2

MOV TL1, #0F4H

MOV TH1, #0F4H ; 置定时器初值 SETB TR1 ; 启动T1

MOV SCON, #50H ; 设串行口为方式2 MOV PCON, #00H ; SMOD=0

MOV R0, #40H ; 首地址40H→R0 MOV R1, #10H ; 数据个数→R1 MOV 50H, #00H ; 清校验和寄存器 SETB 7FH SETB 7EH ; 标志位初始置1 SETB ES ; 允许接收中断 SETB EA ; 开中断 LOOP: SJMP LOOP ; 等待中断

中断服务子程序:

CLR EA CLR RI ; 清中断 JB 7FH, RCMD ; 是请求接收信号吗 JB 7EH, DATA ; 是数据块吗 MOV A, SBUF ; 接收校验和

CJNE A, 50H, ERR ; 判断发送是否正确 MOV A, #00H

30

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库单片机原理及应用教程第3版习题课后答案(6)在线全文阅读。

单片机原理及应用教程第3版习题课后答案(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/409484.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: