《微机原理与接口技术》中科大版部分习题解答_第1页
《微机原理与接口技术》中科大版部分习题解答_第2页
《微机原理与接口技术》中科大版部分习题解答_第3页
《微机原理与接口技术》中科大版部分习题解答_第4页
《微机原理与接口技术》中科大版部分习题解答_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章习题及答案:P20 9、将下列二进制数转换为十进制数。 (1 1101.01B 13.25 (3 101011.0101B 43.3125 (2 111001.0011B 57.1875 (4 111.0001B 7.0625 10、将下列十六 进制数转换为十进制。 (1 A3.3H 163.1875 (3 AC.DCH 172.859375 (2 129.CH 297.75 (4 FAB.3H 4011.1875 11、 将下列十进制数转换为二进制、 八进制、 十六进制。 (1 23 10111B 27Q 17H (2 107 1101011B 153Q 6BH (3 1238 100

2、11010110 2326Q 4D6H (4 92 1011100B 134Q 5CH 12、将下列十进制数转换为 8 位有符号二进制数 (原码,可以是补码 (1 +32 00100000B (00100000B (2 -12 10001100B (11110100B (3 +100 01100100B (01100100B (4 -92 11011100B (10100100B 13、将下列十进制数转换为压缩 BCD 码和非压缩 BCD 码。 (1 102 000100000010 0000 0001 0000 0000 0000 0010 (2 44 01000100 0000 0100

3、0000 0100 (3 301 001100000001 0000 0011 0000 0000 0000 0001 (4 1000 0001000000000000 0000 0001 0000 0000 0000 0000 0000 0000 14、将下列二进制数转换 为有符号的十进制数。 (原码, 可以是补码 (1 10000000B 0 (补码:-128 (2 00110011B +51 (+51 (3 10010010B -18 (-110 (4 10001001B -9 (-119 15、将下列十进 制数转换为单精度浮点数。 (1 +1.5 0 01111111 10000000

4、000000000000000 (2 -10.625 1 10000010 0101010000000000000000 (3 +100.25 0 10000101 1001000100000000000000 (4 -1200 1 10001001 00101100000000000000000 16、 将下列单精度浮点数转换为十进制数。 (1 0 10000000 11000000000000000000000 3.5 (2 1 01111111 00000000000000000000000 -1 (3 0 10000000 10010000000000000000000 3.125 第

5、二章习题及答案:必做习题:1, 5, 9, 11, 12, 14, 16, 18, 20 1 答:CPU 内部由执行单元 EU 和总线接口单元 BIU 组成。主要功 能为:执行单元 EU 负责执行指令。它由算术 逻辑单元 (ALU、通用寄存器组、 16 位标 志寄存器 (FLAGS、 EU 控制电路等组成。 EU 在工作时直接从指令流队 列中取指令代码, 对其译码后产生完成指令所需要的控制信息。数据在 ALU 中进行运算,运算结果的特征 保留 在标志寄存器 FLAGS 中。 总线接口单元 BIU 负责 CPU 与存储器和 I /O 接口之 间的信息传送。它由段寄存器、指令指针寄存器、指令流队

6、列、地址加法器以及总线控制 逻辑组成。 8086 的指令队列长度为 6B 。 5 答:(1 ZF , 两数相减如 ZF=1, 则相等 (2 SF , SF=1 为负 (3 对有符号数:OF , OF=1 为溢出; 对无符号数:CF , CF=1 为溢出 (4 PF , PF=1, 不补 1 (5 对有符号数:无溢出时 (OF=0 , 如 ZF=1, 则两数相等; 如 ZF=0 且 SF=0,则被减数大;如 ZF=0 且 SF=1, 则减数大;有溢出时(OF=1 ,如 SF=1, 则被减数大;如 SF=0,则减数大;对无符号数:如 ZF=1,则两数相等; 如 CF=0,则被 减数大; 如 CF=

7、1, 则减数大 (6 IF , IF=1, 允许中断 9 答:(1 10000H1FFFFH (4 E0000HEFFFFH (2 12340H2233FH (5 AB000HBAFFFH (3 23000H32FFFH 10 答:(1 12000H (3 25000H (2 21000H (4 3F069H 11 答:(1 12000H (3 A1000H (2 26200H (4 2CA00H 12 答:物理地址:35000H 35800H 。入栈 10 个字 节后 SP 为 7F6H 。再出栈 6 个字节后 SP 为 7FCH 。 14 答:代码段首地址:31FF0H ; 当前指令地址:

8、320F0H 数据段首地址:10E40H 堆栈段栈底地址:21F00H ;堆栈段栈顶地 址:31EEEH 附加段首地址:10F40H 状态标志均为 0。 15 8086 的最小工作模式和最大 工作模式有什么区别 ? 答:最小模式又称为单微处理器模式,在这种模式下, CPU 仅支持 由少量设备组成的单微处理器系统而不支持多 处理器结构,小系统所需要的全部控制信号 都由 CPU 直接提供。对应地,最大模式又称为多微处理机模式。在最 大模式下,系统中 除了有 8086 CPU 之外, 还可以接另外的处理器 (如 8087 数学协处理器 , 构成多微处理器 系统。 此时 CPU 不直接提供读/写命令等

9、控制信号, 而是将当前要执行的传送操作类型 编码成 3 个状态位输出, 由总线 控制器对状态信号进行译码后产生相应控制信号。其他 的控制引脚则直接提供最大模式系统所需要的控制信号。 16 答:因为 8086 的地址和数据 引脚分时复用, 要保证稳定输出地址信号, 必须使用地址锁存器。 使用三片 8282, 其中 接地, STB 与 CPU 的 ALE 相连;前 2 片 8282 的 DI0DI7 分别与 CPU 的 AD0AD15 相连,第三片 8282 的 DI0DI3 分别与 CPU 的 AD16AD19 相连, DI4 与 CPU 的 相 连。 18 答:CPU 完成一次存储器访问或 I

10、/O 端口操作所需要的时间称为一个总线周期。 在 T2T4 时 钟 周 期 内 数 据 出 现 在 总 线 上 。 20 答 :FFFF0H 第 三 章 2,3,6,10,11,12,13,15,17,18 2. DS=1000H,BX=0200H,SI=2,内存 10200H-10205H 单元的内容 分别是 10H, 2AH, 3CH, 46H, 59H, 6BH 下列指令 执行后, AX=? (1MOV AX,0200H (2 MOV AX,200H (3MOV AX,BX (4 MOV AX,3BX (5MOV AX,BX+SI (6 MOV AX,2BX+SI 答 :(10200H

11、(22A10H (30200H (45946H (5463CH (66B59H 3.DS=1000H,ES=2000H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H,BP=0200H, 数据段中 变量名为 V AL 的偏移地 址值为 0030H ,说明下列源操作数的寻址方式和物理地址? (1MOV AX,100H (2 MOV AX,V AL (3MOV AX,BX (4 MOV AX,ES:BX (5MOV AX,SI (6 MOV AX,BX+10H (7MOV AX,BP (8 MOV AX,V ALBPSI (9MOV AX,V ALBXDI (10 MOV

12、AX,BPDI 答:(1直接 ,10100H (2直接, 10030H (3寄存器间 接 ,10100H (5寄存器间接 ,100A0H (7寄存器间接 ,35200H (9相对基址变址 ,10154H (4寄存 器间接, 20100H (6寄存器相对, 10110H (8相对基址变址, 352D0H (10基址变址, 35224H 6. 指出下列指令哪些是错误的,错在哪里 (1 MOV DL,AX (2 MOV 8650H,AX (3 MOV DS,0200H (4 MOV BX,1200H (5 MOV IP ,0FFH (6 MOV BX+SI+3,IP (7 MOV AX,BXBP (

13、8 MOV AL,ES:BP (9 MOV DL,SIDI (10 MOV AX,OFFSET 0A20H (11 MOV AL,OFFSET TABLE (12XCHG AL,50H (13 IN BL,05H (14 OUT AL,0FFEH 答:(1 长度不匹配 (2立即数不能做目的操作数 (3段寄存器不能用立即数赋值 (4不能两 个内存 (5 IP 不能用指令直接修改 (6 指令中不能出现 IP (7 BX/BP 应与 SI/DI 搭 配 (8 对 (9 SI/DI 应与 BX/BP 搭配 (10 OFFSET 后应该内存 (11 应用 AX (12 不能立即数 (13 IN 必须用

14、AL/AX (14操作数反;地址应为 8 位 10. 某班有 7 个 同学英语成绩低于 80 分, 分数存在字节类型 ARRAY 数组中, 编程完成:(1给每 人加 5 分,结果存到 NEW 数组中 (2把加分后的总分存到字类型 SUM 单元中 (3 把加分后的平均分存到字节类型 A VERAGE 单元中 答:ARRAY DB 79,78,77,76,77,78,79 MOV CX,7 NEW DB 7 DUP(? MOV AX,0 SUM DW 1 DUP(? LEA SI,NEW AVERAGE DB 1 DUP(? ADD5: ADD BYTE PTRSI,5 ADD AL,SI MOV

15、 DS, AX ADC AH,0 MOV ES, AX INC SI LEA SI,ARRAY LOOP ADD5 LEA DI,NEW MOV CX,7 MOV SUM,AX CLD MOV BL,7 REP MOVSB DIV BL MOV A VERAGE,AL 11.AX=2508H,BX=0F36H,CX=0004H,DX=1864H,下列指令执行后结果是多少, 标志位 CF=? (1 AND AH,CL (2 OR BL,30H (3 NOT AX (4 XOR CX,0FFF0H (5 TEST DH,0FH (6 CMP CX,00H (7 SHR DX,CL (8 SAR A

16、L,1 (9 SHL BH,CL (10 SAL AX,1 (11 RCL BX,1 (12 ROR DX,CL 答 :(1AX=0408H,CF=0 (2BX=0F36H,CF=0 (3AX=0DAF7H,CF 不 变 (4CX=0FFF4H,CF=0 (5 DX=01864H,CF=0 (6CX=0004H,CF=0 (7DX=0186H,CF=0 (8AX=2504H,CF=0 (9BX=0F036H,CF=0 (10AX=4A10H,CF=0 (11BX=1E6C/1E6DH,CF=0 (12DX=4186H,CF=0 12. 数据段定义如下:DA TA SEGMENT STRING

17、DB The Personal Computer& TV DA TA ENDS 用字符串操作等指令完成以下功能:(1把该字符串传送 到附加段中偏移量为 GET_CHAR 开始的内存单元中 (2比较该字符串是否与 The computer 相同, 若相同则将 AL 寄存器的内容置 1, 否则置 0, 并将比较次数 送到 BL 寄 存器 (3检查该字符串是否有 &符,若有则用空格符替换 (4把大写字母传送到附 加段中以 CAPS 开始的单元中,其余字符传送到以 CHART 开始的单元,然后将数据 段 中存储上述字符串的单元清零。 答:(1CLD NEXT: REPNE SCASB

18、LEA SI,STRING JCXZ SKIP LEA DI,GET_CHAR MOV BYTE PTR DI-1,' ' MOV CX,26 LOOP NEXT REP MOVSBSKIP: (4 LEA SI,STRING (2补充在附加数据段定义 STRING1 DB The computer LEA DI,CAPS MOV AL,1 LEA BX,CHART CLD MOV CX,26 LEA SI,STRING NEXT: MOV AL, SI LEA DI,STRING1 CMP AL, A MOV CX,12 JB OTHER REPZ CMPSB CMP AL,

19、 Z JA OTHER JCXZ SKIP MOV ES:DI,AL MOV AL,0 INC DI SKIP: MOV BX,12 JMP SKIP SUB BX,CX OTHER: MOV ES:BX,AL (3 CLD INC BX MOV AL,'&' SKIP: MOV BYTE PTRSI,0 LEA DI,STRING INC SI MOV CX,26 LOOP NEXT 13. 编程将 AX 寄存器的内容 以相反的次序传送到 DX 寄存器中, 并要求 AX 中的内容不被 破坏, 然后统计 DX 寄存 器中 1的个数 答:MOV BL,0 JNC SKIP

20、 PUSH AX INC BL MOV DX,0 SKIP:RCR DX,1 MOV CX,16 LOOP NEXT NEXT: SHL AX,1 STOP:POP AX 15.在下列程序段中分别填入以 下 指 令 (1LOOP NEXT (2 LOOPE NEXT (3 LOOPNE NEXT 程 序 执 行 完 后 ,AX,BX,CX,DX 的内容分别是多少? START: MOV AX,01H MOV BX,02H MOV CX,04H ( MOV DX,03H 答:(1 AX=5 BX=16 CX=0 DX=0 NEXT: INC AX (2 AX=2 BX=4 CX=3 DX=1 A

21、DD BX,AX (3 AX=3 BX=7 CX=2 DX=0 SHR DX,1 17.类型 2 的中断服务程序的起 始地址为 0485:0016H,它在中断向量表中如何存放? 答:物理地址 内容 00008H 16H 00009H 00H 0000AH 85H 0000BH 04H 18. 中 断 向 量 表 中 地 址 为 0040H 中 存 放 240BH,0042H 单元存放 D169H ,问:(1 这些单元对应的中断类型是什么? (2 该 中断服务程序的起始地址是什么? 答:(110H (2D169H:240BH 第四章习题参考答案 p205 1 解:A1 - 4 字节, A2 -

22、6 字节, A3 - 40 字节, A4 - 60 字节 4 解:PAR 偏移地址 为 0, PLENTH 当前偏移地址 $=2+16+4=22, $-PAR=22,故 PLENTH 的值为 22 5 解: AX=1,BX=20,CX=1 6 解:应讨论最高位为 1 和 0 的情况。如输入最高位为 1,AH=0;输 入最高位为 0,AH=0FFH。 IN AL , 5FH ;假如输入后 AL=45H TEST AL , 80H ;执行 01000101 AND 10000000 后 ZF=1, AL=00H JZ L1 ; ZF=1, 转到 L1 MOV AH, 0 JMP STOP L1:M

23、OV AH, 0FFH ; 结果 AH=0FFH STOP:HALT 补充题 阅读程序并完成填空 (1 ADDR1 开始的单元中连续存放两个双字数据,求其和,并将和存放在 ADDR2 开始 的单 元 (假 定和 不 超 过双 字 MOV CX,2 NEXT XOR BX,BX CLC 解 :NEXT: MOV AX,ADDR1+BX ADDR1+BX+4 ADC AX, INC BX MOV ADDR2+BX,AX LOOP INC BX (2 在数据段 ADDR1 地址处有 200 个字节数据, 要传送到数据段地址 ADDR2 处。 MOV AX, SEG ADDR1 REP MOV DS,

24、 AX 解:MOV ES, AX MOV SI, OFFSET ADDR1 MOV DI, OFFSET ADDR2 CX MOV ,200 MOVSB CLD (3 已知有某字串 BUF1 的首地址 为 2000H, 数据段与附加段重合。欲从 BUF1 处开始将 20 个字数据顺序 传送至 BUF2 处。 (假设 BUF1 和 BUF2 有地址重叠 LEA SI, BUF1 REP MOVSW ADD SI, 解:LEA DI, BUF2 38 STD ADD DI, 38 MOV CX, 20 (4 设有一个首地址为 ARRAY , 有 N 个字数 据的数组, 要求求出该数组之和, 并把结

25、果 存入 TOTAL 地址中。 (假设和不超过两个字节 MOV CX, JNZ START MOV AX,0 MOV ,AX MOV SI,0 解:START: ADD AX, N ADD SI, 2 ARRAYSI DEC CX TOTAL (5将段地址为 1000H 、偏移地址为 STR 的 5 个字节的内 容逐一装入累加器中, 加 1 后, 再送入 STR 为首地址的存储单元。 MOV AX, 1000H ADD AL, 1 MOV ES, AX LOOP NEXT MOV DS, AX MOV DI, SI 解:MOV CX,5 LEA SI, STR CLD STOSB NEXT:

26、LODSB (6下列子程序统计字符串的长度,入口参数 DI 为字符串 首地址, 字符串以 0DH 结束; 返回参数 CX 中为统计得到的字符串长度。 STRLEN PROC RET PUSH AX STRLEN ENDP PUSH DI 解:MOV CX,0 CMP AL, 0DH REPEA T: MOV AL,DI INC CX JE EXIT JMP REPEAT INC DI POP AX EXIT: POP DI 第五章必做:1、 2、 3、 5、 9、 12 1.静态 RAM 内存储的信息只要电源存在就能一直保持,而动态 RAM 的信息 需要定时刷新才能保持; 同时静 态 RAM

27、的集成度比较低, 运行速度快, 而动态 RAM 的 集成度高, 运行相对较慢。 2.ROM 是只读存储器, 根据写入方式的不同可以分为四类:掩膜型 ROM 、 PROM 、 EPROM 和 EEPROM 。 PROM 是可编程只读存储器,只允许编程 一次,价格与生产批量无关,造价比较高; EPROM 为可擦除可编程 ROM ,能够通过特 殊方式对它进行编程; EEPROM 为电可擦除可编程 ROM , 能够通过一定的通电方式对内 容进行擦除并写入新的信息。 3.CAS#为列地址选通信号,用于指示地址总线上的有效数据 为列地址; RAS#为行地址选通信号,用于指示地址 总线上的有效数据为列地址。

28、 5. 直接 映象 Cache 是将主存储器中每一页大小分成和 Cache 存储器大小一致, Cache 中每一块 分配一个索引字 段以确定字段,这样可以通过一次地址比较即可确定是否命中,但如果频 繁访问不同页号主存储器时需要做频繁 的转换, 降低系统性能; 成组相联 Cache 内部有多 组直接映象的 Cache ,组间采用全关联结构,并行地起着高速 缓存的作用。访问时需要进 行两次比较才能确定是否命中。 9. 组成 4K ×8 的存储器,那么需要 4 片这样的芯片:将 A15 取反后分配芯片 1 的 CS #;将 A14 取反后分配 给芯片 2 的 CS #;将 A13 取反 后

29、分配芯片 3 的 CS #; 将 A12 取反后分配给芯片 4 的 CS #。 那么芯片 1 的 地 址 范 围 可 以 是 (0x80000x83FF (0x84000x87FF (0x88000x8BFF (0x8C000x8FFF ? 、 、 、 、 、 (0xF4000xF7FF (0xF8000xFBFF (0xFC000xFFFF , 芯 片 2 的 地 址 范 围 可 以 是 (0x40000x43FF 、 、 、 (0x44000x47FF (0x48000x4BFF (0x4C000x4FFF 、 、 、 ? 、 (0xF4000xF7FF (0xF8000xFBFF 、 、

30、 (0xFC000xFFFF ,这样会造成地址的重复。 12. 因为 EPROM2764 是 8K*8 的 ROM , 所 以 要 构 成 64K*8 的 存 储器 系 统 , 需 要 8 片 EPROM2764。 其中 CPU 的 A12A0 直接与 8 片 EPROM 的 A12A0 相连 (没有考 虑驱动能力问题 A15、 , A14 和 A13 与 138 的 A 、 B 、 C 三个端口相连,其他地 址线 (A19A16 和 M/IO#组合连到 G1、 G2A 和 G2B 上, 确保 A19=0、 A18=1、 A17=0 和 A16=0 即可。 第六章 3、什么叫 I/O 端口?一

31、般的接口电路中可以设置哪些端口? 计算机对 I/O 端口编址时采用哪两种方法?在 8086/8088CPU 中一般采用哪种编址方 法? 答:在 CPU 与外设通信时,传送的信息主要包括数据信息、状态信息和控制信息。 在接口电路中,这些信息分 别进入不同的寄存器,通常将这些寄存器和它们的控制逻辑统 称为 I/O 端口。 一般的接口电路中可以设置数据端 口、状态端口和命令端口。计算机对 I/O 端口编址时采用两种方法:存储器映像寻址方式、 I/O 单独编址方式。 在 8086/8088CPU 中一般采用 I/O 单独编址方式。 4、 CPU 与外设间传送数据主要有哪几种方式? 答:CPU 与外设间

32、的数据传送方式主要有:程序控制方式、中断方式、 DMA 方式。 7、某一个微机 系统中, 有 8 块 I/O 接口芯片, 每个芯片占有 8 个端口地址, 若起始地址为 300H , 8 块 芯片的地 址连续分布,用 74LS138 作译码器,试画出端口译码电路,并说明每个芯片的 端口地址范围。 8、什么叫总线?总线分哪几类?在微型计算机中采用总线结构有什么好 处? 答:在微型计算机系统中, 将用于各部件之间传送信息的公共通路称为总线 (BUS 。 总线分三类:片级总线、系统总线、外部总线。 在微型计算机中采用总线的好处有:? 总 线具有通用性,只要按统一的总线标准进行设计或连接,不同厂家生产的

33、插件板可以互换, 不同系统之间 可以互连和通信,很适合于大批量生产、组装和调试,也便于更新和扩充系 统。对于用户来说,可以根据自身需 要,灵活地选购接口板和存储器插件,还可以根据总 线标准的要求,自行设计接口电路板,来组装成适合自己的 应用需要的系统或更新原有系 统。 第七章习题及答案:P302 习题 4、 8、 10、 14、 15 4. CPU 响应中断的条件是什么, 简述中断处理过程。 答:CPU 响应外部中断的条件:(1接收到外设提出的有效中断请 求信号; (2 CPU 开放中断,即中断标志 IF 是“ 1” ; (3 CPU 执行完当前指令。 中断处理过程包含五个步骤:中断请求、 中

34、断判优、 中断响应、 中断处理和中断返回。 (1 中断请求:中断源发出中断请求信号,送到 CPU 的 INTR 或 NMI 引脚; (2中断判 优:根据中断优先权, 找出中断请求中级别最高的中断源, 允许中断嵌套; (3 中断响应:在每条指令的最后一个时钟周期, CPU 检测 INTR 或 NMI 信号, 在满足一定条件下, CPU 进入 中断响应周期,自动完成:向中断源发出 INTA 中断响应信号、关中断(清 IF 、 断点保护(CS 、 IP 及 PSW 自动 压栈 、形成并转向中断入口地址; (4中断处理:由中断服务程序完成,包括保护现场;开放中断;中断服务程序;关中断;恢复现场;开放

35、中断; 中断返回 IRET 等; (5中断返回:执行中断返回指令 IRET , CPU 自动返回到 断点地址(弹出堆栈内保存的断点信息到 IP 、 CS 和 FLAG 中 ,继续执行被中断的程 序。 8.假定中断类型号 15 的中断处理程序的首地址为 ROUT15,编写主程序为其建立 一个中断向量。 答 1:答 2:PUSH ES PUSH DS MOV AX, 0 MOV AX, SEG OUT15 ; 中断处理程序的段地址 MOV ES, AX AX MOV DI, 54H ; 15H*4 MOV DS, AX MOV AX , OFFSET OUT15;中断处理程序的偏移 MOV AX,

36、 OFFSET OUT15;中断处理程序的 偏移 AX AX CLD MOV AL, 15H ;中断类型号 STOSW MOV AH, 25H ;设中断向 量 INT 21H MOV AX, SEG OUT15 ;中断处理程序的段 POP DS 地址 AX STOSW POP ES 10. 给 定 SP=0100H, SS=0500H, PSW=0240H, 在 存 储 单 元 中 已 有 内 容 为 (00024H=0060H, (00026H=1000H, 在段地址为 0800H 及偏移地址为 00A0H 的单元中 有一条中断指令 INT 9,试问执行 INT 9 指令后, SP 、 SS

37、 、 IP 、 PSW 的内容是什么?栈 顶的三个字是什么? 答:执行 INT 9 指令, 标志寄存器 PSW 、 下一条指令的段地址 CS 和 指令指针 IP 的值分别入栈, PSW 中的中断 允许标志 IF 和单步标志 TF 清 0, 中断向量 表的中断入口地址送 CS 和 IP , 转入中断服务子程序。 所以此时 SP =0FAH , SS =0500H , CS =1000H , IP =0060H , PSW =0040H 。 栈顶的三个字是:(0500H:0FAH=00A2H 、 (0500H:0FCH =0800H 、 (0500H:0FEH=0240H 14.系统中有 3 个中

38、断源,从 8259A 的 IR0、 IR2、 IR4 端引入中断,以边沿触发,中断类型号分别为 50H 、 52H 、 54H ,中断入 口地址分别为 5020H 、 6100H 、 3250H , 段地址为 1000H 。 使用完全嵌套方式, 普通 EOI 结 束,试编 写初始化程序, CPU 能正确响应任何一级中断; 使 并编写一段中断服务子程 序, 保证中断嵌套的实现和正确返回。 答:; 初始化程序 MOV DX, 3250H ; 偏移地址 ; 设置中断向量表 MOV AL, 54H ; 中断类型号 MOV AX, 1000H ; 段地址 INT 21H ; 写 54H 的中断入口地址

39、MOV DS, AX MOV DX, 5020H ;偏移地址 ;8259A 初始化命令字 MOV AL, 50H ;中断类型号 MOV AL, 13H ;定义 ICW1, 单片, 边沿触发 MOV AH, 25H OUT 20H, AL INT 21H ;写 50H 的中断入口地址 MOV AL, 50H ;定义 ICW2, 中断号 50H57H OUT 21H, AL MOV DX, 6100H ;偏移地址 MOV AL, 52H ;中断类型号 MOV AL, 01H ;定义 ICW4, 完 全嵌套 , 非缓冲 , INT 21H ;写 52H 的中断入口地址 普通 EOI OUT MOV

40、OUT 21H, AL AL, 0E6H 21H, AL ;定义 OCW1,屏蔽 IR1,3,5,6,7 CLI EOI POP POP POP POP IRET ;执行 中断处理程序 ;关中断 ;中断结束命令 ;恢复现场 ; 中断服务子程序 DX CX PUSH DS ;保护现场 PUSH AX AX PUSH CX DS PUSH DX ;中断返回 STI ;开中断,允许中断嵌套 15.如外设 A1、 A2、 A3、 A4、 A5 按完全嵌套优先级排列规则,外设 A1 的优先级最高, A5 最低。若中断请求 的次序如下所示,试给出各外设的中断处理程序的次序。 (假设所 有的中断处理程序开始

41、后就有 STI 指令 (1 外设 A3 和 A4 同时发出中断请求; (2 在外设 A3 的中断处理中,外设 A1 发出中断请求; (3在外设 A1 的中断处理未完成 前,发出 EOI 结束命令,外设 A5 发出中断请求 答:外设的中断处理程序的次序为:A3 A1 A3 A4 A5 第八章习题及答案:3 答:8253 的初始化步骤:1写入控制字 2 写入计数初值 4 解:(1通道 0 工作于方式 3,计数器初始值为 2M/1.5k=1333.33,取 1333 (2通道 1 工作于方式 2,用通道 0 得输出端连接 CLK1,计数器初始值为 1.5k/300=5 (3 通道 2 工作于方式 3

42、, 用通道 0 得输出端连接 CLK2, 其计数脉冲 接 1.5k 方波, 计数器初始值为 1.5k ×(2/50=60 初始化程序:低字节 OUT DX, AL ;初始 化通道 0 MOV DX, 306H MOV DX, 302H MOV AL, 5 MOV AL, 00111111B ;方式 3, BCD码计数,先写低 OUT DX,AL 字节,后写高字节 OUT DX, AL ;初始化通道 2 MOV DX, 306H MOV DX, 300H ;写低字节 MOV AL, 33H MOV AL, 10010111B ; 方式 3, BCD 码计 数,只写 OUT DX,AL

43、低字节 MOV AL, 13H OUT DX, AL OUT DX,AL MOV DX, 304H MOV AL, 60H ;初始化通道 1 MOV DX, 306H OUT DX,AL MOV AL, 01010101B ;方式 2, BCD 码计数,只写 5 解:8253 的最高工作频率为 2MHz,根据要求进行 8 分频。 (1) 通道 0 工作于方式 3, 计数器初始值为 625k/18.2=34341, 十六进制为 8625H (2) 通道 1 工作于方式 2,计数器初始值为 1.25× 15=18.75,取 19 (3)通道 2 工作于方式 3,计 数器初始值为 1.25

44、M/2000=625 OUT 40H,AL ; 初始化通道 0 OUT 40H,AH MOV AL, 00111110B ;方式 3, 二进制码计数, 先写 低字节, 后写高字节 ;初始化通道 1 OUT 43H, AL MOV AL, 01010101B ;方式 2, BCD 码计数, 只写 MOV AX, 8625H ;写低字节 低字节 OUT 43H, AL OUT 42H,AL MOV AL, 19H MOV AL, 6H OUT 41H, AL OUT 42H,AL ; 初始化通道 2 第九章 MOV AL, 10110111B ;方式 3,BCD 码计数,先写 5 解:初始化程序为

45、 MOV AL, 10001010B 低字节,后写高字节 OUT 43H, AL OUT 86H, AL MOV AL, 25H 7 解:A 口工 作在方式 0 输入, B 口工作在方式 1 输出, C 口的作用为: PC0: 中断请求信号 INTRB, 输出,高电平有效; PC1:输入缓冲器满信号 IBFB,输出,高电平有效; PC2:选通信 号 STBB,输入,低电平有效; C 口的其它位根据控制字可设置为输入或输出位。 控制 字为:1001× B 10× A 口工作在方式 1 输入,B 口工作在方式 0 输出,C 口的作用为: PC3:中断请求信号 INTRA,输出,

46、高电平有效; PC6:外设应答信号 ACKA,输入,低 电平有效; PC7:输出缓冲器满信号 OBFA,输出,低电平有效; C 口的其它位根据控制 字可设置为输入或输出位。 控制字为:1011× B 00× 8 解:A 口工作在方式 2,B 口工 作在方式 1 输入, C 口的作用为: PC0: 中断请求信号 INTRB, 输出, 高电平有效; PC1: 输入缓冲器满信号 IBFB,输出,高电平有效; PC2:选通信号 STBB,输入,低电平有效; PC3:中断请求信号 INTRA,输出,高电平有效; PC4:选通信号 STBA,输入,低电平 有效; PC5:输入缓冲器满信

47、号 IBFA,输出,高电平有效; PC6:外设应答信号 ACKA, 输入,低电平有效; PC7:输出缓冲器满信号 OBFA,输出,低电平有效; A 口工作在方 式 2,B 口工作在方式 0 输出,C 口的作用同上,其中 PC02 可根据控制字设置为输入 或输出位。 11 解:基本原理为:通过使 8253 通道 2 工作于方式 3,产生方波信号驱动 扬声器发声,其中 8255 的 PB0 位控制 发声与否,高电平发声。8253 通道 2 的初始计 数值为 1193180/1000=1193。 程序为 MOV AL, 10110111B OUT 43H, AL MOV AL, 93H OUT 42

48、H, AL MOV AL, 11H OUT 42H, AL IN AL, 61H MOV AH, AL OR AL, 03H OUT 61H, AL 第九章作业习题课 P373 2.【答】8255A 具有 3 种基本的工作方式,在对 8255A 进行 初始化编程时,应向控制字寄存器写入方式选择控制 字,用来规定 8255A 各端口的工作 方式。这 3 种基本工作方式是: 方式 0基本输入输出方式:适用于不需要用应答信号 的简单输入输出场合。 这种方式 A 口和 B 口可 作为 8 位的端口, C 口的高 4 位和低 4 位可作为两个 4 位的端口。 方式 1选通输入输出方式:A 口和 B 口作

49、为数据口,均 可工作于输入或输出方式。端口 C 的 6 根线 用来产生或接受联络信号。 方式 2双 向总线 I/O 方式:只有 A 口可以工作于这种方式。端口 A 工作于方式 2 时,端口 C 的 5 位 (PC3PC7)作 A 口的联络控制信号。 9. 硬件系统如图所示 D7D0 7 0 RESE T RD WR A1 1 A6 6 M/IO A7 7 A5 5 A4 4 A3 3 A2 2 8255A 7 D7D0 PA7 7 0 +5V RESE T RD WR A1 1 A0 0 CS K7 7 PA0 0 K0 0 PB7 7 LED7 7 LED0 0 +5V 74LS138 G1

50、 1 G2A 2A G2B 2B C B A Y0 0 Y1 1 A0 0 PB0 0 8253 A1 1 A0 0 RD WR D7D0 7 0 CS A1 1 A0 0 RD GA TE0 0 GA TE1 1 CLK0 0 OUT0 0 CLK1 1 11:48:15 11:48:15 WR D7D0 OUT1 7 0 1 8255A: A 口输入, B 口输出 8253:2MHz/2Hz1000000 通道 0 工作于方式 2,取 N0 1000 通道 1 工作于方式 0, 取 N1999, 即得 OUT1 每 0.5 秒中断一次。本题用 8253 定时中断,中断处理时检测开关状态,并

51、点亮相应得 LED。 假设 8259A 已初始化,主程 序如下: MOV AX, SEG INTR ;形成中断矢量表 MOV DS, AX MOV DX, OFFSET INTR MOV AL, N MOV AH, 25H INT 21H MOV AL, 10010000B ;8255 初始化 OUT 83H,AL MOV AL, 00110101B ;通道 0 方式 2,BCD 计数 OUT 87H,AL MOV AL, 00H ;置初值 1000 OUT 84H,AL MOV AL, 10H 2MHz 8259A IRii 3 3 OUT 84H, AL MOV AL, 01110001B ;通道 1 方式 0,BCD 计数 OUT 87H,AL MOV AL, 99H ;置初值 999 OUT 85H, AL MOV AL, 09H OUT 85H,AL STI AGAIN:HLT JMP AGAIN 中断服务程序: INTR: PUSH AX STI IN AL, 80H ;检测开关,合上为 0 NOT AL ;取反 OUT 81H,AL ;点亮相 应 LED (合上) MOV AL, 01110001B ; 通道 1 方式 0, BCD 计数

温馨提示

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

评论

0/150

提交评论