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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

-

-PAGE1-

接口作业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的闪烁可见,在中断各申请之间加入延迟程序。

五、 流程图

六、程序清单

.MODELSMALL

.386

CODESEGMENT

ASSUMECS:CODESTART: MOVDX,203H

MOVAL ;设置8255控制字

OUTDX,ALMOVCL,0CLI

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

INAL,21H

ANDALOUT21H,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

MOVALOUTDX,AL

CALLDELAYMOVDX,203H

MOVALOUTDX,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,方式3OUTDX,AL

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

CLI

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

ANDALOUT21H,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

OUTDX,ALINCCXJMPL3

L2: MOVDX,203H ;输出窄脉冲周期波形MOVAL

文档评论(0)

159****1944 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档