Protues8259A试验报告.docx

上传人:b****3 文档编号:5482959 上传时间:2022-12-17 格式:DOCX 页数:12 大小:220.06KB
下载 相关 举报
Protues8259A试验报告.docx_第1页
第1页 / 共12页
Protues8259A试验报告.docx_第2页
第2页 / 共12页
Protues8259A试验报告.docx_第3页
第3页 / 共12页
Protues8259A试验报告.docx_第4页
第4页 / 共12页
Protues8259A试验报告.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

Protues8259A试验报告.docx

《Protues8259A试验报告.docx》由会员分享,可在线阅读,更多相关《Protues8259A试验报告.docx(12页珍藏版)》请在冰豆网上搜索。

Protues8259A试验报告.docx

Protues8259A试验报告

华北电力大学

实验报告

实验名称8259A应用实验

课程名称微机原理及应用

老师

专业班级

姓名

学号

—实验要求

74LS273接8个指示灯,要求第一次中断LEDO亮.第二次中断LED1亮,以此重复,直到10次计数到为止。

【已知8259A采用上升沿触发,单片,全嵌套、非缓冲、普通中断结束方式,需要设置ICW4.中断类型号为80H-87H,在8259A的IR2端(INT2端)输入一个中断请求信号(该信号由开关提供),74LS273的输出接LED指示灯。

】二思路

1硬件

(1)74HC138译码电路如图所示,A25为1,E2、E3接地保证74HC238正常工作,此时?

5、石对应地址分别为8000H、9000Ho

U6

A14

3

A15

C

-C

T

A12

1

Y0Y1Y2Y3Y4Y5Y6Y7

74HC138

(2)8259的片选地址为9000H,所以免接?

1。

8086有16位数据总线,其低8位作为偶存储体来传输数据,8086

的A0要一直为0,所以8259的A0要接8086的A2

U7

E=L.

1°1

18

19

20

21

22

R9ZZ

WO蒼

R0R1R2R3R4R5R6R7

8259

(3)74LS273的片选地址为8000H.且需要向其写入LED灯的状态,则%和袄经或非门后接入CLKo

U8:

A

4JB33

HLT

?

R3

I0D

:

TEO>

D1

D8

LEWI

LEI-RED

KDD

3

HUI

4

胡2

7

HUJ

2

ftD<13

^17

亦12

11

1

•:

CLK

WR

MOT巧SO

KOT

NOT

im

:

TE-

R7w

:

TBT>

MOT6T5

RS

1QDcTEXI>

R5

cTE>

cTBCT

WcTECD

F;1

1QD

fEXT-

;TD

D7

LB-

D5IED-R

2软件

(l)流程图

主程序

灯按要求亮灭

计数器减1

向8259A’发中断

结束命令字0CW2

中断返回

(2)8259A初始化(ICW)

据要求(上升沿触发、单片、全嵌套、非缓冲、普通中断结束方式、

需设置ICW4,中断类型号为80H-87H),初始化:

ICW1-13H(00010011B);写入偶地址端口9000H

ICW2-08H(00001000B);写入奇地址端口9002H

ICW4二01H(00000001B);写入奇地址端口9002H

(3)中断屏蔽字(0CW1)(写入奇地址端口9002H)

允许IR2中断0CW1与0FBHCL1M1022B)相与

禁止IR2中断0CW2与04H(00000100B)相或

(4)中断结束字(0CW2)(写入偶地址端口9000H)

三源程序

CODESEGMENT

ASSUMECS:

CODE

START:

CLI

MOVDX,9000H

MOVAL.13H

OUTDX,AL

MOVDX.9002H

MOVAL,80H

OUTDX.AL

MOVDX.9002H

MOVAL,01H

OUTDX.AL

MOVAX.O

MOVDS,AX

MOVBX,82H*4

MOVAX.OFFSETINTP

MOV[BX],AX

「CODE“逻辑段开始

;关中断

;8259初始化

;ICWl=13H(00010011B)

;ICW2=80H(10000000B)

;ICW3=01H(00000001B)

;非规范装入地址向量

INCBX

INCBX

MOVAX,SEGINTP

MOV[BX],AX

MOVDX,9002H;允许IRQ2中断

INAL.DX

ANDAL.OFBH

OUTDX.AL

MOVDX.8000H

MOVAL.OOH

OUTDX,AL

MOVBL,1

态:

LEDO亮

MOVCX.10

STI

L1:

MOVAL82H

;发光二极管初始化为全灭

:

BL中为LED灯亮的初始状

;设置中断次数为10

;Proteus中8086模型有问

题,它取得的中断号是最后发到总线上的数据,并不是由8259发岀的中断号

MOVDX.0B000H

OUTDX.AL;所以造成了要在这里执行

EOI的假相,地址使用没有用过的,如bOOOh,8259的地址是9000h

JMPL1

JZQUIT

;循环等待中断

;禁止IRQ2中断

;开中断

;为看到第10次中断结束后LED灯

;10次中断结束,LED灯全灭

:

中断服务子程序

;计数值减1

QUIT:

CLI

MOVDX.9002H

INAL,DX

ORAL,4

OUTDX.AL

STI

MOVCX,OFFFFH

L:

LOOPL

亮•需用延时

MOVDX.8000H

MOVAL,00H

OUTDX.AL

JMP$

INTPPROC

MOVAL,BL

MOVDX.8000H

OUTDX.AL

ROLBL,1

DECCX

MOVDX.9000H

 

OUTDX,AL

;发中断结束命令EOI

INTPENDP

CODEENDS

ENDSTART;汇编结束

四运行结果

第一次按开关执行第一次中断LEDO亮。

第二次按开关LED1亮

 

以此重复,LED灯依次亮灭,直到10次计数为止。

第十次按动开关LED1亮

最后LED灯全灭

五实验思考题

2、中断服务子程序是何时开始执行的?

将INTP的入口地址送入到IP和CS后。

2、中断类型号是何时送到数据总线上的?

INTA发出第二个负脉冲时

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1