13级《微机原理与接口技术》复习练习题与答案
(韶关学院计算机科学学院彭玄璋)
一、填空题
1、8086/8088 CPU内部结构按功能分为两部分,即由执行单元和总线接口单元组成。
2、若CPU的数据线宽度为16位,则它的字长为16 位;地址线宽度为20位,则它的寻址空间为1MB 。
3、8086CPU为了适应各种应用场合有两种工作模式,即是最小模式和最大模式。
4、8086/8088CPU复位后,CS的内容为 0FFFFH ,IP的内容为 0000H 。
5、8086的16位标志寄存器包括 6 个状态标志位和 3 个控制标志位。
6、计算机的I/O端口地址的编址方式有统一编址和独立编址,
而8086CPU寻址外设采用独立编址方式。
7、CPU与外设间有4种I/O信息传送方式,即无条件传送、查询传送
中断传送、直接存储器存取(DMA)。
8、若某输出外设的I/O接中的数据端口地址为100H,要将字节数据从8086CPU 输出到外设的指令是 MOV DX,100H 和 OUT DX,AL 。
9、响应可屏蔽中断INTR的条件是控制标志IF= 1 。
10、若8253的某一计数器用于输出方波,该计数器的工作方式为 3 ;若该计数器输入频率为100KHz,输出方波频率为10KHz,则计数初值应设为10 。
11、串行通信协议分为异步通信和同步通信。
12、波特率是指单位时间内传送二进制数据的位数。
13、8088 组成的系统中,存储器分若干个不超过64K 字节的段。
14、当8088CPU的INTR端输入一个高电平时,可屏蔽中断获得了中断请求。
15、8088工作于最小工作模式时,控制总线由CPU本身产生,工作于最大工作模式时,控制总线由总线控制器8288 产生。
16、数据的并行I/O方式是以字节或字为单位进行传送;数据的串行I/O
方式是以位为单位进行传送。
17、从地址/数据复用线中分离出地址信息需用逻辑芯片锁存器,地址/数据复用线中的双向数据传送需用逻辑芯片双向缓冲器。
18、中断优先权管理的方法有软件查询法、硬件菊花链法、和专用芯片法。
19、若8253的某一计数器用于输出方波,该计数器的工作方式为 3 ;若该计数器的输入频率为100KHz,输出方波频率为10KHz,则计数初值应设置为10 。
20、在8259初始化控制字中,ICW1 和ICW2 为必写控制字,
21、8237A的四种工作方式为单字节传送、块传送、请求传送、级连方式。
22、ADC0809是逐次逼近型A/D转换芯片,有8 个模拟通道,
23、串行通信线路有三种连接方式,即单工方式、半双工方式和全双工方式。
24、8086CPU时钟频率为5MHZ时,它的典型总线周期为800ns。CPU完成一次访问MEM或I/O端口操作所需要的时间, 5MHZ,那么时钟周期就是0.2us,一个总线周期(不包括Tw的)=4*时钟周期=o.8us=8*100ns
那么就是0.8us
25、可编程定时/计数器8253内含 3 个计数器,每个计数器的三个引脚为CLK 、 GATE 和 OUT 。分别称为计数器0、计数器1和计数
字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。
26、8255有多种工作方式,A口有 3 种工作方式,B口有 2 种工作方式,C口有 1 种工作方式。8255A有3种基本的工作方式:方式0——基本输入输出方式,适用于不需要用应答信号的简单输入输出场合;方式1——选通输入输出方式,适用于必须在联络信号控制下才能完成的I/O操作;方式2——双向总线I/O方式,适用于双向总线方式。端口A可工作于:方式0、1、2;端口B可工作于:方式0,1;端口C可工作于:方式0。
27、8086CPU寻址外设为独立编址方式,使用专门的I/O指令为IN 以及OUT 。
28、总线是连接多个装置或功能部件的一组公共信号线。
29、8259有高电平和边沿两种触发方式。
30、根据中断请求来自外部或来自内部,中断分为硬件中断和软件中断。
31、某微机系统采用一块8253芯片,时钟频率为1MHz。若要求通道0工作于方式3,输出的方波周期为0.5ms,则计数值应设定为__500__,通道控制字应设定为___36H_或37H ____。500,00110111B
32、8086的中断向量表位于内存的_00000H~003FFH_区域,它可以容纳_256__个中断向量,每一个向量占__4_ _ 个字节。中断向量是中断服务程序的入口地址。将所有中断向量集中放在一起,形成中断向量表。8086系统有256个类型的中断源。每个类型对应一个中断向量,一个中断向量由四个字节组成:2个高地址字节:存放中断服务程序的代码段的段值;2个低地址字节:存放中断服务程序的偏移地址。中断向量表放在内存的地段地址0单元开始的单
元:00000H~03FFFH。
33、若8086 CPU引脚状态是M/=1,=1,=0,则此时执行的操作是_
存储器的写操作。WR/(write):写信号,输出,低电平有效, RD/(read):读信号,输出,三态,低电平有效。
34、多片8259A级联时,主片必须采用的嵌套方式是特殊全嵌套方式。
35、8251芯片中设立了_奇/偶错____、__帧格式错和__溢出错__三种出错标志。
36、8259A共有_ 7_个可编程的寄存器,它们分别用于接受CPU送来的_初始化命令字和__操作__命令字。8259A是专门为了对8085A和8086/8088进行中断控制而设计的芯片,它是可以用程序控制的中断控制器。单个的8259A能管理8
级向量优先级中断。
MN/引脚的作用是__决定CPU工作在什么模式(最小/最37、8086CPU的MX
大)__。
38、8086中引脚BHE信号有效的含义表示__高8位数据线D15~D8有效__。
39、一个串行异步通信的字符格式由一个起始位,7个数据位,一个奇偶效验位和一个停止位构成,若每秒传送240个字符,则数据传送的波特率是__2400Bd__,
传送每位信息所占用的时间是__0.417ms__ 1个字符=1起始位+7数据位+1奇偶校验+1停止=10bits,240*10=2400bits/s ,1/2400=0.000417
40、CPU在执行IN AL,DX指令时,M/ 引脚为低电平,为低电平。CPU读取AL的内容相当对外设写操作既WR有效位高电平1,RD读操作相反低电平0.
41、汇编指令通常包括操作码和操作数两部分。
二、单项选择题
1、8086/8088CPU与慢速的存储器或I/O接口之间为了使速度能匹配,有时需要在( C )状态之间插入若干个等待周期T W 。
A、T
1和T
2
; B、T
2
和T
3
;C、T
3
和T
4
;D、随机。
2、在并行可编程电路8255中,8位的I/O端口共有( C )。
A、1个;
B、2个;
C、、3个;
D、4 个。
3、可编程定时/计数器电路8253的工作方式共有( D )。
A、3种;
B、4种;
C、5种;
D、6种。
4、8086系统中外设请求总线控制权是通过控制线( C )。
A、NMI;
B、TEST;
C、HOLD;
D、INTR。
5、可用作总线控制器的接口芯片是( C )。
A、8255;
B、8251;
C、8288;
D、8237A。
6、 PC/XT 机的有效I/O端口地址范围是( B )。
A、0~0FFH;
B、0~3FFH ;
C、0~FFFFH;
D、0~FFFFFH。
7、当微机系统工作在DMA方式时,该系统的地址信号是由( B )提供的。
A、微处理器;
B、DMA控制器;
C、中断控制器;
D、总线控制器。
8、中断号为16H 的中断向量在中断向量表的首址为( A )。
A、58H;
B、60H;
C、62H;
D、64H。
16H*4H=00010110*100=00 0101 1000=058H
9、8259的中断屏蔽寄存器为( B )。IMR被用作过滤被屏蔽的中断;IRR被用作暂时放置未被进一步处理的Interrupt;当一个Interrupt正在被CPU处理时,此中断被放置在ISR中。
A 、IRR ;
B 、IMR ;
C 、ISR ;
D 、都不是。
10、DAC0832是( B )位的数模转换芯片。* D0~D7:8位数据输入线
A 、4;
B 、8;
C 、12;
D 、16。
11、8088CPU 工作在最小模式,( D )引脚接+5V. A.R DT / B.WR C.DEN D.MX MN /
12、 CPU 对存储器访问时,地址线和数据线的有效时间关系为( B )。
A.同时有效
B.地址线先有效
C.数据线先有效
D.同时无效
13、常用接口芯片 74LS245是( B )。
A.锁存器
B.缓冲器
C.计数器
D.反相器
14、通常一个外设的状态信息在状态端口内占有( A )位。
A.1
B.2
C.8
D.16
15、通常8088 CPU 在( A )时刻采样READY 信号,若无效在T 3和T 4之间插入
Tw 。
A. T 3下降沿
B.T 2上升沿
C.T 3上升沿
D.T 4下降沿
16、8088 CPU 中断优先级顺序为( D )。
A.NMI 中断、INTR 中断、软中断
B.NMI 中断、软中断、INTR 中断
C.软中断、INTR 中断、NMI 中断
D.软中断、NMI 中断、INTR 中断
17、若总线频率为8MHz ,32位数据传送,总线带宽为( C )。
A.8MB/S
B.16MB/S
C.32MB/S
D.64MB/S 18、当微机系统工作在DMA 方式时,该系统的地址信号是由( B )提供
的。
A.微处理器
B.DMA 控制器
C.中断控制器
D.总线控制器
19、分辨率为16位的DAC 能给出满量程电压的( D )分辨能力。
A.1/255
B.1/127
C.1/511
D.1/65535
20、 RS -232标准定义的表示数据信号逻辑“1”的电平为( B )。
A.+5V ~+15V 间任一电压
B.-15V ~-5V 间任一电压
C.+5V
D.0V
21、用8259A 管理优先级时,当一个中断请求服务结束后,其中断源的优先级降为最低,其余中断源优先级也相应变化,这是一种( A )方式。
A.自动循环 B.完全嵌套 C.特殊循环 D.特殊屏蔽
22、异步通信方式的时钟频率可以选择波特率的( D )倍四种之一。
A.1,2,4,5
B.1,8,16,32
C.2,16,32,64
D.1,16,32,64
23、8255A的方式选择控制字应写入( D )。
A. A口
B. B口
C. C口
D. 控制口
24、两片8259A构成级联方式的中断控制器,可连( C )中断源。
A.8
B.16
C.15
D.24
25、8086CPU用ALE的下降沿将T1期间出现的( A )信息锁存在外部地址锁存器中。
A. A0~A19 B. C.A和B D.D0~D15
26、若8259A工作在优先级自动循环方式,则IRQ3的中断请求被响应并且服务完毕后,优先权最高的中断源是( D )。
A.IRQ0 B.IRQ2 C.IRQ3 D.IRQ4
DT R和DEN引脚分别为( C )27、最小模式下,数据收发器进行数据接收时,/
电平。
A、高,高
B、高,低
C、低,低
D、低,高
28、微处理器与外设传送数据的过程中,只由硬件完成不需软件支持的方式
( A )。
A、DMA
B、无条件
C、查询
D、中断
29、当IF=0,8088/8086CPU不响应( B )中断请求。用DMA传送方式,数据在外设和内存之间直接进行传送,无需CPU的参预和不是用软件来实现,而是由专门的DMA控制器来对数据传送过程进行控制用DMA传送方式,数据在外设和内存之间直接进行传送,无需CPU的参预和不是用软件来实现,而是由专门的DMA控制器来对数据传送过程进行控制
A.INT N
B.INTR
C.NMI
D.INTO
30、设串行异步通信时,数据传送的速率是400字符/秒,每个字符为12位二进制数据,则传送的波特率是 ( C )。
A、1200
B、2400
C、4800
D、9600
三、是非题
1、8086CPU和8088CPU都是16位微处理器芯片(×)。
2、规则字即存放字数据的存储单元地址必顺为偶地址(√)。
3、IP中存放的是正在执行的指令的偏移地址(√)。
4、USB1.0的数据传输速率可达480Mbps(×)。
5、ADC0809是8位逐次逼近型A/D转换芯片(√)。
6、RS-232C的电平与TTL电平相同(×)。
7、DMA传送方式无需CPU干预,直接进行数据传送 ( √ ) 。
8、8295的特殊屏蔽方式,对低于正在服务中断程序的中断请求给予响应处理( √ ) 。
9、8253在工作方式设定时总是先写计数初值再写控制字(×)。
10、异步通信数据传送速率要比同步通信的低(√)。
11、8086CPU中,数据线D0~D15和地址线A0~A15为复用引脚。(√)
12、一个I/O接口中必须要有数据、控制和状态端口。(×)
13、执行INT 10H时,中服程序的入口地址在00040H开始存放。(√)
14、异步串行通信中加入奇偶校检位具有纠错功能。(×)
15、ADC0809可对8路模拟信号同时进行A/D转换。(× )
16、显示器内存是双端口内存。(√)
17、可编程定时/计数器8253中含三个独立的16位计数器。(√)
18、在8259级联系统中,作为主片的8259A的某些IR引脚连接从片,同时也可以在另一些IR引脚上直接连接外设的中断请求信号端。(√)
19、8253的计数器在不同的工作方式中,计数到0时,都会从OUT 输出一个相同的波形信号。(×)
20、8251的溢出错误指示CPU还未取走前一个数据,接收移位寄存器又将接收到的一个新数据送至输入缓冲器。(√)
21、对于非屏蔽中断申请,CPU响应条件为CPU允许中断和执行完现行指令。(×)
22、用软件确定中断优先权时,只要改变查询的顺序,即可以改变中断的优先权。(√)
23、8259级联特殊全嵌套方式,从片向主片发出连续两次以上中断请求不处理。(×)
24、总线控制器8288专门用于8086最大模式下产生控制信号。(√)
25、8253工作在方式0时,计数过程结束能自动装入计数初值继续进行计数。(×)
26、74LS138是3-8译码器。(√)
27、通常并行I/O接口的速度比串行I/O接口的快。(√)
28、堆栈操作应满足先进先出原则。(×)
四、简答题
1、8086CPU分为哪两个部分?各部分主要由哪些部件组成?主要进行哪些操作?
答:8086CPU按功能结构来说,主要由总线接口部件BIU和执行部件EU组成。总线接口部件的作用是负责与存储器或I/O端口传送数据,总线接口部件主要包括:4个段地址寄存器;一个指令指针寄存器IP;一个20位地址加法器;6字节指令队列;内部通信寄存器和总线控制逻辑。执行部件的作用是执行指令,主要包括:8个16位通用寄存器(AX、BX、CX、DX、SP、BP、SI、DI);标志寄存器FLAGS;算术逻辑运算单元ALU和EU控制系统。
2.为什么CPU与外设交换信息需要通过专门的I/O接口?
答:由于计算机外设的种类繁多,包括光、机、电、声和磁等外设。它们的工作速度高低不一。外部设备所处理的信息格式也有多种形式,有串行也有并行,有数字式也有模拟式,有标准的逻辑电平信号也有非标准的逻辑电平信号。因此,CPU与外设交换信息是比较复杂的。因此外部设备不能直接接到计算机的系统总线上,而必须通过专门的I/O接口才能实现二者之间的相互通信,即I/O接口是CPU与外设间的桥梁。
3.简述微机(8086)系统的中断处理过程?
答:微机系统中断处理的基本过程应包括:中断请求、中断优先级判别、中断响应、中断处理及中断返回等五个基本阶段。
4、什么是是总线?它如何分类?
答:总线是连接多个装置或功能部件的一组公共信号线。总线的分类方法有以下几种:按数据传送格式分类,按时序控制方式分类,按所处的位置和功能分类,按传送信息类型分类。
按数据传送格式,总线可分为串行总线与并行总线。按时序控制方式,总
线可分为同步总线(含同步扩展总线)与异步总线。按所处的位置和功能,可分
为CPU内部总线、系统总线、局部总线和外部外部总线。按传送数据类型,可分为地址总线、数据总线、控制总线。
5、8086 CPU的最小和最大工作模式的主要不同点?
答:CPU的控制线应用方式不同:在最小工作模式下,计算机系统的所需的控制线由CPU直接提供;在最大工作模式下,CPU仅为计算机系统提供必要的控制线,而系统所需的控制线由专用芯片总线控制器8288产生。计算机系统复杂度不同:在最小工作模式下,计算机系统仅用单处理器(8086)组成,系统结构简单且功能也较小;在最大工作模式下,计算机系统由多处理器组成,除8086CPU外,还有总线控制器8288和协处理器8087。
6、什么是统一编址,分别编址? 各有何特点?
答:统一编址:存储器单元地址和I/O端口地址在同一个地址空间中分配。由于I/O端口地址占用存储器单元地址,减少了存储器的寻址空间,访问存储器单元和I/O端口可用相同的指令;分别编址:存储器单元地址和I/O端口地址在不同的地址空间中分配。存储器和I/O端口都独立且较大的寻址空间,CPU需要用门的控制线来识别是访问存储器还是访问I/O端口,访问存储器单元和I/O端口要
用不相的指令。
7、什么是硬件中断和软件中断?在PC机中二者的处理过程有什么不同?
答:硬件中断是外部设备通过向CPU的中断请求线输入电信号来来获得中断请求;软件中断是处理机内部识别中断请求,如内部异常中断或指令中断。
硬件中断一般是由中断控制器提供中断类型码,处理机自动转向中断处理程序;软件中断完全由处理机内部形成中断处理程序的入口地址并转向中断处理程序,不需外部提供信息。
8、串行总线的类型及特点?
答:串行总线分为串行异步总线和串行同步总线等两类,它们的共同点是信息按位方式在单线上顺序传送,特点是:
串行异步总线:在传送的“字节”信息中各位间有相对的时间关系,但“字节”与“字节”这间无任何时间关系。
串行同步总线:在传送的信息中,字节内位与位之间,字节与字节之间与同步时钟有严格的时间关系。
9、输入接口常接有三态缓冲器,而输出接口常接有锁存器,试述其理由?
答:为了协调高速CPU与慢速的外设之间的速度匹配,以及避免数据的丢失,接口中一般设有数据锁存器或缓冲器。
在输出接口中,一般都要安排锁存器,以便锁存输出数据,使较慢的外设有足够的时间进行处理,避免数据丢失,而CPU和总线可以回头去忙自己的其它工作。
在输入接口中,一般需要安排缓冲隔离环节,如三态门。特别是当有多个外设与CPU进行数据交换时,只有当CPU连通时,才允许某个选定的输入设备才进行数据传输,而其它外设此时和数据总线隔离,避免干扰数据的传输。
10、8253内部有几个独立的定时/计数器?各是多少位?它们的CLK端、OUT端和GATE端的作用分别是什么?
答:8253有3个独立的定时/计时器,都是16位,每个计数器有三个引脚CLK 端、GATE端和OUT端,三个计数器功能完全一样。
CLK是脉冲输入引脚,计数器对该引脚输入的脉冲进行计数;GATE是门控脉冲输入引脚GATE=0禁止计数器工作,GATE=1则允许计数器工作;OUT为计数到O/定时时间到输出引脚,当计数到0时,根据不同工作方式输出不同形式的信号。
11、在通常的输入传送中,为什么输入接口仅用缓冲器而不用锁存器?
答:在输入数据时,因简单外设输入数据的保持时间相对于CPU的接收速度而言较长。因而输入数据通常不用加锁存器来锁存,可直接使用三态缓冲器与CPU数据总线相连即可。
12、在输出传送中,为什么输出接口必须要锁存器?
答:在CPU在输出数据时经过数据总线的时间是很短的,因而需要使用输出锁存器把要输出的数据保留,即用锁存器将数据锁存后输出给外设。13、简述I/O接口基本功能?
答:(1)对输入、输出数据进行缓冲和锁存;(2)对信号的形式和数据格式进行变换;
(3)对I/O端口进行寻址;(4)提供联络信号。
五、阅读程序并回问答题
1、已知:(AX)=2233H, (BX)=5566H, 执行了下面的程序段后, (AX)= 0AA9AH,(BX)= 2233H 。
CMP AX,BX
JG NEXT
XCHG AX,BX
NEXT:NEG AX
2、已知: (AX)=6666H,(BX)=0FF00H, (CF)=0。在执行下面程序段后:
(AX)= 0000H,(BX)= 00FFH,(CF)= 0 。
MOV AX,5555H
AND AX,BX
XOR AX,AX
NOT BX
3、设寄存器AL,BL,CL中内容均为76H,
XOR AL,0FH
AND BL,0FH
OR CL,0FH
执行上述指令序列后,(AL)= __79H___ ;(BL)=___06H _,
(CL)=___7FH__ 。
4、DAT1 DB 12H,34H,56H,78H
┇
MOV CX,0
MOV AX,WORD PTR DAT1
MOV CL,DAT1+3
当程序段执行完后AX= 3412H ;CX= 0078H 。
六、计算分析题
1. 异步通信,当波特率为4800时,1字符帧包含1个起始位、7个数据位、2个停止位(无校验位)共10位,试求传输2KB的数据所需时间为多少?
解:位周期=1/波特率=1/4800(秒)
传送总位数=10*2*1024=20480(位)
所需时间=位周期*传送总位数=1/4800*20480=4.27(秒)
2、异步通信,当波特率为9600时,对1字符帧为1个起始位、7个数据位、2个停止位(无校验位)。试求每秒钟最多传输多少个字符?
解:1字符帧总位数=1+7+2(位)
1秒传输的位数=波特率=9600(位)
1秒传输的字符数=9600/(1+7+2)=960
3.初始化8259A的控制字如下:
ICW1:00010011B
ICW2:00001000B
ICW4:00001001B
试分析:(1)单片还是级联 (2)中断类型号码范围 (3)CPU类型。
解: (1)单级还是级联 (2)中断类型号码范围 (3)CPU类型
单级 08H--0FH 8086
4、初始化8259A的控制字如下:
ICW1:00010011B
ICW2:00001000B
ICW4:00001001B
试分析:(1)IR的触发方式 (2)中断类型号码范围 (3)SP/EN引脚的作用。解:(1)IR的触发方式 (2)中断类型号码范围 (3)SP/EN引脚的作用上升沿 08H--0FH 缓冲控制信号
5、指出下列程序段的功能,并加上具体注释
MOV AL,n ;N为中断类型号
MOV AH,25H ;25H为功能调用号
MOV DX,SEG INTP
MOV DS,DX ;DS为中断服务程序INTP的段地址
MOV DX,OFFSET INTP; DX为中断服务程序INTP的偏移地址
INT 21H ;DOS功能调用
程序段的功能是使用25H功能调用将中断向量写入中断向量表中。
6、某中断程序入口地址为2300H:0456H,中断向量号为08H,问放置在中断向量
表中什么位置是?入口地址在向量表中如何放置?
解:中断向量地址=中断向量号×4=08H×4=20H
中断程序入口地址在00020H开始的四个单元存放的顺序是:
56H,04H,00H,23H
7、某系统中8253占用地址为100H~103H。初始化程序如下:
MOV DX, 103H
MOV AL, 16H ;控制字
OUT DX, AL
SUB DX, 03H
OUT DX, AL ;计数初值
试问: 此段程序是给8253的哪一个计数器初始化?安排工作在哪种工作方式?___;
若该计数器的输入脉冲的频率为1MHZ,则其输出脉冲的频率为:___________。解:
因为控制字为:16H=00 01 0110B(计数器0,只读写低位字节,方式3,二进制计数)
计数器0,方式3 ;
f=1MHZ/16H=1MHZ/22≈45KHZ
8、AB
7~AB
为8086CPU低八位地址总线,8259、8255与译码器74138连接如下图
所示:
试问:(1)8259A占用____个端口地址,分别为_ _,其中ICW
1
的设置
地址为_ ___;
(2)8255A占用_____个端口地址,分别为_ ____,其中控制寄存器的地址为_______。
解:(1)8259A占用__2__个端口地址,分别为_20H,22H(或24H,26H_)_,的设置地址为___20H(或24H)_;
其中ICW
1
(2)8255A占用___4__个端口地址,分别为_80H,82H,84H,86H____,其中控制寄存器的地址为__86H_____。
七、应用设计题
1、分析I/O端口地址为300H的译码逻辑,再画出逻辑电路图。
解:地址为300H的地址线逻辑电平是:
A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
300H= 1 1 0 0 0 0 0 0 0 0
?
?
?
CS?
?
?
=
?
?
?
?
A
A
A
AEN
A
A
A
A
A
A
A
6
7
9
5
8
1
4
2
3
采用门电路进行地址译码(可以选用多种门电路形式)Array
2、画出两计算机软件联络传送的RS-232C(三线)直接连接形式。
3、设8255A 的4个端口地址为90H ~93H ,将A 口置成方式0输出,B 口置成方式1输入,C 作为输入口。要求编制8255A 初始化程序并设计译码电路(可选用任意芯片),只用8位地址线(A 0~A 7)。
解: 端口地址为90H 时,有1001000001234567 A A A A A A A A (1分) 8255初始化程序:
MOV AL,10001111B
OUT 93H,AL 2分 IN AL,91H 1分 OUT 90H,AL 1分
计算机1 计算机2
译码电路连接如下:
6分
4、8255A作为打印机接口,工作于方式0,如下图A所示。试编写程序实现:
CPU用查询方式向打印机输出首址为ADY的26个字符(ASCII码)。8255A 的端口地址为200H~203H。
图A
解:打印机的工作过程如下:当主机要向打印机输出字符时,先查询打印机忙信号,若打印机正在处理一个字符或正在打印一行字符,则BUSY=1;反之,则BUSY=0。因此,当查询到BUSY=0时,则可通过8255A向打印机输出一个字符。此时,要给打印机的选通端DSTB一个负脉冲,将字符选通到打印机的输入缓冲器中。
由电路图可知,A口作为传送字符的通道,工作于方式0输出;C口高四位工作于方式0输入,C口低四位工作于方式0输出。故8255A的方式选择控制字为10001000B,即88H。其程序如下:
Data segment
Aport equ 200H
Cport equ 202H
Ctrol equ 203H
ADY db 26 dup(?)
Data Ends
Stack segment
Db 100 dup(?)
Stack ends
Code segment
Assume cs:code,ds:data,ss :stack
MAIN PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV DX,Ctrol
MOV AL,88H ;方式控制字=10001000B
OUT DX,AL
MOV AL,03H ;用C口置/复位控制字使PC1=1
OUT DX,AL
MOV CX,26 ;设置计数器初值为26
LEA SI,ADY
LL:MOV DX,Cport
IN AL,DX ;读C口的值
AND AL,20H ;测试D5位
JNZ LL ;不为0,则PC5=1,打印机正忙,等待MOV DX,Aport
MOV AL,[SI] ;打印机不忙,则送字符给A口
OUT DX,AL
MOV DX, Ctrol
MOV AL,02H ;使PC1=0
OUT DX,AL
INC AL ;使PC1=1,则得一个负脉冲输出
OUT DX,AL
INC SI ;修改地址指针
DEC CX ;修改计数器的值
JNZ LL ;26个字符未输完,则继续
RET
MAIN ENDP
CODE ENDS
END MAIN
5、某PC机应用系统以8255A作为接口,采集8位开关S
0~S
7
的状态,然后通过
一组发光二极管LED
0~LED
7
显示出来(S
i
闭合,对应的LED
i
亮)。电路连接图如
下图所示。
(1)写出8255的四个端口地址;
(2)写出8255的方式控制字(未用的位设为0);
(3)编写实现给定功能的程序段。
附:8255A 控制字格式:
D0:C 口低4位方式,0—输出、1—输入
D1:B 口I/O 方式,0—输出、1—输入
D2:B 口工作方式,0—方式0、1—方式1
D3:C 口高4位方式,0—输出、1—输入
D4:A 口I/O 方式,0—输出、1—输入
D6、D5:A 口工作方式,00--方式0、01--方式1、10或11--方式2
D7:标志位为1
解:(1)由图可知,当1100100023456789 A A A A A A A A 时,74LS138的0Y 输出低电平,选中8255A 。由此可知:
8255A 的A 口、B 口、C 口及控制口地址分别为:320H 、321H 、322H 、323H 。
(2)A 口工作在方式0输出、B 口工作在方式0输入,C 口空闲,所以8255A 的工作方式控制字为:82H 。
(3)程序段如下:
MOV AL ,82H ;置方式字
MOV DX ,323H ;置控制口地址
OUT DX ,AL ;写控制字
MOV DX ,321H ;置B 口地址
IN AL ,DX ;读开关状态(断开为1,接通为0)
NOT AL ;状态取反
MOV DX ,320H ;置A 口地址
OUT DX ,AL ;输出(1灯亮,0灯灭)
HLT ;停机
6、某系统中8253地址为340H ~343H ,输入频率为10MHZ 脉冲信号,输出为1HZ ,占空比为1:1的脉冲信号(方波),请写出初始化程序并画出相应电路图及地址译码连接图。(12分)
提示∶(1) 地址总线只用A0~A9,控制线用IOR 、IOW ,译码器可采用逻辑电路与LS138译码器的组合;
(2) 8253的工作方式字如下图。
解:(1)电路图及地址译码连接图如下:
当1101000023456789 A A A A A A A A 时,74LS138的0Y 输出低电平,选中8253。由此可知:
8253的计数器0、计数器1、计数器2及方式控制口地址分别为:340H 、341H 、342H 、343H 。
又因为CLK 频率为10MHz ,要求在OUT 端产生频率1Hz 的脉冲,此时计数值为10000000,超过一个计数通道的范围,要把2个计数通道串联起来使用。
(2)
●确定计数初值:
?CNT0:10MHZ/1KHZ = 10000
?CNT1:1KHz/1Hz = 1000
●确定控制字:
?CNT0:方式3,16位计数值为 00 11 011 0B
?CNT1:方式3,16位计数值为 01 11 011 0B
8253初始化程序段如下:
MOV DX,343H ;8253方式控制字端口地址
MOV AL,00110110B ;置计数器0方式字
OUT DX,AL ;写入计数器0方式字
MOV AX,10000 ;置计数器0计数初值
MOV DX,340H ;计数器0端口地址
OUT DX,AL ;写入计数器0的计数初值低8位
MOV AL,AH
OUT DX,AL ;写入计数器0的计数初值高8位
MOV DX,343H ;8253方式控制字端口地址
MOV AL,01110110B ;置计数器1方式字
OUT DX,AL ;写入计数器1方式字
MOV DX,341H ;计数器1端口地址
MOV AX,1000 ;置计数器1计数初值
OUT DX,AL ;写入计数器1的计数初值低8位
MOV AL,AH
OUT DX,AL ;写入计数器1的计数初值高8位
7、某微机系统中8253的端口地址为250H~253H,如何用该定时/计数器将1MHz 的脉冲变为1Hz的脉冲?画线路连接图,并编写初始化程序。