网站大量收购闲置独家精品文档,联系QQ:2885784924

微机原理与接口技术-第5章2.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4. 8253应用举例续 CODE SEGMENTORG 1000HASSUME CS:CODE,DS:CODE,SS:STACK START:;初始化;设置中断的入口地址XOR BX,BXPUSH BXPOP DS;将DS清零CLI;关中断 ;如果设置8259的起始中断向量号为10 ;以下6个中断向量分别分配给IRQ0、IRQ1、IRQ2、IRQ3.LEA AX,IRQ0_INTERRUPT;中断向量10HMOV DS:WORD PTR[64],AXMOV DS:WORD PTR[66],CSNOPLEA AX,IRQ1_INTERRUPT;中断向量11HMOV DS:WORD PTR[68],AXMOV DS:WORD PTR[70],CSNOPLEA AX,IRQ2_INTERRUPT;中断向量12HMOV DS:WORD PTR[72],AXMOV DS:WORD PTR[74],CSNOPLEA AX,IRQ3_INTERRUPT;中断向量13HMOV DS:WORD PTR[76],AXMOV DS:WORD PTR[78],CSNOPPUSH CS;将CS中的内容传到DSPOP DS 4. 8253应用举例续 ;初始化8259CLI;关中断;ICW1: 特征 A0 = 0 , D4 = 1;边沿触发要求上升沿后保持高电平,MOV AL ;边沿触发,单片使用,需要ICW4OUT INT0, ALJMP $+2;延时;ICW2: 特征 A0 = 1 按顺序判断MOV AL ;中断矢量从10H号开始OUT INT1, ALJMP $+2;ICW4: 特征 A0 = 1 按顺序判断,ICW1设置要ICW4;EOI,全嵌套方式,非缓冲,86/88系统MOV AL;采用全嵌套,非缓冲,非自动结束,16位微机处理OUT INT1, ALJMP $+2 4. 8253应用举例续 ;8259操作命令 ;********************************************* ;OCW1: 特征 A0 = 1 按顺序判断 ;初始化结束后,只有OCW1要求A0=1 ;其它操作命令OCW2,OCW3 都要求A0=0 ;*********************************************MOV DX,INT1MOV AL,0F0H ;假设只用4个可屏蔽中断,四个中断全部开放OUT DX,ALMOV CX,0FFFHLOOP $ 4. 8253应用举例续 ;中断服务程序 IRQ0_INTERRUPT PROC NEARPUSH AXPUSH DXSTI ;开中断 ;........不处理返回 CLI;关中断POP DXPOP AXIRET IRQ0_INTERRUPT ENDP IRQ1_INTERRUPT PROC NEARPUSH AXPUSH DXSTI ;开中断 ;........不处理返回 CLI;关中断POP DXPOP AXIRET IRQ1_INTERRUPT ENDP 4. 8253应用举例续 IRQ2_INTERRUPT PROC NEARPUSH AXPUSH DXSTI ;开中断 ;........不处理返回 CLI;关中断POP DXPOP AXIRET IRQ2_INTERRUPT ENDP IRQ3_INTERRUPT PROC NEARPUSH AXPUSH DXSTI ;开中断MOV DX,INT0MOV AL,20HOUT DX,ALCLI ;关中断POP DXPOP AXIRET IRQ3_INTERRUPT ENDP CODE ENDS END START8253的控制字编程 ;某个8253的计数器0、1、2端口和控制端口地址依次是40H~43H ;设置其中计数器0为方式0,采用二进制计数,先低后高写入计数值 mov al,30h ;方式控制字:30H=00 11 000 0B out 43h,al ;写入控制端口:43H 8253的计数初值编程 例:已知某个8253的计数器0、1、2和方式控制的端口地址为:40H~43H,要求设置计数器2对CLK2的外部输入脉冲进行计数,计数满1024个后向CPU发中断请求,工作方式为0,采用二进制计数,先低后高写入计数初值,试写出相应的初始化程序。 MOV AL,0B0H;方式控制字:0B0H = 10 11 000

文档评论(0)

xinshengwencai + 关注
实名认证
内容提供者

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档