外部中断实验_7.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
外部中断实验(急救车与交通灯) 一.实验要求 在实验四内容的基础上增加允许急救车优先通过的要求。有急救车到达时,两向交通信号为全红,以便让急救车通过。假定急救车通过路口时间为10秒,急救车通过后,交通灯恢复中断前状态。本实验以按键为中断申请,表示有急救车通过。 二.实验目的 1.学习外部中断技术的基本使用方法。 2.学习中断处理程序的编程方法。 三.实验电路及连线 PO0-PO3接DG1-DG4,PO4-P07接 DR1-DR4。CS273 接8300H。K8接P3.2。 四.实验说明 中断服务程序的关键是:1.保护进入中断时的状态,并在退出中断之前恢复进入时的状态。2.必须在中断程序中设定是否允许中断重入,即设置EX0位。 本例中使用了INT0中断,一般中断程序进入时应保护PSW,ACC以及中断程序使用但非其专用的寄存器。本例的INT0程序保护了PSW,ACC,2等三个寄存器并且在退出前恢复了这三个寄存器。另外中断程序中涉及到关键数据的设置时应关中断,即设置时不允许重入。本例中没有涉及这种情况。 实验开始时K8应在H(高电平)端,要产生中断时先拨向L(低电平)端再拨回H端。 五.实验程序框图 六.源程序 ORG 0000H LJMP START ORG 0003H ;INT 0 中断入口地址 LJMP INT0 ORG 0040H START: MOV SP,#60H SETB EX0 ;INT 0 中断有效 SETB IT0 SETB EA LCALL STATUS0 ;初始状态(都是红灯) CIRCLE: LCALL STATUS1 ;南北绿灯,东西红灯 LCALL STATUS2 ;南北绿灯闪转黄灯,东西红灯 LCALL STATUS3 ;南北红灯,东西绿灯 LCALL STATUS4 ;南北红灯,东西绿灯闪转黄灯 LJMP CIRCLE INT0: PUSH PSW ;保护现场 PUSH 2 PUSH ACC MOV DPTR,#8300H MOV A,#0FH ;南北,东西都亮红灯 MOVX @DPTR,A MOV R2,#100 ;延时10秒 LCALL DELAY POP ACC ;恢复现场 MOVX @DPTR,A POP 2 POP PSW RETI STATUS0: ;南北红灯,东西红灯 MOV DPTR,#8300H MOV A,#0FH MOVX @DPTR,A MOV R2,#10 ;延时1秒 LCALL DELAY RET STATUS1: ;南北绿灯,东西红灯 MOV DPTR,#8300H MOV A,#5AH ;南北绿灯,东西红灯 MOVX @DPTR,A MOV R2,#50 ;延时5秒 LCALL DELAY RET STATUS2: ;南北绿灯闪转黄灯,东西红灯 MOV DPTR,#8300H MOV R3,#03H ;绿灯闪3次 FLASH: MOV A,#5FH MOVX @DPTR,A MOV R2,#03H LCALL DELAY MOV A,#5AH MOVX @DPTR,A MOV R2,#03H LCALL DELAY DJNZ R3,FLASH MOV A,#0AH ;南北黄灯,东西红灯 MOVX @DPTR,A MOV R2,#10 ;延时1秒 LCALL DELAY RET STATUS3: ;南北红灯,东西绿灯 MOV DPTR,#8300H MOV A,#0A5H MOVX @DPTR,A MOV R2,#50 ;延时5秒 LCALL DELAY RET STATUS4: ;南北红灯,东西绿灯闪转黄灯 MOV DPTR,#8300H MOV R3,#03H ;绿灯闪3次 FLASH1: MOV A,#0AFH MOVX @DPTR,A MOV R2,#03H LCALL DELAY MOV A,#0A5H MOVX @DPTR,A MOV R2,#03H LCALL DELAY DJNZ R3,FLASH1 MOV A,#05H ;南北红灯,东西黄灯 MOVX @DPTR,A MOV R2,#10 ;延时1秒 LCALL DELAY NOP RET DELAY: ;延时子程序 PUSH 2 PUSH 1 PUSH 0 DELAY1: MOV 1,#00H DELAY2: MOV 0,#0B2H DJNZ 0,$ DJNZ 1,DELAY2 ;延时 100 mS DJNZ 2,DELAY1 POP 0 POP 1 POP 2 RET END

您可能关注的文档

文档评论(0)

139****2545 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档