外部中断0实验

实现现象:下载程序后,操作K3按键使LED1(D11)状态取反
注意事项:无。    

#include "reg52.h"			 //此文件中定义了单片机的一些特殊功能寄存器typedef unsigned int u16;	  //对数据类型进行声明定义
typedef unsigned char u8;sbit k3=P3^2;  //定义按键K3
sbit led=P2^0;	 //定义P20口是led/*******************************************************************************
* 函 数 名         : delay
* 函数功能		   : 延时函数,i=1时,大约延时10us
*******************************************************************************/
void delay(u16 i)
{while(i--);	
}/*******************************************************************************
* 函 数 名         : Int1Init()
* 函数功能		   : 设置外部中断1
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/
void Int0Init()
{//设置INT0IT0=1;//跳变沿出发方式(下降沿)EX0=1;//打开INT0的中断允许。	EA=1;//打开总中断	
}/*******************************************************************************
* 函 数 名       : main
* 函数功能		 : 主函数
* 输    入       : 无
* 输    出    	 : 无
*******************************************************************************/
void main()
{	Int0Init();  //	设置外部中断0while(1);		
}/*******************************************************************************
* 函 数 名         : Int0()	interrupt 0
* 函数功能		   : 外部中断0的中断函数
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/void Int0()	interrupt 0		//外部中断0的中断函数
{delay(1000);	 //延时消抖if(k3==0){led=~led;}
}

这段代码是通过外部中断0来检测按键K3的状态,当按键被按下时,LED灯的状态会发生改变。sbit k3=P3^2; 是定义一个位变量k3,它对应单片机的P3口的第2位,用于检测按键K3的状态。sbit led=P2^0; 是定义一个位变量led,它对应单片机的P2口的第0位,用于控制LED灯的状态。void delay(u16 i) 是一个延时函数,参数i决定了延时的时间。这个函数通过一个while循环实现延时。void Int0Init() 是一个设置外部中断0的函数,通过设置IT0、EX0和EA来实现。void main() 是主函数,程序的执行从这里开始。在主函数中,首先调用Int0Init()函数设置外部中断0,然后进入一个无限循环。void Int0() interrupt 0 是外部中断0的中断函数,当外部中断0被触发时,这个函数会被执行。在这个函数中,首先进行延时消抖,然后检测按键K3的状态,如果按键被按下,就改变LED灯的状态。

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

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

相关文章

定时器1中断实验

实现现象:下载程序后,静态数码管间隔一秒循环显示0-F。使用单片机内部定时器可以实现准确延时。 注意事项: 程序代码: #include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器typedef unsigned int u16; …

Java环境变量

(1)classpath:让jvm找到将要执行的java文件的目录 它通常包括程序当前目录和Java标准库的路径. 编译后,classpath的当前目录就是target下的classes目录,它是resource和main目录的合并,如果两个类目录相同,那…

关于Build Your Own Botnet的尝试

这是一次失败的尝试、 原文地址:关于Build Your Own Botnet的尝试 - Pleasure的博客 下面是正文内容: 前言 我在上一篇关于DDOS的文章种提到过这个项目,而且说明了由于这个项目是在2020年发布并开源的,并且已经有两年没有进行跟…

身份治理存在权限问题

身份治理正迅速成为 CISO 的首要考虑因素。二十年前,当萨班斯-奥克斯利法案(SoX) 和其他监管指令在互联网泡沫破灭后诞生时,身份治理要求就出现了。合规性控制,例如用户访问审查和有效管理员工访问生命周期的需要,是当时身份治理的…

1.2.1 相机模型—内参、外参

相机模型-内参、外参 更多内容,请关注: github:https://github.com/gotonote/Autopilot-Notes.git) 针孔相机模型,包含四个坐标系:物理成像坐标系、像素坐标系、相机坐标系、世界坐标系。 相机参数包含&…

typescript类型详解

因为介绍了ts的全部类型,所以比较长,各位可以通过目录选择性观看 typescript类型概述typescript 类型注解概念-->监测类型变化 ts类型注解语法ts常用类型原始类型对象类型对象类型_数组类型 ts新增,联合类型ts函数类型ts 函数类型 voidts 函数类型可选参数 ts 对象类型ts 可…

The method toList() is undefined for the type Stream

The method toList() is undefined for the type Stream &#xff08;JDK16&#xff09; default List<T> toList() { return (List<T>) Collections.unmodifiableList(new ArrayList<>(Arrays.asList(this.toArray()))); }

Leetcode 503. 下一个更大元素 II

题意理解&#xff1a; 给定一个循环数组 nums &#xff08; nums[nums.length - 1] 的下一个元素是 nums[0] &#xff09;&#xff0c;返回 nums 中每个元素的 下一个更大元素 。 数字 x 的 下一个更大的元素 是按数组遍历顺序&#xff0c;这个数字之后的第一个比它更大的数&am…

C#系列-EF扩展框架Serilog.EntityFrameworkCore应用实例(39)

Serilog.EntityFrameworkCore 并不是一个官方或广泛认可的 NuGet 包。Serilog 是一个流行的日志记录库&#xff0c;它支持多种日志接收器&#xff08;sinks&#xff09;来将日志输出到不同的目的地&#xff0c;如文件、控制台、数据库等。但是&#xff0c;Serilog.EntityFramew…

作物模型狂奔:WOFOST(PCSE) 数据同化思路

去B吧&#xff0c;这里没图 整体思路&#xff1a;PCSE -》 敏感性分析 -》调参 -》同化 0、准备工作 0.0 电脑环境 我用的Win10啦&#xff0c;Linux、Mac可能得自己再去微调一下。 0.1 Python IDE 我用的Pycharm&#xff0c;个人感觉最好使的IDE&#xff0c;没有之一。 …

C#系列-EF框架的创新应用+利用EF框架技术的知名开源应用项目(42)

EF框架的创新应用 EF框架&#xff0c;即Entity Framework&#xff0c;是微软开发的一个开源的对象关系映射&#xff08;ORM&#xff09;框架&#xff0c;用于.NET应用程序中。它允许开发者以面向对象的方式处理数据库&#xff0c;而无需关心底层的SQL语句和数据库结构。 EF框架…

OpenAI Sora 初体验

OpenAI Sora 初体验 就在刚刚&#xff0c;OpenAI 再次投下一枚重磅炸弹——Sora&#xff0c;一个文本到视频生成模型。 我第一时间体验了 Sora。看过 Sora 的能力后&#xff0c;我真的印象深刻。对细节的关注、无缝的角色刻画以及生成视频的绝对质量真正将可能性提升到了一个新…

人工智能学习与实训笔记(五):神经网络之推荐系统处理

目录 ​​​​​​​七、智能推荐系统处理 7.1 常用的推荐系统算法 7.2 如何实现推荐​​​​​​​ 7.3 基于飞桨实现的电影推荐模型 7.3.1 电影数据类型 7.3.2 数据处理 7.3.4 数据读取器 7.3.4 网络构建 7.3.4.1用户特征提取 7.3.4.2 电影特征提取 7.3.4.3 相似度…

一周学会Django5 Python Web开发-Django5应用配置

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计14条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…

SpringBoot+Tess4J实现本地与远程图片的文字识别

Spring Boot应用程序里集成Tess4J来实现OCR&#xff08;光学字符识别&#xff09;&#xff0c;以识别出本地和远程图片中的文字 一、添加依赖 <dependency><groupId>net.sourceforge.tess4j</groupId><artifactId>tess4j</artifactId><vers…

上位机图像处理和嵌入式模块部署(图像项目处理过程)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 对于一般的图像项目来说&#xff0c;图像处理只是工作当中的一部分。在整个项目处理的过程中有很多的内容需要处理&#xff0c;比如说了解需求、评…

MyBatis之自定义数据类型转换器

MyBatis之自定义数据类型转换器 前言实现步骤1. 编写自定义类型转换器&#xff08;Boolean到Int&#xff09;2. 将自定义转换器注册到MyBatis-config.xml配置文件3. Mapper.xml文件中进行数据类型转换4. 定义PeronMapper接口 编写测试类1. 测试代码2. 运行log 总结 前言 到这里…

通过写代码学习AWS DynamoDB (3)- 一致性hash

简介 在本文中&#xff0c;我们将简单介绍一致性hash&#xff08;consistent hash&#xff09;的概念&#xff0c;以及一致性hash可以解决的问题。然后我们将在模拟的DDB实现中实现一个简单版本的基于一致性harsh实现的partition。 问题 在《通过写代码学习AWS DynamoDB &am…

嵌入式——Flash(W25Q64)

目录 一、初识W25Q64 1. 基本认识 2. 引脚介绍 ​编辑 二、W25Q64特性 1. SPI模式 2. 双输出SPI方式 三、状态寄存器 1. BUSY位 2. WEL位 3. BP2、BP1、 BP0位 4. TB位 5. 保留位 6. SRP位 四、常用操作指令 1. 写使能指令&#xff08;06h&#xff09; 2. 写禁…

【VTKExamples::PolyData】第二十八期 LinearExtrusion

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享VTK样例LinearExtrusion,并解析接口vtkLinearExtrusionFilter,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 目录…