zoukankan      html  css  js  c++  java
  • 51单片机外部中断

    51单片机共有两个外部中断,单片机的中段系统如下

    其中外部中断分别是INT0INT1,关联IO口为P3.2 P3.3


    使用这两个中断的步骤如下

    1.       配置中断类型 IT-X 1代表对应IO口下降沿中断0代表对应IO口低电平中断

    注意低电平中断进入之后如果IO口不取消低电平,单片机会不停地进中断

    2.打开对应的中断开关 EX-X,1打开中断0关闭中断

    3.打开总中断开关EA,1打开 0关闭

    4.设定中断优先级(也可以不设定,按照系统默认优先级处理)

    5.软件中编写中断处理函数

     

    #include "exti.h"
    
    static void Exti0Init(u8 mode)//P3.2Ò
    {
    	if(mode)mode = 1;
    	EA = 1;	//
    	EX0 = 1;//
    	IT0 = mode; //1:
    }
    
    static void Exti1Init(u8 mode)//P3.3Ò
    {
    	if(mode)mode = 1;
    	EA = 1;	//
    	EX1 = 1;//
    	IT1 = mode; 
    }
    
    void ExtiInit(u8 ch,u8 mode)
    {
    	switch(ch)
    	{
    		case 0:
    			Exti0Init(mode);
    			break;
    		case 1:
    			Exti1Init(mode);
    			break;
    	}
    }
    
    
    
    void Exti0Handle(void) interrupt 0
    {
    	//doso<span style="color:windowtext;">mething here</span>
    }
    
    
    
    void Exti1Handle(void) interrupt 2
    {<pre name="code" class="cpp">    //doso<span style="color:windowtext;">mething here</span>
    }

    
    

     

    示例代码如下

     



  • 相关阅读:
    python中的__init__方法
    hosts文件是做什么的
    自动化测试--环境搭建python+pytest+selenium
    什么是Netty服务器
    Java 基础原理一
    Python MongoDB 基本操作
    Mysql 数据库的查询操作
    Git 笔记二
    Git 使用笔记
    最全正则表达式
  • 原文地址:https://www.cnblogs.com/dengxiaojun/p/4279454.html
Copyright © 2011-2022 走看看