单片机7-8习题答案

第七章 MCS-51的串行口
1.串行数据传送的主要优点和用途是什么?
答:串行数据传送的主要优点是硬件接口简单,接口端口少(2个)。主要用于多个单片机系统之间的数据通信。
2.简述串行口接收和发送数据的过程。
答:以方式一为例。发送:数据位由TXT端输出,发送1帧信息为10为,当CPU执行1条数据写发送缓冲器SBUF的指令,就启动发送。发送开始时,内部发送控制信号/SEND变为有效,将起始位想TXD输出,此后,每经过1个TX时钟周期,便产生1个移位脉冲,并由TXD输出1个数据位。8位数据位全部完毕后,置1中断标志位TI,然后/SEND信号失效。接收:当检测到起始位的负跳变时,则开始接收。接受时,定时控制信号有2种,一种是位检测器采样脉冲,它的频率是RX时钟的16倍。也就是在1位数据期间,有16个采样脉冲,以波特率的16倍的速率采样RXD引脚状态,当采样到RXD端从1到0的跳变时就启动检测器,接收的值是3次连续采样,取其中2次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数据。
3.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式( 1 )。
4.  串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确定?轴向变量柱塞泵
答:串行口有3种工作方式:方式0、方式1、方式2、方式3;有3种帧格式,方式2和3具有相同的帧格式;方式0的发送和接收都以fosc/12为固定波特率,
方式1的波特率=2SMOD/32×定时器T1的溢出率
方式2的波特率=2SMOD/64×fosc
方式3的波特率=2SMOD/32×定时器T1的溢出率
5.  假定串行口串行发送的字符格式为1个起始位,8个数据位,1个奇校验位,1个停止位,请画出传送字符“A”的帧格式。
起始位0  1  0  0  0  0  0  0  校验位 停止位
6.判断下列说法是否正确:
(1)        串行口通信的第9数据位的功能可由用户定义。(对)
(2)        发送数据的第9数据位的内容在SCON寄存器的TB8位预先准备好的。(对)
隔声工程
(3)        串行通讯发送时,指令把TB8位的状态送入发送SBUF。(错)
(4)        串行通讯接收到的第9位数据送SCON寄存器的RB8中保存。(对)
(5)        串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出设定。(对)
7.通过串行口发送或接收数据时,在程序中应使用:(选(3))
(1)MOVC指令  (2)MOVX指令  (3)MOV指令  (4)XCHD指令
8.为什么定时器/计数器T1用做串行口波特率发生器时,采用方式2?若已知时钟频率、通讯波特率,如何计算其初值?
解答
:因为定时器/计数器在方式2下,初值可以自动重装,这样在做串口波特率发生器设置时,就避免了重装参数的操作。
已知时钟频率、通讯波特率,根据公式: ,计算出初值。
9.串行口工作方式1的波特率是:( 3 )
(1)        固定的,为 。
(2)        固定的,为 。
(3)        可变的,通过定时器/计数器T1的溢出率设定。
(4)        固定的,为 。
10.在串行通讯中,收发双方对波特率的设定应该是( 相等 )的。
11.若晶体振荡器为11.0592MHz,串行口工作于方式1,波特率为4800b/s,写出用T1作为波特率发生器的方式控制字和计数初值。
解答:初值计算:查阅P148表7-2可得,FAH
控制字:ANL TMOD,#0F0H
ORL TMOD,#20H
MOV TH1,#0FAH
眼模
MOV TL1,#0FAH
MOV SCON,#40H
12.简述利用串行口进行多机通讯的原理。
解答:参考P146页。
13.使用8031的串行口按工作方式1进行串行数据通讯,假定波特率为2400b/s,以中断方式传送数据,请编写全双工通讯程序。
解答:略
14.使用8031的串行口按工作方式3进行串行数据通讯,假定波特率为1200b/s,第9数据位作奇偶校验位,以中断方式传送数据,请编写通讯程序。
解答:略
15.某8031串行口,传送数据的帧格式为1个起始位(0),7个数据位,1个偶校验位和1个停止位(1)组成。当该串行口每分钟传送1800个字符时,试计算出波特率。
解答:串口每秒钟传送的字符为:1800/60=30个字符/秒
所以波特率为:30个字符/秒×10位/个字符=300b/s
16.为什么MCS-51串行口的方式0帧格式没有起始位(0)和停止位(1)?
解答:串行口的方式0为同步移位寄存器输入输出方式,常用于外接移位寄存器,以扩展并行I/O口,一般不用于两个MCS-51之间的串行通信。该方式以fosc/12的固定波特率从低为位到高位发送或接受数据。
第八章习题解答铝条板吊顶
1.单片机存储器的主要功能是存储(程序)和(数据)。
2.试编写一个程序(例如将05H和06H拼为56H),设原始数据放在片外数据区2001H单元和2002H单元中,按顺序拼装后的单字节数放入2002H。
解:本题主要考察了对外部存储器的读、写操作,同学们只要记住正确使用MOVX指令就可以了。编程思路:首先读取2001H的值,保存在寄存器A中,将寄存器A的高四位和低四位互换,再屏蔽掉低四位然后将寄存器A的值保存到30H中,然后再读取2002H的值,保存在寄存器A中,屏蔽掉高四位,然后将寄存器A的值与30H进行或运算,将运算后的结果保存在2002H中。
ORG  0000H
MAIN:  MOV    DPTR,#2001H           
MOVX  A,@DPTR               
SWAP    A                                           
ANL
A,#0F0H                   
MOV    30H,A   
INC    DPTR                             
MOVX    A,@DPTR                     
ANL    A,#0FH             
ORL  A,30H                           
MOVX    @DPTR,A                       
END
3.假设外部数据存储器2000H单元的内容为80H,执行下列指令后:
MOV    P2,#20H
MOV    R0,#00H
MOVX    A,@R0
累加器A中的内容为(80H)。
4.编写程序,将外部数据存储器中的4000H—40FFH单元全部清零。
解:本题主要考察了对外部数据块的写操作;编程时只要注意循环次数和MOVX指令的使用就可以了。
ORG  0000H
MAIN:  MOV  A,#0                               
MOV    R0,#0FFH               
MOV    DPTR,#4000H       
LOOP: MOVX  @DPTR,A                 
INC    DPTR                         
DJNZ  R0,LOOP   
END
5.在MCS-51单片机系统中,外接程序存储器和数据存储器共16位地址线和8位数据线,为何不会发生冲突?
解:因为控制信号线的不同:
外扩的RAM芯片既能读出又能写入,所以通常都有读写控制引脚,记为OE和WE。外扩RAM的读、写控制引脚分别与MCS-51的RD和WR引脚相连。
外扩的EPROM在正常使用中只能读出,不能写入,故EPROM芯片没有写入控制引脚,只有读出引脚,记为OE,该引脚与MCS-51单片机的PSEN相连。
6.区分MCS-51单片机片外程序存储器和片外数据存储器的最可靠的方法是:
实验室分析天平
(1)看其位于地址范围的低端还是高段
(2)看其离MCS-51芯片的远近
(3)看其芯片的型号是ROM还是RAM
干湿巾(4)看其是与RD信号连接还是与PSEN信号连接
解:本题的答案是3,4。
7.在存储器扩展中,无论是线选法还是译码法,最终都是为了扩展芯片的(片选)端提供信号。
8.请写出图8-18中4片程序存储器27128各自所占的地址空间。
解:图中采用了译码法。4片地址分别为0000H-3FFFH、4000H-7FFFH、8000H-BFFFH、C000H-FFFFH。
9.起止范围为0000H-3FFFH的存储器的容量是(16)KB。
解:本题属于常识题,在第十一题时将有解答。
10.在MCS-51中,PC和DPTR都用于提供地址,但PC是为了访问(程序)存储器提供地址,而DPTR是为访问(数据)存储器提供地址。
11.11根地址线可选(2KB)个存储单元,16KB存储单元需要(14)根地址线。
解:通过总结所学知识,我们得到以下几个信息:2KB的存储器需要11根地址线,地址为0000H-07FFH;4KB的存储器需要12根地址线,地址为0000H-0FFFH;
8KB的存储器需要13根地址线,地址为0000H-1FFFH;16KB的存储器需要14根地址线,地址为0000H-3FFFH;32KB的存储器需要15根地址线,地址为0000H-7FFFH;64KB的存储器需要16根地址线,地址为0000H-FFFFH(以上存储器的
首地址均默认为0000H)。
12.32KB RAM存储器的首地址若为2000H,则末地址为(9FFF)H。
解:由上题总结得出,32KB RAM存储器的大小为0000H-7FFFH,所以只要在后面加上2000H即得到正确答案。
13.现有8031单片机、74LS373锁存器、1片2764EPROM和2片6116RAM,请使用他们组成一个单片机系统,要求:
(1)画出硬件电路连线图,并标注主要引脚;
(2)指出该应用系统程序存储器空间和数据存储器空间各自的地址范围。
解:(1)电路图如下所示:
(2)2764的地址为C000H-DFFFH;
第一个6116的地址为A000H-A7FFH;
第二个6116的地址为6000H-67FFH;
事实上,由于采用的是线选法,导致了地址不连续,地址空间利用不充分。建议在实际工作中要具体情况具体分析。在两种地址分配中选一种较好的来应用。
14.使用89C51芯片外扩一片E2PROM2864,要求2864兼作程序存储器和数据存储器,且首地址为8000H。要求:
(1)确定2864芯片的末地址;
(2)画出2864片选端的地址译码电路;
(3)画出该应用系统的硬件连接图。
解:(1)2864为8KB的存储器,如果首地址为8000H,则其末地址为9FFFH,理由参考第12题;
(2)电路图如下所示:
(3)电路图如下所示:

本文发布于:2024-09-22 07:27:59,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/177700.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:方式   存储器   地址   数据   发送   串行口
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议