MCS-51单片机应用教程 第8章

上传人:我*** 文档编号:136313224 上传时间:2020-06-27 格式:PPT 页数:24 大小:149KB
返回 下载 相关 举报
MCS-51单片机应用教程 第8章_第1页
第1页 / 共24页
MCS-51单片机应用教程 第8章_第2页
第2页 / 共24页
MCS-51单片机应用教程 第8章_第3页
第3页 / 共24页
MCS-51单片机应用教程 第8章_第4页
第4页 / 共24页
MCS-51单片机应用教程 第8章_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《MCS-51单片机应用教程 第8章》由会员分享,可在线阅读,更多相关《MCS-51单片机应用教程 第8章(24页珍藏版)》请在金锄头文库上搜索。

1、第8章 MCS-51单片机外部中断的应用,8.1 外部中断的应用 8.2 外部中断源的扩展,1. 实训目的 掌握中断应用技术及编程方法 掌握多级外部中断编程方法,8.1 外部中断的应用,2. 功能设计 用P1.0、P1.1、P1.2口控制3个发光二极管L1L3的亮灭。设系统晶振为6MHz。 主程序: (1)程序初始化,对相关寄存器进行设置。 (2)由P1.3产生脉宽为1s的方波。 中断程序: INT0中断使L1L3点亮10s;INT1中断使L1L3交替亮灭1s。 中断源: 开关K0按下,申请外部中断0;用P1.3输出脉冲作为外部中断1的中断源。,3. 背景知识 (1) 设计中断控制程序时,首先

2、要对与中断控制有关的寄存器进行设置。需要设置的特殊功能寄存器有IE、TCON和IP。设INT0、INT1的触发方式为下降沿触发,INT0为高级中断,INT1为低级中断。则各相关寄存器的设置见书155156页。 (2) 中断入口地址INT0中断入口地址为 0003H;INT1 中断入口地址为0013H。,4. 硬件电路与单片机资源分配 硬件电路如图8-1所示。 硬件资源分配: P1.0、P1.1、P1.2口用于驱动3个发光二极管; P1.3输出脉宽为1s间隔的脉冲,用于产生外部中断1的中断信号;R3、R6、R7为延时程序中所用的计数器。,图8-1 中断实训1,5. 参考程序 ORG 0000H

3、;CPU起始地址 AJMP MAIN ;跳转到主程序 ORG 0003H ;INT0中断入口地址 AJMP JINT0 ;转到INT0处理程序 ORG 0013H ;INT1中断入口地址 AJMP JINT1 ;转到INT1处理程序 MAIN: NOP ;主程序段 MOV SP,#40H ;设定堆栈 MOV A,#0FFH ;0FF送A MOV P1,A ;初始化P1口,3位 发光二极管全灭 SETB IT0 ;INT0为边沿触发,SETB IT1 ;INT1为边沿触发 SETB PX0 ;INT0为高级中断 SETB EX0 ;开放INT0 SETB EX1 ;开放INT1 SETB EA

4、;开总中断 LOOP: MOV R3,#0AH ;延时1s LCALL YS100 ;调用延时100ms子 程序 DJNZ R3,LOOP CPL P1.3 AJMP LOOP ;主程序循环,如果 有中断,则转到中断处理程序 JINT0: NOP ;INT0处理程序,如 果K0按下则转此段,CLR EA ;关中断保护现场 PUSH 03H ;保护R3 PUSH 06 ;保护R6 PUSH 07H ;保护R7 CLR P1.0 ;L1L3全亮 CLR P1.1 CLR P1.2 MOV R2,100 ;延时10s LOOP1: LCALL YSA100 ;调用延时100ms子 程序 DJNZ R

5、2,LOOP1 POP 07H ;恢复现场 POP 06H,POP 03H SETB EA ;开中断 RETI ;中断返回 JINT1: NOP CLR EA ;关中断,保护现场 PUSH 03H ;保护R3 PUSH 06 ;保护R6 PUSH 07H ;保护R7 SETB EA ;开中断 CPL P1.0 ;灯亮/灭 CPL P1.1 CPL P1.2 CLR EA ;关中断,恢复现场,POP 07H POP 06H POP 03H SETB EA ;开中断 RETI ;中断返回 YS100: MOV R6,99 ;延时100子程序 L100: MOV R7,124 L1: NOP NOP

6、 DJNZ R7,L1 NOP NOP DJNZ R6,L100,NOP NOP RET END,6. 总结与提高 本电路比较简单,目的是学习中断程序设计的基本方法。在设计中断程序时,注意主程序与中断程序的编制方法。应注意中断输入的电平应不高于+5V,且外部中断输入要求是低电平或由高到低的下降沿。,编写中断服务程序时应注意以下几个问题: (1) 两个相邻中断源中断服务程序入口地址相距只有8个单元,一般的中断服务程序是容纳不下的,通常是在相应的中断服务程序入口地址单元处存放一条无条件转移指令LJMP或AJIMP,转移到中断服务程序。 (2) 在中断服务程序中,应注意保护现场,保证中断返回时能可靠

7、地恢复现场,使单片机继续进行原来的工作。保护和恢复现场操作时应关中断。 (3) 若需要在执行当前中断程序时禁止更高优先级的中断,可以先用软件关闭CPU总中断或禁止相关中断源中断,在中断返回前再开放中断。,1. 实训目的 掌握中断应用技术及编程方法 掌握外部中断的扩展技术及编程方法 2. 功能设计 主程序: P1口用于控制发光二极管L1L8的交替亮灭。 中断源: 串行口扩展外部中断源。无中断时,8位发光二极管按固定时间间隔交替亮灭,有中断时,8位发光二极管全部点亮。,8.2 外部中断源的扩展,3. 背景知识 (1) 利用串行口方式0串行接收功能来扩展外部中断源。串行口串行接收端为RXD(P3.0

8、),当单片机启动串行接收后,RXD开始逐位接收数据。当接收完8位数时,串行口向CPU发出中断申请,RI1,CPU响应中断,并执行中断服务程序。注意,中断返回前,必须通过编程将RI清0。 串行口控制寄存器SCON的设置如下:,(2) 串行口中断入口地址: 0023H。 (3) 使用8位并入串出移位寄存器74LS165实现外部中断源的扩展。管脚2为移位脉冲输入端,与单片机串行口同步脉冲输出端TXD相连。管脚15为串行移位输出控制端,高电平禁止串行输出,低电平允许串行输出。外部中断信号线EXINT接管脚15,低电平申请中断。,4. 硬件电路 硬件原理图如图8-2所示。,图8-2 串行口扩展外部中断,

9、5. 参考程序 ORG 0000H ;CPU起始地址 AJMP MAIN ;转主程序 ORG 0023H ;串行口中断入口地 址 AJMP JSBUF ;转串行口中断处理 程序 MAIN: NOP ;主程序段 MOV SP,#40H ;设定堆栈 MOV A,#0FFH MOV P1,A ;初始化P1口 MOV SCON,#10H ;设定串行口工作方 式0,允许接受,SETB ES ;允许串行口中断 SETB EA ;开总中断,EA=1 (开放总中断) LOOP: MOV A,#0AAH MOV P1,A ;点亮L1、L3、L5、 L7 LCALL DLS ;调延时程序 MOV A,#55H M

10、OV P1,A ;点亮L2、L4、L6、 L8 LCALL DLS ;调延时程序 AJMP LOOP ;主程序循环执行, 如果有中断,则转中断处理程序,JSBUF: NOP CLR EA PUSH ACC ;保护现场 PUSH 00H ;保护R0 PUSH 01H ;保护R1 CLR RI ;清串行中断标志 MOV A,#0 MOV P1,A ;灯全亮 LCALL DLS ;调用延时程序 POP ACC ;恢复现场 POP 01H POP 00H POP ACC,SETB EA RETI DLS: MOV R1,#0FFH LOP1: MOV R0,#0FFH LOP: DJNZ R0,LOP DJNZ R1,LOP1 RET END,6. 总结与提高 在本节的实训中,不需要处理串行接收的数据,只需要利用串行口中断信号来扩展一个外部中断源。注意,外部中断源EXINT维持低电平的时间要大于8个TXD端输出的移位脉冲的时间。扩展外部中断源的方法较多,除了本节介绍的方法外,还可以应用优先编码器74LS348、74LS148等进行外部中断源的扩展。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号