接口作业及参考答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

作业1(总线)

1.1 总线的三个基本特征是什么?

1.2 简述微型计算机发展过程中I/O总线的演变过程。

1.3 在Intel 8086处理器执行以下指令

MOV AL, 80

OUT 19, AL

画出在执行OUT指令时的ISA总线时序,并标明数据总线和地址总线的具体值。1.4 在8086系统通过ISA总线在地址F0000处扩展存储器,使用8片AMIC 623308构

成64KB存储器,在课件基础上设计。

作业1答案

1.1 标准的、公共的、通用的

1.2 第一代(8086/80286时期)是ISA单总线。

第二代(386/486时期)是ISA +新的32位总线(主要有MAC、EIAS和VL-Bus)。

第三代(Pentium初期和中期)是ISA+PCI模式的双总线结构。

第四代(Intel 处理器LGA775封装开始)是PCI+PCI Express模式的双总线结构。

1.3

数据有效=01010000B,地址有效=0000 0000 0001 0011B

1.4 8片存储器芯片的A0~A12、DQ0~DQ7、WE、OE、VDD和GND全部对接,CE

分别接到U4(74HC138)的8 个输出端,U6(74HC245)的OE端和DIR端接法:

作业2(定时器)

2.1 设计电路,将8253接到ISA 总线,基地址为FFF0H 。(注:不需要双向缓冲器74HC245)

2.2 使用定时器实现延时50ms 。假设可以选择使用的时钟有1KHz 、10KHz 、100KHz 和1MHz ,定时器芯片基地址为200H 。设计连接并写出汇编代码。

2.3

定时器时钟为1MHz ,芯片基地址为200H 。采用两个定时器通道级联实现1s 周期方波脉冲输出。写出汇编代码。

作业2答案

2.1 设计电路:

A0~A12

8253

2.2 使用定时器实现延时50ms。假设可以选择使用的时钟有1KHz、10KHz、100KHz和

1MHz,定时器芯片基地址为200H。设计连接并写出汇编代码。

选择定时器通道1的0方式,计数初值50,1KHz接到CLK1,GATE1接到+5V。初始化代码:

MOV DX, 203H

MOV AL, 01010000B ; 通道1,低字节有效,0方式,二进制计数

OUT DX, AL

MOV DX, 201H

MOV AL, 50

OUT DX, AL

2.3

;------------------初始化通道1为2方式,双字节,初值62500,二进制计数

MOV DX, 203H

MOV AL, 01110100B

OUT DX, AL

MOV DX, 201H

MOV AX, 62500

OUT DX, AL

MOV AL, AH

OUT DX, AL

;------------------初始化通道2为3方式,低字节,初值16,二进制计数

MOV DX, 203H

MOV AL, 10010110B

OUT DX, AL

MOV DX, 202H

MOV AX, 16

OUT DX, AL

作业3(中断)

3.1 使用一个定时器通道,将1MHz时钟脉冲分频为500Hz。将500Hz分频输出作为中

断申请信号连接到中断控制器,在中断服务程序实现二次计数,产生1秒事件,在显示器验证结果。

建议:使用8253通道1,2方式,定时器片选接200H;中断输入采用MIR5;显示器采用LCD,通过INT 21H的02号系统调用,每一秒在LCD屏幕上显示一个点。

作业3答案

3.1 汇编代码分为主程序和中断服务程序两部分。完整的程序如下

; 主程序代码================================================ .MODEL SMALL

.386

.STACK 128

TIMER = 200H

CODE SEGMENT

ASSUME CS:CODE

;------------------初始化定时器1为2方式,产生2ms周期性中断begin: MOV DX, TIMER+3

MOV AL, 01110100B

OUT DX, AL

MOV DX, TIMER+1

MOV AX, 20000 ; 输入1MHz,输出50Hz

OUT DX, AL

MOV AL, AH

OUT DX, AL

;-------------------设置中断向量

PUSH DS ; 保存DS

XOR AX, AX ; 0→AX

MOV DS, AX ; →DS

LEA AX, CS:MIR5p ; 中断服务入口地址偏移量→AX

MOV DS:[00D4H], AX ; →[00D4H]

MOV AX, CS ; 中断服务入口地址段值→AX

MOV DS:[00D6H], AX ; →[00D6H]

POP DS ; 恢复DS

;-------------------设置中断屏蔽寄存器

IN AL, 21H

AND AL, 0DFH

OUT 21H, AL

;-------------------打开中断

STI

MOV CX, 0

mloop: JMP mloop

; 中断服务程序代码============================================ MIR5p PROC FAR

PUSH AX ; 保存寄存器

PUSH DX

CLI ; 关闭中断

INC CX

.IF CX==50

MOV CX, 0

MOV DL, '.'

MOV AH, 2

INT 21H

.ENDIF

MOV AL, 20H ; OCW2:普通EOI命令

OUT 20H, AL ; 发送到主片

STI ; 开放中断]

POP DX

POP AX ; 恢复寄存器

IRET ; 从中断服务返回

MIR5p ENDP

CODE ENDS

END begin

作业4(USB)

4.1 USB有哪4种传输模式?在实际应用中有什么不同特点?USB低速、全速和高速模

相关文档
最新文档