C51--单片机中断
51单片机是单线程模式,需要用到硬件中断。
一、中断系统
中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的。
当中央处理器CPU正在处理某件事的时候,外界发生了紧急事件请求,要求CPU暂停当前工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。
微型机终端系统一般允许多个中断源,每一个中断源有一个优先级别,CPU总是先相应优先级别最高的中断请求。
当CPU正在处理一个中断请求的时候(执行相应的中断服务进程),发生了另外一个优先级更高的中断请求,这时CPU暂停原来的中断源的服务程序,转而去处理优先级更高的中断请求,处理完之后再处理原来的低级中断请求,这样的过程称为中断嵌套。
有中断嵌套的系统称为多级中断系统,没有中断嵌套功能的系统称为单级中断系统
STC89C51RC/RD+系列单片机提供了8个中断请求源,它们分别是:
外部中断0(INT0)、
定时器0中断(Timer0)、
外部中断1(INT1)、
定时器1中断(Timer1)、
串口(UART)中断、
定时器2中断(Timer2)、
外部中断2(INT2)、
外部中断3(INT3)。
中断查询次序号:interrupt 0——interrupt 7;(置于中断函数名之后)
例:void Int0_Rountine(void) interrupt 0;

二、中断结构
STC89C51RC/RD+系列单片机的中断控制系统结构示意图如下:

中断允许寄存器:



中断配置:
EA:CPU总中断允许控制位,
EA=1,CPU开放中断,
EA=0,CPU屏蔽所有中断申请。
ET0:T0的溢出中断允许位,定时器0中断,
ET0=1,允许T0中断
ET0=0,禁止T0中断
#include "reg52.h"
#include<intrins.h>sbit led = P3^6;
sbit led1 = P3^7;int cnt = 0;void Time0Init()
{TMOD = 0x01; //配置TL0 = 0x00; //给初值TH0 = 0xDC; ET0 = 1; //打开定时器0中断 EA = 1; //打开总中断EATR0 = 1; //开始计时TF0 = 0;
}void Delay300ms() //@11.0592MHz
{unsigned char i, j, k;_nop_();i = 3;j = 26;k = 223;do{do{while (--k);} while (--j);} while (--i);
}void main()
{led = 1;//默认关灯led1 = 1;Time0Init();while(1){//正在做事件一led1=0;Delay300ms();led1=1;Delay300ms();}}void Time0Handler() interrupt 1
{cnt++; //统计报表的次数TL0 = 0x00; //重新给初值TH0 = 0xDC;if(cnt == 100){ //爆表100次,经过1scnt = 0; //100次表示1s,重新计算cntled = !led; //每经过1s,翻转LED状态}
}
相关文章:
C51--单片机中断
51单片机是单线程模式,需要用到硬件中断。 一、中断系统 中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的。 当中央处理器CPU正在处理某件事的时候,外界发生了紧急事件请求,要求CPU暂停当前工作,转而去处理这个紧急…...
Linux中关于glibc包导致的服务器死机或者linux命令无法使用的情况
glibc是gnu发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。由于 glibc 囊括了几乎所有的 UNIX …...
艾泊宇产品战略:华为手机品牌是如何从低端到高端的
华为在过去一直以几百块钱的低端手机为主,但如今已经可以跟苹果一争高下。 这个转变是华为经过了近二十年的艰苦努力才实现的。 我艾泊宇作为一个亲历者深度研究了华为的成长历程,发现这是一个经典的商业教科书案例。 这里面有很多值得今天中国企业学…...
视频批量AI智剪:提升剪辑效率的秘密方法
随着视频内容的爆炸式增长,剪辑师面临着巨大的工作压力。传统的剪辑方法往往效率低下,无法满足快速、高质量的剪辑需求。为了解决这个问题,视频批量AI智剪技术应运而生,成为提升剪辑效率的秘密方法。 视频批量AI智剪是指利用人工…...
linux环境执行jar脚本
一、前言 平常工作中,我们的开发的项目部署到linux环境,以jar包的方式运行,涉及jar包的启动、停止、查看状态等,我们可以通过脚本的方式进行维护,减少自己敲打一长串的命令少敲一个字母或者多敲一个字母,方…...
特权同学FPGA官方全资料包括电子书下载
特权同学FPGA官方全资料包括电子书下载 特权同学倾情奉献海量FPGA学习资料 链接:http://pan.baidu.com/s/1bptgnKF 下载器安装说明 链接:http://pan.baidu.com/s/1dFNXvrV SF-AT7 USB3.0+LVDS+FPGA开发套件 链接:http://pan.baidu.com/s/1c24bVZa SF-HSC USB3.0+LVDS…...
《动手学深度学习 Pytorch版》 10.4 Bahdanau注意力
10.4.1 模型 Bahdanau 等人提出了一个没有严格单向对齐限制的可微注意力模型。在预测词元时,如果不是所有输入词元都相关,模型将仅对齐(或参与)输入序列中与当前预测相关的部分。这是通过将上下文变量视为注意力集中的输出来实现…...
iOS_Crash 四:的捕获和防护
文章目录 1.Crash 捕获1.2.NSException1.2.C异常1.3.Mach异常1.4.Unix 信号 2.Crash 防护2.1.方法未实现2.2.KVC 导致 crash2.3.KVO 导致 crash2.4.集合类导致 crash2.5.其他需要注意场景: 1.Crash 捕获 根据 Crash 的不同来源,分为以下三类:…...
spring boot项目运行jar包读取包内resources目录下的文件
spring boot项目运行jar包读取包内resources目录下的文件 摘要码代码相关文章 摘要 Spring Boot 项目打包成 jar 包后,resources 目录下的文件将会被打包到 jar 包中。如果需要在 Spring Boot 项目运行 jar 包后读取 resources 目录下的文件,可以使用 t…...
浙大陈越何钦铭数据结构06-图1 列出连通集
题目 给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。 输入格式: 输入第1行给出2个整数N(0<N≤10)和E&…...
C# Winform编程(9)网络编程
网络编程 HTTP网络编程IPAddress IP地址类WebClient类WebRequest类和WebResponse类 WebBrowser网页浏览器控件TCP网络编程TcpClient类TcpListener类NetworkStream类Socket类 HTTP网络编程 IPAddress IP地址类 IPAddress类代表IP地址,可在十进制表示法和实际的整数…...
RabbitMQ中方法channel.basicAck的使用说明
方法channel.basicAck的作用 在RabbitMQ中,channel.basicAck方法用于确认已经接收并处理了消息。 方法的参数说明 public void basicAck(long deliveryTag,boolean multiple) 参数: long deliveryTag 消息的唯一标识。每条消息都有自己的ID号&#x…...
Jenkins+Python自动化测试持续集成详细教程
Jenkins安装 Jenkins安装 Jenkins是一个开源的软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。由于是基于java开发因此它也依赖java环境&…...
Lightroom学习之路
基础知识 常用快捷键 双击修改图片下右边布局的属性,快速回到初始值 B站学习笔记 1、导入到图库为图片标星级,后期优先处理星级高的图片 2、修改照片-基础-白平衡有吸管吸颜色会自动平衡照片颜色 3、直方图左右上角三角形,选中后照片会显示…...
Day 2 Abp框架下,MySQL数据迁移时,添加表和字段注释
后端采用Abp框架,当前最新版本是7.4.0。 数据库使用MySQL,在执行数据库迁移时,写在Domain层的Entity类上的注释通通都没有,这样查看数据库字段的含义时,就需要对照代码来看,有些不方便。今天专门来解决这个…...
传智教育研究院重磅发布Java学科新研发《智慧养老》项目
在招聘Java开发人才的过程中,企业往往对候选人的项目经验有着严格的要求,项目经验成为顺利就业的重要敲门砖之一。而在数字化技术的学习中,如何让学员通过项目课程有效地积累实战开发经验,就成了数字化技术职业教育的一个重大难点…...
Fiddler抓包VSCode和探索
前言: 最近在使用 VSCode 调试 web 程序时,遇到一些问题,当时不知道如何是好。所以决定抓看来看一看,然后一顿操作猛如虎,成功安装了抓包软件 – Fiddler Classic。我并没有使用 Postman 这种重量级的 HTTP 测试软件&a…...
Pytorch指定数据加载器使用子进程
torch.utils.data.DataLoader(train_dataset, batch_sizebatch_size, shuffleTrue,num_workers4, pin_memoryTrue) num_workers 参数是 DataLoader 类的一个参数,它指定了数据加载器使用的子进程数量。通过增加 num_workers 的数量,可以并行地读取和预处…...
【科普】干货!带你从0了解移动机器人(六) (底盘结构类型)
牵引式移动机器人(AGV/AMR),通常由一个牵引车和一个或多个被牵引的车辆组成。牵引车是机器人的核心部分,它具有自主导航和定位功能,可以根据预先设定的路径或地标进行导航,并通过传感器和视觉系统感知周围环…...
爆肝整理,Pytest+Allure+Jenkins自动化测试集成实战(图文详细步骤)
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、简介 pytesta…...
CentOS 7.6 下 OpenGauss 6.0 极简版安装踩坑实录:从用户权限到远程连接的全流程避坑
CentOS 7.6 下 OpenGauss 6.0 极简版安装实战:从权限配置到远程访问的深度排坑指南 国产数据库的崛起让OpenGauss逐渐成为企业级应用的新选择。但初次部署时,从用户权限到环境变量配置的每个环节都可能成为"拦路虎"。本文将带你穿越安装全流程…...
拒绝文献堆砌:如何打造逻辑严密的基金立项依据?
在基金申报的征途中,许多科研人员常陷入一个误区:认为立项依据就是文献的简单叠加。于是,我们花费大量时间搜集资料,将数十篇参考文献的摘要机械地罗列在一起。然而,这样的做法往往导致一个致命的弱点:缺乏…...
电源噪声克星:手把手教你用陷波滤波器消除60Hz工频干扰(Matlab/示波器实测)
电源噪声克星:手把手教你用陷波滤波器消除60Hz工频干扰(Matlab/示波器实测) 当你的高精度ADC采集数据出现周期性波动时,很可能是工频干扰在作祟。这种以60Hz(或50Hz)为基频的噪声,就像电子系统中…...
焦点国际冲刺港股:年营收5.3亿 利润8091万 周航夫妇控制99%股权
雷递网 雷建平 4月5日焦点国际有限公司(简称:“焦点国际”)日前更新招股书,准备在港交所上市。年营收5.3亿 利润8091万焦点国际成立于2014年,主要从事制造及销售吸收性卫生产品,以及销售卫生产品材料。最初…...
Win11Debloat:简单三步彻底优化Windows系统,告别卡顿与隐私泄露
Win11Debloat:简单三步彻底优化Windows系统,告别卡顿与隐私泄露 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes…...
Onekey:Steam Depot清单自动化工具的技术革新与实践指南
Onekey:Steam Depot清单自动化工具的技术革新与实践指南 【免费下载链接】Onekey Onekey Steam Depot Manifest Downloader 项目地址: https://gitcode.com/gh_mirrors/one/Onekey 在游戏开发的世界里,如何高效获取和处理Steam Depot清单一直是开…...
提升英雄联盟游戏体验:基于LCU API的智能客户端工具集实战指南
提升英雄联盟游戏体验:基于LCU API的智能客户端工具集实战指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit LeagueAkari是一款基…...
GPEN GPU利用率优化实践:批处理100张老照片的显存与耗时实测
GPEN GPU利用率优化实践:批处理100张老照片的显存与耗时实测 1. 引言:当AI修复老照片遇上效率瓶颈 最近在整理家里的老相册,想把那些模糊的童年照片都修复一下。用GPEN一张张处理虽然效果惊艳,但手动上传、等待、保存࿰…...
Fix-Kindle-Ebook-Cover彻底解决Kindle电子书封面丢失问题:从根源修复到长效管理
Fix-Kindle-Ebook-Cover彻底解决Kindle电子书封面丢失问题:从根源修复到长效管理 【免费下载链接】Fix-Kindle-Ebook-Cover A tool to fix damaged cover of Kindle ebook. 项目地址: https://gitcode.com/gh_mirrors/fi/Fix-Kindle-Ebook-Cover Kindle电子书…...
Scarab:自动化解决《空洞骑士》模组依赖冲突的跨平台管理工具
Scarab:自动化解决《空洞骑士》模组依赖冲突的跨平台管理工具 【免费下载链接】Scarab An installer for Hollow Knight mods written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 引言:告别模组安装的技术门槛 《空洞骑士…...
