外部中断0/1实现点亮LED代码

 1 #include <reg52.h>
 2 #include <stdio.h>
 3 sbit LED = P2^0;
 4 //初始化函数
 5 void init(){
 6     //打开外部中断1的分开关
 7     EX1=1;
 8     //打开外部中断总开关
 9     EA=1;
10     //外部中断1的标志位,标志着外部中断在响应中断
11     IT1=1;
12 }
13 //主函数
14 void main(void){
15     //调用初始化函数
16      init();
17     /*兜底循环,因为主函数是死循环的,我们需要初始化函数只初始化一次,所以需要兜底循环,
18     后边的中断也是在这个兜底循环下响应的*/
19      while(1);
20  }
21  //中断子函数
22  void LJJ() interrupt 2{
23      //让LED亮一次灭一次
24      LED = ~LED;
25  }
时间: 2024-11-07 17:19:54

外部中断0/1实现点亮LED代码的相关文章

外部中断0

/* 外部中断0中断,效果是低四位点亮,当中断发生时高四位点亮, 中断结束后程序回到主程序中继续点亮低四位点亮 */ #include <reg51.h> #include <stdio.h> //要中断就要设置一些参数 void zhongduan1() { EX0 = 1;//中断允许开关 IT0 = 0;//下降沿触发方式 EA = 1;//总开关 } void main(void)//主函数 { zhongduan1(); //低电平点亮 while(1)//大循环 { P

(八)中断、定时器的设计与应用 01 单一外部中断

1. 一 .单一外部中断应用案例 参考代码外部中断0 代码: 1 #include<reg52.h> 2 #define uchar8 unsigned char 3 #define uint16 unsigned int 4 5 /*****************************/ 6 // 函数名称: DelayMS( ) 7 // 函数功能: 延时 8 // 入口函数: 延时毫秒 9 // 出口函数: 无 10 /************************* ******

STM32学习笔记(九) 外部中断,待机模式和事件唤醒

学会知识只需要不段的积累和提高,但是如何将知识系统的讲解出来就需要深入的认知和系统的了解.外部中断和事件学习难度并不高,不过涉及到STM32的电源控制部分,还是值得认真了解的,在本文中我将以实际代码为例详细讲解这些内容,希望对每一个阅读者有帮助. 1.外部中断 如果已经学习了SysTick系统时钟滴答实验,掌握了Cortex-M3中断的相关知识,那么外部中断也是比较好理解的,和SysTick中断一样,外部中断也是当有信号触发时,如果中断屏蔽寄存器允许触发,就会产生中断,这时CPU查找中断向量表,

(八)外部中断的设计与应用 02 中断优先级嵌套设计

仿真电路图: 参考代码: 1 #include<reg52.h> 2 #define uchar8 unsigned char 3 #define uint16 unsigned int 4 5 /*****************************/ 6 // 函数名称: DelayMS( ) 7 // 函数功能: 延时 8 // 入口函数: 延时毫秒 9 // 出口函数: 无 10 /************************* *******************/ 11

单片微机原理P2:80C51外部中断与定时器系统

0. 外部中断 书上的废话当然是很多的了,对于中断我想大家应该早就有一个很直观的认识,就是"设置断点,执行外部外码,然后返回断点"这样的三个过程.中断给系统提供了一个良好的响应模式.当然了,响应中断的时候记得保护现场,这是写汇编的良好习惯. 80C51一共是5个中断源,这五个中断源分别是外部中断0,1定时器中断0,1,串口中断. 1. 我们现在先来看外部中断: 一般开外部中断分为4个步骤(不用查询的方式的话): 1. 设置触发方式(IT0/IT1) 2. 开启外部中断(EX0/EX1)

51单片机第五弹---外部中断

写了半天掉线了... 不写了上定义... 什么叫中断 中断是指CPU在执行当前程序的过程中,由于某种随机出现的外设请求或CPU内部的异常事件,使CPU暂停正在执行的程序而转去 执行相应的服务处理程序:当服务处理程序运行完毕后,CPU再返回到暂停处继续执行原来的程序. 51单片机的中断 80c51提供有5个中断源,分别为:2个外部中断,2个定时/计数器中断,1个串口发送/接收中断.并且具有2个中断优先级,可以实现2级中断服务程序嵌套. 首先要弄中断设置 ,中断原理图如下: 以 设置INT0为例:I

Tiny4412之外部中断

一:外部中断 在之前我们学习按键驱动的时候,我们检测按键有没有按下是通过轮循的方式(也就是我们说的死循环),这样虽然可以检测实现按键,但太浪费系统资源了,不论我们按键中断有没有发生,cpu都要一直进行检测:这样操作系统就不能做其他事情了,因此这样肯定是不可取得,因此我们可以通过外部中断解决它: 要处理一个中断,我们需要了解模式,而了解模式,有需要了解mmu:在学习这些之后我们就可以返回来处理我们按键驱动的时候留下的问题了: 通过之前的按前驱动我们已经了解了按前驱动在板子上的位置以及按键的电路图以

TQ2440按键点亮LED驱动程序

一,硬件分析: 1.打开TQ2440的底板原理图找到按键测试的模块,如下图所示: 从图我们知道,控制按键k1 k2 k3 k4 的管脚为EINT1 EINT4 EINT2 EINT0 ,当按键按下时,管脚输出低电平,当按键没有被按下时,管脚输出高电平. 2.打开TQ2440核心板原理图找到EINT1  EINT4 EINT2 EINT0所对应的cpu控制引脚,如下图所示: 从图我们可以知道,EINT1  EINT4 EINT2 EINT0 对应的cpu控制引脚为GPF1 GPF4 GPF2 GP

向linux内核中添加外部中断驱动模块

本文主要介绍外部中断驱动模块的编写,包括:1.linux模块的框架及混杂设备的注册.卸载.操作函数集.2.中断的申请及释放.3.等待队列的使用.4.工作队列的使用.5.定时器的使用.6.向linux内核中添加外部中断驱动模块.7.完整驱动程序代码.linux的内核版本为linux2.6.32.2. 一.linux模块的框架以及混杂设备相关知识 1.内核模块的框架如下图所示,其中module_init()(图中有误,不是modules_init)只有在使用insmod命令手动加载模块时才会被调用,