单片机interrupt 中断号写法
定义函数的时候按正常的方法定义,然后在小括号的后面大括号的前面写上interrupt X using Y就行了,X是你要用的中断号,Y是中断时用的寄存器组,通常用1组就行了,看下面的例子:
void timer_isr(void) interrupt 1 using 1
{}
中断函数不能设置参数和返回值,都置为void吧。
using ** 不要写,写了易出错,不写绝对不出错.
interrupt**是中断源.具体编号如下:
中断源 interrupt(中断号)
INT0 0
T0 1
INT1 2
T1 3
UART 4
T2 5
UART1 6
外部中断2 7
外部中断3 8
外部中断4 9
外部中断5 10
看门狗定时器 11
例子:timer0(void) interrupt 1
{ 中断程序 }
timer0 表示中断程序名称
interrupt 1 表示定时器0的中断.
关键字:c51 interrupt 中断号写法
引用地址:
c51 interrupt 中断号写法
推荐阅读最新更新时间:2024-03-16 15:04
S3C2440 interrupt 从2440init.s到main分析
这个问题困扰了我很久,2440中断到底是怎样一个怎样的机制? 自己花了很大的力气终于弄明白了,在这里和大家交流一下. 中断的实现是由硬件和软件机制结合工作的,把它们抽象出来 :由中断异常作为一个源点,在一定机制下,从表一跳至表二,再跳至表三, 表一: 表二: ^ _ISR_STARTADDRESS ; _ISR_STARTADDRESS=0x33FF_FF00 HandleReset # 4 HandleUndef # 4 HandleSWI # 4 HandlePabort # 4 HandleDabort # 4 HandleReserved # 4 HandleIRQ # 4 HandleFIQ # 4 表三:
[单片机]
C51: 向24C02,写入n个数据,再读出n 个数据
//函数功能, //写入n个数据,再读出n 个数据。用LCD1602 显示。 #include reg51.h #include intrins.h //变量声明 #define uchar unsigned char #define uint unsigned int //延时 1ms void delayms() { uchar i; for(i=0;i 250;i++); for(i=0;i 80;i++); } void delaynms(uint s) { uint tem; for(tem=0;tem s;tem++) { delayms(); } } //LCD 忙碌查询 sb
[单片机]
#C51串口通讯3-#一串数据#中断即时解析用户自定义协议
前言 1.上一章(中断定时+超时接收)的逻辑,适用于协议较为复杂的情况,即中断判断接收结束,数据放置缓冲区,主函数中解析数据。 2.实际开发中,用户自定义协议的帧头是可预见的,包括数据长度等。 3.本章测试使用中断即时解析自定义协议 提示:以下是本篇文章正文内容,下面案例可供参考 一、场景 示例一串数据:固定帧头区(AA 66 AA )+数据类型(01/02)+数据区+和校验+异或校验 其中,01LED,02蜂鸣器 ,数据区为工作时间,低位在前高位在后 二、编程实现 1.知识点 a.“状态机”的算法思想 状态机是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型。 包括:State(状态)、Event(事件)、
[单片机]
Keil C51对C语言的关键词扩展之五: code
code 指定存储位置位于程序存储器。程序存储器只读,因此code类型的变量,是无法再次赋值的。 unsigned char code ary = : Read only ; /* 数组ary位于程序存储器 */ ary ='a'; /* 错误,不可修改*/
[单片机]
KeilC51使用详解 (二)
第三章 Keil C51 vs 标准C 深入理解并应用C51对标准ANSIC的扩展是学习C51的关键之一。因为大多数扩展功能都是直接针对8051系列CPU硬件的。大致有以下8类:l 8051存储类型及存储区域l 存储模式l 存储器类型声明l 变量类型声明l 位变量与位寻址l 特殊功能寄存器(SFR)l C51指针l 函数属性具体说明如下(8031为缺省CPU)。 第一节 Keil C51扩展关键字 C51 V4.0版本有以下扩展关键字(共19个):_at_ idata sfr16 alien interrupt smallbdata large _t
[单片机]
Startup code 启动文件c51
Startup code:启动代码。在Keil中,启动代码在复位目标系统后立即被执行。启动代码主要实现以下功能: (1) 清除内部数据存储器 (2) 清除外部数据存储器 (3) 清除外部页存储器 (4) 初始化small模式下的可重入栈和指针 (5) 初始化large模式下的可重入栈和指针 (6) 初始化compact模式下的可重入栈和指针 (7) 初始化8051硬件栈指针 (8) 传递初始化全局变量的控制命令或者在没有初始化全局变量时给main函数传递命令。 在每一个启动文件中,提供了可供用户自己修改有来控制程序执行
[单片机]
c51闹钟程序
左图正面凹陷下去的是三个菜单按钮,右图边上的usb接口是供程序下载的,内部为四节镍镉电池供电电压4.8v #include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int uchar hou=0,min=0,sec=0,houc=0,minc=0,secc=0; uint m=0; bit yy=0; sbit khou=P1^1; sbit kmin=P1^0; sbit timesea=P1^2; sbit clock=P3^7; sbit clear=P3^6; sbit
[单片机]
深入理解C51对标准ANSIC的扩展
深入理解并应用C51对标准ANSIC的扩展是学习C51的关键之一。因为大多数扩展功能都是直接针对8051系列CPU硬件的。大致有以下8类: 8051存储类型及存储区域 存储模式 存储器类型声明 变量类型声明 位变量与位寻址 特殊功能寄存器(SFR) C51指针 函数属性 具体说明如下(8031为缺省CPU)。 第一节 Keil C51扩展关键字 C51 V4.0版本有以下扩展关键字(共19个): _at_ idata sfr16 alien interrupt small bdata large _task_ Code bit pdata using reentrant xdata compact sbi
[单片机]