-
2021-07-15 09:29:24
一、外部中断简介
STC15W408AS单片机有4个外部中断,它们分别是:外部中断0(INT0)、外部中断1(INT1)、外部中断2(INT2)、外部中断3(INT3)。
外部中断0(INT0)和外部中断1(INT1)触发有两种触发方式,上升沿或下降沿均可触发方式
和仅下降沿触发方式。
TCON寄存器中的IT0/TCON.0和IT1/TCON.2决定了外部中断0和1是上升沿和下降沿均可触发还是仅下降沿触发。如果ITx = 0(x = 0,1),那么系统在INTx(x = 0,1)脚探测到上升沿或下降沿后均可产生外部中断。如果ITx = 1(x = 0,1),那么系统在INTx( x= 0,1)脚探测下降沿后才可产生外部中断。外部中断0(INT0)和外部中断1(INT1)还可以用于将单片机从掉电模式唤醒。
外部中断2(INT2)、外部中断3(INT3)都只能下降沿触发。外部中断2~3的中断请求标志位被隐藏起来了,对用户不可见,故也无需用户清"0"。当相应的中断服务程序被响应后或中断允许位EXn (n=2,3)被清零后,这些中断请求标志位会立即自动地被清0。这些中断请求标志位也可以通过软件禁止相应的中断允许控制位将其清"0"(特殊应用)。外部中断2(INT2)、外部中断3(INT3)也可以用于将单片机从掉电模式唤醒。
由于系统每个时钟对外部中断引脚采样1次,所以为了确保被检测到,输入信号应该至少维持2个时钟。如果外部中断是仅下降沿触发,要求必须在相应的引脚维持高电平至少1个时钟,而且低电平也要持续至少一个时钟,才能确保该下降沿被CPU检测到。同样,如果外部中断是上升沿、下降沿均可触发,则要求必须在相应的引脚维持低电平或高电平至少1个时钟,而且高电平或低电平也要持续至少一个时钟,这样才能确保CPU能够检测到该上升沿或下降沿。
二、中断结构图
这里,我们只需要看最上面的部分就可以。
三、中断寄存器
IE寄存器是中断总控制,IP是中断优先级控制寄存器,TCON的低4位是外部中断0和外部中断1控制位。一般情况下我们只需要操作IE和TCON寄存器即可。
四、实验电路图
实验现象是点按一下按钮,LED闪烁一次,和上面的按键输入实验效果是一样的。
五、实验程序
#include "stc15.h" void main() { P11 = 0; // 初始设置P1.1为低电平 熄灭LED IT0 = 1; // 设置INT0的中断类型 (1:仅下降沿 0:上升沿和下降沿) EX0 = 1; // 使能INT0中断 EA = 1; // 打开总中断 while (1); } //外部中断服务程序 void exint0() interrupt 0 //INT0中断入口 { P11 = !P11; //将P1.1口取反 }
这里需要说明的是为什么外部中断服务程序是 interrupt 0。这个后面数字和中断优先级有关。从上面的中断结构图中,我们就可以看出外部中断0的优先级是最高的,所以这里是0,其他的在后面使用到再讲。
更多首发原创,请关注我。
更多相关内容 -
51单片机外部中断触发方式
2021-01-19 18:16:5351单片机的外部中断有两种触发方式可选:电平触发和边沿触发。选择电平触发时,单片机在每个机器周期检查中断源口线,检测到低电平,即置位中断请求标志,向CPU请求中断。选择边沿触发方式时,单片机在上一个机器... -
实验5 外部中断实验_STM32外部中断_外部中断_
2021-09-29 03:51:49基于STM32的外部中断程序范例DSP外部中断程序 -
实验二_GPIO接口及其外部中断的应用_
2021-09-28 19:21:05利用软件循环查询方法编程实现:按下MSP430F5529LP板上的按键SI、S2分 别控制LED1、LED2点亮,再次按下时LED1、LED2熄灭。 -
51单片机外部中断编程实例
2020-07-18 15:41:4751单片机的5大中断源:串行口中断、定时中断1、外部中断1、定时中断0、外部中断0;下面一起来学习一下 -
stm32红外遥控的外部中断实现
2020-08-11 06:06:21花了整整两天时间终于算是基本把红外解码搞明白了,其实并不是很难,用了两天时间,说来惭愧啊,原因就是细节上的问题,不过最终总算找出问题来了。使用外部中断来解码,就先对外部中断进行配置吧 -
DSP 外部中断
2017-06-01 09:03:47DSP 外部中断 -
STM32中断嵌套及外部中断全程攻略
2020-08-11 04:44:22断断续续学习STM32一学期了,时间过的好快,现在对STM32F103系列单片机的中断嵌套及外部中断做一个总结,全当学习笔记。废话不多说,ARM公司的Cortex-m3 内核,支持256个中断,其中包含16个内核中断和240个外部中断... -
STM32 外部中断的使用
2016-11-27 13:23:38基于 STM32 平台的外部中断使用,keil 4 平台编译,直接编译即可使用 -
外部中断实验(急救车与交通灯)
2020-08-02 00:33:19本文主要介绍了外部中断实验(急救车与交通灯)。 -
外部中断的使用方法介绍
2020-08-09 10:15:47主要介绍了外部中断的使用方法,包括: 1 基本概念 2 GPIO外部中断 3 程序开发 -
UCOSIII外部中断和串口中断管理
2018-05-03 15:43:25UCOSIII系统下按键外部中断和串口2中断管理,按键按下改变LED灯状态,串口2将接收到的数据发送出去。 -
stm32f1实验5 外部中断实验
2022-06-26 13:37:14stm32f1实验5 外部中断实验stm32f1实验5 外部中断实验stm32f1实验5 外部中断实验stm32f1实验5 外部中断实验stm32f1实验5 外部中断实验stm32f1实验5 外部中断实验stm32f1实验5 外部中断实验stm32f1实验5 外部中断实验... -
外部中断实验报告
2017-02-22 14:27:55外部中断实验报告 -
230-外部中断1(51单片机C语言实例Proteus仿真和代码)
2022-06-16 06:15:35230-外部中断1(51单片机C语言实例Proteus仿真和代码)230-外部中断1(51单片机C语言实例Proteus仿真和代码)230-外部中断1(51单片机C语言实例Proteus仿真和代码)230-外部中断1(51单片机C语言实例Proteus仿真和代码)230-... -
171-外部中断的使用(51单片机C语言实例Proteus仿真和代码)
2022-06-16 05:41:26171-外部中断的使用(51单片机C语言实例Proteus仿真和代码)171-外部中断的使用(51单片机C语言实例Proteus仿真和代码)171-外部中断的使用(51单片机C语言实例Proteus仿真和代码)171-外部中断的使用(51单片机C语言实例... -
172-定时器和外部中断(51单片机C语言实例Proteus仿真和代码)
2022-06-16 05:41:56172-定时器和外部中断(51单片机C语言实例Proteus仿真和代码)172-定时器和外部中断(51单片机C语言实例Proteus仿真和代码)172-定时器和外部中断(51单片机C语言实例Proteus仿真和代码)172-定时器和外部中断(51单片机... -
外部中断实验-按键控制(重点).rar
2021-01-04 00:55:16外部中断实验-按键控制(重点).rar -
STM32外部中断实验
2018-11-14 10:54:47亲测可用,可以用来做STM32的外部中断,有问题可以联系或者在评论区评论 -
229-外部中断0边沿触发(51单片机C语言实例Proteus仿真和代码)
2022-06-16 06:15:09229-外部中断0边沿触发(51单片机C语言实例Proteus仿真和代码)229-外部中断0边沿触发(51单片机C语言实例Proteus仿真和代码)229-外部中断0边沿触发(51单片机C语言实例Proteus仿真和代码)229-外部中断0边沿触发(51... -
228-外部中断0电平触发(51单片机C语言实例Proteus仿真和代码)
2022-06-16 06:14:44228-外部中断0电平触发(51单片机C语言实例Proteus仿真和代码)228-外部中断0电平触发(51单片机C语言实例Proteus仿真和代码)228-外部中断0电平触发(51单片机C语言实例Proteus仿真和代码)228-外部中断0电平触发(51... -
STM32CubeMX Freertos 外部中断处理例程
2020-01-04 16:18:49STM32CubeMX Freertos 外部中断处理例程 使用STM32CubeMX 生成Freertos 外部中断处理例程 -
用优先权编码器扩展PIC的外部中断源
2021-01-14 17:58:11由于PIC16F 877单片机没有设置外部的中断优先级,提出了一种用74LS148优先权编码器来扩展PIC16F 877单片机的外部中断源。当PIC16F 877单片机外部有多个中断源中断请求时,74LS148优先权编码器首先对这些中断源进行... -
C语言08-睡眠-外部中断唤醒(STC32G-DEMO-CODE-220311kw)
2022-06-14 05:52:38C语言08-睡眠-外部中断唤醒(STC32G-DEMO-CODE-220311kw)C语言08-睡眠-外部中断唤醒(STC32G-DEMO-CODE-220311kw)C语言08-睡眠-外部中断唤醒(STC32G-DEMO-CODE-220311kw)C语言08-睡眠-外部中断唤醒(STC32G-DEMO... -
51单片机外部中断流水灯(汇编语言)
2018-06-13 20:07:16设计一个外部中断触发流水灯系统:当外部中断来临时,启动流水灯,即从P2口的LED循环点亮。可以从protues中看到结果 -
S32K144裸机之GPIO和外部中断
2017-10-25 16:05:01基于IAR7.8的针对S32K144的裸机DEMO 基于S32K144 EVB开发板 -
单片机外部中断法实现外部按键
2014-01-14 15:10:34单片机外部中断法实现外部按键,对于微机c语言也有借鉴意义 -
STM32F103CB外部中断
2014-08-23 21:51:49这是一个STM32F103CB的外部中断测试程序,用按键控制LED的状态。 -
外部中断实验_STM32外部中断_外部中断_源码.zip
2021-10-18 22:59:09外部中断实验_STM32外部中断_外部中断_源码.zip -
STM32中断配置器,懒人STM32,一键搞定32定时器和外部中断
2017-11-27 15:50:22STM32中断配置器,懒人STM32,一键搞定32定时器和外部中断,让32中断不再望城莫及,轻松写代码。