6第5章并行接口P0~P3和单片机的中断系统答题.pptVIP

6第5章并行接口P0~P3和单片机的中断系统答题.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
×、 × ORG 0000H AJMP MAIN ORG 0003H AJMP WBI ORG 0030H MAIN: MOV P1,#0FH SETB IT0 SETB EX0 SETB EA SJMP $ WBI: MOV P1,#0FH MOV A,P1 SWAP A MOV P1,A RETI END 此例的执行现象是,每重置一次四个开关的开、合状态,四个发光二极管维持原来的亮、灭状态,仅当来回拔动消抖电路开关后,产生了中断,发光二极管才反映新置的开关状态。 例 89C51的P1口接一个共阴极的数码管,利用消抖开关产生中断请求信号,每来回拔动一 次开关,产生一次中断,用数码管显示中断的次数(最多不超过15次)。 ORG 0000H AJMP MAIN ORG 0013H AJMP INT1 ORG 0030H MAIN: SETB IT1 SETB EX1 SETB EA MOV R0,#0 MOV A,#3FH AL1: MOV P1,A AL2: CJNE R0,#0FH,AL1 MOV R7,#0FFH DJNZ R7,$ MOV P1,#0 ;关显示 CLR EA ;关中断 SJMP $ ;结束 INT1:INC R0 ;中断次数加1 MOV A,R0 MOV DPTR,#TAB ;DPTR指向字形码表首址 MOVC A,@A+DPTR ;查表 POP DPH POP DPL ;弹出断点 MOV DPTR,#AL1 PUSH DPL PUSH DPH ;修改中断返回点,AL1压入堆栈 RETI ;从堆栈AL1地址→PC,返主程序AL1处 TAB: DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH,77H,7CH DB 39H,5EH,79H,71H ;段码表(字形码) END 上面程序每中断一次,执行一次中断服务程序INT1。在中断服务程序中,累计中断次数并 查字形表,返回到主程序AL1地址执行显示。 以上中断在AL1或AL2两指令处发生,究竟是哪一指令处中断是随机的,为保证返回到AL1显示‘F ’ ,这里采用修改中断返回点的办法, 即先从栈中弹出中断响应时压入的断点弹到DPTR中,修改DPTR为用户需要的返回点,并将其压 入堆栈,再通过执行RETI指令弹出栈中内容到PC、弹出的即为修改后的地址,从而返回到主程序中用所希望的地址执行。上例中中断次数在主程序判断,目的是使读者了解修改中断返回点的方法,如果改在中断服务程序中判断,编程简洁些,下面仅介绍和上例中的不同部分的程序。 … MOV R0, #0 ;计数初值为0 MOV P1, #3FH ;显示‘0’ MOV DPTR,#TAB ;指向字形码表 AGA: SJMP $ ;等待中断 INT1:INC R0 ;中断次数加1 MOV A, R0 MOVC A, @A+DPTR ;查字形码表 MOV P1, A ;显示 CJNE R0, #0FH, RE ;15次中断未到转RE CLR EA

文档评论(0)

希望之星 + 关注
实名认证
文档贡献者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档