中断&定时计数器

STM32中断(外部中断和定时器中断) 一、外部中断 spi,iic的中断和51单片机不一样,这些在stm32属于外设,是外部中断。 因为STM32的中断非常多,因此必须设置中断优先级 STM32有两个优先级的概念:抢占式优先级和响应式优先级(亚优先级,副优先级) 抢占式优先级:高抢占式优先级的中断事件会打断当前主程序以及中断程序运行,俗称中断嵌套。 响应优先级:在抢占式优先级相同的情况下,高响应优先级的中断优先被响应; ... 阅读详情

本文为LED-执棋困昌,csdn原创首发。
> 发布人:LED-执棋困昌
> 欢迎大家与LED-执棋困昌相互点赞+关注+收藏+评论,也祝大家生活安康,学业愉快,工作顺利。
> 我的格言是:“尽最大努力,做最好的自己!
> 上一篇我们讲了独立按键的单一键项目实战,为大家更好地理解行列扫描的使用。

今天我们来讲中断和定时器,为下一文章键盘之中断法打好基础。

一、中断理论

1.1中断概念及作用


单片机中断是指在执行程序时,出现了某些特殊状况,例如定时时间到、有键盘信号输入等,需要暂停当前的程序,转去执行处理这些事件的程序,待执行完这些特定的程序后,再返回到原先的程序去执行,形成了一次中断。

中断的作用包括:

1. 实现实时处理:在实时控制的过程中,CPU会根据当时的情况及时做出反应,进行实时控制。

2. 实现分时操作:采用中断技术后,快速的CPU和慢速的外设可以各做各的事情。

3. 进行故障处理:系统在运行过程中往往会出现一些异常情况,可在中断中及时处理。

4. 待机状态的唤醒:当单片机处于待机状态时,可以唤醒并继续执行程序。

1.2中断结构图


6abc0473db83453d96ee535ea01da215.jpg

 从图可得,中断涉及到多个寄存器,有IE寄存器和IP寄存器等。

1.3中断理论


(1)寄存器

①中断允许控制寄存器IE

fcb7f74497f1416682a2213c0c7c7500.png

EA:总中断允许开关,EA=1时,打开总中断

ET0、ET1:定时器0/1的溢出中断允许位。

ET0、ET1:外部中断0/1的溢出中断允许位。

ES:串口通信中断允许位

②中断优先级控制寄存器IP

965834d6ec8044d8bba77bc6f161395b.png

PT0、RT1:定时器0/1优先级控制位

PX0、PX1:外部中断0/1优先级控制位

PS:串口优先级控制位

③定时器方式寄存器TMOD

51单片机有2个定时器/计数器,即T0、T1。

c3b472397c554e2cab8f6d14ddc04d9f.png

GATE:门控位

C/T:=0,定时器;=1,计数器

M0、M1决定定时计数器的工作方式。

④定时器控制寄存器TCON

85336a9dbab3475283904d261fbaae7c.png

TF0、TF1:定时器0/1的溢出标志位。

TR0、TR1:定时器0/1的启动位。为0是,定时计数器关闭;为1时,定时计数器打开。

IT0、IT1:外部中断0/1触发方式设置。为0时,电平触发;为1时,下降沿触发。

IE0、IE1:外部中断0/1请求标志位。

(2)中断优先级

cd2eca75dc43488baf91e0136d5466b0.png

1.优先级高的要比优先级低优先执行:当优先级在执行前或执行过程中,有优先级高的要执行,则打断低优先级的执行,优先级先执行。

优先级相同时,按顺序执行。

2.中断源自然优先级:外部中断0>定时计数器0>外部中断1>定时计数器1>串行口

3.优先级可分为软件设置优先级和自然优先级,一般地,软件设置优先级>自然优先级。

4.软件设置优先级可以借用IP寄存器进行设置,设置成1,为高优先级,设置为0,为低优先级。

(3)中断服务函数

2a4ae16f98e7489e807b6b988a1debc9.png

中断服务函数格式:

void timer() interrupt n

①中断服务函数返回值为空

②中断服务函数不能被调用

③中断服务函数无需声明

④n:入口编号。可以通过不同的n,进入相应的中断向量,从而执行对应的中断服务函数

⑤中断向量:中断服务函数入口地址。

二、代码

(1)定时器/计数器中断

中断与定时器结合,除了打开总中断EA和ET0/ET1外,还要设置定时计数器的方式和初值。

为了能重复进行初值,通常还要在中断服务函数重新赋初值。

初值计算:

首先,第一步,先算初值X。与设置的方式有关。方式0,为13位定时器/计数器,所以初值X=2^13-N/(12/fosc),同理可得:方式1,为16位定时器/计数器,所以初值X=2^16-N/(12/fosc)

第二步,计算高8位TH0/TH1和低8位TL0/TL1。

方法一:将初值X化为16位2进制,取高8位和低8位,然后分别用十六进制表示。

方法二:直接用算法。高8位TH0/TH1=X/256,高8位TL0/TL1=X%256。

(2)外部中断

外部中断分外部中断0和外部中断1,分别对应引脚INT0和INT1。

一般与按键结合,先打开EA,接着设置触发方式IT和外部中断EX0/EX1。

当按键按下时,按键一端连接的I/O口电平变成低电平,触发中断,根据值得向量地址进入中断服务函数。

三、生成工具

为了能更快写出定时器函数,为你们介绍烧录工具。

软件界面:

定时器时钟要选12T,模式、频率、定时长度按自己需求调

单片机学习 11-中断系统(定时器中断+外部中断) ​ 先回顾一下 51 单片机的中断。当中央处理机 CPU 正在处理某件事的时候外界发生了紧急事件请求,要求CPU 暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。实现这种功能的部件称为中断系统,请示 CPU 中断的请求源称为中断源。微型机的中断系统一般允许多个中断源,当几个中断源同时向 CPU 请求中断,要求为它服务的时候,这就存在CPU 优先响应哪一个中断源请求的问题。 阅读详情

相关推荐

定时器和中断的关系,以及为什么应该尽量减少使用延时函数

1.关于定时器和中断两者的关系,以及为什么应该尽量选择定时器,减少使用延时函数。 在很长一段时间,我都以为中断服务函数里的内容执行完成后,才能再一次开始计时,直到昨天晚上请教了我们副教授,我才知道原来定时器是定时器,中断时中断,进入中断服务函数执行里面内容以及执行完成后退出中断服务函数,这些都是独立于定时器的。 举个简单的例子,我们设定TMOD = 0x01, TH0 = -9 (对于11.0592MHZ,是标准2.5ms);但是我们中断服务函数里的内容要3ms才能执行完成,那么我们不可...

qq_53522710的博客 1万+

外部中断,定时器中断的理解

外部中断 外部中断一般是由计算机外设发出的中断请指求,如:键盘中断、打印机中断、定时器中断等。外部中断一般指io高低电平来触发并响应io中断函数 定时器中断 定时器中断是指计数器在晶振的震荡下一直加数一直加到一定数值后溢出产生中断,并进入中断服务函数 先把相关的寄存器放上去 1:先说外部中断 ...

qq_56609666的博客 8846

【51单片机学习过程记录】8 中断 之定时计数器0的使用

声明:【51单片机学习过程记录】全是我自己学习、实践所记录的过程,我只是菜鸟,所有论点和观点仅代表我个人,不能确定是这个技术的真理。我的目的是学习和有可能成为可以向别人分享的经验,因此有错误我会虚心接受,并认真改正。

phangbob的专栏 1657

单片机笔记

但在实际使用中,为了可以更好地安排引脚的走向和功能,即一个外设的引脚除了具有默认的端口外,还可以通过设置重映射寄存器的方式,把这个外设的引脚映射到其它的端口。在实际应用中,有时候希望有一些特别的通道具有很高的优先权,需要在规则组进行转换的时候强制打断,进行另一个通道的转换,这样一组通道,叫做注入组。当设置输出的值为低电平的时候,此时I/O端口的电平就是低电平。TIM1/8是一个 16 位的可以向上/下计数的定时器,可以定时,可以输出比较,可以输入捕捉,还可以有三相电机互补输出信号,有 8 个 IO。

m0_66684780的博客 380

【51单片机学习过程记录】10 中断之定时计数器1的应用

声明:【51单片机学习过程记录】全是我自己学习、实践所记录的过程,我只是菜鸟,所有论点和观点仅代表我个人,不能确定是这个技术的真理。我的目的是学习和有可能成为可以向别人分享的经验,因此有错误我会虚心接受,并认真改正。 #include #define uchar unsigned char #define uint unsigned int uchar i; void

phangbob的专栏 782

【51单片机学习过程记录】9 中断之定时计数器0的使用2

程序说明:使用定时计数器0定时,每秒在数码管显示0到9的变化 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #include #define uchar unsigned char #define uint

phangbob的专栏 1409

【51单片机】初学者必读的一文【探究定时计数器与中断系统是如何配合起来的?】(9)

一.定时器基本介绍1.定时器与传统delay相比的优势点解读 2.定时器的【个数和起作用寄存器】要查看手册3.定时器的4种工作模式二.定时计数器的原理1.定时计数器寄存器2.计数电路控制原理介绍(重点)3.时钟电路控制原理介绍(重点)三.中断系统1.中断程序流程2.中断资源3.中断寄存器四.定时计数器和中断の配合(完整的过程)

YYDsis的博客 1443

单片机定时计数器原理与应用详解

定时计数器是嵌入式系统中的核心外设模块,通过对时钟脉冲或外部事件的计数实现精准定时与测量。其工作原理基于寄存器配置控制计数模式,在51单片机中通过TMOD寄存器可选择4种工作方式,分别适用于不同精度和场景需求。作为硬件计时基础,定时计数器在PWM生成、串口通信、传感器测量等场景发挥关键作用,特别在实时性要求高的系统中(如出租车计价器等热搜案例)不可或缺。掌握定时计数器的配置技巧和异常处理方法,能显著提升嵌入式系统的时间控制精度和可靠性。

weixin_33925615的博客 230

51单片机入门实操项目(三):定时计数器与中断

本节主要学习51单片机定时计数器与中断的原理与功能,并辅以相关案例测试学习。

qq_73959789的博客 1405

51单片机定时计数器及LCD显示应用指南

htmltable {th, td {th {pre {简介:本文档专注于51单片机的定时计数器应用,详细解释了如何使用C语言代码和仿真图深入理解定时计数器的工作原理及其在测量时间、触发事件和处理脉冲信号中的关键作用。涵盖51单片机的两个内置定时计数器Timer0和Timer1的多种工作模式,以及如何通过预设值和中断请求实现计时功能。

weixin_31869917的博客 1047

数字后端实现Innovus教程之手把手教你N种高亮timing path和clock tree方法

数字IC后端设计实现Innovus教程之手把手教你N种高亮timing path和clock tree方法

weixin_37584728的博客 3592

蓝桥杯STC15单片机复习——定时计数器中断

蓝桥杯STC15单片机复习——定时计数器中断

weixin_44098974的博客 1395

【Python爬虫】股票信息定向爬取

【Python爬虫】股票信息定向爬取:通过requests-bs4-re技术路线爬虫获取上交所和深交所所有股票的名称和交易信息

qq_39321802的博客 1502

中断与定时计数

中断技术主要用于实时监测与控制,要求单片机能及时地响应中断请求源提出的服务请求,并快速响应与及时处理。当中断请求源发出中断请求时,如中断请求被允许,单片机暂时中止当前正在执行的主程序,转到中断服务处理程序处理中断服务请求,处理完中断服务请求后,再回到原来被中止的程序之处(断点),继续执行被中断的主程序。定时器模式是对系统时钟信号经12分频后的内部脉冲信号(机器周期)计数。由于系统时钟频率是定值,可根据计数值计算出定时时间。两个定时器/计数器属于增1计数器,即每计一个脉冲,计数器增1。

xyh3123334836的博客 2430

JESD204B系统设计实战:如何用SYSREF信号搞定多设备时钟同步(附时序图详解)

本文深入探讨了JESD204B系统中SYSREF信号在多设备时钟同步中的关键作用与实现技巧。通过详细分析SYSREF信号的生成、PCB布局和时序调整,提供了一套完整的解决方案,帮助工程师解决高速数据转换器与FPGA协同工作中的时钟同步问题。文章还包含时序图详解和实测调试技巧,助力提升系统性能。

weixin_29313239的博客 454

3D高斯溅射融合Gabor滤波器:频率感知如何提升神经渲染效率与质量

在计算机视觉与图形学领域,3D场景重建旨在从多视角图像中恢复真实世界的三维结构与外观。其核心原理是通过优化场景表示,使渲染出的二维图像与输入照片尽可能一致。传统方法在效率与细节保真度间常面临权衡,高频细节(如精细纹理、锐利边缘)的重建尤为消耗算力。频率感知技术为此提供了突破方向,它借鉴信号处理思想,将场景分解为不同空间频率的成分进行针对性建模。Gabor滤波器作为经典的频率-方向分析工具,能有效刻画纹理的局部频域特征。将Gabor的频率选择性与3D高斯溅射(3DGS)这一高效显式表示结合,构成了神经Gabo

weixin_33087827的博客 272

实验5 基于51单片机的定时计数器控制系统设计

定时计数器控制系统设计。

m0_73757052的博客 1877

SAP销售订单POD实操:从VL01N创建到VLPOD差异处理,保姆级避坑指南

本文详细解析SAP销售订单POD全流程,从VL01N创建到VLPOD差异处理,提供保姆级避坑指南。涵盖核心业务逻辑、前置配置、销售订单创建、交货单处理及差异解决方案,帮助用户高效管理供应链执行环节,确保财务与物流的准确对接。

weixin_27219587的博客 624

【单片机】实验七:定时计数器实验

#include <STC8.H> /* # 定时计数器溢出发生中断原理实验@2023N12Y7R # P1:控制显示内容 # P2:控制显示位置 实验目的:利用单片机内部定时器T0或者T1,控制一个LED数码管实现数字0-9循环显示,精确执行每一秒显示一个数字 */ unsigned char led[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7...

萌狼蓝天の技术栈 643

SAP PFCG 中的单一角色与复合角色

在 SAP 系统的安全与授权管理中,事务码 PFCG(角色维护)扮演着关键角色。理解单一角色(Single Role)和复合角色(Composite Role)的概念,对于有效地管理用户权限至关重要。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1477

CAMERALINK硬件封装说明

闲言少叙,直接上活,Cameralink硬件接口当前主要分为MDR26和SDR26两种,其中MDR对应封装较大价格比较便宜,SDR对应尺寸较小价格比较贵,这点我个人总是记错的图1 MDR26实物图图2 SDR26实物图。

6166

单片机定时计数器原理与应用实战

定时计数器是嵌入式系统中的核心外设,通过硬件寄存器实现独立于CPU的计时与事件计数功能。其工作原理基于时钟分频和寄存器溢出机制,能显著降低CPU负载并提高系统实时性。在工业控制、智能家居等领域,定时计数器广泛应用于PWM生成、传感器数据采集和通信协议实现等场景。以51单片机为例,其标准架构包含THx/TLx寄存器和TMOD控制寄存器,支持四种工作模式。现代单片机如STM32更集成了增强型定时器,结合DMA技术可高效处理WS2812灯带控制等复杂任务。掌握定时计数器的配置与优化技巧,是提升嵌入式系统性能的关键

weixin_42741930的博客 276

PCL DBSCAN密度聚类【2026最新版】

点云密度聚类的PCL代码实现,与matlab自带的密度聚类算法进行对比验证,结果一致。3万多个点能再2秒左右运行出结果,算法效率尚可。

点云侠的博客 5681

以TIME3为例总结定时计数器的基本用法

STM32共有8个定时计数器,其中TIME1和TIME8是高级定时器,TIME2~TIME5是通用定时器,TIME6和TIME7是基本定时器。以TIME3为例总结定时计数器的基本用法。 1.TIM3的配置步骤 ①TIM3时钟使能   APB1外设复位寄存器 (RCC_APB1RSTR)     置1开启。清0关闭。 第一位对TIM3的时钟使能   Eg:RCC->APB1ENR|=1<...

qq_44754131的博客 5009

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

沉浸式学习51单片机(4)——中断与定时记数

中断技术主要用于实时监测与控制,要求单片机能及时地响应中断请求源提出的服务请求,并快速响应与及时处理。当中断请求源发出中断请求时,如中断请求被允许,单片机暂时中止当前正在执行的主程序,转到中断服务处理程序处理中断服务请求,处理完中断服务请求后,再回到原来被中止的程序之处(断点),继续执行被中断的主程序。如没有中断系统,单片机大量时间可能会浪费在查询是否有服务请求的定时查询操作上,即不论是否有服务请求,都必须去查询。采用中断技术完全消除查询方式的等待,大大提高单片机工作效率和实时性。

Cynthia040330的博客 2925

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

上一篇: 矩阵键盘之线反转法
下一篇: 键盘之中断法1
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值