第四章中断介绍.ppt

【例5-1】将定时器T0扩展为外部中断源。 解:将定时器T0设定为方式2(自动恢复计数初值),TH0和TL0的初值均设置为FFH,允许T0中断, CPU开放中断,部分源程序如下: MOV TMOD,#06H MOV TH0,#0FFH MOV TL0,#0FFH SETB TR0 SETB ET0 SETB EA … 5.4.2 中断和查询相结合 利用两根外部中断输入线(INT0引脚),每一中断输入线可以通过或非的关系连接多个外部中断源,同时,利用并行输入端口线作为多个中断源的识别线,其电路原理如图5-8所示。 中断服务程序如下: ORG 0003H ;外部中断0入口 AJMP INT_0 ;转向中断服务程序入口 ? INT_0: PUSH PSW ;保护现场 PUSH ACC JB P1.0,EXINT0 ;中断源查询并转相应中断程序 JB P1.1,EXINT1 JB P1.2,EXINT2 JB P1.3,EXINT3 5.6 实 践 训 练 任务:工业顺序控制 1. 实现任务 工业顺序控制,由P1.0~1.6控制注塑机的7道工序,现模拟控制7只发光二极管的点亮,低电平有效,设定每道工序时间转换为延时,P3.4为开工启动开关,高电平启动。P3.3为外部故障输入模拟开关,低电平报警,P1.7为报警声音输出,设定6道工序只有1位输出,第七道工序3位有输出。 5.6 实 践 训 练 4. 实施过程 (1)硬件设计 P3.4接K1,P3.3接K2(外中断1),P1.0~P1.6分别接发光二极管D1~D7,P1.7接LM386正向输入端,通过LM386功率放大后5脚输入接扬声器,由它发出报警声音。硬件设计如图5-12所示。 2) 软件设计 根据要求,程序设计如下: ORG 0000H LJMP PO10 ORG 0013H ;外部中断1的入口地址 LJMP PO16 ORG 0080H PO10:MOV P1, #7FH ORL P3, #00H PO11:JNB P3.4,PO11 ;开工吗? MOV IE, #84H MOV IP, #04H MOV PSW,#00H ;初始化 MOV SP, #53H PO12:MOV P1,#7EH ;第一道工序 ACALL PO1B MOV P1,#7DH ;第二道工序 ACALL PO1B MOV P1,#7BH ;第三道工序 ACALL PO1B MOV P1,#77H ;第四道工序 ACALL PO1B MOV P1,#6FH ;第五道工序 ACALL PO1B MOV P1,#5FH ;第六道工序 ACALL PO1B MOV P1,#0FH ;第七道工序 ACALL PO1B SJMP PO12 PO16:MOV B, R2 ;保护现场 PO17:MOV P1,#7FH ;关输出 MOV 20H, #0A0H ;振荡次数 PO18: SETB P1.7 ;振荡 ACALL PO1A ;延时 CLR P1.7 ;停振 ACALL PO1A ;延时 DJNZ 20H,PO18 ;不为0转 CLR P1.7 ACALL PO1A ;停振 JNB P3.3, PO17 ;故障消除吗? MOV R2, B ;恢复现场 RETI PO19: MOV R2,#10H ACALL DELY ;延时1 RET PO1A: MOV R2,#06H ACALL DELY ;延时2

文档评论(0)

1亿VIP精品文档

相关文档