《微机原理答案》PPT课件.ppt
1.3 存储器容量对应地址线的根数:8K=2n,所以n=13.,第一章答案,1.4 78=01001110B=4EH=01111000BCD 134=10000110B=86H=000100110100BCD,1.5 X=1000100 8位二进制表示:x原=01000100;x反=01000100;x补=01000100;16位二进制表示:x原=0000000001000100;x反=0000000001000100;x补=0000000001000100;X=-1000100 8位二进制表示:x原=11000100;x反=10111011;x补=10111100;16位二进制表示:x原;x反;x补;X=-0111111 8位二进制表示:x原=10111111;x反=11000000;x补=11000001;16位二进制表示:x原;x反;x补;,1.6将下列补码转化成二进制数的真值。1)X补=001011002)X补=11111111 3)X补=10000000(1)X=0101100(2)X=-0000001(3)X=-10000000;,1.7已知下列补码X补和Y补,分别求X+Y补、X-Y补。并判断运算结果是否出现溢出(1)X+Y补=11000101 110011001+000101100 111000101 不溢出 X-Y补=01101101 110011001-000101100 101101101 溢出(2)X+Y补=01111111 111111111+110000000 101111111 溢出 X-Y补=01111111 111111111-110000000 001111111 不溢出,(3)X+Y补=00010111 000110111+111100000 000010111 不溢出 X-Y补=01010111 000110111-111100000 001010111 不溢出(4)X+Y补=01000111 110000111+111000000 101000111 溢出 X-Y补=11000111 110000111-111000000 111000111 不溢出,第二章答案,2.1 89C52内部资源:一个8位的CPU,8KB的FLASH程序存储器,256B的静态RAM数据存储器,4个8位的并行I/O接口,1个全双工串行口,中断系统,3个定时器/计数器,时钟电路2.2 采用哈佛结构,程序存储器和数据存储器具有独立存储器空间,具有较高的执行效率。2.3 工作寄存器分布在00H1FH区域。2.4 工作寄存器分4个区,可以改变特殊功能寄存器中的RS1和RS0的位状态来改变工作寄存器区。,2.5 工作寄存器是暂时存放数据的部件,而特殊功能寄存器是存放一些专用的信息。2.6 特殊功能寄存器的地址空间:80FFH 2.7 位寻址区域在内部数据寄存器的20H2FH 2.8 20H,24H,P2,P3,2CH,ACC 2.9 60K,0000HEFFFH 2.10 RC电路中,时间常数t=RC,如果C太小,则时间常数会变小,产生的脉冲信号将变窄,有可能小于单片机的两个机器周期,从而不能复位。2.11 上电复位时,内部数据存储器的内容是不确定和随机的;人工按钮复位时,内部数据存储器的内容保持不变。2.12 因为SP指示的是当前堆栈存放信息的位置。只有重新设置,才能知道堆栈地址。,第二章答案,第三章答案,3-1、指令的格式是由哪些部分组成的?每部分的含义是什么?答:操作码和操作数。3-2、什么是寻址方式?51系列指令系统有哪些寻址方式?答:指令给出操作数的方式即用何种方式找到操作数。3-3、对于内部数据存储器00H1FH区域的访问有哪些寻址方式?对于外部数据存储器的访问有哪些寻址方式?对于特殊功能寄存器的访问有哪些寻址方式?答:1)直接寻址和寄存器间接寻址方式 2)寄存器间接寻址方式 3)直接寻址方式3-4、51系列单片机有哪些标志位?这些标志位存放在哪里?答:,PSW,第三章答案,3-5、分析下列各指令的操作数,指出它们的寻址方式。MOV R4,38H 寄存器寻址、直接寻址 ADD A,R1 寄存器寻址、寄存器间接寻址 MOVC A,A+DPTR 寄存器寻址、变址寻址 MOVX A,DPTR 寄存器寻址、寄存器间接寻址 DEC B 寄存器寻址 SETB 24H 位寻址 CJNE A,#100,NEXT 立即寻址、相对寻址ANL 30H,#00H 直接寻址、立即寻址PUSH P1 直接寻址,第三章答案,第三章答案,3.6(1)(R0)=32H(2)(25H)=F8H(3)(A)=13H P=1(4)(A)=38H P=1(5)(A)=33H P=0(6)(A)=03H P=0(7)(A)=36H(34H)=03H(8)(A)=08H(36H)=F3H(9)(SP)=72H(72H)=05H(10)(DPH)=00H(SP)=70H,(11)0CCH,1,0,1,0(12)E7H,0,0,0,0(13)FCH,0,0,0,0(14)2CH,01H(15)01H(16)02H,1(17)52H,0,0(18)02H,36H,1(19)5BH,1(20)77H,0,(21)03H,0(22)00H,0(23)0FCH,0(24)0FCH,0(25)06H,1(26)81H,1(27)1(28)0A0H(29)88H(30)00H,(31)0(32)1202H(33)0900H(34)1280H(35)1148H(36)1800H,73H,03H,12H(37)80H,6FH,第三章答案,3.7 分析下列程序段功能1)MOV A,R3 MOV R4,A MOV A,R5 MOV A,R4 MOV B,R5 DIV AB MOV R4,B MOV R5,A4)MOV C,P1.1 ANL C,P1.2 ANL C,/P1.3 MOV P1.6,C5)MOV C,0 ORL C,1 MOV F0,C MOV C,2 ORL C,3 ANL C,F0 MOV P1.7,C,8)CLRA MOVR0,A MOVR7,ALOOP:MOVR0,A INCR0 DJNZR7,LOOPSTOP:SJMPSTOP9)PUSHACC PUSHB POPACC POPB10)MOVR0,#30H XCHDA,R0 SWAPA INC R0 XCHDA,R0 SWAPA MOV40H,A,第三章答案,6)CLR C MOV A,R4 RLC A MOV R4,A MOV A,R3 RLC A MOV R3,A7)CLR C MOV A,R5 RLC A ADD A,R5 MOV R5,A,答 合法:1,5,10 不合法:2,3,4,6,7,8,9,第三章答案,3-8、指出下列指令中哪些是合法指令,哪些是非法指令.1)MOVP1,R42)MOVR2,R43)CLRR34)RLCR55)MOV30H,31H6)MOV00H,P7)ORL40H,R78)PUSHR69)POPR010)INCDPTR,3.9按要求编制下列各程序(1).mov R0,30H mov A,31H mov 30H,A mov 31H,R0(2).mov A,R7 RR A mov R7,A(3).mov A,R3 mov B,#4 mul AB mov R3,A,(4).movx A,DPTR dec A movx DPTR,A(5).push 1EH(6).mov A,R4 rrc A mov R4,A mov A,R5 rrc A mov R5,A mov A,R4 rl A rrc A mov R4,A,第三章答案,第四章答案,4.1用伪指令将下列常数依次定义在1600H为首地址的程序存储器中。org 1600H LABLE:db 0,1,4,9,16,25,36,49,64,814.2用伪指令将下列常数依次定义在1700H为首地址的程序存储器中,要求数据类型一致。org 1700H LABLE:dw 0,1,8,27,64,125,216,343,512,7294.3用伪指令将字节型变量X1、X2定义在内部数据存储器30H、31H单元中,将字节型变量Y1、Y2定义在外部数据存储器2000H、2001H中。X1 data 30H X2 data 31H Y1 xdata 2000H Y2 xdata 2001H4.4用伪指令将ASCII码字符串“Beijing,how are you!”定义在1200H为首地址的程序存储器中。org 1200H LABLE:db Beijing,how are you!4.5用伪指令将逻辑变量A1、A2定义在00H、01H位单元中。A1 bit 00H A2 bit 01H,4.6 编一程序段,将1400H为首地址外部数据存储器中200个单字节数据转移至1500H为首地址的外部数据存储器中 mov R2,#200 mov DPTR,#1400H mov P2,#15H mov R0,#00HLOOP:movx A,DPTR mov P2,#15H movx R0,A inc DPTR inc R0 djnz R2,LOOP sjmp$end,4.7 编一程序段,将30H为首地址的内部数据存储器中的20个单字节补码数据中的负数传送至以2400H为首地址的外部数据存储器中。mov R2,#20 mov DPTR,#2400H mov R0,#30HLOOP:mov A,R0 jnb ACC.7 NEXT movx DPTR,A inc DPTRNEXT:inc R0 d jnz R2,LOOP sjmp$end,4.8 编一程序段,将40H为首地址的内部数据存储器中25个单字节数据,依次下移一个单元。mov R2,#25 mov R0,#40H mov R1,#3FHLOOP:movx A,R0 movx R1,A inc R0 inc R1 djnz R2,LOOP sjmp$end,4.9编一程序段,完成函数y=x2+5x+6的计算。设0 x10。x data 30h y data 31h mov A,x mov B,#5 mul AB mov y,A mov A,x mov B,A mul AB add A,#6 add A,y mov y,A stop:sjmp,stop,4.10 编一程序段,完成逻辑函数 的计算。x bit 00h y bit 01h z bit 02h L bit 03h org 0000h ljmp main org 0040hmain:mov c,x anl c,/y anl c,z cpl c mov L,cStop:sjmp$end,4.12 编制一子程序,将一个非压缩8421BCD码转换成七段显示码。设09的BCD码对应的七段显示码分别为3FH、06H、6BH、4FH、66H、6DH、7DH、07H、7FH、6FH。进子程序前,BCD码被放在累加器ACC中;子程序运行后,相应的七段显示码也放在累加器ACC中。DISP:push psw push DPH push DPL mov DPTR,#TABLE movc A,A+DPTR pop DPL pop DPH pop psw ret TABLE:DB 3fh,06h,6bh,4fh,66h DB 6ph,7dh,07h,7fh,6fh,4.14编制一子程序,完成两双字节无符号数相加。设加数和被加数分别存放在0区寄存器R2、R3和R4、R5中,运算的结果存放在0区寄存器R6、R7中。若运算结果发生进位,使00H位单元=1;反之,使00H位单元=0。COMADD:push psw push ACC clr c mov A,03h add A,05h mov 07h,A mov A,02h addc A,04h mov 06h,A mov 00h,c pop ACC pop psw ret,4.15编制一子程序,完成10ms较精确延时功能。设系统时钟频率为24Mhz。D10ms:mov R7,#40 LOOP1:mov R6,#248 nop LOOP2:djnz R6,LOOP2 djnz R7,LOOP1 ret分析程序,并计算时间(精确计算),4.16 BCDCON:push psw push ACC mov psw#08h mov R0,#40h mov R1,#50h mov R6,#5 LOOP:clr A xchd A,R0 swap A inc R0 xchd A,R0 mov R1,A inc R0 inc R1 djnz R6,LOOP pop ACC pop psw ret,4-16、编制一子程序,将10个非压缩BCD码转换成5个压缩BCD码。设进子程序前,非压缩BCD码被放在40H为首地址的内部数据存储器中;子程序运行后,压缩BCD放在50H为首地址的内部数据存储器中。,4-17、编制一子程序,完成15个单字节补码数据按绝对值大小从小到大进行排队。设数据放在30H为首地址的内部数据存储器中。,4.17 SORT:push psw push ACC mov psw#08h mov B,#14 START:mov R7,B mov R0,#30 clr 00h LOOP:mov A,R0 mov 0Bh,A cpl A inc A mov 09h,A inc R0 mov A,R0 cpl A inc A,mov 0Ah,A mov A,0Bh cjne 09h,0Ah,COMP COMP:jc NEXT xch A,R0 dec R0 xch A,R0 setb 00h NEXT:djne R7,LOOP dec B jb 00h,START pop ACC pop psw ret,4.18 RL:push psw push ACC clr c clr A mov R0,#39H mov R6,#10 LOOP:mov A,R0 rlc A mov R0,A dec R0 djnz R6,LOOP pop ACC pop psw ret,4-18、编制一子程序,将内部数据存储器30H39H单元的数据连起来向左移动1位,39H单元的最低位添0。,补充题:如图为单片机控制交通信号灯的简易控制电路,单片机的时钟频率为12MHz,P1.4P1.7经反向器驱动四个红绿发光二极管,其中A为东西向红灯,B为东西向绿灯,C为南北向红灯,D为南北向绿灯。要求用定时器0,产生0.04秒的时间基准,东西向绿灯和南北向红灯亮4秒,东西向红灯和南北向绿灯亮2秒,交替循环。请编制实现上述功能的程序。,+5V,P1.4,P1.5,P1.6,P1.7,A,B,C,D,解:TMOD=00000001,TCON=00000000 IE=10000010,IP=00000000 0.04秒=40毫秒=40000微秒 因时钟为12MHz,所以有:a0=216-40000=65536-40000 TL0=0C0H,TH0=63H 4秒钟,则R4=100,2秒钟,则R4=50 ORG 0000H LJMP START ORG 000BH LJMP T0,ORG 200HSTART:MOV SP,#60H MOV P1,#9FH MOV TMOD,#01H MOV TCON,#00H MOV TL0,#0C0H MOV TH0,#63H MOV R4,#100 MOV IE,#82H MOV IP,#00H SETB TR0 LOOP:SJMP LOOP,ORG 300HT0:MOV TL0,#0C0H MOV TH0,#63H DJNZ R4,EXIT MOV R4,#100 JNB P1.4,CONT MOV R4,#50CONT:XRL P1,#0F0HEXIT:RETI,2)设单片机系统的fosc6MZH,要求T0作为计数器工作在方式1,计到50个脉冲就停止工作。而要求T1作为定时器工作在方式2,每隔200us产生一次中断申请,利用该信号在P1.1口上产生一个周期为400us的方波。试编一程序实现T0、T1和中断的初始化及各项功能,2)解:TMOD=00100101,TCON=00000000 IE=10001010,IP=00000000 a0=216 TL0=0CEH,TH0=0FFH t=12/fosc(28-a)(us)a128200/22561001560B8H TL1=0B8H,TH1=0B8H ORG 0000H LJMP MAIN ORG 000BH LJMP T0 ORG 001BH LJMP T1:,ORG 0040H ORG 0100HMAIN:MOV SP,#60H T0:CLR TR0 MOV TMOD,#24H RETI MOV TCON,#00H:MOV IE,#8AH ORG 0200H MOV IP,#00H T1:CPL P1.1 MOV TL0,#0CEH RETI MOV TH0,#0FFH MOV TL1,#0B8H MOV TH1,#0B8H SETB TR0 SETB TR1 CLR P1.1:,第五章答案,5-1、中断申请信号如何才能被CPU检测到?答:中断允许寄存器的设置为1,即允许中断5-2、中断响应时CPU需要做哪些事情?答:保护正在执行程序的断点地址,转入特定的中断入口地址。5-3、中断入口与中断服务子程序入口有什么区别?答:中断入口地址是CPU在固定的程序存储单元地址中存放中断源的入口地址。5-4、89C52单片机中有哪些中断源?它们的中断申请标志分别是什么?答:中断源有INT0、INT1、T0、T1、RI/TI、T2,标志为IE0、IE1、TF0、TF1、RI/TI、TF2。,第五章答案,5-5、若在某一个89C52单片机应用系统中,在系统初始化中将特殊功能寄存器IE和IP分别设置为10101111B和00101100B。当该系统正在运行时,问:如果外部中断1和定时器/计数器1同时申请中断,CPU将为哪一个中断源服务?为什么?答:为中断1服务,应为在同级中断中中断1的级别比T1的高。如果CPU正在执行外部中断0的中断服务子程序,这时CPU还能响应系统哪些中断源的中断申请?为什么?答:能响应外部中断1、定时器T1、以及定时器T2,应为它们是高级中断,而外部中断0是低级中断,第五章答案,5.6若在某一个单片机应用系统中,有一个外部中断1,中断级别为低级中断,中断申请信号为脉冲信号,中断服务子程序的首地址为1100H,中断服务子程序的任务是将P1口的数据传递至外部数据存储器2400H单元。org 0000h ljmp MAIN org 0013h ljmp INT1 org 0100hMAIN:mov sp,#60h setb EA setb EX1 setb IT1 clr PX1:,org 1100hINT1:push ACC push PSW push DPH push DPL mov A,P1 mov DPTR,#2400h mov DPTR,A pop DPL pop DPH pop PSW pop ACC reti,5.7 org 0000h ljmp MAIN org 0003h mov A,P1 cpl A mov P1,A reti org 0100hMAIN:mov sp,#60h setb EA setb EX0 setb IT0 setb PX0,5.7 有一个单片机实验系统,实验线路如实验八所示。要求编制一程序,当开关5发出一脉冲信号时,程序由此转入中断服务子程序,该中断服务子程序的任务是将P1口的内容取反,然后返回到主程序。,第六章答案,6-1、单片机中的定时器/计数器具有哪些功能?答:具有定时与计数功能6-2、请说明CTC的定时器工作方式的工作原理。答:P108页的最后一段。,第六章答案,6.4若系统时钟的频率为fosc=6Mhz,请分析T1工作在模式1和模式2时,定时器最长的定时时间分别为多少。T1工作在模式1时,定时器最长的定时时间为:,T1工作在模式2时,定时器最长的定时时间为:,6.5已知系统时钟频率fosc=6Mhz,若要求T1工作在模式1进行5ms的定时,采用内部启动。请计算T1计数器的初值a,并对T1进行初始化编程。解:根据题意,先计算T1计数器初值。由于T1工作在模式1,所以,根据题意,对T1初始化编程如下:MOVTMOD,#10H;将T1设置为模式1定时器方式,内部启动。MOVTH1,#F6H;设置计数器初值。MOVTL1,#3CH;设置计数器初值。SETBTR1;启动计数器工作。,TMOD,6.6 解:根据题意,先计算T0计数器初值。由于T0工作在模式2,所以,根据题意,对T0初始化编程如下:MOVTMOD,#0AH;将T0设置为模式2定时器方式,外部启动。MOVTH0,#83H;设置计数器初值。MOVTL0,#83H;设置计数器初值。SETBTR0;准备接受外部启动。,6.7 已知系统时钟频率fosc=24Mhz,若要求T0工作在模式1计数器方式,计满500个信号,向CPU申请中断,采用内部启动。问该系统对外部计数信号的频率最高是多少?请计算T0计数器的初值a,并对T0进行初始化编程。解:根据题意,先计算T0计数器初值。由于T0工作在模式1计数器方式,所以,根据题意,对T0初始化编程如下:MOVTMOD,#05H;将T0设置为模式1计数器方式,内部启动。MOVTH0,#FEH;设置计数器初值。MOVTL0,#0CH;设置计数器初值。SETBTR0;启动计数器工作,准备对外部信号计数。,系统对外部计数信号的频率最高为:,TMOD,6-9、若有某51系列的单片机应用系统,试编制程序,分别采用三种方式使得P1.0引脚上产生周期为200s的方波。方法1是将T1设置在模式1的定时器方式;方法2将T1设置在模式2的定时器方式;方法3是将T2设置在信号发生器工作模式。设fosc=12Mhz。,6.9 方法一:进行100s定时,T1设置在模式1的定时器方式,其初值计算如下:,程序如下:,ORG 0000H LJMP MAIN ORG 001BH LJMP INT_T1 ORG 0100H MAIN:MOV SP,#60H;设置堆栈。MOV TMOD,#10H;将T1设置为模式1定时器方式,内部启动。MOV TH1,#FFH;设置计数器初值。MOV TL1,#9CH;设置计数器初值。SETB EA;中断系统开放。SETB ET1;开放T1中断源。SETB TR1;启动计数器工作。ORG 1000HINT_T1:CPL P1.0;每隔100s翻动P1.0的电平。MOV TH1,#FFH;重新装入初值。ORL TL1,#9CH;重新装入初值。RETI;中断返回。END 执行其他程序。,6.9 方法二:进行100s定时,T1设置在模式2的定时器方式,其初值计算如下:,程序如下:,ORG 0000H LJMP MAIN ORG 001BH CLR TF1 CPL P1.0;每隔100s翻动P1.0的电平。RETI;中断返回。ORG 0100H MAIN:MOV SP,#60H;设置堆栈。MOV TMOD,#20H;将T1设置为模式2定时器方式,内部启动。MOV TH1,#9CH;设置计数器初值。MOV TL1,#9CH;设置计数器初值。SETB EA;中断系统开放。SETB ET1;开放T1中断源。SETB TR1;启动计数器工作。END 执行其他程序。,6-10、若有某51系列的单片机应用系统,要求其利用T0的定时,编一个程序使得P1.2引脚上产生周期为1s、脉冲宽度为100ms的脉冲波。设fosc=12Mhz。,6.10 本题中信号的周期比较长,而且不是方波。解决的方法是设立两个软件计数器counter_L、counter_H,分别控制信号低电平和高电平的持续时间。在信号低电平和高电平的持续时间中选一个公约数10ms,作为T0的定时时间。再设立一个信号电平状态标志位level_F,当level_F=1时,对信号高电平计时;当level_F=0时,对信号低电平计时。编程如下:,counter_HDATA30H;定义软件计数器。counter_LDATA31H;定义软件计数器。level_F BIT 00H;定义电平标志位。ORG 0000H LJMP MAIN ORG 000BH;T0中断入口。LJMP INT_T0;转入中断服务子程序。ORG 0100H MAIN:MOV SP,#60H;设置堆栈。MOV TMOD,#01H;将T0设置为模式1定时器方式,内部启动。MOV TH0,#0D8H;设置计数器初值。MOV TL0,#0F0H;设置计数器初值。MOV counter_H,#10;设置软件计数器,初值为10。MOV counter_L,#90;设置软件计数器,初值为90。,SETB level_F;设置信号电平状态标志位,初值为高电平。SETB EA;中断系统开放。SETB ET0;开放T0中断源。SETBTR0;启动计数器工作。,ORG 1000H INT_T0:JNB level_F,NEXT;如果level_F=0,转入NEXT。DJNZ counter_H,STOP;计数器counter_H减1。CPL P1.2;如果计数器counter_H为零,将P1.2取反。MOV counter_H,#20;计数器counter_H归零后重装初值。CLR level_F;将标志位level_F清0。SJMP STOP;NEXT:DJNZ counter_L,STOP;计数器counter_L减1。CPL P1.2;如果计数器counter_L为零,将P1.2取反。MOV counter_L,#80;计数器counter_L归零后重装初值。SETB level_F;STOP:MOV TH0,#0D8H;重新装入初值。ORL TL0,#0F0H;重新装入初值。RETI;END,7.1串行通信相比并行通信的优点有传输线成本低,传输距离远。,第七章答案,7.2异步通信按帧传送数据,具有接口电路简单的优点。,7.3因为实际应用中,单片机控制对象往往很多,而单片机限于引脚,最多只能提供4个8位的I/O口,串行口工作方式0弥补了单片机I/O接口的不足。,7.4串行口工作方式2作为9位UART接口,是加了控制位的UART。波特率是fosc/32或fosc/64,不需要T1或T2充当波特率发生器,有利于节省单片机CTC资源。,7.5有利于获得常用波特率。,7.7解 根据题意,T1初值计算如下:a1=28-2SMODfosc/(384BR)=28-2111.0592106/(38419000)=253=FDH初始化程序如下:CLRTCLK;CLKRCLK;MOVTMOD,#20H;MOVTH1,#0FDH;MOVTL1,#0FDH;ORLPCON,#80H;SETBTR1;MOVSCON,#0D0H;,第七章答案,7.9解 根据题意,T1初值计算如下:a1=28-2SMODfosc/(384BR)=28-2111.0592106/(3844800)=244=F4H发送程序:M1T:PUSHPSW;PUSHACC;LOOP:MOVXA,DPTR;PUSHDPH;MOVC,P;PUSHDPL;MOVACC.7C;MOVPSW,#08H;MOVSBUF,A;CLRTCLK;WAIT:JBCTI,NEXT;CLKRCLK;SJMPWAIT;MOVTMOD,#20H;NEXT:INCDPTR;MOVTH1,#0F4H;DJNZR7,LOOP;MOVTL1,#0F4H;POPDPL;MOVSCON,#40H;POPDPH;ORLPCON,#80H;POPACC;SETBTR1;POPPSW;MOVDPTR,#2300H;RET;MOVR7,#64H;,第七章答案,7.9(续)接受程序:M1R:PUSHPSW;CLRF0;PUSHACC;RIGHT:MOVXDPTR,A;PUSHDPH;INCDPTR;PUSHDPL;DJNZR7WAIT;MOVPSW,#08H;SETBF0;CLRTCLK;SJMPRETURN;CLKRCLK;RETURN:POPDPL;MOVTMOD,#20H;POPDPH;MOVTH1,#0F4H;POPACC;MOVTL1,#0F4H;POPPSW;MOVSCON,#50H;RET;ORLPCON,#80H;SETBTR1;MOVDPTR,#1600H;MOVR7,#64H;WAIT:JBCRI,FETCH;SJMPWAIT;FETCH:MOVA,SBUF;JNBP,RIGHT;,第七章答案,8-1、如果将例8-1图中存储器芯片27128上 引脚接8031单片机的P2.7线,请分析扩展的程序存储器芯片27128的地址空间。,第八章答案,答:这种连接时,A15=0,并当A14=0时,程序存储器27128在系统中的首地址为0000H,它末地址为3FFFH;存储器空间为0000H3FFFH。当A14=1时,程序存储器27128在系统中的首地址为4000H,它末地址为7FFFH;存储器空间为4000H7FFFH。因此,程序存储器的空间为0000H7FFFH。,第八章答案,答:地址空间为:2000H3FFFH、4000H5FFFH、6000H7FFFH,8-2、如果将例8-4图中三块存储器芯片上引脚接分别接译码器输出线、,请分析扩展的数据存储器的地址空间。,、,解:程序存储器和数据存储器该芯片各需要2片。采用列表法推出每一块外部程序存储器和数据存储器的地址空间、以及片外地址的状态,连接图见下页。,8-3、若某一个MCS-51单片机应用系统需要扩展程序存储器和数据存储器,现只有规格为8KB8的EPROM芯片和规格为8KB8的SRAM芯片。要求分别扩展16KB程序存储器和数据存储器,程序存储器地址空间在8000HBFFFH,数据存储器的地址空间在C000HFFFFH。请计算一下需要几片所给定的程序存储器芯片和数据存储器芯片,并画出存储器与系统的连接图。,8-4、执行指令“MOVX A,DPTR”需要几个机器周期?该指令执行期间ALE信号出现了几次?答:二个机器周期,出现三次ALE为高电平的信号。见P163的图8-11,