微机原理与接口技术(楼顺天第二版)第十章习题解答
微机原理与接口技术_楼顺天版_课后题答案

微机原理与接口技术_楼顺天版_课后题答案本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March微机原理与接口技术楼顺天周佳社编著科学出版社找了好久,终于在期末从老师那儿弄了一份,希望对大家有用!5章习题1.微处理器的外部结构表现为数量有限的输入输出引脚,它们构成了微处理器级总线。
2.微处理器级总线经过形成电路之后形成了系统级总线。
3.简述总线的定义及在计算机系统中采用标准化总线的优点。
答:总线是计算机系统中模块(或子系统)之间传输数据、地址和控制信号的公共通道,它是一组公用导线,是计算机系统的重要组成部分。
采用标准化总线的优点是:1)简化软、硬件设计。
2)简化系统结构。
3)易于系统扩展。
4)便于系统更新。
5)便于调试和维修。
4.在微型计算机应用系统中,按功能层次可以把总线分成哪几类。
答:在微型计算机应用系统中,按功能层次可以把总线分成:片内总线、元件级总线、系统总线和通信总线。
5.简述RESET信号的有效形式和系统复位后的启动地址。
答:RESET为系统复位信号,高电平有效,其有效信号至少要保持四个时钟周期,且复位信号上升沿要与CLK下降沿同步。
系统复位后的启动地址为0FFFF0H。
即:(CS)=0FFFFH,(IP)=0000H。
M/信号在访问存储器时为高电平,访问I/O端口时为低电6.8086 CPU的IO平。
7.在8086系统总线结构中,为什么要有地址锁存器?答:8086CPU有20条地址线和16条数据线,为了减少引脚,采用了分时复用,共占了20条引脚。
这20条引脚在总线周期的T1状态输出地址。
为了使地址信息在总线周期的其他T状态仍保持有效,总线控制逻辑必须有一个地址锁存器,把T1状态输出的20位地址信息进行锁存。
8. 根据传送信息的种类不同,系统总线分为 数据总线 、 地址总线 和 控制总线 。
9. 三态逻辑电路输出信号的三个状态是 高电平 、 低电平 和 高阻态 。
微机原理与接口技术_楼顺天版_课后题答案

微机原理与接口技术_楼顺天版_课后题答案微机原理与接口技术楼顺天周佳社编著科学出版社微机原理与接口技术楼顺天周佳社编著科学出版社2006年习题解答因时间紧,习题解答由部分老师提供,还没有经过仔细校对,肯定有不少错误,请各位指正。
另外,习题有多种解法,答案不唯一,仅供参考。
1第1 章数制与码制1.将下列十进制数转换成二进制数:(1)58;(2)67.625;(3)5721;解:(1)58D = 0011 1010B(2)67.625D = 0100 0011.1010B(3)5721D = 0001 0110 0101 1001B2.将二进制数变换成十六进制数:(1)1001 0101B;(2)11 0100 1011B;(3)1111 1111 1111 1101B;(4)0100 0000 10101B;(5)0111 1111B;(6)0100 0000 0001B解:(1)1001 0101B = 95H(2)11 0100 1011B = 34BH(3)1111 1111 1111 1101B = FFFDH(4)0 1000 0001 0101B = 815H(5)0111 1111B = 7FH(6)0100 0000 0001B = 401H3.将十六进制数变换成二进制数和十进制数:(1)78H;(2)0A6H;(3)1000H;(4)0FFFFH解:(1)78H = 120D = 0111 1000B(2)0A6H = 166D = 1010 0110B(3)1000H = 4096D = 0001 0000 0000 0000H(4)0FFFFH = 65535D = 1111 1111 1111 1111B4.将下列十进制数转换成十六进制数:(1)39;(2)299.34375;(3)54.5625解:(1)39D = 27H(2)299.34375D = 12B.58H(3)54.5625D = 36.9H5.将下列二进制数转换成十进制数:(1)10110.101B;(2)10010010.001B;(3)11010.1101B解:(1)10110.101B = 22.625D2(2)10010010.001B = 146.125D(3)11010.1101B = 26.8125D6.计算(按原进制运算):(1)10001101B+11010B;(2)10111B+11100101B;(3)1011110B-1110B;(4)124AH+78FH;(5)5673H+123H;(6)1000H-F5CH;解:(1)10100111B(2)11111100B(3)1010000B(4)19D9H(5)5796H(6)A4H7.已知 a=1011B, b=11001B, c=100110B, 按二进制完成下列运算,并用十进制运算检查计算结果:(1)a+b; (2)c-a-b; (3)a×b;(4)c÷b解:a=1011B=11D b=11001B=25D c=100110B =38D (1)100100B = 36D(2)10B= 2D(3)1 0001 0011B=275D(4)1B余1101B= 13D8.已知 a=00111000B, b=11000111B, 计算下列逻辑运算:(1)a AND b; (2)a OR b; (3)a XOR b; (4)NOT a 解:(1)00000000B(2)11111111B(3)11111111B(4)11000111B9. 设机器字长为 8 位,写出下列各数的原码和补码:(1)+1010101B;(2)-1010101B;(3)+1111111B;(4)-1111111B;(5)+1000000B;(6)-1000000B解:(1)原01010101B补01010101B(2)原11010101B补10101011B3(3)原01111111B 补01111111B(4)原11111111B 补10000001B(5)原01000000B 补01000000B(6)原11000000B 补11000000B10. 写出下列十进制数的二进制补码表示(设机器字长为8位):(1)15;(2)-1;(3)117;(4)0;(4)-15;(5)127;(6)-128;(7)80解:(1)(00001111B)补(2)(11111111B)补(3)(01110101B)补(4)(00000000B)补(5)(11110001B)补(6)(01111111B)补(7)(10000000B)补(8)(01010000B)补11.设机器字长为8位,先将下列各数表示成二进制补码,然后按补码进行运算,并用十进制数运算进行检验:(1)87-73;(2)87+(-73);(3)87-(-73);(4)(-87)+73;(5)(-87)-73;(6)(-87)-(-73);解:(1)1110B=14D(2)00001110B 进位舍弃(3)10100000B=-96D溢出(4)11110010B=-14D(5)01100000B=96D 溢出(6)11110010B=-14D12.已知a,b,c,d 为二进制补码:a=00110010B, b=01001010B, c=11101001B, d=10111010B,计算:(1)a+b;(2)a+c;(3)c+b;(4)c+d;(5)a-b;(6)c-a;(7)d-c;(8)a+d-c解:(1)01111100B4(2)00011011B(3)00110011B(4)10100011B(5)11101000B(6)10110111B(7)11010001B(8)11B13.设下列四组为8 位二进制补码表示的十六进制数,计算a+b和 a-b,并判断其结果是否溢出:(1)a=37H, b=57H;(2)a=0B7H, b=0D7H;(3)a=0F7H, b=0D7H; (4)a=37H, b=0C7H解:(1)a+b=8EH溢出,a-b=E0H未溢出(2)8EH未溢出,E0H未溢出(3)CEH未溢出,20H未溢出(4)FEH未溢出70H未溢出14. 求下列组合 BCD 数的二进制和十六进制表示形式:(1)3251(2)12907(3)2006解:(1)0011 0010 0101 0001B = 3251H(2)0001 0010 1001 0111B = 12907H(3)0010 0000 0000 0110B = 2006H15. 将下列算式中的十进制数表示成组合BCD 码进行运算,并用加 6/减 6 修正其结果:(1)38+42;(2)56+77;(3)99+88;(4)34+69;(5)38-42;(6)77-56;(7)15-76;(8)89-23解:(1) 0011 1000B + 0100 0010B = 0111 1010B 低 BCD 码位需要加6 修正0111 1010B + 0000 0110B = 1000 0000B = 80BCD(2) 0101 0110B + 0111 0111B = 1100 1101B 高、低 BCD 码位都需要加6 修正1100 1101B + 0110 0110B = 0001 0011 0011B=133BCD(3) 1001 1001B+1000 1000B = 0001 0010 0001B 高、低BCD 码位都需要加 6 修正0001 0010 0001B +0110 0110B = 0001 1000 0111B=187BCD(4) 0011 0100B + 0110 1001B = 1001 1101B 低 BCD 码位需要加 6 修正5。
《微机原理与接口技术》—习题及参考答案

3.
4. 5.
6.错误!未指定书签。集源自-4-编者:喻其山
7. 8. 9.
8086CPU 工作在最大模式时,S 2 、 S1 、 S 0 在 CPU 访问存储器与 CPU 访问外 部设备时,分别是什么状态? 在 8086 最大模式系统中,8288 总线控制器的作用是什么?它产生哪些控制 信号? FFFFF FFFFE 8086 采用什么方式管理内存?1MB 的内存空 间分为哪两个存储体?它们如何与地址总线、 数据总线相连? 答:(1)、8086 采用分段方式管理内存; (2)、 1MB 的内存空间分为偶地址和奇地址 两个存储体; A19~A1 (3)、如右图所示:
错误!未指定书签。集
-
1
-
编者:喻其山
第1章
1.
微型计算机概述
冯· 诺依曼计算机的结构特点是什么? 答:(1)、由运算器、控制器、存储器、输入设备和输出设备五大部分组成。 (2)、数据和程序以二进制代码形式不加区别地存放在存储器中,存放位 置由地址指定,地址码也为二进制。 (3)、控制器是根据存放在存储器中的指令序列及程序来工作的,并由一 个程序计数器(即指令地址计数器)控制指令的执行。控制器具有 判断能力,能以计算结果为基础,选择不同的动作流程。 微处理器内部一般由哪些部分组成?各部分的主要功能是什么? 典型微机有哪三大总线?它们传送的是什么信息? 答:(1)、有数据总线,地址总线和控制总线。 (2)、数据总线用来传输数据信息,是双向总线; 地址总线用于传送 CPU 发出的地址信息,是单向总线; 控制总线用来传送控制信号、时序信号和状态信息等。 其中有的是 CPU 向内存和外设发出的信息,有的则是内存或外设向 CPU 发出的信息。 可见,CB 中每一根线的方向是一定的、单向的,但 CB 作为一个整体是双 向的。 试用示意图说明内存单元的地址和内存单元的内容,二者有何联系和区别? 答:示意图如右所示: 联系:存储单元中存放着信息,该信 息可以是数据, 也可以是另一单元的地址 的一部分, 每个存储单元都包含着地址和 内容两个部分。都用二进制数表示,地址 为无符号整数,书写格式为 16 进制。 区别: 地址是微机用来管理内存单元 而设置的,相当于内存单元的编号;而内 容是存放在各个内存单元中的二进制信 息。
电子科技大学微机系统原理与接口第二版课后习题答案chapter10习题解答

“微处理器系统原理与嵌入式系统设计”第十章习题解答10.2 简述以ARM微处理器为核心的最小硬件系统的组成?●ARM微处理器;●电源模块,包括CPU内核和I/O接口电源;●时钟模块,包括系统主时钟和实时时钟;●复位模块,包括系统加电复位、手动复位和内部复位;●存储器模块,包括程序保存存储器和程序运行存储器;●JTAG调试接口模块。
10.4 简述S3C2440A芯片中各模块时钟信号产生及配置的原理。
为降低系统功耗,可时钟信号进行哪些处理?系统复位信号与各时钟信号有什么关系?当系统主时钟送入S3C2440A芯片后,进入其时钟发生模块,由锁相环进行相应的处理,最终得到FCLK,HCLK,PCLK和UCLK四组时钟信号。
其中,FCLK信号主要供给ARM920T内核使用,HCLK主要供给AHB总线、存储器控制器、中断控制器、LCD控制器、DMA控制器和USB主机模块;PCLK主要供给访问APB总线的外设,例如WDT,I2S,I2C,PWM定时器,MMC接口,ADC,UART,GPIO,RTC和SPI模块;UCLK主要提供USB模块需要的48MHz 时钟。
为降低系统功耗,可对时钟信号进行门控管理。
最低功耗情况下,只开启FCLK信号,其他时钟信号关闭;若需对其他外设,只需使能相应总线及外设的时钟信号有效即可。
系统复位信号一般包括加电复位、手动复位和内部复位三类。
其中,加电复位和手动复位信号均来自外部复位电路,内部复位信号一般来自系统内部事务处理(例如看门狗复位等)。
因此,系统对外部复位信号波形有一定的要求,若不能满足要求系统将不能正常工作。
在S3C2440A芯片中,要完成正确的系统复位,在处理电源保持稳定之后,该信号必须至少维持4个FCLK时钟的低电平状态。
10.6 利用S3C2440A的GPIO端口,设计包含8个LED的流水灯电路,每个LED 间隔1S轮流点亮,试画出程序流程图并写出相关程序段。
假设利用S3C2440A芯片的GPIO端口G的第0~7引脚驱动8个LED电路,对应GPIO输出为0时LED灯亮,则相应程序流程图及相应程序段如下所示:GPGCON EQU 0x56000060GPGDAT EQU 0x56000064GPGUP EQU 0x56000068;配置GPGCON寄存器,设置相关引脚为输出功能LDR R0,=GPGCONLDR R1,[R0]BIC R1,R1,#0x0000FFFFORR R1,R1,#0x00005555STR R1,[R0];配置GPGUP寄存器,断开各上拉电阻LDR R0,=GPGUPLDR R1,[R0]ORR R1,R1,#0x00FFSTR R1,[R0];输出驱动数据,点亮对应LED等LDR R2,=GPGDATLDR R3,[R2]BIC R3,R3,#0x00FFORR R3,R3,#0x00FESTR R3,[R2]LDR R0,=0xFFFFFF ;初始计数值BL DELAY ;调用延迟子程序…LDR R2,=GPGDATLDR R3,[R2]BIC R3,R3,#0x00FFORR R3,R3,#0x007FSTR R3,[R2]LDR R0,=0xFFFFFF ;初始计数值BL DELAY ;调用延迟子程序B LOOPSTARDELAYSUB R0,R0,#1CMP R0,#0x0BNE DELAYMOV PC,LR10.7 在上题中,如果要加入一个按键,实现按键按下时流水灯停止流动,按键放开时流水灯正常流转的功能,思考应怎样修改电路和程序?在上题的基础上,添加一个GPIO口作为输入管脚(GPA的GPA[0]),按键按下GPA[0]值为1,否则为零。
微机原理与接口技术(习题答案)(DOC)(精编文档).doc

【最新整理,下载后即可编辑】第1章 微机运算基础习题和思考题1. 请完成以下计算:174.66D=(10101110.10101)B =(AE. A8)H10101110101.01011B =( 1397.344)D =(575.58)H4BCH =(010*********)B =( )BCD2. 设字长为8位,X =(2A )16,当X 分别为原码、补码、反码和无符号数的时候,其真值是多少?答:当X 表示原码时,其真值为:+101010当X 表示补码时,其真值为:+101010当X 表示反码时,其真值为:+101010当X 表示无符号数数时,其真值为:001010103. 设字长为8位,用补码形式完成下列计算,要求有运算结果并讨论是否发生溢出?120+18 -33-37-90-70 50+84答:120+18其补码形式分别为:(120)补=01111000 (18)补=00010010 01111000+ 0001001010001010由于C s =0 ,C p =1,因此有溢出,结果错误-33-37其补码形式为:(-33)补=11011111 (-37)补=11011011 11011111+1101101110111010由于C s =1, C p =1,所以没有溢出,结果正确-90-70其补码形式为:(-90)补=10011100 (-70)补=10111010 10011100+1011101001010110由于C s =1, C p =0,所以有溢出,结果错误50+84其补码形式为:(50)补=00110010 (84)补=0101010000110010+0101010010000110由于C s =0, C p =1,所以有溢出,结果错误4. 请写出下列字符串的ASCII 码值。
My name is Zhang san.4D 79 6E 61 6D 65 69 73 5A 68 61 6E 67 73 61 6E 2E第2章80X86微机系统习题与思考题1.微型计算机主要由哪些基本部件组成?各部件的主要功能是什么?答:微型计算机主要由输入设备、运算器、控制器、存储器和输出设备组成。
微机原理与接口技术(楼顺天第二版)第十章习题解答

微机原理与接口技术(楼顺天第二版)习题解答第10章 并行接口芯片8255A 应用设计10.1答:方式0是基本的输入/输出,端口A 、B 、C 都可以作为输入输出端口。
适用于CPU 与非智能I/O 设备的数据传输;方式1是有联络信号的输入/输出,端口A 、B 都可以设定成该方式,此时三个端口的信号线分成了A 、B 两组,74~PC PC 用作A 组的联络信号,30~PC PC 用作B 组的联络信号。
适用于高速CPU 与低速I/O 设备的数据传输;方式2是双向传输,只有A 组端口可以设定成该方式,PC 6~PC 7用作输出的联络信号,PC 4~PC 5用作输入的联络信号,PC 3用作中断请求信号。
适用于双机之间数据的并行传送。
10.2 答:(1)PC 6~PC 7用作输出的联络信号,PC 4~PC 5用作输入的联络信号,PC 3用作中断请求信号,PC 0~PC 2用作基本I/O 。
(2)PC 4~PC 5用作输入的联络信号,PC 3用作中断请求信号,PC 1~PC 2用作输入的联络信号,PC 0用作中断请求信号。
PC 6~PC 7用作基本I/O 。
(3)PC 6~PC 7用作输出的联络信号,PC 4~PC 5用作输入的联络信号,PC 3用作中断请求信号,PC 1~PC 2用作输入的联络信号,PC 0用作中断请求信号。
(4)STB :由外设(输入设备)提供的选题脉冲,表示将外设送来的数据锁存到端口寄存器;IBF :是8255A 向外设STB 信号的响应,表示端口寄存器已经收到数据,但尚未被CPU 取走(CPU 通过读命令从端口寄存器取走数据后,IBF 自动变为0);OBF :由8255A 向外设(输出设备)发出的数据准备好信号,表示CPU 已经将数据写入端口寄存器;ACK :外设向8255A 发回的响应,其有效表示外设已经将数据从端口寄存器取走,该信号使得8255A 的OBF 变高,CPU 可以再一次向8255A 发送数据;INTE :是8255A 内的中断允许触发器,可以通过对C 口的PC 6,PC 4,PC 2通过按位置位/复位命令字设定;INTR :是8255A 进行选通输入输出时的中断请求信号,A 口的选通输入输出用PC 3,B 口的选通输入输出用PC 0。
微机原理与接口技术(第二版)课后习题答案完整版

微机原理与接口技术(第二版)课后习题答案完整版标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-习题11.什么是汇编语言,汇编程序,和机器语言答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。
汇编语言是面向及其的程序设计语言。
在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。
这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。
使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。
2.微型计算机系统有哪些特点具有这些特点的根本原因是什么答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。
这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。
3.微型计算机系统由哪些功能部件组成试说明“存储程序控制”的概念。
答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。
“存储程序控制”的概念可简要地概括为以下几点:①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。
②在计算机内部采用二进制来表示程序和数据。
③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。
④五大部件以运算器为中心进行组织。
4.请说明微型计算机系统的工作过程。
答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。
如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。
5.试说明微处理器字长的意义。
答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。
微机原理与接口技术(楼顺天)-第10章

10.3 8255A的控制字及工作方式
2. 8255A的工作方式
⑴方式0 —— 基本的输入/输出
由方式控制字设置 注意A、组B组的提法与设置
10.3 8255A的控制字及工作方式
⑵方式1 —— 有联络信号的输入/输出 由方式控制字设置
三个端口分成A、B两组,C口的PC7-PC4 用作为A组的联络信号, PC3-PC0用作 为B组的联络信号(大致的说法) 具体联络信号线的定义与方式1下输入 和输出方式相关
~ PC 0 ~ PB 0
…
…
=0
A3 A0
10.4 8255A与系统总线的接口方法
2.8086最大方式系统总线与8255的连接图
D7 8086 CPU 最大 方式 系统 总线 A15 A3 A0 译码 电路 PC 3 IOR IOW A2 A1
~ D0
D7 RD WR A1 A0
~ D0
PA 7 PC 7 Intel 8255A
IBM PC机 系统 总线
译码 电路
PC 3 CS PB 7
~ PC 0 ~ PB 0
…
A3 A0
=0
…
10.5 8255A的应用设计
例10.1 在8086最小方式系统中,利用 8255A某端口输入8位开关量,并通过另 一个端送出,以发光二极管指示数据, 灯亮表示数据“1”,灯灭表示数据“0”。 8255A的端口地址为280H~287H中的奇 地址,设计系统总线与8255A的连接电 路,并编程实现。
10.3 8255A的控制字及工作方式
⑶方式2 —— 双向传送
双向传送数据方式,仅A口适用,实质 是A口在方式1输入与输出工作的组合
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理与接口技术(楼顺天第二版)习题解答第10章 并行接口芯片8255A 应用设计10.1答:方式0是基本的输入/输出,端口A 、B 、C 都可以作为输入输出端口。
适用于CPU 与非智能I/O 设备的数据传输;方式1是有联络信号的输入/输出,端口A 、B 都可以设定成该方式,此时三个端口的信号线分成了A 、B 两组,74~PC PC 用作A 组的联络信号,30~PC PC 用作B 组的联络信号。
适用于高速CPU 与低速I/O 设备的数据传输;方式2是双向传输,只有A 组端口可以设定成该方式,PC 6~PC 7用作输出的联络信号,PC 4~PC 5用作输入的联络信号,PC 3用作中断请求信号。
适用于双机之间数据的并行传送。
10.2 答:(1)PC 6~PC 7用作输出的联络信号,PC 4~PC 5用作输入的联络信号,PC 3用作中断请求信号,PC 0~PC 2用作基本I/O 。
(2)PC 4~PC 5用作输入的联络信号,PC 3用作中断请求信号,PC 1~PC 2用作输入的联络信号,PC 0用作中断请求信号。
PC 6~PC 7用作基本I/O 。
(3)PC 6~PC 7用作输出的联络信号,PC 4~PC 5用作输入的联络信号,PC 3用作中断请求信号,PC 1~PC 2用作输入的联络信号,PC 0用作中断请求信号。
(4)STB :由外设(输入设备)提供的选题脉冲,表示将外设送来的数据锁存到端口寄存器;IBF :是8255A 向外设STB 信号的响应,表示端口寄存器已经收到数据,但尚未被CPU 取走(CPU 通过读命令从端口寄存器取走数据后,IBF 自动变为0);OBF :由8255A 向外设(输出设备)发出的数据准备好信号,表示CPU 已经将数据写入端口寄存器;ACK :外设向8255A 发回的响应,其有效表示外设已经将数据从端口寄存器取走,该信号使得8255A 的OBF 变高,CPU 可以再一次向8255A 发送数据;INTE :是8255A 内的中断允许触发器,可以通过对C 口的PC 6,PC 4,PC 2通过按位置位/复位命令字设定;INTR :是8255A 进行选通输入输出时的中断请求信号,A 口的选通输入输出用PC 3,B 口的选通输入输出用PC 0。
10.3 答:8255A 工作在方式1输入或输出时,中断请求信号从C 口的PC 3引出;输入中断由INTEA (PC 4通过按位置位/复位命令字设定)和IBF 相与产生,输出中断由INTEA (PC 6通过按位置位/复位命令字设定)和OBF 相与产生;中断屏蔽由PC 6,PC 4通过按位置位/复位命令字设定。
10.4 答:1,1,110.5 答:A口+ PC3~PC7;B口+ PC0~PC2。
10.6 答:110.7 答:010.8 答:PC3~PC710.9 答:1~310.10 答:中断允许触发器,PC6,PC410.11 答:(1)D (2)A,D (3)D (4)D (5)A (6)A (7)B10.12 答:MOV DX,303HMOV AL,10000011BOUT DX,ALMOV DX,302HIN AL,DXMOV CL,4SHL AL,CLOUT DX,AL10.13 答:(1)根据题目给出的端口地址,在8086最小方式系统下,8255A与K15~K0以及4个发光二极管的连接图如下所示。
(2) 编写程序段实现连续检测并显示开关量中“1”的个数。
开关量中“1”的个数以二进制形式显示。
MOV DX,8F07HMOV AL,10010010B ;端口A、B方式0输入,端口C方式0输出OUT DX,ALNEXT:MOV DX,8F03H ;从端口B读取高8位开关量IN AL,DXXCHG AL,AHMOV DX,8F01H ;从端口A读取低8位开关量IN AL,DXMOV BX,AXXOR AL,ALMOV CX,16CLCL2:SHL BX,1JNC L1INC ALL1:LOOP L2MOV DX,8F05H ;从端口C送出OUT DX,ALJMP NEXT ;进行下一次检测10.14 答:8255A与IBM PC机总线的连接框图如下:可将8255A的端口A作为要产生的信号的输出端口,设定为方式0输出,端口B和端口C 不做使用,均设定为方式0输出。
程序段如下:MOV DX,263H ;设定8255A的工作方式MOV AL,10000000BOUT DX,ALMOV DX,260H ;产生指定信号XOR AL,ALOUT DX,ALREP:MOV AL,80HMOV CX,7REP1:OUT DX,ALSAR AL,1LOOP REP1MOV CX,8REP2:SHL AL,1OUT DX,ALLOOP REP2JMP REP10.15 答:由于开关量是16为数据,故可以将8255A的PA端口与PB端口设定为方式0,分别读取开关量的低八位和高八位,以PC端口的低三位控制八选一电路的输出依次从X0到X7,使用PC端口的高四位输出最大开关量的序号(该序号为1~8),控制发光二极管的亮灭以指示序号。
连接图如下:(下面电路中,当八选一输出Y有效时,能选通1组16位开关量数据)程序段如下:MOV DX,263HMOV AL,10010010B ;设定工作方式,PA,PB均工作于方式0,PA、PB为;输入,PC为输出OUT DX,ALMOV CX,8XOR BX,BXMOV SI,0 ;SI表示输入开关量的序号ST1:MOV DX,262HMOV AL,SIOUT DX,ALMOV DX,260H ;将开关量数据的低八位读入ALIN AL,DXMOV AH,ALMOV DX,261H ;将开关量数据的高八位读入ALIN AL,DXXCHG AH,ALCMP BX,AXJA NEXTMOV BX,AX ;将当前最大值保存在BX中MOV DI, SI ;将当前最大值的序号保存到DI中NEXT:INC SILOOP ST1MOV AX, DIMOV CL,4ROL AL,CL ;将最大值的序号(4位)移至AL的高四位MOV DX,262HOUT DX,AL ;PC的高四位输出最大值序号10.16 答:根据题图,8255A的端口地址为3F0H~3F6H中的4个偶地址端口。
中断向量表设置和8255A初始化程序段如下:;设置A口的中断向量PUSH DSMOV AX,0MOV DS,AXMOV SI,4AHSHL SI,1SHL SI,1MOV [SI],OFFSET SERV ;中断服务程序偏移地址存入向量表ADD SI,2MOV AX,CSMOV [SI],AX ;中断服务程序的段地址存入向量表POP DS;设置8255A的工作方式MOV DX,3F6HMOV AL,10111001B ;A口方式1,输入;B口方式0,输出;C口输入OUT DX,AL;设置INTEA=1MOV AL,00001001B ;PC4置位OUT DX,AL10.17 答:根据题图,8255A的端口地址为180H~187H。
PC0输出,PC5和PC6输入。
A口输出,所以A口方式0,输出;B口方式0,输出;C口高半部输入,C口低半部输出。
方式命令字为10001000B。
程序段为:;设置8255A的工作方式MOV DX,186H ;控制字口地址送DXMOV AL,10001000B ;A口方式0,输出;B口方式0,输出;;C口高半部输入,C口低半部输出OUT DX,AL;查询C口PC5、PC6MOV DX,184H ;C口地址送DXCHECK:IN AL,DXTEST AL,01100000BJNZ CHECK;输出CHAR变量数据,数据送到8255A的A端口寄存器MOV AL,CHAR ;输出数据送ALMOV DX,180H ;A口地址送DXOUT DX,AL;向打印机发选通信号,一个低电平的脉冲,先置位PC0,再复位PC0;然后延时,再置位PC0MOV DX,186HMOV AL,00000001BOUT DX,AL ;置位PC0MOV AL,00000000BOUT DX,AL ;复位PC0CALL DELAY ;延时MOV AL,00000001BOUT DX,AL ;置位PC0HLTDELAY: MOV CX,0FFFHDELAY1: NOPLOOP DELAY110.18 答:根据题图,8255A的端口地址为38H~3EH中的偶地址。
A口方式0输出,B口方式0输入,C口低半部输入,高半部输出。
程序段为:;设置8255A的工作方式MOV DX,03EH ;控制字口地址送DXMOV AL,10000011B ;A口方式0,输出;B口方式0,输入;;C口高半部输出,C口低半部输入OUT DX,ALMOV CX,100;启动输入机,通过置位/复位实现一个高电平脉冲SETSTART:MOV DX,03EHMOV AL,00001100BOUT DX,AL ;复位PC6MOV AL,00001101BOUT DX,AL ;置位PC6CALL DELAY ;延时MOV AL,00001100BOUT DX,AL ;复位PC6;查询C口PC1MOV DX,03CH ;C口地址送DXCHECK:IN AL,DXTEST AL,00000010BJZ CHECK;输入数据MOV DX,03AH ;B口地址送DXIN AL,DXMOV CHARS,AL ;将输入字符存入CHARS变量中;查询C口PC0MOV DX,03CH ;C口地址送DXCHECK1:IN AL,DXTEST AL,00000001BJZ CHECK1;输出CHAR变量数据,数据送到8255A的A端口寄存器MOV AL,CHARS ;输出数据送ALMOV DX,038H ;A口地址送DXOUT DX,AL;向打印机发选通信号,一个低电平的脉冲,先置位PC0,再复位PC0;然后延时,再置位PC0MOV DX,03EHMOV AL,00001110BOUT DX,AL ;复位PC7MOV AL,00001111BOUT DX,AL ;置位PC7CALL DELAY ;延时MOV AL,00001110BOUT DX,AL ;复位PC7LOOP SETSTARTHLTDELAY: PUSH CXMOV CX,0FFFHDELAY1: NOPLOOP DELAY1POP CX10.19 答:根据题图,8255A的一组端口地址为8000H~8006H,8259A的一组端口地址为8020H和8022H。
8255A的B口工作在方式1,输出。
中断向量为97H。
程序段为:;设置B口的中断向量PUSH DSMOV AX,0MOV DS,AXMOV SI,97HSHL SI,1SHL SI,1MOV [SI],OFFSET INT_SERVICE ;中断服务程序偏移地址存入向量表ADD SI,2MOV AX,CSMOV [SI],AX ;中断服务程序的段地址存入向量表POP DS;设置8255A的工作方式MOV DX,8006HMOV AL,10000100B ;A口方式0,输出;B口方式1,输出;C口输出OUT DX,AL;设置INTEA=1MOV AL,00000101B ;PC2置位OUT DX,AL;8259A初始化程序段MOV DX,8020H ;8259A的偶地址端口MOV AL,00011011B ;电平触发、单片、要ICW4OUT DX,AL ;写ICW1MOV DX,8022HMOV AL,90HOUT DX,AL ;写ICW2MOV AL,00000011B ;一般全嵌套、非缓冲、自动中断结束OUT DX,AL;向8255A的B口输出一个字符MOV BX,OFFSET DISPCHARMOV DX,8002HMOV AL,[BX]OUT DX,ALJMP $;中断服务程序INT_SERVICE: STI ;开中断INC BX;下面程序段检查200个字符输出完否MOV SI,OFFSET DISPCHARADD SI,200CMP BX,SIJB OUTPUTMOV DX,8022H ;送9259A的基地址给DXMOV AL,10000000BOUT DX,AL ;屏蔽IR7JMP OVEROUTPUT:MOV AL,[BX] ;获取打印数据MOV DX,802H ;B口地址送DXOUT DX,ALOVER: IRET10.20 答:(1)电路图如下:(2)8255A的初始化程序;设置8255A的工作方式MOV DX,0FF03HMOV AL,10100000B ;A口方式1,输出;B口方式0,输出;C口输出 OUT DX,AL;设置INTEA=1MOV AL,00001101B ;PC6置位OUT DX,AL(3)8259A初始化程序;8259A初始化程序段MOV DX,0FF0CH ;8259A的偶地址端口MOV AL,00010011B ;边沿触发、单片、要ICW4OUT DX,AL ;写ICW1MOV DX,0FF0DHMOV AL,80HOUT DX,AL ;写ICW2MOV AL,00000011B ;一般全嵌套、非缓冲、自动中断结束OUT DX,AL(4);设置B口的中断向量PUSH DSMOV AX,0MOV DS,AXMOV SI,83HSHL SI,1SHL SI,1MOV [SI],OFFSET PRINT ;中断服务程序偏移地址存入向量表ADD SI,2MOV AX,CSMOV [SI],AX ;中断服务程序的段地址存入向量表POP DS中断服务程序;中断服务程序INT_SERVICE: STI ;开中断INC BX;下面程序段检查200个字符输出完否MOV SI,OFFSET BUFADD SI,100CMP BX,SIJB OUTPUTMOV DX,0FF0DH ;送8259A的奇地址给DXMOV AL,00001000BOUT DX,AL ;屏蔽IR3JMP OVEROUTPUT:MOV AL,[BX] ;获取打印数据MOV DX,0FF00H ;8255A的A口地址送DX OUT DX,ALOVER: IRET。