微机接口作业

发布 2022-09-04 20:41:28 阅读 7530

用8259a、8254a、8255a制作流水灯。

专业:xx 姓名:xxx 学号。

1、功能简介。

8259a的功能:8259a是专门为了对8085a和8086/8088进行中断控制而设计的芯片,它是可以用程序控制的中断控制器。单个的8259a能管理8级向量优先级中断。

在不增加其他电路的情况下,最多可以级联成64级的向量优级中断系统。8259a有多种工作方式,能用于各种系统。各种工作方式的设定是在初始化时通过软件进行的。

在总线控制器的控制下,8259a芯片可以处于编程状态和操作状态,编程状态是cpu使用in或out指令对8259a芯片进行初始化编程的状态。

8254a的功能:intel8254a是nmos工艺制成的可编程计数器/定时器,8253内部有三个计数器,分别称为计数器0、计数器1和计数器2,他们的结构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。

每个计数器通过三个引脚和外部联系,一个为时钟输入端clk,一个为门控信号输入端gate,另一个为输出端out。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器cr、一个计数执行部件ce和一个输出锁存器ol。

8255a的功能:intel 8255a是一个通用的可编程的并行接口芯片,它有三个并行i/o口,又可通过编程设置多种工作方式,**低廉,使用方便,可以直接与intel系列的芯片连接使用,在中小系统中有着广泛的应用。

2、设计思路(流程图)及其各自在该实验中的作用。

3、系统连线图。

4、程序**。

intr_ivadd equ 01c8hintr对应的中断矢量地址。

intr_ocw1 equ 0a1hintr对应pc机内部8259的ocw1地址。

intr_ocw2 equ 0a0hintr对应pc机内部8259的ocw2地址。

intr_im equ 0fbhintr对应的中断屏蔽字。

ioy0equ 3000h片选信号ioy0对应的端口始地址。

ioy1equ 3040h片选信号ioy1对应的端口始地址。

my8254_count0 equ ioy0+00h*2 ;8254计数器0端口地址。

my8254_count1 equ ioy0+01h*2 ;8254计数器1端口地址。

my8254_count2 equ ioy0+02h*2 ;8254计数器2端口地址。

my8254_mode equ ioy0+03h*2 ;8254控制寄存器端口地址。

my8255_a equ ioy1+00h*2 ;8255的a口地址。

my8255_b equ ioy1+01h*2 ;8255的b口地址。

my8255_c equ ioy1+02h*2 ;8255的c口地址。

my8255_mode equ ioy1+03h*2 ;8255控制寄存器端口地址。

stack1 segment stack

dw 256 dup(?)

stack1 ends

data sement

cs_bak dw保存intr原中断处理程序的入口段地址的变量。

ip_bak dw保存intr原中断处理程序的入口偏移地址的变量。

im_bak db保存intr原中断屏蔽字的变量。

la db定义8255的a口变量。

data ends

code segment

assume cs:code,ds:data

start:mov ax,data

mov ds,ax

climov ax,0000h替换intr的中断向量。

mov es,ax

mov di,intr_ivadd

mov ax,es:[di]

mov ip_bak,ax保存intr原中断处理程序入口偏移地址。

mov ax,offset myisr

mov es:[di],ax设置当前中断处理程序入口偏移地址

add di,2

mov ax,es:[di

mov cs_bak,ax保存intr原中断处理程序入口段地址。

mov ax,seg myisr

mov es:[di],ax设置当前中断处理程序入口段地址。

mov dx,intr_ocw1 ;设置中断屏蔽寄存器,打开intr的屏蔽位。

in al,dx

mov im_bak,al保存intr原中断屏蔽字。

and al,intr_im

out dx,al

stimov dx,my8254_mode ;初始化8254工作方式。

mov al,70h计数器1,方式0

out dx,al

mov dx,my8254_count1 ;装入计数初值

mov al,0ffh

out dx,al

out dx,al

mov dx,my8255_mode ;定义8255的工作方式。

mov al,80h工作方式0,a、b都为输出口。

out dx,al

mov dx,my8255_a写a口发出的起始数据

mov al,80h

out dx,al

mov la,al

wait1:mov ah,1判断是否有按键按下。

int 16h

jz wait1无按键按下则跳回继续等待,有则退出。

quit: cli

mov ax,0000h恢复intr原中断矢量。

mov es,ax

mov di,intr_ivadd

mov ax,ip_bak恢复intr的原中断处理程序入口偏移地址。

mov es:[di],ax

add di,2

mov ax,cs_bak恢复intr原中断处理程序入口段地址。

mov es:[di],ax

mov dx,intr_ocw1 ;恢复intr原中断屏蔽寄存器的屏蔽字。

mov al,im_bak

out dx,al

sti mov ax,4c00h返回dos

int 21h

myisr proc near中断处理程序myisr

push ax

mov al,la将a口起始数据右移再写入a口。

ror al,1

mov la,al

mov dx,my8255_a

out dx,al

mov dx,my8254_count1 ;重装入计数初值

mov al,80h

out dx,al

out dx,al

over: mov dx,intr_ocw2向pc机内部8259发送中断结束命令。

mov al,20h

out dx,al

mov al,20h

out 20h,al

pop ax

iretmyisr endp

code ends

end start

微机接口作业

复习作业1 请同学们作业时,不要改变题号 字体及答案的颜色仅修改表内答案字母,文件的扩展名不能改变 建议用office 2003,office2007版的要另存为office2003版本 一 判断题 30分 在 内填空,正确填a,错误填b请不要改变字体的颜色 1 8086的不允许有段的重叠和交叉。2...

2019微机接口作业

一 单选题 总分28分 1.1分 8086组成系统时,与其地址线 数据线直接相连的器件分别是 1 a.单向驱动器 双向驱动器b.锁存器 双向驱动器。c.锁存器 锁存器d.双向驱动器 双向驱动器。答案 1 b 2.1分 8086的 rd we控制信号的作用是 2 a.控制cpu数据总线上数据流的流向b...

微机接口作业答案

作业1第一章。一 简答题。与外设交换数据。2.接口是连接cpu与外设间电路的总称 输入缓冲,输出锁存。3.为是cpu与外设能实现异步传输。4.一个i o地址称一个端口,8086共可有65536个端口。5.含有控制 地址 数据信息。6.为区分不同的外设,外设编址使得cpu在统一时刻只能有一个外设被选通...