微机原理课后习题参考答案_第1页
微机原理课后习题参考答案_第2页
微机原理课后习题参考答案_第3页
微机原理课后习题参考答案_第4页
微机原理课后习题参考答案_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章2、完成下列数制之间的转换。(1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是099;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为09。 组合型:254=(001001010100)BCD非组合型:254=(00000010 00000101 00000100)BCD7、计算机为什么采用补码形式存储数据?当计算机的字长n=16

2、,补码的数据表示范围是多少?答: 在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。+32767 -32768。9、设计算机字长n=8,求下列各式的X+Y补和X-Y补 ,并验证计算结果是否正确。 (1)X=18,Y=89 X+Y补=00010010+01011001=01101011B=107D 正确 X-Y补=10111001B=00010010+10100111=(-71D)补 正确(2)X=-23,Y=-11 X+Y补=11101001+11110101=11011110B=(-34D)补 正确 X-Y补=11101001+000

3、01011=11110100B=(-12D)补 正确(3)X=18,Y=-15 X+Y补=00010010+11110001=00000011B=(3D)补 正确 X-Y补=00010010+00001111=00100001B=(33D)补 正确(4)X=-18,Y=120 X+Y补=11101110+01111000=01100110B=(102D)补 正确 X-Y补=11101110+10001000=01110110B=(123D)补 由于X-Y=-138 超出了机器数范围,因此出错了。13、微型计算机的主要性能指标有哪些?答:CPU字长、存储器容量、运算速度、CPU内核和IO工作电压

4、、制造工艺、扩展能力、软件配置。第二章2、8086标志寄存器包含哪些标志位?试说明各标志位的作用。答:进位标志:CF;奇偶校验:PF;辅助进位:AF;零标志:ZF;符号标志:SF;溢出标志:OF。5、逻辑地址与物理地址有什么区别?如何将逻辑地址转换为物理地址?答:物理地址是访问存储器的实际地址,一个存储单元对应唯一的一个物理地址。逻辑地址是对应逻辑段内的一种地址表示形式,它由段基址和段内偏移地址两部分组成,通常表示为段基址:偏移地址。 物理地址=段基址*10H+偏移地址。6、写出下列逻辑地址的段基址、偏移地址和物理地址。(1)2314H:0035H (2)1FD0H:000AH答:(1)段基址

5、:2314H;偏移地址:0035H;物理地址:23175H。 (2)段基址:1FD0H;偏移地址:000AH;物理地址:1FD0AH。8、设(CS)=2025H,(IP)=0100H,则当前将要执行指令的物理地址是多少?答:物理地址=(CS)*10H+(IP)=20350H9、设一个16字的数据区,它的起始地址为70A0H:DDF6H(段基址:偏移地址),求这个数据区的首字单元和末字单元的物理地址。答:首字:70A0*10H+DDF6H=7E7F6H末字单元地址=起始地址+(字数-1)*2=7E7F6H+(16-1)*2=7E814H。13、80486CPU内部由哪些主要部件构成?有哪几种工作

6、模式?答:(1)总线接口单元、指令预取单元、指令译码单元、控制单元,整数运算单元,浮点运算单元,段预存储器管理单元,高速缓冲单元。(2)实地址模式、保护虚拟地址模拟、虚拟8086模式14、80486CPU存储器最大可寻址空间是多少?虚拟存储空间是多少?两者有何区别?答:最大可寻址空间是4GB,虚拟存储空间是64TB。前者为实地址,虚拟存储空间为外部存储管理器。第三章4、指出下列指令中的源操作数和目标操作数的寻址方式。(1)MOV BX,1000H 源操作数:立即寻址 ;目标操作数:寄存器寻址(2)MOV AL,BX 源操作数:寄存器间接寻址; 目标操作数:寄存器寻址(5)MOV DI+1000

7、H,BX 源操作数:寄存器寻址;目标操作数:寄存器相对寻址(6)MOV 1000H,CX 源操作数:寄存器寻址 ;目标操作数:直接寻址5、设(DS)=2000H、(ES)=2100H、(SS)=1500H、(BX)=0100H、(BP)=0040、(SI)=00A0H、(DI)=0120H,在指令MOV AX,src中,求用下列表示源操作数src的有效地址EA和物理地址PA各是多少?(1)100HBX EA=(100H+0100H)=0200H ; PA=2000*10H+0200H=20200H(2)ES:BX+DI EA=0100H+0120H=0220H ;PA=2100*10H+022

8、0H=21220H(3)BP EA=0040H ; PA=1500*10H+0040H=15040h(4)ES:BX+10H EA=0100H+0010H=0110H ;PA=21000H+0110H=21110H6、指出下列指令中的错误,并改正。(1)MOV BL,30A0H 操作数不匹配 改:MOV BX,30A0H(2)MOV 0010H,AL 立即数不可以作为目标操作数 改:MOV AX,0010H(3)XCHG AL,BX 操作数类型不匹配 改:XCHG AX,BX(4)MOV AX,3456H 立即数送入存储器需要说明 改:MOV WORDPTR AX,3456H(5)PUSH A

9、L 堆栈以字为操作单元 改:PUSH AX(6)POP CS POP不可以用CS为目标操作数 改:POP AX(7)MOV DS,1000H 立即数不能直接送入段寄存器 改:MOV AX,1000H MOV DS,AX(8)MOV BX,1000H 存储器不可以相互传送 改:MOV AX,1000H MOV BX,AX(9)LDS (BX),1000H LDS使用时期目标为16位通用寄存器 改:LDS BX,1000H(10)LEA BX,CX LEA源操作数为存储器 改:LEA BX,CX7、已知(AX)=4A0BH,1020H单元中的内容为260FH,写出下列每条指令单独执行后的结果。(1

10、)MOV AX,1020H ;(AX)=1020H(2)XCHG AX, 1020H ;(AX)=260FH(3)MOV AX,1020H ;(AX)=260FH(4)LEA AX,1020H ;(AX)=1020H10、设一个堆栈段共有100H个字节单元,堆栈的起始地址为1250H:0000H,若在堆栈中存有5个字数据,问:(1)栈顶的物理地址多少?(2)栈底的物理地址是多少?(3)当前SS和SP的内容是多少?(4)若弹出两个数据,SP的内容是多少?答: 栈底:12600H 栈顶:12600-A=125F6H SS:1250H:0000H SP: 1250H:00F6H (4)弹出两个数据后

11、,SP内容,00F6+4=00FAH 则,SP:1250H:00FAH 11、编程完成下列程序段,根据运算结果置标志位OF、SF、ZF、AF、PF、CF,并分析程序执行结果是否正确?为什么?(n=8)(2)122-64 (4)-68+(-72)答:(2)程序:MOV AL,120 MOV BL,64 SUB AL,BL 计算结果:00111010 OF=0 SF=0 ZF=0 AF=0 PF=1 CF=0(4)程序: MOV AL,-68 MOV BL,-72 ADD AL,BL计算结果:01110100 有溢出 OF=1 SF=0 ZF=0 AF=1 PF=1 CF=117、判断下列指令格式

12、的对与错,并解释错在哪里。(1)ADD 25H,AX 错;目标操作数不可以为立即数(2)INC BX,1 错;INC只有目标操作数(3)MUL AL,BL 错;乘法指令目标操作数是隐含的(4)SUBB AL,3 错;减法指令是SUB(5)DAA AL 错;DAA后无操作数(6)NEG CX,0 错;NEG后只有目标操作数(7)CMP BX,1000HBX+SI 对22、写出下列程序段执行后的结果。MOV CL,4MOV AL,87MOV DL,ALAND AL,0FHOR AL,30HSHR DL,CLOR DL,30H(AL)= 37H ,(DL)=35H27、试用CMP指令和条件转移指令实

13、现下列判断(1)AX和CX中的内容为无符号数:若(AX)>(CX)则转至BIGGER符号执行;若(AX)<(CX)则转至LESS符号执行。(2)BX和DX中的内容为无符号数:若(BX)>(DX)则转至BIGGER符号执行;若(BX)<(DX)则转至LESS符号执行。答:(1)CMP AX,CX JA BIGGER JB LESS(2)CMP BX,DX JG BIGGER JL LESS第四章8、按下列的要求写出段定义格式。(1)数据段的位置从0E000H开始,在该段中定义的5个字节数据,3个字数据,2双字数据,要求字节数据从偏移地址0000H开始,字数据从偏移地址00

14、10H开始,双字数据从偏移地址0020H开始。(2)堆栈段定义100个字节(3)代码段的开始位置给有关段寄存器赋值,在程序结束时能够返回DOS。答:DATA SEGMENTORG 0000HD1 DB 00H,01H,02H,03H,04HORG 0010H D2 DW 0000H,0010H,0020HORG 0020HD3 DD 3 DUP()DATA ENDSSTACK SEGMENT STACk DB 100 DUPSTACK ENDSCODE SEGMENT CODEASSUME CS:CODE,DS:DATASTART :CODE ENDS ENDS START10、 定义数据段,

15、画出数据存储示意图,并说明该数据段共有多少个字节单元。DATA SEGMENT D1 DB 12,0,A,-6 D2 DW 1234H,65H D3 DB 3 DUP(3,0,5)DATA ENDS共有17个存储单元如下图:0CH00H41HFAH34H12H65H00H03H00H05H03H00H05H03H00H05H 12、定义数据段如下,画出数据存储示意图,并说明变量X1和X2所对应的逻辑地址各是多少?DATA SEGMENT AT 10A0H ORG 0010HX1 DB 22,33, ORG $ + 0020HX2 DB AB12CD . . .16H21H41H42H31H32

16、H43H44HDATA ENDS10A00H 10A10H 10A32H X1逻辑地址:10A0H:0010H X2的逻辑地址:10A0H:0032H13、定义数据段如下,写出执行以下指令后的结果。DATA SEGMENT DA1 DW 2437H ,14A2H DA2 DB ABCD DA3 DD 10 DUP (?)DATA ENDS(1)MOV BX,DA1 ;(BX)=2437H(2)MOV SI,OFFSET DA1 ;(SI)=0000H(3)MOV AL, TYPE DA1 ;(AL)=2(4)MOV AL,DA2+02H ;(AL)=C=43H(5)MOV AL,LENGTH

17、DA3;(AL)=10(6)MOV AL,SIZE DA3;(AL)=1014、程序中数据段定义的数据如下:DATA SEGMENTNAMES DBGOOD MORNING! DW 2050H,78H,3080HDATA ENDS请指出下列指令序列执行后累加器中的结果是多少?(1) MOV BX,OFFSET NAMESMOV AL,BX+03H(2) MOV BX,12MOV SI,3MOV AX,NAMESBX+SI(3) MOV BX,12MOV SI,3LEA AX,NAMESBX+SI答:(1)BX+03H对应的是 “D” 因此结果是 44H(2)78H(3)LEA 将源操作数的逻辑

18、地址送到目标操作数,因此 0FH18、编写程序,将MBUF为起始单元的5个数按相反次序传送到NBUF开始的存储单元中。答:DATA SEGMENTMBUF DB 1,2,3,4,5COUNT EQU $-MBUFNBUF DB 5 DUP(?)DATA ENDSSTACK SEGMENT PARA STACKDB 20H DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,SS:STACK,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV BX,OFFSET MBUF MOV CX,5LOP1: PUSH BX INC BX D

19、EC CX JNZ LOP1 MOV BX,OFFSET NBUF MOV CX,5LOP2:POP BX INC BX DEC CX JNZ LOP2 MOV AX,4CH INT 21HCODE ENDS END START20、编写程序,将内存中某数据块中的正数和负数分开,并分别将这些正数和负数送同一数据段的两个缓冲区中,并在屏幕上显示正数和负数的个数(数据自定)。答:DATA SEGMENT SHU DB 2,4,-9,-10,5,-2,-2,4,5,7;源数据块,共有十个数,六个正数,四个负数 COUNT EQU $-SHU ZS DB 10 DUP(?);给正数预留10个字节的空间

20、 ORG 0020H ;调整数据位置 FS DB 10 DUP(?) XZ DB 'NUMBER OF XZ:','$' ;显示在屏幕上的字符串 XF DB 'NUMBER OF XF:','$'DATA ENDSSTACK SEGMENT STACK DW 100 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX ;数据段装入 MOV BX,OFFSET SHU MOV DI,OFFSET ZS MOV

21、 SI,OFFSET FS MOV CX,COUNTLOP1: MOV AL,BX CMP AL,0 JG SZ ;大于0跳转到SZ中 MOV SI,AL INC SI ;负数送到缓冲区FS中 JMP C1SZ: MOV DI,AL ;正数送到缓冲区ZS中 INC DIC1: INC BX DEC CX JZ SHUCHU ;ZF标志位为1,cx为0 ,跳到SHUCHU执行 JMP LOP1 ;cx不为0,循环 SHUCHU: MOV DX,OFFSET XZ MOV AH,09H INT 21H ;输出字符串 SUB DI,OFFSET ZS ;正数的个数 ADD DI,30H MOV DX

22、,DI MOV AH,02H INT 21H ;转为ASCII码输出 MOV DX,OFFSET XF MOV AH,09H INT 21H SUB SI,OFFSET FS ;负数的个数 ADD SI,30H MOV DX,SI MOV AH,02H INT 21H ;转为ASCII码输出 MOV AH,4CH INT 21H ;返回DOSCODE ENDS END START21、编写程序,从内存BLOCK开始,存放着10个字节的有符号数,从这些数种找出绝对值最大的数,存在MAX中。答:DATA SEGMENT BLOCK DB 2,8,9,18,-14,-12,5,12;源数据 共有8个

23、数,绝对值最大数为18 COUNT EQU $-BLOCK ;数据长度 ORG 0020H MAX DB ? ;最大数据DATA ENDSSTACK SEGMENT STACK DB 100 DUP (?)STACK ENDSCODE SEGMENT ASSUME CS: CODE, DS: DATA,SS:STACKSTART: MOV AX, DATA MOV DS, AX ;装入数据段基址 MOV AL, 0H ;初始AX LEA BX, BLOCK MOV CX, COUNTLOP1: MOV DL, BX CALL CP ;调用比较子程序 INC BX ;递推 DEC CX JNZ

24、LOP1 ;循环 LEA BX, MAX ;取最大值存储区地址 MOV BX, AL ;移入最大值 MOV AH, 4CH INT 21H ;返回DOS CP PROC ;比较AL和DL,将较大的数存入AL.入口参数: AL, DL出口参数: AL CMP DL, 0 JG POSITIVE ;DL为正数 NEG DL ;求相反数 POSITIVE: CMP AL, DL ;比较AL和BX中的大小 JG EXIT ;AL大于DL则跳转 MOV AL, DL ;将DL移入ALEXIT: RET ;退出CP ENDPCODE ENDSEND START26、DATA SEGMENT D1 DB 3

25、,4,2,7,8,12,10 COUNT EQU $-D1 D2 DB 10 DUP(?)DATA ENDS STACK1 SEGMENT STACK DB 100 DUP(?) STACK1 ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 START: MOV AX,DATA MOV DS,AX ;数据段装入 MOV CX,COUNT DEC CX ;外层循环CX-1次 LOP1: MOV SI,CX LEA BX,D1 LOP2: MOV AL,BX CMP AL,BX+1 ;比较D1的第一个数与第二个数的大小 JAE LOP3 XCHG

26、 AL,BX+1 ;交换两个数 MOV BX,AL LOP3: INC BX DEC CX JNZ LOP2 MOV CX,SI DEC CX JNZ LOP1 LIST: MOV AH,4CH INT 21H ;返回DOSCODE ENDS END START第五章5-7 若用1024*1b的RAM芯片组成16K*8b的存储器,,需要多少芯片?在地址线中有多少位参与片内寻址?多少位用做芯片组选择信号? 解: 先进行位扩展,一组芯片需要8片 再进行字扩展,需要16组芯片. 所以共需要16*8=128片 1024=1K,需要10位参与片内寻址 16=24,需要4位做选择信号.5-8 试用4K*8

27、b的EPROM2732和8K*8b的SRAM6264,以及74LS138译码器,构成一个8KB的ROM,32KB的RAM存储系统,要求设计存储器扩展电路,并指出每片存储芯片的地址范围.解:5-9 用EPROM2764(8K*8b)和SRAM6264(8k*8b)各一片组成存储器,其地址范围为FC000FFFFFH,试画出存储器与CPU的连接图和片选信号译码电路(CPU地址线20位,数据线8位)。1111 1100 0000 0000 00001111 1101 1111 1111 11111111 1110 0000 0000 00001111 1111 1111 1111 11115-10

28、现有存储芯片:2K*1b的ROM和4K*1bde RAM,若用它们组成容量为16KB的存储器,前4KB为ROM,后12KB为RAM,问各种存储芯片分别用多少片?解:4KB=4K*8b 需要2*8=16片12KB=12K*8b 需要3*8=24片第六章6-3 CPU响应中断时的处理过程是什么?在各个处理环节主要完成哪些操作?解:中断处理过程通常由中断请求、中断响应、中断处理和中断返回四个环节完成。(1)中断请求:中断源需要进行中断服务时,由硬件产生一个中断信号INTR发给CPU且保持到CPU响应。(2)中断响应:CPU在当前指令执行结束后采样查询INTR,若中断请求信号有效且允许响应INTR中断

29、(IF=1),则向请求设备送回低电平有效的中断响应信号,自此系统自动进入中断响应周期,并由硬件自动完成内容入栈,清除TF和IF标志、断点(中断返回之后将要执行的指令地址)入栈,取中断服务程序的入口地址等一系列操作,继而转去执行中断服务程序。(3)中断处理:执行中断的主体部分。不同的中断请求源,其中断处理的内容是不同的。需要根据中断请求源所要完成的功能,编写相应的中断服务程序存入内存。等待中断响应后调用执行。(4)中断返回:又中断服务程序中的中断返回指令IRET完成。执行该指令时,将压入对战的断点和标志位弹出,使CPU转向被中断的现行程序中继续执行。6-10 中断向量表用来存放什么内容?它占用多

30、大的存储空间?存放在内存的哪个区域?可以用什么方法写入或者读取中断向量表的内容?答:中断向量表用来存放中断服务程序的偏移地址和段基址。占用1KB内存。最低端的1KB RAM区,地址范围是000H3FFH。写入方法:1、 用传送指令直接装入。 2、 DOS功能调用: INT 21H (AH)=25H (AL)=中断类型号 (DS:DX)=中断服务程序的入口地址读出方法:1、 用传送指令直接读。 2、 DOS功能调用:INT 21H (AH)=35H (AL)=中断类型号 出口参数: (ES:BX)=中断服务程序的入口地址6-19 某系统使用两片8259A管理中断,从片的INT连接到主片的IR2请

31、求输入端。设主片工作于边沿触发、特殊完全嵌套、非自动结束和非缓冲方式,中断类型号为70H,端口地址为80H和81H;从片工作与边沿触发、完全嵌套、非自动结束和非缓冲方式,中断类型号为40H,端口地址为20H和21H。要求:(1)画出主、从片级联图(2)编写主、从片初始化程序解:电路图参见教材P179图6-21,主片由A19-A1=0000 0000 0000 1000 000和M/给出低电平,从片由A19-A1=0000 0000 0000 0010 000和M/给出低电平。主片8259AMOV AL,11H(00010001B)OUT 80H, AL ;定义ICW1MOV AL, 70H(0

32、1110000B)OUT 81H, AL ;定义ICW2MOV AL, 04H(00000100B)OUT 81H, AL ;定义ICW3MOV AL, 11H(00010001B)OUT 81H, AL ;定义ICW4MOV AL, FBH(11111011B)OUT 81H, AL ;定义OCW1(开放从片IR2的请求)IN AL, 81HAND AL, 11111011OUT 81H, AL从片8259AMOV AL,11H(00010001B)OUT 20H, AL ;定义ICW1MOV AL, 40H(01000000B)OUT 21H, AL ;定义ICW2MOV AL, 02H(

33、00000010B)OUT 21H, AL ;定义ICW3MOV AL, 01H(00000001B)OUT 21H, AL ;定义ICW46-20 某系统由8259A的IR2引入外设中断请求(跳变信号有效),要求当CPU响应IR2请求时,输出显示字符串“*”,并中断10次退出,试编写主程序和中断服务程序。解:设8259A的I/O地址为20H,21H,中断类型号0AH,从IR2引入DATA SEGMENT MESS DB '*',OAH,ODH,'$'INTA00 EQU 0020H INTA01 EQU 0021HDATA ENDSSTACK SEGMENT

34、STACK DB 100H DUP (?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK MAIN:MOV AX,DATA MOV DS,AX MOV DX,INTA00 ;8259A初始化 MOV AL,13H ;写ICW1 OUT DX,AL MOV DX,INTA01 MOV AL,08H ;写ICW2 OUT DX,AL MOV AL,01H ;写ICW4 OUT DX,AL PUSH DS MOV AX,SEG INT-P ;设置中断矢量 MOV DS,AX MOV DX,OFFSET INT-P MOV AL,0AH M

35、OV AH,25H INT 21H POP DS MOV AL,0FBH ;写中断屏蔽字OCW1 OUT DX,AL MOV DX,INTA00 MOV AL,20H ;写中断结束方式OCW2 OUT DX,AL MOV BX,10WAIT1: STI ;开中断 JMP WAIT1 ;等待中断INT-P:MOV AX,DATA ;中断服务程序入口 MOV DS,AX MOV DX,OFFSET MESS ;输出指定字符串 MOV AH,09H INT 21H MOV DX,INTA00 ;写OCW2,送中断结束命令EOI MOV AL,20H OUT DX,AL DEC BX ;控制10次循环

36、 JNZ NEXT MOV DX,INTA01 ;读屏蔽寄存器IMR IN AL,DX OR AL,04H ;屏蔽IR2请求 OUT DX,AL STI ;开中断 MOV AX,4C00H ;返回操作系统 INT 21HNEXT: IRET ;中断返回CODE: ENDS END MAIN第七章3、CPU与IO接口设备数据传送的控制方式有哪几种?它们各有何特点?答:(1)查询方式:不需要额外的硬件支持,但由于CPU与外设工作的不同步,致使CPU利用率低,适用于工作不太繁忙的系统中。(2)中断方式:CPU与外部设备并行工作(3)DMA方式:数据传送过程中,由DMA控制器参与工作,不需要CPU的干

37、预,对批量数据传送效率高。6、设8255A的A口工作于方式1输出,B口工作于方式0输入,试编写初始化程序(设端口地址为40H43H)答:MOV DX ,43HMOV AL ,10100010OUT DX,AL7.使用8255A作为开关和LED指示灯电路的接口.要求8255A的A口连接8个开关,B口连接8个LED指示灯,将A口的开关状态读入,然后送至B口控制指示灯亮、灭。试画出接口电路设计图,并编写程序实现。程序实现:设8255的地址:0FFE0H0FFE3HDATA SEGMENTDB 100H DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE ,DS DA

38、TASTART:MOV AX,DATA MOV DS,AX MOV AL,10010000 ; A口方式0输入B口方式0输出 MOV DX,0FFE3H OUT DX,AL MOVDX, 0FFE0H IN AL,DX;读取A口开关状态 INC DX NOTAL OUTDX,AL ;输出B口驱动LED,开关闭合则LED亮RETCODE ENDS END START10、利用8254的通道1,产生500Hz的方波信号。设输入时钟频率CKL1=2.5MHz,端口地址为FFA0HFFA3H,试编写初始化程序。答:端口地址:FFA0H-FFA3H计数器1的控制字:01110110B=76H 计数常数=

39、2.5M/500=5000初始化程序:MOV AL,76HMOV DX,0FFA3HOUTDX,ALMOV AX,5000MOV DX,0FFA1HOUTDX,AL;写入计数器1的低字节 MOV AL,AHOUTDX,AL;写入计数器1的高字节11、某系统使用8254的通道0作为计数器,记满1000,向CPU发中断请求,试编写初始化程序(端口地址自设)。答:设8254端口地址:40H-43H计数器0的控制字:00110000B=30H 计数常数=1000初始化程序:MOV AL,30HOUT43H,ALMOV AX,1000OUT40H,AL;写入计数器0的低字节 MOV AL,AHOUT40

40、H,AL;写入计数器0的高字节12、采用8254的通道0产生周期为10ms的方波信号,设输入时钟频率为100kHz,8254的端口地址为38H-3BH,试编写初始化程序。答:8254端口地址:38H-3BH计数器0的控制字:00110110B=36H 计数常数=100K*10ms=1000初始化程序:MOV AL,36HOUT3BH,ALMOV AX,1000OUT38H,AL;写入计数器0的低字节 MOV AL,AHOUT38H,AL;写入计数器0的高字节15、什么是波特率?假设异步传输的一帧信息由1为起始位,7位数据位、1为校验位和1位停止位构成,传送的波特率为9600,则每秒钟能传输字符

41、的个数是多少?答:波特率是指数据传送的速率,含义是指每秒钟传二进制数的位数,单位用bps或波特表示每秒可传送的字符个数。 9600/(1+7+1+1)=96016、一个异步串行发送器,发送的字符格式为:1位起始位、7位数据位、1位奇偶校验位和2位停止位,若每秒传送100个字符,则其波特率为多少?答:100*(1+7+1+2)=1100bps19、设某系统使用一片8250进行串行通信,要求波特率为2400,8位数据位,2位停止位,偶校验,对接收缓冲器满开中断,试编写初始化程序。答:设8250端口地址:3F8H-3FEH XTAL1=1.8432MHz,BAUD=2400 除数寄存器:1.8432M/(2400*16)=48=30H 3F8H线路控制寄存器:10011111B=1FH

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论