在线留言 注册 登录
热门搜索:形考答案免费答案奥鹏答案

福建师范大学《计算机原理与接口技术》期末复习题

Time2024-02-04Hits浏览量: 270
添加QQ : 103092222或微信: xyzlfx100获取更多答案

练习题

基本练习题

第1-4章

1.(3A.4) 16=(     )2=(    )10。   (F0)16=(  )10。 若(F0)16是补码,其真值 =(   )。

2.CPU的组成?

3.8086中,引脚AD15~AD0 是?其外部数据总线为几位?

4.8086处理器中处理动作的最小时间单位是?一个典型总线周期需要多少个T状态?

5.Intel 8086 I/O寻址空间有多大?8086系统中“段”的物理长度为多少字节?

6.处理器寻址能力与地址线数n的关系?如80286处理器具有16MB的寻址能力,该处理器具有多少条地址线?若某处理器具有4GB的寻址能力,则该处理器具有多少条地址线?

7.4K×8位RAM芯片,有地址线条数是多少条?用1024×1位RAM芯片设计一个32KB的存储器系统,问需要有多少片芯片组成?在一微机系统中,需组成一个64K字节的RAM,若选用64K×1位的Intel2164芯片,需要多少片?

8. 8086的段寄存器有哪些?它们是多少位的寄存器?8086的中断向量表在内存中的地址范围是从哪到哪?它可以容纳多少个中断向量?

9.8086CPU复位后的初始指令地址是?当CPU复位后的中断允许标志的状态是?

10.8086的MN/MX引脚的作用是?

11.8086系统的堆栈操作以特点是?放堆栈顶地址的寄存器是?

12.8086CPU进行I/O写操作时应满足的引脚关系?当8086CPU进行存储器写操作时应满足的引脚关系?8088执行存储器写时序的时候,是什么电平?是什么电平?(#表示低电平)。

13.当DMA控制器向CPU请求总线后,CPU何时响应这一请求?当进行DMA操作时,CPU要作什么?

14.8088/8086CPU响应可屏蔽中断的三个必要条件是?

15. 在计算机中,按先进后出方式工作的存储空间是?8086CPU的堆栈操作以什么为单位?数据进栈时,栈顶向哪个地址方向浮动?

16.CPU响应可屏蔽中断时,从何处获取中断类型码?用软件确定中断优先权时,如何改变中断的优先权?

17.标志IF称为? 

18. 介于CPU与主存储器间的高速缓冲存储器cache的作用是?

 

第5-7章

1.什么寻址方式的操作数在寄存器中?在什么寻址方式时操作数在存储器中?8086从存储器每取一条指令需要几个总线周期?

2.被移位指令最后移出的数据位会留存在什么标志位中?

3. 什么指令能使寄存器CX的低四位取反?低4位清零?

4.若AL=81H; 执行CBW后,则AX=?若AL=95H; 执行CBW后,则AX=?已知SP=2110H,执行POP  AX后,SP=?

5.若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=?

6. AX=1562H,指令XOR AX,AX执行后AX中的值是?

7.DEC BYTE PTR[BX]指令中的操作数的数据类型是?

8.串操作指令(如SCASB)的目的操作数的段地址一定在?

9.伪指令ORG的功能是?END  START语句功能是?

10.COUNT EQU 256,其中COUNT称作?占几个字节存储单元?

11.执行CLD和MOVSB指令后,SI、DI、CX的变化?

12.AX中有符号数除以2的正确指令是?

13.这四条指令执行后,不改变AL寄存器内容的指令是?①AND AL,1②CMP AL,DL③XOR AL,AL ④SUB AL,DL

14.这几条指令中正确的是?①CMP  [SI],100;② CMP WORD PTR [SI],100;③CMP  [SI],100h;④CMP 100h,[SI] ;⑤MOV DS,0;⑥MOV AX,[BP][DI]; ⑦MOV  WORD PTR [SI],100; ⑧MOV  WORD PTR [BX],5

15.定义语句BUF DW 1,10 DUP(3 DUP(1,0),2) ,0ABH汇编后,为变量X0分配的存储单元字节数是?

16.执行1号DOS系统功能调用,从键盘输入的字符值存放在?执行2号DOS系统功能调用,待显示字符应存放在?INT  27H中断的中断向量所在的向量表单元地址是?

17.在DEBUG下,A、U、D命令的作用是? 在DEBUG上机调试程序时,存储器地址表示为12FA:015F,它的物理地址是?

18.判断AX和BX是否同时为偶数或同时为奇数。若是转YES的不正确指令序列是?

A.

OR  AX,BX


B.

XOR  AX,BX


AND  AX,1



AND  AX,1


JE  YES



JE  YES

C.

CMP  AX,BX


D.

SUB  AX,BX


AND  AX,1          



AND  AX,1


JE  YES



JE  YES

19. 比较BX和SI中的两个存储器地址,若BX≥SI转向HIGH的正确指令是?

20.ABC DB 3 DUP(0,2 DUP(1,2),3)

       COUNT EQU  $-ABC

符号COUNT等价的值是?

21.8086微处理器的可屏蔽中断请求信号来自于引脚?

22.一个总线周期完成一次数据传输,至少要有几个过程?

23.在指令ADD、CMP、PUSHF、POPF中,不影响标志寄存器值的指令是?

24.设ES=3000H,DI=00FFH,CX=0005H,AL=41H,DF=0,从300FFH开始的连续5个字节单元内分别是44H,43H,42H,41H,41H。执行REPNZ  SCASB指令后,DI=?CX=?( DI=0103H,CX=0001H    )。

  

第8-9章

1.可编程序接口芯片是指?

2.程序控制输入/出传送方式是?CPU不断检测外设状态,当外设准备就绪后,才进行数据传送。这种数据传送方式称为?

3.属于程序控制的传送方式的是?

4.在查询传送方式中,CPU要对外设访问操作前,必须先做什么?设查询传送输入方式,被查询I/O端口应给出什么信号?一个基本IO接口通常具有哪些端口?

5.并行接口芯片8255的哪些引脚完成内部I/O端口选择?

6.8255A有几个端口?哪个端口可以以双向方式工作?哪个端口可进行按位置位/复位的操作?C口用途?只有方式0和方式1两种工作方式的端口是?

7.若8255的A口设置输入和方式1,当 时A口正做什么操作?

8.INTEL 8251A在串行异步通信时,设通信的波特率为1200bps,通信波特率为16,则外部时钟速率为?波特率9600bps时,时钟速率为?

9.在串行异步通信中,常采用什么校验方式?

10.在8251作异步通信,什么情况下会发生桢格式错误?

11.8251在串行通信中,CPU检测到8251的FE=1,这表明通信发生了?

12.在8251作串行异步传送时,什么情况下会发生溢出错误?

13.8253中有几个独立的计数器?

14.8253的计数器可做哪种计数?

15.8253有几种工作方式?哪种方式称为方波发生器?

16.8253计数器的最大计数初值是?

17.已知8253定时/计数器通道0 的CLK0连接时钟信号的频率为2MHz,要用通道0产生周期1毫秒方波,则通道0的二进制计数初值N=?

18.8259A有几个端口地址?

19.每一片8259A可管理几级优先权中断源?通过级联最多可管理几级优先权的中断源?能向CPU提供可编程的中断类型号?

20.8259的普通EOI结束命令的作用是?特殊EOI结束命令的作用是?

21.Intel 8086 PC机中,可以用什么控制多个可屏蔽的中断源是否被响应?

22.当进行DMA操作时,CPU必须让出什么给DMAC?

23.当DMA控制器向CPU请求使用总线后,8086CPU在什么时间响应这一请求?

24.8086的中断向量表可以容纳多少个中断向量?每个中断向量占几个字节?中断向量表在内存中的地址范围是从多少到多少?

25.异步串行通信传输一个字符的格式是?

26.在多个中断源的情况下,为增加控制的灵活性,常要求在每一个外设的接口电路中,设置一个什么触发器,只有当此触发器为“1”时,外设的中断请求才能被送到CPU 。

27.在8086CPU中,软件中断的中断类型码来自?

28.当8255A的端口A工作在方式1输入时,与配对使用的联络信号是?

29. 哪2个8255引脚完成内部I/O端口地址选择?

30. 8255A的哪个口各位可进行按位置位/复位的操作?

31.在8255的选通输出操作中,ACK#信号的用途是什么?

32. 在8255的选通输出操作中用什么来清除OBF#信号?

33.什么是异步串行数据通信?

34.什么是波特率?  

35.解释下列术语:单工、半双工和全双工

36.当8255A的端口A工作在方式1输入时,与配对使用的联络信号是?

 

 

程序理解

1.现有下列程序段: 

mov   ax,6540h

mov   dx,3210h 

mov   cl,04 

shl   dx,cl  

mov   bl,ah  

shl   ax,cl 

shr   bl,cl  

or    dl,bl  

试问上述程序段运行后:ax=?bl=?dx=?

 

2.         ORG  1000H

            DA1   DB  ?

… …

             LEA  SI,DA1

             MOV  CX,SI

     NEXT:ADD  SI,2

            LOOP   NEXT

            …

变量DA1的偏移地址=? 程序段执行后SI=?

 

3. 程序段如下:

str  db  ‘ABCDEFGHIJ’

            …

        mov    ah,01;从键盘输入一个1~9之间的字符

        int    21h

        and    al,0fh

        dec    al

        xor    ah,ah

        mov    bx,offset  str

        add    bx,ax

        mov    dl,[bx]

        mov    ah,02h  ;显示输出

        int    21h

          …

试回答:

(1)如从键盘输人字符‘2’,程序段有什么结果?

 (2)如从键盘输人字符‘5’,程序段有什么结果?

 

4.   VAL  DB  X

 … …

        MOV  AX,0

        MOV  AL,BYTE  PTR  VAL

        MOV  CL,10

        MUL  CL

该程序段完成的功能的数学表达式是? 结果存放在?

 

5.程序段如下:

VAL  DB  20,122,73,-25,34,84,-46

…

MOV    CX,7

LEA    SI,VAL

NEXT:MOV    AL,[SI]

INC     SI

TEST    AL,81H

LOOPZ  NEXT

MOV    BL,[SI]

…

请回答程序段运行后:AL=? BL=?

 

6.  ABY  DB  56H,28H,5AH,94H,61H

… …

        MOV  CL,ABY

        MOV  AL,ABY +1

        ADD   AL,CL

        DAA

上述指令序列执行后,AL=? CL=?

 

7.程序段如下:

    ASC1  DB  5  DUP( ? )

… …

          MOV  BX,OFFSET  ASC1

         MOV  AL,45H

          MOV  CX,5

    LOP:MOV  [BX],AL

          DEC   AL

          INC    BX

          LOOP  LOP

试问:程序运行后,①从ASC1开始的5个字节中依次存放的什么数据?②与这些数据对应的ASCⅡ码字符是什么?

 

8.程序段如下:(设执行前SP=200H.   )

               MOV  AX,1234H         

               MOV  BX,5678H   

                    …

PUSH   AX

PUSH   BX

POP    AX

POP    BX

试问:下述程序段执行后AX= ? BX=? 执行后SP=?

 

 9.         ORG  2000H

           VAL   DB   ?

… …

           MOV  SI,OFFSET  VAL

           MOV  CX,SI

      XT:ADD  SI,1

           LOOP   XT

变量VAL的偏移地址=?程序段执行后SI=?

 

程序设计

1.编写程序,从vals开始有n个单字节有符号数的数据区中,找出其中的最大数据存入max单元。

data   segment

vals  db  76,-12, 71,20,84,-5,102,……

  n = $-vals

max  db  ?

data   ends

 

2.如下数据段,设STR1字符串中有不超过15个数字字符。编写汇编语言程序,统计STR1串中的数字字符的个数,在显示“数字字符的个数为:”信息的后面显示统计结果。

              DATA  SEGMENT

                STR1  DB ‘……This number is 31594347……’

         LN = $-STR

         STR2 DB ‘数字字符的个数为: $’

DATA  ENDS

 

3.编写汇编程序,功能是把bcdm中的非压缩bcd码,转换为相应的ascii码存到asci数据区中并送屏幕显示。

  data   segment

bcdm  db  09h,05h,06h,02h,08h,0,03h,01h,07h,04h

    cunt =$- bcdm

asci  db  cunt  dup ( ? )

data   ends

 

4.  如下数据段,字节变量HX中定义了10个字节的数据,设计汇编程序按顺序把它们转换成字符,存入AC开始的数据区。(注10个字节的数据可看成20个十六进制数码)

MYD  SEGMENT

HX  DB  6AH,0E1H,57H,98H,0C1H,36H,11H,49H,0C2H,3CH

AC  DB  20 DUP(?)

MYD   ENDS

 

5. 首地址为buff1的数据区中存放若干数字字符,编程序把buff1中的数字字符转换为相应的非压缩BCD码,并存入buff2数据区中。

DAT  SEGMENT   

buff1  DB  ‘2981058368’

     N1 =$ - buff1

buff2  DB  N1  DUP ( ? )

DAT  ENDS

 

接口应用

1.设8253通道地址范围为48H~4BH ,0通道CLK0连接频率为2MHZ的时钟信号,现要求:计数器1输出一个频率为1Hz的方波信号,⑴画出8253电路连线图。⑵编写初始化程序。

2.利用8086的引脚,产生存储器读与写和IO读与写信号,画出电路图。

3.如图电路图,设8255A的端口地址为20H~23H,试编程实现:当开关K1、K2、K3、K4全向上(接+VCC)时,只有L1灯亮,当开关K1、K2、K3、K4全向下(接地)时,只有L2灯亮,否则,只有L3灯亮,请编写完整的实验程序,要求灯能实时反映出开关的状态。

4.如图1.1步进电动机SM有4个电极a、b、c、d(其中a-c为一组线圈,b-d为一组线圈)。如图1.2当相邻两极加高电平“1”时,另外两相邻两极加低电平“0”时,电机的转子就会偏转(如a=b=”1”,c=d=”0”,时,转子上的K点就会偏转到a和b两极之间的位置上)。现有如图1.3的实验电装置电路,①请写出转子K点从ab之间开始,顺时针步进转一周分几步?每步通过PA口的输出码?(答案格式如:步1-输出码00000011-K点位于ab间;)②请编写程序(包括8255的初始化),使步进电机产生以每秒一圈的速度顺时针连续均匀转动。(设延时子程序DELY有0.01秒的延时量, 8255的A、B、C口和控制口的地址分别是28H,29H,2AH和2BH。)





文本框: 驱 动 电 路

步进电机控制


 

 

 

 

 

 

 

 


5.某系统中,定时/计数器8253的通道0、1、2和控制字端口分别为60H、61H、62H、63H。请完成:

(1)设CLK0=2MHz,定义通道0工作在方式2,要求输出OUT0=lkHz方波,计算定时系数并写出通道0初始化程序;

(2)定义通道1工作在方式2,用上述通道0的OUT0信号作为通道1的输入计数脉冲,设计数值为1000,请画出通道0和通道1的电路图,计算OUT1周期并写出通道1初始化程序;

(3)若用OUT1信号向CPU发中断请求,请画出中断信号产生的电路。

 

6.用8253作为某数据采集系统的定时器,每隔10ms用中断方式采集一次数据,已知输入时钟频率为10kHz,8259端口地址为20—21H,中断类型号为13H,8253端口地址为40~43H,请为8259和8253编制初始化程序。

 

7.用8253作为控制系统的定时器,每隔100ms以中断方式监控一次。设8253的输入时钟频率为fc=1MHz,端口地址为30—33H;8259端口地址为80—81H,中断类型号为23H。要求:①计算8253的定时时间常数,用图中标出的信号线,画出8253和8259的电路连线图;②分别为8259和8253编制初始化程序。

 

8. 设8255的A、B和C口工作在方式0下,能循环查询输入输出,当查询到PC1=1时结束本程序;查询到PC1=0且PC0=1时,从A口读入数据,将其高四位取反,低四位保持不变,然后送B口输出。试编写8255初始化和应用程序(设8255  A、B、C口和控制端口地址为70H-73H)。

 

9.若用8253作为温控系统的定时器,每隔2秒用中断方式测/控一次数据,8253的输入时钟频率为fc=100KHz,端口地址为50—53H;8259端口地址为58—59H,中断类型号为61H。要求:①计算8253的定时时间常数,画出8253和8259的电路连线图(可参考题20图);②分别为8259和8253编制初始化程序。

 

10. (延续题22)设计用8255做为控温加热系统的温度输入和控温输出接口,TS是数字化测温模块,当OE=1时TS通过8位数据线DATA输出补码格式的温度值。HC为加热器,当STB=1时,通过数据线线DATA可向HC的输入8位无符号数PN,PN越大HC的热功率越大,PN=0时HC不发热。要求8255定时检查温度,按温度大小分段控制HC的功率,设8255端口地址为5C—5FH。①画出8255与TS和HC间的电路连线;②写出8255的初始化程序;③利用题1,编写中断程序,每隔2秒进行一次温度t测量,按t值向HC输出PN:当0≤t<100时,PN=200;100≤t<120时,PN=100;120≤t<150时,PN=50,t>150时,PN=0。

 

11. 请把2片8259A接成非缓冲级联方式,#1为主片,#2为从片,#2片通过主片的IR1请求中断,正确连接图中标出的信号,接往CPU的标明所接的CPU信号。

 

 

练习题参考答案

基本练习题

第1-4章

1.(3A.4) 16=(     )2=(    )10。   (F0)16=(  )10。 若(F0)16是补码,其真值 =(   )。

( 111010.01, 58.25 。  240,-16)

2.CPU的组成?    (运算器和控制器)

3.8086中,引脚AD15~AD0 是?其外部数据总线为几位?

(  地址与数据复用总线; 16位  )

4.8086处理器中处理动作的最小时间单位是?一个典型总线周期需要多少个T状态?

(1T时钟;4T)

5.Intel 8086 I/O寻址空间有多大?8086系统中“段”的物理长度为多少字节?(64KB ;64KB)

6.处理器寻址能力与地址线数n的关系?如80286处理器具有16MB的寻址能力,该处理器具有多少条地址线?若某处理器具有4GB的寻址能力,则该处理器具有多少条地址线?

 (寻址能力=2n;n=24;n=32 )

7.4K×8位RAM芯片,有地址线条数是多少条?用1024×1位RAM芯片设计一个32KB的存储器系统,问需要有多少片芯片组成?在一微机系统中,需组成一个64K字节的RAM,若选用64K×1位的Intel2164芯片,需要多少片?(12条;(32×1024×8)/(1024×1)=256片; 8片)

8.8086的段寄存器有哪些?它们是多少位的寄存器?8086的中断向量表在内存中的地址范围是从哪到哪?它可以容纳多少个中断向量?

(CS,DS,SS,ES;16位; 0:0000H~ 0:03FFH;256个)

9.8086CPU复位后的初始指令地址是?当CPU复位后的中断允许标志的状态是?

(FFFF0H;   禁止中断状态)

10.8086的MN/MX引脚的作用是? ( 设置CPU最小/最大工作模式 )

11.8086系统的堆栈操作以特点是?放堆栈顶地址的寄存器是?

(双字节为单位,数据进栈时栈顶向小地址方向浮动   ;SP)

12.8086CPU进行I/O写操作时应满足的引脚关系?当8086CPU进行存储器写操作时的引脚关系?8088执行存储器写时序的时候,是什么电平?是什么电平?(#表示低电平)

  (M/IO#=0,WR#=0 ,RD#=1;  M/IO#=1,WR#=0;  =0;=1)

13.当DMA控制器向CPU请求总线后,CPU何时响应这一请求?当进行DMA操作时,CPU要作什么?    (总线周期完;必须让出三总线给DMAC)

14.8088/8086CPU响应可屏蔽中断的三个必要条件是?

 (①当前指令执行结束、② IF=1和③INTR=1) 

15. 在计算机中,按先进后出方式工作的存储空间是?8086CPU的堆栈操作以什么为单位?数据进栈时,栈顶向哪个地址方向浮动?  (堆栈;字;小地址方向)

16.CPU响应可屏蔽中断时,从何处获取中断类型码?用软件确定中断优先权时,如何改变中断的优先权?    (从数据总线上读取中断类型码;只要改变查询的先后顺序)

17.标志IF称为?    (中断允许标志)。

18. 介于CPU与主存储器间的高速缓冲存储器cache的作用是?

(提高CPU访问主存的等效速率  )

 

第5-7章

1.什么寻址方式的操作数在寄存器中?在什么寻址方式时操作数在存储器中?8086从存储器每取一条指令需要几个总线周期?

(寄存器寻址;存储器寻址;不同指令长度不一样,至少要一个)

2.被移位指令最后移出的数据位会留存在什么标志位中?   (CF )

3. 什么指令能使寄存器CX的低四位取反?低4位清零?

(XOR CX,000FH; AND CX,0FFF0H)

4.若AL=81H; 执行CBW后,则AX=?若AL=95H; 执行CBW后,则AX=?已知SP=2110H,执行POP  AX后,SP=?     (0FF81H ;0FF95H ;2112H)

5.若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=?   (1400H)

6. AX=1562H,指令XOR AX,AX执行后AX中的值是?   (0)

7.DEC BYTE PTR[BX]指令中的操作数的数据类型是?    ( 字节 )

8.串操作指令(如SCASB)的目的操作数的段地址一定在?   (ES)

9.伪指令ORG的功能是?END START语句功能是?

 (内存起始偏移地址定位;指示汇编到本句结束,本程序从START处开始执行)

10.COUNT EQU 256,其中COUNT称作?占几个字节存储单元?

 (COUNT是符号常数,不占存储单元 )

11.执行CLD和MOVSB指令后,SI、DI、CX的变化? ( SI加1,DI加1,CX减1 )

12.AX中有符号数除以2的正确指令是?    (SAR  AX,1 )

13.这四条指令执行后,不改变AL寄存器内容的指令是?①AND AL,1②CMP AL,DL③XOR AL,AL ④SUB AL,DL     (②)

14.这几条指令中正确的是?①CMP  [SI],100;② CMP WORD PTR [SI],100;③CMP  [SI],100h;④CMP 100h,[SI] ;⑤MOV DS,0;⑥MOV AX,[BP][DI]; ⑦MOV  WORD PTR [SI],100; ⑧MOV  WORD PTR [BX],5     ( ②⑥⑦⑧ )

15.定义语句BUF DW 1,10 DUP(3 DUP(1,0),2) ,0ABH汇编后,为变量X0分配的存储单元字节数是?         (90H 或144)

16.执行1号DOS系统功能调用,从键盘输入的字符值存放在?执行2号DOS系统功能调用,待显示字符应存放在?INT  27H中断的中断向量所在的向量表单元地址是?

 (AL; DL;  0:009CH  )

17.在DEBUG下,A、U、D命令的作用是? 在DEBUG上机调试程序时,存储器地址表示为12FA:015F,它的物理地址是?    (汇编、反汇编 、查看数据 ; 130FFH)

18.判断AX和BX是否同时为偶数或同时为奇数。若是转YES的不正确指令序列是?  (A)

A.

OR  AX,BX


B.

XOR  AX,BX


AND  AX,1



AND  AX,1


JE  YES



JE  YES

C.

CMP  AX,BX


D.

SUB  AX,BX


AND  AX,1          



AND  AX,1


JE  YES



JE  YES

19. 比较BX和SI中的两个存储器地址,若BX≥SI转向HIGH的正确指令是? (JAE HIGH )

20.ABC DB 3 DUP(0,2 DUP(1,2),3)

       COUNT EQU  $-ABC

符号COUNT等价的值是?    (18)

21.8086微处理器的可屏蔽中断请求信号来自于引脚?   (INTR )

22.一个总线周期完成一次数据传输,至少要有几个过程?  (  传送地址与传送数据  )。

23.在指令ADD、CMP、PUSHF、POPF中,不影响标志寄存器值的指令是?( PUSHF ) 

24.设ES=3000H,DI=00FFH,CX=0005H,AL=41H,DF=0,从300FFH开始的连续5个字节单元内分别是44H,43H,42H,41H,41H。执行REPNZ  SCASB指令后,DI=?CX=?( DI=0103H,CX=0001H    )。

 

第8-9章

1.可编程序接口芯片是指?   (工作状态可由 CPU/主机来控制设定的接口芯片)

2.程序控制输入/出传送方式是?CPU不断检测外设状态,当外设准备就绪后,才进行数据传送。这种数据传送方式称为?

(无条件传送、条件传送和查询传送      ;查询传送方式)

3.属于程序控制的传送方式的是?    (无条件传送,查询传送或条件传送)

4.在查询传送方式中,CPU要对外设访问操作前,必须先做什么?设查询传送输入方式,被查询I/O端口应给出什么信号?一个基本IO接口通常具有哪些端口?

(进行状态检测;就绪信号;数据、状态和控制端口)

5.并行接口芯片8255的哪些引脚完成内部I/O端口选择?(A1,A0 )

6.8255A有几个端口?哪个端口可以以双向方式工作?哪个端口可进行按位置位/复位的操作?C口用途?只有方式0和方式1两种工作方式的端口是?

 (3个数据1个控制共4个8位端口; A口; C口; C口可作为端口A和B的联络信号线,又可作为端口使用;  是B口  )

7.若8255的A口设置输入和方式1,当 时A口正做什么操作?

(外设数据进入A口)

8.INTEL 8251A在串行异步通信时,设通信的波特率为1200bps,通信波特率为16,则外部时钟速率为?波特率9600bps时,时钟速率为?

(1200bps×16=19.2K ;9600bps×16=153600=153.6K )

9.在串行异步通信中,常采用什么校验方式?     (奇偶校验)

10.在8251作异步通信,什么情况下会发生桢格式错误?   (接收端没有收到停止位时 )

11.8251在串行通信中,CPU检测到8251的FE=1,这表明通信发生了?  (帧格式错误)

12.在8251作串行异步传送时,什么情况下会发生溢出错误?

(串行异步传送,8251尚未读完当前桢数据,下一新数据又进入8251输入缓冲器,就会发生溢出错误)

13.8253中有几个独立的计数器?   ( 3个16 位计数器 )

14.8253的计数器可做哪种计数?   (二进制或十进制 )

15.8253有几种工作方式?哪种方式称为方波发生器?  (   6,3  )

16.8253计数器的最大计数初值是?   (FFFFH)

17.已知8253定时/计数器通道0 的CLK0连接时钟信号的频率为2MHz,要用通道0产生周期1毫秒方波,则通道0的二进制计数初值N=?  ( 2000  )

18.8259A有几个端口地址?   ( 2   )

19.每一片8259A可管理几级优先权中断源?通过级联最多可管理几级优先权的中断源?能向CPU提供可编程的中断类型号?    (8,64,可以)

20.8259的普通EOI结束命令的作用是?特殊EOI结束命令的作用是?

(用于清除当前优先级最高的IS位 ;用于清除指定优先级的IS位)

21.Intel 8086 PC机中,可以用什么控制多个可屏蔽的中断源是否被响应?

(除受IF标志的控制外,还受到8259A中断屏蔽寄存器的控制 )

22.当进行DMA操作时,CPU必须让出什么给DMAC?    (三总线)

23.当DMA控制器向CPU请求使用总线后,8086CPU在什么时间响应这一请求?

(总线周期完)

24.8086的中断向量表可以容纳多少个中断向量?每个中断向量占几个字节?中断向量表在内存中的地址范围是从多少到多少?, ( 256 ; 4 ;从 00000:0000H到0:03FFH  )

25.异步串行通信传输一个字符的格式是?  

(以一位低电平起始位开始,以1-2位高电平的停止位结束。)

26.在多个中断源的情况下,为增加控制的灵活性,常要求在每一个外设的接口电路中,设置一个什么触发器,只有当此触发器为“1”时,外设的中断请求才能被送到CPU 。 

  (中断屏蔽)

27.在8086CPU中,软件中断的中断类型码来自?    (指令的操作数)

28.当8255A的端口A工作在方式1输入时,与配对使用的联络信号是?  ( IBF)

29. 哪2个8255引脚完成内部I/O端口地址选择?

(地址信号A1、A0与片选CS#=0共同用于I/O端口地址选择。通过A1、A0所组合的地址来区分8255A内部A、B、C三个数据端口和一个控制端口的地址。)

30. 8255A的哪个口各位可进行按位置位/复位的操作?   (C口)

31.在8255的选通输出操作中,ACK#信号的用途是什么?

(ACK#是外设响应信号。ACK#是由外设送给8255的。当CPU通过8255输出的数据已经送到外设时,外设便向8255发ACK#应答信号。)

32. 在8255的选通输出操作中用什么来清除OBF#信号?

(OBF#是输出缓冲器满信号。当输出缓冲器中的数据被外设取走时应该将此信号清除。因此,由ACK#的有效信号将其置为高电平,即清除OBF#信号。)

33.什么是异步串行数据通信?

(按位进行传输的通信叫做串行通信。异步串行通信是串行通信的一种。所谓异步通信,是指在通信的双方没有统一的同步时钟,而是通过同步标志位来实现通信同步。在异步通信中,每一个字符的前后都要加上一些标志位组成一帧信息。这些标志位用作帧与帧之间的分隔和同步。)

34.什么是波特率?     (波特率即传输率,就是在通信过程中每秒传输串型数据的位数。)

35.解释下列术语:单工、半双工和全双工

(单工:接收和发送器之间只有一根传输线连接,并且只允许在一个方向传送数据。 半双工:接收和发送器之间只有一根传输线连接,发送和接收数据分时交替进行。通过软件和接口的协调控制,实现数据传输的方向转换。 全双工:接收和发送器之间有两根传输线连接,承担两个不同方向的数据传送,发送数据和接收数据可以同时进行。)

36.当8255A的端口A工作在方式1输入时,与配对使用的联络信号是?(IBF )

 

程序理解

1.现有下列程序段: 

mov   ax,6540h

mov   dx,3210h 

mov   cl,04 

shl   dx,cl  

mov   bl,ah  

shl   ax,cl 

shr   bl,cl  

or    dl,bl  

试问上述程序段运行后:ax=?bl=?dx=?

答:( ax=5400h;bl= 06 ; dx= 2106h )

 

2.         ORG  1000H

            DA1   DB  ?

… …

             LEA  SI,DA1

             MOV  CX,SI

     NEXT:ADD  SI,2

            LOOP   NEXT

            …

变量DA1的偏移地址=? 程序段执行后SI=?

答: (1000H;  1000H+2*1000H=3000H)

 

3. 程序段如下:

str  db  ‘ABCDEFGHIJ’

            …

        mov    ah,01;从键盘输入一个1~9之间的字符

        int    21h

        and    al,0fh

        dec    al

        xor    ah,ah

        mov    bx,offset  str

        add    bx,ax

        mov    dl,[bx]

        mov    ah,02h  ;显示输出

        int    21h

          …

试回答:

(1)如从键盘输人字符‘2’,程序段有什么结果?     (“B”)

 (2)如从键盘输人字符‘5’,程序段有什么结果?     (“E”)

 

4.   VAL  DB  X

 … …

        MOV  AX,0

        MOV  AL,BYTE  PTR  VAL

        MOV  CL,10

        MUL  CL

该程序段完成的功能的数学表达式是? 结果存放在?

答:(X*10; AX)

 

5.程序段如下:

VAL  DB  20,122,73,-25,34,84,-46

…

MOV    CX,7

LEA    SI,VAL

NEXT:MOV    AL,[SI]

INC     SI

TEST    AL,81H

LOOPZ  NEXT

MOV    BL,[SI]

…

请回答程序段运行后:AL=? BL=?

答:(73 ;-25)   

 

6.  ABY  DB  56H,28H,5AH,94H,61H

… …

        MOV  CL,ABY

        MOV  AL,ABY +1

        ADD   AL,CL

        DAA

上述指令序列执行后,AL=? CL=?

答:AL= 84H  ,CL= 56H  。

 

7.程序段如下:

    ASC1  DB  5  DUP( ? )

… …

          MOV  BX,OFFSET  ASC1

         MOV  AL,45H

          MOV  CX,5

    LOP:MOV  [BX],AL

          DEC   AL

          INC    BX

          LOOP  LOP

试问:程序运行后,①从ASC1开始的5个字节中依次存放的什么数据?②与这些数据对应的ASCⅡ码字符是什么?

答:(45H、44H、43H、42H、41H。  ‘E’、‘D’、‘C’、‘B’、‘A’)

 

8.程序段如下:(设执行前SP=200H.   )

               MOV  AX,1234H         

               MOV  BX,5678H   

                    …

PUSH   AX

PUSH   BX

POP    AX

POP    BX

试问:下述程序段执行后AX= ? BX=? 执行后SP=?

答:(AX= 5678H ;BX=1234H;执行后SP=200H)

 

 9.         ORG  2000H

           VAL   DB   ?

… …

           MOV  SI,OFFSET  VAL

           MOV  CX,SI

      XT:ADD  SI,1

           LOOP   XT

变量VAL的偏移地址=?程序段执行后SI=?

   答:(偏移地址= 2000H  ;SI= 4000H)

 

程序设计

1.编写程序,从vals开始有n个单字节有符号数的数据区中,找出其中的最大数据存入max单元。

data   segment

vals  db  76,-12, 71,20,84,-5,102,……

  n = $-vals

max  db  ?

data   ends

参考答案

cod   segment

assume cs:cod,ds:data

start:mov ax,data

mov ds,ax

mov si,offset vals

mov cx,ln-1

mov al,[si]

next:inc  si

cmp al,[si]

jg   xx1

mov al, [si]

xx1:dec cx

jnz  next

mov  max,al

mov ah,4ch

int 21h

cod   ends

        end  start

 

2.如下数据段,设STR1字符串中有不超过15个数字字符。编写汇编语言程序,统计STR1串中的数字字符的个数,在显示“数字字符的个数为:”信息的后面显示统计结果。

              DATA  SEGMENT

                STR1  DB ‘……This number is 31594347……’

         LN = $-STR

         STR2 DB ‘数字字符的个数为: $’

DATA  ENDS

参考答案

CODE   SEGMENT

         ASSUME CS:CODE,DS:DATA

  COUT  PROC  FAR

 ST: MOV  AX,DATA

         MOV  DS,AX

         SUB  BL,BL

LEA  DI,STR1

MOV  CX,LN

      X1:CMP  BYTE PTR [DI],’0’

JB   G

CMP  BYTE PTR [DI],’9’

JA   G

INC  BL

G:INC  DI

LOOP  X1

LEA   DX,STR2

MOV  AH,9

INT  21H

CMP  BL,9

JBE   X2

ADD  BL,7

X2:ADD  BL,30H

   MOV  DL,BL

   MOV  AH,2

   INT  21H

MOV  AH,4CH

INT  21H

COUT  ENDP

   CODE  ENDS

         END ST

 

3.编写汇编程序,功能是把bcdm中的非压缩bcd码,转换为相应的ascii码存到asci数据区中并送屏幕显示。

  data   segment

bcdm  db  09h,05h,06h,02h,08h,0,03h,01h,07h,04h

    cunt =$- bcdm

asci  db  cunt  dup ( ? )

data   ends

参考答案

cod   segment

assume cs:cod,ds:data

start:mov ax,data

mov ds,ax

mov si,0

mov cx, cunt

next: mov al,[si+ bcdm]

add al,30h

mov [si+ asci],al

mov dl,al

mov ah,2

int  21h

inc si

dec cx

jnz  next

mov ah,4ch

int 21h

cod   ends

        end  start

 

4.  如下数据段,字节变量HX中定义了10个字节的数据,设计汇编程序按顺序把它们转换成字符,存入AC开始的数据区。(注10个字节的数据可看成20个十六进制数码)

MYD  SEGMENT

HX  DB  6AH,0E1H,57H,98H,0C1H,36H,11H,49H,0C2H,3CH

AC  DB  20 DUP(?)

MYD   ENDS

参考答案

CD  SEGMENT

      ASSUME CS:CD,DS:MYD

FD  PROC  FAR

START:MOV  AX,MYD

        MOV  DS,AX

        LEA SI,HX

        LEA DI,AC

        MOV DX,10

    X1: MOV AL,[SI]

        MOV AH,AL

        MOV CL,4

        SHR AL,CL

        CMP  AL,9

        JBE  X2

        ADD  AL,7

    X2: ADD  AL,30H

        MOV [DI],AL

        AND AH,0FH

        CMP  AH,9

        JBE  X3

        ADD  AH,7

    X3: ADD  AH,30H

        MOV [DI+1],AH

        ADD DI,2

        INC SI

        DEC DX

        JNZ   X1

MOV  AH,4CH

        INT   21H

   FD  ENDP

   CD  ENDS

        END START

 

5. 首地址为buff1的数据区中存放若干数字字符,编程序把buff1中的数字字符转换为相应的非压缩BCD码,并存入buff2数据区中。

DAT  SEGMENT   

buff1  DB  ‘2981058368’

     N1 =$ - buff1

buff2  DB  N1  DUP ( ? )

DAT  ENDS

参考答案:

COD  SEGMENT   

      ASSUME CS:COD,DS:DAT

ATOB  PROC  FAR

      MOV  AX,DAT

      MOV  DS,AX

      MOV  SI,0

      MOV  CX,N1

X0:   MOV  AL,[SI+ buff1]

      AND  AL,0FH

      MOV  [SI+ buff2],AL

      INC   SI

      LOOP  X0

      MOV  AH,4CH

      INT   21H

ATOB  ENDP

COD  ENDS

      END  ATOB

 

接口应用

1.设8253通道地址范围为48H~4BH ,0通道CLK0连接频率为2MHZ的时钟信号,现要求:计数器1输出一个频率为1Hz的方波信号,⑴画出8253电路连线图。⑵编写初始化程序。

参考答案:

⑴  GATE0=GATE1=Vcc; CLK1=OUT0

⑵  计算时间常数:T=2MHz/1Hz=2000000=200×10000。

0通道与1通道级联,

MOV AL,01110110B

OUT 4BH,AL

MOV AX,10000

OUT 49H,AL

MOV AL,AH

OUT 49H,AL

MOV AL,00110100B

OUT 4BH,AL

MOV AX,200

OUT 48H,AL

MOV AL,AH

OUT 48H,AL

2.利用8086的引脚,产生存储器读与写和IO读与写信号,画出电路图。

参考答案:

 

 

 

 

 

 

3.如图电路图,设8255A的端口地址为20H~23H,试编程实现:当开关K1、K2、K3、K4全向上(接+VCC)时,只有L1灯亮,当开关K1、K2、K3、K4全向下(接地)时,只有L2灯亮,否则,只有L3灯亮,请编写完整的实验程序,要求灯能实时反映出开关的状态。

参考答案:

MOV AL,1001 1010B

OUT 23H,AL

MOV AL0

OUT 22H,AL

WAIT:IN AL,20H

AND AL,0FH

JZ   L2

CMP AL,0FH

JE   L1

MOV AL,4

OUT 22H,AL

MOV CX,10000

X1:NOP

LOOP  X1

JMP  WAIT

L1:MOV AL,1

OUT 22H,AL

MOV CX,10000

X2:NOP

LOOP  X2

JMP  WAIT

L2:MOV AL,2

OUT 22H,AL

MOV CX,10000

X3:NOP

LOOP  X3

JMP  WAIT

4.如图1.1步进电动机SM有4个电极a、b、c、d(其中a-c为一组线圈,b-d为一组线圈)。如图1.2当相邻两极加高电平“1”时,另外两相邻两极加低电平“0”时,电机的转子就会偏转(如a=b=”1”,c=d=”0”,时,转子上的K点就会偏转到a和b两极之间的位置上)。现有如图1.3的实验电装置电路,①请写出转子K点从ab之间开始,顺时针步进转一周分几步?每步通过PA口的输出码?(答案格式如:步1-输出码00000011-K点位于ab间;)②请编写程序(包括8255的初始化),使步进电机产生以每秒一圈的速度顺时针连续均匀转动。(设延时子程序DELY有0.01秒的延时量, 8255的A、B、C口和控制口的地址分别是28H,29H,2AH和2BH。)





文本框: 驱 动 电 路

步进电机控制


 

 

 

 

 

 

 


参考答案:

一拍一步:

步1-输出码00000011-K点位于ab间;

步2-输出码00001001-K点位于ad间;

步3-输出码00001100-K点位于dc间;

步4-输出码00000110-K点位于bc间;

 

一拍一步:

Step  db 03h,09h,0ch,06h

 

Mov al,10001011b

Out 2bh,al

X0:Lea si,step

Mov cx,4

X2:Mov al,[si]

Out 28h,al

Mov bl,25

X1:call dely

Dec bl

Jnz  x1

Inc si

Loop  x2

Jmp x0

 

5.某系统中,定时/计数器8253的通道0、1、2和控制字端口分别为60H、61H、62H、63H。请完成:

(1)设CLK0=2MHz,定义通道0工作在方式2,要求输出OUT0=lkHz方波,计算定时系数并写出通道0初始化程序;

(2)定义通道1工作在方式2,用上述通道0的OUT0信号作为通道1的输入计数脉冲,设计数值为1000,请画出通道0和通道1的电路图,计算OUT1周期并写出通道1初始化程序;

(3)若用OUT1信号向CPU发中断请求,请画出中断信号产生的电路。

答:

(1)时间系数

NT=(1÷1000)÷(1÷2000000)=2000000÷1000=2000

初始化程序:

Mov  al,00110100B

Out  63h,al

Mov ax,2000

Out  60h,al

Mov  al,ah

Out  60h,al

(2)out1周期T1:

T1=1000/1000=1(秒)

初始化程序:

Mov  al,01110100B

Out  63h,al

Mov ax,1000

Out  61h,al

Mov  al,ah

Out  61h,al

 

(3)

 

 

 

 

 

 

 

6.用8253作为某数据采集系统的定时器,每隔10ms用中断方式采集一次数据,已知输入时钟频率为10kHz,8259端口地址为20—21H,中断类型号为13H,8253端口地址为40~43H,请为8259和8253编制初始化程序。

答:8253选通道1以方式2定时,时间初值N=10KHz×10ms=100。 8259由于中断类型号为13H,所以只能通过IR3,初始人为完全嵌套、边沿触发、非缓冲、非自动结束:

;8253初始化:

MOV  AL,01110100B

OUT  43H,AL

MOV  AX,100

OUT  41HAL

MOV  AL,AH

OUT  41H,AL

;8259初始化:

MOV  AL,00010011B定 ;ICW1

OUT  20H,AL

MOV  AL,13H       ;ICW2

OUT  21H,AL

MOV  AL,01H      ;ICW4

OUT  21H,AL

IN   AL,21H       ;读原屏蔽字

AND  AL,11111011B  ;允许IR3中断

OUT  21H,AL 

 

7.用8253作为控制系统的定时器,每隔100ms以中断方式监控一次。设8253的输入时钟频率为fc=1MHz,端口地址为30—33H;8259端口地址为80—81H,中断类型号为23H。要求:①计算8253的定时时间常数,用图中标出的信号线,画出8253和8259的电路连线图;②分别为8259和8253编制初始化程序。

答:

①    计算8253的定时时间常数:Tn=输入频率/输出频率

时间常数超过一个计数通道的最大值,所以用二个计数通道串接计数(如图)

②    8259初始化程序:中断采用边缘触发方式,普通EOI方式

MOV AL,00010011B

OUT 80H,AL

MOV AL,23H

OUT 81H,AL

MOV AL,1

OUT 81H,AL

 

8253编制初始化程序:定时时间常数Tn=100000>65535(单通道最大定时初值),所以选择通道0和通道1串联,通道0定时初值100,通道1定时初值1000,工作方式2。

MOV AL,00110100B

OUT 33H,AL

MOV AX,100

OUT 30H,AL

MOV AL,AH

OUT 30H,AL

 

MOV AL,01110100B

OUT 33H,AL

MOV AX,1000

OUT 31H,AL

MOV AL,AH

OUT 31H,AL

STI

 

8. 设8255的A、B和C口工作在方式0下,能循环查询输入输出,当查询到PC1=1时结束本程序;查询到PC1=0且PC0=1时,从A口读入数据,将其高四位取反,低四位保持不变,然后送B口输出。试编写8255初始化和应用程序(设8255  A、B、C口和控制端口地址为70H-73H)。

答:MOV AL,10011001B  ;A入0方式,B出0方式,C入

OUT 73H,AL

IN AL,72H

WAIT:TEST AL,2

JNZ  DONE

TEST AL,1

JZ  WAIT

IN AL,70H

XOR AL,0F0H

OUT 71H,AL

JMP  WAIT

DONE:RET

 

9.若用8253作为温控系统的定时器,每隔2秒用中断方式测/控一次数据,8253的输入时钟频率为fc=100KHz,端口地址为50—53H;8259端口地址为58—59H,中断类型号为61H。要求:①计算8253的定时时间常数,画出8253和8259的电路连线图(可参考题20图);②分别为8259和8253编制初始化程序。

答:①计算8253的定时时间常数:Tn=输入频率/输出频率

时间常数超过一个计数通道的最大值,所以用二个计数通道串接计数(可参考题20图). 所以用二通道串连做定时,取N1=2000,则N2=N/N1=100,将OUT0接CLK1,工作方式选方式2速率波发生器,GATE0=GATE1=1,它可连续定时,但定时到时产生的是负脉冲,用该负脉冲产生中断信号需要反相。由于8253定时中断的类型号选在61H,8253的中断请求要接8259的IR1。8259的SP=1接高电平。

②8259的初始化编程:

MOV  AL,0001XX11B

OUT  58H,AL

MOV  AL,61H

OUT  59H,AL

MOV  AL,00000X01B

OUT  59H,AL

IN  AL,59H

AND  AL,11111101B

OUT  59H,AL

CLI

③8253初始化编程:

MOV  AL,0111X100B;先设置1通道,二进制计数,也可设成BCD计数

OUT   53H,AL

MOV  AX,100

OUT  51H,AL

MOV  AL,AH

OUT  51H,AL

MOV  AL,0011X100B;设置0通道

OUT  53H,AL

MOV  AX,2000

OUT  50H,AL

MOV  AL,AH

OUT  50H,AL

 

10. (延续题22)设计用8255做为控温加热系统的温度输入和控温输出接口,TS是数字化测温模块,当OE=1时TS通过8位数据线DATA输出补码格式的温度值。HC为加热器,当STB=1时,通过数据线线DATA可向HC的输入8位无符号数PN,PN越大HC的热功率越大,PN=0时HC不发热。要求8255定时检查温度,按温度大小分段控制HC的功率,设8255端口地址为5C—5FH。①画出8255与TS和HC间的电路连线;②写出8255的初始化程序;③利用题1,编写中断程序,每隔2秒进行一次温度t测量,按t值向HC输出PN:当0≤t<100时,PN=200;100≤t<120时,PN=100;120≤t<150时,PN=50,t>150时,PN=0。

 

答:

①PC7=OE,PC0=STB

②8255初始化编程:

MOV  AL,10010000B

OUT  5FH,AL

MOV  AL,00000010B    ;置STB=0,禁出

OUT  5FH,AL

 

③中断服务程序:

MOV  AL,00001111B; OE=1

OUT  5FH,AL

IN   AL,5CH   ;输入温度值

MOV  AH,AL

MOV  AL,00001110B; OE=0

OUT  5FH,AL

CMP  AH,100

JB   L1

CMP  AH,120

JB   L2

CMP  AH,150

JB   L3

MOV  AH,0

JMP   XX

L1:MOV  AH,200

JMP   XX

L2:MOV  AH,100

JMP   XX

L3:MOV  AH,50

XX:MOV  AL,00000011B;STB=1

OUT  5FH,AL

MOV  AL,AH

OUT  5DH,AL  ;输出PN

MOV  AL,00000010B;STB=0

OUT  5FH,AL

MOV  AL,20H  ;发EOI命令

OUT  58H,AL

CLI              ;开中断

IRET

 

11. 请把2片8259A接成非缓冲级联方式,#1为主片,#2为从片,#2片通过主片的IR1请求中断,正确连接图中标出的信号,接往CPU的标明所接的CPU信号。

 

答:

 


吐血推荐

奥鹏,国开形考,广开,电大在线,各省平台,新疆一体化,各类成人教育等学习。详情请咨询QQ : 103092222或微信: xyzlfx100

添加微信查看答案

福建师范大学《计算机原理与接口技术》期末复习题_学优资料分享网

添加微信二维码,了解更多学习技巧,平 台作业、毕业论文完成时间友情提醒。。

合作洽谈

诚信为本,合作共赢

欢迎各大学习中心前来治谈;有意请联系我们

推荐作业

留言板
captcha
感谢留言
我们会尽快与您联系
关闭