当前位置: 首页 > news >正文

单片机学习笔记 11. 外部中断

更多单片机学习笔记:
单片机学习笔记 1. 点亮一个LED灯
单片机学习笔记 2. LED灯闪烁
单片机学习笔记 3. LED灯流水灯
单片机学习笔记 4. 蜂鸣器滴~滴~滴~
单片机学习笔记 5. 数码管静态显示
单片机学习笔记 6. 数码管动态显示
单片机学习笔记 7. 独立键盘
单片机学习笔记 8. 矩阵键盘按键检测
单片机学习笔记 9. 8×8LED点阵屏
单片机学习笔记 10. 中断系统(理论)


0、实现的功能

​        使用外部中断1,独立按键每按一次就触发一次外部中断1,中断处理是P1取反(LED亮灭)

1、Keil工程

            具体可见单片机学习笔记 10. 中断系统(理论)

2、代码实现

        中断产生类型选择为下降沿触发,实现下降沿可以用杜邦线直接接地,但是会有杜邦线接触抖动的问题,可能会触发很多次。可以采用  杜邦线连接P3.3和P3.7,按键按一下就让P3.7变0,从而P3.3也为0  的方式
        我们用按键使P3.7产生一次下降沿,P3.7来控制P3.3外部中断1的触发,中断处理是将P1取反(灯的亮灭)

        代码实现:

#include<reg52.h>
#include<intrins.h>sbit key_s2 = P3^0;
sbit flag = P3^7;//外部中断信号产生脚,会用杜邦线传递给P3.3//延时模块
void delay(unsigned char z)
{unsigned int x;unsigned int y;for(x=z; x>0; x--)for(y=114; y>0; y--);
}void int1Init()
{EA = 1;//打开总中断EX1 = 1;//打开外部中断1IT1 = 1;//设置中断触发方式为下降沿触发
}//外部中断1中断服务程序
void int1() interrupt 2
{P1 = ~P1;//如果触发中断了,P1就全部取反(灯全亮)	
}void main()
{int1Init();	//外部中断1初始化while(1){if(key_s2 == 0){delay(20); //按键消抖if(key_s2 == 0){flag = 1;flag = 0;//按下按键后P3.3产生一个下降沿,进行中断触发while(!key_s2);//松手检测}}}	
}

实物展示:
 

相关文章:

单片机学习笔记 11. 外部中断

更多单片机学习笔记&#xff1a;单片机学习笔记 1. 点亮一个LED灯单片机学习笔记 2. LED灯闪烁单片机学习笔记 3. LED灯流水灯单片机学习笔记 4. 蜂鸣器滴~滴~滴~单片机学习笔记 5. 数码管静态显示单片机学习笔记 6. 数码管动态显示单片机学习笔记 7. 独立键盘单片机学习笔记 8…...

基于stm32的智能教室管理系统/智能家居系统

基于stm32的智能教室管理系统/智能家居系统 持续更新&#xff0c;欢迎关注!!! ** 基于stm32的智能教室管理系统/智能家居系统 ** 目前&#xff0c;物联网已广泛应用在我们的生活中。智慧校园是将校园中的生活、学习、工作等相关的资源联系在一起&#xff0c;实现管理的智能化…...

基于 Qt 和 GStreamer 的环境中构建播放器

一、功能与需求分析 功能描述 播放本地视频文件(如 MP4、MKV)。 支持基本控制功能(播放、暂停、停止、跳转)。 提供音量调节功能。 在 Windows 环境下使用 Visual Studio 2022 编译。 技术选型 Qt:用于构建用户界面。 GStreamer:负责视频解码和播放。 Visual Studio 202…...

windows docker 入门

这个教程将指导你如何安装Docker、运行第一个容器以及理解一些基本概念。 第一步&#xff1a;安装Docker Desktop for Windows 系统要求&#xff1a; Windows 10 64位版本&#xff08;专业版、企业版或教育版&#xff09;。启用Hyper-V和Windows Subsystem for Linux (WSL 2)。…...

baomidou Mabatis plus引入异常

1 主要异常信息 Error creating bean with name dataSource 但是有个重要提示 dynamic-datasource Please check the setting of primary 解决方法&#xff1a; <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring…...

深度学习中的正则化模型是什么意思?

一、定义 在深度学习中&#xff0c;正则化是一种用于防止过拟合的技术。过拟合是指模型在训练数据上表现非常好&#xff0c;但在新的、未见过的数据&#xff08;测试数据&#xff09;上表现很差的情况。正则化模型就是通过在损失函数中添加额外的项来约束模型的复杂度&#xf…...

修改IDEA配置导致Spring Boot项目读取application.properties中文乱码问题

之前很多配置都是放在nacos里面&#xff0c;然后这次同事有个配置写在application.properties中&#xff0c;这个配置含有中文&#xff0c;启动之后发现拿到的中文值会乱码&#xff0c;然后就帮忙看了一下问题。 排查问题 经过不停的百度、排查发现&#xff0c;spring读取app…...

Flink 热存储维表 使用 Guava Cache 减轻访问压力

目录 背景 Guava Cache 简介 实现方案 1. 项目依赖 2. Guava Cache 集成到 Flink (1) 定义 Cache (2) 使用 Cache 优化维表查询 3. 应用运行效果 (1) 维表查询逻辑优化 (2) 减少存储压力 Guava Cache 配置优化 总结 背景 在实时计算场景中&#xff0c;Flink 应用中…...

深入探索SenseVoiceSmall:高效多语言语音识别与处理模型

引言 随着人工智能技术的飞速发展&#xff0c;语音识别技术已经广泛应用于智能助手、客户服务、智能家居等多个领域。然而&#xff0c;现有的语音识别模型往往存在资源消耗大、多语言支持不足等问题。今天&#xff0c;我们要介绍的是来自ModelScope平台的SenseVoiceSmall模型&…...

Flink--API 之Transformation-转换算子的使用解析

目录 一、常用转换算子详解 &#xff08;一&#xff09;map 算子 &#xff08;二&#xff09;flatMap 算子 &#xff08;三&#xff09;filter 算子 &#xff08;四&#xff09;keyBy 算子 元组类型 POJO &#xff08;五&#xff09;reduce 算子 二、合并与连接操作 …...

每日十题八股-2024年11月27日

1.类型互转会出现什么问题吗&#xff1f; 2.为什么用bigDecimal 不用double &#xff1f; 3.装箱和拆箱是什么&#xff1f; 4.Java为什么要有Integer&#xff1f; 5.Integer相比int有什么优点&#xff1f; 6.那为什么还要保留int类型&#xff1f; 7.说一下 integer的缓存 8.怎么…...

OpenCV截取指定图片区域

import cv2 img cv2.imread(F:/2024/Python/demo1/test1/man.jpg) cv2.imshow(Image, img) # 显示图片 #cv2.waitKey(0) # 等待按键x, y, w, h 500, 100, 200, 200 # 示例坐标 roi img[y:yh, x:xw] # 截取指定区域 cv2.imshow(ROI, roi) cv2.waitKey(0) cv…...

Java部分新特性

模式匹配 instance of 模式匹配 之前写法 public void print(Object o) {if (o instanceof String){String str (String) obj;System.out.println("This is a String of length " s.length());} else {System.out.println("This is not a String");} …...

【SpringBoot】28 API接口防刷(Redis + 拦截器)

Gitee仓库 https://gitee.com/Lin_DH/system 介绍 常用的 API 安全措施包括&#xff1a;防火墙、验证码、鉴权、IP限制、数据加密、限流、监控、网关等&#xff0c;以确保接口的安全性。 常见措施 1&#xff09;防火墙 防火墙是网络安全中最基本的安全设备之一&#xff0c…...

IT运维专家给年轻人一些职业上的建议

运维工作在现代企业中是非常重要的一环,保证系统的稳定性、可用性以及安全性对企业的正常运营至关重要。以下是我给年轻人的一些职业发展建议,希望能够帮助你们在运维领域找到方向并取得成功。 1. 夯实基础,扎实技术功底 精通操作系统与网络:运维工作需要深入理解操作系统…...

Django基础之路由

一.前言 前面我们说了django的安装于基础配置&#xff0c;基础知识点我就细分下来&#xff0c;每天和大家讲一点&#xff0c;今天就要和大家说django的基础知识点了&#xff0c;我们今天先来讲路由&#xff0c;内容不多&#xff0c;希望大家记住 二.传统路由 路由就是前面一个…...

Python实例化中默认值的行为及应用

Python实例化中默认值的行为及应用 适合初学者阅读 本文要点 使用可变对象作为默认参数会导致所有实例共享同一对象&#xff0c;引发意外的数据修改。不可变对象作为默认参数时&#xff0c;每次实例化都会创建新的对象&#xff0c;不会共享数据。推荐使用None作为默认值&…...

【WRF后处理】WRF模拟效果评价及可视化:MB、RMSE、IOA、R

【WRF后处理】模拟效果评价及可视化 准备工作模型评价指标Python实现代码Python处理代码:导入站点及WRF模拟结果可视化图形及评价指标参考在气象和环境建模中(如使用 WRF 模型进行模拟),模型性能评价指标是用于定量评估模拟值与观测值之间偏差和拟合程度的重要工具。 本博客…...

ShenNiusModularity项目源码学习(4:身份认证)

ShenNiusModularity项目有两套启动方式&#xff0c;一种是ShenNius.Admin.Mvc项目启动&#xff0c;该项目为MVC模式&#xff0c;带前台页面&#xff0c;也有后台服务&#xff0c;另一种是ShenNius.Admin.Hosting&#xff0c;该项目启动后仅提供后台服务&#xff0c;供其它前台项…...

python+django自动化部署日志采用‌WebSocket前端实时展示

一、开发环境搭建和配置 # channels是一个用于在Django中实现WebSocket、HTTP/2和其他异步协议的库。 pip install channels#channels-redis是一个用于在Django Channels中使用Redis作为后台存储的库。它可以用于处理#WebSocket连接的持久化和消息传递。 pip install channels…...

免费开源!3分钟让Mac鼠标滚动告别卡顿的终极平滑方案

免费开源&#xff01;3分钟让Mac鼠标滚动告别卡顿的终极平滑方案 【免费下载链接】Mos 一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具, 让你的滚轮爽如触控板 | A lightweight tool used to smooth scrolling and set scroll direction independently fo…...

Typora“激活”与“美化”实战指南

1. Typora基础认知与安装准备 Typora作为一款广受好评的Markdown编辑器&#xff0c;其独特之处在于将编辑与预览合二为一。不同于传统Markdown编辑器需要分屏显示源代码和渲染效果&#xff0c;Typora实现了真正的所见即所得——你在编辑区输入的Markdown语法会实时转换为排版效…...

ComfyUI视频处理终极指南:3步搭建AI视频生成工作流

ComfyUI视频处理终极指南&#xff1a;3步搭建AI视频生成工作流 【免费下载链接】ComfyUI-VideoHelperSuite Nodes related to video workflows 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-VideoHelperSuite 在AI图像生成领域&#xff0c;ComfyUI以其强大的节…...

STM32CubeMX外部中断实战:从按键消抖到LED状态切换

1. STM32CubeMX外部中断基础配置 第一次用STM32CubeMX配置外部中断时&#xff0c;我盯着那一堆选项有点懵。后来发现其实只要抓住几个关键点&#xff0c;整个过程就像搭积木一样简单。这里以最常见的按键控制LED为例&#xff0c;带你一步步实现这个功能。 首先打开CubeMX新建…...

AI写测试靠谱吗?深度体验Diffblue Cover后,我总结了这3个真实使用场景和2个坑

AI写测试靠谱吗&#xff1f;深度体验Diffblue Cover后的实战思考 第一次在IntelliJ的插件市场看到Diffblue Cover时&#xff0c;我的反应和大多数Java开发者一样——"这玩意儿真能自动写测试&#xff1f;"作为在金融行业摸爬滚打八年的老码农&#xff0c;我见过太多号…...

高压隔离技术:原理、应用与AMC130x设计解析

1. 高压隔离技术的基础原理与行业需求在工业自动化、新能源发电和电力电子系统中&#xff0c;高压隔离技术如同电路系统的"安全气囊"&#xff0c;它能在数千伏的电位差下确保信号和能量的无损传输&#xff0c;同时阻断危险电流的流通。德州仪器&#xff08;TI&#x…...

工作5年的Go程序员,转大模型开发3个月,我踩过的所有坑

文章目录前言一、第一个大坑&#xff1a;以为大模型就是调API&#xff0c;结果连面试门都没入二、第二个大坑&#xff1a;技术栈转换&#xff0c;从Go的天堂掉进Python的地狱三、第三个大坑&#xff1a;Go调用大模型推理&#xff0c;踩不完的性能和内存坑四、第四个大坑&#x…...

基于Agent架构的轻量级自托管部署工具Ship实战指南

1. 项目概述&#xff1a;一个为开发者而生的轻量级部署工具最近在折腾一个前后端分离的小项目&#xff0c;从本地开发到服务器部署&#xff0c;中间那套流程真是让人头大。代码提交、构建、测试、再到服务器上拉取、重启服务&#xff0c;一套组合拳下来&#xff0c;少说也得十几…...

ChatSVA:多智能体框架革新硬件验证中的SVA生成

1. ChatSVA&#xff1a;硬件验证领域的SVA生成革命在集成电路设计领域&#xff0c;功能验证已成为制约开发效率的最大瓶颈。据统计&#xff0c;现代芯片开发周期中超过50%的时间消耗在功能验证环节&#xff0c;而SystemVerilog断言&#xff08;SVA&#xff09;作为形式化验证和…...

面向密集预测任务的神经网络架构搜索:从原理到工程实践

1. 项目概述与核心价值“神经网络架构搜索在密集预测任务中的应用与优化”&#xff0c;这个标题听起来很学术&#xff0c;但背后其实是我们这些在一线搞计算机视觉、图像分割、深度估计的工程师和研究员们每天都在琢磨的“硬骨头”。简单来说&#xff0c;它探讨的是如何让机器自…...