interruptm修饰符
C51中断函数必须通过该修饰符进行修饰。在C51程序设计中,当函数定义时用了interruptm修饰符,系统编译时把对应函数转化为中断函数,自动加上程序头段和尾段,并按51系统中断的处理方式自动把它安排在程序存储器中的相应位置。
在该修饰符中,m的取值为0~31,对应的中断情况如下:
0——外部中断0
1——定时/计数器T0
2——外部中断1
3——定时/计数器T1
4——串行口中断
5——定时/计数器T2
其它值预留。
C51编译器从绝对地址8m+3处产生一个中断向量,其中m为中断号,也即interrupt后面的数字。该向量包含一个到中断函数入口地址的绝对跳转。
【例】编写一个用于统计外中断0的中断次数的中断服务程序
1intx=0;2voidint0()interrupt0using13{4x++;5}
usingn修饰符
修饰符usingn用于指定本函数内部使用的工作寄存器组,其中n的取值为0~3,表示寄存器组号。该修饰符可以省略,省略后系统自动选择
中断函数注意如下:
(1)中断函数不能进行参数传递,如果中断函数中包含任何参数声明都将导致编译出错。
(2)中断函数没有返回值,如果企图定义一个返回值将得不到正确的结果,建议在定义中断函数时将其定义为void类型,以明确说明没有返回值。
关键字:C51 单片机 中断函数
引用地址:
C51单片机中断函数的修饰方法
推荐阅读最新更新时间:2024-11-09 09:44
【51单片机】 ULN2003模块 驱动步进电机(5线)正反转 代码以及接线图
步进电机有四相(A-B-C-D) 正向转动思路为A→B→C→D 反向转动思路为D→C→B→A 通过给每一相轮流供电,实现电机轴的360度转动 、、以下代码可直接复制使用: #include reg52.h #define uchar unsigned char //宏定义 把unsigned char简写为uchar #define uint unsigned int // 把unsigned int 简写为uint uint i,j; //定义全局变量,执行电机for循环转动时间需要用到 sbit A1 = P1^0; //定义给步进电机四相连接的IO口 sbit B1 = P1^1;
[单片机]
芯旺微-KungFu内核车规级MCU KF32A136
产品描述: KF32A136是KungFu内核32位汽车级MCU,其具备高达256KB Flash,32KB RAM,主频高达48Mhz,支持CAN和LIN接口。KF32A136可提供超小型封装-QFN32,最大封装支持LQFP64,具备小资源小封装高性能的特点,广泛应用在汽车众多节点控制单元中. 独特优势: 自主KungFu内核及配套工具链 应用场景: 车灯控制,座椅控制、空调面板控制、车窗开关控制等 未来前景: 提升了小资源小封装控制器的性价比,拓宽国产车规级芯片产品在众多节点控制单元的应用范围,加速汽车电子国产化进程。
[汽车电子]
智能座舱SoC芯片、智能车控MCU芯片丨芯驰科技确认申报2024金辑奖
申请技术丨智能座舱SoC芯片、智能车控MCU芯片 申报领域丨车规级芯片 独特优势: X9舱之芯 性能领先:采用最新的Cortex-A55多簇架构,更高的主频,支持多屏高清高帧率独立显示,支持一芯多系统,具备高效的核间片间资源调度能力; 全面覆盖:家族化产品设计,产品矩阵全面覆盖3D仪表/IVI/座舱域控/舱泊一体/舱行泊一体/中央计算平台等应用; 安全可靠:通过ISO 26262 ASIL B功能安全产品认证、AEC-Q100 可靠性认证,内置基于硬隔离的独立安全岛,集成硬件安全模块(HSM); 快速量产:X9舱之芯系列已经成为中国车规级智能座舱芯片的主流之选,拥有数十个重磅定点车型,上汽、奇瑞、
[汽车电子]
51单片机实验——模拟三台机器故障检测与指示系统
1.实验题目: 在proteus中模拟实现一个三台机器故障检测与指示系统,如图2所示,当无故障时,LED0 灯亮;当有故障时,LED0 灯灭,1故障(P2.0为0)时,LED1 灯亮,2故障(P2.1为0)时,LED1 灯亮,3 号故障(P2.2为0)时,LED3灯亮。 2.KEIL代码 #include reg51.h sbit LED=P1^0; sbit LED1=P1^1; sbit LED2=P1^2; sbit LED3=P1^3; sbit P20=P2^0; sbit P21=P2^1; sbit P22=P2^2; void INT0_Init() //编写中断初始化函数 { EA=1;//开启中断总
[单片机]
英飞凌扩大在汽车半导体行业领先地位,首次拿下全球汽车MCU市场份额第一
【2024年4月16日,德国慕尼黑讯】 英飞凌科技股份公司在2023年持续扩大其在汽车半导体市场的领先地位。TechInsights的最新研究显示,2023年全球汽车半导体市场规模增长16.5%,创下692亿美元的记录。英飞凌的整体市场份额增长了一个百分点,从2022年的近13%增长至2023年的约14%,巩固了公司在全球汽车半导体市场的领导地位 。英飞凌的半导体产品是各种关键汽车应用的重要组成部分,包括驾驶辅助和安全系统、动力传动和电池管理系统、多种舒适功能、车载信息娱乐系统以及安全功能等。 根据TechInsights的数据,2023年英飞凌在所有地区的市场份额均有增长,并且继续在中国和韩国市场保持领先。此外,英飞凌在日本
[汽车电子]
单片机的程序结束后都干嘛去了?
对于嵌入式系统,如果没有运行RTOS,那么程序开发中的主函数main()需要通过某种机制使其永远愉快的运行下去,它没有终点。如果想从main函数中退出,具体干什么是由所使用的C语言编译器决定的。 一、问题提出 今天在单片机led模块定义函数中看到一个有趣的问题。提问者在进行基本的C51编程实验,编写了一个简单的C51程序如下: 程序执行完之后,可以看到实验板上的有两个LED被点亮,另外六个居然微微发亮。 如果在主程序中,增加一个无限循环:while(1); ,则电路板上的就不再会出现“微微点亮”的现象了。 上面两种情况的区别,在于第二个程序中主循环 main()函数始终没有退出,而第一个程序,main()函数退出了
[单片机]
单片机开发中,传感器的数据处理算法
在传感器使用中,我们常常需要对传感器数据进行各种整理,让应用获得更好的效果,以下介绍几种常用的简单处理方法: 加权平滑:平滑和均衡传感器数据,减小偶然数据突变的影响。 抽取突变:去除静态和缓慢变化的数据背景,强调瞬间变化。 简单移动平均线:保留数据流最近的K个数据,取平均值。 下面,具体介绍一下这3种处理方法。 加权平滑 使用算法如下: (新值) = (旧值)*(1 - a) + X * a其中a为设置的权值,X为最新数据,程序实现如下: float ALPHA = 0.1f; public void onSensorChanged(SensorEvent event){ x = event.values ; y = even
[单片机]
【GD32 MCU 入门教程】GD32 MCU 常见外设介绍(8)SPI 模块介绍
串行外设接口(Serial Peripheral Interface,缩写为 SPI) 提供了基于SPI 协议的数据发送和接收功能, 可以工作于主机或从机模式。 SPI 接口支持具有硬件 CRC 计算和校验的全双工和单工模式。 8.1.SPI 基础知识 SPI 物理层 SPI接口采用主从模式(Master Slave)架构;支持一主一从模式和一主多从模式,但不支持多主模式。它是一种同步高速全双工的通信总线,总体结构如下图常见的SPI通讯系统所示。 一个主机连接四个从机,其中一个SPI总线一般有四个信号分为: SCLK:时钟信号,由主机产生并控制。 MOSI:主机数据输出,从机数据输入。 MISO:主机数据输入,从机数据输出。
[单片机]