当前课程知识点:单片机原理及应用 >  6 中断与定时系统 >  6.5 外部中断举例 >  外部中断举例

返回《单片机原理及应用》慕课在线视频课程列表

外部中断举例在线视频

外部中断举例

下一节:定时器/计数器

返回《单片机原理及应用》慕课在线视频列表

外部中断举例课程教案、知识点、字幕

同学

你好

我们前面已经对51单片机的相关的

中断的全部的技术进行了一个详细的介绍

今天我们将来看一个

外部中断申请的例题

通过这个例题同学们可以体会一下

51单片机中断的应用的方法

我们来看这个例题

是编写程序使得每按动一次按键

外接的发光二极管led的亮灭状态

都会改变一次

如图所示

我们用外部中断0的输入引脚INT0来

连接一个按键

由于INT0对应的是51单片机的

P3.2的引脚

同学们一定要注意一下

用51单电机的P1.2引脚

来连接LED发光二极管

程序的总体思路是

当按键按下时

相当于通过单片机的INT0引脚

向单片机发送了一个外部中断0的中断申请

此时如果单片机允许响应外部中断0的中断申请

单片机就会暂停正在执行的主程序

转而去执行外部中断0的中断响应服务程序

而外部中断0的服务程序

是在ROM的0003H存放

此处我们可以放一条转移指令

转到中断服务程序

真正的存放地址

在ROM的0300H的位置去执行相关的

真正的中断服务程序

而此处中断服务程序要做的就是

通过把引脚P1.2取一个反

来改变发光二极管的亮灭的状态

由于外部中断申请

我们说过有两种触发方式

一种是负脉冲触发

一种是电平触发

这两种方式的主要区别在于

中断申请标志位的撤销的方式有所不同

我们先来看一看这个比较简单的第一种方法

就是用外部中断0的负跳变来触发

即在INT0引脚每输入一次电压的负跳变

就引起一次中断请求

那么整个的程序分成了两个部分

就是主程序和中断服务程序

主程序从MAIN开始

中断响应的服务程序

从L1开始

主程序MAIN 里通过三条SETB指令

来开启中断允许总开关和外部中断0

允许的分开关

并把外部中断0设为负跳变的触发方式

随后通过一条原地址跳转指令

模拟执行其他的任务

而在中断服务程序L1里

我们通过一条CPL就取反指令

把引脚P1.2的输出值取反

从而来改变发光二极管的亮灭状态

主程序MAIN和中断服务程序LE都比较简单

关键是同学们要掌握整个程序执行的逻辑顺序

在正常情况下

当单片机上电启动或复位时

单片机首先我们知道从ROM0000H单元开始

来执行指令

该单元我们存放的是一条

转移到主程序MAIN的转移指令

所以正常情况下单片机就会马上转移

去执行主程序

主程序的最后

我们知道是一个原地跳转的指令

所以正常情况下不会执行中断服务程序L1

什么时候会执行中断服务程序L1

只有当INT0引脚收到一个负跳变信号时

由于在主程序中已经设定单片机允许响应

负跳变的外部中断0的申请

所以当INT0有了负跳变的信号输入时

单片机就会暂停正在执行的原地跳转的主程序

转而去执行存放在ROM 0003H单元的

外部中断0的服务程序

但是实际上我们此处

放的是转移到L1处的一个转移指令

所以单片机最后会转移到ROM的L1处

去执行真正的中断服务程序L1

当L1执行完之后

会通过一条RETI指令

首先清除掉外部中断零的标志位

然后再返回到主程序中

继续去执行原地跳的指令

请同学们根据这个程序的注释

仔细地阅读该程序

领会外部中断程序设计和运行的内涵

最后我们来看一下第二种方法

即电平触发外部中断的方法

需要注意的是

为避免一次按键引起多次中断响应

我们需要在程序中编程

等待这个按键释放撤销中断申请电平

方法二的程序结构和运行逻辑与方法一

基本相同

不同点有两处

一处在主程序MAIN中要用一条CLR IT0

清零的指令来设定外部中断0为

低电平触发的中断申请

另一处不同点就是在中断响应服务程序L1中

要加一条JNB P3.2 逗号 L2

来判位转移指令

该指令的目的是在中断服务程序结束前

一定要等待这个按键释放

使得INT0引脚回复高电平

然后才能结束中断服务程序并返回到主程序

如果中断服务程序中不等待按键释放

就返回到主程序

我们单片机就会一直认为

INT0的中断低电平申请有效

从而造成单片机不停的去响应中断服务程序L1

请同学们根据这个程序的注释

也是要仔细的阅读该段程序

领会一下电平方式的外部中断程序设计

和运行的精髓

以上就是今天课程的全部内容

今天我们主要通过一个例题

使同学们能够领会到中断服务程序的意义

中断服务程序的设计

是我们单片机程序设计的一个重要技术

请同学们下去之后一定要好好的练习

掌握好中断程序设计的方法

好的

今天课程就到这里

同学们再见

单片机原理及应用课程列表:

1 单片机系统概述

-1.1 单片机的名称

--单片机的名称

-1.2 单片机的相关概念

--单片机的相关概念

-1.3 单片机的设计语言及软件

--单片机的设计语言及软件

-1.4 单片机的发展

--单片机的发展

-1.5单片机的应用

--单片机的应用

-1.6 第一单元作业

2 单片机的硬件结构

-2.1 单片机的结构框图

--单片机的结构框图

-2.2 80C51内部结构

--80C51内部结构

-2.3 信号引脚

--信号引脚

-2.4 内部数据存储器RAM

--内部数据存储器RAM

-2.5 特殊功能寄存器

--特殊功能寄存器

-2.6 堆栈

--堆栈

-2.7 内部程序存储器ROM

--内部程序存储器ROM

-2.8 存储器的结构特点

--存储器的结构特点

-2.9 并行输入输出接口电路

--并行输入输出接口电路

-2.10 并口功能与时序

--并口功能与时序

-2.11 工作方式

--工作方式

-2.12 最小应用系统

-- 最小应用系统

-2.13 第二单元作业

3 指令系统

-3.1 指令格式

--指令格式

-3.2 立即寻址与直接寻址

--立即寻址与直接寻址

-3.3 寄存器寻址与寄存器间接寻址

--寄存器寻址与寄存器间接寻址

-3.4 变址间接寻址与位寻址

--变址间接寻址与位寻址

-3.5 内部RAM传送指令

--内部RAM传送指令

-3.6 外部RAM传送指令

--外部RAM传送指令

-3.7 ROM传送指令

--ROM传送指令

-3.8 交换指令

--交换指令

-3.9 堆栈操作指令

--堆栈操作指令

-3.10 传送类指令习题讲解

--传送类指令习题讲解

-3.11 算术运算类指令特点

--算术运算类指令特点

-3.12 加法指令

--加法指令

-3.13 加法习题、减法和乘除指令

--加法习题、减法和乘除指令

-3.14 逻辑运算指令

--逻辑运算指令

-3.15 布尔变量操作指令

--布尔变量操作指令

-3.16 无条件转移指令

--无条件转移指令

-3.17 条件转移指令

--条件转移指令

-3.18 循环转移指令

--循环转移指令

-3.19 子程序相关指令

--子程序相关指令

-3.20 并口访问指令及指令小结

--并口访问指令及指令小结

-3.21 第三单元作业

4 汇编语言程序设计

-4.1 汇编程序约定

--汇编程序约定

-4.2 宏指令

--宏指令

-4.3 汇编控制指令

--汇编控制指令

-4.4 汇编语言程序设计步骤

--汇编语言程序设计步骤

-4.5 顺序程序举例

-- 顺序程序举例

-4.6 单重分支结构

--单重分支结构

-4.7 多重分支结构

--多重分支结构

-4.8 单重循环结构

--单重循环结构

-4.9 计数控制循环程序

--计数控制循环程序

-4.10 特征控制循环程序

-- 特征控制循环程序

-4.11 多重循环程序

--多重循环程序

-4.12 子程序的概念

--子程序的概念

-4.13 子程序设计注意事项

--子程序设计注意事项

-4.14 子程序举例

--子程序举例

-4.15 第四单元作业

5 单片机存储器扩展

-5.1 系统扩展

--系统扩展

-5.2 51单片机扩展方法

--51单片机扩展方法

-5.3 存储器单元位数扩充方法

--存储器单元位数扩充方法

-5.4 存储器容量单元扩充方法

--存储器容量单元扩充方法

-5.5 译码线选法

--译码线选法

-5.6 程序存储器的类型

--程序存储器的类型

-5.7 程序存储器的扩展

--程序存储器的扩展

-5.8 数据存储器的扩展

--数据存储器的扩展

-5.9 存储器综合扩展

--存储器综合扩展

-5.10 单片机存储器系统的特点

-- 单片机存储器系统的特点

-5.11 第五单元作业

6 中断与定时系统

-6.1 中断技术

--中断技术

-6.2 中断优先级及中断系统内部结构

--中断优先级及中断系统内部结构

-6.3 中断控制寄存器及中断响应过程

--中断控制寄存器及中断响应过程

-6.4 中断请求的撤消

--中断请求的撤消

-6.5 外部中断举例

--外部中断举例

-6.6 定时器/计数器

--定时器/计数器

-6.7 定时计数器工作方式及程序编写

--定时计数器工作方式及程序编写

-6.8 定时器举例

--定时器举例

-6.9 第六单元作业

7 I/O扩展及应用

-7.1 并行接口

-- 并行接口

-7.2 并口举例

--并口举例

-7.3 并口扩展芯片

--并口扩展芯片

-7.4 8155连接方式及编程

--8155连接方式及编程

-7.5 键盘接口技术

--键盘接口技术

-7.6 按键处理程序及举例

--按键处理程序及举例

-7.7 键盘扫描子程序

-- 键盘扫描子程序

-7.8 显示接口技术

--显示接口技术

-7.9 多位字符静态显示

--多位字符静态显示

-7.10 多位字符动态显示

--多位字符动态显示

-7.11 第七单元作业

8 单片机实验

-8.1 流水灯控制系统设计

--html

-8.2 数码管显示系统设计

--html

-8.3 按键控制系统设计

--html

-8.4 中断控制系统设计

--html

-8.5 定时计数器系统设计

--html

-8.6 串口通信系统设计

--html

-8.7 汉字显示系统设计

--html

-8.8 单片机烧录方法

--单片机烧录方法

-8.9 第八章作业-作业

外部中断举例笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。