小型智能电子产品设计与制作复习答:在任何时刻,8052单片机的四个工作寄存器组中只能有一组可以成为当前工作寄存器组使用,其他三组作为一般的内部RAM使用。当前工作寄存器组由程序状态字寄存器PSW的RS0和RS1两位的状态来决定,如表所示。
当 为高电平且PC值小于2FFFH(8K)时,CPU执行内部程序存储器的程序,但当PC的值超出8K时,将自动转去执行片外程序存储器内的程序。
内部RAM共有128个单元,根据用途可划分为工作寄存器区、位寻址区和通用RAM区,各区域的特性如下:
⑴工作寄存器区(00H~1FH) 寄存器区32个单元共分4个组,每个组有8个8位的寄存器R0~R7。
在任何时刻,四个组中只能有一组可以成为当前工作寄存器组使用,其他三组作为一般的内部RAM使用。当前工作寄存器组由程序状态字寄存器PSW的RS0和RS1两位的状态来决定。
13、设R0的内容为32H,A的内容为48H,片内RAM的32H内容为80H,40H的内容为08H。请指出在执行下列程序段后各单元内容的变化。
答:堆栈是按照“先进后出,后进先出”的原则来存取数据的一个内部RAM区域,这个存储器区域的一端是固定的(栈底),另一端是活动的(栈顶),每个存储单元是不能按字节任意访问的。
⑵ 位寻址区( 20H~2FH)共16个单元,每个单元有8个位,每个位都有一个位地址,编号为00H~7FH,位寻址区的16个单元也可以按字节寻址,作为一般的内部RAM使用。
⑶ 通用RAM区(30H~7FH) 这部分存储空间作为一般的内部RAM区或堆栈区,CPU只能按字节方式寻址雷竞技RAYBET官方网站。
答:89S52单片机的存储器包括程序存储器和数据存储器,从用户使用的角度可分为三个逻辑地址空间:
⑶256B的片内数据存储器地址空间00H~FFH(包括低128B的内部RAM地址00H~7FH和高128B的特殊功能寄存器地址空间,21个SFR离散地分布在这个区域)。
答:程序计数器PC是一个16位的专用寄存器,用来存放即将要执行的指令地址,可对64KB的程序存储器直接寻址。它具有自动加1功能,当CPU要取指令时,PC的内容送地址总线上,从存储器中取出指令后,PC内容则自动加1,指向下一条指令,从而保证程序按顺序执行。PC虽然也是CPU内部的一个寄存器,但它在物理结构上是独立的,没有地址,是不可寻址的,用户无法对它进行直接读写,不属特殊功能寄存器。
答:是指说明电路中各个元器件的电气连接关系的图纸。(它不涉及元器件的具体大小、形状,而只是关心元器件的类型、相互之间的连接情况。)
6、89S52单片机的程序存储器和数据存储器可以有相同的地址,而单片机在对这两个存储区的数据进行操作时,不会发生错误,为什么?
答:对于不同的存储地址空间,89C52单片机采用不同的存取指令和控制信号: CPU访问片内、外ROM时,采用“MOVC”指令,外部ROM用 选通;访问外部RAM或扩展I/O口时,采用“MOVX”指令,由 (读)信号和 (写)信号选通;访问片内RAM和特殊功能寄存器时,采用“MOV”指令。因此,尽管程序存储器地址和数据存储器地址空间重叠,但不会发生混乱。
MOVX指令用于外部RAM数据传送;使用范围:CPU与外部数据存储器之间进行数据传送时,必须使用外部传送指令,只能通过累加器
MOVC指令用于程序存储器(ROM)数据传送;使用范围:程序存储器的数据传送是单向的,并且只能读到累加器A中。这类指令专门用于查表,又称为查表指令。
根据需要,用户可以利用传送指令或位操作指令改变RS1和RS0的内容来选择不同的工作寄存器组。
答:在程序执行之前,要先把程序中的指令机器码送到ROM中存放;开始执行程序时先把第一条指令的地址送到PC中,程序的的执行过程就是各条指令的执行过程。一条指令的执行过程一般包括取指阶段(从ROM中取出的指令的操作码送到CPU中的IR)和执行阶段(IR—ID---PLD产生和各种控制信号,完成指令所规定的操作)