- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章中断技术new重点讲义
关于中断优先级和优先权的概念 中断优先级:决定是否能够实现中断嵌套(即高优先级的中断源可以中断低优先级的中断服务。) 中断优先权:决定多个中断源同时请求时先响应哪个中断请求。 主要两种设置方法: 1、多个优先级,每个优先级一个中断源,在这种情况下优先级包含优先权。 2、优先级不太多,每个优先级中多个中断源,同一优先级中优先权不同,同级不嵌套。 中断优先级问题的解决方法 解决优先级的问题一般可有三种方法:软件查询法、简单硬件方法及专用硬件方法。 怎样管理中断源 1、中断源较少时可使用固定中断服务入口地址。如51单片机 2、中断源较多时,可以由外设给出低位地址,由CPU提供高位(页)地址,合成中断服务出入口地址。如Z80CPU 3、中断源更多时,则可根据中断类型号找出中断服务出入口地址。如8086CPU §10.3 中断控制器8259A 4、装入中断服务程序入口地址的方法; (1)设入口的地址为1000H:2000H PUSH DS XOR AX,AX MOV DS,AX MOV AX, 2000H MOV WORD PTR [n*4],AX ;n必须有具体数字 MOV AX, 1000H MOV WORD PTR [n*4+2],AX POP DS (2)调用DOS中的25H号功能,装入中断服务程序的入口地址 入口条件:DS=服务程序入口地址段基址 DX=服务程序入口地址偏移地址 PUSH DS MOV DX,OFFSET INT1 MOV AX,SEG INT1 MOV DS,AX MOV AL, n MOV AH,25H INT 21 POP DS (3) 借用DI、ES装中断服务入口地址 XOR AX,AX MOV ES,AX MOV BX, OFFSET INT1 MOV AX, SEG INT1 MOV DI, n SHL DI, 1 SHL DI, 1 MOV ES:[DI], BX MOV ES:[DI+2], AX MOV DX, 0803H MOV AL, ;计数器1,先低8位后高8位, 模式0,二进制 OUT DX, AL MOV DX, 0801H MOV AL, 0H OUT DX, AL OUT DX, AL;计数器1 的初始化 MOV DX, 0803H MOV AL, ;计数器2,先低8位后高8位, 模式0,二进制 OUT DX, AL MOV DX, 0802H MOV AL, 0H OUT DX, AL OUT DX, AL;计数器2 的初始化 2、送入口地址 PUSH DS MOV AX, 0 MOV DS, AX;0段 MOV SI, 38H*4 MOV AX, OFFSET INC-PROC MOV [SI], AX;送偏移量 MOV AX, SEG INC-PROC MOV [SI+2], AX;送段地址 POP DS 3、中断子程序 INT-PROC PROC FAR PUSH AX PUSH BX PUSH CX PUSH DX MOV DX, 0803H MOV AL, ;锁存C/T1 OUT DX, AL MOV DX, 0801H IN AL, DX MOV BL, AL IN AL, DX MOV BH, AL; C/T1的值送BX MOV DX, 0803H MOV AL, ;锁存C/T2 OUT DX, AL MOV DX, 0802H IN AL, DX MOV CL, AL IN AL, DX MOV CH, AL; C/T2的值送CX SUB CX, BX ADD BUF, CX ADC BUF[2], 0; 累加 MOV DX, 0801H MOV AL, 0 OUT DX, AL OUT DX, AL;C/T1清
原创力文档


文档评论(0)