第8章思考题及习题8参考答案 一、填空 1.单片机存储器的主要功能是存储」 和 答:程序、数据 2.假设外部数据存储器2000H单元的内容为80H,执行下列指令后累加器A中的内容 为 MOV P2,#20H MOV R0,#00H MOVX A,@R0 答:80H。 3.在存储器扩展中,无论是线选法还是译码法最终都是为扩展芯片的 端提供 控制信号。 答:片选。 4.起止范围为O000H~3FFFH的数据存储器的容量是 KB。 答:16KB。 5.在AT89S52单片机中,PC和DPTR都用于提供地址,但PC是为访问 存储器提供 地址,而DPTR是为访问 存储器提供地址。 答:程序、数据。 6.11条地址线可选个存储单元,16KB存储单元需要 条地址线。 答:2K,14 7.4 KB RAM存储器的首地址若为O00O,则末地址为 H。 答:OFFF。 8.若单片机外扩32KB数据存储器的首地址若为4000H,则末地址为 H。 答:BFFF 9.设计一个以AT89S52单片机为核心的系统,如果不外扩程序存储器,使其内部8KB闪烁 程序存储器有效,则其 引脚应该接 答:EA*,+5V 10.74LS138是具有3个输入的译码器芯片,其输出常作片选信号,可选中 片芯片 中的任一芯片,并且只有1路输出为电平,其它输出均为 电平。 答:8,低,高:
第 8 章 思考题及习题 8 参考答案 一、填空 1. 单片机存储器的主要功能是存储 和 。 答:程序、数据。 2.假设外部数据存储器 2000H 单元的内容为 80H,执行下列指令后累加器 A 中的内容 为 。 MOV P2,#20H MOV R0,#00H MOVX A,@R0 答:80H。 3.在存储器扩展中,无论是线选法还是译码法最终都是为扩展芯片的 端提供 控制信号。 答:片选。 4.起止范围为 0000H~3FFFH 的数据存储器的容量是 KB。 答:16KB。 5.在 AT89S52 单片机中,PC 和 DPTR 都用于提供地址,但 PC 是为访问 存储器提供 地址,而 DPTR 是为访问 存储器提供地址。 答:程序、数据。 6.11 条地址线可选 个存储单元,16KB 存储单元需要 条地址线。 答:2K,14。 7.4KB RAM 存储器的首地址若为 0000H,则末地址为 H。 答:0FFF。 8.若单片机外扩 32KB 数据存储器的首地址若为 4000H,则末地址为 H。 答:BFFF 9. 设计一个以 AT89S52 单片机为核心的系统,如果不外扩程序存储器,使其内部 8KB 闪烁 程序存储器有效,则其 引脚应该接 。 答:EA*,+5V 10.74LS138 是具有 3 个输入的译码器芯片,其输出常作片选信号,可选中 片芯片 中的任一芯片,并且只有 1 路输出为 电平,其它输出均为 电平。 答:8,低,高;
二、单选 1.区分AT89S51单片机片外程序存储器和片外数据存储器的最可靠方法是 A.看其位于地址范围的低端还是高端 B.看其离AT89S51单片机芯片的远近 C.看其芯片的型号是ROM还是RAM D.看其是与RD信号连接还是与PSEN信号连接 答:D 2.访问片外数据存储器的寻址方式是 A.立即寻址 B.寄存器寻址 C.寄存器间接寻址 D.直接寻址 答:C 3.若要同时扩展4片2KB的RAM和4片4KB的ROM,则最少需要 根地址线。 A、12 B、13 C、14 D、15 4.当A=1时,AT89S52单片机可以扩展的外部程序存储器的最大容量为一。 A.64KB B.60KB C.58KB D.56KB 答:D 5.若某数据存储器芯片地址线为12根,那么它的存储容量为 A、1KB B.4KB C.2KB D.8KB 答:B 三、编程 1.试编写一个程序(如将05H和06H拼为56H),设原始数据放在片外数据区2001H单元和 2002H单元中,按顺序拼装后的单字节数放入2002H. 答:本题主要考察对外部存储器的读、写操作,只要记住正确使用MOVX指令就可以了。编程 思路:首先读取2001H的值,保存在寄存器A中,将寄存器A的高四位和低四位互换,再屏 蔽掉低四位然后将寄存器A的值保存到30H中,然后再读取2002H的值,保存在寄存器A中, 屏蔽掉高四位,然后将寄存器A的值与30H进行或运算,将运算后的结果保存在2002H中。 ORG 0000H MAIN: MOV DPTR.#2001H :设置数据指针的初值 MOVX A,@DPTR :读取2001H的值 SWAP ANL A,#OFOH :屏蔽掉低四位 MOV 30H,A ;保存A INC DPTR ;指针指向下一个
二、单选 1.区分 AT89S51 单片机片外程序存储器和片外数据存储器的最可靠方法是 。 A.看其位于地址范围的低端还是高端 B.看其离 AT89S51 单片机芯片的远近 C.看其芯片的型号是 ROM 还是 RAM D.看其是与 RD 信号连接还是与 PSEN 信号连接 答:D 2.访问片外数据存储器的寻址方式是 。 A.立即寻址 B.寄存器寻址 C.寄存器间接寻址 D.直接寻址 答:C 3.若要同时扩展 4 片 2KB 的 RAM 和 4 片 4KB 的 ROM,则最少需要 根地址线。 A、12 B、13 C、14 D、15 4.当 EA =1 时,AT89S52 单片机可以扩展的外部程序存储器的最大容量为 。 A. 64KB B.60KB C.58KB D.56KB 答:D 5. 若某数据存储器芯片地址线为 12 根,那么它的存储容量为 。 A、1KB B.4KB C.2KB D.8KB 答:B 三、编程 1.试编写一个程序(如将 05H 和 06H 拼为 56H),设原始数据放在片外数据区 2001H 单元和 2002H 单元中,按顺序拼装后的单字节数放入 2002H。 答:本题主要考察对外部存储器的读、写操作,只要记住正确使用 MOVX 指令就可以了。编程 思路:首先读取 2001H 的值,保存在寄存器 A 中,将寄存器 A 的高四位和低四位互换,再屏 蔽掉低四位然后将寄存器 A 的值保存到 30H 中,然后再读取 2002H 的值,保存在寄存器 A 中, 屏蔽掉高四位,然后将寄存器 A 的值与 30H 进行或运算,将运算后的结果保存在 2002H 中。 ORG 0000H MAIN: MOV DPTR,#2001H ;设置数据指针的初值 MOVX A,@DPTR ;读取 2001H 的值 SWAP A ANL A,#0F0H ;屏蔽掉低四位 MOV 30H,A ;保存 A INC DPTR ;指针指向下一个
MOVX A,@DPTR :读取2002I的值 ANL A,#OFH ;屏蔽掉高四位 ORL A,30H ;进行拼装 MOVX @DPTR,A :保存到2002H END 2.编写程序, 将外部数据存储器中的4000H40FH单元全部清“0”。 答:本题主要考察对外部数据块的写操作:编程时只要注意循环次数和MOVX指令的使用就 可以了。 ORG 0000H MAIN: MOV A,#0 :送预置数给A MOV RO,#OFF阳 :设置循环次数 MOV DPTR,#4000H :设置数据指针的初值 LOOP: MOVX @DPTR,A ;当前单元清零 INC DPTR :指向下一个单元 DJNZ RO,LOOP :是否结束 END 四、简答 1.在AT89S52单片机系统中,外接程序存储器和数据存储器共用16位地址线和8位数据线, 为何不会发生冲突? 答:因为控制信号线的不同:外扩的RAM芯片既能读出又能写入,所以通常都有读写控制引 脚,记为OE*和WE*。外扩RAM的读、写控制引脚分别与AT89S51的RD*和WR*引脚相连。 外扩的EPROM在正常使用中只能读出,不能写入,故EPROM芯片没有写入控制引脚,只有读 出引脚,记为OE*,该引脚与AT89S52单片机的PSEN*相连。 2.题图8-1(a)所示为AT89S51单片机中存储器的地址空间分布图。题图8-1(b) 地址 存储器 A组 B组 0000H 跨接端子 74LS139 跨接端子 芯片选择 ROMI A151 3 ROMI 4000H A142 6 14 ROM2 ROM2 A13 11 15 A12 8000H 空 C000H RAMI RAMI E000H RAM2 FFFFHL (a)地址空间 ()地址译码电路 题图8-1 为存储器的地址译码电路,为使地址译码电路按题图8-1(ā)所示的要求进行正确寻址,要
MOVX A,@DPTR ;读取 2002H 的值 ANL A,#0FH ;屏蔽掉高四位 ORL A,30H ;进行拼装 MOVX @DPTR,A ;保存到 2002H END 2.编写程序,将外部数据存储器中的 4000H~40FFH 单元全部清“0”。 答:本题主要考察对外部数据块的写操作;编程时只要注意循环次数和 MOVX 指令的使用就 可以了。 ORG 0000H MAIN: MOV A,#0 ;送预置数给 A MOV R0,#0FFH ;设置循环次数 MOV DPTR,#4000H ;设置数据指针的初值 LOOP: MOVX @DPTR,A ;当前单元清零 INC DPTR ;指向下一个单元 DJNZ R0,LOOP ;是否结束 END 四、简答 1.在 AT89S52 单片机系统中,外接程序存储器和数据存储器共用 16 位地址线和 8 位数据线, 为何不会发生冲突? 答:因为控制信号线的不同:外扩的 RAM 芯片既能读出又能写入,所以通常都有读写控制引 脚,记为 OE*和 WE*。外扩 RAM 的读、写控制引脚分别与 AT89S51 的 RD*和 WR*引脚相连。 外扩的 EPROM 在正常使用中只能读出,不能写入,故 EPROM 芯片没有写入控制引脚,只有读 出引脚,记为 OE*,该引脚与 AT89S52 单片机的 PSEN*相连。 2.题图 8-1(a)所示为 AT89S51 单片机中存储器的地址空间分布图。题图 8-1(b) 题图 8-1 为存储器的地址译码电路,为使地址译码电路按题图 8-1(a)所示的要求进行正确寻址,要
求画出: (1)A组跨接端子的内部正确连线图。 (2)B组跨接端子的内部正确连线图。 答:(1)A组跨接端子的内部正确连线图 A15 +5 A14+6 A13→7 (2)B组跨接端子的内部正确连线图 0 +13 o 。14 11 15 12 16 注意:答案不唯一,还有其他连接方法,也可满足题目要求
求画出: (1)A 组跨接端子的内部正确连线图。 (2)B 组跨接端子的内部正确连线图。 答:(1)A 组跨接端子的内部正确连线图 (2)B 组跨接端子的内部正确连线图 注意:答案不唯一,还有其他连接方法,也可满足题目要求