interrupt m修饰符
C51中断函数必须通过该修饰符进行修饰。在C51程序设计中,当函数定义时用了interrupt m修饰符,系统编译时把对应函数转化为中断函数,自动加上程序头段和尾段,并按51系统中断的处理方式自动把它安排在程序存储器中的相应位置。
在该修饰符中,m的取值为0~31,对应的中断情况如下:
0——外部中断0
1——定时/计数器T0
2——外部中断1
3——定时/计数器T1
4——串行口中断
5——定时/计数器T2
其它值预留。
C51编译器从绝对地址8m+3处产生一个中断向量,其中m为中断号,也即interrupt后面的数字。该向量包含一个到中断函数入口地址的绝对跳转。
【例】编写一个用于统计外中断0的中断次数的中断服务程序
using n修饰符
修饰符using n用于指定本函数内部使用的工作寄存器组,其中n的取值为0~3,表示寄存器组号。该修饰符可以省略,省略后系统自动选择
中断函数注意如下:
(1)中断函数不能进行参数传递,如果中断函数中包含任何参数声明都将导致编译出错。
(2)中断函数没有返回值,如果企图定义一个返回值将得不到正确的结果,建议在定义中断函数时将其定义为void类型,以明确说明没有返回值。
关键字:单片机 中断函数 编写方法
引用地址:
单片机的中断函数编写方法
推荐阅读最新更新时间:2024-11-18 18:44
基于PXA310平台的温湿度传感器设计
1 引言 在工业控制和工业生产领域中,传感器对于工业控制和生产环境的监控作用不言而喻。传统的传感器监控系统大都采用单片机控制,其监控的准确度和实时性不太令人满意。本文寻找到一套切实可行的传感器设计方案,其利用温湿度传感器芯片,基于PXA310硬件平台和Linux 操作系统,能有效监控现场温湿度变化。在周围环境发生变化,不能满足工作要求时,可以获取监控数据并提出预警,提高生产和工作环境检测的可靠性及实时性。 2 温湿度传感器电路设计 比较了一些传感器应用设计方案后,选用SHT10芯片为嵌入式温湿度传感器的核心部件。它外围电路简便,相比其他传感器芯片(DS18B20)有其独到优势。 STH10 每秒可进行3 次温湿度
[单片机]
基于51单片机定时器0计时计数器1计数的霍尔传感器精确测速
#include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int sbit RW=P2^6;//定义LCD1602液晶显示器读写端 sbit RS=P2^5;//定义LCD1602液晶显示器数据命令端 sbit EN=P2^7;//定义LCD1602液晶显示器使能端 sbit qiting=P3^0;//定义启停按键 uchar qitingnum;//定义启停次数变量 uint count;//定时器0定时中断次数变量 unsigned long speed=0;//定义速度变量 uchar co
[单片机]
兆易创新推出GD32H737/757/759系列Cortex®-M7内核超高性能MCU
中国北京(2023年5月11日) — 业界领先的半导体器件供应商兆易创新GigaDevice(股票代码 603986)今日宣布,正式推出中国首款基于Arm® Cortex®-M7内核的GD32H737/757/759系列超高性能微控制器 。 GD32H7系列MCU具备卓越的处理能效、丰富连接特性及多重安全机制,以先进工艺制程和优化的成本控制,全面释放高级应用的创新潜力。 全新产品组合包括3个系列共27个型号,提供176脚和100脚BGA封装,176脚、144脚和100脚LQFP封装等五种选择,将于5月底陆续开放样片和开发板卡申请,10月起正式量产供货。 GD32H7可广泛用于数字信号处理、电机变频、电源、储能系统、无人机、
[嵌入式]
51单片机——LED点阵屏
51单片机——LED点阵屏 LED点阵屏 LED点阵屏原理 74HC595串转并芯片 源代码 效果展示 效果展示 例程一:静态笑脸 例程二:笑脸- 平脸- 哭脸 LED点阵屏 c51的LED点阵屏其实就是一个8*8像素的屏幕,一共有64个发光二极管。如下图 LED点阵屏原理 其实这个原理和数码管是一样的,都是利用人的视觉暂留,不停扫描LED点阵,依次点亮每一盏灯,只不过数码管扩引脚采用的是38译码器,点阵屏采用的是74HC595串转并芯片。参考 数码管 原理图如下: 他的DPa~DPh其实就是上图的D0-D7 74HC595串转并芯片 跳线帽OE:OutputEnable
[单片机]
浅谈单片机调试方法希望对初学者有帮助
浅谈单片机调试方法(希望对初学者有帮助) 傅绍兵 2011-01-31 1. 利用I/O 1.1 利用LED进行可视化管理 这种方法需要有多余的I/O。(如果可能,也可以将实现次要功能的I/O暂时借来一用。) 其电路很简单,如图一所示。I/O设置为输出方式。 我们可以用下面的宏来定义LED的操作。 #define LED_YELLOW_ON() PA6D=0 #define LED_YELLOW_OFF() PA6D=1 #define LED_YELLOW_FLASH() PA6D^=1 举个例子说明它的用法。在低功耗的产品设
[单片机]
51单片机测变周期脉冲信号的简便方法
脉冲信号是工程中一类较常见的信号,如光电位移、速度、转速等传感器输出的信号,而脉冲宽度和脉冲周期是其基本参数,往往需对它们进行测量。对等周期的脉冲信号的测量比较容易,只需测量任一脉冲宽度或周期就可以了,近年来已有许多MCS-51用户利用测量脉冲信号的基本参数而开发新产品,如山东大学的“ZBCY—I型智能标枪速度测试仪”就是利用测量一个脉冲宽度来获得标枪在某一飞行距离内的平均速度。对连续变周期的脉冲信号周期的测量则相对困难些,许多测量人员都首先对这类信号进行二分频后一路反相,然后用两个定时/计数器分别测出两路脉冲信号的正脉冲宽度得到周期,这种方法硬件开销较大,软件设计也较复杂。本文将介绍了一种用MCS-51单片机内部一个定时/计
[单片机]
51单片机(四)—— 51单片机仿真芯片的使用
在前面的文章中,我们都是直接用串口将程序烧写到单片机中运行,在这种开发方式下,如果程序有问题,很难找到问题所在,用过一些高端单片机的人可能知道,一般单片机是可以用调试器调试的,可以单步调试、设置断点等,对于查找程序的问题比较方便。51单片机比较低端,本身不支持在线调试,但是可以使用仿真芯片进行调试。本文我们就来介绍如何使用仿真芯片SST89E516RD。 SST89E516RD芯片是51单片机的仿真芯片。仿真芯片可以实现计算机与开发板板之间的真正在线调试,可以在软件调试模式下进行单步的执行指令、可设置断点等。每执行一条指令都可看见实验板的运行状态,并且可随时查看各个变量的值,对初学者非常有帮助。如果不使用仿真芯片而直接使用板上
[单片机]
GD32 MCU电源复位和系统复位有什么区别
GD32 MCU的复位分为电源复位和系统复位,电源复位又称为冷复位,相较于系统复位,上电复位更彻底,下面为大家详细介绍上电复位和系统复位的实现以及区别。 电源复位包括上电/掉电复位或者从standby模式唤醒产生的复位,电源复位将会复位除备份域以外的所有寄存器以及SRAM,如果软件上希望实现电源复位,可以通过GPIO控制电源或者通过进入standby之后通过看门狗唤醒实现。 系统复位实现的方式比较多,包括外部引脚复位、独立看门狗复位、窗口看门狗复位、内核软复位等,系统复位电路如下图所示,内部系统复位会至少产生20us的NRST低电平,进而被内部电路捕捉到,实现系统复位。因而此处就要有个要求,外部电路不能影响内部拉低NRST
[单片机]