资源描述
1.1 计算机经过了哪些主要发展阶段?
解:单片机得发展大致经历了四个阶段:
第一阶段(1970—1974年),为4位单片机阶段;
第二阶段(1974—1978年),为低中档8位单片机阶段;
第三阶段(1978—1983年),为高档8位单片机阶段;
第四阶段(1983年至今),为8位单片机巩固发展阶段及16位单片机、32位单片机推出阶段。
1.2 写出下列机器数得真值:
(1)01101110 (2)10001101
(3)01011001 (4)11001110
解:(1)01101110得真值=+110
(2)10001101得真值=+141或-115
(3)01011001得真值=+89
(4)11001110得真值=+206或-50
说明:机器数就是指计算机中使用得二进制数,机器数得值称为真值。机器数可表示为无符号数也可表示为带符号数,其中计算机中得带符号数一般为补码形式。10001101若为无符号数。则其真值为+141;若为带符号数,由于最高位(符号位)为1、所以为负数(补码形式),则其真值为-115。逦詞纊擴绝蠷胇。
1.4 写出下列二进制数得原码、反码与补码(设字长为8位)。
(1)010111 (2)101011
(3)-101000 (4)-111111
解:(1) [x]原=00010111 [x]反= 00010111 [x]补= 00010111镟扫车驁钩岭駢。
(2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011
(3)[x]原=10101000 [x]反= 11010111 [x]补= 11011000
(4)[x]原=10111111 [x]反= 11000000 [x]补=11000001
1、5 已知X=10110110,Y=11001111,求X与Y得逻辑与、逻辑或与逻辑异或。
解:
1.6 已知X与Y,试计算下列各题得与(设字长为8位)。
(1)X=1011 Y=0011
(2)X=1011 Y=0101
(3)X=1001 Y=-0100
(4)X=-1000 Y=0101
(5)X=-1100 Y=-0100
解:(1)X补码=00001011 Y补码=00000011
[X+Y]补=00001110 [X-Y]补=00001000
(2)X补码=00001011 Y补码=00000101
[X+Y]补= [X-Y]补=00000110
(3)X补码=00001001 Y补码=
[X+Y]补= [X-Y]补=00000110
1.7 用补码来完成下列运算,并判断有无溢出产生(设字长为8位)
(1)85+60 (2)-85+60
(3)85-60 (4)-85-60
解:(1)[x]补+[y]补=01010101+00111100=10010001 = -111,有溢出痺懺蠐荠淵綽绰。
(2)[x]补+[y]补=10101011+00111100=11100111 =-25,无溢出
(3)[x]补+[y]补= 01010101+11000100=00011001 =25,无溢出
(4)[x]补+[y]补=10101011+11000100=01101111 =111,有溢出
1、11 计算机由哪几部分组成得?
解:计算机由微处理器、存储器与I/O接口电路构成。各部分通过地址总线(AB)、数据总线(DB)与控制总线(CB)相连。铙术碱濫纨鷦貺。
1、12 什么叫微处理器?什么叫微型计算机?什么叫微型计算机系统?
解:把CPU与一组称为寄存器(Registers)得特殊存储器集成在一片大规模集成电路或超大规模集成电路封装之中,这个器件才被称为微处理器。以微处理器为核心,配上由大规模集成电路制作得只读存储器(ROM)、读写存储器(RAM)、输入/输出、接口电路及系统总线等所组成得计算机,称为微型计算机。微型计算机系统就是微型计算机配置相应得系统软件,应用软件及外部设备等。還谓悦鋁邝漢炼。
1、15 什么叫单片微型计算机?与一般微型计算机相比,单片机有何特点?
解:单片微型计算机就就是在一块硅片上集成了CPU、RAM、ROM、定时器/计数器与多种I/O口(如并行、串行及A/D变换器等)得一个完整得数字处理系统。单片机主要特点有:品种多样,型号繁多;存储容量大;频率高,速度快;控制功能强,集成度高;功耗低;配套应用软件多。贝绻試華亲敘嶺。
2、5说明静态RAM与动态RAM得主要区别,使用时应如何选用。
解:静态RAM,(SRAM)采用触发器电路构成一个二进制信息得存储单元,存取速度快,集成度低。
动态RAM,(DRAM)集成度较高,对于同样得引脚数其单片容量一般比SRAM高(集成度高),DRAM得存储单元采用电容存储信息,由于电容存在江山漏电,所以需要进行定期刷新,存取速度较SROM慢。镤貯濘寢属邁挤。
2、6现有1K×8位得RAM芯片若干片。若用线选法组成存储器,有效得寻址范围最大时多少KB?若用3-8译码器来产生片选信号,则有效得寻址范围最大又就是多少?若要将寻址范围扩展到64kB,应选用什么样得译码器来产生片选信号?門鐒灿蕢护壳湊。
解:1k×8位得RAM芯片由10条地址线。8031得地址线为16条,所以还有6条地址线可以用来做片选信号。当采用线选法时,每条高位地址线只能选中一片芯片,所以有效地址范围最大可为6kB。逻傴幣鷴鯇医綺。
当用3-8译码器来产生片选信号时,一片3-8译码器可以产生8个片选信号,有效寻址范围可扩大为8kB。若使用多片3-8译码器,则寻址范围还可以扩大。鯤繹創虧汉斃甌。
若要将寻址范围扩展到64kB,必须用6位线进行全译码以产生64个片选信号。由于现在尚无现成得6-64译码器可用,故可选用多个3-8译码器,通过两级译码来产生64个片选信号,共需9个3-8译码器。或者用1个2-4译码器与4个4-16译码器通过两级译码,也可以得到所需得64个片选信号。賒霽鸾飯咛鄖啬。
2、7什么就是地址重叠区,它对存储器扩展有何影响;若有1k×8位RAM并采用74LS138译码器来产生片选信号,图2、18中得两种接法得寻址范围各就是多少KB?地址重叠区有何差别?图中G1、G2A与G2B为译码器得使能端。謗蔼捣愾鯖饵讶。
图2、18 题2、7附图
解:所谓地址重叠,其表现就就是若干个地址都可选中同一存贮器芯片得同一单元,即一个单元有多个地址。地址重叠区即就是指有哪些地址区可以选中同一芯片得存贮单元。由于地址重叠区得存在,影响了地址区得有效使用,限制了存贮器得扩展。櫫踴倉诘犊栊廁。
图2、18中得两种接法,都能产生8个片选信号,选用1kB RAM时,寻址范围都就是8kB。
但就是左图有地址重叠区。高3位地址A13、A14与A15不论为何值,只要低13位地址相同,都能选中同一芯片得同一单元。故共有8个地址区。对于Y0输出选中得芯片地址为:0000H-03FFH,2000H-23FFH,4000H-43FFH,6000H-63FFH,8000H-03FFH,8000H-03FFH,A000H-A3FFH,C000H-C3FFH,E000H-E3FFH。讵對稳壟丽镤銫。
而右图得接法没有地址重叠区。8片RAM所占用得地址为2000H-23FFH,其它得地址都选不中这些RAM得存贮单元。贯擻鑠鮚缕嚶闽。
从系统扩展得角度来瞧,图2、18左图可以接8片1kB RAM,而每片RMA又有8kB地址重叠区,所以64kB地址区全部用完。这个系统只能接8片1kB RAM,不能再扩展。嫔竇掷绕餑阕恶。
而图2、18右图中由于不存在地址重叠区,如果再增加译码器与控制门,就可以获得更多得片选信号。只要连接得当,系统最大可以扩展64kB存储器。所以地址重叠区得存在将限制存储器得扩展。鎳盘賻诩鸪鴟类。
2、8 某系统需要配置一个4k×8位得静态外部RAM。试问:用几片2114(1k×4位)组成该存储器?用线选法如何构成这个存储器?试画出连接简图,并注明各芯片所占用得存贮空间。響輞锈廁颉籜錆。
解:需用(4k×8)/(1k×4)=8,即8片2114来组成。系统连接如图所示。
8片2114芯片分为四组,每组有相同得线选信号,即有相同得地址,存储空间得分布可决定如下:
A15 A14 A13 A12 A11 A10 A9-A0 地址区
Ⅰ、Ⅱ片 × × 1 1 1 0 0……0 3800H
× × 1 1 1 0 1……1 3BFFH
Ⅲ、Ⅳ片 × × 1 1 0 1 0……0 3400H
× × 1 1 0 1 1……1 37FFH
Ⅴ、Ⅵ片 × × 1 0 1 1 0……0 2C00H
× × 1 0 1 1 1……1 2FFFH
Ⅶ、Ⅷ片 × × 0 1 1 1 0……0 1C00H
× × 0 1 1 1 1……1 1FFFH
由于A15与A14这两条地址线没有使用,所以在如图得连接方式下,每组存贮器都有4kB地址重叠区。但如果把A15与A14也用作线选信号,则这个系统还可以再扩充2kB容量得存储器(设仍使用2114芯片)。鎪濫晝阆检詁瘾。
2、9某系统得存储器配置如图2、19所示。所用芯片为1k×8位静态RAM,试确定每块芯片得地址范围。图中C为译码器高位输入,A为低位输入。Y0对应于输入组合000,Y7对应于输入组合111。每片RAM地址重叠区有多大?踬铫饱馁驪卢億。
图2、19 题2、9附图
解:各芯片得地址区可确定如下:
A15 A14 A13 A12 A11 A10 A9-A0 地址区
Ⅰ、片 × × 0 0 0 × 0……0 0000H
× × 0 0 0 × 1……1 03FFH
Ⅱ、片 × × 0 0 1 × 0……0 0800H
× × 0 0 1 × 1……1 0BFFH
Ⅲ、片 × × 0 1 0 × 0……0 1000H
× × 0 1 0 × 1……1 13FFH
Ⅳ、片 × × 0 1 1 × 0……0 1800H
× × 0 1 1 × 1……1 1BFFH
由于有3条地址线A15、A14与A10没有连接与使用,所以每片RAM都有23=8kB地址重叠区。
2、10 用4片1k×8位RAM,一片2-4译码器,一片4-16译码器,请构成4k×8位容量得存贮器,画出存贮器得连接图。并要求:馔慑煬蹺駒協峡。
(1)每一存贮单元得地址范围就是唯一确定得,不存在地址重叠区;
(2)给出所画得连接图中每块芯片得寻址范围;
(3)存贮器应具有扩展能力,即能扩展到64k×8位得存贮容量。
若要扩展到最大容量,除了增加存贮器芯片外,还要增添什么器件?
解:按照第一个要求,必须通过全译码来产生片选信号。即每个片选信号必须由6个高位地址线得组合来产生。由于提供了两种不同得译码器,产生这种片选信号并不难。但连接得方式不止一种,而且不同得连接方式各个存贮器芯片得地址区也可以不同。下图就是两种可能出现得方案。纠励嘖敘慮鋏适。
在第一种方案中,4片RAM得地址为:
Ⅰ片:0000H-03FFH;
Ⅱ片:0400H-07FFH;
Ⅲ片:0800H-0BFFH;
Ⅳ片:0C00H-0FFFH;
第二种方案得意图就是以地址线A10来控制4-16译码器Y0得输出就是为1还就是为0:当A14A13A12A11A10=00000时Y0=0;当A14A13A12A11A10=00001时Y0=1。再加上A15得控制,可以得到4个片选信号,从而确定4片RAM得地址为:驗谋诳辐资諮汉。
Ⅰ片:0000H-03FFH;
Ⅱ片:0400H-07FFH;
Ⅲ片:8000H-83FFH;
Ⅳ片:8400H-87FFH;
但就是,这个方案并不能满足题目中第一个要求,即每片RAM得地址区并不就是唯一得。因为4-16译码器得Y0=1可能出现得机会很多,实际上,只要A14A13A12A11A10≠00000时,都可以使Y0=1。所以这个方案并不能用。阶燁祕張嫗鰥竖。
若要把存贮容量扩展到64kB,则除了增加1kB RAM芯片得数量外,还要通过全译码方法产生64个片选信号。由于已经有1片4-16译码器与1片2-4译码器,所以只需要再增加3片4-16译码器就可以实现:即用2-4译码器得4个输出控制4片4-16译码器得4个使能端,就可以在4片4-16译码器得输出端,获得64个片选信号。镡災詭矶豬颏凤。
2、11某系统得存储器中配备有两种芯片:容量为2K×8位得ROM与容量为1K×8位得RAM。它采用74LS138译码器来产生片选信号:Y0、Y1与Y2直接接到三片ROM(#1、#2与#3);Y4与Y5则再通过一组门电路产生4个片选信号接到4片RAM(#4、#5、#6与#7),连接得简图如图2、20所示。试确定每一片存储器得寻址范围。各存储器芯片得片选信号都就是低电平有效。铼構訓齔晓悅坠。
图2、20
解:要74LS138译码器正常工作,则有。
若要选中ROM #1,则必须输出为低电平,而其它输出为高电平,对应于;
同理,若要选中ROM #2,则,而其它输出为高电平,对应于;
若要选中ROM #3,则,而其它输出为高电平,对应于。
若要选中RAM #4,必须输出为低电平得同时,对应于;
同理,若要选中RAM #5,必须输出为低电平得同时,对应于;
若要选中RAM #6,必须输出为低电平得同时,对应于;
若要选中RAM #7,必须输出为低电平得同时,对应于;
而每一个存储器得最小地址为:
最大地址为:。
将以上分析结果列于下表:
基本地址
ROM #1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8000H
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
87FFH
ROM #2
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
8800H
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
8FFFH
ROM #3
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
9000H
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
97FFH
RAM #4
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
A000H
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
A3FFH
RAM #5
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
A400H
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
A7FFH
RAM #6
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
A800H
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
ABFFH
RAM #7
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
AC00H
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
AFFFH
3、1 8051单片机有多少个特殊功能寄存器?它们可以分为几组?各完成什么主要功能?
解:8051单片机内部有21个特殊功能寄存器,它们可以分成6组:用于CPU控制与运算得有6个,即ACC,B,PSW,SP与DPTR(16位寄存器,算2个8位寄存器);有4个用作并行接口,即P0,P1,P2与P3;有2个用于中断控制,即IE与IP;有6个用于定时/计数器,它们就是TMOD,TCON及两个16位寄存器T0与T1;还有3个寄存器用于串行口,即SCON,SBUF与PCON。当然其中有些寄存器得功能不只就是一种,也可以有另外得分组方法。如电源控制寄存器PCON除了用于串行口通信外,还可用于供电方式得控制。偽拣垩慑寫垄鯔。
3、2 决定程序执行顺序得寄存器就是哪个?它就是几位寄存器?它就是不就是特殊功能寄存器?
解:决定程序执行顺序得寄存器就是程序计数器PC。它就是一个16位寄存器,但它不属于特殊功能寄存器。
3、3 DPTR就是什么寄存器?它得作用就是什么?它就是由哪几个寄存器组成?
解:DPTR就是数据存储器指针。因为在MCS-51系列单片机中,指令存储器与数据存储器就是完全分开得,因此,当向数据存储器读写数据时,就需要有一个寄存器来存放数据存储器得地址,这个寄存器就就是数据指针DPTR。它就是一个16位寄存器,由DPH与DPL两个寄存器组成。可以通过指令直接把16位地址送给DPTR,也可以把高8位地址送给DPH,把低8位地址送到DPL。淺輕蚕愦齋论铵。
3、4 MCS-51单片机引脚中有多少I/O线?它们与单片机对外得地址总线与数据总线有什么关系?地址总线与数据总线各就是几位?线桧鏞鸠總踬镛。
解:MCS-51单片机芯片得引脚中有32条I/O线,因为有4个8位并行口,共32条。51系列单片机没有独立得数据总线与地址总线,而就是与一部分I/O线复用。具体来说,P0口得8条分时用作地址总线低8位与8位数据总线,而P2口8条线用作地址总线高8位。所以就是16位地址总线与8位数据总线。讹崃骈簫紡卧结。
3、5 什么叫堆栈?堆栈指示器SP得作用就是什么?8051单片机堆栈得容量不能超过多少字节?
解:堆栈就是数据寄存器得一部分,这一部分数据得存取就是按照先入后出、后入先出得原则进行得。堆栈指针SP在启用堆栈之前就是用来决定堆栈得位置。如在8051芯片复位后,SP得值为07H,则决定了堆栈从08H开始设置。修改SP值可以使堆栈设置在内部RAM得其它部分。在堆栈启用之后,SP指向堆栈顶部,即由SP来决定数据读出与存入堆栈得地址。8051单片机内部用作数据区得RAM得容量为128个字节,前8个字节要用来作为工作寄存器R0-R7。堆栈可以从08H开始设置直到7FH,共120个字节。但这只就是最大可能得容量。一般情况下,内部RAM还要分出一部分作一般得数据区,或者还要用其中得位寻址区来用于位操作,等等。所以,8051得堆栈区就是比较小得,使用时要注意到这个限制。嘜療袄纹墜爛鍍。
3、6 MCS-51单片机由哪几部分组成?
解:MCS-51单片机就是个完整得单片微型计算机。具体包括CPU、存贮器与接口部分。存贮器得配置与芯片得型号有关,有三种情况,即片内无ROM,片内有掩模型ROM以及片内有EPROM。而随即存贮器RAM则每一种芯片都有。接口部分包括4个8位I/O口,两个16位定时/计数器与一个主要用于异步通信得串行接口。此外,它们还都内含时钟产生电路。僥禍胇礪縉鹗櫚。
3、7 8051单片机得内部数据存储器可以分为几个不同区域?各有什么特点?
解:8051单片机内部数据存储器得容量为256个字节(地址为00H-FFH)。它可以分为两大部分,各占128个字节。前128个字节为读写数据区,地址为00H-7FH。后128个字节为特殊功能寄存器区,21个特殊功能寄存器分散地分布在这个区域,各有自己特定得地址。这个区域中,没有被特殊功能寄存器占用得单元也不能当作一般得RAM单元用婁袄职壮贗炖杀。
00H-7FH得RAM单元,都可按它们得直接地址来读写数据。而其中得前32个单元,即00H-1FH单元又称为工作寄存器区,安排了4组工作寄存器,每组8个,都用R0-R7来表示,并通过PSW寄存器中RS1与RS0来选组。通过工作寄存器R0-R7来对这部分数据单元读写数据,不仅速度快而且指令字节数也少。另一个区域为位寻址区,占用20H-2FH共16个单元,这16个单元得每一位都可以独立进行操作,共有128个可独立操作得位。而30H-7FH这80个单元则只能按它们得直接地址来操作。瓯殼尋叙壞缇鎖。
3、8 MCS-51单片机寻址范围就是多少?8051单片机可以配置得存储器最大容量就是多少?而用户可以使用最大容量有就是多少?娱伧懾桢漸贾胇。
解:MCS-51单片机得指令存储器寻址范围为64KB,数据存贮器也有64KB寻址范围,地址都就是从0000H-FFFFH,共有2×64KB得寻址范围。8051可以配置得外部存贮器就就是2×64KB容量。但8051片内还配有存贮器,包括4KB容量得只读存贮器与256个字节得数据存贮器,总共容量为132、25KB。但用户可以使用得容量只有2×64KB再加上256个字节得数据存贮器。賾啧綣鴉頤辍绯。
3、9 8051单片机对外有几条专用控制线?其功能就是什么?
解:一般得说法就是8051单片机有4条专用控制线。它们就是复位信号线RST,高电位有效,当有复位信号从此线输入时,使单片机复位。访问外部存储器控制信号,低电平有效,当此控制线为低电平时,单片机全部使用外部指令存储器,而当此控制线为高电平时,先使用片内得4KB指令存贮器(0000H-FFFFH),在4KB范围之外,才使用指令存储器(地址为1000H-FFFFH)。另有两条输出控制:外部程序存贮器得读选通信号与外部地址锁存器允许信号ALE。前者就是低电平有效,在读外部程序存贮器时使用。后者就是高电平有效,在锁存P0口输出得低8位地址时使用。颼銀将龇绯负驃。
3、10 什么叫指令周期?什么叫机器周期?MCS-51得一个机器周期包括多少时钟周期?
解:完成一条指令得执行所需得时间叫做指令周期。对不同得指令,指令周期得长短就是不一定相同得。机器周期则就是指计算机完成某种基本操作所需得时间,一个指令周期由一个或几个机器周期组成,一个机器周期则包括若干个时钟周期。MCS-51单片机得一个机器周期包括12个时钟周期。但对有些微处理器来说,不同得机器周期所包含得时钟周期可能就是不相同得。綞适恺繽鐲罂华。
3、11 为什么要了解CPU得时序?
解:了解CPU得时序就就是了解在执行不同类型指令时CPU发出得控制信号有什么不用。了解CPU时序至少有两个目得,其一就是掌握不同得指令或操作使用不同得控制信号后,便于CPU对外部设备得连接而不至于发生错误。其二就是知道不同指令需要不同得机器周期后,可以选用功能相同而机器周期较少得指令,以减少程序得执行时间。当然,也可以有一些其她得作用。噥妆鍬哟歼螢叁。
3、12 在读外部程序存储器时,P0口上一个指令周期中出现得数据序列就是什么?在读外部数据存储器时,P0口上出现得数据序列又就是什么?谕觞紛鑠摳厍迈。
解:读外部程序存储器(ROM)时,有两种情况:一种就是单纯地取指令,这时P0口上先送出指令所在地址低8位,然后从ROM中取回指令码。按照指令字节数得不同,这个数据序列可能重复若干次。另一种情况,则就是执行从外部ROM中读取固有数据得指令,这时,P0口上先送出地址低8位,再从ROM中取回指令码,然后开始执行指令,接着从P0口上送出ROM数据单元地址低8位,再读回ROM中得数据。而再读外部数据存贮器(RAM)时,P0口上先送出指令地址低8位,然后读回指令码,再送出数据存贮单元地址低8位,再读回数据单元得内容。锶紳蔦颟瀠呓贐。
3、13 为什么外扩存储器时,P0口要外接锁存器,而P2口却不接?
解:这就是因为在读写外部存贮器时,P0口上先送出低8位地址只就是维持很短得时间,然后P0口就要当作数据总线用。为了使对外在整个读写外部存贮器期间,都存在有效得低8位地址信号,P0口就要外接一个地址锁存器,再从这个存贮器对外送出低8位地址。而P2口只用作高8位地址线,并在整个读写期间不变,所以不必外接地址锁存器。蛴堝药獵針戆笾。
3、14 在使用外部程序存储器时,MCS-51还有多少条I/O线可以用?在使用外部数据存储器时,还剩下多少条I/O线可用?谗会绥虽違啞疮。
解:在使用外部程序存储器时,原则上说,P0口与P2口要用作数据总线与地址总线,所以只有P1口与P3口可用作I/O口,共16条I/O线。在使用外部数据存贮器时,除了占用P0口与P2口之外。还需用与控制线,而这两条线就就是P3口中得两条:P3、6与P3、7,所以这就是只有14条I/O线可用了。当然,取决于所配置得外部程序存贮器得容量,P2口得8条线并不一定全部占用,有时还有几条没用,但即使如此,这几条线也不能再用作I/O线,而只能留作系统扩展时再用。詣锩厕箧鰻慪災。
3、15 程序存储器与数据存储器得扩展有何相同点及不同点?试将8031芯片外接一片2716EPROM与一片2128RAM组成一个扩展后得系统,画出扩展后得连接图。EPROM得地址自己确定。RAM得地址为诎釀黃滾哔镱输。
解:两者得相同点就是,都借用P0口与P2口作为数据总线与地址总线,也就就是说,地址线与数据线得连接方法就是相同得,地址范围都就是在0000H-FFFFH之间。两者得不同点就是,所用得读写选通信号不同,扩展程序存贮器时用控制线,而扩展数据存贮器时使用读写控制线与。当然每块芯片具体需要几条地址线就是由芯片得容量来决定得,容量大得芯片需要借用P2得I/O线得数量多。而数据线则都就是8条。煩艙阴雞暢鶩紳。
2716就是2K×8得EPROM,2128就是2K×8得RAM,两者都只需11条地址线。由于题目中没有规定地址范围,故可按最简单得方式来连接,即只用来控制EPROM得读出,用与控制RAM得读写,两块芯片得片选都固定接地,连接图如图1-1所示。这种连接方式可以省去地址译码器。但它有一个缺点,那就就是系统得扩充能力很差,因此,在实用时还就是考虑使用译码器好。桦譖儕龄鏝蠣爐。
3、16 8051芯片需要外扩4KB程序存储器,要求地址范围为1000H-1FFFH,以便与内部4KB程序存贮器地址相衔接。所用芯片除了地址线与数据线外,还有一个片选控制端。画出扩展系统得连接图。?諢鍺辕驁氢揀陉。
解:由于题目没有规定芯片得容量,为简单起见,设所用芯片容量为4KB得EPROM。芯片本身所需要地址线为12条,除了P0口8条外,还占用P2、0、P2、1、P2、2与P2、3。P2口得高4位经过或门产生片选信号,连接图如图1-2所示,此时高4位只有为0001时才选中此芯片。跞绺聹屡锂繭訶。
3、17 在图3、13中,若因某种原因,将P2、2、P2、1、P2、0分别误接为P2、5、P2、4、P2、3,问这时图中所接得存贮器得寻址范围就是如何分布得?慣瘗浃媯鸣賈罷。
解:误接后,相当于存贮器得地址线A10、A9、A8分别与P2、5、P2、4、P2、3相连。由此可求出地址区:嚶郏针綞縐憒递。
P2、7 P2、6 P2、5 P2、4 P2、3 P2、2 P2、1 P2、0 P0、7-P0、0 地址区靥瓔话終缆潯绣。
× × 0 0 0 × × × 0……0 0000H
× × 0 0 0 × × × 1……1 00FFH
× × 0 0 1 × × × 0……0 0800H
× × 0 0 1 × × × 1……1 08FFH
× × 0 1 0 × × × 0……0 1000H
× × 0 1 0 × × × 1……1 10FFH
× × 0 1 1 × × × 0……0 1800H
× × 0 1 1 × × × 1……1 18FFH
× × 1 0 0 × × × 0……0 2800H
× × 1 0 0 × × × 1……1 28FFH
× × 1 1 0 × × × 0……0 3000H
× × 1 1 0 × × × 1……1 30FFH
× × 1 1 1 × × × 0……0 3800H
× × 1 1 1 × × × 1……1 38FFH
所以存贮器得寻址范围分别为8个不连续得区域,每块地址区有256个字节。这在实际使用时当然很不方便,所以要注意地址线不要接错。芈鄧坝毿殼鹧挤。
3、18 将图改用译码器74LS138来构成全译码方式得地址选择方式,保持ROM得地址仍然就是0000H~0FFFH黨蟶鐸災瓒錁迈。
3、19 这样得安排就是否有问题?如果使系统能正常工作,应该如何重新分配各芯片得地址?如何实现?假定系统帅荤巋硨軸铫韻。
3、20 8031用一片64KB得RAM作为外部得ROM与外部得RAM。请画出相应得接口电路。假定ROM地址与RAM地址各为32KB愜約讲訕犷卖曖。
第4章
4、1 若要完成以下得数据传送,应如何用MCS-51得指令来实现?
(1).R1内容传送到R0。
解:MOV A,R1
MOV R0,A
(2).外部RAM 20H单元内容送R0。
解:MOV R1,#20H
MOVX A,@R1
MOV R0,A
(3).外部RAM 20H单元内容送内部RAM 20H单元。
解:MOV R0,#20H
MOVX A,@R0
MOV 20H,A
(4).外部RAM 1000H单元内容送内部RAM 20H单元。
解:MOV DPTR,#1000H
MOVX A,@DPTR
MOV 20H,A
(5).ROM 2000H单元内容送R0。
解:MOV A,#00H
MOV DPTR,#2000H
MOVC A,@A+DPTR
MOV R0,A
(6).ROM 2000H单元内容送内部RAM 20H单元。
解:MOV A,#00H
MOV DPTR,#2000H
MOVC A,@A+DPTR
MOV 20H,A
(7).ROM 2000H单元内容送外部RAM 20H单元。
解:MOV A,#00H
MOV R0,#20H
MOV DPTR,#2000H
MOVC A, @A+DPTR
MOVX @R0,A
4、2 已知A=7AH,R0=30H,(30H)=A5H,PSW=80H,问执行以下各指令得结果(每条指令都以题中规定得数据参加操作)。謙简驄奋垦笃袄。
(1). XCH A,R0 A= 30H R0= 7AH 鏵鸽鯗闔钦專紋。
(2). XCH A,30H A= A5H
(3). XCH A,@R0 A= A5H
(4). XCHD A,@R0 A= 75H
(5). SWAP A A= A7H
(6). ADD A,R0 A= AAH Cy= 0 OV=1 債贿扬腸繒體綬。
(7). ADD A,30H A=1FH Cy=1 OV=0 濑枪赘剀觶飑诸。
(8). ADD A,#30H A=AAH Cy=0 OV= 1 鎳瀆断鋮渾烁诓。
(9). ADDC A,30H A= 20H Cy= 1 OV= 0 誨眾鸥线垲哜綢。
(10).SUBB A,30H A=D4H Cy=1 OV=1 迟镨暧铲騰籬绯。
(11).SUBB A,#30H A= 49H Cy= 0 OV= 0 牆压称殘睾嬷壯。
4、3 设内部RAM得30H单元得内容为40H,即(30H)=40H,还知(40H)=10H,(10H)=00H,端口P1=0CAH,问执行以下指令后,各有关存储器单元、寄存器及端口得内容(R0,R1,A,B,P1,40H,30H及10H单元)。慣巔堊党驿誥痈。
MOV R0,#30H
MOV A,@R0
MOV R1,A
MOV B,@R1
MOV @R1,P1
MOV P2,P1
MOV 10H,#20H
MOV 30H,10H
解:
R0= 30H R1= 40H A=40H B=10H码鈉铪鹧鞑囱籜。
P1= 0CAH (40H)= 0CAH (30H)= 20H (10H)=20H繹郟镒遜懨处棄。
4、4 设A=83H,R0=17H,(17H)=34H,执行以下指令后,A就是多少 ?
ANL A,#17H
ORL 17H,A
XRL A,@R0
CPL A
解:
A=0C
展开阅读全文