【51单片机】外部中断

news2024/11/29 4:40:31

🎊专栏【51单片机】

🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。

🎆音乐分享【Love Story】

🥰大一同学小吉,欢迎并且感谢大家指出我的问题🥰

目录

🍔原理 

🍔注意管脚的连接 

🍔现象

🍔外部中断0和外部中断1的区别

🍔代码

⭐外部中断0

⭐外部中断1 

🍔interrupt 后面的数字的意义


使用中断,可以控制LED灯闪烁

🍔原理 

主程序中要有下面的代码

EA=1;                        //打开总中断开关

EXO=1;                     //设置外部中断0

ITO=0(或ITO=1)        //设置外部中断的触发方式

⭐(下降沿,触发后,就进入中断函数)

中断服务函数

void int0 () interrupt 0

{

        write your code

}

🍔注意管脚的连接 

如果是外部中断0,必须连P3^2

如果是外部中断1,必须连P3^3

🍔现象

二者的现象是一样的

外部中断

🍔外部中断0和外部中断1的区别

外部中断0的优先级比外部中断1高。当两个中断同时发生时,外部中断0的中断服务程序会先被执行

🍔代码

⭐外部中断0

#include "reg52.h"			 //此文件中定义了单片机的一些特殊功能寄存器

typedef unsigned int u16;	  //对数据类型进行声明定义
typedef unsigned char u8;

sbit k3=P3^2;  //定义按键K3
sbit led=P2^0;	 //定义P20口是led

void delay(u16 i)
{
	while(i--);	
}


void Int0Init()
{
	//设置INT0
	IT0=1;//外部中断0下降沿触发
	EX0=1;//打开外部中断0
	EA=1;//打开总中断	
}

void main()
{	
	Int0Init();  //	设置外部中断0
	while(1);		
}


void Int0()	interrupt 0		//外部中断0的中断函数
{
	delay(1000);	 //延时消抖
	if(k3==0)
	{
		led=~led;
	}
}

⭐外部中断1 

#include "reg52.h"			 //此文件中定义了单片机的一些特殊功能寄存器

typedef unsigned int u16;	  //对数据类型进行声明定义
typedef unsigned char u8;

sbit k4=P3^3;  //定义按键K4
sbit led=P2^0;	 //定义P20口是led

void delay(u16 i)
{
	while(i--);	
}

void Int1Init()
{
	//设置INT1
	IT1=1;//跳变沿出发方式(下降沿)
	EX1=1;//打开INT1的中断允许。	
	EA=1;//打开总中断	
}

void main()
{	
	Int1Init();  //	设置外部中断1
	while(1);		
}


void Int1()	interrupt 2		//外部中断1的中断函数
{
	delay(1000);	 //延时消抖
	if(k4==0)
	{
		led=~led;
	}
}

🍔interrupt 后面的数字的意义

interrupt加数字表示各种中断服务程序的编号,具体编号与对应的中断源有关。

interrupt 0 表示外部中断 0 中断服务程序,

interrupt 1 表示定时器 0 中断服务程序,

interrupt 2 表示外部中断 1 中断服务程序,

interrupt 3 表示定时器 1 中断服务程序

🥰如果大家有不明白的地方,或者文章有问题,欢迎大家在评论区讨论,指正🥰

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/524059.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

未来的数字签名方案:Dilithium、FALCON 和 SPHINCS+

1. 引言 当前的数字签名方案主要有: RSAECDSAEdDSA:已废弃DSA,将EdDSA纳入FIPS 186。 这些数字签名方案都不可抗量子攻击。为此,需要新的量子强健的签名方案,NIST引入了3种新的PQC数字签名标准化方案: …

软考A计划-真题-分类精讲汇总-第八章(面向对象)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

【CSS基础】

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 一、CSS是什么? 语法规范 引入方…

基于matlab使用主动声纳系统进行水下目标检测

一、前言 此示例演示如何模拟具有两个目标的主动单基地声纳方案。声纳系统由各向同性投影仪阵列和单个水听器元件组成。投影仪阵列呈球形。反向散射信号由水听器接收。接收到的信号包括直接和多路径贡献。 二、水下环境 在浅水环境中,声源和目标之间存在多个传播路径…

网络工程师常用命令排行榜,Ping就在这一行

大家好,我是老杨。 如果问你,你在日常工作中用的最频繁的命令是哪个,你下意识的第一反应是什么。 年前,我做了个不完全统计,大概有100多位粉丝参与的问卷调查, 调查每一位网工在解决网络故障时使用最多的…

[PCIE703]FPGA实时处理器-XCKU060+ARM(华为海思视频处理器-HI3531DV200)高性能综合视频图像处理平台设计资料及原理图分享

板卡概述 PCIE703是自主研制的一款基于PCIE总线架构的高性能综合视频图像处理平台,该平台采用Xilinx的高性能Kintex UltraScale系列FPGA加上华为海思的高性能视频处理器来实现。 华为海思的HI3531DV200是一款集成了ARM A53四核处理器性能强大的神经网络引擎&#x…

基于matlab编程的线性规划整数解问题求解

背景: 自己读研期间曾经用matlab做过一些小项目和实验,自己的毕业论文实验仿真也是用的matlab,最近打算更换电脑,在翻阅电脑磁盘的时候找到了一些和matlab相关的代码和文档,简单整理和分享一下。 说明: …

Dubbo——微服务框架(单体式->分布式->微服务)

是什么? Dubbo是阿里巴巴开源的基于Java的高性能RPC(一种远程调用)分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案,它提供了三大核心能力:面向接口的远程…

别让你的云端“瘫痪”——教你如何优化云平台性能测试

目录 引言 目的 测试指标 系统性能指标 资源指标 中间件指标 数据库指标 稳定性指标 批量处理指标 可扩展性指标 可靠性指标 性能测试的过程 测试计划 性能测试项目检测与控制 测试分析 测试设计 测试执行 测试完成 性能分析 性能分析的前提 性能分析的流…

一篇文章让你轻松通过佛科院的电子线路CAD考试——Altium Designer 14原理图设计与PCB设计(叶林朋著)

第一章 考试大纲 通过多次作业练习,我得出了完成一个完整的考试流程: 首先先创建PCB工程,查找一下元件,看一下哪些元件需要我们自己画创建元件集成库,画原理图元件和封装导入所有元件后,按照题目所给的图进…

Springboot源码:自动装配流程解析

前言 前面在写业务框架后,由于项目依赖的Spring IOC,单将该项目install后,在其它项目引入时,会找不到所依赖的Bean。所以利用Springboot的自动转配,在项目启动时加载Bean,并注册到IOC容器中。 Springboot…

node笔记_连接mysql编写js脚本的crud

文章目录 ⭐前言⭐mysql的api依赖库⭐建立数据库连接⭐query执行sql语句💖 create 新增table数据库表💖 insert 插入表数据插入单条数据插入多条数据 💖 select 查询数据💖 delete 删除表数据删除单条数据删除多条数据 ⭐ 结束 ⭐…

prometheus实战之五:飞书通知告警

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 《prometheus实战》系列链接 prometheus实战之一:用ansible部署prometheus实战之二:使用常见指标prometheus实战之三:告警…

Day968.如何开启一个遗留系统现代化项目? -遗留系统现代化实战

如何开启一个遗留系统现代化项目? Hi,我是阿昌,今天学习记录的是关于如何开启一个遗留系统现代化项目?的内容。那如何启动一个遗留系统现代化项目。 一、项目背景 说来有点唏嘘,国内遗留系统的重灾区,恰恰…

MongoDB概念和操作

一、相关概念 在mongodb中最基本的概念为:文档、集合、数据库 SQL术语/概念MongoDB术语/概念解释/说明databasedatabase数据库tablecollection数据库表/集合rowdocument数据记录行/文档columnfield数据字段/域indexindex索引table joins表连接,MongoDB不支持prima…

Cordova webapp实战开发:(5)如何写一个Andorid下自动更新的插件?

在 《Cordova webapp实战开发:(4)Android环境搭建》中我们搭建好了开发环境,也给大家布置了调用插件的预习作业,做得如何了呢?今天我们来学一下如何自己从头建立一个Andorid下的cordova插件。 本次练习你能…

【大腹太卷】一篇文章带你了解校招的神秘面纱

校招求职复盘 写在前面方向确定前置工作就业信息获取简历制作简历投递 笔面试工作测评笔试面试八股文自我介绍项目相关HR面试反问环节 Offer选择写在后面 写在前面 2023届应届生,去年的时候参加了校招,一路走来,感慨良多,特此记录…

蚊香液、蚊香片、蚊香盘的优缺点

夏天来了,蚊子也出来活动了,又到了消灭蚊子的季节。     蚊子是凭借人所呼出的二氧化碳和带气味的气体,来定位人的位置,进而叮咬人的皮肤。     蚊子吸人血,主要是利用血液里的胆固醇、B族维生素,促进蚊…

OSPF综合实验(第一部分)

目录 要求 确定广播域的个数 分配网段 配置路由器IP地址-优先公网配通 配置MGRE部分 拓扑结构: 要求 1、R4为ISP,其上只能配置IP地址,R4与其他所有直连设备间使用公有IP 2、R3~R5/6/7为MGRE环境,R3为中心站点 3、整个OSPF环境I…

《编程思维与实践》1072.下一位妙数

《编程思维与实践》1072.下一位妙数 题目 思路 思路与最小不重复数基本一致,从最高位开始找到第一个出现9的位置,让其加1,后面全变为0即可. 只需要再加一个判定条件:不能被9整除. 由数学知识,一个数不能被9整除当且仅当各位数之和不能被9整除. 这里给出简单的证明: 不妨以三位…