8259中断控制器作业 利用8255触发8259A的中断点亮LEDx.docx

上传人:b****9 文档编号:158083 上传时间:2022-10-04 格式:DOCX 页数:6 大小:233.69KB
下载 相关 举报
8259中断控制器作业 利用8255触发8259A的中断点亮LEDx.docx_第1页
第1页 / 共6页
8259中断控制器作业 利用8255触发8259A的中断点亮LEDx.docx_第2页
第2页 / 共6页
8259中断控制器作业 利用8255触发8259A的中断点亮LEDx.docx_第3页
第3页 / 共6页
8259中断控制器作业 利用8255触发8259A的中断点亮LEDx.docx_第4页
第4页 / 共6页
8259中断控制器作业 利用8255触发8259A的中断点亮LEDx.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

8259中断控制器作业 利用8255触发8259A的中断点亮LEDx.docx

《8259中断控制器作业 利用8255触发8259A的中断点亮LEDx.docx》由会员分享,可在线阅读,更多相关《8259中断控制器作业 利用8255触发8259A的中断点亮LEDx.docx(6页珍藏版)》请在冰豆网上搜索。

8259中断控制器作业 利用8255触发8259A的中断点亮LEDx.docx

接口作业3:

8259-1:

利用8255触发8259A的中断点亮

LED

一、 目的

掌握8259A矢量中断方式的硬件连接和软件编程的方法,同时掌握中断和其它接口芯片配合来完成某一特定任务的方法。

二、 内容

8255的PC6作为8259A的中断源,8255每向8259A发出中断请求,都让LED指示灯交替点亮和熄灭。

三、 实验接线图

图1-4 实验连线图

四、 编程提示

1、中断服务程序的主要功能是交替点亮和熄灭LED指示灯(即第1次进中断点亮LED,第2次进中断则熄灭LED)。

当然8255A能使用前需要在主程序中初始化。

2、主程序可以采样死等待的方式,如果要结束程序,可以按动实验平台的Reset键。

也可以采用计数的方法,即进中断5次后结束程序。

3、8255的PC6作为中断源,应采用上升沿触发方式(由低到高的变化),为了能够进行下次中断,PC6必须变为低点平。

4、为了能使LED的闪烁可见,在中断各申请之间加入延迟程序。

五、 流程图

-6-

六、程序清单

.MODELSMALL

.386

CODESEGMENT

ASSUMECS:

CODESTART:

MOVDX,203H

MOVAL,10000000B ;设置8255控制字

OUTDX,ALMOVCL,0CLI

;写入中断屏蔽字OCW1时,采用读取-修改-写入的顺序

INAL,21H

ANDAL,11011111BOUT21H,AL

;将中断入口地址写入中断向量表

PUSHDSMOVBX,0MOVDS,BX

LEAAX,CS:

INT_PROCMOVBX,5

MOVSI,30HADDSI,BXSALSI,2

MOVDS:

[SI],AXPUSHCS

POPAX

MOVDS;[SI+2],AXPOPDS

STI ;开386CPU中断

L1:

MOVDX,203H

MOVAL,00001100BOUTDX,AL

CALLDELAYMOVDX,203H

MOVAL,00001101BOUTDX,AL

CALLDELAYJMPL1

INT_PROCPROCFAR

PUSHAXCMPBL,0JZL2

MOVDX,201H ;PC0=1MOVAL,01

OUTDX,ALMOVBL,0JMPEXIT

L2:

MOVDX,201H ;PC0=0MOVAL,00

OUTDX,ALMOVBL,1

EXIT:

MOVAL,20H

OUT20H,ALPOPAX

STIIRET

INT_PROCENDP

DELAY:

MOVCX,0FFFFHL3:

LOOPL3

RETCODEENDSENDSTART

接口作业3:

8259-2:

利用8259A中断次数不同使得

8253产生不同波形

一、 目的

掌握8259A矢量中断方式的硬件连接和软件编程的方法,同时掌握中断和其它接口芯片配合来完成某一特定任务的方法。

二、 内容

通过按键PLUS的按下,统计8259中断次数,比如按5次8253产生方波,按10次

8253产生窄脉冲周期波形。

三、 接线图

四、 流程图

连线图

五、 程序清单

.MODELSMALL

.386

CODESEGMENTSTART:

MOVDX,203H

MOVAL,36H ;8253初始化,计数器0,方式3,00110110BOUTDX,AL

MOVCX,0 ;CX初始计0MOVBX,0

CLI

INAL,21H ;设置屏蔽字,IR5开放

ANDAL,11011111BOUT21H,AL

PUSHDSMOVBX,0MOVDS,BX

LEAAX,CS:

INTRMOVBX,05HMOVSI,30HADDSI,BX

SALSI,2

MOVDS:

[SI],AXPUSHCS

POPAX

MOVDS:

[SI+2],AXPOPDS

STI ;开程序中断WAITING:

JMPWAITING

INTR:

;中断服务程序PUSHAX

PUSHDXCLI

CMPCX,5

JGEL1 ;CX大于等于5跳转L1INCCX

JMPL3

L1:

CMPCX,10 ;CX大于等于10则跳转L2JGEL2

MOVDX,200H ;输出方波MOVAL,00000100B

OUTDX,ALINCCXJMPL3

L2:

MOVDX,203H ;输出窄脉冲周期波形MOVAL,01111000B

OUTDX,ALMOVDX,201H

MOVAL,00000100BOUTDX,AL

INCCX

L3:

MOVAL,20HOUT20H,ALSTI

POPDXPOPAXIRET

CODEENDSENDSTART

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

当前位置:首页 > 表格模板

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

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