您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 单片机5-7习题答案
第五章仅有存储容量为512B×4、1KB×4、2KB×4、4KB×1、4KB×4、16KB×1、32KB×4、64KB、128KB×8、512KB和4MB的存储器,试问这些存储器分别需要多少条地址线和数据线(设它们均非动态RAM)解答:存储容量地址线数据线存储容量地址线数据线512B×49432KB×41541KB×410464KB1682KB×4114128KB×81784KB×1121512KB1984KB×41244MB22816KB×1141今要设计一个32KB的外部RAM存储器,若采用2114,试问需要多少块若改用2116,试问需要2116,试问需要多少块解答:因为2114芯片的存储容量是1K×4,所以2114的地址线是10条,数据线是4条。所以要设计一个32KB的外部RAM存储器,一共需要(32÷1)×(8÷4)=64块。2116芯片的存储容量是16K×1,所以地址线是14条,数据线是1条。要设计一个32KB的外部RAM存储器,一共需要(32÷16)×(8÷1)=16块。5.16在进行外部存储器设计中,地址译码共有哪三种方式各有什么特点解答:译码共有三种方式:1、全译码方式:特点是所有片选地址线全部参加译码的工作方式,存储器每个存储单元只有唯一的一个CPU地址与它对应;但所需的地址译码电路较多。2、部分译码方式:单片机片选线中只有部分参加译码,其余部分是悬空的,所以还有重叠地址,但可以减少所用地址译码器的数量。3、线选法方式:单片机片选线中的某一条与存储芯片的CS相连。如果有悬空地址线,就有重叠地址。试画出8031和2716的连线图,要求采用三—八译码器,8031的、和参加译码,基本地址范围3000H~3FFFH。该2716有没有重叠地址根据是什么若有,写出每片2716的重叠地址范围。解答:因为2716的存储容量是2K×8,所以一共需要11条地址线,即~,~。基本地址范围:3000H~3FFFH即:0011000000000000~0011111111111111从基本地址范围可以看出,参加译码的、和从110到111(即上面地址加下划线的3位),所以该存储器应包括2块2716芯片,存储芯片(1#、2#)的CS端分别与译码器的Y6、Y7相连,如图所示。因为8031有悬空的地址线、,所以有重叠地址。两片2716的重叠地址范围分别为:(下划线表示悬空线)1#:0011000000000000~0011011111111111,(3000H~37FFH)0111000000000000~0111011111111111,(7000H~77FFH)1011000000000000~1011011111111111,(B000H~B7FFH)1111000000000000~1111011111111111,(F000H~F7FFH)2#:0011100000000000~0011111111111111,(3800H~3FFFH)0111100000000000~0111111111111111,(7800H~7FFFH)1011100000000000~1011111111111111,(B800H~BFFFH)1111100000000000~1111111111111111,(F800H~FFFFH)试用线选法画出8031对一片62128的连线图,要求基本地址范围为8000H~BFFFH,重叠地址范围为8000H~FFFFH。若基本地址范围为8000H~9FFFH和C000H~DFFFH,重叠地址范围为8000H~FFFFH,试问连线图应该如何修改解答:因为62128的存储容量为16K,所以它需要14条地址线;因为采用线选法,所以有一条悬空线。1、若基本地址范围为8000H~BFFFH(即1000000000000000~1011111111111111)重叠地址范围为8000H~FFFFH(即1000000000000000~1111111111111111)因为基本地址定义为当悬空线为0时,片内地址线从全0到全1的地址范围。1)由基本地址范围8000H~BFFFH可知,只有始终等于0,所以为悬空线;2)片选线(即与存储芯片CS相连的片选地址线)应该在基本地址范围和重叠地址范围中始终保持不变,分析可知,只有始终为1。因为片选信号CS是低电平有效,所以与CS之~ALE~PSEN8031G74LS373D7┆D0Q7┆Q0ABCY0Y1Y7┊三|八译码器A10…A0D7┊D027162#OE27161#CEOECEA10…A0D7┊D0Y6间应该添加一个反相器。(如图所示)。2、若基本地址为8000H(10000…0)~9FFFH(10011…1)和C000H(11000…0)~DFFFH(11011…1)重叠地址范围为8000H(10000…0)~FFFFH(11111…1)1)在基本地址范围和重叠地址范围中只有始终保持不变,等于1。所以为片选线,应接一个反相器连到存储器的CS端。2)在基本地址范围中只有始终等于0,所以为悬空线;连线时只需将悬空,连到存储器的A13上(如上图虚线)。第六章6.1什么叫中断中断通常可以分为哪几类计算机采用中断有什么好处?中断是指计算机暂时停止原程序的执行转而为外部设备服务(执行中断服务程序),并在服务完成后自动返回原程序执行的过程。ALE~PSEN8031GD7┆D0Q7┆Q0A13A12A11A10A9A8A7┆A0D7┊D02764OECE74LS373计算机采用中断可以提高CPU的工作效率和实时数据的处理时效。6.2什么叫中断源MCS-51有哪些中断源各有什么特点?中断源是指引起中断原因的设备或部件,或发出中断请求信号的源泉。通常中断源有以下几种:外部设备中断源、控制对象中断源、故障中断源和定时脉冲中断源。特点:书上P202页(新书)。6.3什么叫中断嵌套什么叫中断系统中断系统的功能是什么?中断嵌套:在某一瞬间,CPU因响应某一中断源的中断请求而正在执行它的中断服务程序时,若CPU此时的中断是开放的,那它必然可以把正在执行的中断服务程序暂停下来转而响应和处理中断优先权更高中断源的中断请求,等到处理完后再转回继续执行原来的中断服务程序,这就是中断嵌套。中断系统:是指能够实现中断功能的那部分硬件电路和软件程序。它的功能通常有以下几条:1、进行中断优先权排队;2、实现中断嵌套;3、自动响应中断;4实现中断返回。6.48031的5个中断标志位代号是什么位地址是什么它们在什么情况下被置位和复位?5个中断标志位:1)IE0:位地址是89H;当INT0引脚上有中断时为1,无中断为0;2)IE1:位地址是8BH;当INT1引脚上有中断时为1,无中断为0;3)TF0:位地址是8DH;当有定时器T0中断时为1,否则为0;4)TF1:位地址是8FH;当有定时器T1中断时为1,否则为0;5)串行口中断标志位有2个:TI:位地址是99H;当串行口有发送中断时为1,否则为0;RI:位地址是98H;当串行口有接收中断时为1,否则为0;6.5中断允许寄存器IE各位定义是什么请写出允许T1定时器溢出中断的指令?IE各位的定义见书上P208页,图6-5。允许T1定时器溢出中断的指令:MOVIE,#88H或改用位寻址指令:SETBEASETBET16.6试写出设定INT0和INT1上的中断请求为高优先级和允许它们中断的程序。此时,若INT0和INT1引脚上同时有中断请求信号输入,试问MCS-51先响应哪个引脚上的中断请求为什么?程序:SETBEASETBEX0或:MOVIE,#85HSETBEX1SETBPX0SETBPX1若INT0和INT1引脚上同时有中断请求信号输入时,MCS-51先响应INT0引脚上的中断请求。因为在出现同级中断请求时,在MCS-51内部INT0的优先级高于INT1,所以先响应INT0引脚上的中断请求。6.7MCS-51响应中断是有条件的,请说出这些条件是什么中断响应的全过程如何响应中断的条件:1)若CPU处在非响应中断状态且响应中断是开放的,则MCS-51在执行完现行指令后就会自动响应来自某中断源的中断请求。2)若CPU正处在响应某一中断请求状态时,又来了一个新的优先级更高的中断请求,则MCS-51便会立即响应并实现中断嵌套,若新来的中断优先级比正在服务的优先级低,则CPU必须等到现有中断服务完成以后才会自动响应新来的中断请求。3)若CPU正处在执行RETI或任何访问IE/IP指令(如SETBEA)的时刻,则MCS-51必须等待执行完下条指令后,才响应该中断请求。中断响应的过程:1)把中断点的地址(断点地址),也就是当前程序计数器PC中的内容压入堆栈,以便执行到中断服务程序中的RETI指令时按地址返回原程序执行;2)关闭中断,以防在响应中断期间受其它中断的干扰;3)根据中断源入口地址转入执行相应中断服务程序。6.8写出并记住8031五级中断的入口地址。中断源为INT0:中断的入口地址为:0003H中断源为T0:中断的入口地址为:000BH中断源为INT1:中断的入口地址为:0013H中断源为T1:中断的入口地址为:001BH中断源为串行口中断:中断的入口地址为:0023H第七章7.8决定8255A选口地址的引脚有哪几条作用是什么解答:A0、A1,用于选中A口、B口、C口和控制字寄存器中哪一个工作。7.98255如何辨认方式控制字和C口单一置复位控制字方式控制字各位定义如何解答:这两个控制字以D7位状态作为标志。方式控制字的定义见书上P252页图7-13。7.10结合图7-17简述8255A口在模式1选通输入方式下的工作过程。解答:见书上P255页图7-17下面(a)~(d)7.118255B口可以设定为方式2吗为什么解答:不可以,因为方式2作为双向I/O,只适用于A口。7.12在采用8255扩展I/O口时,若把8255A口作为输入,A口每一位接一个开关,B口每一位接一个发光二极管。请编写A口开关接1时B口相应位发光二极管点亮的程序。解答:假设电路如图所示,当开关闭合时(即A口的输入信号等于1),使发光二极管点亮(即B口的输出信号等于1)。设8255的A、B、C、控制口地址分别为8000H、┊PA7┊PA08255APB7S7S08001H、8002H和8003H。控制字:B(90H)即A口输入、方式0;B口输出、方式0。程序如下:ORG1000HMOVDPTR,#8003HMOVA,#90HMOVX@DPTR,A;写控制字LOOP:MOVDPTR,#8000HMOVXA,@DPTR;将A口的数据送到累加器A中INCDPTRMOVX@DPTR,A;将累加器中的数从B口输出SJMPLOOPEND7.13某一生产过程共有6道工序,每道工序的时间均为10s,生产过程循环进行。先要用MCS-51通过8255A口进行过程控制,A口中每一位都可控制一道工序的启停。试画出有关硬件电路并编写有关程序,设有一DELAY延时程序可供调用,延时时间为1s。解答:假设用PA0~PA5分别控制6道工序,当PA0~PA5等于1时,相应的工序启动,当工序停止时,A口相应的位等于0。设8255的A、B、C、控制口地址分别为8000H、8001H、8002H和8003H。控制字:10000000B(80H)即A口输出、方式0假设MCS-51的时钟频率为12MHz,则其时钟周期应为1μs,采用延时程序来设置延时时间为1s。程序如下:ORG1000HMOVA,#80H┊S7S0MOVDPTR,#8003HMOVX@DPTR,ALOOP:MOVA,#01HMOVDPTR,#8000HLOOP1:MOVX@DPTR,AMOVR2,#0AHLCALLDELAYDJNZR2,LOOPRLAJNB,LOOP1SJMPLOOP2DELAY:MOVR5,#99;延时程序DEL1:MOVR6,#100DEL2:MOVR7,#100DEL3:NOPDJNZR7,DEL3DJNZR6,DEL2DJNZR5,DEL1END在图7-27中
本文标题:单片机5-7习题答案
链接地址:https://www.777doc.com/doc-7083913 .html