云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 59单片微机原理及应用 - 徐春辉 - 电子工业出版社习题答案 - -1(2)

59单片微机原理及应用 - 徐春辉 - 电子工业出版社习题答案 - -1(2)

  • 62 次阅读
  • 3 次下载
  • 2025/12/12 5:11:34

AT89S51中堆栈的最大容量理论上可以达到128B。

答:第0组。地址是00H~07H。通过修改PSW中RS1、RS0两位的值来改变当前工作寄存器组。

6.开机复位后,CPU使用哪一组工作寄存器?它们的地址是什么?如何改变当前工作寄存器组?

7.64KB程序存储器空间有5个单元地址对应AT89S51单片机5个中断源的中断入口地址,请写出这些单元的入口地址及对应的中断源。答:64K程序存储器空间中5个特殊单元所分别对应的5个中断源的中断服务程序入口地址如下表所示:

8.在程序设计时,为什么有时要对复位后的堆栈指针SP重新赋值?如果在操作中需要使用三组工作寄存器,SP的初值应该至少多大?

答:系统复位后,SP初始化为07H,使得堆栈事实上由08H 单元开始。考虑到08H~1FH单元分属于工作寄存器区的1~3组,如果程序设计中要用到这些寄存器组,则必须在复位后对堆栈指针SP重新赋值。最好把SP值改置为1FH或更大的值如60H,SP的初始值越小,堆栈深度就越深,堆栈指针的值可以由软件改变,因此堆栈在内部RAM中的位置比较灵活。如果在操作中需要使用三组工作寄存器,SP的初值至少应该为17H。

9.AT89S51的寻址范围是多少?最多可以配置多大容量的外部ROM和多大容量的外部RAM?答:64KB、64KB、64KB。10.AT89S51单片机运行出错或程序进入死循环时如何摆脱困境?答:通过硬件复位。

11.AT89S51单片机扩展系统中片外程序存储器和片外数据存储器,使用相同的地址编码,是否会在数据总线上出现争总线现象?为什么?

答:不会。因为这两种存储器使用的选通信号不同。片外程序存储器使用

出使能控制信号,而片外数据存储器分别使用和作为读写控制信号。作为输12.AT89S51的P0口和P2口各有何作用?P0口为什么要外接锁存器?

答:P0口通常作为分时复用的地址/数据总线使用,作为地址总线使用时用于提供16位地址总线的低8位地址信号。P2口通常用于提供16位地址总线的高8位地址信号。在前述功能不使用的情况下,这两端口也可以作为一般的I/O使用。P0口外接锁存器的目的是使CPU发出的地址信号在P0口作为数据通道时依然保持有效。13.AT89S51的ALE引脚有何作用?AT89S51不接外部RAM时,ALE信号有何特点?

答:AT89S51的ALE引脚用于对低8位地址信号的锁存控制。AT89S51不接外部RAM时,ALE信号是频率为时钟频率六分之一的固定周期信号。

14.举例说明单片机工业控制系统中掉电保护的意义和方法。

答:单片机工业控制系统在运行程序的过程中,如果发生掉电故障将会丢失RAM和寄存器中的数据,其后果有时是很严重的。为此,需要掉电保护功能,进行掉电保护处理。

掉电保护方式是通过对SFR中的PCON(地址87H)相应位置1而启动的。当CPU执行一条置PCON.1位(PD)为1的指令后,系统进入掉电工作方式。在这种工作方式下,内部振荡器停止工作。由于没有振荡时钟,因此,所有的功能部件都停止工作。但内部RAM区和特殊功能寄存器的内容被保留,而端口的输出状态值都保存在对应的SFR中。掉电模式的退出有两种方法:硬件复位和外部中断。硬件复位时要重新初始化SFR,但不改变片内RAM的内容。当VCC恢复到正常工作水平时,只要硬件复位信号维持10ms,便可使单片机退出掉电运行模式。

15.内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为()和()。答:28H;88H。

16.片内字节地址为2AH单元最低位的位地址是();片内字节地址为88H单元的最低位的位地址为()。答:50H;88H。

17.若A中的内容为63H,那么P标志位的值为()。答:P标志位的值为0。

18.在AT89S51单片机中,如果采用6 MHz晶振,那么一个机器周期为()。答:2μs

19.判断下列说法是否正确。

A.使用AT89S51且引脚= 1时,仍可外扩64 KB的程序存储器。()

B.区分片外程序存储器和片外数据存储器的最可靠的方法是,看其位于地址范围的低端还是高端。()

C.在AT89S51中,为使准双向的I/O口工作在输入方式,必须事先预置为1。()D.PC可以视为程序存储器的地址指针。()答:(A)错;(B)错;(C)对;(D)对

20.AT89S51单片机复位后,R4所对应的存储单元的地址为(),因上电时PSW = ()。这时当前的工作寄存器区是()组工作寄存器区。

答:04H、00H、第0

21.判断以下有关PC和DPTR的结论是否正确。

A.指令可以访问寄存器DPTR,而PC不能用指令访问。()B.它们都是16位寄存器。()

C.在单片机运行时,它们都具有自动加1的功能。()

D.DPTR可以分为2个8位的寄存器使用,但PC不能。()答::(A) 对;(B) 对;(C) 错;(D) 对。

22.内部RAM中,可作为工作寄存器区的单元地址为()H~()H。答:字节地址00H-1FH的单元可作为工作寄存器区。23.判断下列说法是否正确。

A.AT89S51中特殊功能寄存器(SFR)就是片内RAM中的一部分。()

B.片内RAM的位寻址区,只能供位寻址使用,而不能进行字节寻址。()

C.AT89S51共有21个特殊功能寄存器,它们的位都是可用软件设置的,因此是可以进行位寻址的。()D.SP称为堆栈指针,堆栈是单片机内部的一个特殊区域,与RAM无关。()答:(A) 错;(B) 错;(C) 错;(D) 错。24.在程序运行中,PC的值是()。

A.当前正在执行指令的前一条指令的地址B.当前正在执行指令的地址

C.当前正在执行指令的下一条指令的首地址D.控制器中指令寄存器的地址答:(C)。

26.AT89S51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为AT89S51的PC是16位的,因此其寻址的范围为()KB。答:64

27.AT89S51的4个并行双向口P0~P3的驱动能力各为多少?要想获得较大的输出驱动能力,是采用低电平输出还是采用高电平输出?

答:P0口每位可驱动8个LSTTL输入,而P1、P2、P3口的每一位的驱动能力,只有P0口的一半。当P0口的某位为高电平时,可提供400?A的电流;当P0口的某位为低电平(0.45V)

时,可提供3.2mA的灌电流,如低电平允许提高,灌电流可相应加大。所以,任何一个口要想获得较大的驱动能力,只能用低电平输出。

28.当AT89S51单片机运行出错或程序陷入死循环时,如何摆脱困境?答:通过硬件复位。练习与思考题4

1.按长度分,51系列单片机的指令有字节的、字节的和3 字节的。2.按指令的执行时间分,51和机器周期的指令。

3.51系列单片机汇编语言指令格式中,唯一不可缺少的部分是(B )。A.标号B.操作码C.操作数D.注释

4.简述8051的寻址方式和每种寻址方式所涉及的寻址空间。答:

5.51系列单片机的寻址方式中,位寻址的寻址空间是(D )。A.工作寄存器R0~R7B.专用寄存器SFR

C.程序存储器ROM

D.片内RAM的20H~2FH字节中的所有位和地址可被8整除的SFR的有效位6.分析下面各指令源操作数的寻址方式。MOV A,32H ;直接寻址

MOV R7,A ;寄存器寻址

MOV @R0,#0FEH ;立即寻址

MOV DPTR,#1E00H ;立即寻址 MOVC A,@A+DPTR ;变址寻址 MOV C,20H ;位寻址 JC 10H ;相对寻址

MOV A,@R1 ;寄存器间接寻址

7.访问特殊功能寄存器和外部数据存储器,分别可以采用哪些寻址方式?答:访问特殊功能寄存器只能用直接寻址;访问外部数据存储器只能用寄存器间接寻址。

8.在寄存器寻址方式中,指令中指定寄存器的内容就是操作数。9.在寻址方式中,只能使用8 位二进制数作为直接地址。

10.在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的地址。

11.在变址寻址方式中,以作变址寄存器,以或作基址寄存器。。

12.三种传送指令MOV、MOVC和MOVX,使用时有什么区别?

答:MOV指令用来实现单片机内部寄存器、存储单元、特殊功能寄存器之间的数据传送。MOVC指令用来读程序存储器中的数据表。

MOVX 指令用来实现累加器A和外部数据存储器之间的数据传送。

13.假定DPTR的内容为8100H,累加器的内容为40H,执行指令“MOVC A,@A+DPTR”后,程序存储器单元的内容送累加器A中。14.单片机中PUSH和POP指令常用来(C )。A.保护断点B.保护现场

C.保护现场,恢复现场D.保护断点,恢复断点

15.假定(A)=85H,(R0)=20H,(20H)=AFH。执行指令:ADD A,@R0

后,累加器A的内容为34H ,CY 的内容为1 ,AC的内容为1 ,OV的内容为1 。16.假定(A) = 56H,(R5) = 67H。执行指令ADD A,R6DA A

后,累加器A的内容为23H ,Cy的内容为1 。17.假定(A) = 50H,(B) = 0A0H,

LCALLSUBR;ADDA,#10H;MOVB,A;SJMP$;SUBR:MOVDPTR,#100AH;PUSHDPL;PUSHDPH;RET;答:(SP)=42H、(A)=30H,(B)=3;

ADD A,#10H MOV B,A SJMP $

LCALL SUBR

SUBR:MOV DPTR,#100AH

PUSH DPH RET

PUSH DPL

答:(SP)=42H、(A)=30H,(B)=30H练习与思考题5

1. 用于程序设计的语言分为哪几种?它们各有什么特点?

答:51系列单片机的编程语言可以分为汇编语言和高级语言(如C语言)两种,各自的特点如下:2. 说明伪指令的作用。“伪”的含义是什么?常用的伪指令有哪些?其功能是什么?

答:伪指令是在“机器汇编”过程中,用来对汇编过程进行某种控制或者对符号和标号进行赋值。“伪”的含义是指这些指令不属于指令系统中的指令,汇编时也不产生机器代码。常用伪指令有ORG、EQU、DATA、DB、DW、DS、BIT 、END。功能:

ORG --指出后面程序块或数据块在程序存储器中存放的起始地址。EQU --赋值命令

DATA--对数据地址或代码地址赋予规定的字符名称DB --定义字节数据DW --定义字数据

DS--从指定的地址单元开始,保留若干单元备用。BIT --定义位地址符号命令END --汇编结束命令

3. 设常量和数据标号的定义为:ORG 2000H

DAT1:DB 1,2,3,4,5DAT2:DB ?ABCD?

DAT3:DW 1200H,-2

TAB:DW DAT1,DAT3

(1)画出上述数据或地址的存储形式。

(2)写出各标号的地址。答:(1)地址

(2)DAT1=2000H;;DAT3=2009H;TAB =200DHDAT2=2005H

5. 试编写程序,找出片内RAM 30H~5FH单元中无符号数的最大数,并将结果存入60H单元。答:ORG 0000H

MOV R7, #2FH MOV A, @R0 AGAIN: INC R0 MOV B, A CLR C SUBB A, @R0 JNC L1

MOV R0, #30H

MOV A, @R0 AJMP L2L1: MOV A, B L2: DJNZ R7, AGAIN MOV 60H, A SJMP $ END7.编写程序,将片外数据存储区中3000H~30FFH单元全部清零。答:ORG 0000H

START: MOV A, #0MOV R7, #0

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

AT89S51中堆栈的最大容量理论上可以达到128B。 答:第0组。地址是00H~07H。通过修改PSW中RS1、RS0两位的值来改变当前工作寄存器组。 6.开机复位后,CPU使用哪一组工作寄存器?它们的地址是什么?如何改变当前工作寄存器组?7.64KB程序存储器空间有5个单元地址对应AT89S51单片机5个中断源的中断入口地址,请写出这些单元的入口地址及对应的中断源。答:64K程序存储器空间中5个特殊单元所分别对应的5个中断源的中断服务程序入口地址如下表所示: 8.在程序设计时,为什么有时要对复位后的堆栈指针SP重新赋值?如果在操作中需要使用三组工作寄存器,SP的初值应该至少多大? 答:系统复位后,SP初始化为07H,使得堆栈事实上由08H 单元开始。考虑

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com