答:使用2764(8K 8)芯片通过部分译码法扩展24KB程序存储器,须要3块。采用线译码,P2.5与第一片2764的CE相连,P2.6与第二片2764的CE相连,P2.7与第三片2764的CE相连,硬件连接如下:
第一片:
1100 0000 0000 0000~1101 1111 1111 1111;即C000H~DFFFH; 第二片:
1010 0000 0000 0000~1011 1111 1111 1111;即A000H~BFFFH; 第三片:
0110 0000 0000 0000~0111 1111 1111 1111;即6000H~7FFFH;
14. 使用6264(8KB 8)芯片通过全译码法扩展24KB数据存储器,画出硬件连接图,指明各芯片的地址空间范围。 答:使用6264(8K 8)芯片通过全译码法扩展24KB程序存储器,须要3块。采用138译码器译码,硬件连接如下:
地址空间如下: 第一片:
0000 0000 0000 0000~0001 1111 1111 1111;即0000H~1FFFH; 第二片:
0010 0000 0000 0000~0011 1111 1111 1111;即2000H~3FFFH; 第三片:
0100 0000 0000 0000~0101 1111 1111 1111;即3000H~5FFFH;
15. 试用一片74LS373扩展一个并行输入口,画出硬件连接图,指出相应的控制命令。
答:硬件电路图如下:74LS373的输入端为扩展的输入口,输出端接8051的数据总路线P0口,控制端接高电平,输出允许由片外数据存储器读信号RD和P2.0控制。当片外数据存储器读信号RD和P2.0同为低平时从74LS373中读入
输入数据的命令如下: MOV DPTR,#0FE00H MOVX A,@DPTR
16. 用8255A扩展并行I/O,实现把8个开关的状态通过8个二极管显示出来,画出硬件连接图,用汇编语言和C语言分别编写相应的程序。
答:硬件电路图如下:8051与8255的连接略,设8255的A,B,C和控制控口的地址为7F00H,7F01H,7F02H,7F03H。8255的A口接8个开关,B口接8个发光二极管。
程序如下: 汇编程序 ORG 0000H LJMP MAIN ORG 0100H
MAIN:MOV DPTR,#7F03H MOV A,#90H MOVX @DPTR,A
LOOP:MOV DPTR,#7F00H MOVX A,@DPTR MOV DPTR,#7F01H MOVX @DPTR,A SJMP LOOP SJMP $ END C语言程序:
#include <reg51.h> #include <absacc.h> main()