答:单片机存储器的逻辑空间是指由单片机CPU所确定的可以寻址的空间。而物理空间是指有具体物理器件相对应可以实际存储数据的那部分逻辑空间。
4.AT89S51单片机中执行程序的地址放在哪里?是几位二进制数?最大寻址范围是多少?程序状态字PSW各位的定义是什么?
答:PC。16位。64KB。 程序状态字PSW各位的定义是: (1)Cy(PSW.7)进位标志位: (2)Ac(PSW.6)辅助进位标志位: (3)F0(PSW.5)用户设定标志位:
(4)RS1、RS0(PSW.4、PSW.3)4组工作寄存器区选择控制位:
(5)OV(PSW.2)溢出标志位:
(6)PSW.1位:保留位,未做定义,不可使用。 (7)P(PSW.0)奇偶标志位:
5.什么叫堆栈?AT89S51中堆栈的最大容量是多少? 答:所谓堆栈,是指一个连续的数据存储区域,其操作原则为“先进后出”或“后进先出”。
AT89S51中堆栈的最大容量理论上可以达到128B。 6.开机复位后,CPU使用哪一组工作寄存器?它们的地址是什么?如何改变当前工作寄存器组?
答:第0组。地址是00H~07H。通过修改PSW中RS1、RS0两位的值来改变当前工作寄存器组。
7.64KB程序存储器空间有5个单元地址对应AT89S51单片机5个中断源的中断入口地址,请写出这些单元的入口地址及对应的中断源。
答:64K程序存储器空间中5个特殊单元所分别对应的5个中断源的中断服务程序入口地址如下表所示:
入口地址 0003H 中断源 外部中断0 (000BH 0013H ) 定时器0 (T0) 外部中断1 () 001BH 0023H
定时器1 (T1) 串行口 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中。掉电模式的退出有两种方法:硬件复位和外部中断。硬件复位时要
相关推荐: