1、第 2 章 课后习题自动化 朱秀红1.AT89 系列的单片机的内部数据存储器可以分为哪几个不同的区域?各有什么特点?CPU 是如何对不同空间进行寻址的?单片机的片内数据存储器地址范围是 00H-FFH,有 256B。对于 51 系列高 128B被特殊功能寄存器占用。对于 52 系列,高 128B 与特殊功能寄存器地址重叠,相同的地址,物理上是分开独立的。存储器划分和特点:(1)低 128B RAM 区(00H-7FH)1)工作寄存器组区(00H-1FH):最低的 32 个单元是 4 个通用工作寄存器组,每个寄存器组包括 8 个寄存器,编号为 R0-R7,PSW 中的 RS0 和 RS1 用来确
2、定当前使用哪一个寄存器组。某一个时刻只能使用其中一个寄存器组,系统复位后指向工作寄存器组 02)位寻址区(20H-2FH):位地址的表示形式:一种采用位地址的表示形式;一种采用字节地址(20H-2FH).位数的表示形式特点:该区域每个单元可以作为一般用户 RAM 区 RAM 单元整体使用;该区域的每一位可以作为单独的可寻址位单独使用3)用户 RAM 区(30H-7FH):可供用户作为数据存储区,这区域的操作指令丰富,数据处理灵活方便,是非常宝贵的资源。但是,如果堆栈指针初始化时设置在这个区域,要留出足够的字节单元作为堆栈区,以防止在数据存储时,破坏堆栈的内容。寻址方式:低 128B(00H-7
3、FH)可通过直接和间接寻址方式访问高 128B(80H-FFH)直接寻址方式访问特殊功能寄存器(SFR );间接寻址访问高 128B RAM(2)高 128B 的特殊功能寄存器(SRF)区1)在该区域中除了 SFR 之外剩余的空闲单元用户不得使用2)必须使用直接寻址的方式对 SFR 进行访问,可使用寄存器名称3)具有位地址和位名称的 SFR 才可以位寻址 SFR“字节地址.位”直接使用位地址表示;使用位名称表示;使用 SFR“字节地址.位”形式表示;使用 SFR“名称 .位”表示2.PSW 包含哪些程序状态信息?这些状态信息的作用是什么?PSW 是一个 8 位的寄存器,包含各种程序状态信息,相
4、当于一个标志寄存器,以供程序查询和判别CY AC F0 RS1 RS0 0V - PCY(PSW.7):进位标志,在执行某些算术和逻辑指令时可以被硬件和软件置位和清零,CY 在布尔处理机中被认为是位累加器AC(PSW.6):辅助进位标志,当进行加法或减法操作时而产生低 4 位向高 4 位数进位或借位时,AC 将被硬件置位,否则被清零F0(PSW.5):用户标志位。F0 是用户自定义的一个状态标志,用软件来使它置位或清零。该标志位状态一经设定,可有软件测试 F0,以控制程序的流向。0V(PSW.2):溢出标志。在带符号的加减中若是超出累加器 A 所能表示的符号数的有效范围(-128-+127)时
5、,即产生溢出,0V=1PSW.1:程序状态字的第一位,该位含义没有定义,若用户使用这一位可以直接PSW.1 的位地址。P(PSW.0):奇偶标志。每个指令周期都用硬件来置位或清零,以表示累加器中1 的位数的奇数。1 的位数为奇数,P 置 1;否则 P 清零.P 标志在串行通讯的数据传送有重要意义,在串行通信中常用奇偶校验的方法验证数据传输的可靠性。3.AT89 系列单片机如何实现工作寄存器组 R0-R7 的选择?开机复位后,CPU使用的是哪组工作寄存器组?它们的地址是什么?PSW 中的 2 位 RS1 和 RS0 用来确定当前使用哪一个工作寄存器组系统复位后,使用的是工作寄存器组 0RS1 R
6、S0 工作寄存器组R0 R1 R2 R3 R4 R5 R6 R70 0 0 00H 01H 02H 03H 04H 05H 06H 07H0 1 1 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH1 0 2 10H 11H 12H 13H 14H 15H 16H 17H1 1 3 18H 19H 1AH 1BH 1CH 1DH 1EH 1FH4.简述布尔处理存储器的空间分配,片内 RAM 中包含哪些可位寻址单元?布尔处理存储器的空间分配:(1)低 128RAM 区:内部 RAM 区中的 20H-2FH 单元可供位寻址(2)高 128B 特殊功能寄存器区:字节地址能被 8 整除的
7、专用寄存器可以实现位寻址5.堆栈有哪些功能?SP 的作用是什么?在程序设计时为什么要对 SP 重新赋值?功能:主要用在子程序调用或中断处理过程中,用于保护断点和现场,实现子程序或中断的多级嵌套处理。在 CPU 响应中断或调用处理程序时,会自动将断点处的 16 位返回地址压入堆栈。在中断服务程序或子程序结束时,返回地址会自动由堆栈弹出,并放回到 PC 中,使程序从原端口处继续处理下去。堆栈除了用于保护断电处的返回地址外,还可以用于保护一些重要的信息。必须按照后进先出的原则存取信息,堆栈也可以作为特殊的数据交换区使用。SP 的作用:堆栈的开辟,由专门设置的堆栈指针寄存器 SP 指出。原因:堆栈指针
8、的作用就是指向栈顶元素的,通过它还可以对栈顶元素进行出栈操作。当堆栈中的元素进行出栈或入栈操作时,都会使栈顶元素发生变化,堆栈指针 SP 就需要重新赋值,让其指向新的栈顶元素6.AT89 系列单片机引脚中有多少条 I/O 线,它们与单片机对外的地址总线、数据总线和控制总线有什么关系?地址总线和数据总线各是多少位?AT89 系列单片机引脚中有 32 条 I/O 线(1)地址总线:P0 口分时复用,由 P0 口提供 16 位地址总线的低八位(A0-A7),由 P2 口提供地址总线的高八位(A8-A15)(2)数据总线:由 P0 口提供(3)控制总线:P3 口的第二功能(RXD,TXD,INT0,INT1,T0,T1,RD,WR)16 位地址总线 8 位数据总线