中断控制器实验【汇编语言与微机原理】8259A芯片<基于proteus仿真实验>手把手教学

实验内容:

按动按钮模拟发送一次外部中断,控制小灯的的变换

实验思路:

外部(开关)向8259发送中断信号,8259处理之后向CPU发出中断请求信号INTR,CPU之后向8259发送中断响应信号INTA*,在第二个INTA*脉冲到来之前8259向CPU发送中断类型号,CPU根据中断向量表找到相应中断服务程序的地址并且转到相应的程序运行,程序中选中IO2*接口输出相应数据控制小灯的亮暗。

实验过程:

(1)画电路图

(2)在EMU8086中写好代码并且编译完(点击compile)形成MS-DOS程序

 (3)将代码安装到8086CPU中

安装过程:点击8086弹出以下界面

将MS-DOS文件路径添加在Program File中

 设置代码代码段段地址<此实验设置段地址是800h>

 

选中Internal Memory Size能够设置代码段长度

proteus仿真图:

 

实验代码:

        org 100h
start:	cli
		
		;设置中断向量
	  mov ax,0
	  mov es,ax
	  mov si,60h*4
        mov ax,offset int0
	  mov es:[si],ax
        mov ax,800h  ;8086仿真模型中程序装入段地址
	  mov es:[si+2],ax   
		
		;8259初始化
	  mov dx,20h  ;8259偶地址,设置ICW1
        mov al,13h   ;边沿触发,单片,ICW4 NEEDED
        out dx,al	  
        
        mov	dx,22h  ;8259奇地址,设置ICW2
	  mov al,60h   ;中断类型号为60h
	  out dx,al 	  
		
	  mov al,03h   ;ICW4,自动清除中断,8086CPU
	  out dx,al     
		
	  mov al,00h   ;OCW1, 开放所有中断
	  out dx,al     
		
							
		;设置指示灯的初始状态
	  mov bl,1
	  mov al,bl 
		mov dx,40h
		out dx,al
		
		sti

lp:
	 	jmp lp
        
int0: 	
        rol bl,1          ;cnt=cnt<<1
        mov al,bl
        mov dx,40h       ;led=cnt<<1 
        out dx,al 
        iret              ;返回主程序 
        ret
       
  • 9
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论
Proteus是一款非常强大的电路仿真软件,可以用来模拟各种电路和系统,包括微型计算机。下面是基于Proteus仿真微机原理与接口技术实验教程。 1. 实验一:基本指令的运行 在Proteus中创建一个新的工程,然后添加一个8086微处理器芯片和一个存储器芯片。将存储器的地址线连接到处理器的地址线,数据线亦然。在存储器中输入一些8086指令,然后运行程序。可以通过查看处理器的寄存器和存储器的内容来验证程序是否正确运行。 2. 实验二:输入输出端口的实验Proteus中添加一个输入输出端口芯片,然后将其连接到处理器的地址线和数据线上。在程序中使用IN和OUT指令来读取和写入端口的值。使用LED灯和开关模拟输入输出端口的使用。 3. 实验三:计时器和计数器的实验Proteus中添加一个计时器和一个计数器芯片,然后将其连接到处理器的地址线和数据线上。在程序中使用计时器和计数器来实现定时和计数功能。可以使用LED灯来模拟计时器和计数器的输出。 4. 实验四:中断实验Proteus中添加一个中断控制器芯片,然后将其连接到处理器的中断引脚上。在程序中使用中断来实现异步事件的处理。可以使用开关模拟中断事件的发生。 通过以上实验,可以深入了解微机原理和接口技术,并使用Proteus仿真软件进行实验验证。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

粒粒米z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值