微机原理习题7_答案(部分)
微机原理与接口技术课后习题答案

微机原理与接口技术习题参考答案第一章(p20)1、参考答案:冯•诺伊曼计算机的设计思想(EDVAC方案:存储程序通用电子计算机方案):①计算机分为计算器、控制器、存储器、输入和输出装置五个部分;②计算机内采用二进制;③将程序存储在计算机内,简称“程序存储”。
其中第三点是冯•诺依曼计算机设计的精华,所以人们又把冯•诺依曼原理叫做程序存储原理,即程序由指令组成并和数据一起存放在存储器中,机器则按程序指定的逻辑顺序把指令从存储器中读出来并逐条执行,从而自动完成程序描述的处理工作。
冯•诺伊曼计算机主要以运算器和控制器为中心,结构框图如下图所示。
2、参考答案:微处理器就是中央处理器CPU,是计算机的核心,单独的CPU不能构成计算机系统;微型计算机由微处理器、主存储器、I/O接口(注意:不是I/O设备)组成;而微型计算机系统除了包括微型计算机外,还有系统软件(即操作系统)、应用软件、外存储器和I/O设备等。
微型计算机系统结构如下图所示。
3、答案略,见p6~74、答案略,见图2,或教材图1-35、答案略,见p12~136、参考答案:由于8086微处理器的地址总线的宽度为20位,所以它可寻址220=1M字节的存储空间;而PentiumII微处理器的地址总线的宽度为36位,所以它可寻址236=64G字节的存储空间。
7、参考答案:①PCI(Peripheral Component Interconnect:外围设备互联),是Intel公司1992年发布486微处理器时推出的32/64位标准总线,数据传输速率位132MB/s,适用于Pentium微型计算机。
PCI总线是同步且独立于微处理器的具有即插即用(PNP:Plug and play,所谓即插即用,是指当板卡插入系统时,系统会自动对板卡所需资源进行分配,如基地址、中断号等,并自动寻找相应的驱动程序)的特性.PCI总线允许任何微处理器通过桥接口连接到PCI 总线上。
微机原理(第三版)课后练习答案

1 思考与练习题一、选择题1.计算机硬件中最核心的部件是( )。
CA.运算器B.主存储器C.CPUD.输入/输出设备2.微机的性能主要取决于( )。
A(B——计算机数据处理能力的一个重要指标)A.CPUB.主存储器C.硬盘D.显示器3.计算机中带符号数的表示通常采用( )。
CA.原码B.反码C.补码D.BCD码4.采用补码表示的8位二进制数真值范围是( )。
CA.-127~+127B.-1 27~+128C.-128~+127D.-128~+1285.大写字母“B”的ASCII码是( )。
BA.41HB.42HC.61HD.62H6.某数在计算机中用压缩BCD码表示为10010011,其真值为( )。
CA.10010011BB.93HC.93D.147二、填空题1.微处理器是指_CPU_;微型计算机以_CPU_为核心,配置_内存和I/O接口_构成;其特点是_(1)功能强 (2)可靠性高 (3)价格低 (4)适应性强 (5)体积小 (6)维护方便_。
P8 P52.主存容量是指_RAM和ROM总和_;它是衡量微型计算机_计算机数据处理_能力的一个重要指标;构成主存的器件通常采用_DRAM和PROM半导体器件_。
P5 P93.系统总线是_CPU与其他部件之间传送数据、地址和控制信息_的公共通道;根据传送内容的不同可分成_数据、地址、控制_3种总线。
P94.计算机中的数据可分为_数值型和非数值型_两类,前者的作用是_表示数值大小,进行算术运算等处理操作_;后者的作用是_表示字符编码,在计算机中描述某种特定的信息_。
P125.机器数是指_数及其符号在机器中加以表示的数值化_;机器数的表示应考虑_机器数的范围、机器数的符号、机器数中小数点位置_3个因素。
P15 P166.ASCII码可以表示_128_种字符,其中起控制作用的称为_功能码_;供书写程序和描述命令使用的称为_信息码_。
P18 P19三、判断题1.计算机中带符号数采用补码表示的目的是为了简化机器数的运算。
微机原理课后习题答案

微机原理课后习题答案1.3 微型计算机采⽤总线结构有什么优点?解:采⽤总线结构,扩⼤了数据传送的灵活性、减少了连接。
⽽且总线可以标准化,易于兼容和⼯业化⽣产。
2.6 IA-32结构微处理器⽀持哪⼏种操作模式?解:IA-32结构⽀持3种操作模式:保护模式、实地址模式和系统管理模式。
操作模式确定哪些指令和结构特性是可以访问的。
2.14 8086微处理器的总线接⼝不接有哪些功能?请逐⼀说明。
解:总线接⼝单元(BIU)负责与存储器接⼝;执⾏单元(EU)执⾏各种操作。
BIU主要由段寄存器、指令指针、加法器(形成20位地址)和预取的指令流队列等组成。
2.15 8086微处理器的总线接⼝不见由哪⼏部分组成?解:8086微处理器中的总线接⼝单元(BIU)负责CPU与储存器之间的信息传送。
具体地说,BIU既负责从内存的指令部分取出指令,送⾄指令队列中排队(8086的指令队列有6个字节,⽽8088的指令队列只有4个字节);也负责传送执⾏指令时所需的操作数。
执⾏单元(EU)负责执⾏指令规定的操作。
2.16 段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?解:指令的物理地址=12000h+FF00H=21F00H2.17 8086微处理器的执⾏部件有什么功能?由哪⼏部分组成?解:8086微处理器的执⾏部件负责指令的执⾏。
它主要由算术逻辑单元、标志寄存器和通⽤寄存器等部分组成。
附:8086CPU从功能上分包括⼏部分,各有什么功能?3.3 写出下指令中内存操作数的所在地址。
(1)MOV AL,[BX+10](2)MOV [BP+10],AX(3)INC BYTE PTR[SI+5](4)MOV DL,ES:[BX+SI](5)MOV BX,[BP+DI+2]解:(1)数据段BX+10单元(2)堆栈段BP+10单元(3)数据段SI+5字节单元(4)附加段(ES段)BX+SI单元(5)堆栈段BP+DI+2单元3.4 判断下列指令书写是否正确。
微机原理及接口第七章习题解答

“微机系统原理与接口技术”第七章习题解答(部分)1. 8086系统采用向量式中断,试简述8086系统中中断类型码、中断向量、中断向量表的含义及其之间的关系。
答:中断类型码:用于区分不同的中断源,即系统中每个中断源都应该对应一个唯一的类型 码。
8086系统中的中断类型码以 8位无符号数(00H 〜0FFH )表示,一共可以区分 256个不同的中断源。
中断向量:中断服务程序(ISR )的入口地址,也就是 ISR 的第一条指令在存储器中的 位置。
8086系统中的中断向量由两个字(4个字节)组成,低位字表示入口的偏移地址,高 位字表示入口的段基址。
显然,每个中断类型码对应一个中断向量,则8086系统中共应有256个中断向量。
中断向量表:中断向量的存放地。
8086系统将最低的 1KB (00000H 〜003FFH ) RAM 空间用于存放这256个中断向量。
三者之间的关系是:利用中断类型码 n 可以很容易地从中断向量表中找到该中断源所对应的中断向量,即:中断向量存放的起始地址 m = nX 4,从中断向量表的 m 地址单元开始连续取出的四个字节就是 n 号中断的ISR 入口地址。
8086CPU 正是用这种方法完成中断索引的。
系统将广义中断分为异常和狭义中断两大类。
(5)对。
4. 8086系统的RAM 存储单元中,从 0000H:002CH 开始依次存放 23H 、0FFH 、00H 和 0F0H 4个字节的中断向量,该向量对应的中断类型码是多少?而中断类型码为 14H 的中断向量应存放在哪些存储单元中?答:中断向量0F000:0FF23存放在0002CH 双字单元中,说明其对应的中断类型码N =2CH - 4= 0BH 。
14H 号中断向量的起始存放地址为4X 14H = 00050H ,即该中断向量的偏移量部分存放2.判断下列说法是否正确,如有错,指出错误原因并改正:(1) (2) (3) (4) (5) 答:(1)优先级别高的中断总是先响应、先处理。
微机原理课后习题参考答案

微机原理课后习题参考答案第1部分微型计算机基础知识1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?【解】微处理器:指计算机内部对数据进行处理并对处理过程进行控制的部件,伴随着大规模集成电路技术的迅速发展,芯片集成密度越来越高,CPU可以集成在一个半导体芯片上,这种具有中央处理器功能的大规模集成电路器件,被统称为“微处理器”。
微型计算机:简称“微型机”、“微机”,也称“微电脑”。
由大规模集成电路组成的、体积较小的电子计算机。
由微处理机(核心)、存储片、输入和输出片、系统总线等组成。
特点是体积小、灵活性大、价格便宜、使用方便。
微型计算机系统:简称“微机系统”。
由微型计算机、显示器、输入输出设备、电源及控制面板等组成的计算机系统。
配有操作系统、高级语言和多种工具性软件等。
1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?【解】CPU在内部结构上由运算器、控制器、寄存器阵列和内部总线等各部分构成,其主要功能是完成各种算数及逻辑运算,并实现对整个微型计算机控制,为此,其内部又必须具备传递和暂存数据的功能。
1.3 微型计算机采用总线结构有什么优点?【解】①简化了系统结构,便于系统设计制造;②大大减少了连线数目,便于布线,减小体积,提高系统的可靠性;③便于接口设计,所有与总线连接的设备均采用类似的接口;④便于系统的扩充、更新与灵活配置,易于实现系统的模块化;⑤便于设备的软件设计,所有接口的软件就是对不同的口地址进行操作;⑥便于故障诊断和维修,同时也降低了成本。
总线的逻辑电路有些是三态的,即输出电平有三种状态:逻辑“0”,逻辑“1”和“高阻”态。
1.4计算机总线有哪些,分别是什么?【解】总线按其信号线上传输的信息性质可分为三组:①数据总线,一般情况下是双向总线;②地址总线,单向总线,是微处理器或其他主设备发出的地址信号线;③ 控制总线,微处理器与存储器或接口等之间1.5 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?【解】数据总线(DB)为双向结构,数据在CPU与存储器或I/O 接口之间的传送是双向的,(数据既可以读也可以写),其宽度通常与微处理器的字长相同。
微机原理课后习题答案

第二章1.8086CPU由哪两部分组成?它们的主要功能是什么?8086CPU由总线接口部件BIU和指令执行部件EU组成,BIU和EU的操作是并行的。
总线接口部件BIU的功能:地址形成、取指令、指令排队、读/写操作数和总线控制。
所有与外部的操作由其完成。
指令执行部件EU的功能:指令译码,执行指令。
2.8086CPU中有哪些寄存器?各有什么用途?8086CPU的寄存器有通用寄存器组、指针和变址寄存器、段寄存器、指令指针寄存器及标志位寄存器PSW。
4个16位通用寄存器,它们分别是AX,BX,CX,DX,用以存放16位数据或地址。
也可分为8个8位寄存器来使用,低8位是AL、BL、CL、DL,高8位是AH、BH、CH、DH,只能存放8位数据,不能存放地址。
指针和变址寄存器存放的内容是某一段内地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算中使用。
段寄存器给出相应逻辑段的首地址,称为“段基址”。
段基址与段内偏移地址结合形成20位物理地址。
指令指针寄存器用来存放将要执行的下一条指令在现行代码中的偏移地址。
16位标志寄存器PSW用来存放运算结果的特征,常用作后续条件转移指令的转移控制条件。
5.要完成下述运算或控制,用什么标志位判断?其值是什么?⑴比较两数是否相等?将两数相减,当全零标志位ZF=1时,说明两数相等,当ZF=0时,两数不等。
⑵两数运算后结果是正数还是负数?用符号标志位SF来判断,SF=1,为负数;SF=0,为正数。
⑶两数相加后是否溢出?用溢出标志位来判断,OF=1,产生溢出;OF=0,没有溢出。
⑷采用偶校验方式。
判定是否要补“1”?用奇偶校验标志位判断,有偶数个“1”时,PF=1,不需要补“1”;有奇数个“1”时,PF=0,需要补“1”。
(5)两数相减后比较大小?●ZF=1时,说明两数是相等的;●ZF=0时:无符号数时,CF=0,被减数大;CF=1,被减数小。
带符号数时,SF=OF=0或SF=OF=1,被减数大;SF=1,OF=0或SF=0,OF1,被减数小。
微机原理第7章练习题及答案
第7章输入/输出与中断一、自测练习题㈠选择题1.一微机系统有10根地址线用于I/O端口寻址,因而具有I/O空间的范围是( )字节。
A) 1024 B) 10K C) 0.5M D) 1M2.8086CPU读/写一次存储器或I/O端口所需的时间称为一个( )。
A) 总线周期 B) 指令周期 C) 时钟周期 D) 基本指令执行时间3.微型计算机的输入/输出有三种不同的控制方法,其中以( )控制的输入/输出是微机进行I/O的一种最主要的控制方式。
A) 程序控制 B) 中断控制C) DMA控制D) 以上均可4.程序查询I/O方式的工作流程是按( )的次序完成一个字符的传输。
A) 写数据端口,读/写控制端口B) 读状态端口,读/写数据端口C) 写控制端口,读状态端口,写数据端口D) 随I/O接口的具体要求而定5.在CPU与外设的I/O传送控制方式中,效率高、实时性强的方式是( )。
A) 同步传送 B) 查询传送 C) 无条件传送 D) 中断传送6.在CPU与外设的I/O传送控制方式中,传送速度最快的方式是( )。
A) 无条件传送 B) 查询传送 C) 中断传送 D) DMA传递7.用具有两个状态(“0”和“1”态)的一组开关作简单输入设备时,应采用( )传送方式来输入信息。
A) 无条件B) 查询C) 中断D) DMA8.用一组发光二极管作为简单输出设备时,应采用( )传送方式来输出信息。
A) DMA B) 无条件C) 查询D) 中断9.在微机系统中引入中断技术,可以( )。
A) 提高外设速度B) 减轻主存负担C) 提高处理器的效率D) 增加信息交换的精度10.CPU响应中断请求的时刻是在( )。
A) 执行完成正在执行的程序以后 B) 执行完正在执行的指令以后C) 执行完本时钟周期以后D)执行完正在执行的机器周期以后11.8086/8088CPU向应两个硬中断INTR和NMI时,相同的必要条件是( )。
A) 允许中断B) 当前I/O操作执行结束C) 总线空闲D) 当前访问内存操作结束12.在微型计算机系统中,高速外设与内存储器进行批量数据传送时,应采用( )。
《微机原理与接口技术》习题解答7
《微机原理与接口技术》习题解答习题77.1 什么是中断?常见的中断源有哪几类?CPU响应中断的条件是什么?【解答】中断是指CPU在正常执行程序时,由于内部/外部时间或程序的预先安排引起CPU暂时终止执行现行程序,转而去执行请求CPU为其服务的服务程序,待该服务程序执行完毕,又能自动返回到被中断的程序继续执行的过程。
常见的中断源有:一般的输入/输出设备请求中断;实时时钟请求中断;故障源;数据通道中断和软件中断。
CPU响应中断的条件:若为非屏蔽中断请求,则CPU执行完现行指令后,就立即响应中断。
CPU若要响应可屏蔽中断请求,必须满足以下三个条件:①无总线请求;②CPU 允许中断;③CPU执行完现行指令。
7.2 简述微机系统的中断处理过程。
【解答】(1)中断请求:外设需要进行中断处理时,向CPU提出中断请求。
(2)中断响应:CPU执行完现行指令后,就立即响应非屏蔽中断请求。
可屏蔽中断请求,CPU若要响应必须满足三个条件。
(3)中断处理:保护现场、开中断、中断服务。
(4)中断返回:CPU执行IRET中断返回指令时,自动把断点地址从堆栈中弹出到CS 和IP中,原来的标志寄存器内容弹回Flags,恢复到原来的断点继续执行程序。
7.3 软件中断和硬件中断有何特点?两者的主要区别是什么?【解答】硬件中断由外部硬件产生,是由CPU外部中断请求信号触发的一种中断,分为非屏蔽中断NMI和可屏蔽中断INTR。
软件中断是CPU根据某条指令或者对标志寄存器的某个标志位的设置而产生的,也称为内部中断。
通常有除法出错中断、INTO溢出中断、INT n中断、断点中断和单步中断等。
两者的主要区别:硬件中断由外部硬件产生,而软件中断与外部电路无关。
7.4 中断优先级的排队有哪些方法?采用软件优先级排队和硬件优先级排队各有什么特点?【解答】软件优先级排队:各中断源的优先权由软件安排。
优点是电路比较简单,可以直接修改软件查询顺序来修改中断优先权,不必更改硬件。
微机原理课后答案7
第七章部分习题解答1、指出:(1)MOV AX,V AR;(2)LEA AX,V AR;(3)MOV AX,OFFSET V AR三条指令之间的异同(V AR为数据段的一个变量名称)解: (1)将V AR的一个字送AX,相当于MOV AX,[V AR](2) 将VAR的偏移地址送AX(3) 将VAR的段内偏移地址送AX,功能与(2)相同。
2、若程序中多次使用某一程序段,问将该程序段设计成子程序和定义成宏指令各有何优缺点?答:设计成子程序在整个程序占用内存少,但执行时间长;定义成宏指令程序汇编后占用内存多,但执行时间短。
3、下面列出的是一个汇编源程序中的一个程序段。
试以图形表示出DATA段中各变量在存储器中的存储位置(标明偏移地址及有关单元的内容,制表示);写出CODE段内汇编后的可执行指令。
TABLDA TA SEGMENTTABL DB‘ABCD’2 DUP(2 DUP(1,2),3)V AR DW 4 DUP(?)DA TA ENDSCODE SEGMENTASSUME CS:CODE,D S:DATAORG 100HLEB1:LEA SI,TABLMOV BX,OFFSET V ARMOV AX,LENGTH V ARMOV AX,TYPE V ARMOV AL,SIZE V ARMOV AH,SIZE TABLMOV CX,(OFFSET V AR-(OFFSET TABL)V ARLEA DX,LEB1解: DATA段各变量的存储情况如右图所示,对CODE段可执行指令注释如下:LEB1:LEA SI,TABL ;将TABL的偏移地址送SIMOV BX,OFFSET V AR ;将V AR的偏移地址送BXMOV AX,LENGTH V AR ;将V AR的项数(4)的送AXMOV AX,TYPE V AR ;将V AR的符号名类型值02送AXMOV AL,SIZE V AR ;将为V AR分配的字节(08)送ALMOV AH,SIZE TABL ; 将为TABL分配的字节(0EH)送ALMOV CX,(OFFSET V AR)-(OFFSET TABL);将OEH送CXLEA DX,LEB1 将LEB1(100H)送DX。
微机原理部分习题和答案
目录第1章微型计算机概述 (2)第2章16位和32位微处理器 (2)第3章Pentium的指令系统 (3)第4章存储器、存储管理和高速缓存技术 (4)第5章微型计算机和外设的数据传输 (5)第6章串并行通信和接口技术 (5)第7章中断控制器 (8)第8章DMA控制器 (10)第9章计数器、定时器和多功能接口芯片 (12)第10章模数和数模转换 (14)第1章微型计算机概述1.CPU在内部结构上由哪几部分组成?CPU应具备哪些主要功能?第2章16位和32位微处理器1.8086从功能上分为哪几个部分?2.8086的总线接口部件由哪几部分组成?3.8086标志寄存器中的内容是什么?4.8086加电后执行的第一条指令的内容及地址是什么?5.8086系统中,设段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址是多少?指向这一物理地址的CS和IP值是唯一的吗?6.8086的执行部件有什么功能?由哪几部分组成?7.在总线周期的T1、T2、T3、T4状态,8086分别执行什么动作?什么情况下需要插入等待状态TW?TW在哪儿插入?怎样插入?8.8086是怎样解决地址线和数据线的复用问题的?ALE信号何时处于有效电平?9.BHE#信号和A0信号是通过怎样的组合解决存储器和端口的读写操作的?这种组合决定了8086系统中存储器偶地址体及奇地址体之间应该用什么信号区分?怎样区分?10.中断向量指什么?放在哪里?对应于8086的1CH的中断向量存放在哪里?如果1CH的中断处理子程序从5110H:2030H开始,则中断向量应该怎样存放?11.一个可屏蔽中断响应时,CPU要执行哪些读写周期?对一个软件中断又如何?12.什么叫超标量流水线技术?Pentium有哪两条流水线?两条流水线有什么区别?13.分支预测技术是基于怎样的规律而实施的?叙述分支预测技术的实现原理。
14.Pentium有哪三种工作方式?如何在方式间转换?15.Pentium的保护方式主要保护什么?16.Pentium的地址线是双向的吗?17.实地址方式和虚拟8086方式都是类似于8086的方式,从使用场合和工作特点上看,这两种方式有什么主要差别?18.什么叫段基址?它有多少位?什么叫段选择子?段选择子包含哪些内容?19.Pentium的段描述符寄存器中包含哪些内容?20.Pentium的逻辑地址、线性地址、物理地址分别指什么?它们的寻址能力分别为多少?21.Pentium采用哪几种描述符表?这些表的设置带来什么优点?22.Pentium的主要信号分为哪几类?23.Pentium的寄存器分为哪几类?24.Pentium的段寄存器中存储的是什么?25.Pentium有哪几种总线状态?分别有什么特点?26.什么是突发式数据传输?结合主教材中图2.37说明突发式读写周期的时序关系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题7答案1.请编写完整8086汇编语言程序统计0801~0803班计算机原理考试成绩:●假设成绩存放在数据段0000H开始的85个字节单元中;●将成绩从高到低进行排序;●统计最高成绩和最低成绩,分别存放在字节变量max和min单元中;●统计不及格人数,存放在字节变量var1中;●统计90~99分人数,存放在字节变量var2中;●计算85人平均成绩,存放在字节变量avg中;data segment paraorg 0056Hmax db 0min db 0var1 db 0var2 db 0avg db 0sum dw 0cnt equ 85data endsss_seg segment stackdw 100 dup(0)ss_seg endscode segment paraassume cs:code, ds:data, ss:ss_segmain proc farmov ax, datamov ds, axmov cx, cnt-1circle1: ; sort the scorepush cxmov bx, 0mov dx, 0circle2:mov al, [bx]cmp al, [bx + 1]jae nextxchg al, [bx + 1]mov [bx], almov dx, 1next:inc bxloop circle2pop cxcmp dx, 1jz main1loop circle1main1:mov al, [0000H] ; get the maxmov max, almov al, [0054H] ; get the minmov min, almov cx, cnt ; calculate var1, var2 and avgmov bx, 0circle3: mov al, [bx]mov ah, 0add sum, ax ; get the sum of scorecmp al, 90jae main2cmp al, 60jb main3jmp main4main2: inc var2 ; 90~99 numberjmp main4main3: inc var1 ; < 60 numbermain4: inc bxloop circle3mov dl, cntmov ax, sumdiv dlmov avg, al ; get the average scoremov ax, 4c00hint 21h ; return OSmain endpcode endsend main2 如图6-1所示,以IBM-PC/XT计算机为核心构成的炉温控制系统。
其中8255的A组与B组工作在方式0,8253定时器0工作在方式3方波发生器方式,8253输入计数频率为100KHz。
1)试说明8259、8253、8255使用的端口地址;(3分)2)芯片初始化(10分)●单片8259工作在完全嵌套方式,中断非自动结束,中断申请输入IR0~IR7为边沿触发,IR7对应中断类型码为0FH,编写8259初始化子程序,命名为INIT_8259;●8253每定时500ms向8259申请中断,计算8253定时常数,并编写8253初始化子程序,命名为INIT_8253;●8255的A口和C口上半部作输入,B口及C口下半部作输出,编写8255初始化子程序,命名为INIT_8255;3)编写汇编程序,实现炉温的连续控制,要求包括主程序与中断服务程序:●主程序完成中断向量的安装,8259、8253、8255初始化,以及开中断,并要求1个小时后,停止控温;(假设系统已经提供中断向量安装子程序INIT_INT,初始化时可直接调用INIT_INT、INIT_8259、INIT_8253、INIT_8255)●中断服务程序完成保护现场、中断处理、发EOI命令、恢复现场、中断返回等操作;其中,中断处理要求每500ms通过8255的PA口读入一次A/D数据,并启动下一次A/D转换,PC4平时为高电平,输出负脉冲到START端,则启动A/D,转换结束时EOC端由低电平变为高电平,要求每3秒通过PB口输出控制量给D/A转换器进行一次调节。
(假设系统已提供控制算法子程序PROC_CTRL,该子程返回参数为AL,返回参数即是D/A需要输出的数字量)答案:1) 8259端口地址范围20H ~ 3FH8253端口地址范围80H ~ 9FH8255端口地址范围0A0H ~ 0BFH2)INIT_8259 procmov al, 13h ;ICW1out 20h, almov al, 08h ;ICW2out 21h, almov al, 01h ;ICW4out 21h, alretINIT_8259 endp3)INIT_8253 procmov al, 36hout 83h, almov ax, 50000out 80h, almov al, ahout 80h, alretINIT_8253 endpINIT_8255 procmov al, 98h; A口和C口上半部作输入,B口及C口下半部作输出out 0A3h, al ;初始化8255retINIT_8255 endp4)data segment paraT_Value db 0 ;记录AD数据CNT dw 0 ;用于1小时定时CNT_DA dw 0 ;用于3秒定时P8259_A0 EQU 20HPORT_A EQU 0A0HPORT_B EQU 0A1HPORT_C EQU 0A2HPCTRL EQU 0A3Hdata endsss_seg segment stackdw 100 dup(0)ss_seg endscode segmentassume cs:code, ds:data, ss:ss_segISR_CTRL_T proc far ;中断服务程序push ax ;保护现场in al, PORT_A ;读A/D转换数据mov T_Value, alinc CNTcall START_ADC ;启动A/D转换inc CNT_DAcmp CNT_DA, 6 ;判断3秒是否到jb ISR_1call PROC_CTRL ;DA输出进行控制out PORT_B, almov CNT_DA, 0ISR_1:mov al, 20h ;发EOI命令out 20h, alpop ax ;恢复现场iret ;中断返回ISR_CTRL_T endpSTART_ADC proc ;启动A/D转换mov al, 08hout PCTRL, al ;PC4 = 0nopnopnopnopmov al, 09h ;PC4=1out PCTRL, alretSTART_ADC endpmain proc farmov ax, datamov ds, axclicall INIT_8259call INIT_8253call INIT_8255call INIT_INT ;安装中断向量stimain1:cmp CNT, 7200jb main1climov ax, 4c00hint 21hcode endsend main3.如图6-1所示ADC0809与IBM-PC/XT机相连完成数据采集。
ADC0809为8通道的8位逐次比较ADC,D7~D0为三态输出数据线,OE为高电平时打开三态门读取数据;START 为高电平时启动ADC开始工作;ADDC、ADDB、ADDA为8路模拟输入选择,由ALE 锁存;ADC转换结束时EOC输出高电平,ADC0809的转换时间为100微秒。
系统设计中,由8253定时器0定时,每隔10毫秒启动ADC0809工作,转换结束后,由EOC向8259发出中断请求,在中断服务程序中读取转换结果。
ADC0809的ADDC、ADDB、ADDA全部接地,总是选择第0通道,其余输入通道均接地。
8259工作在普通全嵌套方式,中断申请输入IR0~IR7为边沿触发,IR0的中断类型码为08H,中断为非自动结束。
图中AEN为地址允许信号,低电平时选中端口,地址总线经译码后,8259占用端口地址20H和21H,8253占用端口地址40H~43H,ADC0809占用端口地址160H。
1)8253定时器0工作在方式2,即分频模式,定时时间为10毫秒,请编写8253初始化程序段。
(4分)2)读取ADC0809转换结果的中断服务程序为New_Int0A,请编写程序段将New_Int0A的入口地址安装到中断向量表中,并且要求在双字变量OldIntVect中保存原来的中断向量。
(4分)3)请编写一段程序设置IF以允许可屏蔽中断请求,并设置8259的中断屏蔽寄存器IMR以允许IR2引脚上的中断请求。
(2分)4)以下为读取ADC0809的中断服务程序New_Int0A,请根据注释在横线处补充8086汇编语句,使得程序完整。
(10分)答案:1)mov al, 34h ;设置8253控制字out 43h, almov ax, 10000 ;设置计数初值,定时10ms,F clk = 1MHz out 40h, almov al, ahout 40h, al2) mov al, 0Ah ;保存原来IRQ2对应中断向量mov ah, 35hint 21hmov word ptr OldIntVect, bxmov word ptr OldIntVect+2, esmov dx, offset New_Int0A ;安装新的IRQ2中断向量mov bx, seg New_Int0Amov ds, bxmov ah, 25hmov al, 0Ahint 21h3)in al, 21hand al, 0FBhout 21h, alsti4) New_Int0A proc farpush dspush dx ;保护现场push axmov ax, DataSeg2mov ds, ax ;使DS指向新的数据段mov dx, 160h ;读取ADC0809转换结果in al, dxmov AdcData, al ;将转换结果保存在内存变量AdcData中mov al, 20h ;发EOI命令out 20h, 20hpop ax ;恢复现场pop dxpop dsiret ;中断返回New_Int0A endp4. 利用PC机现有的硬件和软件资源设计程序,以实现在显示器上显示(选做题)XX(时):XX(分):XX(秒)(1)设计思路PC机系统板上使用一片8253,其地址为40H—43H,其通道0以方式3工作,每55ms向中断控制器8259A IRQ0端发一次中断请求。