《嵌入式微控制器课后习题答案 第二章 高玉芹.doc》由会员分享,可在线阅读,更多相关《嵌入式微控制器课后习题答案 第二章 高玉芹.doc(3页珍藏版)》请在三一办公上搜索。
1、第二章 课后习题 自动化 朱秀红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-7FH)可通过直接和间接寻址方式访问高128B(80H-FF
3、H)直接寻址方式访问特殊功能寄存器(SFR);间接寻址访问高128B RAM(2) 高128B的特殊功能寄存器(SRF)区1)在该区域中除了SFR之外剩余的空闲单元用户不得使用2)必须使用直接寻址的方式对SFR进行访问,可使用寄存器名称3)具有位地址和位名称的SFR才可以位寻址SFR“字节地址.位”直接使用位地址表示;使用位名称表示;使用SFR“字节地址.位”形式表示;使用SFR“名称.位”表示2. PSW包含哪些程序状态信息?这些状态信息的作用是什么?PSW是一个8位的寄存器,包含各种程序状态信息,相当于一个标志寄存器,以供程序查询和判别CYACF0RS1RS00V-PCY(PSW.7):进
4、位标志,在执行某些算术和逻辑指令时可以被硬件和软件置位和清零,CY在布尔处理机中被认为是位累加器AC(PSW.6):辅助进位标志,当进行加法或减法操作时而产生低4位向高4位数进位或借位时,AC将被硬件置位,否则被清零F0(PSW.5):用户标志位。F0是用户自定义的一个状态标志,用软件来使它置位或清零。该标志位状态一经设定,可有软件测试F0,以控制程序的流向。0V(PSW.2):溢出标志。在带符号的加减中若是超出累加器A所能表示的符号数的有效范围(-128-+127)时,即产生溢出,0V=1PSW.1:程序状态字的第一位,该位含义没有定义,若用户使用这一位可以直接PSW.1的位地址。P(PSW
5、.0):奇偶标志。每个指令周期都用硬件来置位或清零,以表示累加器中1的位数的奇数。1的位数为奇数,P置1;否则P清零.P标志在串行通讯的数据传送有重要意义,在串行通信中常用奇偶校验的方法验证数据传输的可靠性。3. AT89系列单片机如何实现工作寄存器组R0-R7的选择?开机复位后,CPU使用的是哪组工作寄存器组?它们的地址是什么?PSW中的2位RS1和RS0用来确定当前使用哪一个工作寄存器组系统复位后,使用的是工作寄存器组0RS1RS0工作寄存器组R0R1R2R3R4R5R6R700000H01H02H03H04H05H06H07H01108H09H0AH0BH0CH0DH0EH0FH1021
6、0H11H12H13H14H15H16H17H11318H19H1AH1BH1CH1DH1EH1FH4. 简述布尔处理存储器的空间分配,片内RAM中包含哪些可位寻址单元?布尔处理存储器的空间分配:(1) 低128RAM区:内部RAM区中的20H-2FH单元可供位寻址(2) 高128B特殊功能寄存器区:字节地址能被8整除的专用寄存器可以实现位寻址5. 堆栈有哪些功能?SP的作用是什么?在程序设计时为什么要对SP重新赋值?功能:主要用在子程序调用或中断处理过程中,用于保护断点和现场,实现子程序或中断的多级嵌套处理。在CPU响应中断或调用处理程序时,会自动将断点处的16位返回地址压入堆栈。在中断服务
7、程序或子程序结束时,返回地址会自动由堆栈弹出,并放回到PC中,使程序从原端口处继续处理下去。堆栈除了用于保护断电处的返回地址外,还可以用于保护一些重要的信息。必须按照后进先出的原则存取信息,堆栈也可以作为特殊的数据交换区使用。SP的作用:堆栈的开辟,由专门设置的堆栈指针寄存器SP指出。原因:堆栈指针的作用就是指向栈顶元素的,通过它还可以对栈顶元素进行出栈操作。当堆栈中的元素进行出栈或入栈操作时,都会使栈顶元素发生变化,堆栈指针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位数据总线