微型计算机原理与应用课后习题答案

上传人:痛*** 文档编号:135534307 上传时间:2022-08-15 格式:DOC 页数:30 大小:558KB
返回 下载 相关 举报
微型计算机原理与应用课后习题答案_第1页
第1页 / 共30页
微型计算机原理与应用课后习题答案_第2页
第2页 / 共30页
微型计算机原理与应用课后习题答案_第3页
第3页 / 共30页
点击查看更多>>
资源描述
WORD伯成微机原理习题 第一章本章作业参考书目: 薛钧义主编 微型计算机原理与应用Intel 80X86系列 机械工业 2002年2月第一版 陆一倩 编 微型计算机原理与其应用(十六位微型机)工业大学 1994年8月第四版 王永山等 编 微型计算机原理与应用 电子科技大学 2000年9月1.1将下列二进制数转换成十进制数:X=10010110B=1*27+0*26+0*25+1*24+0*23+1*22+1*21 +0*21=128D+0D+0D+16D+0D+0D+4D+2D=150DX=101101100B=1*28+0*27+1*26+1*25+0*24+1*23+1*22+0*21+0*20=256D+0D+64D+32D+0D+16D+4D+0D=364DX=1101101B=1*26+1*25+0*24+1*23+1*22+0*21 +1*20=64D+32D+0D+8D+4D+0D+1D=109D1.2 将下列二进制小数转换成十进制数:(1) X=0.00111B= 0*2-1+0*2-2+1*2-3+1*2-4+1*2-5= 0D+0D+0.125D+0.0625D+0.03125D=0.21875D(2) X=0.11011B= 1*2-1+1*2-2+0*2-3+1*2-4+1*2-5= 0.5D+0.25D+0D+0.0625D+0.03125D=0.84375D(3) X=0.101101B= 1*2-1+0*2-2+1*2-3+1*2-4+0*2-5+1*2-6= 0.5D+0D+0.125D+0.0625D+0D+0.015625D=0.703125D1.3将下列十进制整数转换成二进制数:(1)X=254D=11111110B (2)X=1039D=B (3)X=141D=10001101B1.4 将下列十进制小数转换成二进制数: (1) X=0.75D=0.11B (2) X=0.102 D=0.0001101B (3) X=0.6667D=0.101010101B1.5 将下列十进制数转换成二进制数 (1) 100.25D= 0110 0100.01H (2) 680.75D= 0010 1010 1000.11B1.6 将下列二进制数转换成十进制数 (1) X=1001101.1011B =77.6875D (2) X=111010.00101B= 58.15625D1.7 将下列二进制数转换成八进制数 (1) X=101011101B=101011101B=535Q (2) X=10B=1101111010010B=15722Q (3) X=110B=6Q1.8 将下列八进制数转换成二进制数: (1) X=760Q=111110000B (2) X=32415Q=11010100001101B1.9 将下列二进制数转换成十六进制数:X=101 0101 1110 1101B= 5 5 E D HX= 11001101011001B= 11 0011 0101 1001B= 3 3 5 9HX= 1000110001B= 10 0011 0001 B= 2 3 1 H1.10 将下列十六进制数转换成二进制数:X= ABCH= 1010 1011 1100 BX=3A6F.FFH = 0011 1010 0110 1111.1111 1111BX= F1C3.4B =1111 0001 1100 0011 . 0100 1011B1.11 将下列二进制数转换成BCD码:(1) X= 1011011.101B= 1011011.101B= 91.625d=1001 0001.0110BCD (2) X=1010110.001B= 1010110.001 =126.1 BCD 1.12 将下列十进制数转换成BCD码: (1) X=1024D=0001 0000 0010 0100 BCD(2) X=632 = 0110 0011 0010 BCD (3) X= 103 = 0001 0000 0011 BCD1.13 写出下列字符的ASCI I码: A 41H 65D 0100 0001B 9 39H 47D * 2AH 42D = 3DH 45D ! 21H 33D1.14 若加上偶校验码,下列字符的ASCII码是什么? 字符 原码 加上偶校验码之后 B 42H, 0100 0010B 42H,0100 0010B 4 34H, 0011 0100B B4H,1011 0100B 7 37H, 0011 0111B B7H,1011 0111B = 3DH,0011 1101B BDH,1011 1101B ! 21H,0010 0001B 21H,0010 0001B ? 3FH 0011 1111B 3FH,0011 1111B1.15 加上奇校验,上面的结果如何?字符 原码 加上奇校验码之后B 42H, 0100 0010B C2H,1100 0010B 4 34H, 0011 0100B 34H,0011 0100B 7 37H, 0011 0111B 37H,0011 0111B = 3DH,0011 1101B 3DH,0011 1101B ! 21H,0010 0001B A1H,1010 0001B ? 3FH 0011 1111B BFH,1011 1111B1.16 计算下式: (1)B/2+ABH-11011001B*0.0101BCD=(42H/2+ABH-D9H)*0.21 BCD = = F3H*0.21 BCD =(-DH) *0.21 BCD= -2.73D (2) 3CH (84D)/(16Q)+8/8D= 60D-84D/14D+(56/8)=60D-13D=47D1.17 对下列十进制数,用八位二进制数写出其原码、反码和补码: (正数的反码与原码一样,负数的反码除符号位之外其余各位按位取反。正数的补码与原码一样;负数的补码除符号位以外,其余各位按位取反之后再加一。) 数据 原码 反码 补码 +99 0110 0011 0110 0011 0110 0011-99 1110 0011 1001 1100 1001 1101+127 0111 11110111 1111 0111 1111-127 1111 1111 1000 0000 1000 0001+0 0000 0000 0000 0000 0000 0000-0 1000 0000 1111 1111 0000 00001.18 8位二进制数原码可表示数的围是 +127-128; 8位二进制数补码可表示的数的围是 +127-127; 8位二进制数反码可表示的数的围是:+127-128;1.19 16位二进制数的原码、补码、反码可表示的数的围是多少?+32767-32768、+32767-32768、+32767-32768;1.20 至少写出3种用二进制编码状态表示十进制数字的编码方式。8421码、 5421码2421码 余3码 十进制数0000 0000 0000 001100001 0001 0001 010010010 0010 1000 010120011 0011 1001 011030100 0100 1010 011140101 1000 1011 100050110 1001 1100 100160111 1010 1101 1010 71000 1011 1110 1011 8 1001 1100 1111 1100 9伯成微机原理习题 第二章 薛钧义主编 微型计算机原理与应用Intel 80X86系列 机械工业 2002年2月第一版 陆一倩 编 微型计算机原理与其应用(十六位微型机)工业大学 1994年8月第四版 王永山等 编 微型计算机原理与应用 电子科技大学 2000年9月洪志全等 编 现代计算机接口技术 电子工业 2002年4月仇玉章主编 32位微型计算机原理与接口技术 清华大学 2000年9月 2.1 8086CPU的RESET引脚的功能是什么?答:RESET引脚称为复位引脚,输入、三态、高电平有效;RESET引脚将使CPU立即结束当前操作,处理器要求RESET信号至少要保持4个时钟周期的高电平,才能结束它正在进行的操作。CPU复位以后,除了代码段寄存器CS的值为FFFFH外,其余所有寄存器的值均为零,指令队列为空。当RESET回到低电平时,CPU开始执行“热启动”程序,由于此时CS的值为FFFFH,IP的值为0000H,所以CPU复位以后执行的第一条指令的物理地址为 FFFF0H,该单元通常放置一条段间直接转移指令JMP SS:OO,SS:OO即为系统程序的实际起始地址。2.2 在8086 CPU 工作在最小模式时,(1) 当CPU 访问存储器时,要利用哪些信号? 当CPU访问存储器时,要利用AD0AD15、WR*、RD*、IO/M*以与A16A19;(2) 当CPU访问外设接口时,要利用哪些信号? 当CPU访问外设接口时,同样要利用AD0-AD15、WR*、RD*以与IO/M*,但不使用高端地址线A16-A19;(3)当HOLD有效并得到响应时,CPU哪些引脚置高阻? 当HOLD有效并得到响应时,CPU除HOLD、HOLDA引脚外其余所有的信号引脚均为高阻态。2.3 略2.4 说明8086 CPU READY 信号的功能。见 P232.5 8086 CPU 的NMI和INTR引脚的不同有几点?两点:(1) INTR是可以由用户用指令禁止的,(通过中断允许标志IF的开-STI和关CLI进行);而NMI不能由用户禁止;(2)INTR是可以区分优先级别的,NMI是最高级的,没有中断优先级的排队。2.6 说明8086CPU部标志寄存器各位的含义。8086 CPU的标志寄存器(PSW或FLAG)共有9个标志位,分别是:CF (Carry Flag)- 进位或借位标志;PF (Parity Flag)- 奇偶标志;AF (auxiliary Flag)-半进位标志;ZF (Zero Flag) -结果为零标志;SF (Sign Flag) - 符号标志;OF (Overflow Flag)-溢出标志;IF (Interrupt Enable Flag)-中断允许标志;DF (Direction Flag) - 方向标志;TF (Trap Flag) - 陷阱标志。 2.7 说明8086CPU部14个寄存器的作用。8086部的寄存器可以分为3类:第一类:通用寄存器:AX、BX、CX、DX、SI、DI、SP、BP,共8个可以存储数据或者地址的低16位;AX、BX、CX和DX可以分成8个8位的寄存器使用;SI、DI又称变址寄存器,用于存储变址地址;SP和BP存放指针变量值。第二类:段寄存器:CS、DS、SS、ES,共4个寄存器,只能存放对应段的段地址;第三类为IP和FLAG,IP在通常情况下不允许用户访问,而FLAG是用以向用户提供了解ALU工作状态或者控制CPU工作方式的标志寄存器。 2.8 试画出8086CPU工作在最小模式时的总线形成示意图。(注:BHE*引脚为34脚-即SS0,参见P25状态编码表)四点说明:A、MN/MX端接+5V,决定了8086工作在最小模式。 B、有一片8234A,作为 时钟发生器。 C、有三片8282或74LS373,用来作为 地址锁存器。 D、当系统中所连接的存储器和外设比较多时,需要增加系统数据总线的驱动能力, 这时,要用两片8286/8287(74LS244或74LS245)作为 总线收发器。 2.9 8086/8088为什么采用地址/数据引线复用技术? 答:考虑到芯片成本,8086/8088采用40条引线的封装结构。40条引线引出8086/8088的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从时序逻辑的角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。2.10 怎样确定8086的最大或最小工作模式?最大、最小模式产生控制信号的方法有何不同?答:引线MN/MX*的逻辑状态决定8086的工作模式,MN/MX*引线接高电平,8086被设定为最小模式;MN/MX*引线接低电平,8086被设定为最大模式。最小模式下所有的控制信号由CPU相关引线直接提供;最大模式下控制信号由8288专用芯片译码后提供,8288的输入由8086的S2S0三条状态信号引线提供。伯成微机原理习题 第三章本章作业参考书目:1.周明德: 微型计算机IBM-PC系统原理与应用 清华大学 19912.王永山等: 微型计算机原理与应用 电子科大 19983.怀莲: IBMPC汇编语言程序设计 电子工业 1990注:本习题解中的程序仅为代码片段,可在Emu8086 version 2.57环境下仿真运行,如果在MASM下进行汇编,需添加段设置以与相应的伪指令。3.1MOVAX,00H;立即寻址SUB AX,AX;寄存器寻址MOVAX,BX;寄存器间接寻址MOVAX,TABLE;直接寻址MOVAL,ARAY1SI;寄存器相对寻址 MOVAX,BX+6;寄存器相对寻址3.2 若1KB的数据存放在TABLE以下,试编写程序将该数据拌到NEXT之下。 程序片段如下: ORG 100hMOVCX,03FFH;数据个数LEASI,TABLE;源区首地址LEADI,NEXT; 目的区首地址AGAIN:MOVAL,SI;MOVDI,AL; 搬移INC SIINC DI; 移动地址指针DECCX;循环计数器递减JNZ AGAIN; 循环未结束转HLT; 暂停TABLE DB 1024 dup (A); 源数据区NEXTDB 1024 dup (0);目的数据区3.3 编写10个字(16位二进制数)之和的程序ORG 100hLEASI,ADD1;LEADI,ADD2;LEABX,SUM;MOVCL,CONT;MOVCH,0; 循环初始化CLC;进位清零MADD1:MOVAX,SI;读加数1ADCAX,DIADDSI,2;移动源区地址指针ADDDI,2;移动目的区地址指针MOVBX,AX;回存计算结果ADDBX,2;移动“和”存储区地址指针LOOPMADD1;循环控制HLT;暂停ADD1DB 0FEH,86H,7CH,44h,56H,1FH,24H,01H,02H,33H;加数1ADD2DB 56H,49H,4EH,0FH,9CH,22H,45H,11H,45H,21H; 加数2SUMDB 10 DUP (0); 和存储单元CONT DB5 ; 循环次数3.4 某16位二进制数,放在DATA连续的两个单元中,试编程求其平方根和余数,将其分别存放在ANS和REMAIN中。ORG 100hMOVBL,2;除数初值AGAIN:MOVCX,NUM;预计最大循环次数MOVAL,BL;0、1的平方根除外MULBL;得到2的平方CMPAX,CX;大于原始数据么?JGEXIT;若原始数据小于4转EXITMOVAX,CX;读数DIVBL;试除INCBL;除数递增JMPAGAIN;继续除EXIT:DECBL;去除除数自加MOVANS,BL;存商MOVAL,BL;恢复余数MULBL; SUBCX,AX;MOVREMAIN,CL;HLTNUMDW7;ANSDB ?;REMAINDB?;3.5 在DATA1之下顺序存放着以ASCII码表示的千位数,将其转换成二进制数。MOVCL,4;移位次数MOVCH,CL;循环次数MOVSI,OFFSET ASCBINCLDXORAX,AXXORDX,DXASCB1:LODSB ANDAL,7FHCMPAL,0;不大于0结束转换JLERRCMPAL,9JGASCB2;大于9转ASCB2SUBAL,30H; 数字形式二进制数减30HJMPASCB3ASCB2:CMPAL,A;大于9又小于A结束转换JLERRCMPAL,FJGERR;大于F为不合理数,结束转换SUBAL,37H;字符形式ASCII数减37HASCB3:ORDL,ALROLDX,CLDECCHJNZASCB1ROLDX,CLMOVBIN,DX;存储转换结果ERR:NOPHLTASCBINDB 1,B,4,3BINDW ?3.7 编写程序将MOLT中的一个8位数乘以20,乘积放在ANS中(用3种方式)。解:第一种方法:常规乘法运算ORG 100hMOVAL,MOLTMOVBL,20MULBLMOVANS,AXHLTMOLTDB 2ANSDW?第二种方法,将MOLT连加20次ORG 100hMOVCX,20MOVBX,MOLTXORAX,AXCLCADD1:ADCAX,BXLOOPADD1MOVANS,AXHLTMOLT DW 5ANSDW?第三种方法,将“20”连加MOLT次ORG 100hMOVCX,MOLTMOVBX,20XORAX,AXCLCADD1:ADCAX,BXLOOPADD1MOVANS,AXHLTMOLT DW 5ANSDW?3.8在DATA之下存放100个无符号的8位数,找出其最大者并将其存放在KVFF单元。ORG 100hXORDL,DLLEADI,KVFF;NEXT0:LEASI,BUFFER;MOVCL,99;比较次数为N-1次NEXT1:MOVAL,SI;INCSI;CMPDL,AL; JNCNEXT2;MOVDL,AL;DL中始终存目前最大值NEXT2:DECCL;JNZNEXT1; MOVDI,DL; 最大值存储HLTBUFFER DB ;自行定义100个数据KVFF DB ?3.9 若将数据按大小顺序排序,试编写程序.解:此处采用 “冒泡法”予以处理:ORG 100hLEADI,BUFFER;数据区MOVBL,99; 外循环次数NEXT0:MOVSI,DI;MOVCL,BL;循环次数NEXT3:MOVAL,SI;读数INCSI;移动指针CMPAL,SI;比较JNCNEXT5;大于转NEXT5MOVDL,SI;MOVSI-1,DL;MOVSI,AL;不大于互换NEXT5:DECCL;循环次数减一JNZNEXT3;DECBL;外循环次数减一JNZNEXT0HLTBUFFER DB 自行定义100个字节型数据3.10 在BVFF单元中有一个BCD数A,试根据下列关系编写程序,计算结果存在DES中.A20,Y=3*A; A=60,Y=80.ORG 100hMOVAL,BVFFCMPAL,20JLEX1CMPAL,60JLEX2MOVAL,80JMPSTOPEX1:MOVBL,3MULBLJMPSTOPEX2:SUBAL,20STOP:MOVDES,ALHLTBVFFDB 8DESDB ?3.11址为DATAB开始的80个单元中,存放某班80个学生的某课程成绩,要求:统计=90分、8089分、7079分、6069分、60分以下的人数,结果存放在BTRX开始的5个单元中求平均成绩,结果存放在LEVEL中。解:寄存器使用分配:90分以上在DH,80分以上在DL,70分以上在BH,60分以上在BL,60分以下在AH,总分、均分都在DI。ORG 100hXORAH,AHXORDX,DX;统计结果清零XORBX,BX ;统计结果清零LEASI,DATALEADI,LEVELMOVCL,CONT; 总人数送循环计数器 CXgoon:MOVAL,SI ;读原始数据ADCDI, AL;累加总分 ADCDI+1,0;计算进位 CMPAL,90 JL PP8 ; 不高于90分者转PP8 INCDH ; 90-100分的人数加一 JMPSTORPP8:CMPAL,80JLPP7;不高于80分转PP7INCDL;80-89分的人数加一JMPSTORPP7:CMP AL,70JLPP6;不高于70分者转PP6INC BH;70-79分的人数加一JMPSTORPP6:CMPAL,60JLPP5;不高于60分者转PP5INC BL;60-69分的人数加一JMPSTORPP5:INCAH;低于60分的人数加一STOR:INC SI;读下一个分数LOOPGOON;CX=CX-1,CX不为零转GOON,继续统计LEASI,BUFFER;回存统计结果MOVSI,DHINCSIMOVSI,DLINCSIMOVSI,BHINCSIMOVSI,BLINCSIMOVSI,AHMOVAX,WORD PTR DI;计算平均成绩MOVCL,CONTDIVCLMOVLEVEL,AL;回存平均成绩HLT CONTDB 10 DATA DB 30,65,99,80,75, 89,100,45,60,70 BUFFER DB ?,?,?,?,? LEVELDB ? ,?3.12 求两个有符号数(DATA1,DATA2)差的绝对值,结果存入DATA3.ORG 100h MOVAL,DATA1;读入被减数 SUBAL,DATA2;减去减数 JCCHANGE; JMPSTOR CHANGE:NEGALSTOR: MOVDATA3,AL HLT DATA1DB3 DATA2DB5 DATA3DB?3.13 存从40000H到4BFFH的个单元均写入55H,并再逐个读出,验证是否一致,若一致,置AL为7EH,否则置AL为81H.ORG 100h MOVAX,4000H; MOVDS,AX; MOVSI,0 START:MOVCX,0BFFFH BEGIN:MOVSI,55H MOVAL,SI INCSI CMPAL,55H JNZERRLOOPBEGIN MOVAL,7EH JMPSTOP ERR:MOVAL,81H STOP:HLT3.143.15 端口03FBH的BIT5为状态标志,当该位为1时,表示外设忙,不能接收数据;当为0时,表示外设闲,可以接收数据;当CPU向端口03F8H写入一个字节的数据时,03FBH的BIT5置1,当它变为0状态时,又可以写入下一个数据。据此编写将起始地址为SEDAT的50个数据输出到03F8H端口的程序。WAIT:MOVDX,03FBHINAL,DXTESTAL,0010 0000B;(20H)JZSENDJMPWAITSEND:MOVDX,3F8HMOVAL,SI;CMPAL,0AH;输出字串结束标志符JZSTOPOUTDX,ALJMPWAITSTOP:HLT3.16 口02E0H的BIT2和BIT5同时为1,表示端口02E7H有一个字节型数据准备好可以用以输入,当CPU从该端口读入数据后,02E0端口的BIT2和BIT5就不再同时为1;只有当02E7H端口的数据再次准备好时,它们才会再次同时为1,据此编写从02E7H端口输入32个数据然后存入A1000H单元开始的区域。MOVAX,0A000HMOVDS,AXMOVSI,1000H;设置存储区地址MOVCL,20H;输入数据个数BEGIN:MOVDX,0E20HINAL,DXTESTAL,0010 0100B;测试状态位 BIT5、BIT2JZBEGIN;不同时为1继续测试MOVDX,02E7HINAL,DX;输入数据MOVSI,AL;存到指定区域INCSI;移动地址指针LOOP BEGIN;循环HLT3.17 在存40000H开始的16K的单元中存放着一组数据,将其顺序搬移到起始地址为A0000H的区域。解:利用字符串操作指令 MOVSB,16K即16*1024=3FFFH。 MOVAX,4000HMOVDS,AXMOVAX,A000HMOVES,AXMOVSI,0MOVDI,0MOVCX,3FFFHCLD REPMOVSB HLT3.18 上题的基础上,将两个区域的数据逐个进行比较,若有错将BL置0,全对将BL置FFH。MOVAX,4000HMOVDS,AXMOVAX,A000HMOVES,AXMOVSI,0MOVDI,0MOVCX,03FFHCLD AAB:CMPSBJNZSTOPLOOPAAB MOVBL,0FFHJMPEX1STOP:MOVBL,0;EX1: NOP HLT3.19 统计由40000H单元开始的16K个单元中所存字符A的个数,统计结果存放在DX寄存器中。 MOVAX,4000HMOVDS,AXMOVSI,0;MOVCX,3FFFH;数据个数MOVDX,0;统计结果寄存器清零 XOR DX,DXCLD AAB:LODSBCMPAL,A;比较JZAAC;字符为A转计数LOOPAAB;循环JMPSTOP;处理完毕转结束AAC:INCDX;统计结果加1DECCX;循环次数减1JCXNZAAB;CX0继续STOP:HLT3.20 编写对AL中的数据进行“偶校验”的一个过程,并将校验结果放入AL寄存器。PJYPROC NEARPUSHAXPUSHBXPUSHCXPUSHDXMOVAL,DATANDAL,ALJNPPJY1MOVAL,00H;表示为偶JMPEXITPJY1:MOVAL,FFH;表示为奇EXIT:POPDXPOPCXPOPBXPOPAXRET PJYENDPDATDB ?3.21对80000H开始的256个单元的数据加上偶校验。 ORG 100hMOVAX,8000HMOVDS,AXMOVSI,0MOVCX,100HCLDPAR0:LODSB;(MOVAL,SI ;INCSI)TESTAL,ALJNPPAR1LOOP PAR0JMPSTOPPAR1:ORAL,80H;MOVSI-1,ALDECCXJNZPAR0STOP:HLT4-1 某以8088为CPU的微型计算机存RAM区为00000H 3FFFFH,若采用6264、62256、2164或21256各需要多片芯片? 解答: 8088 存单元为8 bit,所以,从00000H 到3FFFFH,共需要214 个byte,共214*8bit,也就是共占用16K byte空间。由于各种芯片的数据总线根数不同,所以在连接时要特别注意芯片的位数; 对于如下芯片:6264 有8根数据线,13根地址线,故其容量为 213*8bit,即8Kbyte, 所以需要2片;62256 有8根数据线,15根地址线,故其容量为 215*8bit,即32 Kbyte, 所以仅需要1片;尽管题目要求只需要16K的空间,但在使用62256时不得不使用1片。 2164 有8根数据线,12根地址线,故其容量为 212*8bit,即4Kbyte, 所以需要4片;21256 有1根数据线,10根地址线(实际为20根,分两组),但由于仅有一根数据线,要构成八位的存储器至少需要8片,但总容量为8*256Bit,远远超过题目的要求。4.2 利用全地址译码将6264接在8088的系统总线上,其所占的地址围为BE000HBFFFFH,试画出连接图。 解答:6264有13根地址线,连接时接到系统总线的低13位,即A0A12, 其他7根地址线A19A13的 地址译码输入应该为:1011 111 B,故而有如下的连接: 4.3 试利用6264 芯片,在8088系统总线上实现0000H03FFFH的存区域,试画出电路连接图。 解答:0000H03FFFH的地址围为214=16K, ,而6264芯片的容量为8*8K, 所以需要连接2片,其中,第一片的地址为00000H01FFFH,第二片的地址为02000H03FFFH,这里用74LS138的Y0、Y1 作为两个芯片的片选。 4.4 叙述EPROM的编程过程,说明EEPROM的编程过程。 EPROM编程通常采用两种模式:标准编程和快速编程: 标准编程是在VCC、VPP、CE、OE、地址信号、数据信号有效并稳定后加入50毫秒的PGM编程负脉冲,可以在写入一个数据后使OE变高而立即校验,也可以在所有数据写入后逐一校验。标准编程有两大缺陷:一是时间过长,比如2764全片编程约需7分钟,时间过长;再是编程脉冲宽度稍大容易造成芯片因功耗过大而烧毁。快速编程将PGM的宽度减小到100微妙左右,显然速度加快了500倍左右。能否使用快速编程取决于芯片的型号。EEPROM 由于可以在线擦除信息,所以可以单字节编程或自动按页编程。在单字节写入时,CE为低,OE为高,在WE加入100纳秒的负脉冲,写入时间包括擦除原有容和写入新容的时间,一般为10毫秒以,可以通过查询READY/BUSY的状态判定。自动按页编程用高位线决定页地址,低位线决定页容量,然后一次写入一页容,写完后查询READY/BUSY状态,此一过程耗时在300微秒左右,所以速度较快。4.5已有两片6116,现欲将其接到8088系统中去,其地址围为40000H40FFFH,试画出电路连接图;写入某数据并读出与之比较,若有错,则在DL中写入01H,若全对,在DL中写入EEH,试编写此检测程序。解答:电路连接如图示:检测程序定义为一个过程,编程如下: CHKRAM PROC FARPUSHSI;PUSHDL;PUSHCX;PUSHAX; MOVCX,10000H;待检验的单元个数MOVSI,4000H; 存储体段地址MOVDS,SI;MOVSI,0000H;存储体首地址 CHK:MOVAL,0FFH; MOVSI,AL;写入检验数据FFH MOVAL,SI;读出ADDAL,01HJNZRAMERR MOV AL,0; MOVSI,AL; 写入另一格检验数据 MOVAL,SI;读出 AND AL,AL JNZRAMERR MOV DL,0EEH;所有单元全对 JMPRAMCHKOUTRAMERR:MOVDL, 01H; 发现错误单元RAMCHKOUT:POPAX;POPCX;POP DL;POP SI; RETENDP CHKRAM4.6 利用全地址译码将EPROM27128接到首地址为A0000H的存区,试画出电路图。 解答:EPROM27128 的容量为8* 16K,所以有14根地址线, 那么如果将其接到首地址为A0000H 存区,高6位地址线的排列应该为:1010 00B,所以有如下的连接:4.7 存地址从40000H到BBFFFH共有多少K?解答:从40000H到BBFFFH的地址空间应该为 BBFFFH-40000H= 7BFFFH 每K为210,即3FFH,7BFFFH/3FFH=1F0H=496D 所以,该地址空间的围应该为496KByte。 4.8 试判断8088系统中存储器译码器74LS138的输出Y0、Y4、Y6和Y7所决定的存地址围,电路连接见附图。解答:根据示意图,A19、A18、A17、A16 的电平值为 1X00B,由于采用的是部分译码(A18未使用),所以每个地址译码输出对应的两个地址围。Y0对应 A15、A14、A13 均为0,所以其地址围应该为: 当A18=0时,地址围为:1000 0000 0000 0000 1000 0001 1111 1111 1111 B 即80000H 81FFFH 当 A18=1时,地址围为: 1100 0000 0000 0000 1100 0001 1111 1111 1111B 即C0000H C1FFFFHY4 对应的 A15、A14、A13 为 100,所以其地址围应该为:当A18=0 时,地址围为:1000 1000 0000 0000 0000B 1000 1001 1111 1111 1111B 即88000H 89FFFH当A18=1时,地址围为:1100 1000 0000 0000 0000 1100 1001 1111 1111 1111B 即C8000HC9FFFHY6 对应的A15、A14、A13 为110,所以其地址围为: 当A18=0时,地址围为:1000 1100 0000 0000 0000B 1000 1101 1111 1111 1111B 即 8C000H 8DFFFH 当A18=1 时,地址围为:1100 1100 0000 0000 0000 B 1100 1101 1111 1111 1111B 即CC000HCDFFFHY7 对应的A15、A14、A14为111,所以其地址围为:当 A18=0时,地址围为: 1000 1110 0000 0000 0000B 1000 1111 1111 1111 1111B 即 8E000H 8FFFFH当 A18=1 时,地址围为:1100 1110 0000 0000 0000B 1100 1111 1111 1111 1111 B 即CE000HCFFFFH。 伯成微机原理习题 第五章本章作业参考书目:1. 王永山等: 微型计算机原理与应用 电子科大 19983. 洪志全等 编 现代计算机接口技术 电子工业 2002年4月5-1 满足那些条件8086CPU才能响应中断源的中断请求?参考答案: 8088/8086的中断承认需要满足4个条件:(1) 一条指令执行之后-因为8088/8086CPU只在指令周期的最后一个时钟周期检测INTR信号;(2) 中断允许标志IF=1;(3) 没有发生 NMI、HOLD和RESET;(4) 指令STI、IREI指令执行之后须再执行一条其他指令,但一些指令组合(如REP)要视为一个指令总体。5-2 说明8088/8086 软件中断指令INT n的执行过程。 由指令INT n引起的中断也称为“异常”,即软件中断或部中断。这里,INT 为指令操作码,n 是中断类型号(中断向量码);当该指令执行时,CPU 根据中断向量码的数值在中断向量表(IDT-Interrupt Direction Table)找到相应的中断服务程序入口地址,在对CS 、IP和FLAG进行入栈保护之后,进而转向指定程序的运行。5-3 用三态门 74LS244 作为输入接口,接口地址规定为04E5H,试画出其与8088的总线连接图。解:根据题意,当地址线上的电平为 0000 0100 1110 0101 且IOR信号为低(IOR低电平有效)时,74LS244的门控信号E1、E2应该为低,据此画出下列电路:5-4 利用具有三态输出的锁存器74LS374 作为输出接口,就接口地址为0E504H,试画出连接图。若5-3题中的输入接口的BIT3、BIT4、BIT7同时为1时,将DATA为首地址的10个存数据连续由输出接口输出。若不满足则等待,试编写程序。解:根据题意,当地址线上的电平为 1110 0101 0000 0100 且IOW信号为低(IOW低电平有效)时,74LS374的时钟端CP 应该为低,而 74LS374的OE始终为低,据此画出下列电路:根据题5-3和题5-4 电路,如果题5-3电路中的BIT3、BIT4 和BIT7 同时为1,则将以DATA为首地址的10个数据连续由0E504H输出口输出,不满足条件等待,对应的程序段如下: OUTWAIT : MOVDX,04E5HIN AL,DXTEST AL,98H;10011000BJZOUTWAIT;MOVSI,OFFSETDATA MOVCL,0AH;数据个数MOVDX,0E504HOUTPUT:MOVAL,SIINCSIOUTDX,ALLOOPOUTPUT5-5若要求8259 的地址为E010H和E011H,试画出与8080总线的连接图。若系统中只有一片8259,允许8个中断源边沿触发,不要缓冲,一般全嵌套方式,中断向量定为40H,试编写初始化程序。 解:电路连接见图示,根据8259的ICW格式,有如下数据:ICW1 0 00 1 0 0 1 1 = 13H 特征位 无意义 特征位 边沿触发 无意义 单片 有ICW4ICW2 0
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!