首页 > 其他分享 >51单片机外部中断(按键识别)

51单片机外部中断(按键识别)

时间:2024-07-02 18:57:35浏览次数:19  
标签:优先级 中断 void 寄存器 51 单片机 INT0 信号 按键

欢迎入群共同学习交流
时间记录:2024/7/2

一、电路原理图

电路原理图
51单片机包含INT0、INT1两个外部中断接口

二、知识点介绍

1.中断寄存器位介绍
中断配置流程
(1)TCON定时控制寄存器,位0(IT0)中断INT0请求信号选择位,1表示下降沿信号、0表示低电平信号,位1(IE0)中断INT0信号标志位,1产生中断信号、0未产生中断信号,位2(IT1),位3(IE1)
(2)IE中断允许控制寄存器,位0(EX0)中断INT0中断允许位,位2(EX1),位7(EA)总中断允许位
(3)IP中断优先级控制寄存器,位0(PX0)中断INT0优先级设定位,默认为0低优先级,位2(PX1)中断INT1优先级设定位
2.中断源编号(编写中断函数时需要)
中断源编号

三、代码示例

#include <reg51.h>

typedef unsigned int u16; //重定义
sbit led = P1^0;
sbit key1 = P3^2;
sbit key2 = P3^3;

void delay(u16 ms) //延时函数
{
    u16 i=0;
    while(ms--)
    {
        for(i=0;i<110;i++);
    }
}

void exti0Init(void);
void exti1Init(void);

int main()
{
    exti0Init();
    exti1Init();
    
    while(1)
    {
        
    }
}

void exti0Init(void) //外部中断0初始化,3.2端口
{
    IT0=1; //触发方式,下降沿触发/低电平触发
    IE0=0; //中断标志位,有相应电平该位变为1,可不设置
    EX0=1; //中断允许位
    EA=1; //总中断允许位
    PX0=0; //中断优先级,默认为0
}

void exti1Init(void)
{
    IT1=1;
    EX1=1;
    EA=1;
}

void exti0(void) interrupt 0 //中断函数
{
    delay(20);
    if(key1==0)
    {
        led=0;
    }
}

void exti1(void) interrupt 2
{
    delay(20);
    if(key2==0)
    {
        led=1;
    }
}

标签:优先级,中断,void,寄存器,51,单片机,INT0,信号,按键
From: https://blog.csdn.net/m0_49156395/article/details/140133655

相关文章

  • 基于51单片机的光照强度检测系统设计与实现
    基于51单片机的光照强度检测系统设计与实现摘要本文设计并实现了一个基于51单片机的光照强度检测系统,该系统利用光敏电阻作为光照强度检测元件,通过ADC转换器将模拟信号转换为数字信号,并由51单片机进行处理和显示。系统具备实时检测、数据转换、存储及显示功能,适用于各种需要......
  • MOTOROLA MVME-5100 单板计算机
    配置:(类似于 MVME5106-1141)•MPC755处理器:400MHz•1MB二级缓存•内存:128MBSDRAM•1MB闪存,通过两个32引脚PLCC/CLCC插座•16MB表面贴装闪存•Scanbe前面板手柄 特征:MPC7410、MPC750或MPC755微处理器,带32KBL1缓存100MHz前端总线32/64位PMC......
  • 无人机仿真,键盘操控无人机进行起飞,按键说明
    无人机仿真,键盘操控无人机进行起飞,按键说明w/x:向前增加/减少速度a/d:向左增加/减少方向(或侧移)i/,:增加/减少偏航(yaw,即绕垂直轴旋转的角度)r:返航(回到起飞点或预设的返航点)t/y:启动/停止动力系统(解锁/锁定电机,使无人机可以起飞或安全降落)v/n:起飞/降落b:切换到离机模式(Offboa......
  • 代码随想录算法训练营Day9 | 字符串 151.翻转字符串单词 28.实现strStr() KMP算法介绍
    python中常用:        s[::-1]: 反转整个字符        s.strip():删除开头或结尾处的空白字符     s.split():字符拆分成单词 →list    “”.join(s):list→字符串   (持续更新…) 151.翻转字符串里的单词 题目: Leetcod......
  • 代码随想录算法训练营第四十三天 | 52.携带研究材料 518.零钱总和II 377.组合总和IV 7
    完全背包有N件物品和一个最多能被重量为W的背包,第i间物品的重量为weights[i],价值为value[i],每件物品都有无限个,求解将哪些物品装入背包里,物品价值总和最大遍历顺序:纯完全背包问题(即求装满背包后的最大价值)先遍历背包先遍历物品都是可以的和零一背包求解的最大不同就是遍历顺序......
  • 基于STM32单片机智能车辆RFID射频测速报警系统OLED设计24-201
    24-201、STM32车辆测速系统设计-RFID-OLED-BELL-KEY本设计由STM32F103C8T6单片机核心板电路+2路RFID模块电路+0.96寸OLED液晶显示电路+蜂鸣器报警电路+按键电路+电源电路组成。1、当RFID卡在第一个RFID模块上刷卡后开始计时,当刷第2张卡时,停止计时。2个RFID模块之间的距离默认......
  • 基于STM32单片机智能交流用电保护电压电流功率可燃气设计24-178
    24-178、STM32家用交流多功能用电保护器设计-TFT1.44-交流电压电流互感器-MQ2可燃气本设计由STM32F103C8T6单片机电路+TFT1.44寸液晶显示电路+交流电压电流互感器模块电路+可燃气检测电路+电源电路组成。1、液晶实时显示交流电压、交流电流、交流功率以及可燃气浓度值。2、......
  • 基于STM32单片机智能景观音乐喷泉OLED蓝牙音频设计24-210
    24-210、STM32景观建筑供水水泵音乐喷泉控制系统设计-OLED-水泵-LED-蓝牙音频-LM386-自恢复保险丝本系统由STM32F103C8T6单片机核心板、LED显示、水泵驱动、蓝牙音频输出模块、LM386音频放大路、自恢复保险丝、OLED液晶组成。1、本系统可以播放手机中音乐,手机需要连接设备上......
  • 基于STM32单片机智能双轴追光太阳能板光控灯无线设计24-217
    24-217、STM32单片机双轴追光太阳能板锂电池供电+WiFi上传及光控灯设计产品功能描述:本系统由STM32F103C8T6单片机核心板、1.44寸TFT彩屏、太阳能板、稳压电路、锂电池充电保护TP4056、升压稳压模块、光敏采集电路、步进电机及ULN2003驱动电路、按键电路、WiFi模块、光控灯组......
  • 52单片机超声波测距时无法刷新检测的问题
    本实验采用超声波模块HC-SR04模块进行测量距离,假设距离短则LED1亮,反之LED2亮#include"reg52.h"sbitled1=P3^7;sbitled2=P3^6;sbitTrig=P1^5;sbitEcho=P1^6;voidDelay10us()      //@11.0592MHz{   unsignedchari;   i=2; ......