单片机原理第5章 中断系统.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理第5章 中断系统

外部中断应用例: 【例5-B1】外部中断INT0每中断一次令P1.0求反。 【例5-B2】外部中断INT0每中断五次令P1.0求反一次 【例5-B3】主程序运用软件延时控制P1.7秒闪的同时实现外部 中断INT0每中断五次令P1.0求反一次 D05S:MOV R7,#8 ;软件延时约0.5S子程序 D05S2:MOV R6,#200 D05S1:MOV R5,#100 D05S0:NOP DJNZ R5,D05S0 DJNZ R6,D05S1 DJNZ R7,D05S2 RET ;子程序返回 END 【例5-B4】将上例程序的中断服务子程序具体代码后移的方法 ORG 0000H ;复位入口 LJMP MAIN ORG 0003H ;外部中断0服务子程序入口 LJMP IX0P ;转外部中断0服务程序 ORG 0030H MAIN:MOV SP,#6FH ;总初始化。设定栈底指针 MOV 50H,#00H ;置控制码初值 MOV P1,50H ;输出初始控制码 SETB IT0 ;设INT0中断信号输入下降沿有效 SETB EA ;开中断总允许 SETB EX0 ;开外部INT0中断允许 LOOP:LCALL D05S ;主工作程序。调用延时0.5S子程序 CPL P1.7 ;令P1.7求反,所驱动LED闪烁 SJMP LOOP ;反复循环主工作流程 IX0P:PUSH ACC ;外部中断0服务子程序。保护现场 PUSH PSW INC 50H ;控制码加1 MOV P1,50H ;输出新的控制码 DN:POP PSW ;恢复现场 POP ACC RETI ;中断返回 D05S:MOV R7,#8 ;软件延时约0.5S子程序 D05S2:MOV R6,#200 D05S1:MOV R5,#100 D05S0:NOP DJNZ R5,D05S0 DJNZ R6,D05S1 DJNZ R7,D05S2 RET ;子程序返回 END ORG 0000H ;复位入口 LJMP MAIN ORG 0003H;外部中断0服务子程序入口(每一次中断将小时数加1) LJMP IX0P ORG 0030H MAIN:MOV SP,#6FH ;总初始化。设定栈底指针 …… SETB EA ;开中断总允许 SETB IT0 ;设INT0中断信号输入下降沿有效 SETB EX0 ;开外部INT0中断允许 …… MOV 3CH,#08H ;时单元初值,时钟初值08:59:45 IX0P:PUSH ACC ;外部中断0服务子程序。保护现场 PUSH PSW MOV A,3CH ;小时单元(按BCD码)加1 ADD A,#1 DA A MOV 3CH,A CJNE A,#24H,DN ;满24小时? MOV 3CH,#0 ;满:小时单元清零 DN:POP PSW ;恢复现场 POP ACC RETI ;中断返回 外部中断INT1每中断一次令P1.0求反。 ORG 0000H ;复位入口 LJMP MAIN ORG 0003H ;外部中断0服务子程序入口 CPL P1.0 ;P1.0求反 RETI ;中断返回 ORG 0030H MAIN:MOV SP,#6FH ;总初始化。设定栈底指针 CLR P1.0 ;P1.0初始清0 SETB IT0

文档评论(0)

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

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

1亿VIP精品文档

相关文档