“微机系统原理与接口技术”第九章习题解答(部分)

发布时间:2011-03-31 22:01:04   来源:文档文库   
字号:

“微机系统原理与接口技术”第章习题解答(部分)

1. 什么是并行接口和串行接口?它们各有什么作用?

答:并行接口是指接口与外设之间按字长传送数据的接口,即4位、8位或16位二进制位同时传送;而串行接口是指接口与外设之间依时间先后逐位传送数据的接口,即一个时刻只传送一个二进制位。

并行接口传送速度较快,但在远距离传送数据时成本高,损耗大,且平行数据线之间干扰大,所以并行接口一般适用于近距离的高速传送,而串行接口则适用于远距离传送。

2. 试画出8255A8086CPU连接图,并说明8255AA0A1地址线与8086CPUA1A2地址线连接的原因。

答:8255A8086CPU的连线图如下图所示:

8086系统有16根数据线,而8255只有8根数据线,为了软件读写方便,一般将82558条数据线与8086的低8位数据线相连。8086在进行数据传送时总是将总线低8位对应偶地址端口,因此8086CPU要求82554个端口地址必须为偶地址,即8086在寻址8255A0脚必须为低。实际使用时,我们总是将8255A0A1脚分别接8086A1A2脚,而将8086A0脚空出不接,并使8086访问8255时总是使用偶地址。

4. 简述8255A工作在方式1时,A组端口和B组端口工作在不同状态(输入或输出)时,C端口各位的作用。

答:8255A AB口工作在方式1时, C端口各位的使用情况如下表所示:

注:带*的各中断允许信号由C口内部置位/复位操作设置,非引脚电平。

5. 8255A控制12A/D转换器,电路连接如下图所示。设B口工作于方式1输入,C口上半部输入,A口工作于方式0输入。试编写8255A的初始化程序段和中断服务程序(注:CPU采用中断方式从8255A中读取转换后的数据)。

9-5

答:设8255ABC及控制端口的地址分别为PORTAPOATBPORTCPCON,则一种可能的程序段实现如下:

主程序: ; 初始化8255A

……

MOV AL, 10011110B ; 设置8255A的工作方式控制字

OUT PCON, AL

MOV AL, 00000101B ; 设置C口置位/复位控制字,使INTEAPC2)为

OUT PCON, AL ; 高电平,允许B口中断

MOV AL, 00000010B ; 设置C口置位/复位控制字,使PC1IBFB输出

OUT PCON, AL ; 低电平,启动第一次A/D转换

……

中断服务程序: ; 取数,并自动启动下一次A/D转换

……

MOV AL, 00000011B ; PC1IBFB输出高电平,停止A/D转换

OUT PCON, AL

IN AL, PORTC ; 先取高4位转换值

MOV AH, AL

MOV CL, 4

SHR AH, CL ; 将高4位转换值放到AH的低端

IN AL, PORTB ; 取低8位转换值放到AL

MOV AL, 00000010B ; PC1IBFB输出低电平,再次启动A/D转换

OUT PCON, AL

……

IRET

6. 8255A作为CPU与打印机接口,8255A口工作于方式0,输出;C口工作于方式08255A与打印机及CPU的连线如下图所示。试编写一程序,用查询方式将100个数据送打印机打印(8255A的端口地址及100个数据的存放地址自行设定)。

9-6

答:设8255ABC及控制端口的地址分别为PORTAPOATBPORTCPCON,而需打印的数据放在数据段中以DATA1开头的区域,则一种可能的程序段实现如下:

……

MOV AL, 10000001B ; 设置8255A的工作方式控制字

OUT PCON, AL

MOV CX, 100 ; 设置需打印数据的总个数以控制循环次数

LEA SI, DATA1

NEXT: MOV AL, [SI] ; 从数据段取数据并通过A口发到打印机

OUT PORTA, AL

MOV AL, 00001100B ; 设置C口置位/复位控制字,使PC6为低电平,

OUT PCON, AL ; 通知打印机锁存数据并打印

INC SI ; 为取下个数据作准备

DEC CX

JZ ERROR ; 判断是否传完100个数据,如是,转后续处理

AGAIN: IN AL, PORTC ; 如未传完100个数据,读状态端口

TEST AL, 01H ; 查询PC0BUSY)是否为高电平

JNZ AGAIN ; 如是,继续查询,直到BUSY变低

JMP NEXT ; BUSY为低电平,则转NEXT发送下一个数据

ERROR: ……

14. 比较软件、硬件和可编程定时/计数器用于定时的特点。

答:软件定时一般是根据要求设计一个时延子程序,其优点是节省硬件,成本低;缺点是CPU利用率低,且定时间隔不准确;

硬件定时会增加相应的硬件设备(如定时/计数器等),使硬件成本增加,但可以不占用CPU,并且定时准确,不过一旦硬件设计制作好后,不能更改定时间隔;

用可编程定时/计数器实现定时可以兼顾前面两者的优点,即定时信号的产生由专门的硬件电路产生,定时准确且CPU利用率高,另外在需要的时候,可以由CPU程控改变定时间隔而不需要改动硬件电路。

17. 8253每个通道的最大定时值是多少?如果欲使8253用于定时值超过其最大值时,应该如何应用?

答:8253每个通道的最大定时值=最大计数值×计数脉冲周期T216*T。若需要的定时值超过一个通道的最大定时值,有两种方法可以使用:

1 可将多个通道(或多片8253的通道)串接(级联)起来使用,即将上一级计数通道的输出端OUT接至下一级计数通道时钟输入端CLK,以此扩展计数器的位数。如按右图所示接法,计数最长位数为三个计数器长度的和,则最大定时值=248*T

2 同①中思路,只是如果没有多余的硬件计数通道可以使用,则可用软件设置下一级计数,如PC机中系统时钟的处理方法。

19. 利用PC机内的8253作为定时器,用8255的一个输出口控制8个指示灯,编一个程序使8个指示灯依次点亮,切换时间为每秒1次。

答:根据题目要求,只能利用PC机内8253的计数器0,计数时钟频率为1.19MHz,输出端OUT08259IRQ0端。PC机中8253的端口地址为40H—43H8259的端口地址为20H21HIRQ0对应类型号为8的中断。假设并口8255AABC及控制端口的地址分别为PORTAPOATBPORTCPCON,现用8255A口控制指示灯的显示,系统如下图所示。微机正常工作时,每大约55ms产生一次IRQ0中断,本题指示灯的显示切换时间并不要求非常准确,因此不必再重新设置8253,直接利用55ms的定时中断即可。一种可能的程序段如下实现:

主程序: ; 重新设置IRQ0的中断向量,并初始化8255

……

CLI ; 关中断

MOV AX, 0 ; 将原来的中断向量放入堆栈保护

MOV DS, AX

MOV SI, 0020H ; DSSI指向8号中断的向量存放地址

LODSW

MOV BX, AX ; 取原来中断向量中的偏移量存入BX

LODSW ; 取原来中断向量中的段基址存入AX

PUSH AX

PUSH BX

MOV AX, DATA ; 建立本程序数据段

MOV DS, AX

MOV AX, 0 ; 重新设置用户中断服务程序的入口地址

MOV ES, AX

MOV DI, 0020H ; ESDI指向8号中断的向量存放地址

MOV AX, OFFSET LED_FLASH

STOSW

MOV AX, SEG LED_FLASH

STOSW

MOV AL, 80H ; 初始化8255,使A口工作于方式0输出

OUT PCON, AL

MOV AL, 0FEH ; (低电平)点亮第一个LED,以后每隔1s点亮下一个

MOV DRVNUM,AL ; 初始化驱动码单元DRVNUM(定义在数据段中)

OUT PORTA, AL

MOV AL, 0 ; 初始化软件计数器COUNT(定义在数据段中)

MOV COUNT, AL

STI ; 开中断

……

中断服务子程序: ; 55ms产生一次,每计到1s后点亮LED

LED_FLASH: PUSH AX

INC COUNT

MOV AL, COUNT

CMP AL, 18

JB EXT ; COUNT<18说明还未计到1s,退出子程序

MOV AL, 0

MOV COUNT, AL ; 已计满1s,软件计数器清0,并点亮一个LED

MOV AL, DRVNUM

ROL AL, 1

AAA1: MOV DRVNUM, AL ; 保存驱动码

OUT PORTA, AL ; 将驱动码从8255A口送出

EXT: POP AX

IRET

34根据如图9-87c)所示接口电路原理,编写产生梯形波和正弦波的程序。

答:汇编语言的计算功能较弱,因此本题所需的正弦波及梯形波的幅度数据宜事先利用其它方式得到(如利用C语言编程获得)。这里利用查表方式获取波形数据输出即可:

SINE_TAB DB 80H,81H,83H,90H,…0FFH,0FBH,…80H,78H,…00H,03H,…80H 正弦波幅度数据

T_TAB DB 00H,03H,08H,10H,…,50DUP(80H),75H,70H,…00H ;梯形幅度数据

MOV DX, 300H

MOV BX,SINE_TAB ;如产生梯形则应为MOV BX,T_TAB

LPMOV AL,[BX]

OUT DX,AL

INC BX

CALL DEALY

JMP LP ;无限循环可产生连续不断的波形

本文来源:https://www.2haoxitong.net/k/doc/55d279db7f1922791688e8ce.html

《“微机系统原理与接口技术”第九章习题解答(部分).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式