附录E  部分习题答案

附录E 部分习题答案

第4章部分习题答案

4-6题参考程序:

978-7-111-46831-8-Chapter12-81.jpg

4-7题参考程序:

978-7-111-46831-8-Chapter12-82.jpg

4-8题参考程序:

978-7-111-46831-8-Chapter12-83.jpg

978-7-111-46831-8-Chapter12-84.jpg

978-7-111-46831-8-Chapter12-85.jpg

4-9题参考程序:

978-7-111-46831-8-Chapter12-86.jpg

4-10题参考程序:

978-7-111-46831-8-Chapter12-87.jpg

4-11题参考程序:

978-7-111-46831-8-Chapter12-88.jpg

978-7-111-46831-8-Chapter12-89.jpg

4-12题参考程序:

978-7-111-46831-8-Chapter12-90.jpg

4-13题参考程序:

978-7-111-46831-8-Chapter12-91.jpg

978-7-111-46831-8-Chapter12-92.jpg

1)子程序FUN1的功能:将A累加器中单字节数据对半分解成两个字节,存入R0所指向的相邻两个单元。

2)调用子程序FUN1之前,将待分解的内容送A,存放地址送R0。

4-14题参考程序:

978-7-111-46831-8-Chapter12-93.jpg

4-15题参考程序:

1)子程序HEXASC功能:取出堆栈巾数据,查表求出数据的平方数送累加器A。

2)分别将待求数据入栈,然后调用子程序HF.XASC。

978-7-111-46831-8-Chapter12-94.jpg

978-7-111-46831-8-Chapter12-95.jpg

4-16题参考程序:

延时子程序

978-7-111-46831-8-Chapter12-96.jpg

延时时间=(1)+((2)+250×(3)+(4))×200+(5)=Tcy+(Tcy+250×2Tcy+2Tcy)×200+2Tcy=100603Tcy

fOSC=6MHz,则Tcy=2μs,延时时间=100603×2μs=201206μs

第6章部分习题答案

6-19修改后的流程图如图E-1所示。

978-7-111-46831-8-Chapter12-97.jpg

图E-1 修改后流程图

a)主程序流程图 b)中断子程序流程图

原程序与修改程序对照:

978-7-111-46831-8-Chapter12-98.jpg

978-7-111-46831-8-Chapter12-99.jpg

第7章部分习题答案

7-1题答案

(1)答:MCS-51系列单片机在上电复位时,并行接口锁存器P0~P3的各位被置1,则初始化时必须将P1.7置0,否则P1.7引脚从一开始就输出高电平,使警报声不断。

(2)答:在单片机内部电路中的所有信息都是用电平传送的,高电平(约3.5~5V)代表二进制数的1,低电平(2V以下)代表二进制数的0。所以当CPU执行立即数传送指令“MOV P1,#7FH”时,内部总线就将高电平送到P1.0引脚接口电路的数据锁存器D端。

应该指出,单片机就是这样将软件中的数据转变成硬件的电平信号的,这也是用单片机来进行机电一体化控制的关键。

7-11题解:设置波特率控制位(SMOD)=0

978-7-111-46831-8-Chapter12-100.jpg

所以:(TH1)=(TL1)=F4H

系统晶体振荡频率选为11.0592MHz就是为了使初值为整数,从而产生精确的波特率。

第10章部分习题答案

10-12题参考程序:用查表法。

978-7-111-46831-8-Chapter12-101.jpg

978-7-111-46831-8-Chapter12-102.jpg

978-7-111-46831-8-Chapter12-103.jpg