《(完整版)51单片机课后答案(张毅刚)第7章部分习题答案.pdf》由会员分享,可在线阅读,更多相关《(完整版)51单片机课后答案(张毅刚)第7章部分习题答案.pdf(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第 7 7 章章 MCS-51MCS-51 的串行口的串行口1串行数据传送的主要优点和用途是什么?答:串行数据传送的主要优点是硬件接口简单,接口端口少(2 个)。主要用于多个单片机系统之间的数据通信。2简述串行口接收和发送数据的过程。答:以方式一为例。发送:数据位由 TXT 端输出,发送 1 帧信息为 10 为,当 CPU 执行 1条数据写发送缓冲器 SBUF 的指令,就启动发送。发送开始时,内部发送控制信号/SEND变为有效,将起始位想TXD 输出,此后,每经过1 个 TX 时钟周期,便产生1 个移位脉冲,并由 TXD 输出 1 个数据位。8 位数据位全部完毕后,置1 中断标志位 TI,然
2、后/SEND 信号失效。接收:当检测到起始位的负跳变时,则开始接收。接受时,定时控制信号有 2 种,一种是位检测器采样脉冲,它的频率是 RX 时钟的 16 倍。也就是在1 位数据期间,有16 个采样脉冲,以波特率的16 倍的速率采样 RXD 引脚状态,当采样到RXD 端从 1 到 0 的跳变时就启动检测器,接收的值是 3 次连续采样,取其中 2 次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数据。3帧格式为 1 个起始位,8 个数据位和 1 个停止位的异步串行通信方式是方式(1)。4串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如
3、何确定?答:串行口有3 种工作方式:方式0、方式 1、方式 2、方式 3;有 3 种帧格式:方式0 为 8位数据,方式 1 为 8 位数据、起始位、终止位,方式 2 和 3 具有相同的帧格式,为 9 位数据、起始位、终止位;方式 0 的发送和接收都以 fosc/12 为固定波特率,方式 1 的波特率=2SMOD/32定时器 T1 的溢出率,方式 2 的波特率=2SMOD/64fosc,方式 3 的波特率=2SMOD/32定时器 T1 的溢出率。5假定串行口串行发送的字符格式为1 个起始位,8 个数据位,1 个奇校验位,1 个停止位,请画出传送字符“A”的帧格式。答:“A”的 ASC码为“010
4、00001”从左向右:0,1,0,0,0,0,0,1,0,0,1起始位 低位高位 奇偶位 终止位6判断下列说法是否正确:答:(A)串行口通讯的第 9 数据位的功能可由用户定义。(对)(B)发送数据的第 9 数据位的内容在 SCON 寄存器的 TB8 位中预先准备好的。(对)(C)串行通讯帧发送时,指令把TB8 位的状态送入发送 SBUF 中。(错)(D)串行通讯接收到的第9 位数据送 SCON 寄存器的 RB8 中保存。(对)(E)串行口方式1 的波特率是可变的,通过定时器/计数器 T1 的溢出率设定。(对)7通过串行口发送或接收数据时,在程序中应使用:(1)MOVC 指令(2)MOVX 指令
5、(3)MOV 指令(4)XCHD 指令答:(3)8为什么定时器/计数器 T1 用做串行口波特率发生器时,采用方式 2?若已知时钟频率、通讯波特率,如何计算其初值?答:因为定时器/计数器在方式 2 下,初值可以自动重装,这样在做串口波特率发生器设置时,就避免了重装参数的操作。fOSC2SMOD已知时钟频率、通讯波特率,根据公式:波特率计算出初值。3212(256 X)9串行口工作方式 1 的波特率是:答:(C)可变的,通过定时器/计数器 T1 的溢出率设定。10在串行通讯中,收发双方对波特率的设定应该是(相等)的11若晶体振荡器为 11.0592MHz,串行口工作于方式 1,波特率为 4800b
6、/s,写出用 T1 作为波特率发生器的方式控制字和计数初值。答:设置波特率控制位(SMOD)0,则计数初值为 0FAH;11.05921061X 256 250 FAH3844800设 T1 工作于方式 2,T0 工作于方式 3,则方式控制字 TMOD 为 23H;MOV SCON,#40H;串行口工作于方式 1 且 TI=RI=0MOV PCON,#80H;波特率加倍MOV TMOD,#23H;T1 方式 2 作波特率发生器,T0 工作于方式 3MOV TH1,#0FAH;计数初值MOV TL1,#0FAH;SETBTR1;启动 T1SETBEA;开串行口中断SETBES15某 8031 串行口,传送数据的帧格式为1 个起始位(0),7 个数据位,1 个偶校验位和 1个停止位(1)组成。当该串行口每分钟传送1800 个字符时,试计算出波特率。答:串口每秒钟传送的字符为:1800/60=30 个字符/秒,所以波特率为:30 个字符/秒10位/字符=300bps16为什么 MCS-51 串行口的方式 0 帧格式没有起始位(0)和停止位(1)?答:因为串行口的方式 0 是同步移位寄存器方式,不是用于异步串行通讯的,所以收发双方不需要确定数据帧的起始和终止,所以没有起始位(0)和停止位(1)。