用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在统一时刻只能有一个外设被选通...