友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接 友情链接友情链接友情链接友情链接友情链接友情链接友情链接友情链接
当前位置: 首页 > 考试试题 > 计算机/建筑 >

武汉大学2007~2008年第一学期微机原理与接口技术期末考试试题

时间:2013-04-12 07:53来源: 作者: 点击:
武汉大学2007~2008年第一学期微机原理与接口技术期末考试试题,大学试题-期末考试题-期末考试试题-期末考试试卷-大番薯网试题中心
  

武汉大学20072008年第一学期

微机原理与接口技术考试试卷(A

       专业          学号            姓名            成绩          

一、填空题(每空1分,共20)

1. 完成下列程序段,从240H端口读取数据,测试其是否为20H,若不是则将241H端口清0,否则转向NEXT

MOV      DX ,  (1)

(2)          AL, DX

(3)          AL, 20H

(4)______

MOV      DX  (5) 

MOV      AL0

OUT       DX,AL

…..

NEXT: ……

2. 1中的一个共阴极数码管通过8255A和系统ISA总线相连,请完成下列程序段,使该数码管稳定显示“8”(字型编码为7FH)。


1

MOV  DX,  (6)    

MOV  AL,   (7)  

OUT  DX, AL                      ;初始化82C55

MOV  DX,   (8)   

MOV  AL,   (9)  

     (10)                      ;数码管稳定显示“8

3.8086 CPU       条地址线,可形成      的存储器地址空间,地址范围为           

4..中断类型号为24H的中断向量存放在                开始的存储单元。

5..一台微机的地址总线为16条,其RAM存储器容量为16KB,首地址为2000H,且地址是连续的,则可用的最高地址是________

6..一个数据的有效地址EA = 1234H,且DS =5678H,则该数据在内存中的物理地址是________,该数据段的首单元的物理地址是________,末单元的物理地址是________

7.若当前堆栈指针SP指向2006H单元,则向堆栈中压入5个字的内容后,SP应指向________

8.若8086 CPU引脚状态是M/=1=1=0,则此时执行的操作是________

、综合题(80)

1. (10) 一个异步串行通信口,通过TXD发送一帧数据的字符格式如图2的实线所示:

2

如果线路上传送的字符格式包括7ASCII码数据,一位奇偶校验位,一位停止位。要求:(1) 写出该帧字符所传送的数据值,并说明是奇校验还是偶校验。(2) 如果波特率为600bps,请计算传送上面这一帧数据所需要的时间。(3) 若波特率系数K=16,请计算发送时钟频率TXC的频率值。

2. (10) 3两级译码构成口地址译码电路,输出低电平为片选信号。试问

3                                    4

(1) 开关K上合,的寻址范围是________ (2) 开关K下合,的寻址范围是________

(3) 开关K下合,A3改接BA4改接A,则的寻址范围是________________

(4) 请用二进制表示法写出图4的译码电路所决定的端口地址。

3. (20) 某系统外接电路如图58255A口地址为2F0H2F3H,请设计源程序,一次性的测试开关的位置,当K闭合时,LED亮,K断开时LED(提示:C口高4位应为方式0输入,低4位为方式0输出)

5

CODE SEGMENT

ASSUME  CSCODE

BEG     

                                                                  C口初始化

                                                                  ;读C

                                                                  ;测试PC7并组织输出数据

                                                                  ;数据写入C口使LED/

                                                                  ;返DOS

CODE ENDS

END BEG

48253的选通地址为240H243H,采用BCD计数,计数器2输出用于申请中断。如果计数器2的输入时钟频率为20KHz,输出信号每秒引起100次中断。要求 (1) 算出计数初值,(2) 编写初始化程序。(20)

5(20) 6为某A/D转换器的设计方案,所对应的地址分别是300H301H(1)试编写启动A/D对通道4转换、检测A/D是否转换完毕、读取A/D转换数据的程序分段。(2)要求对通道4采集10个数据,并存放到以60000为起始地址的RAM中,试编写该程序。

6

附录:18255A 方式选择控制字格式

28253控制字格式

  武汉大学20072008年第一学期

微机原理与接口技术考试试卷(A)参考答案

一、填空题

1.      01240H                        02. IN

03CMP                         04. JZ NEXT           05241H  

2.      06. 21BH                        07. 80H

08. 219H                        09. 7FH               10OUT DX,AL

3.      1120                          12. 1M                1300000HFFFFFH

4.      140000H :0090H

5.      150 01111111 /5FFFH

6.      16579B4H                      1756780H            18 6677FH

7     191FFCH

8         20存储器写

二、、综合题

1. 解:

(1) 发送的7位数据是0111001B39H,偶校验。

(2) 发送一帧数据共10位,所需的时间:T=10/600bps=16.6ms

(3) TXC的频率为:f=K×600bps=16×600=9600HZ=9.6KHZ

2. : (1) 230H237H    (2) 3F0H3F7H  (3) 3E8H3EFH (4) 33cH

3. 解:

CODE       SEGMENT

ASSUME CSCODE

BEG     

                MOV      DX, 2F3H

                MOV      AL, 

                OUT       DX, AL                        C口初始化

                MOV      DX, 2F2H

                IN          AL,  DX                       ;读C

                TEST      AL,  10000000B            ;测试PC7并组织输出数据

                JNZ        XX

                MOV      AL,  00000001B

                OUT       DX, AL                        ;数据写入C口使LED/

                JMP        ZZ

XX:          MOV      AL,  00000000B

                OUT       DX, AL                       

ZZ:           MOV      AH   4CH

                INT        21H                             ;返DOS

CODE       ENDS

END       BEG

4. 解:

 (1) 初值为20KHZ/100=200C8H

(2)   编程:    MOV  DX243H

MOV  AL10110001B(B1H)

OUT  DXAL 

MOV  DX242H

MOV  AL8CH

OUT  DXAL 

MOV  AL00H  (该句也可以为:XOR ALAL)

OUT  DXAL 

5.解:

(1)

启动A/D对通道4转换程序分段:

MOV     DX, 300H

MOV     AL, 4

OUT     DX, AL

检测A/D是否转换完毕程序分段

MOV     DX, 301H

XX: IN      AL, DX

TEST    AL, 00100000B

JZ      XX

读取A/D转换数据的程序分段。

MOV     DX, 300H

IN      AL, DX

(2)

CODE     SEGMENT

              ASSUME CS:CODE

START:   MOV      CX, 10

              MOV      AX, 6000H

              MOV      DS,  AX

              MOV      SI,   0

YY:     MOV     DX, 300H

MOV     AL, 4

OUT     DX, AL

MOV     DX, 301H

XX:     IN      AL, DX

TEST    AL, 00010000B

JZ      XX

MOV     DX, 300H

IN      AL, DX

              MOV      [SI],       AL

              INC SI

              LOOP     YY

              MOV      AH,  4CH

              INT 21H

CODE     ENDS

              END       START

武汉大学20072008年第一学期

微机原理与接口技术考试试卷(B

       专业          学号            姓名            成绩          

.填空题(每空1分,共20)

01________由中央处理器、存储器、输入/输出接口和总线组成。

02.微机系统中,有四级(或四层)总线,分别是片内总线、片总线、内总线和________

03.与十进制数2006等值的十六进制数是________,与十六进制数AC04H等值的十进制数是________

04[X]=10101010B,则用8位二进制数表示的[]的值是________B;若[X]=00110101B,则[-2X]=________B

05.字符串‘Win98’的ASCII代码是________

068086/8088的地址空间最多可分为________个逻辑段。

07.一个数据的有效地址EA = 1234H,且DS =5678H,则该数据在内存中的物理地址是________,该数据段的首末单元的物理地址是________

08.若当前堆栈指针SP指向2006H单元,则向堆栈中压入5个字的内容后,SP应指向________

09.若8086/8088 CPU引脚状态是M/=1=1=0,则此时执行的操作是________

10.一台8微机的地址总线为16条,其RAM存储器容量为16KB,首地址为2000H,且地址是连续的,则可用的最高地址是________

11.某中断类型号是20H,则中断向量地址是________

12.某微机中断级联系统中,共采用38259A可编程中断控制器,则该系统最多可管理________级中断源。

13.某微机系统采用一块8253芯片,时钟频率为1MHz。若要求通道0工作于方式3,输出的方波周期为0.5ms,则时间常数应设定为________,通道控制字应设定为________

14.一个串行字符由一个起始位,7个数据位,一个奇偶效验位和一个停止位构成,若每秒传送240个字符,则数据传送的波特率是________,传送每位信息所占用的时间是________

15.异步串行通信工作方式下,一个串行字符由一个起始位,7个数据位1101110,一个奇效验位和一个停止位构成,则先后发送该帧字符信息的数据位是________

二.简答题(每题4分,共20)

01.请画出微机系统的框图。

028086 CPU由哪两部分组成?8086 CPU中有哪些寄存器?

03. 为什么说8088 CPU是准16位的微处理器?

04. 指令队列和堆栈的工作方式各是什么?

05DRAM芯片的主要特点是什么?

三.应用题(60)

01下图所示的存储器系统中,RAMEPROM的存储容量各是多少?RAMEPROM存储器分配的地址范围各是多少?(10)

02下图为DMA接口硬件示意图,①、②、③、④四处空缺的内容为存储器、DMA请求信号DREQDMA控制器DMAC、总线保持响应信号之一,请在相应的空缺处指明相应的内容。(10)

03已知中断服务程序入口地址表如下所示,当前CS=1000HIP=0280HSP=1800HFLAG中的PSW=0241。执行一条双字节指令INT 7后,下列寄存器和栈顶相关单元偏移地址的内容是什么?(10)

中断服务程序入口地址表

物理地址

0001CH

0001DH

0001EH

0001FH

00028H

00029H

0002AH

0002BH

   

10H

20H

30H

40H

50H

60H

70H

80H

执行INT 7后,CS=________   IP=________   SP=________   PSW=________

堆栈中栈顶相关单元:

偏移地址

(5)

(6)

   

(7)

(8)

(9)

(10)

(11)

(12)

04设某计算机控制系统中用8253的通道0作为计数器,口地址为60H,计数频率为1MHz,计数控制信号GATE0恒为高电平;控制字寄存器口地址为63H;计数器计到0时的输出信号用做中断请求信号。请分析执行下列初始化程序段后,发出中断请求信号的周期T是多少? (10)

    MOV  AL34H

    OUT  63HAL

    MOV  AX10000

    OUT  60HAL

    MOV  ALAH

OUT  60HAL

05已知某8088微机系统包括82558253两个可编程接口电路。其中8253三个计数器分别工作在不同的方式下,可以为A/D转换器提供可编程的采样频率和采样时间;8255APB0可用于检测按键开关的位置,PA7可根据PB0的状态决定是否点亮LED指示灯。设系统所要求有关硬件连线已经全部接好,片选信号PS2PS3的地址是08H-0BH0CH-0FH,如图所示,试完成下列各项要求。


(1) 根据8255AA口和B口的连接方式,写出接口初始化程序。

(2) 图中给出了8253各个计数器要求的工作方式,设已知外部时钟频率为F,计数器0的计数初值为L(字节型),工作在方式2;计数器1的计数初值为M(字型),工作在方式1;计数器2的计数初值为N(字型),工作在方式3LMN是程序已经定义的变量,LM为二进制数,NBCD码。试按上述要求完成8253的初始化程序。

(3) 设计一个程序片段,使8255A检测PB0的输入状态,当PB0=1时使LED灯亮。(20)


武汉大学20072008年第一学期

微机原理与接口技术考试试卷(B)参考答案

.填空题(每空1分,共20)

01.微型计算机                           02.外总线或通信总线

037D6H44036                          04. 11110101B10010110B

0557H69H6EH39H38H                      06. 64K

07. 579B4H56780H/6677FH                08. 1FFCH

09. 存储器写                             105FFFH

1180H                                  12. 22

1350000110111B                       142400Bd0.417ms

150 0111011 0 1

二.简答题(每题4分,共20)

01

答:

02

答①:由总线接口部件BIU和指令执行部件EU组成。

答②:共五组,分别为:

数据寄存器组:16位,累加器AX、基址寄存器BX、计数寄存器CX、数据寄存器DX

指针寄存器组:16位,堆栈指针寄存器SP、基址指针寄存器BP

变址寄存器组:6位,源变址寄存器SI、目的变址寄存器DI

段寄存器组:16位,代码段寄存器CS、堆栈段寄存器SS、数据段寄存器DS、附加段寄存器ES

控制寄存器组:16位,指令指针寄存器IP、标志寄存器PSW

03

答:8086 EU内部,BIU内部以及外部数据总线宽度均是16位;而8088 EU内部数据总线宽度是16位,BIU内部以及外部数据总线宽度是8位。

04

答:指令队列的进出原则是先进先出;堆栈的进出原则是后进先出。

05

答:刷新和地址两次打入。

三.综合题(60)

01.(10分)

解①:

RAM的存储容量=211字节,EPROM的存储容量=212字节

解②:

A19

A18

A17

A16

A15

A14

A13

A12

A11

A10

A0

RAM

1

1

1

1

1

0

0

1

X

0

0

0

1

1

1

1

1

0

0

1

X

1

1

1

EPROM

1

1

1

1

1

1

0

1

0

0

0

0

1

1

1

1

1

1

0

1

1

1

1

1

RAM分配的地址范围是F9000HF97FFHF9800HF9FFFHEPROM分配的地址范围是FD000HFDFFFH

0210分)

答:①总线保持响应信号  DMA请求信号DREQ  DMA控制器DMAC  ④ 存储器

03.(10分)

答:CS=4030H   IP=2010H   SP=17FAH   PSW=0041H

偏移地址

17FAH

17FFH

   

82H

02H

00H

10H

41H

02H

0410分)

解:

8253的控制字为34H。计数初值N=10000

∴ 通道0设置:方式2(波特率发生器方式),二进制计数,先读/写低字节、再读/写高字节预置初值。

∴ 在OUT0端输出一脉冲频率为的周期性负脉冲。

∴ 中断请求信号的周期T为:

0520分)

解①:

MOV ALl0000010B  AB口方式0A口输出,B口输入

OUT 0BHAL

解②:

MOV AL14H  0通道方式2

OUT 0FHAL

MOV ALL                           0通道计数初值L

OUT 0CHAL

MOV AL72H                         1通道方式l

MOV 0FHAL

MOV AXM                           1通道初值M(字型)

OUT 0DHAL

MOV ALAH

OUT 0DHAL

MOV ALB7H                         2通道方式3BCD

0UT OFHAL

MOV AXN                           2通道初值N(字型)

OUT 0EHAL

MOV ALAH

OUT 0EHAL

解③:

IN  AL09H                         ;读B口状态

K1TEST 01H                            ;测试PBO=l

JZK1                              ;不为1K1

MOV ALOOH                         PB0=1PA0=0,点亮LED

OUT 08HAL

武汉大学20092010年第一学期

微机原理与接口技术考试试卷(A)

专业          学号            姓名            成绩

一、填空题(共20分)

1 总线周期的含义是                                      8086/8088 的基本总线周期由    个时钟周期组成;如果CPU 的时钟频率为4.77MHz,那么它的一个时钟周期为      ns,一个基本总线周期为     ns

2 8086 CPU信号是                ,高电平时表示                 

3 总线传输率是指                                       ;若某总线的工作频率最高为8MHz,数据总线宽度为16位,则该总线的最大传输率为      M Byte/s

4 I/O端口的编址方式有两种,分别为:                         

5  串行传输的信息格式广泛采用着异步和同步格式。异步格式传送一个字符由4部分组成,分别为起始位,       位,          和停止位。

68086系统中,一个中断类型号为0DBH的中断服务子程序位于从8100H1234H开始的内存中,则相应的中断矢量所在的起始物理地址为_         _,从该地址开始连续4个存储单元存放的内容依次为_                _

72k×8SRAM芯片组成16K×16的存储器,共需SRAM芯片_  _片,片内地址和产生片选信号的地址分别为_     位和      _位。

二、选择题(包括单项和多项选择, 每小题2分,共20分)

1.下列说法正确的是_    _ __

A. CPU一般包括ALU、控制器、寄存器阵列等主要部件。

B. CPU中的程序计数器是控制器的重要部件,总是指向下一条指令的地址。

C. 指令周期一般由几个机器周期组成,机器周期是CPU工作的最小时间单位。

D. 8086 CPU的寄存器都是16位的,但指令指针是20位。

2.下列说法正确的是_    _ __

A.通用寄存器包括AXBXCXDX,它们都可以作为累加器使用。

      B.使用BP做间址寄存器时,默认使用DS做段寄存器。

      C.做字符串操作时,源指针与目的指针使用的段寄存器不同。

      D. 形成堆栈地址的是SSSP

3.下列说法正确的是_    _ __

   A. 8086 CPU1M字节地址空间,其中最低64KIO地址空间。

   B. 8086 CPU16位数据线和20位地址线,因此能访问2M字节存储器。

C. 8086 CPU在传送8位数据时,总是使用数据总线低8位。

D. 8086 CPUNMIINTR都是中断请求输入信号。

4.下列指令中有语法错误的是_    _ __

A.  MOV  ALDS[BP]                     B.  MOV  [DI]0

C.  JMP   WORD  PTR[BX]                 D.  PUSH  WORD PTR[SI-2]

5地址总线为32位的微机系统中其内存最大容量为_    _ __

A.  2000KB      B. 2048KB     C.  2048MB    D.  4096MB

6. 设串行异步通信的数据格式是:1位停止位,7位数据位,1位校验位,1位起始位,若传输率为2400/,则每秒传输的最大字符个数为_    _ __

  A. 10    B. 110    C. 120   D. 240

7.一台微型计算机的字长是4个字节,它表示_    _ __

A. 能处理的数值最大是4位十进制数9999        B. 内存容量为10000KB

C. CPU中作为一个整体加以传送处理的二进制代码为32

D. CPU中运算的结果最大为232次方

8.下面的各种中断中,_    _ __的优先级最高。

A.  单步中断       B. 0中断        C. NMI             D.  INTR

9某存储器芯片有地址线13根,数据线8根、该存储器芯片的存储容量为_    _ __

A.   15K×8        B.  32K×256       C. 8K×8           D.  32K×8
10某存储单元的段基址为3806H段内偏移地址为2A48H,该存储单元的物理地址为_  _ __

A. 4100H           B.  3AA08H          C. 3B008H          D.   3AAA8H

三、综合题(60)

1.         20分)定时器8253、中断控制器8259A8086CPU的连接如图1所示,8253的通道0工作于方式3(方波发生器),输出的方波周期为20ms,每20msCPU发出一次中断,CPU响应中断后管理一个作业进程(执行中断服务程序),若8259A初始化时写入中断矢量寄存器的内容为76H,请回答下列问题:

(1) CPU在响应8259A的中断后,CPU何时从何处得到中断矢量号?得到的中断向量号是多少?(4分)(2) CPU在响应中断后从哪几个内存单元取出中断服务程序的入口地址(写出哪些单元中是CS段地址,哪些单元中是IP地址)? 4分)(3) 写出定时器8253和中断控制器8259A的端口地址。  4分)(4) 计算8253通道0的时间常数(计数器初值)是多少?(2分)(5) 写出8253计数通道0的方式控制字和初始化程序段。 6分)

                   1   825382598086CPU的连接电路

2.         10分)模拟/数字转换器ADC0809通过并行接口8255APC总线连接的接口电路如图2所示,该电路的功能是:CPU选择ADC0809的某一模拟通道INi进行A/D转换,并读取转换好的数字信号。请回答如下问题:

8255B口和C口的低4位各工作于何种方式?写出8255A的方式控制字。(4分)

如何控制ADC0809转换的开始?CPU如何知道ADC0809转换结束?(3分)

8255A的口地址是300H~303H,写出8255A的初始化程序段(不要求写如何启动ADC0809开始转换的有关程序)。(3分)

                2  ADC08098255APC总线的连接电路

3.10分)CPU通过8255AB口(采用简单I/O工作方式)向打印机传送100个字符,这些字符在内存中的起始地址为0100:1000H,共100个字节。8255A的端口地址为400~403H,连接示意图如图3所示

3  打印机接口电路

完成该任务的程序如下,请根据程序注释的提示,填写空白处:

mov  dx,                         (1)

mov  al,                          (1)

out   dx,  al 初始化8255A的方式选择控制字设定工作模式

mov  al,                          (1)

out   dx,  al  STB引脚发送高电平

mov  ax,                         (0.5)

mov  ds,  ax

mov  si,                          (0.5)

mov  cx,  100                         

lp:  mov  dx                        (1)

in     al,  dx  读取PC3的状态

and    al,                          (1)

jnz     lp     如果PC3为高电平表示打印机还未处理完毕需等待

mov  dx,                       (1)

mov  al,  [si]

out   dx,  al       将要打印的字符内容通过B口输出至打印机

mov  dx,                       (1)

mov  al,                        (1)

out    dx,  al          

nop

nop

mov  al,                        (1)

out    dx,  al  ;在PC6上发出一个负脉冲后,然后回到高电平状态

inc     si

dec     cx

jnz     lp

4.10分)某微机系统的存储地址空间为A8000H~CFFFFH,若采用单片容量为16K×1位的SRAM 芯片,请问:系统存储容量为多少?(1分) SRAM 芯片有多少条数据线?多少条地址线?(2分) 组成该存储系统共需该SRAM 芯片多少片?(1分) 整个系统应分为多少个芯片组?(1分) 分别写出第一个芯片组和最后一个芯片组所对应的地址空间5分)要求:必须写计算分析过程。

5.10分)在内存数据段符号地址为SDATA处连续存放了60个无符号字节数据,试统计该60个数中能被13除尽的数的个数(该结果应存于数据段符号地址COUNT处)。要求: 1)将“判断一个无符号字节数据能否被13除尽”的功能写成子程序;(2)写出完整的数据段与代码段。

附录:

18255A 方式选择控制字格式

28253控制字格式如下:

武汉大学20082009年第一学期

微机原理与接口技术考试试卷(A)参考答案

一、填空题(共20分)

1 CPU从存储器或I/O端口存取一个字节所需的时间

4    209.6     838.6

2存储器和I/O选择信号    CPU访问存储器

3在给定的工作方式下所能达到的数据传输率或单位时间内能够传输的字节数或比特数  16

4与存储器统一编址 I/O独立编址

5数据位,奇偶校验位

6_0:36C H(或者0036CH)_  34h 12h 00h81h_

7_16_  113_

二、选择题(包括单项和多项选择,共20分)

1

2

3

4

5

6

7

8

9

10

A,B

A,C

D

B

D

D

C

B

C

D

三、综合题(50)

1. 解:

(1)答:CPU在第二个中断响应周期从数据总线上得到中断矢量号(该矢量号是8259A发出的)。该中断矢量号是:70H

    (2)答:从001C0H001C1H中取出的数据是中断服务程序入口地址的偏移量,即IP地址;从001C2H001C3H中取出的数据是中断服务程序入口地址的段地址,即CS地址。

    (3)答:8253的端口地址为:3B8H3BAH 3BCH3BEH8259A的端口地址为:3B9H3BBH

    (4)答:计算公式:20ms/0.01ms=2000;或者:100×103Hz/50Hz=2000

    (5)答:8253通道0的方式控制字为:0011×110B(或者:36H,或者:3EH都对)。

    初始化程序段:

     MOV  DX3BEH

     MOV  AL36H(或0011×110B

     OUT  DXAL

     MOV  DX3B8H

     MOV  AX2000

     OUT  DXAL

     MOV  ALAH

     OUT  DXAL

2. 解:

(1)答:8255AB口工作于方式0输入;C口低4位工作于方式0输出。

    8255A的方式字为:1××××010B,(或者写成82H~FAH中任何一个数都算对)。

   (2)答:CPU通过8255APC3输出高电平,即可使A/D转换开始(之前应该通过PC0~PC2选中某一IN i模拟通道)。由电路图可知转换结束时EOC变为高电平向CPU申请中断,CPU得到中断请求就知道A/D转换结束。

   (3)答:8255A初始化程序段如下:

MOV  DX303H

MOV  AL82H(或1××××010B

OUT   DXAL

3. 解:

mov  dx,     403H             (1)

mov  al,  10000001b(或者81h)   (1)

out   dx,  al 初始化8255A的方式选择控制字设定工作模式

mov  al,   00001101b(或者0DH)  (1)

out   dx,  al  STB引脚发送高电平

mov  ax,  0100H                (0.5)

mov  ds,  ax

mov  si,   1000H             (0.5)

mov  cx,  100                         

lp:  mov  dx   402H            (1)

in     al,  dx  读取PC3的状态

and    al,     08H             (1)

jnz     lp     如果PC3为高电平表示打印机还未处理完毕需等待

mov  dx,     401H             (1)

mov  al,  [si]

out   dx,  al       将要打印的字符内容通过B口输出至打印机

mov  dx,     403H             (1)

mov  al,  00001100b(或者0CH)   (1)

out    dx,  al          

nop

nop

mov  al,  00001101b(或者0DH)   (1)

out    dx,  al  ;在PC6上发出一个负脉冲后,然后回到高电平状态

inc     si

dec     cx

jnz     lp

4. 解:

1.  存储容量=CFFFFH-A8000H+1=28000H (B)=160KB

2.  芯片容量16K×1位:16K=214 所以有14条地址线,1条数据线

3.  所需要的芯片数:(160K×8/16K×1=80

4.  因为每个芯片只有一位数据线,所以需要8片构成一组;

整个系统应分为:80/8=10个芯片组

5.  第一个芯片组的地址空间:A8000H~ABFFFH

A19 A18 A17 A16 A15 A14 A13 …….A0

1  0  1  0  1   0  0      0

                   1      1

最后一个芯片组的地址空间:CC000H~CFFFFH

A19 A18 A17 A16 A15 A14 A13 …….A0

         0      0

1  1  0  0   1  1  1      1

也可以这样计算:

第一个芯片组的地址空间:A8000H~ABFFFH

A8000H+16K-1=A8000H+4000H-1=ABFFFH

最后一个芯片组的地址空间:CC000H~CFFFFH

CFFFF+1-16K=CFFFF+1-4000H=CC000H

;数据段写正确:2分(以下SDATA的定义随意不扣分)

DATA       SEGMENT

SDATA      DB 60 DUP(?) 60个无符号字节数据

COUNT      DB 0      

DATA       ENDS

CODE       SEGMENT

           ASSUME CS:CODE, DS:DATA

;子程序写正确:5

;子程序:入口AL;出口:ZF=1表明AL能被13除尽

DIV13      PROC NEAR

           MOV AH, 0

           MOV BL, 13

           DIV BL

           OR AH, 0

           RET

DIV13      ENDP

;主程序写正确:6

START:     MOV AX, DATA

           MOV DS, AX

           MOV SI, OFFSET SDATA

           MOV CX, 60

LP1:       MOV AL, [SI]

           CALL DIV13

           JNZ LP2

           INC COUNT

LP2:       INC SI

           LOOP LP1

MOV AH, 4CH

           INT 21H

CODE       ENDS

           END START

武汉大学20092010年第一学期

微机原理与接口技术考试试卷(B)

专业          学号            姓名            成绩

1. PC总线和A/D转换接口电路如图2,图中信号均是PC8位)总线信号,请回答下面问题:(本题10分)
1 图中中断控制器8259A和并行接口8255A各有几个端口地址?

各芯片内地址有无重叠?(2分)

   答: 8259A8255A各有4个端口地址;8259A内部有地址重叠,重叠两次;

        8255A没有地址重叠。

2)图中并行接口8255AC口低4位应工作在什么方式?(1分)

答:C口低4位工作于方式0的输出方式。
3)若向8259A的中断向量寄存器写入8AH,其IR2的中断向量是多少? 写出

IR2的中断服务程序入口地址在中断向量表的存放位置。(3分)

答:IR2的向量号为:8AH。偏移量地址:228H~229H;段地址为:22AH~22BH
4 如何控制A/D转换开始?若8255A的口地址是40h~43h 编写一段完成

A/D转换开始的程序。(2分)

   答:CPU先在数据线D2~D0上发送一个IN0~IN7中某个通道的地址,选择一个模拟通道,再让8255AC口的PC2PC3输出高电平即可使A/D开始转换。

       程序如下:

 MOV AL,1XXX0X0B  ; X表示01都可以。

 OUT 43H,AL         ; 写入方式字

 MOV AL,0CH        (00001100B) 使PC2PC3为高电平

 OUT 42H,AL         ; 0CH写入C口。可使A/D转换开始

 

5 CPU如何知道A/D转换结束?CPU何时以及如何读取转换好的数据?(2分)

 答:从图中可知A/D转换结束信号为EOC,该信号接到8259AIR2,所以CPU发现中断请求后就可知道A/D转换结束。CPU在中断响应后,转入IR2的中断服务程序既可读取A/D转换好的数据。

注: 1 ADC 0809的有关信号

         ADDA~ADDC: 模拟通道地址信号;     ALE: 地址锁存信号;

         START: A/D转换启动信号,高电平有效; 

EOC: A/D转换结束信号,高电平有效。转换过程中为低电平。

         OE: 数字量输出允许信号,高电平有效;  D0~D7: 8路数字输出信号;

        IN0~IN7: 8路模拟输入信号

2.根据以下的连接示意图:

1.       写出该8253A所占用的端口地址范围(2)

答:889C h889F h

2.       在计数器1上,输入4MHz的脉冲信号,要求输出方波,频率为2kHz,请求出计数初值(2)

答:计数初始值应为:4M/2k 2000

3.       给出计数器1的初始化代码(6)

答:

MOV DX, 889Fh          (控制寄存器的端口地址正确,可得1)

MOV AL, 01110110b    (初始化控制寄存器的值正确,可得1)

OUT DX, AL      

MOV DX, 889Dh          (计数器1的端口地址正确,可得1)

MOV AX, 2000

OUT DX, AL ;8      (8位数据正确,可得1)

MOV AH, AL

OUT DX, AL ; 8    (8位数据正确,可得1)

或者

MOV DX, 889Fh       (控制寄存器的端口地址正确,可得1)

MOV AL, 01110111b   (初始化控制寄存器的值正确,可得1)

OUT DX, AL     

MOV DX, 889Dh      (计数器1的端口地址正确,可得1)

MOV AX, 2000h

OUT DX, AL ;8      (8位数据正确,可得1)

MOV AH, AL

OUT DX, AL ; 8    (8位数据正确,可得1)

3. 下图是使用SRAM芯片,在ISA总线上扩充内存。图中SBHE为总线高字节允许信号,高有效;SA0~SA23SD0~SD15分别为系统地址线和系统数据线,请回答如下问题:(本题8分)

1)写出每片SRAM 的存储容量。(2分)

  答:每片容量为64KBBytes)(或512kbit

2)写出各片的地址范围。(2分)

 答:SRAM0的地址为:0C0000H~0DFFFFH128KB中的偶地址,

    SRAM1的地址为:0C0000H~0DFFFFH128KB中的奇地址。

3)该地址译码电路是全译码电路还是部分译码电路?(1分)

  答:为全译码电路。

4)说明信号SBHESA0在电路中的作用(按两信号的编码说明)。(3分)

     答:SBHESA0的作用是对两个存储体如何选择的信号,编码如下:

          SBHE   SA0

             1     0        存取16位数据;

         1     1        存取高8位数据;

         0     0        存取低8位数据;

         0     1        无操作

 

4. 10分)某人设计出一定时电路。该电路每隔1秒通过82598088请求一次中断,相应的中断服务程序(名为INTPR)只完成对中断的次数进行统计。此人已编写好了名为INCINIT的用于填写相应中断向量及相关8259初始化操作的子程序。试编写程序(包括中断服务程序),用DOS 2号功能显示系统时间(只需显示每小时内秒的变化情况)。设8259中断结束由如下两条指令完成:MOV AL,20HOUT 20H,AL。要求写出完整的数据段与代码段。

* 注: DOS 2号功能 - 入口:AH2DL = 待显示字符的ASCII码。

DATA   SEGMENT

INCNUM DB 0

LTVAL  DB 2      ;前次在屏幕上显示的数

DATA   ENDS

CODE   SEGMENT

       ASSUME CS:CODEDS:DATA

;中断服务程序

INTPR: PUSH AX       ; 保护现场

       PUSH DS

           MOV AX, DATA

           MOV DS, AX

            STI           ;开中断

            INC INCNUM    ; 1

            MOV AL, 20H   ;发EOI命令

            OUT 20H, AL

           POP DS

            POP AX        ; 恢复现场

            IRET

;主程序

START: MOV AX, DATA

       MOV DS, AX

           CALL INCINIT ;与中断相关的初始化

           STI           ;开中断

LOOP1: CLI        ;检查数是否已达60,注意数据完整性

MOV AL, INCNUM

CMP AL, 60

           JC LT60

           SUB AL, 60   ;设显示速度足够快,滞后小于1分钟

           MOV INCNUM, AL

LT60:  STI

CMP AL, LTVAL

           JZ LOOP1      ;该数已在屏幕上显示了

           MOV LTVAL, AL

           MOV AH, 0

           MOV BL, 10

           DIV BL

           MOV BX, AX BH含秒的个位数,BL含秒的十位数

           MOV DL,   ;为区分前一个显示,先显示空格

           MOV AH, 2

           INT 21H

           MOV DL, BL    ;显示秒值

           MOV AH, 2

           INT 21H

           MOV DL, BH

           MOV AH, 2

           INT 21H

           JMP LOOP1

CODE   ENDS

           END START

数据段正确1分,中断服务程序3分,调用与中断相关的初始化子程序INCINIT 1分,其余5

5. 看懂以下8086宏汇编程序,回答问题:(本题18分)

说明: 字符的ASCII编码,数字0930h39h0dh为回车符,0ah为换行符。

data       segment

             org 100h

buf       dw 5678h,0f588h  ; (1) buf=100h

sum      dw ?,?

count  ($-sum)/2         ; (2) count=?

dstri   db ‘sum=’

disp    db 8 dup(?),’H’,’$’

data       ends

code      segment

assume cs:code, ds:data

start:     mov ax, seg data

             mov ds, ax

             mov si, offset buf

       mov di,offset sum

       xor dx,dx             ;  dx0

          mov ax, [si]                 ; (3)  ax5678h

       mov bx,[si+2]         ;(4)  bx= 0f588h

add ax, bx

adc dx, 0                     

mov [di], ax          ; (5)  ax= 4c00h

mov [di+2],dx        ; (6)  dx=0001

call h2asc

mov dx, offset dstri

             mov ah,09                   ; dos调用09号,以$为结束符的字符串输出显示。

             int 21h

             mov ah, 4ch                 ; dos调用4ch号,程序终止。

int 21h

h2asc      proc

        mov si,offset sun+2   ; 指向待处理的高位字地址

        mov di,offset disp     ; 指向处理后存放ASCII码的地址

        mov dl,count

begin :  mov bx,[si]          ; 先处理高位字再处理低位字

        mov ch, 4

rot:        mov cl, 4

rol bx, cl                      ; bx的内容小循环左移cl

mov al, bl

and al, 0fh                   ; 屏蔽高4

add al, 30h

cmp al, 3ah

jl enter

add al, 7

enter:    mov [di], al

        inc di

dec  ch

jnz  rot

sub si,2

dec dl

jnz begin

ret

h2asc      endp

code       ends

end start

问题:1程序中定义了几个段各段的名字是什么?(2

      答:2个,段名为:datacode

2程序中定义了几个内存变量?变量名是什么?数据区共占用了多少个内存

单元(字节数)(4)?

      答:4个。变量名为:bufsumdstridisp22个内存单元。

3h2asc过程的功能是什么该程序中加30h和加07的作用是什么?(3

答:把sum内存单元的数据(2个字)变换成对应的ASCII码,放到disp定义的内存中(占用8个单元)。在转换为ASCII码的过程中,若是字母需加30h07

    若为0~9的数字需加30h

4)详细说明该程序完成了什么功能?(5分)

  答:程序完成了两个功能,其一是把内存中两个16位数相加,其和放回内存中;

      其二是把上述和变换成对应的ASCII码,在屏幕上显示出来。屏幕显示结果如下:sum=00014c00H     

(5)       对程序中6个问题填空。(4分)

 答:  1buf=100  2count=2 3 ax=5678h  (4)  bx=f588h

 5ax=4c00h 6dx=0001

附录:

18255A 方式选择控制字格式

28253控制字格式如下:

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
推荐内容